diff --git a/dist/assets/EternalKlock-CgOJptA0.js b/dist/assets/EternalKlock-CRK5ayaX.js similarity index 99% rename from dist/assets/EternalKlock-CgOJptA0.js rename to dist/assets/EternalKlock-CRK5ayaX.js index 1ec1d9818..3ec6cf267 100644 --- a/dist/assets/EternalKlock-CgOJptA0.js +++ b/dist/assets/EternalKlock-CRK5ayaX.js @@ -1,4 +1,4 @@ -import{$r as e,B as t,H as n,J as r,K as i,Kt as a,Q as o,Qr as s,R as c,U as l,V as u,Wr as d,X as f,Y as p,Z as m,_i as h,di as g,et as _,gi as v,hi as y,nt as b,pi as x,rt as S,ti as C,yi as w,z as T,zr as E}from"./index-BRD6BMdN.js";import{t as D}from"./SigilModal-DkjYmacD.js";const O=17491.270421,k=[`Ignition Ark`,`Integration Ark`,`Harmonization Ark`,`Reflektion Ark`,`Purifikation Ark`,`Dream Ark`],A={"Ignition Ark":`#ff1559`,"Integration Ark":`#ff6d00`,"Harmonization Ark":`#ffd900`,"Reflektion Ark":`#00ff66`,"Purifikation Ark":`#05e6ff`,"Dream Ark":`#c300ff`},j={"Ignition Ark":`Ignite`,"Integration Ark":`Integrate`,"Harmonization Ark":`Harmony`,"Reflektion Ark":`Reflekt`,"Purifikation Ark":`Purify`,"Dream Ark":`Dream`},M=O/36,N=M/44,ee=3+Math.sqrt(5);Math.round(ee*1e3),1/ee;var P=w(x(),1),F=w(a(),1),te=120,I=te/2,L=22,R=4.5,z=2,ne=I-.5,B=I-z,re=36,ie=-3,ae=3,V=B-2,oe=(L+R+ne)/2-4,se=e=>e*Math.PI/180,H=e=>e.toLowerCase().replace(/\s+/g,`-`);function ce(e,t,n){let r=parseInt(e.slice(1),16),i=parseInt(t.slice(1),16),a=r>>16,o=r>>8&255,s=r&255,c=i>>16,l=i>>8&255,u=i&255;return`rgb(${Math.round(a+(c-a)*n)},${Math.round(o+(l-o)*n)},${Math.round(s+(u-s)*n)})`}var U=(e,t,n)=>Math.max(t,Math.min(n,e)),W=e=>{if(!e)return;let t=e.match(/(\d{2})$/);if(!t)return;let n=parseInt(t[1],10);if(Number.isFinite(n))return U(n,0,43)},le=({hue:e,pulse:t,kaiPulseEternal:n,harmonicDayPercent:r,microCyclePercent:i,dayLabel:a,monthLabel:o,monthDay:s,glowPulse:c=!0,pulseIntervalSec:l=ee,rimFlash:u=!1,rotationOverride:d,solarSpiralStepString:f,solarSpiralStep:p,eternalBeatIndex:m,eternalStepIndex:h})=>{(0,P.useEffect)(()=>{typeof document<`u`&&document.documentElement.style.setProperty(`--cycle`,`${l}s`)},[l]);let g=`${l}s`,_=(n%O+O)%O,v=Number.isFinite(t)?t:_,y=v/O,b=Number.isFinite(r)?r:y*100,x=(v-Math.floor(v/M)*M)%N/N,S=Number.isFinite(i)?i:x*100,C=(v%O+O)%O,w=C/O,T=Math.floor(w*36)%36,E=(T+.5)/36*360,D=typeof d==`number`?d:E,z=360/k.length,le=Math.floor(D/z)%k.length,ue=(le+1)%k.length,de=(D-le*z+360)%360,fe=Math.min(1,de/z),pe=A[k[le]],me=A[k[ue]],he=ce(pe,me,fe),ge=2*Math.PI*B,_e=ge*(1-b/100),ve=-(S/100)*l,ye=v,be=[`Aethon`,`Virelai`,`Solari`,`Amarin`,`Kaelus`,`Umbriel`,`Noctura`,`Liora`].indexOf(o)+1,xe=be>0?be:1,Se=I-14,Ce=I,we=I+14,Te=I+28,Ee=Math.floor(_/M)%36,De=Number.isFinite(m)?U(m,0,35):Ee,Oe=_-De*M,ke=Oe/M,Ae=Math.floor(Oe/N)%44,je=Number.isFinite(h)?U(h,0,43):Ae,Me=je.toString().padStart(2,`0`),Ne=(De+.5)/36*360,Pe=`hsl(${T/36*360}, 100%, 50%)`,Fe=`#ebfdff`,Ie=1.6,Le=ne-(L+R)+.5,Re=I-(L+R),ze=Le*ke,Be=Re-ze,Ve=.82,He=I-(L+R)-Le*Ve,Ue=I,We=He+6,Ge=(0,P.useId)().replace(/[^a-zA-Z0-9_-]/g,``)||`klock`,Ke=Me,qe=De.toString().padStart(2,`0`),Je=Math.floor(_),Ye=Oe-je*N,Xe=Math.max(0,Math.min(1,Ye/N))*100,Ze=`#00faff`,Qe=`#ff6d00`,$e=((C-T*M)%M+M)%M,et=Math.floor($e/N)%44,tt=Number.isFinite(p?.stepIndex)?U(p.stepIndex,0,43):void 0,nt=W(f),rt=(tt??nt??et).toString().padStart(2,`0`),it=I-(L+R)-Le*Ve,at=I;return(0,F.jsx)(`div`,{className:`kai-klock-shell`,style:{"--hue":e,"--arc":pe,"--cycle":g,width:`100%`,aspectRatio:`1 / 1`,overflow:`hidden`},children:(0,F.jsxs)(`svg`,{className:`kai-svg`,viewBox:`0 0 ${te} ${te}`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid meet`,role:`img`,children:[(0,F.jsx)(`circle`,{cx:I,cy:I,r:ne,className:`rim-ring ${u?`rim-flash`:``}`}),(0,F.jsx)(`circle`,{cx:I,cy:I,r:B,className:`day-progress`,strokeDasharray:ge,strokeDashoffset:_e}),Array.from({length:36}).map((e,t)=>{let n=se(t*(360/re)-90),r=(t+ie+re)%re/re;return(0,F.jsx)(`text`,{x:I+V*Math.cos(n),y:I+V*Math.sin(n)+ae/2,className:`beat-number`,textAnchor:`middle`,fontSize:ae,style:{fill:`hsl(${r*360},100%,50%)`},children:t},t)}),(0,F.jsx)(`circle`,{cx:I,cy:I,r:L+R,className:`inner-halo`}),(0,F.jsx)(`g`,{className:`orb-spin`,style:{animationDelay:`${ve}s`},children:(0,F.jsx)(`circle`,{cx:I,cy:I-(L+R),r:3.6,className:`micro-orb orb-glow`})}),(0,F.jsxs)(`g`,{style:{transform:`rotate(${D}deg)`,transformOrigin:`${I}px ${I}px`,transition:`transform 1s ease-out`},children:[(0,F.jsx)(`rect`,{x:I-1,y:I-(L+R)-(ne-(L+R)),width:2,height:ne-(L+R),rx:1,className:`needle`,style:{fill:he}}),(0,F.jsxs)(`g`,{className:`solar-hand-label-wrap`,style:{transform:`rotate(${-D}deg)`,transformOrigin:`${at}px ${it}px`},children:[(0,F.jsx)(`text`,{x:at,y:it-3.6,textAnchor:`middle`,dominantBaseline:`central`,fontSize:3,fontWeight:900,style:{fill:Qe,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.8,filter:`drop-shadow(0 0 2px ${Qe})`},children:`☀`}),(0,F.jsx)(`text`,{x:at-2.2,y:it,textAnchor:`middle`,dominantBaseline:`central`,className:`solar-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:Qe,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Qe}) drop-shadow(0 0 5px ${Qe})`},children:rt[0]}),(0,F.jsx)(`text`,{x:at+2.2,y:it,textAnchor:`middle`,dominantBaseline:`central`,className:`solar-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:Qe,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Qe}) drop-shadow(0 0 5px ${Qe})`},children:rt[1]})]})]}),(0,F.jsxs)(`g`,{className:`eternal-hand-group`,style:{transform:`rotate(${Ne}deg)`,transformOrigin:`${I}px ${I}px`,transition:`transform 0.6s cubic-bezier(.22,.61,.36,1)`},children:[(0,F.jsx)(`rect`,{x:I-Ie/2,y:I-(L+R)-Le,width:Ie,height:Le,rx:Ie/1.5,className:`eternal-hand`,style:{fill:`transparent`,stroke:`#bff7ff`,strokeWidth:.7,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 6px #d9fbff)`,mixBlendMode:`screen`}}),(0,F.jsx)(`defs`,{children:(0,F.jsxs)(`linearGradient`,{id:`eternalFill-${Ge}`,x1:`0`,y1:`1`,x2:`0`,y2:`0`,children:[(0,F.jsx)(`stop`,{offset:`0%`,stopColor:Fe,stopOpacity:.15}),(0,F.jsx)(`stop`,{offset:`100%`,stopColor:Fe,stopOpacity:.95})]})}),(0,F.jsx)(`rect`,{x:I-Ie/2,y:Be,width:Ie,height:Math.max(0,ze),rx:Ie/2,className:`eternal-hand-fill`,style:{fill:`url(#eternalFill-${Ge})`,filter:`drop-shadow(0 0 3px #eaffff) drop-shadow(0 0 6px #eaffff)`,mixBlendMode:`screen`}}),(0,F.jsx)(`circle`,{cx:I,cy:I-(L+R)-Le-.8,r:1.35,className:`eternal-hand-tip`,style:{fill:`#ffffff`,filter:`drop-shadow(0 0 4px #eaffff) drop-shadow(0 0 8px #eaffff)`,mixBlendMode:`screen`}}),(0,F.jsxs)(`g`,{className:`eternal-hand-label-wrap`,style:{transform:`rotate(${-Ne}deg)`,transformOrigin:`${Ue}px ${He}px`},children:[(0,F.jsx)(`text`,{x:Ue-2.2,y:He,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:`#e8feff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.45)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 5px #c8fbff)`},children:Me[0]}),(0,F.jsx)(`text`,{x:Ue+2.2,y:He,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:`#e8feff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.45)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 5px #c8fbff)`},children:Me[1]})]}),(0,F.jsx)(`g`,{transform:`rotate(${-Ne} ${Ue} ${We})`,children:(0,F.jsx)(`text`,{x:Ue,y:We,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-percent`,fontSize:3.2,fontWeight:800,style:{fill:`#dafeff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.4)`,strokeWidth:.7,letterSpacing:`0.25px`,filter:`drop-shadow(0 0 2px #eaffff)`}})})]}),(0,F.jsx)(`text`,{x:I,y:I-15,className:`center-sub`,textAnchor:`middle`,fontSize:6,fontWeight:800,style:{fill:Ze,paintOrder:`stroke`,stroke:`#000`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Ze}) drop-shadow(0 0 6px ${Ze})`},children:Je}),(0,F.jsxs)(`text`,{x:I,y:I-3,className:`center-pulse ${c?`pulse-flash`:``}`,textAnchor:`middle`,children:[qe,`:`,Ke]},`et-${ye}`),(0,F.jsx)(`text`,{x:I,y:I+8,className:`center-day day-${H(a)}`,textAnchor:`middle`,children:a}),(0,F.jsx)(`text`,{x:I,y:I+18,className:`center-month month-${H(o)}`,textAnchor:`middle`,children:o}),(0,F.jsx)(`text`,{x:I,y:Te+8,className:`eternal-pulse`,textAnchor:`middle`,children:n}),(0,F.jsx)(`text`,{x:Se,y:Te,className:`step-percent`,textAnchor:`middle`,fontSize:5.5,fill:Pe,fontWeight:800,style:{filter:`drop-shadow(0 0 2px ${Pe}) drop-shadow(0 0 5px #00faff)`,letterSpacing:`0.25px`},children:`${Xe.toFixed(1)}%`}),(0,F.jsx)(`text`,{x:Ce,y:Te,className:`day-of-month day-${H(a)}`,textAnchor:`middle`,children:s}),(0,F.jsx)(`text`,{x:we,y:Te,className:`day-of-month month-${H(o)}`,textAnchor:`middle`,children:xe}),k.map((e,t)=>{let n=se(t*(360/k.length)-90),r=I+oe*Math.cos(n),i=I+oe*Math.sin(n)+(t===3?7:3);return(0,F.jsxs)(P.Fragment,{children:[(0,F.jsx)(`text`,{x:r,y:i,className:`arc-label arc-${H(e.split(` `)[0])} ${t===le?`active`:``}`,textAnchor:`middle`,children:j[e]}),e===`Ignition Ark`&&f&&(0,F.jsx)(`text`,{x:r,y:i+8,textAnchor:`middle`,dominantBaseline:`hanging`,fontSize:10,fill:`#00faff`,fontWeight:900,style:{filter:`drop-shadow(0 0 2px #00faff) drop-shadow(0 0 4px #00faff) drop-shadow(0 0 8px #00faff)`,paintOrder:`stroke`,stroke:`#000`,strokeWidth:1,vectorEffect:`non-scaling-stroke`,letterSpacing:`0.5px`},children:f})]},e)})]})})};function ue(t){let{beat:n}=s(e(t)),{pulse:r,chakraDay:i}=C(t);return{pulse:r,beat:n,chakraDay:i}}var de=()=>performance.timeOrigin+performance.now(),fe=e=>{let t=e-E;return E+Math.ceil(t/d)*d},pe=()=>{let[e,t]=(0,P.useState)(0),[n,r]=(0,P.useState)(0),[i,a]=(0,P.useState)(`Root`),[o,s]=(0,P.useState)(!1),[c]=(0,P.useState)(()=>`btn-${Math.random().toString(36).slice(2)}`),l=o?`sigil-open`:`sigil-closed`,u=(0,P.useRef)(null),f=(0,P.useRef)(null),p=(0,P.useRef)(0),m=(0,P.useCallback)(()=>{let{pulse:e,beat:n,chakraDay:i}=ue(new Date);t(e),r(n),a(i)},[]),h=()=>{f.current!==null&&(clearTimeout(f.current),f.current=null)},g=(0,P.useCallback)(()=>{h();let e=de();p.current=fe(e);let t=()=>{let e=de(),n=Math.floor((e-p.current)/d),r=Math.max(0,n)+1;for(let e=0;e(m(),g(),()=>h()),[m,g]),(0,P.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&g()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[g]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{className:`sigil-button`,title:`View & save this sigil`,onClick:()=>s(!0),"data-chakra":i,"aria-label":`Open Kairos Sigil`,children:(0,F.jsxs)(`span`,{className:`sigil-thumb`,"aria-hidden":`true`,inert:!0,children:[(0,F.jsx)(S,{ref:u,pulse:e,beat:n,chakraDay:i,size:40,hashMode:`deterministic`,origin:c,onReady:n=>{n&&typeof n.pulse==`number`&&n.pulse!==e&&t(n.pulse)}},l),(0,F.jsx)(`span`,{className:`sigil-shield`,"aria-hidden":`true`})]})}),o&&(0,F.jsx)(D,{initialPulse:e,onClose:()=>s(!1)})]})},me=(0,P.createContext)({});function he(e){let t=(0,P.useRef)(null);return t.current===null&&(t.current=e()),t.current}var ge=typeof window<`u`,_e=ge?P.useLayoutEffect:P.useEffect,ve=(0,P.createContext)(null);function ye(e,t){e.indexOf(t)===-1&&e.push(t)}function be(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var xe=(e,t,n)=>n>t?t:n/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function we(e){return typeof e==`object`&&!!e}var Te=e=>/^0[^.\s]+$/u.test(e);function Ee(e){let t;return()=>(t===void 0&&(t=e()),t)}var De=e=>e,Oe=(e,t)=>n=>t(e(n)),ke=(...e)=>e.reduce(Oe),Ae=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},je=class{constructor(){this.subscriptions=[]}add(e){return ye(this.subscriptions,e),()=>be(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;ie*1e3,Ne=e=>e/1e3;function Pe(e,t){return t?e*(1e3/t):0}var Fe=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Ie=1e-7,Le=12;function Re(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=Fe(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>Ie&&++sRe(t,0,1,e,n);return e=>e===0||e===1?e:Fe(i(e),t,r)}var Be=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ve=e=>t=>1-e(1-t),He=ze(.33,1.53,.69,.99),Ue=Ve(He),We=Be(Ue),Ge=e=>(e*=2)<1?.5*Ue(e):.5*(2-2**(-10*(e-1))),Ke=e=>1-Math.sin(Math.acos(e)),qe=Ve(Ke),Je=Be(Ke),Ye=ze(.42,0,1,1),Xe=ze(0,0,.58,1),Ze=ze(.42,0,.58,1),Qe=e=>Array.isArray(e)&&typeof e[0]!=`number`,$e=e=>Array.isArray(e)&&typeof e[0]==`number`,et={linear:De,easeIn:Ye,easeInOut:Ze,easeOut:Xe,circIn:Ke,circInOut:Je,circOut:qe,backIn:Ue,backInOut:We,backOut:He,anticipate:Ge},tt=e=>typeof e==`string`,nt=e=>{if($e(e)){e.length;let[t,n,r,i]=e;return ze(t,n,r,i)}else if(tt(e))return et[e],`${e}`,et[e];return e},rt=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],it={value:null,addProjectionMetrics:null};function at(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.has(e)||s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0,[n,r]=[r,n],n.forEach(l),t&&it.value&&it.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var ot=40;function st(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=rt.reduce((e,n)=>(e[n]=at(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=Se.useManualTiming?i.timestamp:performance.now();n=!1,Se.useManualTiming||(i.delta=r?1e3/60:Math.max(Math.min(a-i.timestamp,ot),1)),i.timestamp=a,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:rt.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t(ut===void 0&&ft.set(K.isProcessing||Se.useManualTiming?K.timestamp:performance.now()),ut),set:e=>{ut=e,queueMicrotask(dt)}},pt={layout:0,mainThread:0,waapi:0},mt=e=>t=>typeof t==`string`&&t.startsWith(e),ht=mt(`--`),gt=mt(`var(--`),_t=e=>gt(e)?vt.test(e.split(`/*`)[0].trim()):!1,vt=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,yt={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},bt={...yt,transform:e=>xe(0,1,e)},xt={...yt,default:1},St=e=>Math.round(e*1e5)/1e5,Ct=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function wt(e){return e==null}var Tt=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Et=(e,t)=>n=>!!(typeof n==`string`&&Tt.test(n)&&n.startsWith(e)||t&&!wt(n)&&Object.prototype.hasOwnProperty.call(n,t)),Dt=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Ct);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},Ot=e=>xe(0,255,e),kt={...yt,transform:e=>Math.round(Ot(e))},At={test:Et(`rgb`,`red`),parse:Dt(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+kt.transform(e)+`, `+kt.transform(t)+`, `+kt.transform(n)+`, `+St(bt.transform(r))+`)`};function jt(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Mt={test:Et(`#`),parse:jt,transform:At.transform},Nt=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Pt=Nt(`deg`),Ft=Nt(`%`),q=Nt(`px`),It=Nt(`vh`),Lt=Nt(`vw`),Rt=(()=>({...Ft,parse:e=>Ft.parse(e)/100,transform:e=>Ft.transform(e*100)}))(),zt={test:Et(`hsl`,`hue`),parse:Dt(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+Ft.transform(St(t))+`, `+Ft.transform(St(n))+`, `+St(bt.transform(r))+`)`},J={test:e=>At.test(e)||Mt.test(e)||zt.test(e),parse:e=>At.test(e)?At.parse(e):zt.test(e)?zt.parse(e):Mt.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?At.transform(e):zt.transform(e),getAnimatableNone:e=>{let t=J.parse(e);return t.alpha=0,J.transform(t)}},Bt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Vt(e){return isNaN(e)&&typeof e==`string`&&(e.match(Ct)?.length||0)+(e.match(Bt)?.length||0)>0}var Ht=`number`,Ut=`color`,Wt=`var`,Gt=`var(`,Kt="${}",qt=/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 Jt(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(qt,e=>(J.test(e)?(r.color.push(a),i.push(Ut),n.push(J.parse(e))):e.startsWith(Gt)?(r.var.push(a),i.push(Wt),n.push(e)):(r.number.push(a),i.push(Ht),n.push(parseFloat(e))),++a,Kt)).split(Kt),indexes:r,types:i}}function Yt(e){return Jt(e).values}function Xt(e){let{split:t,types:n}=Jt(e),r=t.length;return e=>{let i=``;for(let a=0;atypeof e==`number`?0:J.test(e)?J.getAnimatableNone(e):e;function Qt(e){let t=Yt(e);return Xt(e)(t.map(Zt))}var $t={test:Vt,parse:Yt,createTransformer:Xt,getAnimatableNone:Qt};function en(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function tn({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=en(s,r,e+1/3),a=en(s,r,e),o=en(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function nn(e,t){return n=>n>0?t:e}var Y=(e,t,n)=>e+(t-e)*n,rn=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},an=[Mt,At,zt],on=e=>an.find(t=>t.test(e));function sn(e){let t=on(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===zt&&(n=tn(n)),n}var cn=(e,t)=>{let n=sn(e),r=sn(t);if(!n||!r)return nn(e,t);let i={...n};return e=>(i.red=rn(n.red,r.red,e),i.green=rn(n.green,r.green,e),i.blue=rn(n.blue,r.blue,e),i.alpha=Y(n.alpha,r.alpha,e),At.transform(i))},ln=new Set([`none`,`hidden`]);function un(e,t){return ln.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function dn(e,t){return n=>Y(e,t,n)}function fn(e){return typeof e==`number`?dn:typeof e==`string`?_t(e)?nn:J.test(e)?cn:gn:Array.isArray(e)?pn:typeof e==`object`?J.test(e)?cn:mn:nn}function pn(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>fn(e)(e,t[n]));return e=>{for(let t=0;t{for(let t in r)n[t]=r[t](e);return n}}function hn(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i{let n=$t.createTransformer(t),r=Jt(e),i=Jt(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?ln.has(e)&&!i.values.length||ln.has(t)&&!r.values.length?un(e,t):ke(pn(hn(r,i),i.values),n):(`${e}${t}`,nn(e,t))};function _n(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?Y(e,t,n):fn(e)(e,t)}var vn=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>G.update(t,e),stop:()=>ct(t),now:()=>K.isProcessing?K.timestamp:ft.now()}},yn=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t=2e4?1/0:t}function Sn(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(xn(r),bn);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:Ne(i)}}var Cn=5;function wn(e,t,n){let r=Math.max(t-Cn,0);return Pe(n-e(r),t-r)}var X={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},Tn=.001;function En({duration:e=X.duration,bounce:t=X.bounce,velocity:n=X.velocity,mass:r=X.mass}){let i,a;X.maxDuration;let o=1-t;o=xe(X.minDamping,X.maxDamping,o),e=xe(X.minDuration,X.maxDuration,Ne(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=kn(t,o),c=Math.exp(-i);return Tn-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=kn(t**2,o);return(-i(t)+Tn>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Tn+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=On(i,a,s);if(e=Me(e),isNaN(c))return{stiffness:X.stiffness,damping:X.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Dn=12;function On(e,t,n){let r=n;for(let n=1;ne[t]!==void 0)}function Nn(e){let t={velocity:X.velocity,stiffness:X.stiffness,damping:X.damping,mass:X.mass,isResolvedFromDuration:!1,...e};if(!Mn(e,jn)&&Mn(e,An))if(e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*xe(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:X.mass,stiffness:i,damping:a}}else{let n=En(e);t={...t,...n,mass:X.mass},t.isResolvedFromDuration=!0}return t}function Pn(e=X.visualDuration,t=X.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Nn({...n,velocity:-Ne(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=Ne(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?X.restSpeed.granular:X.restSpeed.default,i||=v?X.restDelta.granular:X.restDelta.default;let y;if(h<1){let e=kn(_,h);y=t=>o-Math.exp(-h*_*t)*((m+h*_*g)/e*Math.sin(e*t)+g*Math.cos(e*t))}else if(h===1)y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e}}let b={calculatedDuration:p&&d||null,next:e=>{let t=y(e);if(p)s.done=e>=d;else{let n=e===0?m:0;h<1&&(n=e===0?Me(m):wn(y,e,t));let a=Math.abs(n)<=r,c=Math.abs(o-t)<=i;s.done=a&&c}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(xn(b),bn),t=yn(t=>b.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return b}Pn.applyToOptions=e=>{let t=Sn(e,100,Pn);return e.ease=t.ease,e.duration=Me(t.duration),e.type=`keyframes`,e};function Fn({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&ec,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=Pn({keyframes:[f.value,m(f.value)],velocity:wn(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function In(e,t,n){let r=[],i=n||Se.mix||_n,a=e.length-1;for(let n=0;nt[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=In(t,r,i),c=s.length,l=n=>{if(o&&n1)for(;rl(xe(e[0],e[a-1],t)):l}function Rn(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=Ae(0,t,r);e.push(Y(n,1,i))}}function zn(e){let t=[0];return Rn(t,e.length-1),t}function Bn(e,t){return e.map(e=>e*t)}function Vn(e,t){return e.map(()=>t||Ze).splice(0,e.length-1)}function Hn({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=Qe(r)?r.map(nt):nt(r),a={done:!1,value:t[0]},o=Ln(Bn(n&&n.length===t.length?n:zn(t),e),t,{ease:Array.isArray(i)?i:Vn(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var Un=e=>e!==null;function Wn(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(Un),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var Gn={decay:Fn,inertia:Fn,tween:Hn,keyframes:Hn,spring:Pn};function Kn(e){typeof e.type==`string`&&(e.type=Gn[e.type])}var qn=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},Jn=e=>e/100,Yn=class extends qn{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==ft.now()&&this.tick(ft.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},pt.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;Kn(e);let{type:t=Hn,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||Hn;s!==Hn&&typeof o[0]!=`number`&&(this.mixKeyframes=ke(Jn,_n(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=xn(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=xe(0,1,n)*o}let b=_?{done:!1,value:l[0]}:y.next(v);i&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&p!==Fn&&(b.value=Wn(l,this.options,h,this.speed)),m&&m(b.value),S&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return Ne(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Ne(e)}get time(){return Ne(this.currentTime)}set time(e){e=Me(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(e){this.updateTime(ft.now());let t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=Ne(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=vn,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,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(ft.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,pt.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function Xn(e){for(let t=1;te*180/Math.PI,Qn=e=>er(Zn(Math.atan2(e[1],e[0]))),$n={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Qn,rotateZ:Qn,skewX:e=>Zn(Math.atan(e[1])),skewY:e=>Zn(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},er=e=>(e%=360,e<0&&(e+=360),e),tr=Qn,nr=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),rr=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),ir={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:nr,scaleY:rr,scale:e=>(nr(e)+rr(e))/2,rotateX:e=>er(Zn(Math.atan2(e[6],e[5]))),rotateY:e=>er(Zn(Math.atan2(-e[2],e[0]))),rotateZ:tr,rotate:tr,skewX:e=>Zn(Math.atan(e[4])),skewY:e=>Zn(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ar(e){return e.includes(`scale`)?1:0}function or(e,t){if(!e||e===`none`)return ar(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=ir,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=$n,i=t}if(!i)return ar(t);let a=r[t],o=i[1].split(`,`).map(cr);return typeof a==`function`?a(o):o[a]}var sr=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return or(n,t)};function cr(e){return parseFloat(e.trim())}var lr=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],ur=(()=>new Set(lr))(),dr=e=>e===yt||e===q,fr=new Set([`x`,`y`,`z`]),pr=lr.filter(e=>!fr.has(e));function mr(e){let t=[];return pr.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith(`scale`)?1:0))}),t}var hr={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>or(t,`x`),y:(e,{transform:t})=>or(t,`y`)};hr.translateX=hr.x,hr.translateY=hr.y;var gr=new Set,_r=!1,vr=!1,yr=!1;function br(){if(vr){let e=Array.from(gr).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=mr(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}vr=!1,_r=!1,gr.forEach(e=>e.complete(yr)),gr.clear()}function xr(){gr.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(vr=!0)})}function Sr(){yr=!0,xr(),br(),yr=!1}var Cr=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(gr.add(this),_r||(_r=!0,G.read(xr),G.resolveKeyframes(br))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}Xn(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),gr.delete(this)}cancel(){this.state===`scheduled`&&(gr.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},wr=e=>e.startsWith(`--`);function Tr(e,t,n){wr(t)?e.style.setProperty(t,n):e.style[t]=n}var Er=Ee(()=>window.ScrollTimeline!==void 0),Dr={};function Or(e,t){let n=Ee(e);return()=>Dr[t]??n()}var kr=Or(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Ar=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,jr={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Ar([0,.65,.55,1]),circOut:Ar([.55,0,1,.45]),backIn:Ar([.31,.01,.66,-.59]),backOut:Ar([.33,1.53,.69,.99])};function Mr(e,t){if(e)return typeof e==`function`?kr()?yn(e,t):`ease-out`:$e(e)?Ar(e):Array.isArray(e)?e.map(e=>Mr(e,t)||jr.easeOut):jr[e]}function Nr(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=Mr(s,i);Array.isArray(d)&&(u.easing=d),it.value&&pt.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return it.value&&p.finished.finally(()=>{pt.waapi--}),p}function Pr(e){return typeof e==`function`&&`applyToOptions`in e}function Fr({type:e,...t}){return Pr(e)&&kr()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var Ir=class extends qn{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=Fr(e);this.animation=Nr(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=Wn(r,this.options,o,this.speed);this.updateMotionValue?this.updateMotionValue(e):Tr(t,n,e),this.animation.cancel()}s?.(),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;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return Ne(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Ne(e)}get time(){return Ne(Number(this.animation.currentTime)||0)}set time(e){this.finishedTime=null,this.animation.currentTime=Me(e)}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return Number(this.animation.startTime)}set startTime(e){this.animation.startTime=e}attachTimeline({timeline:e,observe:t}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Er()?(this.animation.timeline=e,De):t(this)}},Lr={anticipate:Ge,backInOut:We,circInOut:Je};function Rr(e){return e in Lr}function zr(e){typeof e.ease==`string`&&Rr(e.ease)&&(e.ease=Lr[e.ease])}var Br=10,Vr=class extends Ir{constructor(e){zr(e),Kn(e),super(e),e.startTime&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new Yn({...a,autoplay:!1}),s=Me(this.finishedTime??this.time);t.setWithVelocity(o.sample(s-Br).value,o.sample(s).value,Br),o.stop()}},Hr=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&($t.test(e)||e===`0`)&&!e.startsWith(`url(`));function Ur(e){let t=e[0];if(e.length===1)return!0;for(let n=0;nObject.hasOwnProperty.call(Element.prototype,`animate`));function Jr(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:s,transformTemplate:c}=t.owner.getProps();return qr()&&n&&Kr.has(n)&&(n!==`transform`||!c)&&!s&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var Yr=40,Xr=class extends qn{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=ft.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||Cr)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=ft.now(),Wr(e,i,a,o)||((Se.instantAnimations||!s)&&l?.(Wn(e,n,t)),e[0]=e[e.length-1],Gr(n),n.repeat=0);let u={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>Yr?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},d=!c&&Jr(u)?new Vr({...u,element:u.motionValue.owner.current}):new Yn(u);d.finished.then(()=>this.notifyFinished()).catch(De),this.pendingTimeline&&=(this.stopTimeline=d.attachTimeline(this.pendingTimeline),void 0),this._animation=d}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Sr()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}},Zr=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Qr(e){let t=Zr.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function $r(e,t,n=1){`${e}`;let[r,i]=Qr(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return Ce(e)?parseFloat(e):e}return _t(i)?$r(i,t,n+1):i}function ei(e,t){return e?.[t]??e?.default??e}var ti=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...lr]),ni={test:e=>e===`auto`,parse:e=>e},ri=e=>t=>t.test(e),ii=[yt,q,Ft,Pt,Lt,It,ni],ai=e=>ii.find(ri(e));function oi(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||Te(e)}var si=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function ci(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Ct)||[];if(!r)return e;let i=n.replace(r,``),a=si.has(t)?1:0;return r!==n&&(a*=100),t+`(`+a+i+`)`}var li=/\b([a-z-]*)\(.*?\)/gu,ui={...$t,getAnimatableNone:e=>{let t=e.match(li);return t?t.map(ci).join(` `):e}},di={...yt,transform:Math.round},fi={borderWidth:q,borderTopWidth:q,borderRightWidth:q,borderBottomWidth:q,borderLeftWidth:q,borderRadius:q,radius:q,borderTopLeftRadius:q,borderTopRightRadius:q,borderBottomRightRadius:q,borderBottomLeftRadius:q,width:q,maxWidth:q,height:q,maxHeight:q,top:q,right:q,bottom:q,left:q,padding:q,paddingTop:q,paddingRight:q,paddingBottom:q,paddingLeft:q,margin:q,marginTop:q,marginRight:q,marginBottom:q,marginLeft:q,backgroundPositionX:q,backgroundPositionY:q,rotate:Pt,rotateX:Pt,rotateY:Pt,rotateZ:Pt,scale:xt,scaleX:xt,scaleY:xt,scaleZ:xt,skew:Pt,skewX:Pt,skewY:Pt,distance:q,translateX:q,translateY:q,translateZ:q,x:q,y:q,z:q,perspective:q,transformPerspective:q,opacity:bt,originX:Rt,originY:Rt,originZ:q,zIndex:di,fillOpacity:bt,strokeOpacity:bt,numOctaves:di},pi={...fi,color:J,backgroundColor:J,outlineColor:J,fill:J,stroke:J,borderColor:J,borderTopColor:J,borderRightColor:J,borderBottomColor:J,borderLeftColor:J,filter:ui,WebkitFilter:ui},mi=e=>pi[e];function hi(e,t){let n=mi(e);return n!==ui&&(n=$t),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var gi=new Set([`auto`,`none`,`0`]);function _i(e,t,n){let r=0,i;for(;r{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function yi(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}var bi=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function xi(e){return we(e)&&`offsetHeight`in e}var Si=30,Ci=e=>!isNaN(parseFloat(e)),wi={current:void 0},Ti=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=ft.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=ft.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Ci(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new je);let n=this.events[e].add(t);return e===`change`?()=>{n(),G.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return wi.current&&wi.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=ft.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Si)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Si);return Pe(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),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 Ei(e,t){return new Ti(e,t)}var{schedule:Di,cancel:Oi}=st(queueMicrotask,!1),ki={x:!1,y:!1};function Ai(){return ki.x||ki.y}function ji(e){return e===`x`||e===`y`?ki[e]?null:(ki[e]=!0,()=>{ki[e]=!1}):ki.x||ki.y?null:(ki.x=ki.y=!0,()=>{ki.x=ki.y=!1})}function Mi(e,t){let n=yi(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function Ni(e){return!(e.pointerType===`touch`||Ai())}function Pi(e,t,n={}){let[r,i,a]=Mi(e,n),o=e=>{if(!Ni(e))return;let{target:n}=e,r=t(n,e);if(typeof r!=`function`||!n)return;let a=e=>{Ni(e)&&(r(e),n.removeEventListener(`pointerleave`,a))};n.addEventListener(`pointerleave`,a,i)};return r.forEach(e=>{e.addEventListener(`pointerenter`,o,i)}),a}var Fi=(e,t)=>t?e===t?!0:Fi(e,t.parentElement):!1,Ii=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Li=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function Ri(e){return Li.has(e.tagName)||e.tabIndex!==-1}var zi=new WeakSet;function Bi(e){return t=>{t.key===`Enter`&&e(t)}}function Vi(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var Hi=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Bi(()=>{if(zi.has(n))return;Vi(n,`down`);let e=Bi(()=>{Vi(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>Vi(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function Ui(e){return Ii(e)&&!Ai()}function Wi(e,t,n={}){let[r,i,a]=Mi(e,n),o=e=>{let r=e.currentTarget;if(!Ui(e))return;zi.add(r);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),zi.has(r)&&zi.delete(r),Ui(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||Fi(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),xi(e)&&(e.addEventListener(`focus`,e=>Hi(e,i)),!Ri(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function Gi(e){return we(e)&&`ownerSVGElement`in e}function Ki(e){return Gi(e)&&e.tagName===`svg`}var qi=e=>!!(e&&e.getVelocity),Ji=[...ii,J,$t],Yi=e=>Ji.find(ri(e)),Xi=(0,P.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function Zi(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Qi(...e){return t=>{let n=!1,r=e.map(e=>{let r=Zi(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{width:e,height:c,top:l,left:u,right:d}=o.current;if(t||!a.current||!e||!c)return;let f=n===`left`?`left: ${u}`:`right: ${d}`;a.current.dataset.motionPopId=i;let p=document.createElement(`style`);s&&(p.nonce=s);let m=r??document.head;return m.appendChild(p),p.sheet&&p.sheet.insertRule(` +import{$r as e,B as t,H as n,J as r,K as i,Kt as a,Q as o,Qr as s,R as c,U as l,V as u,Wr as d,X as f,Y as p,Z as m,_i as h,di as g,et as _,gi as v,hi as y,nt as b,pi as x,rt as S,ti as C,yi as w,z as T,zr as E}from"./index-DW_ZnoNU.js";import{t as D}from"./SigilModal-CU8VoqOO.js";const O=17491.270421,k=[`Ignition Ark`,`Integration Ark`,`Harmonization Ark`,`Reflektion Ark`,`Purifikation Ark`,`Dream Ark`],A={"Ignition Ark":`#ff1559`,"Integration Ark":`#ff6d00`,"Harmonization Ark":`#ffd900`,"Reflektion Ark":`#00ff66`,"Purifikation Ark":`#05e6ff`,"Dream Ark":`#c300ff`},j={"Ignition Ark":`Ignite`,"Integration Ark":`Integrate`,"Harmonization Ark":`Harmony`,"Reflektion Ark":`Reflekt`,"Purifikation Ark":`Purify`,"Dream Ark":`Dream`},M=O/36,N=M/44,ee=3+Math.sqrt(5);Math.round(ee*1e3),1/ee;var P=w(x(),1),F=w(a(),1),te=120,I=te/2,L=22,R=4.5,z=2,ne=I-.5,B=I-z,re=36,ie=-3,ae=3,V=B-2,oe=(L+R+ne)/2-4,se=e=>e*Math.PI/180,H=e=>e.toLowerCase().replace(/\s+/g,`-`);function ce(e,t,n){let r=parseInt(e.slice(1),16),i=parseInt(t.slice(1),16),a=r>>16,o=r>>8&255,s=r&255,c=i>>16,l=i>>8&255,u=i&255;return`rgb(${Math.round(a+(c-a)*n)},${Math.round(o+(l-o)*n)},${Math.round(s+(u-s)*n)})`}var U=(e,t,n)=>Math.max(t,Math.min(n,e)),W=e=>{if(!e)return;let t=e.match(/(\d{2})$/);if(!t)return;let n=parseInt(t[1],10);if(Number.isFinite(n))return U(n,0,43)},le=({hue:e,pulse:t,kaiPulseEternal:n,harmonicDayPercent:r,microCyclePercent:i,dayLabel:a,monthLabel:o,monthDay:s,glowPulse:c=!0,pulseIntervalSec:l=ee,rimFlash:u=!1,rotationOverride:d,solarSpiralStepString:f,solarSpiralStep:p,eternalBeatIndex:m,eternalStepIndex:h})=>{(0,P.useEffect)(()=>{typeof document<`u`&&document.documentElement.style.setProperty(`--cycle`,`${l}s`)},[l]);let g=`${l}s`,_=(n%O+O)%O,v=Number.isFinite(t)?t:_,y=v/O,b=Number.isFinite(r)?r:y*100,x=(v-Math.floor(v/M)*M)%N/N,S=Number.isFinite(i)?i:x*100,C=(v%O+O)%O,w=C/O,T=Math.floor(w*36)%36,E=(T+.5)/36*360,D=typeof d==`number`?d:E,z=360/k.length,le=Math.floor(D/z)%k.length,ue=(le+1)%k.length,de=(D-le*z+360)%360,fe=Math.min(1,de/z),pe=A[k[le]],me=A[k[ue]],he=ce(pe,me,fe),ge=2*Math.PI*B,_e=ge*(1-b/100),ve=-(S/100)*l,ye=v,be=[`Aethon`,`Virelai`,`Solari`,`Amarin`,`Kaelus`,`Umbriel`,`Noctura`,`Liora`].indexOf(o)+1,xe=be>0?be:1,Se=I-14,Ce=I,we=I+14,Te=I+28,Ee=Math.floor(_/M)%36,De=Number.isFinite(m)?U(m,0,35):Ee,Oe=_-De*M,ke=Oe/M,Ae=Math.floor(Oe/N)%44,je=Number.isFinite(h)?U(h,0,43):Ae,Me=je.toString().padStart(2,`0`),Ne=(De+.5)/36*360,Pe=`hsl(${T/36*360}, 100%, 50%)`,Fe=`#ebfdff`,Ie=1.6,Le=ne-(L+R)+.5,Re=I-(L+R),ze=Le*ke,Be=Re-ze,Ve=.82,He=I-(L+R)-Le*Ve,Ue=I,We=He+6,Ge=(0,P.useId)().replace(/[^a-zA-Z0-9_-]/g,``)||`klock`,Ke=Me,qe=De.toString().padStart(2,`0`),Je=Math.floor(_),Ye=Oe-je*N,Xe=Math.max(0,Math.min(1,Ye/N))*100,Ze=`#00faff`,Qe=`#ff6d00`,$e=((C-T*M)%M+M)%M,et=Math.floor($e/N)%44,tt=Number.isFinite(p?.stepIndex)?U(p.stepIndex,0,43):void 0,nt=W(f),rt=(tt??nt??et).toString().padStart(2,`0`),it=I-(L+R)-Le*Ve,at=I;return(0,F.jsx)(`div`,{className:`kai-klock-shell`,style:{"--hue":e,"--arc":pe,"--cycle":g,width:`100%`,aspectRatio:`1 / 1`,overflow:`hidden`},children:(0,F.jsxs)(`svg`,{className:`kai-svg`,viewBox:`0 0 ${te} ${te}`,width:`100%`,height:`100%`,preserveAspectRatio:`xMidYMid meet`,role:`img`,children:[(0,F.jsx)(`circle`,{cx:I,cy:I,r:ne,className:`rim-ring ${u?`rim-flash`:``}`}),(0,F.jsx)(`circle`,{cx:I,cy:I,r:B,className:`day-progress`,strokeDasharray:ge,strokeDashoffset:_e}),Array.from({length:36}).map((e,t)=>{let n=se(t*(360/re)-90),r=(t+ie+re)%re/re;return(0,F.jsx)(`text`,{x:I+V*Math.cos(n),y:I+V*Math.sin(n)+ae/2,className:`beat-number`,textAnchor:`middle`,fontSize:ae,style:{fill:`hsl(${r*360},100%,50%)`},children:t},t)}),(0,F.jsx)(`circle`,{cx:I,cy:I,r:L+R,className:`inner-halo`}),(0,F.jsx)(`g`,{className:`orb-spin`,style:{animationDelay:`${ve}s`},children:(0,F.jsx)(`circle`,{cx:I,cy:I-(L+R),r:3.6,className:`micro-orb orb-glow`})}),(0,F.jsxs)(`g`,{style:{transform:`rotate(${D}deg)`,transformOrigin:`${I}px ${I}px`,transition:`transform 1s ease-out`},children:[(0,F.jsx)(`rect`,{x:I-1,y:I-(L+R)-(ne-(L+R)),width:2,height:ne-(L+R),rx:1,className:`needle`,style:{fill:he}}),(0,F.jsxs)(`g`,{className:`solar-hand-label-wrap`,style:{transform:`rotate(${-D}deg)`,transformOrigin:`${at}px ${it}px`},children:[(0,F.jsx)(`text`,{x:at,y:it-3.6,textAnchor:`middle`,dominantBaseline:`central`,fontSize:3,fontWeight:900,style:{fill:Qe,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.8,filter:`drop-shadow(0 0 2px ${Qe})`},children:`☀`}),(0,F.jsx)(`text`,{x:at-2.2,y:it,textAnchor:`middle`,dominantBaseline:`central`,className:`solar-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:Qe,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Qe}) drop-shadow(0 0 5px ${Qe})`},children:rt[0]}),(0,F.jsx)(`text`,{x:at+2.2,y:it,textAnchor:`middle`,dominantBaseline:`central`,className:`solar-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:Qe,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.65)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Qe}) drop-shadow(0 0 5px ${Qe})`},children:rt[1]})]})]}),(0,F.jsxs)(`g`,{className:`eternal-hand-group`,style:{transform:`rotate(${Ne}deg)`,transformOrigin:`${I}px ${I}px`,transition:`transform 0.6s cubic-bezier(.22,.61,.36,1)`},children:[(0,F.jsx)(`rect`,{x:I-Ie/2,y:I-(L+R)-Le,width:Ie,height:Le,rx:Ie/1.5,className:`eternal-hand`,style:{fill:`transparent`,stroke:`#bff7ff`,strokeWidth:.7,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 6px #d9fbff)`,mixBlendMode:`screen`}}),(0,F.jsx)(`defs`,{children:(0,F.jsxs)(`linearGradient`,{id:`eternalFill-${Ge}`,x1:`0`,y1:`1`,x2:`0`,y2:`0`,children:[(0,F.jsx)(`stop`,{offset:`0%`,stopColor:Fe,stopOpacity:.15}),(0,F.jsx)(`stop`,{offset:`100%`,stopColor:Fe,stopOpacity:.95})]})}),(0,F.jsx)(`rect`,{x:I-Ie/2,y:Be,width:Ie,height:Math.max(0,ze),rx:Ie/2,className:`eternal-hand-fill`,style:{fill:`url(#eternalFill-${Ge})`,filter:`drop-shadow(0 0 3px #eaffff) drop-shadow(0 0 6px #eaffff)`,mixBlendMode:`screen`}}),(0,F.jsx)(`circle`,{cx:I,cy:I-(L+R)-Le-.8,r:1.35,className:`eternal-hand-tip`,style:{fill:`#ffffff`,filter:`drop-shadow(0 0 4px #eaffff) drop-shadow(0 0 8px #eaffff)`,mixBlendMode:`screen`}}),(0,F.jsxs)(`g`,{className:`eternal-hand-label-wrap`,style:{transform:`rotate(${-Ne}deg)`,transformOrigin:`${Ue}px ${He}px`},children:[(0,F.jsx)(`text`,{x:Ue-2.2,y:He,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:`#e8feff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.45)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 5px #c8fbff)`},children:Me[0]}),(0,F.jsx)(`text`,{x:Ue+2.2,y:He,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-label-digit`,fontSize:4.4,fontWeight:900,style:{fill:`#e8feff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.45)`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px #eaffff) drop-shadow(0 0 5px #c8fbff)`},children:Me[1]})]}),(0,F.jsx)(`g`,{transform:`rotate(${-Ne} ${Ue} ${We})`,children:(0,F.jsx)(`text`,{x:Ue,y:We,textAnchor:`middle`,dominantBaseline:`central`,className:`eternal-hand-percent`,fontSize:3.2,fontWeight:800,style:{fill:`#dafeff`,paintOrder:`stroke`,stroke:`rgba(0,0,0,0.4)`,strokeWidth:.7,letterSpacing:`0.25px`,filter:`drop-shadow(0 0 2px #eaffff)`}})})]}),(0,F.jsx)(`text`,{x:I,y:I-15,className:`center-sub`,textAnchor:`middle`,fontSize:6,fontWeight:800,style:{fill:Ze,paintOrder:`stroke`,stroke:`#000`,strokeWidth:.9,letterSpacing:`0.4px`,filter:`drop-shadow(0 0 2px ${Ze}) drop-shadow(0 0 6px ${Ze})`},children:Je}),(0,F.jsxs)(`text`,{x:I,y:I-3,className:`center-pulse ${c?`pulse-flash`:``}`,textAnchor:`middle`,children:[qe,`:`,Ke]},`et-${ye}`),(0,F.jsx)(`text`,{x:I,y:I+8,className:`center-day day-${H(a)}`,textAnchor:`middle`,children:a}),(0,F.jsx)(`text`,{x:I,y:I+18,className:`center-month month-${H(o)}`,textAnchor:`middle`,children:o}),(0,F.jsx)(`text`,{x:I,y:Te+8,className:`eternal-pulse`,textAnchor:`middle`,children:n}),(0,F.jsx)(`text`,{x:Se,y:Te,className:`step-percent`,textAnchor:`middle`,fontSize:5.5,fill:Pe,fontWeight:800,style:{filter:`drop-shadow(0 0 2px ${Pe}) drop-shadow(0 0 5px #00faff)`,letterSpacing:`0.25px`},children:`${Xe.toFixed(1)}%`}),(0,F.jsx)(`text`,{x:Ce,y:Te,className:`day-of-month day-${H(a)}`,textAnchor:`middle`,children:s}),(0,F.jsx)(`text`,{x:we,y:Te,className:`day-of-month month-${H(o)}`,textAnchor:`middle`,children:xe}),k.map((e,t)=>{let n=se(t*(360/k.length)-90),r=I+oe*Math.cos(n),i=I+oe*Math.sin(n)+(t===3?7:3);return(0,F.jsxs)(P.Fragment,{children:[(0,F.jsx)(`text`,{x:r,y:i,className:`arc-label arc-${H(e.split(` `)[0])} ${t===le?`active`:``}`,textAnchor:`middle`,children:j[e]}),e===`Ignition Ark`&&f&&(0,F.jsx)(`text`,{x:r,y:i+8,textAnchor:`middle`,dominantBaseline:`hanging`,fontSize:10,fill:`#00faff`,fontWeight:900,style:{filter:`drop-shadow(0 0 2px #00faff) drop-shadow(0 0 4px #00faff) drop-shadow(0 0 8px #00faff)`,paintOrder:`stroke`,stroke:`#000`,strokeWidth:1,vectorEffect:`non-scaling-stroke`,letterSpacing:`0.5px`},children:f})]},e)})]})})};function ue(t){let{beat:n}=s(e(t)),{pulse:r,chakraDay:i}=C(t);return{pulse:r,beat:n,chakraDay:i}}var de=()=>performance.timeOrigin+performance.now(),fe=e=>{let t=e-E;return E+Math.ceil(t/d)*d},pe=()=>{let[e,t]=(0,P.useState)(0),[n,r]=(0,P.useState)(0),[i,a]=(0,P.useState)(`Root`),[o,s]=(0,P.useState)(!1),[c]=(0,P.useState)(()=>`btn-${Math.random().toString(36).slice(2)}`),l=o?`sigil-open`:`sigil-closed`,u=(0,P.useRef)(null),f=(0,P.useRef)(null),p=(0,P.useRef)(0),m=(0,P.useCallback)(()=>{let{pulse:e,beat:n,chakraDay:i}=ue(new Date);t(e),r(n),a(i)},[]),h=()=>{f.current!==null&&(clearTimeout(f.current),f.current=null)},g=(0,P.useCallback)(()=>{h();let e=de();p.current=fe(e);let t=()=>{let e=de(),n=Math.floor((e-p.current)/d),r=Math.max(0,n)+1;for(let e=0;e(m(),g(),()=>h()),[m,g]),(0,P.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&g()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[g]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{className:`sigil-button`,title:`View & save this sigil`,onClick:()=>s(!0),"data-chakra":i,"aria-label":`Open Kairos Sigil`,children:(0,F.jsxs)(`span`,{className:`sigil-thumb`,"aria-hidden":`true`,inert:!0,children:[(0,F.jsx)(S,{ref:u,pulse:e,beat:n,chakraDay:i,size:40,hashMode:`deterministic`,origin:c,onReady:n=>{n&&typeof n.pulse==`number`&&n.pulse!==e&&t(n.pulse)}},l),(0,F.jsx)(`span`,{className:`sigil-shield`,"aria-hidden":`true`})]})}),o&&(0,F.jsx)(D,{initialPulse:e,onClose:()=>s(!1)})]})},me=(0,P.createContext)({});function he(e){let t=(0,P.useRef)(null);return t.current===null&&(t.current=e()),t.current}var ge=typeof window<`u`,_e=ge?P.useLayoutEffect:P.useEffect,ve=(0,P.createContext)(null);function ye(e,t){e.indexOf(t)===-1&&e.push(t)}function be(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var xe=(e,t,n)=>n>t?t:n/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function we(e){return typeof e==`object`&&!!e}var Te=e=>/^0[^.\s]+$/u.test(e);function Ee(e){let t;return()=>(t===void 0&&(t=e()),t)}var De=e=>e,Oe=(e,t)=>n=>t(e(n)),ke=(...e)=>e.reduce(Oe),Ae=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},je=class{constructor(){this.subscriptions=[]}add(e){return ye(this.subscriptions,e),()=>be(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;ie*1e3,Ne=e=>e/1e3;function Pe(e,t){return t?e*(1e3/t):0}var Fe=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,Ie=1e-7,Le=12;function Re(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=Fe(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>Ie&&++sRe(t,0,1,e,n);return e=>e===0||e===1?e:Fe(i(e),t,r)}var Be=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Ve=e=>t=>1-e(1-t),He=ze(.33,1.53,.69,.99),Ue=Ve(He),We=Be(Ue),Ge=e=>(e*=2)<1?.5*Ue(e):.5*(2-2**(-10*(e-1))),Ke=e=>1-Math.sin(Math.acos(e)),qe=Ve(Ke),Je=Be(Ke),Ye=ze(.42,0,1,1),Xe=ze(0,0,.58,1),Ze=ze(.42,0,.58,1),Qe=e=>Array.isArray(e)&&typeof e[0]!=`number`,$e=e=>Array.isArray(e)&&typeof e[0]==`number`,et={linear:De,easeIn:Ye,easeInOut:Ze,easeOut:Xe,circIn:Ke,circInOut:Je,circOut:qe,backIn:Ue,backInOut:We,backOut:He,anticipate:Ge},tt=e=>typeof e==`string`,nt=e=>{if($e(e)){e.length;let[t,n,r,i]=e;return ze(t,n,r,i)}else if(tt(e))return et[e],`${e}`,et[e];return e},rt=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],it={value:null,addProjectionMetrics:null};function at(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.has(e)||s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0,[n,r]=[r,n],n.forEach(l),t&&it.value&&it.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var ot=40;function st(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=rt.reduce((e,n)=>(e[n]=at(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=Se.useManualTiming?i.timestamp:performance.now();n=!1,Se.useManualTiming||(i.delta=r?1e3/60:Math.max(Math.min(a-i.timestamp,ot),1)),i.timestamp=a,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:rt.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t(ut===void 0&&ft.set(K.isProcessing||Se.useManualTiming?K.timestamp:performance.now()),ut),set:e=>{ut=e,queueMicrotask(dt)}},pt={layout:0,mainThread:0,waapi:0},mt=e=>t=>typeof t==`string`&&t.startsWith(e),ht=mt(`--`),gt=mt(`var(--`),_t=e=>gt(e)?vt.test(e.split(`/*`)[0].trim()):!1,vt=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,yt={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},bt={...yt,transform:e=>xe(0,1,e)},xt={...yt,default:1},St=e=>Math.round(e*1e5)/1e5,Ct=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function wt(e){return e==null}var Tt=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Et=(e,t)=>n=>!!(typeof n==`string`&&Tt.test(n)&&n.startsWith(e)||t&&!wt(n)&&Object.prototype.hasOwnProperty.call(n,t)),Dt=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Ct);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},Ot=e=>xe(0,255,e),kt={...yt,transform:e=>Math.round(Ot(e))},At={test:Et(`rgb`,`red`),parse:Dt(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+kt.transform(e)+`, `+kt.transform(t)+`, `+kt.transform(n)+`, `+St(bt.transform(r))+`)`};function jt(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Mt={test:Et(`#`),parse:jt,transform:At.transform},Nt=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),Pt=Nt(`deg`),Ft=Nt(`%`),q=Nt(`px`),It=Nt(`vh`),Lt=Nt(`vw`),Rt=(()=>({...Ft,parse:e=>Ft.parse(e)/100,transform:e=>Ft.transform(e*100)}))(),zt={test:Et(`hsl`,`hue`),parse:Dt(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+Ft.transform(St(t))+`, `+Ft.transform(St(n))+`, `+St(bt.transform(r))+`)`},J={test:e=>At.test(e)||Mt.test(e)||zt.test(e),parse:e=>At.test(e)?At.parse(e):zt.test(e)?zt.parse(e):Mt.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?At.transform(e):zt.transform(e),getAnimatableNone:e=>{let t=J.parse(e);return t.alpha=0,J.transform(t)}},Bt=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Vt(e){return isNaN(e)&&typeof e==`string`&&(e.match(Ct)?.length||0)+(e.match(Bt)?.length||0)>0}var Ht=`number`,Ut=`color`,Wt=`var`,Gt=`var(`,Kt="${}",qt=/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 Jt(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(qt,e=>(J.test(e)?(r.color.push(a),i.push(Ut),n.push(J.parse(e))):e.startsWith(Gt)?(r.var.push(a),i.push(Wt),n.push(e)):(r.number.push(a),i.push(Ht),n.push(parseFloat(e))),++a,Kt)).split(Kt),indexes:r,types:i}}function Yt(e){return Jt(e).values}function Xt(e){let{split:t,types:n}=Jt(e),r=t.length;return e=>{let i=``;for(let a=0;atypeof e==`number`?0:J.test(e)?J.getAnimatableNone(e):e;function Qt(e){let t=Yt(e);return Xt(e)(t.map(Zt))}var $t={test:Vt,parse:Yt,createTransformer:Xt,getAnimatableNone:Qt};function en(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function tn({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=en(s,r,e+1/3),a=en(s,r,e),o=en(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function nn(e,t){return n=>n>0?t:e}var Y=(e,t,n)=>e+(t-e)*n,rn=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},an=[Mt,At,zt],on=e=>an.find(t=>t.test(e));function sn(e){let t=on(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===zt&&(n=tn(n)),n}var cn=(e,t)=>{let n=sn(e),r=sn(t);if(!n||!r)return nn(e,t);let i={...n};return e=>(i.red=rn(n.red,r.red,e),i.green=rn(n.green,r.green,e),i.blue=rn(n.blue,r.blue,e),i.alpha=Y(n.alpha,r.alpha,e),At.transform(i))},ln=new Set([`none`,`hidden`]);function un(e,t){return ln.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function dn(e,t){return n=>Y(e,t,n)}function fn(e){return typeof e==`number`?dn:typeof e==`string`?_t(e)?nn:J.test(e)?cn:gn:Array.isArray(e)?pn:typeof e==`object`?J.test(e)?cn:mn:nn}function pn(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>fn(e)(e,t[n]));return e=>{for(let t=0;t{for(let t in r)n[t]=r[t](e);return n}}function hn(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i{let n=$t.createTransformer(t),r=Jt(e),i=Jt(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?ln.has(e)&&!i.values.length||ln.has(t)&&!r.values.length?un(e,t):ke(pn(hn(r,i),i.values),n):(`${e}${t}`,nn(e,t))};function _n(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?Y(e,t,n):fn(e)(e,t)}var vn=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>G.update(t,e),stop:()=>ct(t),now:()=>K.isProcessing?K.timestamp:ft.now()}},yn=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t=2e4?1/0:t}function Sn(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(xn(r),bn);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:Ne(i)}}var Cn=5;function wn(e,t,n){let r=Math.max(t-Cn,0);return Pe(n-e(r),t-r)}var X={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},Tn=.001;function En({duration:e=X.duration,bounce:t=X.bounce,velocity:n=X.velocity,mass:r=X.mass}){let i,a;X.maxDuration;let o=1-t;o=xe(X.minDamping,X.maxDamping,o),e=xe(X.minDuration,X.maxDuration,Ne(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=kn(t,o),c=Math.exp(-i);return Tn-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=kn(t**2,o);return(-i(t)+Tn>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Tn+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=On(i,a,s);if(e=Me(e),isNaN(c))return{stiffness:X.stiffness,damping:X.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Dn=12;function On(e,t,n){let r=n;for(let n=1;ne[t]!==void 0)}function Nn(e){let t={velocity:X.velocity,stiffness:X.stiffness,damping:X.damping,mass:X.mass,isResolvedFromDuration:!1,...e};if(!Mn(e,jn)&&Mn(e,An))if(e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*xe(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:X.mass,stiffness:i,damping:a}}else{let n=En(e);t={...t,...n,mass:X.mass},t.isResolvedFromDuration=!0}return t}function Pn(e=X.visualDuration,t=X.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Nn({...n,velocity:-Ne(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=Ne(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?X.restSpeed.granular:X.restSpeed.default,i||=v?X.restDelta.granular:X.restDelta.default;let y;if(h<1){let e=kn(_,h);y=t=>o-Math.exp(-h*_*t)*((m+h*_*g)/e*Math.sin(e*t)+g*Math.cos(e*t))}else if(h===1)y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e}}let b={calculatedDuration:p&&d||null,next:e=>{let t=y(e);if(p)s.done=e>=d;else{let n=e===0?m:0;h<1&&(n=e===0?Me(m):wn(y,e,t));let a=Math.abs(n)<=r,c=Math.abs(o-t)<=i;s.done=a&&c}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(xn(b),bn),t=yn(t=>b.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return b}Pn.applyToOptions=e=>{let t=Sn(e,100,Pn);return e.ease=t.ease,e.duration=Me(t.duration),e.type=`keyframes`,e};function Fn({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&ec,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=Pn({keyframes:[f.value,m(f.value)],velocity:wn(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function In(e,t,n){let r=[],i=n||Se.mix||_n,a=e.length-1;for(let n=0;nt[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=In(t,r,i),c=s.length,l=n=>{if(o&&n1)for(;rl(xe(e[0],e[a-1],t)):l}function Rn(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=Ae(0,t,r);e.push(Y(n,1,i))}}function zn(e){let t=[0];return Rn(t,e.length-1),t}function Bn(e,t){return e.map(e=>e*t)}function Vn(e,t){return e.map(()=>t||Ze).splice(0,e.length-1)}function Hn({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=Qe(r)?r.map(nt):nt(r),a={done:!1,value:t[0]},o=Ln(Bn(n&&n.length===t.length?n:zn(t),e),t,{ease:Array.isArray(i)?i:Vn(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var Un=e=>e!==null;function Wn(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(Un),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var Gn={decay:Fn,inertia:Fn,tween:Hn,keyframes:Hn,spring:Pn};function Kn(e){typeof e.type==`string`&&(e.type=Gn[e.type])}var qn=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},Jn=e=>e/100,Yn=class extends qn{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==ft.now()&&this.tick(ft.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},pt.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;Kn(e);let{type:t=Hn,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||Hn;s!==Hn&&typeof o[0]!=`number`&&(this.mixKeyframes=ke(Jn,_n(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=xn(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=xe(0,1,n)*o}let b=_?{done:!1,value:l[0]}:y.next(v);i&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&p!==Fn&&(b.value=Wn(l,this.options,h,this.speed)),m&&m(b.value),S&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return Ne(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Ne(e)}get time(){return Ne(this.currentTime)}set time(e){e=Me(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?.start(!1)}get speed(){return this.playbackSpeed}set speed(e){this.updateTime(ft.now());let t=this.playbackSpeed!==e;this.playbackSpeed=e,t&&(this.time=Ne(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=vn,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,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(ft.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,pt.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function Xn(e){for(let t=1;te*180/Math.PI,Qn=e=>er(Zn(Math.atan2(e[1],e[0]))),$n={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Qn,rotateZ:Qn,skewX:e=>Zn(Math.atan(e[1])),skewY:e=>Zn(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},er=e=>(e%=360,e<0&&(e+=360),e),tr=Qn,nr=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),rr=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),ir={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:nr,scaleY:rr,scale:e=>(nr(e)+rr(e))/2,rotateX:e=>er(Zn(Math.atan2(e[6],e[5]))),rotateY:e=>er(Zn(Math.atan2(-e[2],e[0]))),rotateZ:tr,rotate:tr,skewX:e=>Zn(Math.atan(e[4])),skewY:e=>Zn(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ar(e){return e.includes(`scale`)?1:0}function or(e,t){if(!e||e===`none`)return ar(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=ir,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=$n,i=t}if(!i)return ar(t);let a=r[t],o=i[1].split(`,`).map(cr);return typeof a==`function`?a(o):o[a]}var sr=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return or(n,t)};function cr(e){return parseFloat(e.trim())}var lr=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],ur=(()=>new Set(lr))(),dr=e=>e===yt||e===q,fr=new Set([`x`,`y`,`z`]),pr=lr.filter(e=>!fr.has(e));function mr(e){let t=[];return pr.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith(`scale`)?1:0))}),t}var hr={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`})=>e.max-e.min-parseFloat(t)-parseFloat(n),top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>or(t,`x`),y:(e,{transform:t})=>or(t,`y`)};hr.translateX=hr.x,hr.translateY=hr.y;var gr=new Set,_r=!1,vr=!1,yr=!1;function br(){if(vr){let e=Array.from(gr).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=mr(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}vr=!1,_r=!1,gr.forEach(e=>e.complete(yr)),gr.clear()}function xr(){gr.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(vr=!0)})}function Sr(){yr=!0,xr(),br(),yr=!1}var Cr=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(gr.add(this),_r||(_r=!0,G.read(xr),G.resolveKeyframes(br))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}Xn(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),gr.delete(this)}cancel(){this.state===`scheduled`&&(gr.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},wr=e=>e.startsWith(`--`);function Tr(e,t,n){wr(t)?e.style.setProperty(t,n):e.style[t]=n}var Er=Ee(()=>window.ScrollTimeline!==void 0),Dr={};function Or(e,t){let n=Ee(e);return()=>Dr[t]??n()}var kr=Or(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Ar=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,jr={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Ar([0,.65,.55,1]),circOut:Ar([.55,0,1,.45]),backIn:Ar([.31,.01,.66,-.59]),backOut:Ar([.33,1.53,.69,.99])};function Mr(e,t){if(e)return typeof e==`function`?kr()?yn(e,t):`ease-out`:$e(e)?Ar(e):Array.isArray(e)?e.map(e=>Mr(e,t)||jr.easeOut):jr[e]}function Nr(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=Mr(s,i);Array.isArray(d)&&(u.easing=d),it.value&&pt.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return it.value&&p.finished.finally(()=>{pt.waapi--}),p}function Pr(e){return typeof e==`function`&&`applyToOptions`in e}function Fr({type:e,...t}){return Pr(e)&&kr()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var Ir=class extends qn{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=Fr(e);this.animation=Nr(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=Wn(r,this.options,o,this.speed);this.updateMotionValue?this.updateMotionValue(e):Tr(t,n,e),this.animation.cancel()}s?.(),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;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){this.isPseudoElement||this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return Ne(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Ne(e)}get time(){return Ne(Number(this.animation.currentTime)||0)}set time(e){this.finishedTime=null,this.animation.currentTime=Me(e)}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return Number(this.animation.startTime)}set startTime(e){this.animation.startTime=e}attachTimeline({timeline:e,observe:t}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Er()?(this.animation.timeline=e,De):t(this)}},Lr={anticipate:Ge,backInOut:We,circInOut:Je};function Rr(e){return e in Lr}function zr(e){typeof e.ease==`string`&&Rr(e.ease)&&(e.ease=Lr[e.ease])}var Br=10,Vr=class extends Ir{constructor(e){zr(e),Kn(e),super(e),e.startTime&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new Yn({...a,autoplay:!1}),s=Me(this.finishedTime??this.time);t.setWithVelocity(o.sample(s-Br).value,o.sample(s).value,Br),o.stop()}},Hr=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&($t.test(e)||e===`0`)&&!e.startsWith(`url(`));function Ur(e){let t=e[0];if(e.length===1)return!0;for(let n=0;nObject.hasOwnProperty.call(Element.prototype,`animate`));function Jr(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:s,transformTemplate:c}=t.owner.getProps();return qr()&&n&&Kr.has(n)&&(n!==`transform`||!c)&&!s&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var Yr=40,Xr=class extends qn{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=ft.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||Cr)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=ft.now(),Wr(e,i,a,o)||((Se.instantAnimations||!s)&&l?.(Wn(e,n,t)),e[0]=e[e.length-1],Gr(n),n.repeat=0);let u={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>Yr?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},d=!c&&Jr(u)?new Vr({...u,element:u.motionValue.owner.current}):new Yn(u);d.finished.then(()=>this.notifyFinished()).catch(De),this.pendingTimeline&&=(this.stopTimeline=d.attachTimeline(this.pendingTimeline),void 0),this._animation=d}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Sr()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}},Zr=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Qr(e){let t=Zr.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function $r(e,t,n=1){`${e}`;let[r,i]=Qr(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return Ce(e)?parseFloat(e):e}return _t(i)?$r(i,t,n+1):i}function ei(e,t){return e?.[t]??e?.default??e}var ti=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...lr]),ni={test:e=>e===`auto`,parse:e=>e},ri=e=>t=>t.test(e),ii=[yt,q,Ft,Pt,Lt,It,ni],ai=e=>ii.find(ri(e));function oi(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||Te(e)}var si=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function ci(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Ct)||[];if(!r)return e;let i=n.replace(r,``),a=si.has(t)?1:0;return r!==n&&(a*=100),t+`(`+a+i+`)`}var li=/\b([a-z-]*)\(.*?\)/gu,ui={...$t,getAnimatableNone:e=>{let t=e.match(li);return t?t.map(ci).join(` `):e}},di={...yt,transform:Math.round},fi={borderWidth:q,borderTopWidth:q,borderRightWidth:q,borderBottomWidth:q,borderLeftWidth:q,borderRadius:q,radius:q,borderTopLeftRadius:q,borderTopRightRadius:q,borderBottomRightRadius:q,borderBottomLeftRadius:q,width:q,maxWidth:q,height:q,maxHeight:q,top:q,right:q,bottom:q,left:q,padding:q,paddingTop:q,paddingRight:q,paddingBottom:q,paddingLeft:q,margin:q,marginTop:q,marginRight:q,marginBottom:q,marginLeft:q,backgroundPositionX:q,backgroundPositionY:q,rotate:Pt,rotateX:Pt,rotateY:Pt,rotateZ:Pt,scale:xt,scaleX:xt,scaleY:xt,scaleZ:xt,skew:Pt,skewX:Pt,skewY:Pt,distance:q,translateX:q,translateY:q,translateZ:q,x:q,y:q,z:q,perspective:q,transformPerspective:q,opacity:bt,originX:Rt,originY:Rt,originZ:q,zIndex:di,fillOpacity:bt,strokeOpacity:bt,numOctaves:di},pi={...fi,color:J,backgroundColor:J,outlineColor:J,fill:J,stroke:J,borderColor:J,borderTopColor:J,borderRightColor:J,borderBottomColor:J,borderLeftColor:J,filter:ui,WebkitFilter:ui},mi=e=>pi[e];function hi(e,t){let n=mi(e);return n!==ui&&(n=$t),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var gi=new Set([`auto`,`none`,`0`]);function _i(e,t,n){let r=0,i;for(;r{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function yi(e,t,n){if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e)}var bi=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function xi(e){return we(e)&&`offsetHeight`in e}var Si=30,Ci=e=>!isNaN(parseFloat(e)),wi={current:void 0},Ti=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=ft.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=ft.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Ci(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new je);let n=this.events[e].add(t);return e===`change`?()=>{n(),G.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return wi.current&&wi.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=ft.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Si)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Si);return Pe(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),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 Ei(e,t){return new Ti(e,t)}var{schedule:Di,cancel:Oi}=st(queueMicrotask,!1),ki={x:!1,y:!1};function Ai(){return ki.x||ki.y}function ji(e){return e===`x`||e===`y`?ki[e]?null:(ki[e]=!0,()=>{ki[e]=!1}):ki.x||ki.y?null:(ki.x=ki.y=!0,()=>{ki.x=ki.y=!1})}function Mi(e,t){let n=yi(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function Ni(e){return!(e.pointerType===`touch`||Ai())}function Pi(e,t,n={}){let[r,i,a]=Mi(e,n),o=e=>{if(!Ni(e))return;let{target:n}=e,r=t(n,e);if(typeof r!=`function`||!n)return;let a=e=>{Ni(e)&&(r(e),n.removeEventListener(`pointerleave`,a))};n.addEventListener(`pointerleave`,a,i)};return r.forEach(e=>{e.addEventListener(`pointerenter`,o,i)}),a}var Fi=(e,t)=>t?e===t?!0:Fi(e,t.parentElement):!1,Ii=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Li=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function Ri(e){return Li.has(e.tagName)||e.tabIndex!==-1}var zi=new WeakSet;function Bi(e){return t=>{t.key===`Enter`&&e(t)}}function Vi(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var Hi=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Bi(()=>{if(zi.has(n))return;Vi(n,`down`);let e=Bi(()=>{Vi(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>Vi(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function Ui(e){return Ii(e)&&!Ai()}function Wi(e,t,n={}){let[r,i,a]=Mi(e,n),o=e=>{let r=e.currentTarget;if(!Ui(e))return;zi.add(r);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),zi.has(r)&&zi.delete(r),Ui(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||Fi(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),xi(e)&&(e.addEventListener(`focus`,e=>Hi(e,i)),!Ri(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function Gi(e){return we(e)&&`ownerSVGElement`in e}function Ki(e){return Gi(e)&&e.tagName===`svg`}var qi=e=>!!(e&&e.getVelocity),Ji=[...ii,J,$t],Yi=e=>Ji.find(ri(e)),Xi=(0,P.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function Zi(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Qi(...e){return t=>{let n=!1,r=e.map(e=>{let r=Zi(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t{let{width:e,height:c,top:l,left:u,right:d}=o.current;if(t||!a.current||!e||!c)return;let f=n===`left`?`left: ${u}`:`right: ${d}`;a.current.dataset.motionPopId=i;let p=document.createElement(`style`);s&&(p.nonce=s);let m=r??document.head;return m.appendChild(p),p.sheet&&p.sheet.insertRule(` [data-motion-pop-id="${i}"] { position: absolute !important; width: ${e}px !important; diff --git a/dist/assets/EternalKlock-CfKWqeTU.js b/dist/assets/EternalKlock-CfKWqeTU.js deleted file mode 100644 index 5e51fd1eb..000000000 --- a/dist/assets/EternalKlock-CfKWqeTU.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./EternalKlock-CgOJptA0.js";import"./SigilModal-DkjYmacD.js";import"./SealMomentModal-BVedI60g.js";import"./webauthnKAS-B61nfyUR.js";export{t as EternalKlock,e as default}; \ No newline at end of file diff --git a/dist/assets/EternalKlock-cwND2N3P.js b/dist/assets/EternalKlock-cwND2N3P.js new file mode 100644 index 000000000..6818a34e5 --- /dev/null +++ b/dist/assets/EternalKlock-cwND2N3P.js @@ -0,0 +1 @@ +import{n as e,t}from"./EternalKlock-CRK5ayaX.js";import"./SigilModal-CU8VoqOO.js";import"./SealMomentModal-CAermFFO.js";import"./webauthnKAS-C2GwAz2K.js";export{t as EternalKlock,e as default}; \ No newline at end of file diff --git a/dist/assets/HomePriceChartCard-CuZvVyJH.js b/dist/assets/HomePriceChartCard-BGTGsrO_.js similarity index 99% rename from dist/assets/HomePriceChartCard-CuZvVyJH.js rename to dist/assets/HomePriceChartCard-BGTGsrO_.js index bf1531bd9..78bcf09b1 100644 --- a/dist/assets/HomePriceChartCard-CuZvVyJH.js +++ b/dist/assets/HomePriceChartCard-BGTGsrO_.js @@ -1,4 +1,4 @@ -import{Gt as e,Kt as t,Wt as n,mi as r,pi as i,yi as a}from"./index-BRD6BMdN.js";var o=a(i(),1),s=`clover`,c=function(e){return e===3?`v3`:e},l=`https://js.stripe.com`,u=`${l}/${s}/stripe.js`,d=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,f=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/,p=`loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used`,ee=function(e){return d.test(e)||f.test(e)},m=function(){for(var e=document.querySelectorAll(`script[src^="${l}"]`),t=0;t element.`);return r.appendChild(n),n},g=function(e,t){!e||!e._registerWrapper||e._registerWrapper({name:`stripe-js`,version:`8.6.0`,startTime:t})},_=null,v=null,y=null,b=function(e){return function(t){e(Error(`Failed to load Stripe.js`,{cause:t}))}},te=function(e,t){return function(){window.Stripe?e(window.Stripe):t(Error(`Stripe.js not available`))}},x=function(e){return _===null?(_=new Promise(function(t,n){if(typeof window>`u`||typeof document>`u`){t(null);return}if(window.Stripe&&e&&console.warn(p),window.Stripe){t(window.Stripe);return}try{var r=m();if(r&&e)console.warn(p);else if(!r)r=h(e);else if(r&&y!==null&&v!==null){var i;r.removeEventListener(`load`,y),r.removeEventListener(`error`,v),(i=r.parentNode)==null||i.removeChild(r),r=h(e)}y=te(t,n),v=b(n),r.addEventListener(`load`,y),r.addEventListener(`error`,v)}catch(e){n(e);return}}),_.catch(function(e){return _=null,Promise.reject(e)})):_},S=function(e,t,n){if(e===null)return null;var r=t[0].match(/^pk_test/),i=c(e.version),a=s;r&&i!==a&&console.warn(`Stripe.js@${i} was loaded on the page, but @stripe/stripe-js@8.6.0 expected Stripe.js@${a}. This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning`);var o=e.apply(void 0,t);return g(o,n),o},C,w=!1,T=function(){return C||(C=x(null).catch(function(e){return C=null,Promise.reject(e)}),C)};Promise.resolve().then(function(){return T()}).catch(function(e){w||console.warn(e)});var E=function(){var e=[...arguments];w=!0;var t=Date.now();return T().then(function(n){return S(n,e,t)})},D=r(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),O=r(((e,t)=>{var n=D();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),k=a(r(((e,t)=>{t.exports=O()()}))(),1);function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function j(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function re(e,t){if(e==null)return{};var n=N(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function P(e,t){return F(e)||ie(e,t)||I(e,t)||ae()}function F(e){if(Array.isArray(e))return e}function ie(e,t){var n=e&&(typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`]);if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function I(e,t){if(e){if(typeof e==`string`)return L(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return L(e,t)}}function L(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n element.`);return r.appendChild(n),n},g=function(e,t){!e||!e._registerWrapper||e._registerWrapper({name:`stripe-js`,version:`8.6.0`,startTime:t})},_=null,v=null,y=null,b=function(e){return function(t){e(Error(`Failed to load Stripe.js`,{cause:t}))}},te=function(e,t){return function(){window.Stripe?e(window.Stripe):t(Error(`Stripe.js not available`))}},x=function(e){return _===null?(_=new Promise(function(t,n){if(typeof window>`u`||typeof document>`u`){t(null);return}if(window.Stripe&&e&&console.warn(p),window.Stripe){t(window.Stripe);return}try{var r=m();if(r&&e)console.warn(p);else if(!r)r=h(e);else if(r&&y!==null&&v!==null){var i;r.removeEventListener(`load`,y),r.removeEventListener(`error`,v),(i=r.parentNode)==null||i.removeChild(r),r=h(e)}y=te(t,n),v=b(n),r.addEventListener(`load`,y),r.addEventListener(`error`,v)}catch(e){n(e);return}}),_.catch(function(e){return _=null,Promise.reject(e)})):_},S=function(e,t,n){if(e===null)return null;var r=t[0].match(/^pk_test/),i=c(e.version),a=s;r&&i!==a&&console.warn(`Stripe.js@${i} was loaded on the page, but @stripe/stripe-js@8.6.0 expected Stripe.js@${a}. This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning`);var o=e.apply(void 0,t);return g(o,n),o},C,w=!1,T=function(){return C||(C=x(null).catch(function(e){return C=null,Promise.reject(e)}),C)};Promise.resolve().then(function(){return T()}).catch(function(e){w||console.warn(e)});var E=function(){var e=[...arguments];w=!0;var t=Date.now();return T().then(function(n){return S(n,e,t)})},D=r(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),O=r(((e,t)=>{var n=D();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),k=a(r(((e,t)=>{t.exports=O()()}))(),1);function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function j(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function re(e,t){if(e==null)return{};var n=N(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function P(e,t){return F(e)||ie(e,t)||I(e,t)||ae()}function F(e){if(Array.isArray(e))return e}function ie(e,t){var n=e&&(typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`]);if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function I(e,t){if(e){if(typeof e==`string`)return L(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return L(e,t)}}function L(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&arguments[1]!==void 0?arguments[1]:le;if(e===null||H(e))return e;throw Error(t)},W=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:le;if(V(e))return{tag:`async`,stripePromise:Promise.resolve(e).then(function(e){return U(e,t)})};var n=U(e,t);return n===null?{tag:`empty`}:{tag:`sync`,stripe:n}},G=function(e){!e||!e._registerWrapper||!e.registerAppInfo||(e._registerWrapper({name:`react-stripe-js`,version:`5.4.1`}),e.registerAppInfo({name:`react-stripe-js`,version:`5.4.1`,url:`https://stripe.com/docs/stripe-js/react`}))},K=o.createContext(null);K.displayName=`ElementsContext`;var ue=function(e,t){if(!e)throw Error(`Could not find Elements context; You need to wrap the part of your app that ${t} in an provider.`);return e},q=function(e){var t=e.stripe,n=e.options,r=e.children,i=o.useMemo(function(){return W(t)},[t]),a=P(o.useState(function(){return{stripe:i.tag===`sync`?i.stripe:null,elements:i.tag===`sync`?i.stripe.elements(n):null}}),2),s=a[0],c=a[1];o.useEffect(function(){var e=!0,t=function(e){c(function(t){return t.stripe?t:{stripe:e,elements:e.elements(n)}})};return i.tag===`async`&&!s.stripe?i.stripePromise.then(function(n){n&&e&&t(n)}):i.tag===`sync`&&!s.stripe&&t(i.stripe),function(){e=!1}},[i,s,n]);var l=z(t);o.useEffect(function(){l!==null&&l!==t&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[l,t]);var u=z(n);return o.useEffect(function(){if(s.elements){var e=ce(n,u,[`clientSecret`,`fonts`]);e&&s.elements.update(e)}},[n,u,s.elements]),o.useEffect(function(){G(s.stripe)},[s.stripe]),o.createElement(K.Provider,{value:s},r)};q.propTypes={stripe:k.default.any,options:k.default.object};var de=function(e){return ue(o.useContext(K),e)},fe=function(){return de(`calls useElements()`).elements},pe=function(e){var t=e.children;return t(de(`mounts `))};pe.propTypes={children:k.default.func.isRequired};var J=o.createContext(null);J.displayName=`CheckoutContext`,k.default.any,k.default.shape({clientSecret:k.default.oneOfType([k.default.string,k.default.instanceOf(Promise)]).isRequired,elementsOptions:k.default.object}).isRequired;var Y=function(e){var t=o.useContext(J),n=o.useContext(K);if(t){if(n)throw Error(`You cannot wrap the part of your app that ${e} in both and providers.`);return t}else return ue(n,e)},X=[`mode`],me=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},Z=function(e,t){var n=`${me(e)}Element`,r=t?function(e){Y(`mounts <${n}>`);var t=e.id,r=e.className;return o.createElement(`div`,{id:t,className:r})}:function(t){var r=t.id,i=t.className,a=t.options,s=a===void 0?{}:a,c=t.onBlur,l=t.onFocus,u=t.onReady,d=t.onChange,f=t.onEscape,p=t.onClick,ee=t.onLoadError,m=t.onLoaderStart,h=t.onNetworksChange,g=t.onConfirm,_=t.onCancel,v=t.onShippingAddressChange,y=t.onShippingRateChange,b=t.onSavedPaymentMethodRemove,te=t.onSavedPaymentMethodUpdate,x=Y(`mounts <${n}>`),S=`elements`in x?x.elements:null,C=`checkoutState`in x?x.checkoutState:null,w=C?.type===`success`||C?.type===`loading`?C.sdk:null,T=P(o.useState(null),2),E=T[0],D=T[1],O=o.useRef(null),k=o.useRef(null);R(E,`blur`,c),R(E,`focus`,l),R(E,`escape`,f),R(E,`click`,p),R(E,`loaderror`,ee),R(E,`loaderstart`,m),R(E,`networkschange`,h),R(E,`confirm`,g),R(E,`cancel`,_),R(E,`shippingaddresschange`,v),R(E,`shippingratechange`,y),R(E,`savedpaymentmethodremove`,b),R(E,`savedpaymentmethodupdate`,te),R(E,`change`,d);var A;u&&(A=e===`expressCheckout`?u:function(){u(E)}),R(E,`ready`,A),o.useLayoutEffect(function(){if(O.current===null&&k.current!==null&&(S||w)){var t=null;if(w)switch(e){case`paymentForm`:t=w.createPaymentFormElement();break;case`payment`:t=w.createPaymentElement(s);break;case`address`:if(`mode`in s){var r=s.mode,i=re(s,X);if(r===`shipping`)t=w.createShippingAddressElement(i);else if(r===`billing`)t=w.createBillingAddressElement(i);else throw Error(`Invalid options.mode. mode must be 'billing' or 'shipping'.`)}else throw Error(`You must supply options.mode. mode must be 'billing' or 'shipping'.`);break;case`expressCheckout`:t=w.createExpressCheckoutElement(s);break;case`currencySelector`:t=w.createCurrencySelectorElement();break;case`taxId`:t=w.createTaxIdElement(s);break;default:throw Error(`Invalid Element type ${n}. You must use either the , , , or .`)}else S&&(t=S.create(e,s));O.current=t,D(t),t&&t.mount(k.current)}},[S,w,s]);var j=z(s);return o.useEffect(function(){if(O.current){var e=ce(s,j,[`paymentRequest`]);e&&`update`in O.current&&O.current.update(e)}},[s,j]),o.useLayoutEffect(function(){return function(){if(O.current&&typeof O.current.destroy==`function`)try{O.current.destroy(),O.current=null}catch{}}},[]),o.createElement(`div`,{id:r,className:i,ref:k})};return r.propTypes={id:k.default.string,className:k.default.string,onChange:k.default.func,onBlur:k.default.func,onFocus:k.default.func,onReady:k.default.func,onEscape:k.default.func,onClick:k.default.func,onLoadError:k.default.func,onLoaderStart:k.default.func,onNetworksChange:k.default.func,onConfirm:k.default.func,onCancel:k.default.func,onShippingAddressChange:k.default.func,onShippingRateChange:k.default.func,onSavedPaymentMethodRemove:k.default.func,onSavedPaymentMethodUpdate:k.default.func,options:k.default.object},r.displayName=n,r.__elementType=e,r},Q=typeof window>`u`,he=o.createContext(null);he.displayName=`EmbeddedCheckoutProviderContext`;var ge=function(){return Y(`calls useStripe()`).stripe};Z(`auBankAccount`,Q),Z(`card`,Q),Z(`cardNumber`,Q),Z(`cardExpiry`,Q),Z(`cardCvc`,Q),Z(`iban`,Q);var _e=Z(`payment`,Q);Z(`expressCheckout`,Q),Z(`paymentRequestButton`,Q),Z(`linkAuthentication`,Q),Z(`address`,Q),Z(`shippingAddress`,Q),Z(`paymentMethodMessaging`,Q),Z(`taxId`,Q);var $=a(t(),1),ve=1715323541888,ye=(3+Math.sqrt(5))*1e3,be=()=>(Date.now()-ve)/ye,xe=(e,t,n)=>Math.max(t,Math.min(n,e)),Se=e=>Math.round(e*100)/100,Ce=e=>e.toLocaleString(`en-US`,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2}),we=(e,t)=>{let n=(1+Math.sqrt(5))/2,r=Math.sin(2*Math.PI*e/44)*.85,i=Math.sin(2*Math.PI*n*e)*.42,a=Math.sin(2*Math.PI*(n-1)*e)*.28,o=Math.sin(e*.1618)*.35;return Se(t+r+i+a+o)},Te=e=>xe(.35+.65*Math.abs(Math.sin(2*Math.PI*e/11)),0,1),Ee=Object.freeze([]),De=Object.freeze([]),Oe=` .kai-price-wrap { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji"; color: #e7fbf7; } .kai-price-chart { display:block; width:100%; height:auto; } diff --git a/dist/assets/KaiRealms-Cir-GgrI.js b/dist/assets/KaiRealms-CPalwCap.js similarity index 99% rename from dist/assets/KaiRealms-Cir-GgrI.js rename to dist/assets/KaiRealms-CPalwCap.js index ac73b7917..5e88d3091 100644 --- a/dist/assets/KaiRealms-Cir-GgrI.js +++ b/dist/assets/KaiRealms-CPalwCap.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/bundler-D1L4d6nf.js","assets/index-BRD6BMdN.js","assets/index-BgUnq8XG.css"])))=>i.map(i=>d[i]); -import{t as e}from"./x-DqyVJUhJ.js";import{A as t,Kt as n,jt as r,kt as i,li as a,pi as o,yi as s}from"./index-BRD6BMdN.js";var c=s(o(),1);function l(e){return typeof e==`string`?e.toLowerCase():``}function u(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e){return typeof e==`string`&&e.length>0}function f(e){return typeof e==`number`&&Number.isFinite(e)}function p(e){if(typeof e!=`object`||!e)throw Error(`Malformed sigil metadata.`);let t=e;for(let e of[`pulse`,`beat`,`stepIndex`,`chakraDay`])if(!u(t,e))throw Error(`Missing Kai field: ${e}`);if(!u(t,`kaiSignature`))throw Error(`Invalid Kai Signature — tampered or unsigned sigil.`);if(!f(t.pulse))throw Error(`Invalid field: pulse`);if(!f(t.beat))throw Error(`Invalid field: beat`);if(!f(t.stepIndex))throw Error(`Invalid field: stepIndex`);if(!d(t.chakraDay))throw Error(`Invalid field: chakraDay`);if(!d(t.kaiSignature))throw Error(`Invalid field: kaiSignature`)}function m(e){try{let t=new DOMParser().parseFromString(e,`image/svg+xml`),n=Array.from(t.getElementsByTagName(`metadata`)),r=[`valuation`,`ledger`,`dht`,`source`];for(let e of n){let t=e.getAttribute(`id`)??``;if(r.some(e=>t.includes(e)))continue;let n=(e.textContent??``).trim();if(!n)continue;let i=n.replace(/^$/,``);try{let e=JSON.parse(i);if(typeof e==`object`&&e&&u(e,`pulse`)&&u(e,`beat`)&&u(e,`stepIndex`)&&u(e,`chakraDay`)&&u(e,`kaiSignature`))return e}catch{}}return null}catch{return null}}async function h(e){let n=await e.text(),{meta:a,contextOk:o,typeOk:s}=await t(e),c=a&&u(a,`kaiSignature`)&&u(a,`pulse`)?a:m(n);if(!c||!o||!s)throw Error(`Invalid glyph or missing metadata.`);p(c);let d=c,f=await i(d);if(!f||l(f)!==l(d.kaiSignature))throw Error(`Invalid Kai Signature — tampered or unsigned sigil.`);let h=await r(d.kaiSignature);if(typeof d.userPhiKey==`string`){if(l(d.userPhiKey)!==l(h))throw Error(`Φ-Key mismatch — identity invalid.`)}else d.userPhiKey=h;return{svgText:n,meta:d,phiKey:h}}var g=s(n(),1),_=`.svg,image/svg+xml`,v=({onEnter:e})=>{let t=(0,c.useRef)(null),[n,r]=(0,c.useState)(!1),[i,a]=(0,c.useState)(!1),[o,s]=(0,c.useState)(``),[l,u]=(0,c.useState)(null),d=(0,c.useId)(),f=(0,c.useId)(),p=(0,c.useId)(),m=()=>{t.current&&(t.current.value=``)},v=(0,c.useCallback)(async t=>{u(null),s(t.name),a(!0);try{if(!(t.type===`image/svg+xml`||t.name.toLowerCase().endsWith(`.svg`)))throw Error(`Please upload a valid Kai Sigil (.svg).`);e(await h(t))}catch(e){u(e instanceof Error?e.message:`Invalid glyph or missing metadata.`)}finally{a(!1),m()}},[e]),y=(0,c.useCallback)(async e=>{let t=e.target.files?.[0];t&&await v(t)},[v]),b=(0,c.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),r(!1);let t=e.dataTransfer.files?.[0];t&&await v(t)},[v]),x=e=>{e.preventDefault(),e.dataTransfer.dropEffect=`copy`,n||r(!0)},S=e=>{e.currentTarget.contains(e.relatedTarget)||r(!1)},C=()=>t.current?.click(),w=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())};return(0,g.jsxs)(`section`,{className:`portal-card glass-omni`,"aria-labelledby":d,"aria-describedby":f,children:[(0,g.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`phi-grid`,"aria-hidden":!0}),(0,g.jsx)(`h1`,{id:d,className:`sr-only`,children:`Drop your Kai Sigil`}),(0,g.jsxs)(`div`,{className:`portal-body`,children:[(0,g.jsxs)(`div`,{className:`dropzone ${n?`dropzone--active`:``} ${i?`dropzone--busy`:``}`,role:`button`,tabIndex:0,onKeyDown:w,onClick:C,onDrop:b,onDragOver:x,onDragLeave:S,"aria-busy":i,"aria-describedby":`${f}${l?` ${p}`:``}`,children:[(0,g.jsxs)(`div`,{className:`dropzone-ornament`,"aria-hidden":!0,children:[(0,g.jsx)(`div`,{className:`ornament-ring ornament-ring--outer`}),(0,g.jsx)(`div`,{className:`ornament-ring ornament-ring--inner`}),(0,g.jsx)(`div`,{className:`ornament-core`})]}),(0,g.jsx)(`div`,{className:`dropzone-icon`,"aria-hidden":!0,children:(0,g.jsxs)(`svg`,{width:`44`,height:`44`,viewBox:`0 0 44 44`,children:[(0,g.jsx)(`defs`,{children:(0,g.jsxs)(`linearGradient`,{id:`dzG`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#00ffd0`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#8a2be2`})]})}),(0,g.jsx)(`circle`,{cx:`22`,cy:`22`,r:`20`,fill:`none`,stroke:`url(#dzG)`,strokeWidth:`1.5`}),(0,g.jsx)(`path`,{d:`M22 12 L22 30 M14 20 L22 12 L30 20`,stroke:`url(#dzG)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}),(0,g.jsxs)(`div`,{className:`dropzone-text`,children:[(0,g.jsx)(`div`,{className:`dz-title`,children:`Inhale your Kai Sigil`}),(0,g.jsxs)(`div`,{id:f,className:`dz-hint`,children:[`Breath-minted `,(0,g.jsx)(`strong`,{children:`Φkey`}),` only. Drag & drop.`]}),o&&!i&&!l?(0,g.jsxs)(`div`,{className:`dz-file`,children:[`Selected: `,o]}):null,i?(0,g.jsxs)(`div`,{className:`dz-progress`,children:[(0,g.jsx)(`div`,{className:`dz-spinner`}),(0,g.jsx)(`span`,{children:`Verifying…`})]}):null]}),(0,g.jsx)(`input`,{ref:t,type:`file`,accept:_,onChange:y,tabIndex:-1,"aria-hidden":!0,className:`dz-input`})]}),l?(0,g.jsx)(`div`,{id:p,className:`portal-error`,role:`alert`,"aria-live":`polite`,children:l}):null,(0,g.jsx)(`p`,{className:`portal-note`,children:`Your sigil is verified by breath. No drift. Only truth.`})]}),(0,g.jsx)(`span`,{className:`sr-only`,children:`Kai Realms sigil gate ready.`})]})},y=5236,b=11,x=44;function S(e){let t=e-1715323541888,n=Math.floor(t/y);return{pulseIndex:n,stepIndex:Math.floor(n/b)%x,beatIndex:Math.floor(n/(b*x))%36}}function C(e){let t=(0,c.useRef)(null);(0,c.useEffect)(()=>{let n=setInterval(()=>{let{pulseIndex:n,stepIndex:r,beatIndex:i}=S(Date.now());n!==t.current&&(e.onPulse?.(n),n%b===0&&e.onStep?.(r),n%(b*x)===0&&e.onBeat?.(i),t.current=n)},y);return()=>clearInterval(n)},[e])}var w={Root:`#FF0033`,Sacral:`#FF8000`,Solar:`#FFD700`,Heart:`#00FF99`,Throat:`#33CCFF`,ThirdEye:`#9933FF`,Crown:`#AA00FF`};function T(e,t,n,r,i){e.save(),e.translate(n,r);let{chakraDay:a,pulse:o}=t.meta,s=w[a]??`#00FFFF`;e.beginPath(),e.arc(0,0,i+4,0,Math.PI*2),e.fillStyle=s,e.shadowColor=s,e.shadowBlur=15,e.fill(),e.beginPath(),e.arc(0,0,i,0,Math.PI*2),e.fillStyle=`#000012`,e.fill();let c=i+o%11*1.5;e.beginPath(),e.arc(0,0,c,0,Math.PI*2),e.strokeStyle=`${s}AA`,e.lineWidth=1.5,e.stroke(),e.restore()}var E=`kai:game:focus`,D=typeof window<`u`;function O(){if(!D||typeof BroadcastChannel>`u`)return null;try{return new BroadcastChannel(`kai-realms-game-focus`)}catch{return null}}function k(e){let t={id:e,ts:Date.now()};if(D)try{window.dispatchEvent(new CustomEvent(E,{detail:t}))}catch{}let n=O();if(n)try{n.postMessage({type:E,detail:t})}catch{}finally{try{n.close()}catch{}}}function A(e){let t=t=>{let n=t;n?.detail&&e(n.detail)};D&&window.addEventListener(E,t);let n=O(),r=t=>{let n=t?.data;n?.type===E&&n.detail&&e(n.detail)};if(n)try{n.addEventListener(`message`,r)}catch{}return()=>{if(D&&window.removeEventListener(E,t),n)try{n.removeEventListener(`message`,r)}catch{}finally{try{n.close()}catch{}}}}function j(e){let[t,n]=(0,c.useState)(!1),r=(0,c.useRef)(0);return(0,c.useEffect)(()=>A(t=>{n(t.id!==e),r.current=t.ts}),[e]),{paused:t,takeFocus:(0,c.useCallback)(()=>{k(e),n(!1)},[e])}}var M=5236,N=.085,P=1,F=60,I=6.1,L=5.6,ee=.1,te=1.6,R=10,ne=50,re=150,ie=10,ae=Math.floor(M*1.25),oe=.145,se=2.618,ce=M,z=M,le=1e3,ue=.12,B=44,de=.618,fe=.35,pe=3,me=`600 12px ui-sans-serif,system-ui,-apple-system`,V={up:{x:0,y:-1},down:{x:0,y:1},left:{x:-1,y:0},right:{x:1,y:0},none:{x:0,y:0}},H={up:`down`,down:`up`,left:`right`,right:`left`,none:`none`};function he(e,t,n){return e+(t-e)*n}function U(e,t){return(e-t+M)%M/M}function ge(e){let t=Math.sin(Math.PI*e);return .78+.44*(t*t)}function _e(e){let t=e.toLowerCase();return t===`arrowup`||t===`w`?`up`:t===`arrowdown`||t===`s`?`down`:t===`arrowleft`||t===`a`?`left`:t===`arrowright`||t===`d`?`right`:`none`}function W(e,t,n){let r=Math.round(n),i=Math.round(t);return r<0||r>=e.length||i<0||i>=e[0].length?!1:e[r][i]!==1}function G(e){return{x:Math.round(e.x),y:Math.round(e.y)}}function K(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}function ve(){let e=Array.from({length:23},()=>Array(27).fill(1));((t,n,r,i)=>{for(let a=n;a0&&a<22&&n>0&&n<26&&(e[a][n]=0)})(1,1,25,21);for(let t=2;t<25;t++)e[5][t]=1,e[17][t]=1;for(let t=2;t<21;t++)e[t][4]=1,e[t][22]=1;for(let t=6;t<21;t++)e[11][t]=0;for(let t=4;t<19;t++)e[t][13]=0;for(let t=1;t<22;t++)for(let n=1;n<26;n++)e[t][n]===0&&(e[t][n]=2);for(let t of[{x:6,y:6},{x:20,y:6},{x:6,y:16},{x:20,y:16}])e[t.y][t.x]=3;for(let t of[{x:2,y:2},{x:24,y:2},{x:2,y:20},{x:24,y:20}])e[t.y]?.[t.x]!==1&&(e[t.y][t.x]=4);return e}function ye(e){return{pos:{x:e.x,y:e.y},dir:`left`,next:`left`,speed:I}}function q(e,t,n){return{pos:{x:e.x,y:e.y},dir:`left`,speed:L,scatterTarget:n,mode:`chase`,frightUntil:0,color:t}}function be(e){let t=0;for(let n=0;n=.1||i>=.1)return!1;let a=0;return[`up`,`down`,`left`,`right`].forEach(t=>{W(e,n.x+V[t].x,n.y+V[t].y)&&a++}),a>=3}function we(e,t){if(t.next===`none`||t.next===t.dir)return;if(t.next===H[t.dir]){t.dir=t.next;return}let n=G(t.pos),r=Math.abs(t.pos.x-n.x),i=Math.abs(t.pos.y-n.y);r>=.12||i>=.12||W(e,n.x+V[t.next].x,n.y+V[t.next].y)&&(t.pos.x=n.x,t.pos.y=n.y,t.dir=t.next)}function Te(e,t,n,r,i){if(n===`none`)return;let a=V[n],o=t.x+a.x*r*i,s=t.y+a.y*r*i,c=e[0].length;if(o<-1){t.x=c+1;return}if(o>c+1){t.x=-1;return}if(W(e,Math.round(o),Math.round(s)))t.x=o,t.y=s;else{let e=G(t);t.x=e.x,t.y=e.y}}function Ee(e,t,n,r){let i=[`up`,`left`,`down`,`right`],a=n,o=1/0;for(let s of i){if(s===H[n])continue;let i=Math.round(t.x)+V[s].x,c=Math.round(t.y)+V[s].y;if(!W(e,i,c))continue;let l=K({x:i,y:c},r);l{let r=(0,c.useRef)(null),i=(0,c.useRef)(null),{paused:a,takeFocus:o}=j(`KaiMaze`),[s,l]=(0,c.useState)({w:0,h:0});(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect;l({w:e.width,h:e.height})}});return t.observe(e),()=>t.disconnect()},[]);let[u,d]=(0,c.useState)(e);(0,c.useEffect)(()=>d(e),[e]);let[f,p]=(0,c.useState)(()=>xe(1,performance.now())),m=(0,c.useRef)(performance.now()),[h,_]=(0,c.useState)(()=>{if(typeof window>`u`)return!1;let e=window.matchMedia?.(`(pointer: coarse)`)?.matches??!1,t=window.matchMedia?.(`(max-width: 900px)`)?.matches??!1;return e||t});(0,c.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(pointer: coarse)`),t=window.matchMedia(`(max-width: 900px)`),n=()=>_(e.matches||t.matches);return e.addEventListener?.(`change`,n),t.addEventListener?.(`change`,n),()=>{e.removeEventListener?.(`change`,n),t.removeEventListener?.(`change`,n)}},[]);let v=(0,c.useMemo)(()=>e=>Math.floor(le*(1+ue*(e-1))),[]),y=(0,c.useMemo)(()=>h&&!f.over,[h,f.over]),b=(0,c.useMemo)(()=>(h?`Tap/Swipe or D-pad`:`←↑→↓ / WASD`)+` · B/Space to Channel on ⟐ · Esc to exit`,[h]);(0,c.useEffect)(()=>{if(P>0&&u>=P){let e=u-P;d(e),t(e),o()}},[]);let x=()=>{p(e=>e.channelingUntil?{...e,channelingUntil:0}:e)};(0,c.useEffect)(()=>{let e=e=>{let t=e.key.toLowerCase(),r=_e(t);r!==`none`&&(x(),e.preventDefault(),o(),p(e=>({...e,player:{...e.player,next:r}}))),(t===`b`||t===` `)&&f.onAltar&&f.channelingUntil===0&&(o(),p(e=>({...e,channelingUntil:performance.now()+z}))),t===`escape`&&n&&n(),t===`r`&&f.over&&(o(),p(xe(1,performance.now())),m.current=performance.now())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,f.over,f.onAltar,f.channelingUntil]);let S=e=>{x(),o(),p(t=>({...t,player:{...t.player,next:e}}))},C=()=>{f.onAltar&&f.channelingUntil===0&&(o(),p(e=>({...e,channelingUntil:performance.now()+z})))};(0,c.useEffect)(()=>{let e=0,n=performance.now(),r=(e,n)=>{if(n.channelingUntil===0||!n.onAltar||e0){let e=Math.floor(a*r),i=Math.max(0,n.bankable-e),o=u+a;return d(o),t(o),{...n,scorePhi:n.scorePhi+a,bankable:i,points:i,kaiCharge:Math.max(0,Math.floor(n.kaiCharge*.5)),channelingUntil:0}}return{...n,channelingUntil:0}},i=()=>{e=requestAnimationFrame(i);let o=performance.now(),s=Math.min(1/F,(o-n)/1e3);n=o,!a&&p(e=>{if(e.over)return e;let n=structuredClone(e);if(o>=n.cycle.nextSwitchAt){let e=n.cycle.phase===`chase`?`scatter`:`chase`;n.cycle={phase:e,nextSwitchAt:o+Se(n.level,e)};for(let t of n.ghosts)t.mode!==`fright`&&(t.mode=e)}let i=U(o,m.current),a=ge(i),c=Math.min(1+n.streak*ee,te),l=Math.min(1+n.streak*oe,se),f=n.channelingUntil>0?0:n.player.speed*a*c;we(n.grid,n.player),Te(n.grid,n.player.pos,n.player.dir,f,s);let p=G(n.player.pos);n.onAltar=n.grid[p.y]?.[p.x]===4;let h=n.grid[p.y]?.[p.x]??1;if((h===2||h===3)&&n.channelingUntil===0){let e=Math.abs(i-.5)<=N,t=h===2?R:ne;if(e&&(t+=ie,n.kaiCharge=Math.min(B,n.kaiCharge+1)),t=Math.floor(t*l),n.points+=t,n.bankable=n.points,n.streak+=1,n.streak>n.bestStreak&&(n.bestStreak=n.streak),n.comboUntil=o+ae,n.grid[p.y][p.x]=0,n.pellets=Math.max(0,n.pellets-1),h===3){m.current=o;let e=Math.max(ce*Math.max(.55,1-(n.level-1)*.08),M*.5);for(let t of n.ghosts)t.mode=`fright`,t.frightUntil=o+e}}n.comboUntil>0&&o>n.comboUntil&&(n.streak=Math.max(0,Math.floor(n.streak*.5)),n.comboUntil=0);for(let e of n.ghosts){e.mode===`fright`&&o>=e.frightUntil&&(e.mode=n.cycle.phase);let t=G(n.player.pos);if(Ce(n.grid,e.pos))if(e.mode===`scatter`)e.dir=Ee(n.grid,e.pos,e.dir,e.scatterTarget);else if(e.mode===`fright`){let r=G(e.pos),i=[`up`,`down`,`left`,`right`],a=e.dir,o=-1/0;for(let s of i){if(s===H[e.dir])continue;let i=r.x+V[s].x,c=r.y+V[s].y;if(!W(n.grid,i,c))continue;let l=K({x:i,y:c},t);l>o&&(o=l,a=s)}e.dir=a}else{let r={x:t.x+V[n.player.dir].x*2,y:t.y+V[n.player.dir].y*2};e.dir=Ee(n.grid,e.pos,e.dir,r)}let r=e.mode===`fright`?he(.6,.8,Math.sin(i*Math.PI)):a,c=e.speed*r;if(c*=1.06**(n.level-1),Te(n.grid,e.pos,e.dir,c,s),K(n.player.pos,e.pos)<.4)if(e.mode===`fright`&&n.channelingUntil===0){let t=Math.floor(re*l);n.points+=t,n.bankable=n.points,n.streak+=1,n.streak>n.bestStreak&&(n.bestStreak=n.streak),n.comboUntil=o+ae,e.pos={...e.scatterTarget},e.dir=`left`,e.mode=`scatter`,e.frightUntil=0}else if(--n.lives,n.streak=0,n.comboUntil=0,n.points=Math.max(0,Math.floor(n.points*(1-fe))),n.bankable=n.points,n.channelingUntil=0,n.lives<=0)n.alive=!1,n.over=!0;else{let e={x:Math.floor(n.grid[0].length/2),y:n.grid.length-4};n.player.pos={...e},n.player.dir=`left`,n.player.next=`left`;for(let e of n.ghosts)e.mode=`scatter`;m.current=o}}if(n.pellets<=0&&!n.over){let e=v(n.level),r=Math.floor(n.bankable*.2/e);if(r>0){let i=r*e,a=Math.max(0,n.bankable-i),o=u+r;d(o),t(o),n.scorePhi+=r,n.bankable=a,n.points=a}let i=xe(n.level+1,o);i.scorePhi=n.scorePhi,i.lives=Math.max(1,n.lives),i.bestStreak=Math.max(n.bestStreak,n.streak),i.player.speed=n.player.speed*1.06;for(let e of i.ghosts)e.speed*=1.06;return m.current=o,i}return n=r(o,n),n})};return e=requestAnimationFrame(i),()=>cancelAnimationFrame(e)},[t,u,a,v]),(0,c.useEffect)(()=>{let e=0,t=()=>{e=requestAnimationFrame(t);let n=i.current,o=r.current;if(!n||!o)return;let c=n.getContext(`2d`);if(!c)return;let l=Math.max(0,s.w),d=Math.max(0,s.h);if(l===0||d===0)return;let p=Math.min(2,window.devicePixelRatio||1);(n.width!==Math.floor(l*p)||n.height!==Math.floor(d*p))&&(n.width=Math.floor(l*p),n.height=Math.floor(d*p),n.style.width=`${l}px`,n.style.height=`${d}px`),c.setTransform(p,0,0,p,0,0);let h=f.grid.length,g=f.grid[0].length,_=Math.floor(Math.min(l/g,d/h)),v=_*g,y=_*h,b=Math.floor((l-v)/2),x=Math.floor((d-y)/2),S=c.createLinearGradient(0,0,0,d);S.addColorStop(0,`#07071a`),S.addColorStop(1,`#0c1231`),c.fillStyle=S,c.fillRect(0,0,l,d),Me(c,l,d);for(let e=0;e0&&f.onAltar){let e=1-Math.max(0,f.channelingUntil-w)/z,t=l/2;c.strokeStyle=`rgba(0,255,208,0.9)`,c.lineWidth=4,c.globalAlpha=.9,c.beginPath(),c.arc(t,34,16,-Math.PI/2,-Math.PI/2+e*Math.PI*2),c.stroke(),c.globalAlpha=1,c.font=`700 12px ui-sans-serif,system-ui,-apple-system`,c.fillText(`Channeling…`,t+16+8,38)}if(a&&!f.over){c.fillStyle=`rgba(0,0,0,0.35)`,c.fillRect(0,0,l,d),c.fillStyle=`#fff`,c.font=`700 16px ui-sans-serif,system-ui,-apple-system`;let e=`Paused — another Realm is active`;c.fillText(e,(l-c.measureText(e).width)/2,d/2)}if(f.over){c.fillStyle=`rgba(0,0,0,0.55)`,c.fillRect(0,0,l,d),c.fillStyle=`#fff`,c.font=`700 20px ui-sans-serif,system-ui,-apple-system`;let e=`Game Over — Press R to restart`;c.fillText(e,(l-c.measureText(e).width)/2,d/2)}};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[f,u,s,a]);let w=f.onAltar&&f.channelingUntil===0;return(0,g.jsxs)(`div`,{className:`km-wrap`,role:`group`,"aria-label":`Kai-Maze`,onPointerDown:()=>o(),onTouchStart:()=>o(),onMouseDown:()=>o(),children:[(0,g.jsxs)(`div`,{className:`km-header`,children:[(0,g.jsx)(`div`,{className:`km-title`,children:`🌀 Kai-Maze`}),(0,g.jsx)(`div`,{className:`km-sub`,children:`Score on pulse, risk your points, then ⟐ channel to mint Φ.`})]}),(0,g.jsxs)(`div`,{className:`km-stage`,ref:r,children:[(0,g.jsx)(`canvas`,{ref:i,className:`km-canvas`}),y&&(0,g.jsxs)(`div`,{className:`km-dpad`,style:{position:`absolute`,left:12,bottom:12,width:132,height:132,display:`grid`,gridTemplateColumns:`repeat(3, 1fr)`,gridTemplateRows:`repeat(3, 1fr)`,gap:6,touchAction:`none`,userSelect:`none`,zIndex:4},"aria-label":`Directional pad`,children:[(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move up`,onPointerDown:e=>{e.preventDefault(),S(`up`)},children:`▲`}),(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move left`,onPointerDown:e=>{e.preventDefault(),S(`left`)},children:`◀`}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:{...J,opacity:.9},"aria-label":`Hold to Channel (if on altar)`,onPointerDown:e=>{e.preventDefault(),C()},title:`Channel one breath to convert points → Φ`,children:`⟐`}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move right`,onPointerDown:e=>{e.preventDefault(),S(`right`)},children:`▶`}),(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move down`,onPointerDown:e=>{e.preventDefault(),S(`down`)},children:`▼`}),(0,g.jsx)(`div`,{})]}),w&&(0,g.jsx)(`button`,{className:`km-chan-btn`,onClick:()=>{o(),p(e=>e.channelingUntil?e:{...e,channelingUntil:performance.now()+z})},"aria-label":`Channel points into Phi`,title:`Channel one breath to convert points → Φ`,children:`⟐ CHANNEL`}),f.channelingUntil>0&&(0,g.jsx)(`button`,{className:`km-chan-cancel`,onClick:()=>{o(),p(e=>({...e,channelingUntil:0}))},"aria-label":`Cancel channeling`,title:`Cancel`,children:`Cancel`})]}),(0,g.jsxs)(`div`,{className:`km-footer`,children:[(0,g.jsx)(`button`,{className:`km-btn`,onClick:n,title:`Back`,children:`Back`}),(0,g.jsx)(`div`,{className:`km-hint`,children:b})]})]})};function Oe(e,t,n,r,i){e.save(),e.fillStyle=i,e.beginPath(),e.arc(t,n,r,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(255,255,255,0.35)`,e.lineWidth=1.25,e.stroke(),e.restore()}function ke(e,t,n,r,i){e.save(),e.fillStyle=i,e.beginPath(),e.arc(t,n,r,Math.PI,0),e.lineTo(t+r,n+r*.85),e.lineTo(t-r,n+r*.85),e.closePath(),e.fill(),e.fillStyle=`#fff`,e.beginPath(),e.arc(t-r*.35,n-r*.15,r*.16,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+r*.35,n-r*.15,r*.16,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.arc(t-r*.3,n-r*.15,r*.08,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+r*.3,n-r*.15,r*.08,0,Math.PI*2),e.fill(),e.restore()}function Ae(e,t,n){let r=Math.min(460,Math.max(220,t*.5)),i=t/2,a=r/2;e.save(),e.globalAlpha=.35,e.strokeStyle=`rgba(0,255,208,.6)`,e.lineWidth=2,e.beginPath(),e.moveTo(i-a,20),e.lineTo(i+a,20),e.stroke();let o=je(r*N*2);e.globalAlpha=.2,e.fillStyle=`#ffd36e`,e.fillRect(i-o,17,o*2,6),e.globalAlpha=.9,e.fillStyle=`#00ffd0`;let s=i-a+n*r;e.beginPath(),e.arc(s,20,4,0,Math.PI*2),e.fill(),e.restore()}function je(e){return e/2}function Me(e,t,n){e.save(),e.globalAlpha=.08,e.strokeStyle=`rgba(255,255,255,0.15)`,e.lineWidth=1;let r=t/2,i=n/2,a=(1+Math.sqrt(5))/2,o=4;for(let s=0;s<8;s++){let s=Math.min(t,n)/o;e.beginPath(),e.arc(r,i,s,-Math.PI/2,Math.PI),e.stroke(),o*=a}e.restore()}var J={background:`linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04))`,border:`1px solid rgba(255,255,255,0.25)`,borderRadius:10,color:`rgba(255,255,255,0.9)`,fontSize:18,lineHeight:1,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,minWidth:36,minHeight:36,touchAction:`none`};(()=>{let e=Array.from({length:31},()=>Array.from({length:28},()=>2));for(let t=0;t<28;t++)e[0][t]=1,e[30][t]=1;for(let t=0;t<31;t++)e[t][0]=1,e[t][27]=1;for(let t=4;t<24;t+=6)for(let n=4;n<27;n+=6)e[n][t]=1,e[n][t+1]=1,e[n+1][t]=1,e[n+1][t+1]=1;for(let t=2;t<26;t++)e[15][t]=0;e[1][1]=3,e[1][26]=3,e[29][1]=3,e[29][26]=3;for(let t=2;t<29;t++)e[t][14]=0;for(let t=2;t<26;t++)e[11][t]=0;return e})();var Ne=5236,Y=3,Pe=Y*2,Fe=2,Ie=.15,Le=220,Re=60,ze=20;function Be(e){return(Math.imul(e^2654435769,2654435761)>>>0)%1e5/1e5}function Ve(e,t){let n=Math.abs(e-t)%360;return n>180&&(n=360-n),n}var He=({currentPhi:e,onPhiChange:t})=>{let[n,r]=(0,c.useState)(`forge`),[i,a]=(0,c.useState)(null),[o,s]=(0,c.useState)(performance.now()),[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(!1),[p,m]=(0,c.useState)(null),[h,_]=(0,c.useState)(0);C({onPulse:e=>{a(e),s(performance.now()),m(e=>e&&{...e,delta:e.delta})}}),(0,c.useEffect)(()=>{if(n!==`forge`)return;let e=0,t=!0,r=()=>{if(!t)return;let n=performance.now();u(Math.max(0,n-o)%Ne/Ne*360%360),e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>{t=!1,cancelAnimationFrame(e)}},[o,n]);let v=(0,c.useMemo)(()=>{let e=i??0,t=Math.floor(Be(e)*360),n=Re+(e%2==0?ze:0)-Math.min(20,Math.floor(h*6));return{centerDeg:t,halfWidthDeg:Math.max(10,n/2)}},[i,h]),y=(0,c.useMemo)(()=>n===`forge`&&!d&&e>=Y&&i!==null,[n,d,e,i]),b=(0,c.useCallback)(e=>{let t=Pe,n=1+h*Ie,r=e?Fe:1;return Math.floor(t*n*r)},[h]),x=(0,c.useCallback)(()=>{if(!y)return;let n=e-Y;t(n),f(!0),m(null);let r=Ve(l,v.centerDeg),i=Math.max(4,v.halfWidthDeg*.25),a=r<=v.halfWidthDeg,o=a&&r<=i;window.setTimeout(()=>{if(a){let e=b(o);t(n+e),_(e=>e+1),m({kind:o?`crit`:`hit`,delta:e})}else _(0),m({kind:`miss`,delta:-Y});f(!1)},650)},[y,e,t,l,v.centerDeg,v.halfWidthDeg,b]);return(0,c.useEffect)(()=>{if(n!==`forge`)return;let e=e=>{let t=e.key.toLowerCase();(t===` `||t===`enter`)&&(e.preventDefault(),x())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,x]),(0,g.jsx)(`div`,{className:`pf-wrap`,role:`group`,"aria-label":`Pulse Forge`,children:n===`forge`?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`pf-header`,children:[(0,g.jsx)(`div`,{className:`pf-title`,children:`⚒️ Pulse Forge`}),(0,g.jsx)(`div`,{className:`pf-sub`,children:`Time your lock to the target arc. Breathe, focus, forge.`}),(0,g.jsx)(`div`,{style:{marginLeft:`auto`,display:`flex`,gap:8},children:(0,g.jsx)(`button`,{type:`button`,className:`pf-lock-btn`,onClick:()=>r(`maze`),title:`Switch to Kai-Maze`,children:`Play Kai-Maze`})})]}),(0,g.jsxs)(`div`,{className:`pf-board`,children:[(0,g.jsxs)(`div`,{className:`pf-dial`,style:{width:Le,height:Le},children:[(0,g.jsx)(`div`,{className:`pf-arc`,style:{"--arc-center":`${v.centerDeg}deg`,"--arc-half":`${v.halfWidthDeg}deg`},"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`pf-marker ${d?`pf-marker--lock`:``}`,style:{transform:`rotate(${l}deg)`},"aria-hidden":!0,children:(0,g.jsx)(`div`,{className:`pf-marker-head`})}),(0,g.jsx)(`div`,{className:`pf-rim`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`pf-ticks`,"aria-hidden":!0,children:Array.from({length:12}).map((e,t)=>(0,g.jsx)(`span`,{style:{transform:`rotate(${t*30}deg)`}},t))})]}),(0,g.jsxs)(`div`,{className:`pf-hud`,children:[(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Your Φ`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Φ`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:e})]}),(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Streak`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Streak`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:h})]}),(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Pulse`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Pulse`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:i??`—`})]})]})]}),(0,g.jsxs)(`div`,{className:`pf-cta`,children:[(0,g.jsx)(`button`,{className:`pf-lock-btn`,onClick:x,disabled:!y,"aria-disabled":!y,title:y?`Press Space/Enter to Lock`:`Insufficient Φ or syncing…`,children:d?`Locking…`:`Lock (−${Y} Φ)`}),(0,g.jsxs)(`div`,{className:`pf-hint`,children:[`Press `,(0,g.jsx)(`kbd`,{children:`Space`}),` or `,(0,g.jsx)(`kbd`,{children:`Enter`}),` at the right moment. Even pulses widen the target.`]})]}),p&&(0,g.jsxs)(`div`,{className:`pf-result pf-result--${p.kind}`,role:`status`,"aria-live":`polite`,children:[p.kind===`hit`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`✅`}),(0,g.jsxs)(`span`,{className:`pf-result__text`,children:[`Resonant lock! +`,p.delta,` Φ`]})]}),p.kind===`crit`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`💥`}),(0,g.jsxs)(`span`,{className:`pf-result__text`,children:[`Perfect lock! +`,p.delta,` Φ`]})]}),p.kind===`miss`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`❌`}),(0,g.jsx)(`span`,{className:`pf-result__text`,children:`Miss — breathe again.`})]})]})]}):(0,g.jsx)(De,{currentPhi:e,onPhiChange:t,onExit:()=>r(`forge`)})})};function Ue(){return`kai-${Math.random().toString(36).slice(2,8)}`}function We(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.x==`number`&&typeof t.pulseIndex==`number`&&typeof t.chakraDay==`string`&&typeof t.glyph==`object`&&t.glyph!==null}var Ge=null;async function Ke(){return Ge||(Ge=(await a(()=>import(`./bundler-D1L4d6nf.js`),__vite__mapDeps([0,1,2]))).default,Ge)}function qe(e){let[t]=(0,c.useState)(()=>e??Ue()),[n,r]=(0,c.useState)([]),[i,a]=(0,c.useState)([]),o=(0,c.useRef)(null),s=(0,c.useRef)({}),l=(0,c.useCallback)((e,t)=>{if(!We(t))return;let n={...t,id:e,glyph:t.glyph};a(t=>{let r=t.findIndex(t=>t.id===e);if(r>=0){let e=[...t];return e[r]=n,e}return[...t,n]})},[]),u=(0,c.useCallback)((e,t)=>{We(e)&&l(t,e)},[l]);return(0,c.useEffect)(()=>{let e=!1;return(async()=>{let n=await Ke();if(e)return;let i=new n(t);o.current=i,i.on(`open`,()=>{r(e=>e)}),i.on(`connection`,e=>{s.current[e.peer]=e,r(t=>Array.from(new Set([...t,e.peer]))),e.on(`data`,t=>{u(t,e.peer)}),e.on(`close`,()=>{delete s.current[e.peer],r(t=>t.filter(t=>t!==e.peer)),a(t=>t.filter(t=>t.id!==e.peer))})})})().catch(e=>{console.error(`[KaiRealms] Peer init failed:`,e)}),()=>{e=!0;try{o.current?.destroy()}catch(e){console.warn(`[KaiRealms] Peer destroy failed:`,e)}o.current=null,s.current={},r([]),a([])}},[t,u]),{sessionId:t,peers:n,sendState:(0,c.useCallback)(e=>{let t=Object.values(s.current);for(let n of t)n.open&&n.send(e)},[]),remoteStates:i}}var Je=800,Ye=500,Xe=Je/Ye,X=28,Z=10,Ze=360,Qe=10,Q=5236,$e=.08,et=22,tt=90,nt=80,rt=2,it=4,at=10,ot=3,st=1,ct=3,lt=1,ut=1,$=(e,t,n)=>en?n:e,dt=({glyphData:e,onExit:t})=>{let n=(0,c.useRef)(null),r=(0,c.useRef)(null),i=(0,c.useRef)(null),[a,o]=(0,c.useState)({w:Je,h:Ye}),s=(0,c.useRef)(a);(0,c.useEffect)(()=>{s.current=a},[a]);let[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(0),[p,m]=(0,c.useState)(!1),[h,_]=(0,c.useState)(ot),[v,y]=(0,c.useState)(0),[b,x]=(0,c.useState)(0),[S,w]=(0,c.useState)(!1),T=(0,c.useRef)(performance.now()),{sendState:E,remoteStates:D}=qe(),O=(0,c.useRef)([]);(0,c.useEffect)(()=>{O.current=D??[]},[D]);let k=(0,c.useRef)(Je/2),A=(0,c.useRef)([]),j=(0,c.useRef)({}),M=(0,c.useRef)(null),N=(0,c.useRef)(null),P=(0,c.useRef)(null),F=(0,c.useRef)(0),I=(0,c.useRef)(0),L=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=n.current;if(!e)return;let t=new ResizeObserver(e=>{let t=e[0].contentRect,n=Math.max(320,Math.min(960,t.width));o({w:n,h:Math.round(n/Xe)})});return t.observe(e),()=>t.disconnect()},[]),(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n=Math.min(2,window.devicePixelRatio||1);e.style.width=`${a.w}px`,e.style.height=`${a.h}px`,e.width=Math.floor(a.w*n),e.height=Math.floor(a.h*n),t.setTransform(n,0,0,n,0,0),i.current=t,k.current=$(k.current,X,a.w-X)},[a]),(0,c.useEffect)(()=>{let e=e=>{j.current[e.key]=!0,e.key.toLowerCase()===`p`&&m(e=>!e),e.key.toLowerCase()===`r`&&S&&re()},t=e=>{j.current[e.key]=!1};return window.addEventListener(`keydown`,e),window.addEventListener(`keyup`,t),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`keyup`,t)}},[S]),(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=t=>{let n=e.getBoundingClientRect();return $((t-n.left)/n.width*s.current.w,X,s.current.w-X)},n=!1,i=e=>{n=!0,k.current=t(e.clientX)},a=e=>{n&&(k.current=t(e.clientX))},o=()=>{n=!1};return e.addEventListener(`pointerdown`,i),e.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o),()=>{e.removeEventListener(`pointerdown`,i),e.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o)}},[]);let ee=e=>Math.max(0,e-T.current)%Q/Q,te=e=>{let t=Math.sin(Math.PI*e);return .65+.7*(t*t)},R=e=>{let{w:t}=s.current,n=performance.now(),r=Math.random()*(t-2*Z)+Z,i=-Z*2,a=(Math.random()-.5)*40,o=(e===`gold`?nt:tt)+v*(at*.2),c={id:`${e}-${n}-${Math.floor(Math.random()*1e6)}`,x:r,y:i,vx:a,baseVy:o,kind:e,bornAt:n},l=A.current.slice(-(et-1));l.push(c),A.current=l};C({onPulse:e=>{f(e),T.current=performance.now(),I.current+=1;for(let e=0;e{let n=P.current,r=k.current,i=d;if(!n||Math.abs(n.x-r)>=1||n.pulseIndex!==i||t-F.current>1e3/Qe){P.current={x:r,pulseIndex:i},F.current=t;try{E({id:`you`,x:r,pulseIndex:i,chakraDay:e.meta.chakraDay,glyph:e})}catch{}}};(0,c.useEffect)(()=>{let t=r.current,n=i.current;if(!t||!n)return;let a=!0,o=t=>{if(!a)return;M.current=requestAnimationFrame(o);let r=N.current??t,i=Math.min(.05,(t-r)/1e3);N.current=t;let{w:c,h:l}=s.current,d=l-X-10;if(!p&&!S){let e=j.current,n=!!(e.ArrowLeft||e.a||e.A),r=!!(e.ArrowRight||e.d||e.D);n&&(k.current=$(k.current-Ze*i,X,c-X)),r&&(k.current=$(k.current+Ze*i,X,c-X));let a=k.current,o=performance.now(),s=ee(o),f=te(s),p=[],m=0,h=0,g=0;for(let e=0;ec-Z&&(t.x=c-Z,t.vx=-Math.abs(t.vx)*.9);let r=t.x-a,u=t.y-d;if(Math.hypot(r,u)l+Z){g+=1;continue}p.push(t)}if(m>0||h>0){let e=m+h;u(t=>t+e),y(e=>{let t=e+1;return x(e=>t>e?t:e),t})}g>0&&(u(e=>Math.max(0,e-st*g)),y(0),_(e=>{let t=Math.max(0,e-g);return t===0&&w(!0),t})),A.current=p,ne(t)}ft(n,e,k.current,d,p||S,A.current,O.current,s.current,T.current,L.current)};return M.current=requestAnimationFrame(o),()=>{a=!1,M.current!==null&&cancelAnimationFrame(M.current),M.current=null,N.current=null}},[e,p,S,a.w,a.h]);let re=()=>{A.current=[],_(ot),y(0),x(e=>e),w(!1)},ie=(0,c.useMemo)(()=>({pulse:d,chakraDay:e?.meta?.chakraDay??`—`}),[d,e?.meta?.chakraDay]);return(0,g.jsxs)(`div`,{className:`realm-wrap`,ref:n,children:[(0,g.jsxs)(`div`,{className:`realm-hud`,children:[(0,g.jsxs)(`div`,{className:`hud-chip hud-chip--score`,title:`Banked Φ`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Φ`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:l})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Streak`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Streak`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:v})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Lives`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Lives`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:h})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Current Pulse`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Pulse`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:ie.pulse})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Chakra Day`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Day`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:ie.chakraDay})]}),(0,g.jsx)(`button`,{className:`hud-button`,onClick:()=>m(e=>!e),"aria-pressed":p,title:`Pause (P)`,children:p?`Resume`:`Pause`})]}),(0,g.jsxs)(`div`,{className:`realm-canvas-wrap`,children:[(0,g.jsx)(`canvas`,{ref:r,className:`realm-canvas`,"aria-label":`Kai Realms Canvas`}),(p||S)&&(0,g.jsx)(`div`,{className:`realm-pause-overlay`,"aria-hidden":!0,children:(0,g.jsxs)(`div`,{className:`pause-card`,children:[(0,g.jsx)(`div`,{className:`pause-title`,children:S?`Game Over`:`Paused`}),(0,g.jsx)(`div`,{className:`pause-sub`,children:S?(0,g.jsxs)(g.Fragment,{children:[`Best Streak: `,(0,g.jsx)(`strong`,{children:b}),` — Press `,(0,g.jsx)(`kbd`,{children:`R`}),` to Restart`]}):(0,g.jsxs)(g.Fragment,{children:[`Press `,(0,g.jsx)(`kbd`,{children:`P`}),` or click Resume`]})}),S&&(0,g.jsx)(`button`,{className:`hud-button`,onClick:re,style:{marginTop:12},children:`Restart`})]})})]}),(0,g.jsx)(He,{currentPhi:l,onPhiChange:e=>u(e)}),(0,g.jsx)(`button`,{className:`exit-button`,onClick:t,children:`Exit Realm`})]})};function ft(e,t,n,r,i,a,o,s,c,l){let{w:u,h:d}=s,f=e.createLinearGradient(0,0,0,d);f.addColorStop(0,`#020211`),f.addColorStop(1,`#0b0f2a`),e.fillStyle=f,e.fillRect(0,0,u,d),e.save(),e.globalAlpha=.12;for(let t=0;t<40;t++){let n=t*197%u+t%3,r=t*127%d+t*11%7;e.fillStyle=`white`,e.fillRect(n,r,2,2)}e.restore(),pt(e,u,Math.max(36,Math.round(d*.06)),c);for(let t=0;t{let[n,r]=(0,c.useState)(null),i=(0,c.useRef)(null),a=(0,c.useRef)(null),o=(0,c.useCallback)(e=>r(e),[]),s=(0,c.useCallback)(()=>{r(null),t?.()},[t]);(0,c.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t?.()};return document.addEventListener(`keydown`,e),a.current?.focus(),()=>document.removeEventListener(`keydown`,e)},[t]),(0,c.useEffect)(()=>{let e=i.current;if(!e)return;let t=e=>e.stopPropagation();return e.addEventListener(`wheel`,t,{passive:!0}),()=>e.removeEventListener(`wheel`,t)},[]);let l=()=>t?.(),u=e=>e.stopPropagation();return(0,g.jsxs)(`div`,{className:`realms-backdrop realms-veil`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`kai-realms-title`,onMouseDown:l,children:[(0,g.jsx)(`div`,{className:`realms-stars`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`realms-halo realms-halo--1`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`realms-halo realms-halo--2`,"aria-hidden":!0}),(0,g.jsxs)(`div`,{ref:i,className:`realms-container glass-omni`,onMouseDown:u,role:`document`,children:[(0,g.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`phi-grid`,"aria-hidden":!0}),(0,g.jsxs)(`header`,{className:`realms-header`,children:[(0,g.jsx)(`button`,{ref:a,type:`button`,className:`realms-close auric-btn`,"aria-label":`Close Kai Realms`,onClick:e=>{e.stopPropagation(),t?.()},onMouseDown:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t?.())},children:(0,g.jsx)(e,{size:20,"aria-hidden":!0})}),(0,g.jsx)(`div`,{className:`header-seals`,"aria-hidden":!0,children:(0,g.jsxs)(`div`,{className:`seal-emblem`,children:[(0,g.jsx)(`div`,{className:`seal-ring`}),(0,g.jsx)(`div`,{className:`seal-ring seal-ring--inner`}),(0,g.jsx)(`div`,{className:`seal-core`})]})}),(0,g.jsx)(`h2`,{id:`kai-realms-title`,className:`sr-only`,children:`Kai Realms — Sigil Gate`})]}),(0,g.jsx)(`main`,{className:`realms-body`,children:n?(0,g.jsx)(`div`,{className:`realm-stage`,children:(0,g.jsx)(dt,{glyphData:n,onExit:s})}):(0,g.jsx)(`div`,{className:`portal-stage`,children:(0,g.jsx)(v,{onEnter:o})})}),(0,g.jsx)(`footer`,{className:`realms-footer`,"aria-hidden":!0,children:(0,g.jsx)(`div`,{className:`footer-center`,style:{margin:`0 auto`},children:(0,g.jsx)(gt,{})})})]})]})};function gt(){return(0,g.jsxs)(`svg`,{className:`seal-coin`,width:`56`,height:`56`,viewBox:`0 0 56 56`,"aria-hidden":!0,children:[(0,g.jsxs)(`defs`,{children:[(0,g.jsxs)(`radialGradient`,{id:`coinGlowRealms`,cx:`50%`,cy:`50%`,r:`50%`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#ffffff`,stopOpacity:`0.9`}),(0,g.jsx)(`stop`,{offset:`40%`,stopColor:`#ffd86b`,stopOpacity:`0.75`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#ffd86b`,stopOpacity:`0.15`})]}),(0,g.jsxs)(`linearGradient`,{id:`coinEdgeRealms`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#00ffd0`,stopOpacity:`0.8`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#8a2be2`,stopOpacity:`0.8`})]})]}),(0,g.jsx)(`circle`,{cx:`28`,cy:`28`,r:`26`,fill:`url(#coinGlowRealms)`,stroke:`url(#coinEdgeRealms)`,strokeWidth:`1.5`}),(0,g.jsxs)(`g`,{className:`seal-coin__rotor`,children:[(0,g.jsx)(`circle`,{cx:`28`,cy:`28`,r:`18`,fill:`none`,stroke:`url(#coinEdgeRealms)`,strokeWidth:`1.25`}),(0,g.jsxs)(`g`,{stroke:`rgba(255,255,255,0.35)`,strokeWidth:`0.6`,children:[(0,g.jsx)(`line`,{x1:`28`,y1:`10`,x2:`28`,y2:`46`}),(0,g.jsx)(`line`,{x1:`10`,y1:`28`,x2:`46`,y2:`28`}),(0,g.jsx)(`line`,{x1:`15`,y1:`15`,x2:`41`,y2:`41`}),(0,g.jsx)(`line`,{x1:`41`,y1:`15`,x2:`15`,y2:`41`})]})]}),(0,g.jsx)(`circle`,{className:`seal-coin__core`,cx:`28`,cy:`28`,r:`6.5`})]})}export{ht as default}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/bundler-DQSW88uz.js","assets/index-DW_ZnoNU.js","assets/index-DIbPwWUC.css"])))=>i.map(i=>d[i]); +import{t as e}from"./x-B7PcV-pW.js";import{A as t,Kt as n,jt as r,kt as i,li as a,pi as o,yi as s}from"./index-DW_ZnoNU.js";var c=s(o(),1);function l(e){return typeof e==`string`?e.toLowerCase():``}function u(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e){return typeof e==`string`&&e.length>0}function f(e){return typeof e==`number`&&Number.isFinite(e)}function p(e){if(typeof e!=`object`||!e)throw Error(`Malformed sigil metadata.`);let t=e;for(let e of[`pulse`,`beat`,`stepIndex`,`chakraDay`])if(!u(t,e))throw Error(`Missing Kai field: ${e}`);if(!u(t,`kaiSignature`))throw Error(`Invalid Kai Signature — tampered or unsigned sigil.`);if(!f(t.pulse))throw Error(`Invalid field: pulse`);if(!f(t.beat))throw Error(`Invalid field: beat`);if(!f(t.stepIndex))throw Error(`Invalid field: stepIndex`);if(!d(t.chakraDay))throw Error(`Invalid field: chakraDay`);if(!d(t.kaiSignature))throw Error(`Invalid field: kaiSignature`)}function m(e){try{let t=new DOMParser().parseFromString(e,`image/svg+xml`),n=Array.from(t.getElementsByTagName(`metadata`)),r=[`valuation`,`ledger`,`dht`,`source`];for(let e of n){let t=e.getAttribute(`id`)??``;if(r.some(e=>t.includes(e)))continue;let n=(e.textContent??``).trim();if(!n)continue;let i=n.replace(/^$/,``);try{let e=JSON.parse(i);if(typeof e==`object`&&e&&u(e,`pulse`)&&u(e,`beat`)&&u(e,`stepIndex`)&&u(e,`chakraDay`)&&u(e,`kaiSignature`))return e}catch{}}return null}catch{return null}}async function h(e){let n=await e.text(),{meta:a,contextOk:o,typeOk:s}=await t(e),c=a&&u(a,`kaiSignature`)&&u(a,`pulse`)?a:m(n);if(!c||!o||!s)throw Error(`Invalid glyph or missing metadata.`);p(c);let d=c,f=await i(d);if(!f||l(f)!==l(d.kaiSignature))throw Error(`Invalid Kai Signature — tampered or unsigned sigil.`);let h=await r(d.kaiSignature);if(typeof d.userPhiKey==`string`){if(l(d.userPhiKey)!==l(h))throw Error(`Φ-Key mismatch — identity invalid.`)}else d.userPhiKey=h;return{svgText:n,meta:d,phiKey:h}}var g=s(n(),1),_=`.svg,image/svg+xml`,v=({onEnter:e})=>{let t=(0,c.useRef)(null),[n,r]=(0,c.useState)(!1),[i,a]=(0,c.useState)(!1),[o,s]=(0,c.useState)(``),[l,u]=(0,c.useState)(null),d=(0,c.useId)(),f=(0,c.useId)(),p=(0,c.useId)(),m=()=>{t.current&&(t.current.value=``)},v=(0,c.useCallback)(async t=>{u(null),s(t.name),a(!0);try{if(!(t.type===`image/svg+xml`||t.name.toLowerCase().endsWith(`.svg`)))throw Error(`Please upload a valid Kai Sigil (.svg).`);e(await h(t))}catch(e){u(e instanceof Error?e.message:`Invalid glyph or missing metadata.`)}finally{a(!1),m()}},[e]),y=(0,c.useCallback)(async e=>{let t=e.target.files?.[0];t&&await v(t)},[v]),b=(0,c.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),r(!1);let t=e.dataTransfer.files?.[0];t&&await v(t)},[v]),x=e=>{e.preventDefault(),e.dataTransfer.dropEffect=`copy`,n||r(!0)},S=e=>{e.currentTarget.contains(e.relatedTarget)||r(!1)},C=()=>t.current?.click(),w=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())};return(0,g.jsxs)(`section`,{className:`portal-card glass-omni`,"aria-labelledby":d,"aria-describedby":f,children:[(0,g.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`phi-grid`,"aria-hidden":!0}),(0,g.jsx)(`h1`,{id:d,className:`sr-only`,children:`Drop your Kai Sigil`}),(0,g.jsxs)(`div`,{className:`portal-body`,children:[(0,g.jsxs)(`div`,{className:`dropzone ${n?`dropzone--active`:``} ${i?`dropzone--busy`:``}`,role:`button`,tabIndex:0,onKeyDown:w,onClick:C,onDrop:b,onDragOver:x,onDragLeave:S,"aria-busy":i,"aria-describedby":`${f}${l?` ${p}`:``}`,children:[(0,g.jsxs)(`div`,{className:`dropzone-ornament`,"aria-hidden":!0,children:[(0,g.jsx)(`div`,{className:`ornament-ring ornament-ring--outer`}),(0,g.jsx)(`div`,{className:`ornament-ring ornament-ring--inner`}),(0,g.jsx)(`div`,{className:`ornament-core`})]}),(0,g.jsx)(`div`,{className:`dropzone-icon`,"aria-hidden":!0,children:(0,g.jsxs)(`svg`,{width:`44`,height:`44`,viewBox:`0 0 44 44`,children:[(0,g.jsx)(`defs`,{children:(0,g.jsxs)(`linearGradient`,{id:`dzG`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#00ffd0`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#8a2be2`})]})}),(0,g.jsx)(`circle`,{cx:`22`,cy:`22`,r:`20`,fill:`none`,stroke:`url(#dzG)`,strokeWidth:`1.5`}),(0,g.jsx)(`path`,{d:`M22 12 L22 30 M14 20 L22 12 L30 20`,stroke:`url(#dzG)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,fill:`none`})]})}),(0,g.jsxs)(`div`,{className:`dropzone-text`,children:[(0,g.jsx)(`div`,{className:`dz-title`,children:`Inhale your Kai Sigil`}),(0,g.jsxs)(`div`,{id:f,className:`dz-hint`,children:[`Breath-minted `,(0,g.jsx)(`strong`,{children:`Φkey`}),` only. Drag & drop.`]}),o&&!i&&!l?(0,g.jsxs)(`div`,{className:`dz-file`,children:[`Selected: `,o]}):null,i?(0,g.jsxs)(`div`,{className:`dz-progress`,children:[(0,g.jsx)(`div`,{className:`dz-spinner`}),(0,g.jsx)(`span`,{children:`Verifying…`})]}):null]}),(0,g.jsx)(`input`,{ref:t,type:`file`,accept:_,onChange:y,tabIndex:-1,"aria-hidden":!0,className:`dz-input`})]}),l?(0,g.jsx)(`div`,{id:p,className:`portal-error`,role:`alert`,"aria-live":`polite`,children:l}):null,(0,g.jsx)(`p`,{className:`portal-note`,children:`Your sigil is verified by breath. No drift. Only truth.`})]}),(0,g.jsx)(`span`,{className:`sr-only`,children:`Kai Realms sigil gate ready.`})]})},y=5236,b=11,x=44;function S(e){let t=e-1715323541888,n=Math.floor(t/y);return{pulseIndex:n,stepIndex:Math.floor(n/b)%x,beatIndex:Math.floor(n/(b*x))%36}}function C(e){let t=(0,c.useRef)(null);(0,c.useEffect)(()=>{let n=setInterval(()=>{let{pulseIndex:n,stepIndex:r,beatIndex:i}=S(Date.now());n!==t.current&&(e.onPulse?.(n),n%b===0&&e.onStep?.(r),n%(b*x)===0&&e.onBeat?.(i),t.current=n)},y);return()=>clearInterval(n)},[e])}var w={Root:`#FF0033`,Sacral:`#FF8000`,Solar:`#FFD700`,Heart:`#00FF99`,Throat:`#33CCFF`,ThirdEye:`#9933FF`,Crown:`#AA00FF`};function T(e,t,n,r,i){e.save(),e.translate(n,r);let{chakraDay:a,pulse:o}=t.meta,s=w[a]??`#00FFFF`;e.beginPath(),e.arc(0,0,i+4,0,Math.PI*2),e.fillStyle=s,e.shadowColor=s,e.shadowBlur=15,e.fill(),e.beginPath(),e.arc(0,0,i,0,Math.PI*2),e.fillStyle=`#000012`,e.fill();let c=i+o%11*1.5;e.beginPath(),e.arc(0,0,c,0,Math.PI*2),e.strokeStyle=`${s}AA`,e.lineWidth=1.5,e.stroke(),e.restore()}var E=`kai:game:focus`,D=typeof window<`u`;function O(){if(!D||typeof BroadcastChannel>`u`)return null;try{return new BroadcastChannel(`kai-realms-game-focus`)}catch{return null}}function k(e){let t={id:e,ts:Date.now()};if(D)try{window.dispatchEvent(new CustomEvent(E,{detail:t}))}catch{}let n=O();if(n)try{n.postMessage({type:E,detail:t})}catch{}finally{try{n.close()}catch{}}}function A(e){let t=t=>{let n=t;n?.detail&&e(n.detail)};D&&window.addEventListener(E,t);let n=O(),r=t=>{let n=t?.data;n?.type===E&&n.detail&&e(n.detail)};if(n)try{n.addEventListener(`message`,r)}catch{}return()=>{if(D&&window.removeEventListener(E,t),n)try{n.removeEventListener(`message`,r)}catch{}finally{try{n.close()}catch{}}}}function j(e){let[t,n]=(0,c.useState)(!1),r=(0,c.useRef)(0);return(0,c.useEffect)(()=>A(t=>{n(t.id!==e),r.current=t.ts}),[e]),{paused:t,takeFocus:(0,c.useCallback)(()=>{k(e),n(!1)},[e])}}var M=5236,N=.085,P=1,F=60,I=6.1,L=5.6,ee=.1,te=1.6,R=10,ne=50,re=150,ie=10,ae=Math.floor(M*1.25),oe=.145,se=2.618,ce=M,z=M,le=1e3,ue=.12,B=44,de=.618,fe=.35,pe=3,me=`600 12px ui-sans-serif,system-ui,-apple-system`,V={up:{x:0,y:-1},down:{x:0,y:1},left:{x:-1,y:0},right:{x:1,y:0},none:{x:0,y:0}},H={up:`down`,down:`up`,left:`right`,right:`left`,none:`none`};function he(e,t,n){return e+(t-e)*n}function U(e,t){return(e-t+M)%M/M}function ge(e){let t=Math.sin(Math.PI*e);return .78+.44*(t*t)}function _e(e){let t=e.toLowerCase();return t===`arrowup`||t===`w`?`up`:t===`arrowdown`||t===`s`?`down`:t===`arrowleft`||t===`a`?`left`:t===`arrowright`||t===`d`?`right`:`none`}function W(e,t,n){let r=Math.round(n),i=Math.round(t);return r<0||r>=e.length||i<0||i>=e[0].length?!1:e[r][i]!==1}function G(e){return{x:Math.round(e.x),y:Math.round(e.y)}}function K(e,t){let n=e.x-t.x,r=e.y-t.y;return n*n+r*r}function ve(){let e=Array.from({length:23},()=>Array(27).fill(1));((t,n,r,i)=>{for(let a=n;a0&&a<22&&n>0&&n<26&&(e[a][n]=0)})(1,1,25,21);for(let t=2;t<25;t++)e[5][t]=1,e[17][t]=1;for(let t=2;t<21;t++)e[t][4]=1,e[t][22]=1;for(let t=6;t<21;t++)e[11][t]=0;for(let t=4;t<19;t++)e[t][13]=0;for(let t=1;t<22;t++)for(let n=1;n<26;n++)e[t][n]===0&&(e[t][n]=2);for(let t of[{x:6,y:6},{x:20,y:6},{x:6,y:16},{x:20,y:16}])e[t.y][t.x]=3;for(let t of[{x:2,y:2},{x:24,y:2},{x:2,y:20},{x:24,y:20}])e[t.y]?.[t.x]!==1&&(e[t.y][t.x]=4);return e}function ye(e){return{pos:{x:e.x,y:e.y},dir:`left`,next:`left`,speed:I}}function q(e,t,n){return{pos:{x:e.x,y:e.y},dir:`left`,speed:L,scatterTarget:n,mode:`chase`,frightUntil:0,color:t}}function be(e){let t=0;for(let n=0;n=.1||i>=.1)return!1;let a=0;return[`up`,`down`,`left`,`right`].forEach(t=>{W(e,n.x+V[t].x,n.y+V[t].y)&&a++}),a>=3}function we(e,t){if(t.next===`none`||t.next===t.dir)return;if(t.next===H[t.dir]){t.dir=t.next;return}let n=G(t.pos),r=Math.abs(t.pos.x-n.x),i=Math.abs(t.pos.y-n.y);r>=.12||i>=.12||W(e,n.x+V[t.next].x,n.y+V[t.next].y)&&(t.pos.x=n.x,t.pos.y=n.y,t.dir=t.next)}function Te(e,t,n,r,i){if(n===`none`)return;let a=V[n],o=t.x+a.x*r*i,s=t.y+a.y*r*i,c=e[0].length;if(o<-1){t.x=c+1;return}if(o>c+1){t.x=-1;return}if(W(e,Math.round(o),Math.round(s)))t.x=o,t.y=s;else{let e=G(t);t.x=e.x,t.y=e.y}}function Ee(e,t,n,r){let i=[`up`,`left`,`down`,`right`],a=n,o=1/0;for(let s of i){if(s===H[n])continue;let i=Math.round(t.x)+V[s].x,c=Math.round(t.y)+V[s].y;if(!W(e,i,c))continue;let l=K({x:i,y:c},r);l{let r=(0,c.useRef)(null),i=(0,c.useRef)(null),{paused:a,takeFocus:o}=j(`KaiMaze`),[s,l]=(0,c.useState)({w:0,h:0});(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect;l({w:e.width,h:e.height})}});return t.observe(e),()=>t.disconnect()},[]);let[u,d]=(0,c.useState)(e);(0,c.useEffect)(()=>d(e),[e]);let[f,p]=(0,c.useState)(()=>xe(1,performance.now())),m=(0,c.useRef)(performance.now()),[h,_]=(0,c.useState)(()=>{if(typeof window>`u`)return!1;let e=window.matchMedia?.(`(pointer: coarse)`)?.matches??!1,t=window.matchMedia?.(`(max-width: 900px)`)?.matches??!1;return e||t});(0,c.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(pointer: coarse)`),t=window.matchMedia(`(max-width: 900px)`),n=()=>_(e.matches||t.matches);return e.addEventListener?.(`change`,n),t.addEventListener?.(`change`,n),()=>{e.removeEventListener?.(`change`,n),t.removeEventListener?.(`change`,n)}},[]);let v=(0,c.useMemo)(()=>e=>Math.floor(le*(1+ue*(e-1))),[]),y=(0,c.useMemo)(()=>h&&!f.over,[h,f.over]),b=(0,c.useMemo)(()=>(h?`Tap/Swipe or D-pad`:`←↑→↓ / WASD`)+` · B/Space to Channel on ⟐ · Esc to exit`,[h]);(0,c.useEffect)(()=>{if(P>0&&u>=P){let e=u-P;d(e),t(e),o()}},[]);let x=()=>{p(e=>e.channelingUntil?{...e,channelingUntil:0}:e)};(0,c.useEffect)(()=>{let e=e=>{let t=e.key.toLowerCase(),r=_e(t);r!==`none`&&(x(),e.preventDefault(),o(),p(e=>({...e,player:{...e.player,next:r}}))),(t===`b`||t===` `)&&f.onAltar&&f.channelingUntil===0&&(o(),p(e=>({...e,channelingUntil:performance.now()+z}))),t===`escape`&&n&&n(),t===`r`&&f.over&&(o(),p(xe(1,performance.now())),m.current=performance.now())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,f.over,f.onAltar,f.channelingUntil]);let S=e=>{x(),o(),p(t=>({...t,player:{...t.player,next:e}}))},C=()=>{f.onAltar&&f.channelingUntil===0&&(o(),p(e=>({...e,channelingUntil:performance.now()+z})))};(0,c.useEffect)(()=>{let e=0,n=performance.now(),r=(e,n)=>{if(n.channelingUntil===0||!n.onAltar||e0){let e=Math.floor(a*r),i=Math.max(0,n.bankable-e),o=u+a;return d(o),t(o),{...n,scorePhi:n.scorePhi+a,bankable:i,points:i,kaiCharge:Math.max(0,Math.floor(n.kaiCharge*.5)),channelingUntil:0}}return{...n,channelingUntil:0}},i=()=>{e=requestAnimationFrame(i);let o=performance.now(),s=Math.min(1/F,(o-n)/1e3);n=o,!a&&p(e=>{if(e.over)return e;let n=structuredClone(e);if(o>=n.cycle.nextSwitchAt){let e=n.cycle.phase===`chase`?`scatter`:`chase`;n.cycle={phase:e,nextSwitchAt:o+Se(n.level,e)};for(let t of n.ghosts)t.mode!==`fright`&&(t.mode=e)}let i=U(o,m.current),a=ge(i),c=Math.min(1+n.streak*ee,te),l=Math.min(1+n.streak*oe,se),f=n.channelingUntil>0?0:n.player.speed*a*c;we(n.grid,n.player),Te(n.grid,n.player.pos,n.player.dir,f,s);let p=G(n.player.pos);n.onAltar=n.grid[p.y]?.[p.x]===4;let h=n.grid[p.y]?.[p.x]??1;if((h===2||h===3)&&n.channelingUntil===0){let e=Math.abs(i-.5)<=N,t=h===2?R:ne;if(e&&(t+=ie,n.kaiCharge=Math.min(B,n.kaiCharge+1)),t=Math.floor(t*l),n.points+=t,n.bankable=n.points,n.streak+=1,n.streak>n.bestStreak&&(n.bestStreak=n.streak),n.comboUntil=o+ae,n.grid[p.y][p.x]=0,n.pellets=Math.max(0,n.pellets-1),h===3){m.current=o;let e=Math.max(ce*Math.max(.55,1-(n.level-1)*.08),M*.5);for(let t of n.ghosts)t.mode=`fright`,t.frightUntil=o+e}}n.comboUntil>0&&o>n.comboUntil&&(n.streak=Math.max(0,Math.floor(n.streak*.5)),n.comboUntil=0);for(let e of n.ghosts){e.mode===`fright`&&o>=e.frightUntil&&(e.mode=n.cycle.phase);let t=G(n.player.pos);if(Ce(n.grid,e.pos))if(e.mode===`scatter`)e.dir=Ee(n.grid,e.pos,e.dir,e.scatterTarget);else if(e.mode===`fright`){let r=G(e.pos),i=[`up`,`down`,`left`,`right`],a=e.dir,o=-1/0;for(let s of i){if(s===H[e.dir])continue;let i=r.x+V[s].x,c=r.y+V[s].y;if(!W(n.grid,i,c))continue;let l=K({x:i,y:c},t);l>o&&(o=l,a=s)}e.dir=a}else{let r={x:t.x+V[n.player.dir].x*2,y:t.y+V[n.player.dir].y*2};e.dir=Ee(n.grid,e.pos,e.dir,r)}let r=e.mode===`fright`?he(.6,.8,Math.sin(i*Math.PI)):a,c=e.speed*r;if(c*=1.06**(n.level-1),Te(n.grid,e.pos,e.dir,c,s),K(n.player.pos,e.pos)<.4)if(e.mode===`fright`&&n.channelingUntil===0){let t=Math.floor(re*l);n.points+=t,n.bankable=n.points,n.streak+=1,n.streak>n.bestStreak&&(n.bestStreak=n.streak),n.comboUntil=o+ae,e.pos={...e.scatterTarget},e.dir=`left`,e.mode=`scatter`,e.frightUntil=0}else if(--n.lives,n.streak=0,n.comboUntil=0,n.points=Math.max(0,Math.floor(n.points*(1-fe))),n.bankable=n.points,n.channelingUntil=0,n.lives<=0)n.alive=!1,n.over=!0;else{let e={x:Math.floor(n.grid[0].length/2),y:n.grid.length-4};n.player.pos={...e},n.player.dir=`left`,n.player.next=`left`;for(let e of n.ghosts)e.mode=`scatter`;m.current=o}}if(n.pellets<=0&&!n.over){let e=v(n.level),r=Math.floor(n.bankable*.2/e);if(r>0){let i=r*e,a=Math.max(0,n.bankable-i),o=u+r;d(o),t(o),n.scorePhi+=r,n.bankable=a,n.points=a}let i=xe(n.level+1,o);i.scorePhi=n.scorePhi,i.lives=Math.max(1,n.lives),i.bestStreak=Math.max(n.bestStreak,n.streak),i.player.speed=n.player.speed*1.06;for(let e of i.ghosts)e.speed*=1.06;return m.current=o,i}return n=r(o,n),n})};return e=requestAnimationFrame(i),()=>cancelAnimationFrame(e)},[t,u,a,v]),(0,c.useEffect)(()=>{let e=0,t=()=>{e=requestAnimationFrame(t);let n=i.current,o=r.current;if(!n||!o)return;let c=n.getContext(`2d`);if(!c)return;let l=Math.max(0,s.w),d=Math.max(0,s.h);if(l===0||d===0)return;let p=Math.min(2,window.devicePixelRatio||1);(n.width!==Math.floor(l*p)||n.height!==Math.floor(d*p))&&(n.width=Math.floor(l*p),n.height=Math.floor(d*p),n.style.width=`${l}px`,n.style.height=`${d}px`),c.setTransform(p,0,0,p,0,0);let h=f.grid.length,g=f.grid[0].length,_=Math.floor(Math.min(l/g,d/h)),v=_*g,y=_*h,b=Math.floor((l-v)/2),x=Math.floor((d-y)/2),S=c.createLinearGradient(0,0,0,d);S.addColorStop(0,`#07071a`),S.addColorStop(1,`#0c1231`),c.fillStyle=S,c.fillRect(0,0,l,d),Me(c,l,d);for(let e=0;e0&&f.onAltar){let e=1-Math.max(0,f.channelingUntil-w)/z,t=l/2;c.strokeStyle=`rgba(0,255,208,0.9)`,c.lineWidth=4,c.globalAlpha=.9,c.beginPath(),c.arc(t,34,16,-Math.PI/2,-Math.PI/2+e*Math.PI*2),c.stroke(),c.globalAlpha=1,c.font=`700 12px ui-sans-serif,system-ui,-apple-system`,c.fillText(`Channeling…`,t+16+8,38)}if(a&&!f.over){c.fillStyle=`rgba(0,0,0,0.35)`,c.fillRect(0,0,l,d),c.fillStyle=`#fff`,c.font=`700 16px ui-sans-serif,system-ui,-apple-system`;let e=`Paused — another Realm is active`;c.fillText(e,(l-c.measureText(e).width)/2,d/2)}if(f.over){c.fillStyle=`rgba(0,0,0,0.55)`,c.fillRect(0,0,l,d),c.fillStyle=`#fff`,c.font=`700 20px ui-sans-serif,system-ui,-apple-system`;let e=`Game Over — Press R to restart`;c.fillText(e,(l-c.measureText(e).width)/2,d/2)}};return e=requestAnimationFrame(t),()=>cancelAnimationFrame(e)},[f,u,s,a]);let w=f.onAltar&&f.channelingUntil===0;return(0,g.jsxs)(`div`,{className:`km-wrap`,role:`group`,"aria-label":`Kai-Maze`,onPointerDown:()=>o(),onTouchStart:()=>o(),onMouseDown:()=>o(),children:[(0,g.jsxs)(`div`,{className:`km-header`,children:[(0,g.jsx)(`div`,{className:`km-title`,children:`🌀 Kai-Maze`}),(0,g.jsx)(`div`,{className:`km-sub`,children:`Score on pulse, risk your points, then ⟐ channel to mint Φ.`})]}),(0,g.jsxs)(`div`,{className:`km-stage`,ref:r,children:[(0,g.jsx)(`canvas`,{ref:i,className:`km-canvas`}),y&&(0,g.jsxs)(`div`,{className:`km-dpad`,style:{position:`absolute`,left:12,bottom:12,width:132,height:132,display:`grid`,gridTemplateColumns:`repeat(3, 1fr)`,gridTemplateRows:`repeat(3, 1fr)`,gap:6,touchAction:`none`,userSelect:`none`,zIndex:4},"aria-label":`Directional pad`,children:[(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move up`,onPointerDown:e=>{e.preventDefault(),S(`up`)},children:`▲`}),(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move left`,onPointerDown:e=>{e.preventDefault(),S(`left`)},children:`◀`}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:{...J,opacity:.9},"aria-label":`Hold to Channel (if on altar)`,onPointerDown:e=>{e.preventDefault(),C()},title:`Channel one breath to convert points → Φ`,children:`⟐`}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move right`,onPointerDown:e=>{e.preventDefault(),S(`right`)},children:`▶`}),(0,g.jsx)(`div`,{}),(0,g.jsx)(`button`,{className:`km-dpad-btn`,style:J,"aria-label":`Move down`,onPointerDown:e=>{e.preventDefault(),S(`down`)},children:`▼`}),(0,g.jsx)(`div`,{})]}),w&&(0,g.jsx)(`button`,{className:`km-chan-btn`,onClick:()=>{o(),p(e=>e.channelingUntil?e:{...e,channelingUntil:performance.now()+z})},"aria-label":`Channel points into Phi`,title:`Channel one breath to convert points → Φ`,children:`⟐ CHANNEL`}),f.channelingUntil>0&&(0,g.jsx)(`button`,{className:`km-chan-cancel`,onClick:()=>{o(),p(e=>({...e,channelingUntil:0}))},"aria-label":`Cancel channeling`,title:`Cancel`,children:`Cancel`})]}),(0,g.jsxs)(`div`,{className:`km-footer`,children:[(0,g.jsx)(`button`,{className:`km-btn`,onClick:n,title:`Back`,children:`Back`}),(0,g.jsx)(`div`,{className:`km-hint`,children:b})]})]})};function Oe(e,t,n,r,i){e.save(),e.fillStyle=i,e.beginPath(),e.arc(t,n,r,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(255,255,255,0.35)`,e.lineWidth=1.25,e.stroke(),e.restore()}function ke(e,t,n,r,i){e.save(),e.fillStyle=i,e.beginPath(),e.arc(t,n,r,Math.PI,0),e.lineTo(t+r,n+r*.85),e.lineTo(t-r,n+r*.85),e.closePath(),e.fill(),e.fillStyle=`#fff`,e.beginPath(),e.arc(t-r*.35,n-r*.15,r*.16,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+r*.35,n-r*.15,r*.16,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.arc(t-r*.3,n-r*.15,r*.08,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+r*.3,n-r*.15,r*.08,0,Math.PI*2),e.fill(),e.restore()}function Ae(e,t,n){let r=Math.min(460,Math.max(220,t*.5)),i=t/2,a=r/2;e.save(),e.globalAlpha=.35,e.strokeStyle=`rgba(0,255,208,.6)`,e.lineWidth=2,e.beginPath(),e.moveTo(i-a,20),e.lineTo(i+a,20),e.stroke();let o=je(r*N*2);e.globalAlpha=.2,e.fillStyle=`#ffd36e`,e.fillRect(i-o,17,o*2,6),e.globalAlpha=.9,e.fillStyle=`#00ffd0`;let s=i-a+n*r;e.beginPath(),e.arc(s,20,4,0,Math.PI*2),e.fill(),e.restore()}function je(e){return e/2}function Me(e,t,n){e.save(),e.globalAlpha=.08,e.strokeStyle=`rgba(255,255,255,0.15)`,e.lineWidth=1;let r=t/2,i=n/2,a=(1+Math.sqrt(5))/2,o=4;for(let s=0;s<8;s++){let s=Math.min(t,n)/o;e.beginPath(),e.arc(r,i,s,-Math.PI/2,Math.PI),e.stroke(),o*=a}e.restore()}var J={background:`linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04))`,border:`1px solid rgba(255,255,255,0.25)`,borderRadius:10,color:`rgba(255,255,255,0.9)`,fontSize:18,lineHeight:1,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,minWidth:36,minHeight:36,touchAction:`none`};(()=>{let e=Array.from({length:31},()=>Array.from({length:28},()=>2));for(let t=0;t<28;t++)e[0][t]=1,e[30][t]=1;for(let t=0;t<31;t++)e[t][0]=1,e[t][27]=1;for(let t=4;t<24;t+=6)for(let n=4;n<27;n+=6)e[n][t]=1,e[n][t+1]=1,e[n+1][t]=1,e[n+1][t+1]=1;for(let t=2;t<26;t++)e[15][t]=0;e[1][1]=3,e[1][26]=3,e[29][1]=3,e[29][26]=3;for(let t=2;t<29;t++)e[t][14]=0;for(let t=2;t<26;t++)e[11][t]=0;return e})();var Ne=5236,Y=3,Pe=Y*2,Fe=2,Ie=.15,Le=220,Re=60,ze=20;function Be(e){return(Math.imul(e^2654435769,2654435761)>>>0)%1e5/1e5}function Ve(e,t){let n=Math.abs(e-t)%360;return n>180&&(n=360-n),n}var He=({currentPhi:e,onPhiChange:t})=>{let[n,r]=(0,c.useState)(`forge`),[i,a]=(0,c.useState)(null),[o,s]=(0,c.useState)(performance.now()),[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(!1),[p,m]=(0,c.useState)(null),[h,_]=(0,c.useState)(0);C({onPulse:e=>{a(e),s(performance.now()),m(e=>e&&{...e,delta:e.delta})}}),(0,c.useEffect)(()=>{if(n!==`forge`)return;let e=0,t=!0,r=()=>{if(!t)return;let n=performance.now();u(Math.max(0,n-o)%Ne/Ne*360%360),e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>{t=!1,cancelAnimationFrame(e)}},[o,n]);let v=(0,c.useMemo)(()=>{let e=i??0,t=Math.floor(Be(e)*360),n=Re+(e%2==0?ze:0)-Math.min(20,Math.floor(h*6));return{centerDeg:t,halfWidthDeg:Math.max(10,n/2)}},[i,h]),y=(0,c.useMemo)(()=>n===`forge`&&!d&&e>=Y&&i!==null,[n,d,e,i]),b=(0,c.useCallback)(e=>{let t=Pe,n=1+h*Ie,r=e?Fe:1;return Math.floor(t*n*r)},[h]),x=(0,c.useCallback)(()=>{if(!y)return;let n=e-Y;t(n),f(!0),m(null);let r=Ve(l,v.centerDeg),i=Math.max(4,v.halfWidthDeg*.25),a=r<=v.halfWidthDeg,o=a&&r<=i;window.setTimeout(()=>{if(a){let e=b(o);t(n+e),_(e=>e+1),m({kind:o?`crit`:`hit`,delta:e})}else _(0),m({kind:`miss`,delta:-Y});f(!1)},650)},[y,e,t,l,v.centerDeg,v.halfWidthDeg,b]);return(0,c.useEffect)(()=>{if(n!==`forge`)return;let e=e=>{let t=e.key.toLowerCase();(t===` `||t===`enter`)&&(e.preventDefault(),x())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,x]),(0,g.jsx)(`div`,{className:`pf-wrap`,role:`group`,"aria-label":`Pulse Forge`,children:n===`forge`?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`pf-header`,children:[(0,g.jsx)(`div`,{className:`pf-title`,children:`⚒️ Pulse Forge`}),(0,g.jsx)(`div`,{className:`pf-sub`,children:`Time your lock to the target arc. Breathe, focus, forge.`}),(0,g.jsx)(`div`,{style:{marginLeft:`auto`,display:`flex`,gap:8},children:(0,g.jsx)(`button`,{type:`button`,className:`pf-lock-btn`,onClick:()=>r(`maze`),title:`Switch to Kai-Maze`,children:`Play Kai-Maze`})})]}),(0,g.jsxs)(`div`,{className:`pf-board`,children:[(0,g.jsxs)(`div`,{className:`pf-dial`,style:{width:Le,height:Le},children:[(0,g.jsx)(`div`,{className:`pf-arc`,style:{"--arc-center":`${v.centerDeg}deg`,"--arc-half":`${v.halfWidthDeg}deg`},"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`pf-marker ${d?`pf-marker--lock`:``}`,style:{transform:`rotate(${l}deg)`},"aria-hidden":!0,children:(0,g.jsx)(`div`,{className:`pf-marker-head`})}),(0,g.jsx)(`div`,{className:`pf-rim`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`pf-ticks`,"aria-hidden":!0,children:Array.from({length:12}).map((e,t)=>(0,g.jsx)(`span`,{style:{transform:`rotate(${t*30}deg)`}},t))})]}),(0,g.jsxs)(`div`,{className:`pf-hud`,children:[(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Your Φ`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Φ`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:e})]}),(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Streak`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Streak`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:h})]}),(0,g.jsxs)(`div`,{className:`pf-chip`,title:`Pulse`,children:[(0,g.jsx)(`span`,{className:`pf-chip__label`,children:`Pulse`}),(0,g.jsx)(`span`,{className:`pf-chip__val`,children:i??`—`})]})]})]}),(0,g.jsxs)(`div`,{className:`pf-cta`,children:[(0,g.jsx)(`button`,{className:`pf-lock-btn`,onClick:x,disabled:!y,"aria-disabled":!y,title:y?`Press Space/Enter to Lock`:`Insufficient Φ or syncing…`,children:d?`Locking…`:`Lock (−${Y} Φ)`}),(0,g.jsxs)(`div`,{className:`pf-hint`,children:[`Press `,(0,g.jsx)(`kbd`,{children:`Space`}),` or `,(0,g.jsx)(`kbd`,{children:`Enter`}),` at the right moment. Even pulses widen the target.`]})]}),p&&(0,g.jsxs)(`div`,{className:`pf-result pf-result--${p.kind}`,role:`status`,"aria-live":`polite`,children:[p.kind===`hit`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`✅`}),(0,g.jsxs)(`span`,{className:`pf-result__text`,children:[`Resonant lock! +`,p.delta,` Φ`]})]}),p.kind===`crit`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`💥`}),(0,g.jsxs)(`span`,{className:`pf-result__text`,children:[`Perfect lock! +`,p.delta,` Φ`]})]}),p.kind===`miss`&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`pf-result__emoji`,children:`❌`}),(0,g.jsx)(`span`,{className:`pf-result__text`,children:`Miss — breathe again.`})]})]})]}):(0,g.jsx)(De,{currentPhi:e,onPhiChange:t,onExit:()=>r(`forge`)})})};function Ue(){return`kai-${Math.random().toString(36).slice(2,8)}`}function We(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.x==`number`&&typeof t.pulseIndex==`number`&&typeof t.chakraDay==`string`&&typeof t.glyph==`object`&&t.glyph!==null}var Ge=null;async function Ke(){return Ge||(Ge=(await a(()=>import(`./bundler-DQSW88uz.js`),__vite__mapDeps([0,1,2]))).default,Ge)}function qe(e){let[t]=(0,c.useState)(()=>e??Ue()),[n,r]=(0,c.useState)([]),[i,a]=(0,c.useState)([]),o=(0,c.useRef)(null),s=(0,c.useRef)({}),l=(0,c.useCallback)((e,t)=>{if(!We(t))return;let n={...t,id:e,glyph:t.glyph};a(t=>{let r=t.findIndex(t=>t.id===e);if(r>=0){let e=[...t];return e[r]=n,e}return[...t,n]})},[]),u=(0,c.useCallback)((e,t)=>{We(e)&&l(t,e)},[l]);return(0,c.useEffect)(()=>{let e=!1;return(async()=>{let n=await Ke();if(e)return;let i=new n(t);o.current=i,i.on(`open`,()=>{r(e=>e)}),i.on(`connection`,e=>{s.current[e.peer]=e,r(t=>Array.from(new Set([...t,e.peer]))),e.on(`data`,t=>{u(t,e.peer)}),e.on(`close`,()=>{delete s.current[e.peer],r(t=>t.filter(t=>t!==e.peer)),a(t=>t.filter(t=>t.id!==e.peer))})})})().catch(e=>{console.error(`[KaiRealms] Peer init failed:`,e)}),()=>{e=!0;try{o.current?.destroy()}catch(e){console.warn(`[KaiRealms] Peer destroy failed:`,e)}o.current=null,s.current={},r([]),a([])}},[t,u]),{sessionId:t,peers:n,sendState:(0,c.useCallback)(e=>{let t=Object.values(s.current);for(let n of t)n.open&&n.send(e)},[]),remoteStates:i}}var Je=800,Ye=500,Xe=Je/Ye,X=28,Z=10,Ze=360,Qe=10,Q=5236,$e=.08,et=22,tt=90,nt=80,rt=2,it=4,at=10,ot=3,st=1,ct=3,lt=1,ut=1,$=(e,t,n)=>en?n:e,dt=({glyphData:e,onExit:t})=>{let n=(0,c.useRef)(null),r=(0,c.useRef)(null),i=(0,c.useRef)(null),[a,o]=(0,c.useState)({w:Je,h:Ye}),s=(0,c.useRef)(a);(0,c.useEffect)(()=>{s.current=a},[a]);let[l,u]=(0,c.useState)(0),[d,f]=(0,c.useState)(0),[p,m]=(0,c.useState)(!1),[h,_]=(0,c.useState)(ot),[v,y]=(0,c.useState)(0),[b,x]=(0,c.useState)(0),[S,w]=(0,c.useState)(!1),T=(0,c.useRef)(performance.now()),{sendState:E,remoteStates:D}=qe(),O=(0,c.useRef)([]);(0,c.useEffect)(()=>{O.current=D??[]},[D]);let k=(0,c.useRef)(Je/2),A=(0,c.useRef)([]),j=(0,c.useRef)({}),M=(0,c.useRef)(null),N=(0,c.useRef)(null),P=(0,c.useRef)(null),F=(0,c.useRef)(0),I=(0,c.useRef)(0),L=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=n.current;if(!e)return;let t=new ResizeObserver(e=>{let t=e[0].contentRect,n=Math.max(320,Math.min(960,t.width));o({w:n,h:Math.round(n/Xe)})});return t.observe(e),()=>t.disconnect()},[]),(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n=Math.min(2,window.devicePixelRatio||1);e.style.width=`${a.w}px`,e.style.height=`${a.h}px`,e.width=Math.floor(a.w*n),e.height=Math.floor(a.h*n),t.setTransform(n,0,0,n,0,0),i.current=t,k.current=$(k.current,X,a.w-X)},[a]),(0,c.useEffect)(()=>{let e=e=>{j.current[e.key]=!0,e.key.toLowerCase()===`p`&&m(e=>!e),e.key.toLowerCase()===`r`&&S&&re()},t=e=>{j.current[e.key]=!1};return window.addEventListener(`keydown`,e),window.addEventListener(`keyup`,t),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`keyup`,t)}},[S]),(0,c.useEffect)(()=>{let e=r.current;if(!e)return;let t=t=>{let n=e.getBoundingClientRect();return $((t-n.left)/n.width*s.current.w,X,s.current.w-X)},n=!1,i=e=>{n=!0,k.current=t(e.clientX)},a=e=>{n&&(k.current=t(e.clientX))},o=()=>{n=!1};return e.addEventListener(`pointerdown`,i),e.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o),()=>{e.removeEventListener(`pointerdown`,i),e.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o)}},[]);let ee=e=>Math.max(0,e-T.current)%Q/Q,te=e=>{let t=Math.sin(Math.PI*e);return .65+.7*(t*t)},R=e=>{let{w:t}=s.current,n=performance.now(),r=Math.random()*(t-2*Z)+Z,i=-Z*2,a=(Math.random()-.5)*40,o=(e===`gold`?nt:tt)+v*(at*.2),c={id:`${e}-${n}-${Math.floor(Math.random()*1e6)}`,x:r,y:i,vx:a,baseVy:o,kind:e,bornAt:n},l=A.current.slice(-(et-1));l.push(c),A.current=l};C({onPulse:e=>{f(e),T.current=performance.now(),I.current+=1;for(let e=0;e{let n=P.current,r=k.current,i=d;if(!n||Math.abs(n.x-r)>=1||n.pulseIndex!==i||t-F.current>1e3/Qe){P.current={x:r,pulseIndex:i},F.current=t;try{E({id:`you`,x:r,pulseIndex:i,chakraDay:e.meta.chakraDay,glyph:e})}catch{}}};(0,c.useEffect)(()=>{let t=r.current,n=i.current;if(!t||!n)return;let a=!0,o=t=>{if(!a)return;M.current=requestAnimationFrame(o);let r=N.current??t,i=Math.min(.05,(t-r)/1e3);N.current=t;let{w:c,h:l}=s.current,d=l-X-10;if(!p&&!S){let e=j.current,n=!!(e.ArrowLeft||e.a||e.A),r=!!(e.ArrowRight||e.d||e.D);n&&(k.current=$(k.current-Ze*i,X,c-X)),r&&(k.current=$(k.current+Ze*i,X,c-X));let a=k.current,o=performance.now(),s=ee(o),f=te(s),p=[],m=0,h=0,g=0;for(let e=0;ec-Z&&(t.x=c-Z,t.vx=-Math.abs(t.vx)*.9);let r=t.x-a,u=t.y-d;if(Math.hypot(r,u)l+Z){g+=1;continue}p.push(t)}if(m>0||h>0){let e=m+h;u(t=>t+e),y(e=>{let t=e+1;return x(e=>t>e?t:e),t})}g>0&&(u(e=>Math.max(0,e-st*g)),y(0),_(e=>{let t=Math.max(0,e-g);return t===0&&w(!0),t})),A.current=p,ne(t)}ft(n,e,k.current,d,p||S,A.current,O.current,s.current,T.current,L.current)};return M.current=requestAnimationFrame(o),()=>{a=!1,M.current!==null&&cancelAnimationFrame(M.current),M.current=null,N.current=null}},[e,p,S,a.w,a.h]);let re=()=>{A.current=[],_(ot),y(0),x(e=>e),w(!1)},ie=(0,c.useMemo)(()=>({pulse:d,chakraDay:e?.meta?.chakraDay??`—`}),[d,e?.meta?.chakraDay]);return(0,g.jsxs)(`div`,{className:`realm-wrap`,ref:n,children:[(0,g.jsxs)(`div`,{className:`realm-hud`,children:[(0,g.jsxs)(`div`,{className:`hud-chip hud-chip--score`,title:`Banked Φ`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Φ`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:l})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Streak`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Streak`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:v})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Lives`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Lives`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:h})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Current Pulse`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Pulse`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:ie.pulse})]}),(0,g.jsxs)(`div`,{className:`hud-chip`,title:`Chakra Day`,children:[(0,g.jsx)(`span`,{className:`hud-chip__label`,children:`Day`}),(0,g.jsx)(`span`,{className:`hud-chip__value`,children:ie.chakraDay})]}),(0,g.jsx)(`button`,{className:`hud-button`,onClick:()=>m(e=>!e),"aria-pressed":p,title:`Pause (P)`,children:p?`Resume`:`Pause`})]}),(0,g.jsxs)(`div`,{className:`realm-canvas-wrap`,children:[(0,g.jsx)(`canvas`,{ref:r,className:`realm-canvas`,"aria-label":`Kai Realms Canvas`}),(p||S)&&(0,g.jsx)(`div`,{className:`realm-pause-overlay`,"aria-hidden":!0,children:(0,g.jsxs)(`div`,{className:`pause-card`,children:[(0,g.jsx)(`div`,{className:`pause-title`,children:S?`Game Over`:`Paused`}),(0,g.jsx)(`div`,{className:`pause-sub`,children:S?(0,g.jsxs)(g.Fragment,{children:[`Best Streak: `,(0,g.jsx)(`strong`,{children:b}),` — Press `,(0,g.jsx)(`kbd`,{children:`R`}),` to Restart`]}):(0,g.jsxs)(g.Fragment,{children:[`Press `,(0,g.jsx)(`kbd`,{children:`P`}),` or click Resume`]})}),S&&(0,g.jsx)(`button`,{className:`hud-button`,onClick:re,style:{marginTop:12},children:`Restart`})]})})]}),(0,g.jsx)(He,{currentPhi:l,onPhiChange:e=>u(e)}),(0,g.jsx)(`button`,{className:`exit-button`,onClick:t,children:`Exit Realm`})]})};function ft(e,t,n,r,i,a,o,s,c,l){let{w:u,h:d}=s,f=e.createLinearGradient(0,0,0,d);f.addColorStop(0,`#020211`),f.addColorStop(1,`#0b0f2a`),e.fillStyle=f,e.fillRect(0,0,u,d),e.save(),e.globalAlpha=.12;for(let t=0;t<40;t++){let n=t*197%u+t%3,r=t*127%d+t*11%7;e.fillStyle=`white`,e.fillRect(n,r,2,2)}e.restore(),pt(e,u,Math.max(36,Math.round(d*.06)),c);for(let t=0;t{let[n,r]=(0,c.useState)(null),i=(0,c.useRef)(null),a=(0,c.useRef)(null),o=(0,c.useCallback)(e=>r(e),[]),s=(0,c.useCallback)(()=>{r(null),t?.()},[t]);(0,c.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t?.()};return document.addEventListener(`keydown`,e),a.current?.focus(),()=>document.removeEventListener(`keydown`,e)},[t]),(0,c.useEffect)(()=>{let e=i.current;if(!e)return;let t=e=>e.stopPropagation();return e.addEventListener(`wheel`,t,{passive:!0}),()=>e.removeEventListener(`wheel`,t)},[]);let l=()=>t?.(),u=e=>e.stopPropagation();return(0,g.jsxs)(`div`,{className:`realms-backdrop realms-veil`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`kai-realms-title`,onMouseDown:l,children:[(0,g.jsx)(`div`,{className:`realms-stars`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`realms-halo realms-halo--1`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`realms-halo realms-halo--2`,"aria-hidden":!0}),(0,g.jsxs)(`div`,{ref:i,className:`realms-container glass-omni`,onMouseDown:u,role:`document`,children:[(0,g.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":!0}),(0,g.jsx)(`div`,{className:`phi-grid`,"aria-hidden":!0}),(0,g.jsxs)(`header`,{className:`realms-header`,children:[(0,g.jsx)(`button`,{ref:a,type:`button`,className:`realms-close auric-btn`,"aria-label":`Close Kai Realms`,onClick:e=>{e.stopPropagation(),t?.()},onMouseDown:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t?.())},children:(0,g.jsx)(e,{size:20,"aria-hidden":!0})}),(0,g.jsx)(`div`,{className:`header-seals`,"aria-hidden":!0,children:(0,g.jsxs)(`div`,{className:`seal-emblem`,children:[(0,g.jsx)(`div`,{className:`seal-ring`}),(0,g.jsx)(`div`,{className:`seal-ring seal-ring--inner`}),(0,g.jsx)(`div`,{className:`seal-core`})]})}),(0,g.jsx)(`h2`,{id:`kai-realms-title`,className:`sr-only`,children:`Kai Realms — Sigil Gate`})]}),(0,g.jsx)(`main`,{className:`realms-body`,children:n?(0,g.jsx)(`div`,{className:`realm-stage`,children:(0,g.jsx)(dt,{glyphData:n,onExit:s})}):(0,g.jsx)(`div`,{className:`portal-stage`,children:(0,g.jsx)(v,{onEnter:o})})}),(0,g.jsx)(`footer`,{className:`realms-footer`,"aria-hidden":!0,children:(0,g.jsx)(`div`,{className:`footer-center`,style:{margin:`0 auto`},children:(0,g.jsx)(gt,{})})})]})]})};function gt(){return(0,g.jsxs)(`svg`,{className:`seal-coin`,width:`56`,height:`56`,viewBox:`0 0 56 56`,"aria-hidden":!0,children:[(0,g.jsxs)(`defs`,{children:[(0,g.jsxs)(`radialGradient`,{id:`coinGlowRealms`,cx:`50%`,cy:`50%`,r:`50%`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#ffffff`,stopOpacity:`0.9`}),(0,g.jsx)(`stop`,{offset:`40%`,stopColor:`#ffd86b`,stopOpacity:`0.75`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#ffd86b`,stopOpacity:`0.15`})]}),(0,g.jsxs)(`linearGradient`,{id:`coinEdgeRealms`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,g.jsx)(`stop`,{offset:`0%`,stopColor:`#00ffd0`,stopOpacity:`0.8`}),(0,g.jsx)(`stop`,{offset:`100%`,stopColor:`#8a2be2`,stopOpacity:`0.8`})]})]}),(0,g.jsx)(`circle`,{cx:`28`,cy:`28`,r:`26`,fill:`url(#coinGlowRealms)`,stroke:`url(#coinEdgeRealms)`,strokeWidth:`1.5`}),(0,g.jsxs)(`g`,{className:`seal-coin__rotor`,children:[(0,g.jsx)(`circle`,{cx:`28`,cy:`28`,r:`18`,fill:`none`,stroke:`url(#coinEdgeRealms)`,strokeWidth:`1.25`}),(0,g.jsxs)(`g`,{stroke:`rgba(255,255,255,0.35)`,strokeWidth:`0.6`,children:[(0,g.jsx)(`line`,{x1:`28`,y1:`10`,x2:`28`,y2:`46`}),(0,g.jsx)(`line`,{x1:`10`,y1:`28`,x2:`46`,y2:`28`}),(0,g.jsx)(`line`,{x1:`15`,y1:`15`,x2:`41`,y2:`41`}),(0,g.jsx)(`line`,{x1:`41`,y1:`15`,x2:`15`,y2:`41`})]})]}),(0,g.jsx)(`circle`,{className:`seal-coin__core`,cx:`28`,cy:`28`,r:`6.5`})]})}export{ht as default}; \ No newline at end of file diff --git a/dist/assets/KaiVohApp-6rNHpMY-.js b/dist/assets/KaiVohApp-DyV7Mxew.js similarity index 99% rename from dist/assets/KaiVohApp-6rNHpMY-.js rename to dist/assets/KaiVohApp-DyV7Mxew.js index 8c60eb376..bbcea1606 100644 --- a/dist/assets/KaiVohApp-6rNHpMY-.js +++ b/dist/assets/KaiVohApp-DyV7Mxew.js @@ -1,4 +1,4 @@ -import{Br as e,D as t,Gn as n,Gr as r,Ht as i,Jr as a,Kt as o,Pn as s,Ut as c,Wr as l,Xr as u,Yr as d,_r as f,_t as p,at as m,c as h,ct as g,dr as _,dt as v,ei as y,f as b,fr as x,ft as S,gr as C,gt as w,h as T,hr as E,ht as D,ir as O,it as k,jt as A,l as j,lt as ee,m as te,mi as M,mr as N,mt as ne,nr as P,o as re,ot as F,p as I,pi as L,pr as R,pt as z,rr as ie,s as ae,sr as B,st as oe,u as V,ur as se,ut as ce,vr as le,yi as ue,yr as de}from"./index-BRD6BMdN.js";import{r as H,t as fe}from"./webauthnKAS-B61nfyUR.js";import{n as pe}from"./SigilAuthContext-D65FNUcD.js";import{d as U,t as me}from"./ticker-Dx-CZn_P.js";import{i as W,n as he,r as ge,t as _e}from"./sessionStorage-CKL6_xzc.js";import{i as ve,r as ye}from"./postSeal-DE4BCNSp.js";import{t as be}from"./VerifierFrame-_NAWoYos.js";import"./browser-CcokOQRV.js";var G=ue(L(),1);const xe=(0,G.createContext)(void 0);var K=ue(o(),1);function Se({children:e}){let[t,n]=(0,G.useState)(()=>ge());(0,G.useEffect)(()=>{t?W(t):he()},[t]),(0,G.useEffect)(()=>{let e=e=>{e.key!==null&&e.key===`kai.voh.session.v1`&&n(ge())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let r=(0,G.useMemo)(()=>({session:t,setSession:e=>n(e),clearSession:()=>n(null)}),[t]);return(0,K.jsx)(xe.Provider,{value:r,children:e})}function q(){let e=(0,G.useContext)(xe);if(!e)throw Error(`useSession must be used within a SessionProvider`);return e}var Ce=[`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`,`video/mp4;codecs=h264,aac`,`video/mp4`],J=typeof window<`u`&&`MediaRecorder`in window;async function we(e){let t=await crypto.subtle.digest(`SHA-256`,e),n=new Uint8Array(t),r=``;for(let e=0;eTe(),[]);(0,G.useEffect)(()=>{if(t)return(async()=>{s(null),l(!0);try{await j()}catch(e){s(e instanceof Error?e.message:`Failed to access camera.`)}finally{l(!1)}})(),()=>{ee()}},[t,u,f]),(0,G.useEffect)(()=>{t&&te().catch(()=>_(!1))},[t,u]);async function j(){ee();let e={audio:{echoCancellation:!0,noiseSuppression:!0},video:{facingMode:u,width:{ideal:1080},height:{ideal:1920},frameRate:{ideal:30,max:60}}},t=await navigator.mediaDevices.getUserMedia(e);w.current=t,T.current&&(T.current.srcObject=t,T.current.muted=!0,await T.current.play().catch(()=>{})),await M(m&&g)}function ee(){if(I(!0),T.current&&(T.current.pause(),T.current.srcObject=null),w.current)for(let e of w.current.getTracks())e.stop();w.current=null,h(!1),y(!1),x(0),C(0),k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)}async function te(){let e=w.current;if(!e){_(!1);return}let[t]=e.getVideoTracks();if(!t){_(!1);return}let n=t.getCapabilities?.()??{};_(!!(typeof n.torch==`boolean`&&n.torch)&&u===`environment`)}async function M(e){let t=w.current;if(!t)return;let[n]=t.getVideoTracks();if(!(!n||!n.applyConstraints))try{g&&u===`environment`&&await n.applyConstraints({advanced:[{torch:e}]})}catch{}}function N(){d(e=>e===`user`?`environment`:`user`)}function ne(){p(e=>!e)}async function P(){if(!g)return;let e=!m;h(e),await M(e)}function re(){if(!v)return;let e=performance.now()-O.current;if(C(e),x(Math.min(1,e/i)),e>=i){I(!1);return}k.current=requestAnimationFrame(re)}function F(){if(!J){s(`MediaRecorder is not supported on this browser.`);return}if(v)return;s(null);let e=w.current;if(!e){s(`No camera stream.`);return}for(let t of e.getAudioTracks())t.enabled=!f;let t=A??``,n;try{n=t?new MediaRecorder(e,{mimeType:t,videoBitsPerSecond:35e5}):new MediaRecorder(e)}catch{n=new MediaRecorder(e)}E.current=n,D.current=[],n.ondataavailable=e=>{e.data&&e.data.size>0&&D.current.push(e.data)},n.onstop=()=>{L()},n.start(250),y(!0),O.current=performance.now(),k.current=requestAnimationFrame(re)}function I(e){if(!v)return;let t=E.current;if(t){try{t.state!==`inactive`&&t.stop()}catch{}y(!1),k.current!==null&&(cancelAnimationFrame(k.current),k.current=null),e&&(D.current=[],x(0),C(0))}}async function L(){let e=D.current;if(D.current=[],!e.length)return;let t=Math.max(0,S),n=E.current?.mimeType||A||`video/webm`,i=new Blob(e,{type:n}),a=Date.now(),{width:o,height:s,thumbnailDataUrl:c}=await R(i),l=await we(await i.arrayBuffer()),u=`story_${a}.${n.includes(`mp4`)?`mp4`:`webm`}`;r({blob:i,file:new File([i],u,{type:n,lastModified:a}),mimeType:n,durationMs:t,width:o,height:s,thumbnailDataUrl:c,sha256:l,createdAt:a})}async function R(e){let t=URL.createObjectURL(e);try{let e=document.createElement(`video`);e.src=t,e.muted=!0,await e.play().catch(()=>void 0),await new Promise(t=>{let n=()=>{e.pause(),e.currentTime=0},r=()=>{n(),t()};e.onloadeddata=r,setTimeout(r,250)});let n=e.videoWidth||1080,r=e.videoHeight||1920,i=document.createElement(`canvas`);i.width=n,i.height=r;let a=i.getContext(`2d`);return a&&a.drawImage(e,0,0,n,r),{width:n,height:r,thumbnailDataUrl:i.toDataURL(`image/png`,.9)}}finally{URL.revokeObjectURL(t)}}function z(){v||F()}function ie(){v&&I(!1)}function ae(){v?I(!1):F()}return t?(0,K.jsxs)(`div`,{className:`story-rec-overlay`,role:`dialog`,"aria-modal":`true`,"aria-label":`Story recorder`,children:[(0,K.jsx)(`div`,{className:`story-rec-video-wrap`,children:(0,K.jsx)(`video`,{ref:T,className:`story-rec-video ${u===`user`?`mirror`:``}`,playsInline:!0})}),(0,K.jsxs)(`div`,{className:`story-rec-topbar`,children:[(0,K.jsx)(`button`,{type:`button`,className:`story-btn top left`,"aria-label":`Close`,onClick:()=>{ee(),n()},children:`✕`}),(0,K.jsx)(`div`,{className:`story-top-center`,children:(0,K.jsxs)(`div`,{className:`story-timer mono`,children:[De(S),` / `,De(i)]})}),(0,K.jsxs)(`div`,{className:`story-top-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`story-btn ${f?`active`:``}`,"aria-pressed":f,"aria-label":f?`Unmute microphone`:`Mute microphone`,onClick:ne,title:f?`Unmute mic`:`Mute mic`,children:f?`🔇`:`🎙️`}),(0,K.jsx)(`button`,{type:`button`,className:`story-btn ${u===`environment`&&g?``:`disabled`}`,disabled:!(u===`environment`&&g),onClick:()=>void P(),"aria-label":`Toggle torch`,title:g?m?`Torch on`:`Torch off`:`Torch not supported`,children:m?`🔦`:`💡`}),(0,K.jsx)(`button`,{type:`button`,className:`story-btn`,"aria-label":`Flip camera`,onClick:N,title:`Flip camera`,children:`🔁`})]})]}),(0,K.jsxs)(`div`,{className:`story-rec-bottombar`,children:[(0,K.jsx)(`div`,{className:`record-wrap`,children:(0,K.jsxs)(`button`,{type:`button`,className:`record-btn ${v?`recording`:``}`,"aria-pressed":v,"aria-label":v?`Stop recording`:`Start recording`,onClick:ae,onPointerDown:z,onPointerUp:ie,onPointerLeave:ie,children:[(0,K.jsx)(`span`,{className:`progress-ring`,style:{background:`conic-gradient(currentColor ${b*360}deg, transparent 0)`}}),(0,K.jsx)(`span`,{className:`dot`})]})}),o&&(0,K.jsx)(`div`,{className:`story-rec-error`,children:o}),c&&(0,K.jsx)(`div`,{className:`story-rec-hint`,children:`Initializing camera…`})]})]}):null}function De(e){let t=Math.floor(e/1e3);return`${Math.floor(t/60).toString().padStart(2,`0`)}:${(t%60).toString().padStart(2,`0`)}`}var Y={phiKey:[`userPhiKey`,`phiKey`,`phikey`,`ΦKey`,`walletPhiKey`],kaiSig:[`kaiSignature`,`kaiSig`,`ksig`,`ΣSig`,`sig`,`signature`],sigilId:[`sigilId`,`sigilID`,`glyphId`,`glyphID`,`sigil_id`,`glyph_id`],url:[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`url`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`link`,`href`]};function Oe(e){if(typeof e!=`string`||!e.trim())return!1;try{let t=new URL(e,globalThis.location?.origin??`https://example.org`);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}}function X(e,t){if(typeof e!=`object`||!e)return;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim())return t.trim()}let r=n.meta;if(typeof r==`object`&&r){let e=r;for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim()}}}function ke(e){return e.replace(/^$/,``).trim()}function Ae(e){let t=e.trim();if(!t)return;try{let e=JSON.parse(t);if(typeof e==`object`&&e)return e}catch{}let n=t.match(/\{[\s\S]*\}/);if(n)try{let e=JSON.parse(n[0]);if(typeof e==`object`&&e)return e}catch{}}function je(e,t){let n=RegExp(`${t}"?\\s*[:=]\\s*"?([^"\\n\\r<>{}]+)"?`,`i`),r=e.match(n);if(r)return(r[1]??``).trim()||void 0}function Me(e){let t={};for(let n of Y.phiKey){let r=je(e,n);if(r){t.userPhiKey=r;break}}for(let n of Y.kaiSig){let r=je(e,n);if(r){t.kaiSignature=r;break}}for(let n of Y.sigilId){let r=je(e,n);if(r){t.sigilId=r;break}}for(let n of Y.url){let r=je(e,n);if(r&&Oe(r))return t.actionUrl=r,t}let n=e.match(/https?:\/\/[^\s"'<>)#]+/i);return n&&Oe(n[0])&&(t.actionUrl=n[0]),t}function Ne(e,t){return{userPhiKey:e.userPhiKey??t.userPhiKey,kaiSignature:e.kaiSignature??t.kaiSignature,sigilId:e.sigilId??t.sigilId,actionUrl:e.actionUrl??t.actionUrl,meta:e.meta??t.meta}}function Pe(e){let t=(e??``).trim();if(!t)return{};try{let e=new DOMParser().parseFromString(t,`image/svg+xml`),n=e.getElementsByTagName(`parsererror`);if(n&&n.length>0)return Me(t);let r=e.documentElement,i={};if(r&&r.attributes)for(let e of Array.from(r.attributes))i[e.name]=e.value;let a={userPhiKey:X(i,Y.phiKey),kaiSignature:X(i,Y.kaiSig),sigilId:X(i,Y.sigilId),actionUrl:(()=>{let e=X(i,Y.url);return e&&Oe(e)?e:void 0})(),meta:void 0},o=Array.from(e.getElementsByTagName(`metadata`));for(let e of o){let t=ke((e.textContent??``).trim());if(!t)continue;let n=Ae(t);if(n){let e={userPhiKey:X(n,Y.phiKey),kaiSignature:X(n,Y.kaiSig),sigilId:X(n,Y.sigilId),actionUrl:(()=>{let e=X(n,Y.url);return e&&Oe(e)?e:void 0})(),meta:n};if(a=Ne(a,e),a.userPhiKey&&a.kaiSignature)return a}else a=Ne(a,Me(t))}for(let t of Array.from(e.getElementsByTagName(`desc`))){let e=ke((t.textContent??``).trim());if(!e)continue;let n=Ae(e);if(n){let e={userPhiKey:X(n,Y.phiKey),kaiSignature:X(n,Y.kaiSig),sigilId:X(n,Y.sigilId),actionUrl:(()=>{let e=X(n,Y.url);return e&&Oe(e)?e:void 0})(),meta:n};a=Ne(a,e)}else a=Ne(a,Me(e));if(a.userPhiKey&&a.kaiSignature)return a}for(let t of Array.from(e.getElementsByTagName(`a`))){let e=t.getAttribute(`href`)||t.getAttribute(`xlink:href`);if(e&&Oe(e)){a.actionUrl=a.actionUrl??e;break}}return(!a.userPhiKey||!a.kaiSignature)&&(a=Ne(a,Me(t))),a}catch{return Me(t)}}var Fe=new TextEncoder;function Ie(){if(typeof crypto>`u`||!crypto.subtle)throw Error(`WebCrypto subtle unavailable`);return crypto.subtle}function Le(e){if(e.buffer instanceof ArrayBuffer)return e;let t=new Uint8Array(e.byteLength);return t.set(e),t}function Re(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`).trim();if(!/^[A-Za-z0-9+/]*={0,2}$/.test(t))throw Error(`Invalid base64/base64url`);let n=(4-t.length%4)%4,r=t+`=`.repeat(n),i=new Int16Array(128).fill(-1);for(let e=0;e<64;e++)i[`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charCodeAt(e)]=e;let a=Math.floor(r.length*3/4)-(r.endsWith(`==`)?2:r.endsWith(`=`)?1:0),o=new Uint8Array(a),s=0;for(let e=0;e>>16&255),s>>8&255),s>>18&63]+t[r>>>12&63]+t[r>>>6&63]+t[r&63])}let a=r-i;if(a===1){let r=e[i]<<16;n.push(t[r>>>18&63]+t[r>>>12&63]+`==`)}else if(a===2){let r=e[i]<<16|e[i+1]<<8;n.push(t[r>>>18&63]+t[r>>>12&63]+t[r>>>6&63]+`=`)}return n.join(``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function Be(e){let t=e.trim().toLowerCase();if(!/^[0-9a-f]+$/.test(t)||t.length%2!=0)throw Error(`Invalid hex`);let n=new Uint8Array(t.length/2);for(let e=0;e=32&&t.length%2==0&&/^[0-9a-fA-F]+$/.test(t)}function He(e){let t=e.trim();return t.length>=16&&/^[A-Za-z0-9\-_]+$/.test(t)}function Ue(e){let t=e.trim();if(!t)throw Error(`Empty kaiSignature`);if(Ve(t))return Be(t);if(He(t))try{return Re(t)}catch{}return Le(Fe.encode(t))}async function We(e){let t=Ie(),n=await t.importKey(`raw`,e.ikm,{name:`HKDF`},!1,[`deriveBits`]),r=await t.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:e.salt,info:e.info},n,e.bits);return new Uint8Array(r)}async function Ge(e){let t=Le(Ue(e.baseKaiSignature)),n=Le(Re(e.salt_b64url)),r=(e.context??`KaiVoh.deriveKaiSignature.v1`).trim();return await We({ikm:t,salt:n,info:Le(Fe.encode(r)),bits:256})}async function Ke(e){return ze(await Ge(e))}function qe(){return(0,K.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`ico`,"aria-hidden":`true`,focusable:`false`,children:[(0,K.jsx)(`rect`,{x:`3`,y:`6`,width:`14`,height:`12`,rx:`3`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`circle`,{cx:`10`,cy:`12`,r:`3`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`path`,{d:`M17 9l4-2v10l-4-2z`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`circle`,{cx:`18.5`,cy:`5.5`,r:`2.5`,fill:`currentColor`})]})}function Je(){return(0,K.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`ico`,"aria-hidden":`true`,focusable:`false`,children:[(0,K.jsx)(`path`,{d:`M3 6h18M9 6V4h6v2M7 6l1 14h8l1-14`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`path`,{d:`M10 10v6M14 10v6`,stroke:`currentColor`,strokeWidth:`2`})]})}var Ye=6e3,Xe=1024,Ze=1024*Xe,Qe=e=>e>=Ze?`${(e/Ze).toFixed(2)} MB`:e>=Xe?`${(e/Xe).toFixed(2)} KB`:`${e} B`,$e=(e,t=8,n=6)=>e.length<=t+n?e:`${e.slice(0,t)}…${e.slice(-n)}`,et=e=>{if(typeof e!=`string`||!e)return!1;try{let t=new URL(e,globalThis.location?.origin??`https://example.org`);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}};function tt(e){try{let t=new URL(e,globalThis.location?.origin??`https://example.org`),n=new URLSearchParams(t.hash.replace(/^#/,``)).has(`t`),r=new URLSearchParams(t.search).has(`p`),i=t.pathname,a=/^\/(?:stream|feed)\/p\/[^/]+$/.test(i),o=/^\/p~[^/?#]+$/.test(i);return n||r||a||o}catch{return!1}}function nt(e){let t=new Uint8Array(e),n=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,r=[],i=t.length,a=0;for(;a+2>>18&63]+n[e>>>12&63]+n[e>>>6&63]+n[e&63])}let o=i-a;if(o===1){let e=t[a]<<16;r.push(n[e>>>18&63]+n[e>>>12&63]+`==`)}else if(o===2){let e=t[a]<<16|t[a+1]<<8;r.push(n[e>>>18&63]+n[e>>>12&63]+n[e>>>6&63]+`=`)}return r.join(``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function Z(e,t){if(typeof e!=`object`||!e)return;let n=e,r=n[t];if(typeof r==`string`)return r;let i=n.meta;if(typeof i==`object`&&i){let e=i[t];if(typeof e==`string`)return e}}function rt(e,t){if(typeof e!=`object`||!e)return;let n=e,r=n[t];if(typeof r==`number`&&Number.isFinite(r))return r;let i=n.meta;if(typeof i==`object`&&i){let e=i[t];if(typeof e==`number`&&Number.isFinite(e))return e}}function it(e,t){if(!e)return;let n=[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`url`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`link`,`href`];if(t)for(let e of n){let n=t[e];if(et(n))return n}try{let t=new DOMParser().parseFromString(e,`image/svg+xml`);for(let e of Array.from(t.getElementsByTagName(`metadata`))){let t=(e.textContent??``).trim();if(!t)continue;let r=t.replace(/^$/,``);try{let e=JSON.parse(r);if(typeof e==`object`&&e)for(let t of n){let n=e[t];if(et(n))return n}}catch{let e=r.match(/https?:\/\/[^\s"'<>)#]+/i);if(e&&et(e[0]))return e[0]}}for(let e of Array.from(t.getElementsByTagName(`a`))){let t=e.getAttribute(`href`)||e.getAttribute(`xlink:href`);if(et(t))return t}}catch{}}async function at(e,t,n={}){let r=n.cacheName??`sigil-attachments-v1`,i=(n.pathPrefix??`/att/`).replace(/\/+$/,``)+`/`;try{if(!(`caches`in globalThis)||typeof caches.open!=`function`)return;let n=await caches.open(r),a=`${i}${e}`;return await n.put(new Request(a,{method:`GET`}),new Response(t,{headers:{"Content-Type":t.type||`application/octet-stream`}})),a}catch{return}}function ot(e){let t=Math.floor(e/1e3);return`${Math.floor(t/60).toString().padStart(2,`0`)}:${(t%60).toString().padStart(2,`0`)}`}function st(e){let t=e.indexOf(` +import{Br as e,D as t,Gn as n,Gr as r,Ht as i,Jr as a,Kt as o,Pn as s,Ut as c,Wr as l,Xr as u,Yr as d,_r as f,_t as p,at as m,c as h,ct as g,dr as _,dt as v,ei as y,f as b,fr as x,ft as S,gr as C,gt as w,h as T,hr as E,ht as D,ir as O,it as k,jt as A,l as j,lt as ee,m as te,mi as M,mr as N,mt as ne,nr as P,o as re,ot as F,p as I,pi as L,pr as R,pt as z,rr as ie,s as ae,sr as B,st as oe,u as V,ur as se,ut as ce,vr as le,yi as ue,yr as de}from"./index-DW_ZnoNU.js";import{r as H,t as fe}from"./webauthnKAS-C2GwAz2K.js";import{n as pe}from"./SigilAuthContext-rbXUYZ1p.js";import{d as U,t as me}from"./ticker-ESiwEkfY.js";import{i as W,n as he,r as ge,t as _e}from"./sessionStorage-CKL6_xzc.js";import{i as ve,r as ye}from"./postSeal-DE4BCNSp.js";import{t as be}from"./VerifierFrame-B2gPiRrx.js";import"./browser-CIIQI5ZG.js";var G=ue(L(),1);const xe=(0,G.createContext)(void 0);var K=ue(o(),1);function Se({children:e}){let[t,n]=(0,G.useState)(()=>ge());(0,G.useEffect)(()=>{t?W(t):he()},[t]),(0,G.useEffect)(()=>{let e=e=>{e.key!==null&&e.key===`kai.voh.session.v1`&&n(ge())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let r=(0,G.useMemo)(()=>({session:t,setSession:e=>n(e),clearSession:()=>n(null)}),[t]);return(0,K.jsx)(xe.Provider,{value:r,children:e})}function q(){let e=(0,G.useContext)(xe);if(!e)throw Error(`useSession must be used within a SessionProvider`);return e}var Ce=[`video/webm;codecs=vp9,opus`,`video/webm;codecs=vp8,opus`,`video/webm`,`video/mp4;codecs=h264,aac`,`video/mp4`],J=typeof window<`u`&&`MediaRecorder`in window;async function we(e){let t=await crypto.subtle.digest(`SHA-256`,e),n=new Uint8Array(t),r=``;for(let e=0;eTe(),[]);(0,G.useEffect)(()=>{if(t)return(async()=>{s(null),l(!0);try{await j()}catch(e){s(e instanceof Error?e.message:`Failed to access camera.`)}finally{l(!1)}})(),()=>{ee()}},[t,u,f]),(0,G.useEffect)(()=>{t&&te().catch(()=>_(!1))},[t,u]);async function j(){ee();let e={audio:{echoCancellation:!0,noiseSuppression:!0},video:{facingMode:u,width:{ideal:1080},height:{ideal:1920},frameRate:{ideal:30,max:60}}},t=await navigator.mediaDevices.getUserMedia(e);w.current=t,T.current&&(T.current.srcObject=t,T.current.muted=!0,await T.current.play().catch(()=>{})),await M(m&&g)}function ee(){if(I(!0),T.current&&(T.current.pause(),T.current.srcObject=null),w.current)for(let e of w.current.getTracks())e.stop();w.current=null,h(!1),y(!1),x(0),C(0),k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)}async function te(){let e=w.current;if(!e){_(!1);return}let[t]=e.getVideoTracks();if(!t){_(!1);return}let n=t.getCapabilities?.()??{};_(!!(typeof n.torch==`boolean`&&n.torch)&&u===`environment`)}async function M(e){let t=w.current;if(!t)return;let[n]=t.getVideoTracks();if(!(!n||!n.applyConstraints))try{g&&u===`environment`&&await n.applyConstraints({advanced:[{torch:e}]})}catch{}}function N(){d(e=>e===`user`?`environment`:`user`)}function ne(){p(e=>!e)}async function P(){if(!g)return;let e=!m;h(e),await M(e)}function re(){if(!v)return;let e=performance.now()-O.current;if(C(e),x(Math.min(1,e/i)),e>=i){I(!1);return}k.current=requestAnimationFrame(re)}function F(){if(!J){s(`MediaRecorder is not supported on this browser.`);return}if(v)return;s(null);let e=w.current;if(!e){s(`No camera stream.`);return}for(let t of e.getAudioTracks())t.enabled=!f;let t=A??``,n;try{n=t?new MediaRecorder(e,{mimeType:t,videoBitsPerSecond:35e5}):new MediaRecorder(e)}catch{n=new MediaRecorder(e)}E.current=n,D.current=[],n.ondataavailable=e=>{e.data&&e.data.size>0&&D.current.push(e.data)},n.onstop=()=>{L()},n.start(250),y(!0),O.current=performance.now(),k.current=requestAnimationFrame(re)}function I(e){if(!v)return;let t=E.current;if(t){try{t.state!==`inactive`&&t.stop()}catch{}y(!1),k.current!==null&&(cancelAnimationFrame(k.current),k.current=null),e&&(D.current=[],x(0),C(0))}}async function L(){let e=D.current;if(D.current=[],!e.length)return;let t=Math.max(0,S),n=E.current?.mimeType||A||`video/webm`,i=new Blob(e,{type:n}),a=Date.now(),{width:o,height:s,thumbnailDataUrl:c}=await R(i),l=await we(await i.arrayBuffer()),u=`story_${a}.${n.includes(`mp4`)?`mp4`:`webm`}`;r({blob:i,file:new File([i],u,{type:n,lastModified:a}),mimeType:n,durationMs:t,width:o,height:s,thumbnailDataUrl:c,sha256:l,createdAt:a})}async function R(e){let t=URL.createObjectURL(e);try{let e=document.createElement(`video`);e.src=t,e.muted=!0,await e.play().catch(()=>void 0),await new Promise(t=>{let n=()=>{e.pause(),e.currentTime=0},r=()=>{n(),t()};e.onloadeddata=r,setTimeout(r,250)});let n=e.videoWidth||1080,r=e.videoHeight||1920,i=document.createElement(`canvas`);i.width=n,i.height=r;let a=i.getContext(`2d`);return a&&a.drawImage(e,0,0,n,r),{width:n,height:r,thumbnailDataUrl:i.toDataURL(`image/png`,.9)}}finally{URL.revokeObjectURL(t)}}function z(){v||F()}function ie(){v&&I(!1)}function ae(){v?I(!1):F()}return t?(0,K.jsxs)(`div`,{className:`story-rec-overlay`,role:`dialog`,"aria-modal":`true`,"aria-label":`Story recorder`,children:[(0,K.jsx)(`div`,{className:`story-rec-video-wrap`,children:(0,K.jsx)(`video`,{ref:T,className:`story-rec-video ${u===`user`?`mirror`:``}`,playsInline:!0})}),(0,K.jsxs)(`div`,{className:`story-rec-topbar`,children:[(0,K.jsx)(`button`,{type:`button`,className:`story-btn top left`,"aria-label":`Close`,onClick:()=>{ee(),n()},children:`✕`}),(0,K.jsx)(`div`,{className:`story-top-center`,children:(0,K.jsxs)(`div`,{className:`story-timer mono`,children:[De(S),` / `,De(i)]})}),(0,K.jsxs)(`div`,{className:`story-top-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`story-btn ${f?`active`:``}`,"aria-pressed":f,"aria-label":f?`Unmute microphone`:`Mute microphone`,onClick:ne,title:f?`Unmute mic`:`Mute mic`,children:f?`🔇`:`🎙️`}),(0,K.jsx)(`button`,{type:`button`,className:`story-btn ${u===`environment`&&g?``:`disabled`}`,disabled:!(u===`environment`&&g),onClick:()=>void P(),"aria-label":`Toggle torch`,title:g?m?`Torch on`:`Torch off`:`Torch not supported`,children:m?`🔦`:`💡`}),(0,K.jsx)(`button`,{type:`button`,className:`story-btn`,"aria-label":`Flip camera`,onClick:N,title:`Flip camera`,children:`🔁`})]})]}),(0,K.jsxs)(`div`,{className:`story-rec-bottombar`,children:[(0,K.jsx)(`div`,{className:`record-wrap`,children:(0,K.jsxs)(`button`,{type:`button`,className:`record-btn ${v?`recording`:``}`,"aria-pressed":v,"aria-label":v?`Stop recording`:`Start recording`,onClick:ae,onPointerDown:z,onPointerUp:ie,onPointerLeave:ie,children:[(0,K.jsx)(`span`,{className:`progress-ring`,style:{background:`conic-gradient(currentColor ${b*360}deg, transparent 0)`}}),(0,K.jsx)(`span`,{className:`dot`})]})}),o&&(0,K.jsx)(`div`,{className:`story-rec-error`,children:o}),c&&(0,K.jsx)(`div`,{className:`story-rec-hint`,children:`Initializing camera…`})]})]}):null}function De(e){let t=Math.floor(e/1e3);return`${Math.floor(t/60).toString().padStart(2,`0`)}:${(t%60).toString().padStart(2,`0`)}`}var Y={phiKey:[`userPhiKey`,`phiKey`,`phikey`,`ΦKey`,`walletPhiKey`],kaiSig:[`kaiSignature`,`kaiSig`,`ksig`,`ΣSig`,`sig`,`signature`],sigilId:[`sigilId`,`sigilID`,`glyphId`,`glyphID`,`sigil_id`,`glyph_id`],url:[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`url`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`link`,`href`]};function Oe(e){if(typeof e!=`string`||!e.trim())return!1;try{let t=new URL(e,globalThis.location?.origin??`https://example.org`);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}}function X(e,t){if(typeof e!=`object`||!e)return;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim())return t.trim()}let r=n.meta;if(typeof r==`object`&&r){let e=r;for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim()}}}function ke(e){return e.replace(/^$/,``).trim()}function Ae(e){let t=e.trim();if(!t)return;try{let e=JSON.parse(t);if(typeof e==`object`&&e)return e}catch{}let n=t.match(/\{[\s\S]*\}/);if(n)try{let e=JSON.parse(n[0]);if(typeof e==`object`&&e)return e}catch{}}function je(e,t){let n=RegExp(`${t}"?\\s*[:=]\\s*"?([^"\\n\\r<>{}]+)"?`,`i`),r=e.match(n);if(r)return(r[1]??``).trim()||void 0}function Me(e){let t={};for(let n of Y.phiKey){let r=je(e,n);if(r){t.userPhiKey=r;break}}for(let n of Y.kaiSig){let r=je(e,n);if(r){t.kaiSignature=r;break}}for(let n of Y.sigilId){let r=je(e,n);if(r){t.sigilId=r;break}}for(let n of Y.url){let r=je(e,n);if(r&&Oe(r))return t.actionUrl=r,t}let n=e.match(/https?:\/\/[^\s"'<>)#]+/i);return n&&Oe(n[0])&&(t.actionUrl=n[0]),t}function Ne(e,t){return{userPhiKey:e.userPhiKey??t.userPhiKey,kaiSignature:e.kaiSignature??t.kaiSignature,sigilId:e.sigilId??t.sigilId,actionUrl:e.actionUrl??t.actionUrl,meta:e.meta??t.meta}}function Pe(e){let t=(e??``).trim();if(!t)return{};try{let e=new DOMParser().parseFromString(t,`image/svg+xml`),n=e.getElementsByTagName(`parsererror`);if(n&&n.length>0)return Me(t);let r=e.documentElement,i={};if(r&&r.attributes)for(let e of Array.from(r.attributes))i[e.name]=e.value;let a={userPhiKey:X(i,Y.phiKey),kaiSignature:X(i,Y.kaiSig),sigilId:X(i,Y.sigilId),actionUrl:(()=>{let e=X(i,Y.url);return e&&Oe(e)?e:void 0})(),meta:void 0},o=Array.from(e.getElementsByTagName(`metadata`));for(let e of o){let t=ke((e.textContent??``).trim());if(!t)continue;let n=Ae(t);if(n){let e={userPhiKey:X(n,Y.phiKey),kaiSignature:X(n,Y.kaiSig),sigilId:X(n,Y.sigilId),actionUrl:(()=>{let e=X(n,Y.url);return e&&Oe(e)?e:void 0})(),meta:n};if(a=Ne(a,e),a.userPhiKey&&a.kaiSignature)return a}else a=Ne(a,Me(t))}for(let t of Array.from(e.getElementsByTagName(`desc`))){let e=ke((t.textContent??``).trim());if(!e)continue;let n=Ae(e);if(n){let e={userPhiKey:X(n,Y.phiKey),kaiSignature:X(n,Y.kaiSig),sigilId:X(n,Y.sigilId),actionUrl:(()=>{let e=X(n,Y.url);return e&&Oe(e)?e:void 0})(),meta:n};a=Ne(a,e)}else a=Ne(a,Me(e));if(a.userPhiKey&&a.kaiSignature)return a}for(let t of Array.from(e.getElementsByTagName(`a`))){let e=t.getAttribute(`href`)||t.getAttribute(`xlink:href`);if(e&&Oe(e)){a.actionUrl=a.actionUrl??e;break}}return(!a.userPhiKey||!a.kaiSignature)&&(a=Ne(a,Me(t))),a}catch{return Me(t)}}var Fe=new TextEncoder;function Ie(){if(typeof crypto>`u`||!crypto.subtle)throw Error(`WebCrypto subtle unavailable`);return crypto.subtle}function Le(e){if(e.buffer instanceof ArrayBuffer)return e;let t=new Uint8Array(e.byteLength);return t.set(e),t}function Re(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`).trim();if(!/^[A-Za-z0-9+/]*={0,2}$/.test(t))throw Error(`Invalid base64/base64url`);let n=(4-t.length%4)%4,r=t+`=`.repeat(n),i=new Int16Array(128).fill(-1);for(let e=0;e<64;e++)i[`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charCodeAt(e)]=e;let a=Math.floor(r.length*3/4)-(r.endsWith(`==`)?2:r.endsWith(`=`)?1:0),o=new Uint8Array(a),s=0;for(let e=0;e>>16&255),s>>8&255),s>>18&63]+t[r>>>12&63]+t[r>>>6&63]+t[r&63])}let a=r-i;if(a===1){let r=e[i]<<16;n.push(t[r>>>18&63]+t[r>>>12&63]+`==`)}else if(a===2){let r=e[i]<<16|e[i+1]<<8;n.push(t[r>>>18&63]+t[r>>>12&63]+t[r>>>6&63]+`=`)}return n.join(``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function Be(e){let t=e.trim().toLowerCase();if(!/^[0-9a-f]+$/.test(t)||t.length%2!=0)throw Error(`Invalid hex`);let n=new Uint8Array(t.length/2);for(let e=0;e=32&&t.length%2==0&&/^[0-9a-fA-F]+$/.test(t)}function He(e){let t=e.trim();return t.length>=16&&/^[A-Za-z0-9\-_]+$/.test(t)}function Ue(e){let t=e.trim();if(!t)throw Error(`Empty kaiSignature`);if(Ve(t))return Be(t);if(He(t))try{return Re(t)}catch{}return Le(Fe.encode(t))}async function We(e){let t=Ie(),n=await t.importKey(`raw`,e.ikm,{name:`HKDF`},!1,[`deriveBits`]),r=await t.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:e.salt,info:e.info},n,e.bits);return new Uint8Array(r)}async function Ge(e){let t=Le(Ue(e.baseKaiSignature)),n=Le(Re(e.salt_b64url)),r=(e.context??`KaiVoh.deriveKaiSignature.v1`).trim();return await We({ikm:t,salt:n,info:Le(Fe.encode(r)),bits:256})}async function Ke(e){return ze(await Ge(e))}function qe(){return(0,K.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`ico`,"aria-hidden":`true`,focusable:`false`,children:[(0,K.jsx)(`rect`,{x:`3`,y:`6`,width:`14`,height:`12`,rx:`3`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`circle`,{cx:`10`,cy:`12`,r:`3`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`path`,{d:`M17 9l4-2v10l-4-2z`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`circle`,{cx:`18.5`,cy:`5.5`,r:`2.5`,fill:`currentColor`})]})}function Je(){return(0,K.jsxs)(`svg`,{viewBox:`0 0 24 24`,className:`ico`,"aria-hidden":`true`,focusable:`false`,children:[(0,K.jsx)(`path`,{d:`M3 6h18M9 6V4h6v2M7 6l1 14h8l1-14`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,K.jsx)(`path`,{d:`M10 10v6M14 10v6`,stroke:`currentColor`,strokeWidth:`2`})]})}var Ye=6e3,Xe=1024,Ze=1024*Xe,Qe=e=>e>=Ze?`${(e/Ze).toFixed(2)} MB`:e>=Xe?`${(e/Xe).toFixed(2)} KB`:`${e} B`,$e=(e,t=8,n=6)=>e.length<=t+n?e:`${e.slice(0,t)}…${e.slice(-n)}`,et=e=>{if(typeof e!=`string`||!e)return!1;try{let t=new URL(e,globalThis.location?.origin??`https://example.org`);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}};function tt(e){try{let t=new URL(e,globalThis.location?.origin??`https://example.org`),n=new URLSearchParams(t.hash.replace(/^#/,``)).has(`t`),r=new URLSearchParams(t.search).has(`p`),i=t.pathname,a=/^\/(?:stream|feed)\/p\/[^/]+$/.test(i),o=/^\/p~[^/?#]+$/.test(i);return n||r||a||o}catch{return!1}}function nt(e){let t=new Uint8Array(e),n=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,r=[],i=t.length,a=0;for(;a+2>>18&63]+n[e>>>12&63]+n[e>>>6&63]+n[e&63])}let o=i-a;if(o===1){let e=t[a]<<16;r.push(n[e>>>18&63]+n[e>>>12&63]+`==`)}else if(o===2){let e=t[a]<<16|t[a+1]<<8;r.push(n[e>>>18&63]+n[e>>>12&63]+n[e>>>6&63]+`=`)}return r.join(``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function Z(e,t){if(typeof e!=`object`||!e)return;let n=e,r=n[t];if(typeof r==`string`)return r;let i=n.meta;if(typeof i==`object`&&i){let e=i[t];if(typeof e==`string`)return e}}function rt(e,t){if(typeof e!=`object`||!e)return;let n=e,r=n[t];if(typeof r==`number`&&Number.isFinite(r))return r;let i=n.meta;if(typeof i==`object`&&i){let e=i[t];if(typeof e==`number`&&Number.isFinite(e))return e}}function it(e,t){if(!e)return;let n=[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`url`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`link`,`href`];if(t)for(let e of n){let n=t[e];if(et(n))return n}try{let t=new DOMParser().parseFromString(e,`image/svg+xml`);for(let e of Array.from(t.getElementsByTagName(`metadata`))){let t=(e.textContent??``).trim();if(!t)continue;let r=t.replace(/^$/,``);try{let e=JSON.parse(r);if(typeof e==`object`&&e)for(let t of n){let n=e[t];if(et(n))return n}}catch{let e=r.match(/https?:\/\/[^\s"'<>)#]+/i);if(e&&et(e[0]))return e[0]}}for(let e of Array.from(t.getElementsByTagName(`a`))){let t=e.getAttribute(`href`)||e.getAttribute(`xlink:href`);if(et(t))return t}}catch{}}async function at(e,t,n={}){let r=n.cacheName??`sigil-attachments-v1`,i=(n.pathPrefix??`/att/`).replace(/\/+$/,``)+`/`;try{if(!(`caches`in globalThis)||typeof caches.open!=`function`)return;let n=await caches.open(r),a=`${i}${e}`;return await n.put(new Request(a,{method:`GET`}),new Response(t,{headers:{"Content-Type":t.type||`application/octet-stream`}})),a}catch{return}}function ot(e){let t=Math.floor(e/1e3);return`${Math.floor(t/60).toString().padStart(2,`0`)}:${(t%60).toString().padStart(2,`0`)}`}function st(e){let t=e.indexOf(` `);return t>=0?e.slice(0,t):e}function ct(e,t){return e.length<=t?e:`${e.slice(0,Math.max(0,t-1))}…`}var lt=`kai-voh:draft:v1`,ut=[`text`,`code`,`md`,`html`],dt=[`code`,`sanitized`],ft=[`derived`,`glyph`],pt=e=>typeof e==`object`&&!!e,mt=e=>{let t=BigInt(2**53-1),n=BigInt(-(2**53-1));return e>t?2**53-1:e{let t=typeof e==`number`?e:typeof e==`string`?Number.parseInt(e,10):typeof e==`bigint`?Number(e):NaN;if(!Number.isFinite(t))return null;let n=Math.floor(t);return n<0?null:n};function gt({pulseRef:e}){let t=me(),n=(0,G.useMemo)(()=>pt(t)?ht(t.pulse):null,[t]);return(0,G.useEffect)(()=>{typeof n==`number`&&(e.current=n)},[n,e]),null}var _t=(e,t=``)=>typeof e==`string`?e:t,vt=(e,t=!1)=>typeof e==`boolean`?e:t,yt=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):[],bt=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!pt(n))continue;let e=_t(n.phiKey),r=_t(n.kaiSignature),i=_t(n.label);if(!e||!r||!i)continue;let a=typeof n.sigilId==`string`&&n.sigilId.trim()?n.sigilId:void 0;t.push({phiKey:e,kaiSignature:r,label:i,sigilId:a})}return t},Q=()=>typeof performance<`u`&&typeof performance.now==`function`?performance.now():0,xt=async()=>{await new Promise(e=>requestAnimationFrame(()=>e()))},St=async(e,t,n)=>{let r=null,i=new Promise((e,i)=>{r=window.setTimeout(()=>i(Error(`${n} timed out`)),t)});try{return await Promise.race([e,i])}finally{r!==null&&window.clearTimeout(r)}},$=()=>{let e=typeof crypto<`u`?crypto:void 0;if(e&&`randomUUID`in e&&typeof e.randomUUID==`function`)return e.randomUUID();if(e&&`getRandomValues`in e&&typeof e.getRandomValues==`function`){let t=new Uint8Array(16);e.getRandomValues(t);let n=``;for(let e=0;e`u`)throw Error(`encode worker unavailable (no window)`);if(typeof Worker>`u`)throw Error(`encode worker unavailable (Worker not supported)`);let e=new URL(`data:video/mp2t;base64,Ly8vIDxyZWZlcmVuY2UgbGliPSJ3ZWJ3b3JrZXIiIC8+CgppbXBvcnQgewogIGVuY29kZVRva2VuV2l0aEJ1ZGdldHMsCiAgdHlwZSBGZWVkUG9zdFBheWxvYWQsCn0gZnJvbSAiLi4vLi4vdXRpbHMvZmVlZFBheWxvYWQiOwoKdHlwZSBFbmNvZGVXb3JrZXJSZXF1ZXN0ID0gewogIGlkOiBzdHJpbmc7CiAgcGF5bG9hZDogRmVlZFBvc3RQYXlsb2FkOwp9OwoKdHlwZSBFbmNvZGVXb3JrZXJSZXNwb25zZSA9CiAgfCB7IGlkOiBzdHJpbmc7IG9rOiB0cnVlOyB0b2tlbjogc3RyaW5nOyB3aXRoaW5IYXJkOiBib29sZWFuOyBtczogbnVtYmVyIH0KICB8IHsgaWQ6IHN0cmluZzsgb2s6IGZhbHNlOyBlcnJvcjogc3RyaW5nOyBtczogbnVtYmVyIH07Cgpjb25zdCBub3cgPSAoKTogbnVtYmVyID0+CiAgc2VsZi5wZXJmb3JtYW5jZSAmJiB0eXBlb2Ygc2VsZi5wZXJmb3JtYW5jZS5ub3cgPT09ICJmdW5jdGlvbiIKICAgID8gc2VsZi5wZXJmb3JtYW5jZS5ub3coKQogICAgOiBEYXRlLm5vdygpOwoKc2VsZi5vbm1lc3NhZ2UgPSAoZXY6IE1lc3NhZ2VFdmVudDxFbmNvZGVXb3JrZXJSZXF1ZXN0PikgPT4gewogIGNvbnN0IHQwID0gbm93KCk7CiAgY29uc3QgZGF0YSA9IGV2LmRhdGE7CgogIHRyeSB7CiAgICBjb25zdCBvdXQgPSBlbmNvZGVUb2tlbldpdGhCdWRnZXRzKGRhdGEucGF5bG9hZCk7CiAgICBjb25zdCBtc2c6IEVuY29kZVdvcmtlclJlc3BvbnNlID0gewogICAgICBpZDogZGF0YS5pZCwKICAgICAgb2s6IHRydWUsCiAgICAgIHRva2VuOiBvdXQudG9rZW4sCiAgICAgIHdpdGhpbkhhcmQ6IG91dC53aXRoaW5IYXJkLAogICAgICBtczogbm93KCkgLSB0MCwKICAgIH07CiAgICBzZWxmLnBvc3RNZXNzYWdlKG1zZyk7CiAgfSBjYXRjaCAoZSkgewogICAgY29uc3QgbXNnOiBFbmNvZGVXb3JrZXJSZXNwb25zZSA9IHsKICAgICAgaWQ6IGRhdGEuaWQsCiAgICAgIG9rOiBmYWxzZSwKICAgICAgZXJyb3I6IGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKSwKICAgICAgbXM6IG5vdygpIC0gdDAsCiAgICB9OwogICAgc2VsZi5wb3N0TWVzc2FnZShtc2cpOwogIH0KfTsK`,``+import.meta.url);return Ct=new Worker(e,{type:`module`,name:`kaiVohEncodeWorker`}),Ct.onmessage=e=>{let t=e.data,n=wt.get(t.id);n&&(wt.delete(t.id),n(t))},Ct.onerror=()=>{for(let[e,t]of wt)t({id:e,ok:!1,error:`encode worker crashed`,ms:0});wt.clear();try{Ct?.terminate()}catch{}Ct=null},Ct}async function Et(e){let t=Tt(),n=$();return new Promise(r=>{wt.set(n,r);let i={id:n,payload:e};t.postMessage(i)})}async function Dt(e){let t=Q(),n=()=>{try{let n=B(e);return{id:$(),ok:!0,token:n.token,withinHard:n.withinHard,ms:Q()-t}}catch(e){return{id:$(),ok:!1,error:e instanceof Error?e.message:String(e),ms:Q()-t}}};try{let t=await Et(e);if(!t.ok){let e=n();return e.ok?e:t}return t}catch{return n()}}function Ot({initialCaption:e=``,initialAuthor:t=``,onExhale:r}){let{auth:i}=pe(),o=i.meta,c=(0,G.useRef)(NaN),[l,u]=(0,G.useState)(e),[d,p]=(0,G.useState)(t),[m,h]=(0,G.useState)(`text`),[g,v]=(0,G.useState)(`tsx`),[y,b]=(0,G.useState)(`code`),[S,w]=(0,G.useState)(``),[T,D]=(0,G.useState)(``),[O,k]=(0,G.useState)(``),[A,j]=(0,G.useState)([]),[ee,te]=(0,G.useState)([]),[M,ne]=(0,G.useState)({version:1,totalBytes:0,inlinedBytes:0,items:[]}),P=(0,G.useRef)(M),[re,F]=(0,G.useState)(!1),[I,L]=(0,G.useState)(null),[z,ae]=(0,G.useState)(!1),[B,oe]=(0,G.useState)(``),[V,ce]=(0,G.useState)(null),[ue,H]=(0,G.useState)(null),[fe,U]=(0,G.useState)(null),[me,W]=(0,G.useState)(!1),[he,ge]=(0,G.useState)(``),[_e,be]=(0,G.useState)(0),[xe,Se]=(0,G.useState)(`path`),[q,Ce]=(0,G.useState)(!1),[J,we]=(0,G.useState)(`derived`),[Te,De]=(0,G.useState)(``),[Y,Oe]=(0,G.useState)(()=>ye(18)),[X,ke]=(0,G.useState)([]),[Ae,je]=(0,G.useState)(!1),Me=(0,G.useRef)(!1),Ne=(0,G.useRef)(null),Fe=(0,G.useRef)(null),Ie=!!o;(0,G.useEffect)(()=>{Me.current||u(e)},[e]),(0,G.useEffect)(()=>{Me.current||p(t)},[t]),(0,G.useEffect)(()=>{if(Me.current||(Me.current=!0,typeof window>`u`))return;let n=window.sessionStorage.getItem(lt);if(n)try{let r=JSON.parse(n);if(!pt(r)||r.v!==1)return;let i=ut.includes(r.bodyKind)?r.bodyKind:`text`,a=dt.includes(r.htmlMode)?r.htmlMode:`code`,o=ft.includes(r.sealMode)?r.sealMode:`derived`,s=yt(r.extraUrls).map(e=>e.trim()).filter(e=>et(e)).map(e=>le({url:e}));u(_t(r.caption,e)),p(_t(r.author,t)),h(i),v(_t(r.codeLang,`tsx`)),b(a),k(_t(r.extraUrlField,``)),j(s),Ce(vt(r.privateOn,!1)),we(o),De(_t(r.sealTeaser,``)),Oe(_t(r.sealSalt,ye(18))),ke(bt(r.allowedGlyphs)),je(vt(r.sealAdvanced,!1))}catch{}},[t,e]),(0,G.useEffect)(()=>{if(Me.current)return Ne.current&&window.clearTimeout(Ne.current),Ne.current=window.setTimeout(()=>{let e={v:1,caption:l,author:d,bodyKind:m,codeLang:g,htmlMode:y,extraUrlField:O,extraUrls:A.map(e=>e.url),privateOn:q,sealMode:J,sealTeaser:Te,sealSalt:Y,allowedGlyphs:X,sealAdvanced:Ae};try{window.sessionStorage.setItem(lt,JSON.stringify(e))}catch{}},250),()=>{Ne.current&&window.clearTimeout(Ne.current)}},[l,d,m,g,y,O,A,q,J,Te,Y,X,Ae]),(0,G.useEffect)(()=>{P.current=M},[M]),(0,G.useEffect)(()=>()=>{I&&URL.revokeObjectURL(I.url)},[]);let Le=(0,G.useMemo)(()=>Z(o,`sigilActionUrl`)||Z(o,`sigilUrl`)||Z(o,`actionUrl`)||Z(o,`url`)||Z(o,`claimedUrl`)||Z(o,`loginUrl`)||Z(o,`sourceUrl`)||Z(o,`originUrl`)||Z(o,`link`)||Z(o,`href`)||it(i.svgText,o??{})||(globalThis.location?.origin??`https://kaiklok.com`),[o,i.svgText]);(0,G.useEffect)(()=>{o&&(w(Z(o,`userPhiKey`)??``),D(Z(o,`kaiSignature`)??``))},[o]),(0,G.useEffect)(()=>{q&&(Y.trim()||Oe(ye(18)))},[q,Y]);let Re=()=>{let e=O.trim();if(!et(e)){U(`Invalid URL. Enter a full http(s) link.`);return}j(t=>[...t,le({url:e})]),k(``),U(null)},ze=e=>{j(t=>t.filter((t,n)=>n!==e))};function Be(e){let t=e,n=typeof t.webkitRelativePath==`string`?t.webkitRelativePath:``;return n.trim()?n:e.name}async function Ve(e){let t=await e.arrayBuffer(),n=await crypto.subtle.digest(`SHA-256`,t),r=new Uint8Array(n),i=``;for(let e=0;e{let t=P.current.items.slice(),n=[];for(let r of e){let e=Be(r);if(q&&r.size>Ye){n.push(e);continue}if(r.size<=Ye){let n=await r.arrayBuffer();t.push(E({name:e,type:r.type||`application/octet-stream`,size:r.size,data_b64url:nt(n)}))}else{let n=await Ve(r),i=await at(n,r,{cacheName:`sigil-attachments-v1`,pathPrefix:`/att/`});t.push(R({sha256:n,name:e,type:r.type||`application/octet-stream`,size:r.size,url:i}))}}return n.length>0&&U(`Private (Sealed) mode cannot include cache-backed large files. Skipped: ${n.slice(0,3).join(`, `)}${n.length>3?` (+${n.length-3} more)`:``}. Attach as a URL instead (Drive/S3/IPFS/etc), or keep files ≤ ${Qe(Ye)}.`),se(t)},Ue=async e=>{if(!e.target.files)return;let t=Array.from(e.target.files);te(e=>[...e,...t]),ne(await He(t))},We=async e=>{if(e.preventDefault(),e.stopPropagation(),!e.dataTransfer?.files?.length)return;let t=Array.from(e.dataTransfer.files);te(e=>[...e,...t]),ne(await He(t))},Ge=e=>{e.preventDefault(),e.stopPropagation()},Xe=()=>{te([]);let e={version:1,totalBytes:0,inlinedBytes:0,items:[]};ne(e),P.current=e};function Ze(e){let[,t]=e.split(`,`,2);return t?Math.ceil(t.length*3/4):0}async function ht(e){if(q){U(`Private (Sealed) mode cannot include recorded stories (cache-backed video refs). Upload as a URL instead.`),F(!1);return}let t=await at(e.sha256,e.file,{cacheName:`sigil-attachments-v1`,pathPrefix:`/att/`}),n=R({sha256:e.sha256,name:e.file.name,type:e.mimeType||e.file.type||`video/webm`,size:e.file.size,url:t}),r=(e.thumbnailDataUrl.split(`,`,2)[1]??``).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``),i=E({name:e.file.name.replace(/\.(webm|mp4)$/i,``)+`_thumb.png`,type:`image/png`,size:Ze(e.thumbnailDataUrl),data_b64url:r});ne(se([...P.current.items,n,i])),I&&URL.revokeObjectURL(I.url),L({url:URL.createObjectURL(e.file),durationMs:e.durationMs}),F(!1)}let $=l.trim(),Ct=(0,G.useMemo)(()=>$?m===`text`?f($):m===`md`?C($):m===`html`?N($,y):x($,g.trim()||void 0):void 0,[$,m,g,y]),wt=(0,G.useMemo)(()=>{if(!$)return;let e=st($).trim();if(e){if(m===`code`){let t=g.trim();return ct(`${t?`code:${t}`:`code`} — ${e}`,220)}return ct(m===`md`?`md — ${e}`:m===`html`?`html — ${e}`:e,220)}},[$,m,g]),Tt=(0,G.useMemo)(()=>P.current.items.some(e=>e.kind===`file-ref`),[M]),Et=(0,G.useMemo)(()=>{if(!q)return wt;let e=Te.trim();return e?ct(e,220):`Sealed Memory`},[q,wt,Te]),Ot=q&&J===`derived`&&Ie&&!!T.trim(),kt=q&&J===`glyph`&&X.length>0,At=(0,G.useMemo)(()=>q?Ie?J===`derived`?T.trim()?Y.trim()?(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`Mode: `,(0,K.jsx)(`strong`,{children:`Derived Glyph Access`}),` • Any derivative glyph exported from this issuer glyph can unlock • Salt length`,` `,(0,K.jsx)(`strong`,{children:Y.trim().length})]}):(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`Derivation salt missing — rotate to generate.`}):(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`Derived access requires ΣSig (kaiSignature) present in your verified glyph.`}):X.length===0?(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`Mode: Specific Glyph Access requires at least one allowed glyph SVG uploaded.`}):(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`Mode: `,(0,K.jsx)(`strong`,{children:`Specific Glyph Access`}),` • Allowed glyphs `,(0,K.jsx)(`strong`,{children:X.length})]}):(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`Private (Sealed) requires a verified glyph session.`}):null,[q,Ie,J,T,Y,X.length]),jt=async e=>{if(e.length===0)return;let t=[],n=[];for(let r of e)try{let e=Pe(await r.text()),i=(e.userPhiKey??``).trim(),a=(e.kaiSignature??``).trim();if(!i||!a){n.push(r.name);continue}t.push({label:r.name,phiKey:i,kaiSignature:a,sigilId:(e.sigilId??``).trim()?(e.sigilId??``).trim():void 0})}catch{n.push(r.name)}t.length>0&&(ke(e=>{let n=e.slice(),r=new Set(e.map(e=>`${e.phiKey}:${e.kaiSignature}`));for(let e of t){let t=`${e.phiKey}:${e.kaiSignature}`;r.has(t)||(r.add(t),n.push(e))}return n}),U(null)),n.length>0&&U(`Some glyph SVGs were missing ΦKey/ΣSig metadata and were not added: ${n.slice(0,3).join(`, `)}${n.length>3?` (+${n.length-3} more)`:``}.`)},Mt=e=>{ke(t=>t.filter((t,n)=>n!==e))},Nt=async()=>{if(z)return;H(null),U(null),W(!1),ge(``),be(0),Se(`path`),ce(null);let e=(Le||``).trim(),t=tt(e);if(t||U(`Proof of Breath™ URL not detected; using fallback. Link generation will still work.`),q){if([...P.current.items,...A].some(e=>e.kind===`file-ref`)){H(`Private (Sealed) mode cannot include cache-backed file refs. Keep files ≤ ${Qe(Ye)} (inline) or attach public URLs.`);return}if(J===`derived`&&!Ot){H(`Private (Sealed) → Derived mode requires a verified glyph with ΣSig (kaiSignature) present.`);return}if(J===`glyph`&&!kt){H(`Private (Sealed) → Specific Glyph mode requires at least one allowed glyph SVG uploaded.`);return}}let i=c.current;if(!Number.isFinite(i)||i<0){H(`Failed to compute Kai pulse (aligned ticker not ready).`);return}let l=mt(a(i)),u=Q();try{ae(!0),oe(`paint`),await xt(),await xt(),oe(`assemble`);let a=[...P.current.items,...A],c=a.length>0?se(a):void 0,f=t?e:void 0,p=f?n(f)??f:void 0,m=Z(o,`sigilId`)||Z(o,`sigilID`)||Z(o,`glyphId`)||void 0,h=_({url:e,pulse:i,caption:Et,body:Ct,author:d.trim()?d.trim():void 0,source:`manual`,sigilId:m,phiKey:Ie&&S?S:void 0,kaiSignature:Ie&&T?T:void 0,ts:l,attachments:c,parentUrl:f,originUrl:p});oe(`prepare`);let g=Q(),v=await St(de(h,{cacheName:`sigil-attachments-v1`,pathPrefix:`/att/`}),2e4,`preparePayloadForLink`),y=Q()-g,b=v;if(q){let e={body:v.body??null,attachments:v.attachments??null},t;if(J===`derived`){let n=Y.trim()?Y.trim():ye(18);n!==Y&&Oe(n),t=await ve({inner:e,teaser:Et??void 0,derived:{issuerKaiSignature:T,issuerPhiKey:S||void 0,salt_b64url:n}})}else{let n=X.map(e=>({phiKey:e.phiKey,kaiSignature:e.kaiSignature,sigilId:e.sigilId}));t=await ve({inner:e,teaser:Et??void 0,allowGlyphs:n})}b={...v,body:void 0,attachments:void 0,seal:t}}oe(`encode(worker)`);let x=Q(),C=await St(Dt(b),3e4,`encodeTokenWithBudgets(worker)`),w=Q()-x;if(!C.ok){ce({stage:`encode(worker)`,totalMs:Q()-u,prepareMs:y,encodeMs:C.ms,items:a.length,inlinedBytes:c?.inlinedBytes,totalBytes:c?.totalBytes,note:C.error}),H(`Token encode failed: ${C.error}. If you have a strict CSP, allow module workers from 'self' (worker-src 'self'). This build uses a real worker file (no blob workers).`);return}let{token:E,withinHard:D}=C;be(E.length);let O=globalThis.location?.origin??`https://kaiklok.com`,k=D?`${O}/stream/p/${encodeURIComponent(E)}`:`${O}/stream#t=${E}`;Se(D?`path`:`hash`),E.length>3500?U(`Token exceeds hard path limit (${E.length.toLocaleString()} > ${ie.toLocaleString()}). Using hash URL to avoid request-line limits.`):E.length>1800&&U(`Token is large (${E.length.toLocaleString()} chars). Prefer trimming inlined files or relying on external URLs.`),oe(`register`),s(k),oe(`clipboard`);try{await navigator.clipboard.writeText(k),W(!0)}catch{W(!1)}ge(k),ce({stage:`done`,totalMs:Q()-u,prepareMs:y,encodeMs:w,tokenLen:E.length,items:a.length,inlinedBytes:c?.inlinedBytes,totalBytes:c?.totalBytes}),r&&r({shareUrl:k,token:E,payload:b})}catch(e){let t=e instanceof Error?e.message:typeof e==`string`?e:`Failed to generate link.`;H(t),ce({stage:B||`unknown`,totalMs:Q()-u,note:t})}finally{oe(``),ae(!1)}},Pt=()=>{u(e||``),p(t||``),h(`text`),v(`tsx`),b(`code`),k(``),j([]),Xe(),H(null),U(null),W(!1),ge(``),be(0),Se(`path`),oe(``),ce(null),De(``),je(!1),I&&(URL.revokeObjectURL(I.url),L(null));try{window.sessionStorage.removeItem(lt)}catch{}},Ft=e=>t=>e(t.target.value),It=(0,G.useMemo)(()=>{if(!Ie)return null;let e=rt(o,`pulse`);return(0,K.jsxs)(`div`,{className:`id-banner`,role:`status`,"aria-live":`polite`,children:[(0,K.jsx)(`span`,{className:`id-dot`}),(0,K.jsxs)(`span`,{className:`id-text`,children:[`Verified by Sigil — ΦKey `,(0,K.jsx)(`strong`,{children:$e(S)}),` • `,`Last verified pulse `,(0,K.jsx)(`strong`,{children:e??`—`})]}),(0,K.jsxs)(`span`,{className:`id-sub mono`,children:[`ΣSig `,$e(T)]})]})},[Ie,S,T,o]),Lt=(0,G.useMemo)(()=>Le?(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Proof Of Breath™ URL`}),(0,K.jsxs)(`div`,{className:`composer-input-row`,children:[(0,K.jsx)(`input`,{className:`composer-input locked`,type:`url`,value:Le,readOnly:!0}),(0,K.jsx)(`button`,{type:`button`,className:`composer-aux`,onClick:async()=>{try{await navigator.clipboard.writeText(Le),W(!0),window.setTimeout(()=>W(!1),1200)}catch{}},title:`Remember Proof Of Breath™ URL`,children:me?`Remembered ✓`:`Remember`})]}),!tt(Le)&&(0,K.jsx)(`div`,{className:`composer-hint warn`,children:`No canonical stream token detected in the URL. Fallback will still produce a valid post.`})]}):null,[Le,me]),Rt=(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Privacy Seal`}),(0,K.jsxs)(`div`,{className:`story-actions`,style:{alignItems:`center`,gap:10},children:[(0,K.jsx)(`button`,{type:`button`,className:`pill ${q?`prim`:`subtle`}`,onClick:()=>{Ce(e=>!e),H(null),U(null)},title:`Toggle Private (Sealed)`,children:q?`Private: ON`:`Private: OFF`}),q&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`button`,{type:`button`,className:`pill ${J===`derived`?`prim`:`subtle`}`,onClick:()=>we(`derived`),title:`Derived glyph access`,children:`Derived`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${J===`glyph`?`prim`:`subtle`}`,onClick:()=>we(`glyph`),title:`Specific glyph allowlist`,children:`Specific Glyph`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${Ae?`prim`:`subtle`}`,onClick:()=>je(e=>!e),title:`Show advanced sealing details`,children:`Advanced`})]})]}),q&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`Private (Sealed) encrypts `,(0,K.jsx)(`span`,{className:`mono`,children:`body + attachments`}),` inside the token. The outer post remains verifiable (ΦKey/ΣSig) but does not contain plaintext content.`]}),(0,K.jsxs)(`div`,{className:`composer`,style:{padding:0,marginTop:10},children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Public teaser (optional)`}),(0,K.jsx)(`input`,{className:`composer-input`,type:`text`,value:Te,onChange:Ft(De),placeholder:`What should be visible without unlocking?`,maxLength:240}),(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`If empty, the public caption becomes `,(0,K.jsx)(`span`,{className:`mono`,children:`Sealed Memory`}),`.`]})]}),J===`derived`&&(0,K.jsxs)(`div`,{className:`composer`,style:{padding:0,marginTop:10},children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Derivation salt (for verifier export)`}),(0,K.jsxs)(`div`,{className:`composer-input-row`,children:[(0,K.jsx)(`input`,{className:`composer-input mono`,type:`text`,readOnly:!0,value:Y}),(0,K.jsx)(`button`,{type:`button`,className:`composer-aux`,onClick:()=>Oe(ye(18)),title:`Rotate derivation salt`,children:`Rotate`}),(0,K.jsx)(`button`,{type:`button`,className:`composer-aux`,onClick:async()=>{try{await navigator.clipboard.writeText(Y),W(!0),window.setTimeout(()=>W(!1),900)}catch{}},title:`Copy salt`,children:`Copy`})]}),Ae&&(0,K.jsx)(`div`,{className:`composer-hint mono`,style:{marginTop:8},children:Ie&&T.trim()?(0,K.jsxs)(K.Fragment,{children:[`Derived ΣSig (b64url, post-scoped): `,(0,K.jsx)(`button`,{type:`button`,className:`pill subtle`,onClick:async()=>{try{let e=await Ke({baseKaiSignature:T,salt_b64url:Y});await navigator.clipboard.writeText(e),W(!0),window.setTimeout(()=>W(!1),900)}catch{}},title:`Copy derived signature`,children:`Copy derived ΣSig`}),(0,K.jsx)(`span`,{className:`dim`,style:{marginLeft:8},children:`(secret-equivalent; only for issuer export workflows)`})]}):`Derived preview unavailable (missing verified ΣSig).`})]}),J===`glyph`&&(0,K.jsxs)(`div`,{className:`composer`,style:{padding:0,marginTop:10},children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Allowed glyphs (upload SVG)`}),(0,K.jsxs)(`div`,{className:`story-actions`,style:{alignItems:`center`},children:[(0,K.jsxs)(`label`,{className:`pill`,children:[(0,K.jsx)(`input`,{type:`file`,accept:`.svg,image/svg+xml`,multiple:!0,className:`visually-hidden`,onChange:async e=>{let t=e.target.files?Array.from(e.target.files):[];e.currentTarget.value=``,t.length!==0&&await jt(t)}}),`Add allowed glyphs…`]}),X.length>0&&(0,K.jsx)(`button`,{type:`button`,className:`pill subtle`,onClick:()=>ke([]),title:`Clear allowlist`,children:`Clear`})]}),X.length>0&&(0,K.jsx)(`ul`,{className:`url-list`,style:{marginTop:10},children:X.map((e,t)=>(0,K.jsxs)(`li`,{className:`url-item`,style:{alignItems:`center`},children:[(0,K.jsx)(`span`,{className:`badge`,children:`glyph`}),(0,K.jsx)(`span`,{className:`mono`,children:ct(e.label,36)}),(0,K.jsxs)(`span`,{className:`dim`,style:{marginLeft:10},children:[`ΦKey `,$e(e.phiKey,10,8)]}),(0,K.jsx)(`button`,{type:`button`,className:`pill danger`,onClick:()=>Mt(t),title:`Remove glyph`,children:`✕`})]},`${e.phiKey}:${e.kaiSignature}:${t}`))}),(0,K.jsxs)(`div`,{className:`composer-hint`,style:{marginTop:8},children:[`This is `,(0,K.jsx)(`strong`,{children:`not`}),` pulse-locked — if a user possesses an allowed glyph (its ΣSig), they can unlock sealed posts across pulses.`]})]}),(0,K.jsxs)(`div`,{className:`composer-hint warn`,style:{marginTop:10},children:[`Private (Sealed) hard-guard: no cache-backed `,(0,K.jsx)(`span`,{className:`mono`,children:`file-ref`}),` attachments. Use URLs or keep files ≤`,` `,(0,K.jsx)(`strong`,{children:Qe(Ye)}),`.`]}),At]})]}),zt=(0,K.jsxs)(`div`,{className:`attachments`,children:[(0,K.jsx)(`h3`,{className:`attachments-title`,children:`Seals`}),(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Seal a memory`}),(0,K.jsxs)(`div`,{className:`story-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`pill prim icon-only${q?` disabled`:``}`,"aria-label":`Open Memory Recorder`,title:q?`Private mode: story capture is disabled (cache-backed)`:`Record story`,onClick:()=>{if(q){U(`Private (Sealed) mode disables story recording (cache-backed file refs). Add as URL instead.`);return}F(!0)},disabled:q,children:(0,K.jsx)(qe,{})}),I&&(0,K.jsxs)(`div`,{className:`story-preview`,children:[(0,K.jsx)(`video`,{src:I.url,playsInline:!0,controls:!0,className:`story-preview-video`}),(0,K.jsx)(`div`,{className:`story-preview-meta mono`,children:ot(I.durationMs)}),(0,K.jsx)(`button`,{type:`button`,className:`pill danger icon-only`,onClick:()=>{URL.revokeObjectURL(I.url),L(null)},"aria-label":`Remove recorded preview`,title:`Remove preview`,children:(0,K.jsx)(Je,{})})]})]})]}),(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Seal any URL`}),(0,K.jsxs)(`div`,{className:`composer-input-row`,children:[(0,K.jsx)(`input`,{className:`composer-input`,type:`url`,placeholder:`https://example.com/docs/your-file.pdf`,value:O,onChange:Ft(k),autoCapitalize:`none`,autoCorrect:`off`,spellCheck:!1}),(0,K.jsx)(`button`,{type:`button`,className:`composer-aux`,onClick:Re,title:`Add URL`,children:`Seal`})]}),A.length>0&&(0,K.jsx)(`ul`,{className:`url-list`,children:A.map((e,t)=>(0,K.jsxs)(`li`,{className:`url-item`,children:[(0,K.jsx)(`span`,{className:`mono`,children:$e(e.url,28,16)}),(0,K.jsx)(`button`,{type:`button`,className:`pill danger`,onClick:()=>ze(t),title:`Remove URL`,children:`✕`})]},`${e.url}-${t}`))})]}),(0,K.jsx)(`div`,{ref:Fe,className:`dropzone`,onDragOver:Ge,onDrop:We,"aria-label":`Drop files or folders here`,children:(0,K.jsxs)(`div`,{className:`dropzone-inner`,children:[(0,K.jsx)(`div`,{className:`dz-title`,children:`Seal files or folders`}),(0,K.jsxs)(`div`,{className:`dz-sub`,children:[`Tiny files get inlined; large files become cache-backed refs.`,q?(0,K.jsxs)(K.Fragment,{children:[` `,(0,K.jsx)(`strong`,{children:`(Private mode skips large files.)`})]}):null]}),(0,K.jsxs)(`div`,{className:`dz-actions`,children:[(0,K.jsxs)(`label`,{className:`pill`,children:[(0,K.jsx)(`input`,{type:`file`,multiple:!0,onChange:Ue,className:`visually-hidden`}),`Inhale files…`]}),(0,K.jsxs)(`label`,{className:`pill`,children:[(0,K.jsx)(`input`,{type:`file`,multiple:!0,webkitdirectory:``,onChange:Ue,className:`visually-hidden`}),`Inhale folder…`]}),ee.length>0&&(0,K.jsx)(`button`,{type:`button`,className:`pill subtle`,onClick:Xe,children:`Reset`})]})]})}),M.items.length>0&&(0,K.jsxs)(`div`,{className:`file-summary`,children:[(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`Items: `,(0,K.jsx)(`strong`,{children:M.items.length}),` • Files total: `,(0,K.jsx)(`strong`,{children:Qe(M.totalBytes??0)}),` • Inlined:`,` `,(0,K.jsx)(`strong`,{children:Qe(M.inlinedBytes??0)}),` (≤ `,Qe(Ye),` each)`]}),(0,K.jsx)(`ul`,{className:`file-list`,children:M.items.map((e,t)=>{if(e.kind===`url`)return(0,K.jsx)(`li`,{className:`file-item`,children:(0,K.jsxs)(`div`,{className:`file-row`,children:[(0,K.jsx)(`span`,{className:`badge`,children:`url`}),(0,K.jsx)(`span`,{className:`mono`,children:$e(e.url,34,18)})]})},`url-${t}`);let n=e.name??`file-${t}`,r=e.kind===`file-inline`,i=`type`in e&&typeof e.type==`string`?e.type:`application/octet-stream`,a=`size`in e&&typeof e.size==`number`?e.size:0;return(0,K.jsx)(`li`,{className:`file-item`,children:(0,K.jsxs)(`div`,{className:`file-row`,children:[(0,K.jsx)(`span`,{className:`badge`,children:r?`inline`:`file`}),(0,K.jsx)(`span`,{className:`mono`,children:n}),(0,K.jsxs)(`span`,{className:`dim`,children:[i,` • `,Qe(a)]})]})},`${n}-${t}`)})}),M.items.some(e=>e.kind===`file-ref`)&&(0,K.jsxs)(`div`,{className:`composer-hint ${q?`warn`:``}`,children:[`Large files are cached and referenced by SHA-256.`,q?` Private (Sealed) will refuse these — attach public URLs instead.`:` You can also host publicly and attach the public URL above.`]})]})]}),Bt=m===`code`?10:3,Vt=m===`code`?`Paste your code…`:m===`md`?`Write markdown…`:m===`html`?`Write HTML… (default renders as escaped code unless sanitized by the stream UI)`:`What Resonants About This Moment…`,Ht=z||q&&J===`derived`&&!Ot||q&&J===`glyph`&&!kt||q&&Tt;return(0,K.jsxs)(`div`,{className:`social-connector-container`,children:[(0,K.jsx)(gt,{pulseRef:c}),(0,K.jsx)(`h2`,{className:`social-connector-title`,children:`KaiVoh`}),(0,K.jsxs)(`p`,{className:`social-connector-sub`,children:[`Exhale a sealed `,(0,K.jsx)(`strong`,{children:`Memory Stream`}),`.`]}),It,Lt,Rt,(0,K.jsxs)(`div`,{className:`composer`,children:[(0,K.jsx)(`label`,{className:`composer-label`,children:`Body Format`}),(0,K.jsxs)(`div`,{className:`story-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`pill ${m===`text`?`prim`:`subtle`}`,onClick:()=>h(`text`),title:`Text`,children:`Text`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${m===`code`?`prim`:`subtle`}`,onClick:()=>h(`code`),title:`Code`,children:`Code`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${m===`md`?`prim`:`subtle`}`,onClick:()=>h(`md`),title:`Markdown`,children:`MD`}),(0,K.jsx)(`button`,{type:`button`,className:`pill ${m===`html`?`prim`:`subtle`}`,onClick:()=>h(`html`),title:`HTML`,children:`HTML`}),m===`code`&&(0,K.jsx)(`input`,{className:`composer-input`,style:{maxWidth:160},value:g,onChange:Ft(v),placeholder:`lang (tsx)`,"aria-label":`Code language`,autoCapitalize:`none`,autoCorrect:`off`,spellCheck:!1}),m===`html`&&(0,K.jsxs)(`button`,{type:`button`,className:`pill ${y===`code`?`prim`:`subtle`}`,onClick:()=>b(e=>e===`code`?`sanitized`:`code`),title:`HTML mode (stream decides how to render)`,children:[`mode:`,y]})]}),(0,K.jsxs)(`div`,{className:`composer-hint`,children:[`v2 posts include `,(0,K.jsx)(`span`,{className:`mono`,children:`body.kind`}),` so the stream can render code as code (escaped) instead of treating everything as plain text.`,q?(0,K.jsx)(K.Fragment,{children:` In Private mode, the body is sealed and not visible until unlocked.`}):null]})]}),(0,K.jsxs)(`div`,{className:`composer two`,children:[(0,K.jsxs)(`div`,{className:`field`,children:[(0,K.jsxs)(`label`,{htmlFor:`caption`,className:`composer-label`,children:[`Memory `,(0,K.jsx)(`span`,{className:`muted`,children:`(Body)`})]}),(0,K.jsx)(`textarea`,{id:`caption`,className:`composer-textarea${m===`code`?` mono`:``}`,rows:Bt,placeholder:Vt,value:l,onChange:Ft(u),spellCheck:m!==`code`})]}),(0,K.jsxs)(`div`,{className:`field`,children:[(0,K.jsxs)(`label`,{htmlFor:`author`,className:`composer-label`,children:[`Author Handle `,(0,K.jsx)(`span`,{className:`muted`,children:`(optional, e.g., @KaiRexKlok)`})]}),(0,K.jsx)(`input`,{id:`author`,className:`composer-input`,type:`text`,placeholder:`@handle`,value:d,onChange:Ft(p),autoCorrect:`off`,autoCapitalize:`none`})]})]}),zt,ue&&(0,K.jsx)(`div`,{className:`composer-error`,children:ue}),fe&&!ue&&(0,K.jsx)(`div`,{className:`composer-warn`,children:fe}),(z||V)&&(0,K.jsxs)(`div`,{className:`composer-hint mono`,"aria-live":`polite`,children:[z&&B?`stage: ${B}`:null,V?(0,K.jsxs)(K.Fragment,{children:[z&&B?` • `:null,`total ${Math.round(V.totalMs)}ms`,typeof V.prepareMs==`number`?` • prepare ${Math.round(V.prepareMs)}ms`:``,typeof V.encodeMs==`number`?` • encode ${Math.round(V.encodeMs)}ms`:``,typeof V.tokenLen==`number`?` • token ${V.tokenLen.toLocaleString()}`:``,typeof V.items==`number`?` • items ${V.items}`:``,typeof V.inlinedBytes==`number`?` • inlined ${Qe(V.inlinedBytes)}`:``,typeof V.totalBytes==`number`?` • bytes ${Qe(V.totalBytes)}`:``,V.note?` • note: ${V.note}`:``]}):null]}),(0,K.jsxs)(`div`,{className:`composer-actions`,children:[(0,K.jsx)(`button`,{type:`button`,onClick:Nt,className:`composer-submit`,disabled:Ht,title:Ht?`Fix sealing requirements / attachments to proceed`:`Exhale Stream`,children:z?`Exhaling…${B?` (${B})`:``}`:q?`Exhale Sealed Stream`:`Exhale Stream`}),(0,K.jsx)(`button`,{type:`button`,className:`composer-reset`,onClick:Pt,children:`Reset`})]}),he&&(0,K.jsxs)(`div`,{className:`composer-result`,children:[(0,K.jsx)(`label`,{htmlFor:`gen-url`,className:`composer-label`,children:`Your shareable link`}),(0,K.jsx)(`input`,{id:`gen-url`,className:`composer-input`,type:`text`,readOnly:!0,value:he,onFocus:e=>e.currentTarget.select()}),(0,K.jsxs)(`div`,{className:`composer-actions`,children:[(0,K.jsx)(`button`,{type:`button`,className:`composer-copy`,onClick:async()=>{try{await navigator.clipboard.writeText(he),W(!0)}catch{W(!1)}},children:me?`Remembered ✓`:`Remember`}),(0,K.jsx)(`a`,{className:`composer-open`,href:he,target:`_blank`,rel:`noopener noreferrer`,children:`Open in new tab →`})]}),(0,K.jsxs)(`p`,{className:`composer-hint`,children:[`Token length: `,(0,K.jsx)(`strong`,{children:_e.toLocaleString()}),` chars • URL mode:`,` `,(0,K.jsx)(`strong`,{children:xe===`path`?`path`:`hash`}),` • soft `,1800 .toLocaleString(),` • hard`,` `,3500 .toLocaleString(),q?(0,K.jsxs)(K.Fragment,{children:[` `,`• `,(0,K.jsx)(`strong`,{children:`sealed`})]}):null]})]}),(0,K.jsx)(Ee,{isOpen:re,onClose:()=>F(!1),onCaptured:ht,maxDurationMs:15e3,preferredFacingMode:`user`})]})}var kt=50*1024*1024,At=10;function jt(e){if(e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=1024,r=Math.floor(Math.log(e)/Math.log(n)),i=e/n**+r;return`${i.toFixed(i>=10?0:1)} ${t[r]}`}function Mt(e){let{type:t,name:n}=e,r=n.toLowerCase();return t.startsWith(`image/`)?`image`:t.startsWith(`video/`)?`video`:t.startsWith(`audio/`)?`audio`:t===`application/pdf`||t.startsWith(`text/`)||t.includes(`word`)||t.includes(`officedocument`)||t.includes(`spreadsheet`)||t.includes(`presentation`)?`document`:r.endsWith(`.zip`)||r.endsWith(`.rar`)||r.endsWith(`.7z`)||r.endsWith(`.tar`)||r.endsWith(`.gz`)?`archive`:`other`}var Nt={image:`Image`,video:`Video`,audio:`Audio`,document:`Document`,archive:`Archive`,other:`File`};function Pt(e){return[e.name,e.size,e.lastModified,Date.now(),Math.random().toString(36).slice(2,8)].join(`-`)}function Ft(e){return e.length===0?null:(e.find(e=>e.kind===`image`||e.kind===`video`)??e[0])?.id??null}function It(e){return`${e.name}:${e.size}:${e.lastModified}`}function Lt({onReady:e}){let t=(0,G.useRef)(null),n=(0,G.useRef)(null),r=(0,G.useRef)(null),[i,a]=(0,G.useState)([]),[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(null),[u,d]=(0,G.useState)(`file`),[f,p]=(0,G.useState)(``),[m,h]=(0,G.useState)(``),[g,_]=(0,G.useState)(`general`),[v,y]=(0,G.useState)(``),[b,x]=(0,G.useState)(``),[S,C]=(0,G.useState)(``),[w,T]=(0,G.useState)(``),[E,D]=(0,G.useState)(``),[O,k]=(0,G.useState)(``),[A,j]=(0,G.useState)(!1),[ee,te]=(0,G.useState)(!1),[M,N]=(0,G.useState)(null),[ne,P]=(0,G.useState)(!1),[re,F]=(0,G.useState)(!1),I=1e3,L=i.length>0,R=g===`legal-contract`,z=(0,G.useMemo)(()=>i.reduce((e,t)=>e+t.file.size,0),[i]),ie=(0,G.useMemo)(()=>L?jt(z):`0 B`,[L,z]),ae=(0,G.useMemo)(()=>R?v.trim().length>0&&b.trim().length>0:!0,[R,v,b]),B=(0,G.useMemo)(()=>L?ae?3:2:1,[L,ae]),oe=(0,G.useMemo)(()=>B===1?R?`Attach your agreement, annexes, and evidence`:`Attach the media or files you want to seal`:B===2?R?`Describe the agreement and parties`:`Add context: caption, link, and tags`:R?`Review and seal as a legal record`:`Review and seal to the KaiVoh stream`,[B,R]),V=(0,G.useCallback)(()=>{n.current&&=(URL.revokeObjectURL(n.current),null),r.current=null},[]);(0,G.useEffect)(()=>()=>{V()},[V]);let se=(0,G.useCallback)((e,t)=>{let i=t!==null&&e.some(e=>e.id===t)?t:Ft(e);if(s(i),!i){c&&(V(),l(null)),u!==`file`&&d(`file`);return}let a=e.find(e=>e.id===i)??null;if(!a){c&&(V(),l(null)),u!==`file`&&d(`file`);return}if(a.kind===`image`||a.kind===`video`){let e=a.kind;u!==e&&d(e);let t=It(a.file);if(!(i===o&&r.current===t&&typeof c==`string`&&c.length>0)){V();let e=URL.createObjectURL(a.file);n.current=e,r.current=t,l(e)}return}u!==`file`&&d(`file`),c&&(V(),l(null))},[V,o,u,c,s,d,l]),ce=(0,G.useCallback)(()=>{a([]),s(null),V(),l(null),d(`file`),p(``),h(``),_(`general`),y(``),x(``),C(``),T(``),D(``),k(``),j(!1),te(!1),N(null),F(!1),t.current&&(t.current.value=``)},[V]),le=(0,G.useCallback)(e=>{let t=Array.isArray(e)?e:Array.from(e);if(t.length===0)return;let n=!1,r=!1,s=[...i];for(let e of t){if(s.length>=At){r=!0;break}if(e.size>kt){n=!0;continue}if(s.some(t=>t.file.name===e.name&&t.file.size===e.size&&t.file.lastModified===e.lastModified))continue;let t=Mt(e),i={id:Pt(e),file:e,kind:t};s=[...s,i]}s.length===i.length&&!n?r||N(`No new files were added (duplicates or all invalid).`):N(null),n?N(`Some files were too large. Max individual file size is ${jt(kt)}.`):r&&N(`You can attach up to ${At} files per sealed post. Remove one to add another.`),a(s),se(s,o)},[i,o,se]),ue=e=>{let t=e.target.files;!t||t.length===0||le(t)},de=e=>{e.preventDefault(),e.stopPropagation(),P(!1);let t=e.dataTransfer.files;!t||t.length===0||le(t)},H=e=>{e.preventDefault(),e.stopPropagation()},fe=e=>{e.preventDefault(),e.stopPropagation(),P(!0)},pe=e=>{e.preventDefault(),e.stopPropagation(),e.currentTarget===e.target&&P(!1)},U=()=>{t.current?.click()},me=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),U())},W=e=>{let t=i.filter(t=>t.id!==e);a(t),se(t,o===e?null:o)},he=e=>{s(e),se(i,e)},ge=()=>{if(!L){N(`Attach at least one file to seal.`);return}if(R&&!ae){N(`Fill in the agreement title and counterparty to seal legally.`);return}let t=m.trim();if(t.length>0)try{new URL(t)}catch{N(`The link URL looks invalid. Please check it.`);return}let n=(o?i.find(e=>e.id===o):null)??i[0]??null;if(!n){N(`Something went wrong selecting the primary attachment.`);return}let r=f.trim(),a=R?{agreementTitle:v.trim()||void 0,counterpartyName:b.trim()||void 0,counterpartyEmail:S.trim()||void 0,jurisdiction:w.trim()||void 0,effectiveDateIso:E||void 0,referenceCode:O.trim()||void 0,isConfidential:A,includesPersonalData:ee}:void 0;F(!0),e({mediaType:n.kind===`image`||n.kind===`video`?n.kind:`file`,file:n.file,caption:r.length>0?r:void 0,attachments:i,mainAttachmentId:n.id,postKind:g,legalMeta:a,linkUrl:t.length>0?t:void 0})},_e=(0,G.useMemo)(()=>{if(!L)return null;let e=i.length;return`${e===1?`1 attached file`:`${e} attached files total`} • ${ie}`},[i,L,ie]);return(0,K.jsxs)(`div`,{className:`kv-post-composer flex flex-col items-center gap-4 p-6 w-full`,children:[(0,K.jsxs)(`div`,{className:`kv-post-header w-full max-w-xl flex flex-col gap-2`,children:[(0,K.jsxs)(`div`,{className:`kv-post-step-row flex items-center justify-between`,children:[(0,K.jsxs)(`div`,{className:`kv-post-step-badge`,children:[(0,K.jsx)(`span`,{className:`kv-post-step-number`,children:B}),(0,K.jsx)(`span`,{className:`kv-post-step-label`,children:oe})]}),L&&(0,K.jsx)(`button`,{type:`button`,className:`kv-post-reset-btn`,onClick:ce,children:`Reset`})]}),(0,K.jsx)(`p`,{className:`kv-post-subtitle`,children:`Attach images, videos, PDFs, DOCX, ZIPs—anything you want sealed to your Kai-Signature. For contracts, add parties and jurisdiction so this becomes a usable, timestamped record.`}),(0,K.jsxs)(`div`,{className:`kv-post-kind-row flex flex-wrap items-center gap-3 mt-1`,children:[(0,K.jsx)(`label`,{className:`kv-post-kind-label`,htmlFor:`kv-post-kind`,children:`Intent`}),(0,K.jsxs)(`select`,{id:`kv-post-kind`,className:`kv-post-kind-select`,value:g,onChange:e=>_(e.target.value),children:[(0,K.jsx)(`option`,{value:`general`,children:`General post / media`}),(0,K.jsx)(`option`,{value:`legal-contract`,children:`Legal contract / agreement`}),(0,K.jsx)(`option`,{value:`evidence`,children:`Evidence / proof bundle`}),(0,K.jsx)(`option`,{value:`announcement`,children:`Public announcement / notice`}),(0,K.jsx)(`option`,{value:`private-note`,children:`Private note / internal record`})]})]})]}),M&&(0,K.jsx)(`div`,{className:`kv-post-error w-full max-w-xl`,role:`alert`,children:M}),(0,K.jsx)(`div`,{className:`w-full max-w-xl`,children:(0,K.jsx)(`div`,{className:[`kv-post-dropzone`,ne?`kv-post-dropzone--dragging`:``,L?`kv-post-dropzone--has-media`:``].join(` `).trim(),tabIndex:0,role:`button`,"aria-label":`Choose or drop files to attach`,onClick:U,onKeyDown:me,onDragOver:H,onDragEnter:fe,onDragLeave:pe,onDrop:de,children:(0,K.jsxs)(`div`,{className:`kv-post-dropzone-inner`,children:[(0,K.jsx)(`div`,{className:`kv-post-dropzone-icon`,children:L?`🔄`:ne?`🌀`:`📁`}),(0,K.jsxs)(`div`,{className:`kv-post-dropzone-text`,children:[(0,K.jsx)(`div`,{className:`kv-post-dropzone-title`,children:L?`Add or replace attached files`:`Tap or drop files to start`}),(0,K.jsx)(`div`,{className:`kv-post-dropzone-hint`,children:`Images, videos, PDFs, DOCX, ZIPs, audio, and more • Drag & drop or tap to choose`}),(0,K.jsxs)(`div`,{className:`kv-post-dropzone-meta`,children:[`Max `,At,` files • `,jt(kt),` per file`]})]})]})})}),L&&(0,K.jsxs)(`div`,{className:`kv-post-body w-full max-w-xl mt-2`,children:[c&&(0,K.jsxs)(`div`,{className:`kv-post-preview`,children:[u===`image`&&(0,K.jsx)(`img`,{src:c,alt:`Primary attachment preview`,className:`kv-post-preview-media`}),u===`video`&&(0,K.jsx)(`video`,{src:c,controls:!0,className:`kv-post-preview-media`})]}),(0,K.jsxs)(`div`,{className:`kv-post-attachments`,children:[(0,K.jsxs)(`div`,{className:`kv-post-attachments-header flex justify-between items-center`,children:[(0,K.jsx)(`div`,{className:`kv-post-attachments-title`,children:`Attachments`}),_e&&(0,K.jsx)(`div`,{className:`kv-post-attachments-summary`,children:_e})]}),(0,K.jsx)(`ul`,{className:`kv-post-attachments-list`,children:i.map(e=>{let t=e.id===o;return(0,K.jsxs)(`li`,{className:[`kv-post-attachment-item`,t?`kv-post-attachment-item--primary`:``].join(` `).trim(),children:[(0,K.jsxs)(`div`,{className:`kv-post-attachment-main`,children:[(0,K.jsx)(`div`,{className:`kv-post-attachment-name`,children:e.file.name}),(0,K.jsxs)(`div`,{className:`kv-post-attachment-meta`,children:[(0,K.jsxs)(`span`,{children:[Nt[e.kind],` • `,jt(e.file.size)]}),t&&(0,K.jsx)(`span`,{className:`kv-post-attachment-pill`,children:`Primary`})]})]}),(0,K.jsxs)(`div`,{className:`kv-post-attachment-actions`,children:[!t&&(0,K.jsx)(`button`,{type:`button`,className:`kv-post-attachment-btn`,onClick:()=>he(e.id),children:`Set as primary`}),(0,K.jsx)(`button`,{type:`button`,className:`kv-post-attachment-btn kv-post-attachment-btn--danger`,onClick:()=>W(e.id),children:`Remove`})]})]},e.id)})})]}),(0,K.jsxs)(`div`,{className:`kv-post-caption-block mt-4`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-post-caption`,className:`kv-post-caption-label`,children:`Caption / description (optional)`}),(0,K.jsx)(`textarea`,{id:`kv-post-caption`,placeholder:R?`Summarize what this agreement covers, key obligations, or why you are sealing it now…`:`Describe the moment, the pulse, or what this bundle of files represents…`,className:`kv-post-caption-textarea`,rows:3,maxLength:I,value:f,onChange:e=>p(e.target.value)}),(0,K.jsx)(`div`,{className:`kv-post-caption-footer`,children:(0,K.jsxs)(`span`,{className:`kv-post-caption-count`,children:[f.length,`/`,I]})})]}),(0,K.jsxs)(`div`,{className:`kv-post-link-block mt-4`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-post-link`,className:`kv-post-link-label`,children:`Canonical URL (optional)`}),(0,K.jsx)(`input`,{id:`kv-post-link`,type:`url`,inputMode:`url`,placeholder:`https://… (DMS link, IPFS URL, external system reference)`,className:`kv-post-link-input`,value:m,onChange:e=>h(e.target.value)}),(0,K.jsx)(`p`,{className:`kv-post-link-hint`,children:`This can point to the master copy of the contract, folder, or evidence bundle. It will be sealed alongside the files.`})]}),g===`legal-contract`&&(0,K.jsxs)(`div`,{className:`kv-post-legal-block mt-6`,children:[(0,K.jsx)(`div`,{className:`kv-post-legal-header`,children:`Legal details for this agreement`}),(0,K.jsxs)(`div`,{className:`kv-post-legal-grid`,children:[(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsxs)(`label`,{htmlFor:`kv-legal-title`,className:`kv-post-legal-label`,children:[`Agreement title `,(0,K.jsx)(`span`,{className:`kv-post-legal-required`,children:`*`})]}),(0,K.jsx)(`input`,{id:`kv-legal-title`,type:`text`,className:`kv-post-legal-input`,placeholder:`e.g. Master Services Agreement, NDA, Licensing Deal…`,value:v,onChange:e=>y(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsxs)(`label`,{htmlFor:`kv-legal-counterparty`,className:`kv-post-legal-label`,children:[`Counterparty name `,(0,K.jsx)(`span`,{className:`kv-post-legal-required`,children:`*`})]}),(0,K.jsx)(`input`,{id:`kv-legal-counterparty`,type:`text`,className:`kv-post-legal-input`,placeholder:`Person or organization`,value:b,onChange:e=>x(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-legal-email`,className:`kv-post-legal-label`,children:`Counterparty contact (optional)`}),(0,K.jsx)(`input`,{id:`kv-legal-email`,type:`email`,className:`kv-post-legal-input`,placeholder:`Email or contact handle`,value:S,onChange:e=>C(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-legal-jurisdiction`,className:`kv-post-legal-label`,children:`Jurisdiction (optional)`}),(0,K.jsx)(`input`,{id:`kv-legal-jurisdiction`,type:`text`,className:`kv-post-legal-input`,placeholder:`e.g. Ontario, Canada • Delaware, USA • EU-wide…`,value:w,onChange:e=>T(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-legal-effective`,className:`kv-post-legal-label`,children:`Effective date (optional)`}),(0,K.jsx)(`input`,{id:`kv-legal-effective`,type:`date`,className:`kv-post-legal-input`,value:E,onChange:e=>D(e.target.value)})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-field`,children:[(0,K.jsx)(`label`,{htmlFor:`kv-legal-ref`,className:`kv-post-legal-label`,children:`Reference code (optional)`}),(0,K.jsx)(`input`,{id:`kv-legal-ref`,type:`text`,className:`kv-post-legal-input`,placeholder:`Internal ID, contract number, matter code…`,value:O,onChange:e=>k(e.target.value)})]})]}),(0,K.jsxs)(`div`,{className:`kv-post-legal-flags mt-3`,children:[(0,K.jsxs)(`label`,{className:`kv-post-legal-flag`,children:[(0,K.jsx)(`input`,{type:`checkbox`,checked:A,onChange:e=>j(e.target.checked)}),(0,K.jsx)(`span`,{children:`This agreement is confidential`})]}),(0,K.jsxs)(`label`,{className:`kv-post-legal-flag`,children:[(0,K.jsx)(`input`,{type:`checkbox`,checked:ee,onChange:e=>te(e.target.checked)}),(0,K.jsx)(`span`,{children:`This bundle includes personal data (names, addresses, IDs, etc.)`})]})]}),(0,K.jsx)(`p`,{className:`kv-post-legal-hint mt-2`,children:`These details are sealed as metadata with the files and time pulse, creating a clear, timestamped record of what was agreed and with whom. This does not replace legal advice—use it as a hardened, auditable trail around your contracts.`})]})]}),(0,K.jsx)(`div`,{className:`kv-post-actions w-full max-w-xl mt-4 flex justify-end`,children:(0,K.jsx)(`button`,{type:`button`,className:`kv-post-submit-btn`,onClick:ge,disabled:!L||re,children:re?`Sealing…`:`Seal with Breath`})}),(0,K.jsx)(`input`,{id:`kv-post-file-input`,type:`file`,multiple:!0,accept:`*/*`,ref:t,onChange:ue,className:`kv-post-file-input`})]})}var Rt=M(((e,t)=>{var n=`Input must be an string, Buffer or Uint8Array`;function r(e){let t;if(e instanceof Uint8Array)t=e;else if(typeof e==`string`)t=new TextEncoder().encode(e);else throw Error(n);return t}function i(e){return Array.prototype.map.call(e,function(e){return(e<16?`0`:``)+e.toString(16)}).join(``)}function a(e){return(4294967296+e).toString(16).substring(1)}function o(e,t,n){let r=` `+e+` = `;for(let i=0;i{var n=Rt();function r(e,t,n){let r=e[t]+e[n],i=e[t+1]+e[n+1];r>=4294967296&&i++,e[t]=r,e[t+1]=i}function i(e,t,n,r){let i=e[t]+n;n<0&&(i+=4294967296);let a=e[t+1]+r;i>=4294967296&&a++,e[t]=i,e[t+1]=a}function a(e,t){return e[t]^e[t+1]<<8^e[t+2]<<16^e[t+3]<<24}function o(e,t,n,a,o,s){let c=u[o],d=u[o+1],f=u[s],p=u[s+1];r(l,e,t),i(l,e,c,d);let m=l[a]^l[e],h=l[a+1]^l[e+1];l[a]=h,l[a+1]=m,r(l,n,a),m=l[t]^l[n],h=l[t+1]^l[n+1],l[t]=m>>>24^h<<8,l[t+1]=h>>>24^m<<8,r(l,e,t),i(l,e,f,p),m=l[a]^l[e],h=l[a+1]^l[e+1],l[a]=m>>>16^h<<16,l[a+1]=h>>>16^m<<16,r(l,n,a),m=l[t]^l[n],h=l[t+1]^l[n+1],l[t]=h>>>31^m<<1,l[t+1]=m>>>31^h<<1}var s=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),c=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map(function(e){return e*2})),l=new Uint32Array(32),u=new Uint32Array(32);function d(e,t){let n=0;for(n=0;n<16;n++)l[n]=e.h[n],l[n+16]=s[n];for(l[24]^=e.t,l[25]^=e.t/4294967296,t&&(l[28]=~l[28],l[29]=~l[29]),n=0;n<32;n++)u[n]=a(e.b,4*n);for(n=0;n<12;n++)o(0,8,16,24,c[n*16+0],c[n*16+1]),o(2,10,18,26,c[n*16+2],c[n*16+3]),o(4,12,20,28,c[n*16+4],c[n*16+5]),o(6,14,22,30,c[n*16+6],c[n*16+7]),o(0,10,20,30,c[n*16+8],c[n*16+9]),o(2,12,22,24,c[n*16+10],c[n*16+11]),o(4,14,16,26,c[n*16+12],c[n*16+13]),o(6,8,18,28,c[n*16+14],c[n*16+15]);for(n=0;n<16;n++)e.h[n]=e.h[n]^l[n]^l[n+16]}var f=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function p(e,t,n,r){if(e===0||e>64)throw Error(`Illegal output length, expected 0 < length <= 64`);if(t&&t.length>64)throw Error(`Illegal key, expected Uint8Array with 0 < length <= 64`);if(n&&n.length!==16)throw Error(`Illegal salt, expected Uint8Array with length is 16`);if(r&&r.length!==16)throw Error(`Illegal personal, expected Uint8Array with length is 16`);let i={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:e};f.fill(0),f[0]=e,t&&(f[1]=t.length),f[2]=1,f[3]=1,n&&f.set(n,32),r&&f.set(r,48);for(let e=0;e<16;e++)i.h[e]=s[e]^a(f,e*4);return t&&(m(i,t),i.c=128),i}function m(e,t){for(let n=0;n>2]>>8*(n&3);return t}function g(e,t,r,i,a){r||=64,e=n.normalizeInput(e),i&&=n.normalizeInput(i),a&&=n.normalizeInput(a);let o=p(r,t,i,a);return m(o,e),h(o)}function _(e,t,r,i,a){let o=g(e,t,r,i,a);return n.toHex(o)}t.exports={blake2b:g,blake2bHex:_,blake2bInit:p,blake2bUpdate:m,blake2bFinal:h}})),Bt=M(((e,t)=>{var n=Rt();function r(e,t){return e[t]^e[t+1]<<8^e[t+2]<<16^e[t+3]<<24}function i(e,t,n,r,i,o){c[e]=c[e]+c[t]+i,c[r]=a(c[r]^c[e],16),c[n]=c[n]+c[r],c[t]=a(c[t]^c[n],12),c[e]=c[e]+c[t]+o,c[r]=a(c[r]^c[e],8),c[n]=c[n]+c[r],c[t]=a(c[t]^c[n],7)}function a(e,t){return e>>>t^e<<32-t}var o=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),s=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),c=new Uint32Array(16),l=new Uint32Array(16);function u(e,t){let n=0;for(n=0;n<8;n++)c[n]=e.h[n],c[n+8]=o[n];for(c[12]^=e.t,c[13]^=e.t/4294967296,t&&(c[14]=~c[14]),n=0;n<16;n++)l[n]=r(e.b,4*n);for(n=0;n<10;n++)i(0,4,8,12,l[s[n*16+0]],l[s[n*16+1]]),i(1,5,9,13,l[s[n*16+2]],l[s[n*16+3]]),i(2,6,10,14,l[s[n*16+4]],l[s[n*16+5]]),i(3,7,11,15,l[s[n*16+6]],l[s[n*16+7]]),i(0,5,10,15,l[s[n*16+8]],l[s[n*16+9]]),i(1,6,11,12,l[s[n*16+10]],l[s[n*16+11]]),i(2,7,8,13,l[s[n*16+12]],l[s[n*16+13]]),i(3,4,9,14,l[s[n*16+14]],l[s[n*16+15]]);for(n=0;n<8;n++)e.h[n]^=c[n]^c[n+8]}function d(e,t){if(!(e>0&&e<=32))throw Error(`Incorrect output length, should be in [1, 32]`);let n=t?t.length:0;if(t&&!(n>0&&n<=32))throw Error(`Incorrect key length, should be in [1, 32]`);let r={h:new Uint32Array(o),b:new Uint8Array(64),c:0,t:0,outlen:e};return r.h[0]^=16842752^n<<8^e,n>0&&(f(r,t),r.c=64),r}function f(e,t){for(let n=0;n>2]>>8*(n&3)&255;return t}function m(e,t,r){r||=32,e=n.normalizeInput(e);let i=d(r,t);return f(i,e),p(i)}function h(e,t,r){let i=m(e,t,r);return n.toHex(i)}t.exports={blake2s:m,blake2sHex:h,blake2sInit:d,blake2sUpdate:f,blake2sFinal:p}})),Vt=ue(M(((e,t)=>{var n=zt(),r=Bt();t.exports={blake2b:n.blake2b,blake2bHex:n.blake2bHex,blake2bInit:n.blake2bInit,blake2bUpdate:n.blake2bUpdate,blake2bFinal:n.blake2bFinal,blake2s:r.blake2s,blake2sHex:r.blake2sHex,blake2sInit:r.blake2sInit,blake2sUpdate:r.blake2sUpdate,blake2sFinal:r.blake2sFinal}}))(),1),Ht=5236,Ut=50;function Wt(e){return e===`root`||e===`sacral`||e===`solar`||e===`heart`||e===`throat`||e===`thirdEye`||e===`crown`||e===`krown`}function Gt({post:t,identityKaiSignature:n,userPhiKey:r,onSealComplete:i}){let[a,o]=(0,G.useState)(`idle`),[s,c]=(0,G.useState)(0),[l,u]=(0,G.useState)(null),f=(0,G.useRef)(null),p=(0,G.useRef)(!1),m=(0,G.useRef)(0),h=(0,G.useRef)(!0),g=(0,G.useMemo)(()=>Ht*2,[]);(0,G.useEffect)(()=>(h.current=!0,()=>{h.current=!1,f.current!=null&&window.clearInterval(f.current)}),[]);let _=()=>{f.current!=null&&(window.clearInterval(f.current),f.current=null)},v=()=>{if(!p.current){if(!n.trim()){u(`Missing identityKaiSignature (session signature). Please re-login.`),o(`idle`),c(0);return}_(),u(null),o(`inhale`),c(0),p.current=!1,m.current=0,f.current=window.setInterval(()=>{m.current+=Ut;let e=m.current;if(e{if(!p.current){p.current=!0;try{let a=n.trim();if(!a)throw Error(`Missing identityKaiSignature (session signature).`);let s=await d(void 0,new e({ignoreOverride:!0})),c=Number(s.pulse??0),l=Wt(s.chakraDay)?s.chakraDay:null,u=t.file?.name??`unknown`,f=Vt.default.blake2bHex(`${u}-${c}`,void 0,16);if(i({pulse:c,kaiSignature:a,chakraDay:l,post:t,userPhiKey:r??null,kksNonce:f}),!h.current)return;o(`sealed`)}catch(e){p.current=!1;let t=e instanceof Error?e.message:`Failed to seal with live Kai pulse. Please try again.`;if(!h.current)return;u(t),o(`idle`),c(0)}}},b=(()=>{if(l)return`Error`;switch(a){case`idle`:return`Ready to Breathe`;case`inhale`:return`Inhale`;case`exhale`:return`Exhale`;case`sealed`:return`Sealed in Kairos`;default:return`Breath`}})(),x=Math.round(Math.min(s,.5)*200),S=Math.round(Math.max(s-.5,0)*200),C=(()=>{if(l)return l;switch(a){case`idle`:return`Tap begin, inhale as the orb expands, exhale as it returns to stillness. We’ll seal at the end of your exhale.`;case`inhale`:return`Inhale slowly… ${x}%`;case`exhale`:return`Exhale and let go… ${50+S}% — sealing this breath into KaiOS.`;case`sealed`:return`Sealed on a live Kai pulse. Advancing to embed…`;default:return``}})(),w=(()=>{if(l)return`⚠️`;switch(a){case`idle`:return`🌬`;case`inhale`:return`🫁`;case`exhale`:return`🌀`;case`sealed`:return`✨`;default:return`🌬`}})(),T=t.file?.name&&t.file.name.length>40?`${t.file.name.slice(0,22)}…${t.file.name.slice(-12)}`:t.file?.name??`Unnamed glyph`;return(0,K.jsxs)(`div`,{className:`kv-breath-root`,"data-phase":a,"aria-live":`polite`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-meta`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-meta-left`,children:[(0,K.jsx)(`span`,{className:`kv-breath-pill`,children:`Breath Seal • φ 5.236s`}),(0,K.jsx)(`span`,{className:`kv-breath-file`,title:t.file?.name,children:T})]}),(0,K.jsx)(`div`,{className:`kv-breath-meta-right`,children:(0,K.jsx)(`span`,{className:`kv-breath-tag`,children:`Live Kai Pulse`})})]}),(0,K.jsxs)(`div`,{className:`kv-breath-orb-row`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-orb`,"aria-label":`Breath phase: ${b}`,children:[(0,K.jsx)(`div`,{className:`kv-breath-orb-inner`,children:(0,K.jsx)(`span`,{className:`kv-breath-orb-emoji`,children:w})}),(0,K.jsx)(`div`,{className:`kv-breath-orb-ring`,style:{"--kv-breath-progress":s}})]}),(0,K.jsxs)(`div`,{className:`kv-breath-status`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-status-row`,children:[(0,K.jsx)(`span`,{className:`kv-breath-status-label`,children:b}),(0,K.jsxs)(`span`,{className:`kv-breath-status-percent`,children:[Math.round(s*100),`%`]})]}),(0,K.jsx)(`p`,{className:`kv-breath-status-text`,children:C}),(0,K.jsxs)(`div`,{className:`kv-breath-bars`,children:[(0,K.jsxs)(`div`,{className:`kv-breath-bar`,children:[(0,K.jsx)(`span`,{className:`kv-breath-bar-label`,children:`Inhale`}),(0,K.jsx)(`div`,{className:`kv-breath-bar-track`,"aria-hidden":`true`,children:(0,K.jsx)(`div`,{className:`kv-breath-bar-fill kv-breath-bar-fill--inhale`,style:{width:`${x}%`}})})]}),(0,K.jsxs)(`div`,{className:`kv-breath-bar`,children:[(0,K.jsx)(`span`,{className:`kv-breath-bar-label`,children:`Exhale`}),(0,K.jsx)(`div`,{className:`kv-breath-bar-track`,"aria-hidden":`true`,children:(0,K.jsx)(`div`,{className:`kv-breath-bar-fill kv-breath-bar-fill--exhale`,style:{width:`${S}%`}})})]})]})]})]}),(0,K.jsxs)(`div`,{className:`kv-breath-actions`,children:[a===`idle`&&!p.current&&!l&&(0,K.jsx)(`button`,{type:`button`,onClick:v,className:`kv-breath-btn kv-breath-btn-primary`,children:`Begin Breath`}),l&&a===`idle`&&(0,K.jsx)(`button`,{type:`button`,onClick:v,className:`kv-breath-btn kv-breath-btn-warning`,children:`Retry Breath Seal`}),a!==`idle`&&a!==`sealed`&&!l&&(0,K.jsx)(`button`,{type:`button`,className:`kv-breath-btn kv-breath-btn-ghost`,disabled:!0,children:`Sealing on this exhale…`}),a===`sealed`&&(0,K.jsx)(`div`,{className:`kv-breath-sealed-note`,children:`Sealed. The stream will remember this breath forever.`})]})]})}function Kt(e){let t=e.trim();return(t.startsWith(`0x`)||t.startsWith(`0X`))&&(t=t.slice(2)),/^[0-9a-fA-F]+$/.test(t)&&(t=t.toLowerCase()),t}var qt=`http://www.w3.org/2000/svg`;async function Jt(e){let t=typeof e==`string`?e:JSON.stringify(e),n=new TextEncoder().encode(t),r=await crypto.subtle.digest(`SHA-256`,n),i=new Uint8Array(r),a=``;for(let e=0;e0?s=o.item(0):(s=t.createElementNS(qt,`metadata`),a.appendChild(s)),s.textContent=JSON.stringify(i,null,2);let c=new XMLSerializer().serializeToString(t);return{type:`image`,content:new Blob([c],{type:`image/svg+xml`}),filename:`sigil-${r}.svg`,metadata:i}}return n.mediaType===`image`?{type:`image`,content:n.file,filename:n.file.name,metadata:i}:{type:`video`,content:n.file,filename:n.file.name,metadata:i}}function Qt(e){let{baseCaption:t,phiKey:n,kaiSignature:r,pulse:i,chakraDay:a,verifierUrl:o}=e,s=[];return t&&t.trim().length>0&&s.push(t.trim(),``),s.push(`—`),s.push(`Kai-Sigil Proof of Origin`),n&&s.push(`Φ-Key: ${n}`),r&&s.push(`Kai Signature: ${r}`),typeof i==`number`&&s.push(`Pulse: ${i}`),a&&s.push(`Chakra Day: ${a}`),o&&(s.push(``),s.push(`Verify this post: ${o}`)),s.join(` diff --git a/dist/assets/KaiVohModal-BqDfvEQV.js b/dist/assets/KaiVohModal-CoPHpKyR.js similarity index 93% rename from dist/assets/KaiVohModal-BqDfvEQV.js rename to dist/assets/KaiVohModal-CoPHpKyR.js index 91cbb77fd..89221e62e 100644 --- a/dist/assets/KaiVohModal-BqDfvEQV.js +++ b/dist/assets/KaiVohModal-CoPHpKyR.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KaiVohApp-6rNHpMY-.js","assets/index-BRD6BMdN.js","assets/index-BgUnq8XG.css","assets/browser-CcokOQRV.js","assets/SigilAuthContext-D65FNUcD.js","assets/ticker-Dx-CZn_P.js","assets/ticker-B0glx6FE.css","assets/VerifierFrame-_NAWoYos.js","assets/VerifierFrame-CSoanQJ_.css","assets/sessionStorage-CKL6_xzc.js","assets/postSeal-DE4BCNSp.js","assets/webauthnKAS-B61nfyUR.js","assets/KaiVohApp-Brroi08x.css","assets/KaiRealms-Cir-GgrI.js","assets/x-DqyVJUhJ.js","assets/KaiRealms-BZJvSAmB.css"])))=>i.map(i=>d[i]); -import{t as e}from"./x-DqyVJUhJ.js";import{Kt as t,di as n,li as r,pi as i,yi as a}from"./index-BRD6BMdN.js";import{t as o}from"./SigilAuthContext-D65FNUcD.js";import{n as s}from"./sessionStorage-CKL6_xzc.js";import{t as c}from"./SigilAuthProvider-DUGvkie1.js";var l=a(n(),1),u=a(i(),1),d=a(t(),1),f=class extends u.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[KaiVoh] render error:`,e,t)}render(){return this.state.error?(0,d.jsxs)(`div`,{style:{padding:`1rem`,textAlign:`center`},children:[(0,d.jsx)(`h2`,{style:{fontSize:18,fontWeight:600},children:`KaiVoh failed to load`}),(0,d.jsx)(`p`,{style:{opacity:.8,marginTop:8},children:this.state.error.message}),(0,d.jsxs)(`details`,{style:{opacity:.65,marginTop:12,textAlign:`left`},children:[(0,d.jsx)(`summary`,{children:`Details`}),(0,d.jsx)(`pre`,{style:{whiteSpace:`pre-wrap`},children:String(this.state.error.stack??``)})]})]}):this.props.children}};function p(){let e=(0,u.useContext)(o);if(!e)throw Error(`useSigilAuth must be used inside `);return e}var m=(0,u.lazy)(()=>r(()=>import(`./KaiVohApp-6rNHpMY-.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))),h=(0,u.lazy)(()=>r(()=>import(`./KaiRealms-Cir-GgrI.js`),__vite__mapDeps([13,1,2,14,15]))),g=(1+Math.sqrt(5))/2,_=5.236,v=610,y=377;function b({className:e}){let t=(0,u.useId)();return(0,d.jsxs)(`svg`,{className:e,width:v,height:y,viewBox:`0 0 ${v} ${y}`,"aria-hidden":`true`,focusable:`false`,children:[(0,d.jsx)(`defs`,{children:(0,d.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,d.jsx)(`stop`,{offset:`0%`,stopColor:`currentColor`,stopOpacity:`0.0`}),(0,d.jsx)(`stop`,{offset:`40%`,stopColor:`currentColor`,stopOpacity:`0.5`}),(0,d.jsx)(`stop`,{offset:`100%`,stopColor:`currentColor`,stopOpacity:`0.0`})]})}),(0,d.jsxs)(`g`,{fill:`none`,stroke:`url(#${t})`,strokeWidth:`2`,children:[(0,d.jsx)(`path`,{d:`M377 0 A377 377 0 0 1 0 377`}),(0,d.jsx)(`path`,{d:`M233 0 A233 233 0 0 1 0 233`}),(0,d.jsx)(`path`,{d:`M144 0 A144 144 0 0 1 0 144`}),(0,d.jsx)(`path`,{d:`M89 0 A89 89 0 0 1 0 89`}),(0,d.jsx)(`path`,{d:`M55 0 A55 55 0 0 1 0 55`}),(0,d.jsx)(`path`,{d:`M34 0 A34 34 0 0 1 0 34`}),(0,d.jsx)(`path`,{d:`M21 0 A21 21 0 0 1 0 21`})]})]})}function x({className:e}){return(0,d.jsxs)(`div`,{className:`seal-emblem ${e??``}`,"aria-hidden":`true`,children:[(0,d.jsx)(`div`,{className:`seal-ring seal-ring--outer`}),(0,d.jsx)(`div`,{className:`seal-ring seal-ring--inner`}),(0,d.jsx)(`div`,{className:`seal-core`})]})}function S({className:e}){let{auth:t}=p(),n=t.meta;if(!n)return null;let r=[`Pulse: ${n.pulse}`,`Beat: ${n.beat}`,`Step: ${n.stepIndex}`,`Day: ${n.chakraDay}`];return n.sigilId&&r.push(`Sigil: ${n.sigilId}`),n.userPhiKey&&r.push(`PhiKey: ${n.userPhiKey}`),(0,d.jsxs)(`div`,{className:`sigil-auth-pill ${e??``}`,role:`status`,"aria-live":`polite`,title:r.join(` • `),style:{maxWidth:`100%`,overflowX:`auto`,whiteSpace:`nowrap`},children:[(0,d.jsx)(`span`,{className:`sigil-auth-pill__dot`,"aria-hidden":`true`}),(0,d.jsxs)(`span`,{className:`sigil-auth-pill__text mono`,children:[`Sealed • `,n.pulse,` • `,n.chakraDay,n.sigilId?` • ${n.sigilId}`:``]})]})}function C(e){return e?Array.from(e.querySelectorAll([`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`))).filter(e=>!e.hasAttribute(`disabled`)&&!e.getAttribute(`aria-hidden`)):[]}function w(e){return e?e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?!e.disabled:!!(e instanceof HTMLElement&&e.isContentEditable):!1}function T(e){if(!e||e instanceof HTMLTextAreaElement)return!1;if(e instanceof HTMLSelectElement)return!0;if(e instanceof HTMLInputElement){let t=e.type.toLowerCase();return![`button`,`submit`,`reset`,`checkbox`,`radio`,`file`,`range`,`color`].includes(t)}return!1}function E({open:t,onClose:n}){let r=(0,u.useCallback)(()=>{s(),n()},[n]),i=(0,u.useRef)(null),a=(0,u.useRef)(null),o=(0,u.useRef)(null),p=(0,u.useRef)(0),v=(0,u.useRef)(0),[y,E]=(0,u.useState)(`voh`),[D,O]=(0,u.useState)(!1),k=(0,u.useCallback)(e=>{e===`realms`&&!D&&O(!0),E(e)},[D]),A=(0,u.useMemo)(()=>({breath:`${_}s`,phi:`${g}`}),[]);(0,u.useEffect)(()=>{if(!t)return;let e=!window.matchMedia?.(`(pointer: coarse)`)?.matches,n={bodyOverflow:document.body.style.overflow,bodyPosition:document.body.style.position,bodyTop:document.body.style.top,bodyLeft:document.body.style.left,bodyRight:document.body.style.right,bodyWidth:document.body.style.width,bodyHeight:document.body.style.height,htmlOverflow:document.documentElement.style.overflow,htmlHeight:document.documentElement.style.height,docOverscroll:document.documentElement.style.getPropertyValue(`overscroll-behavior`),bodyOverscroll:document.body.style.getPropertyValue(`overscroll-behavior`),touchAction:document.documentElement.style.touchAction,breath:document.documentElement.style.getPropertyValue(`--kai-breath`),phi:document.documentElement.style.getPropertyValue(`--kai-phi`),kaiVh:document.documentElement.style.getPropertyValue(`--kai-vh`)};v.current=window.scrollY||window.pageYOffset||0,document.body.style.position=`fixed`,document.body.style.top=`-${v.current}px`,document.body.style.left=`0`,document.body.style.right=`0`,document.body.style.width=`100%`,document.body.style.height=`100%`,document.body.style.overflow=`hidden`,document.documentElement.style.overflow=`hidden`,document.documentElement.style.height=`100%`,document.documentElement.style.setProperty(`overscroll-behavior`,`none`),document.body.style.setProperty(`overscroll-behavior`,`none`),document.documentElement.style.touchAction=`manipulation`,document.documentElement.style.setProperty(`--kai-breath`,A.breath),document.documentElement.style.setProperty(`--kai-phi`,A.phi);let s=()=>{document.documentElement.style.setProperty(`--kai-vh`,`${window.innerHeight}px`)};s(),window.addEventListener(`resize`,s,{passive:!0});let c=o.current;c&&(c.style.overscrollBehavior=`contain`,c.style.webkitOverflowScrolling=`touch`),a.current?.focus();let l=e=>{p.current=e.touches[0]?.clientY??0},u=e=>{if(e.touches.length!==1)return;let t=o.current;if(!t){e.preventDefault();return}let n=e.target;if(!(n&&t.contains(n))){e.preventDefault();return}let r=(e.touches[0]?.clientY??p.current)-p.current,i=t.scrollTop<=0,a=t.scrollTop+t.clientHeight>=t.scrollHeight-1;(i&&r>0||a&&r<0)&&e.preventDefault()},d=e=>{let t=o.current;if(!t){e.preventDefault();return}let n=e.target;if(!(n&&t.contains(n))){e.preventDefault();return}let r=e.deltaY,i=t.scrollTop<=0,a=t.scrollTop+t.clientHeight>=t.scrollHeight-1;(i&&r<0||a&&r>0)&&e.preventDefault()},f=t=>{if(t.key===`Escape`){if(!e||w(document.activeElement)||w(t.target))return;t.preventDefault(),t.stopPropagation(),r();return}if(t.key===`Enter`){let e=t.target;T(e)&&i.current?.contains(e)&&t.preventDefault()}if(t.key!==`Tab`)return;let n=i.current,a=C(n);if(a.length===0)return;let o=document.activeElement,s=a[0],c=a[a.length-1];if(!o||!n?.contains(o)){t.preventDefault(),s.focus();return}t.shiftKey?o===s&&(t.preventDefault(),c.focus()):o===c&&(t.preventDefault(),s.focus())},m=new AbortController,h={passive:!0,signal:m.signal,capture:!0},g={passive:!1,signal:m.signal,capture:!0},_={passive:!1,signal:m.signal,capture:!0},y={signal:m.signal,capture:!0};document.addEventListener(`touchstart`,l,h),document.addEventListener(`touchmove`,u,g),document.addEventListener(`wheel`,d,_),document.addEventListener(`keydown`,f,y);let b=e=>{e.preventDefault()};return document.addEventListener(`gesturestart`,b,{passive:!1,signal:m.signal}),document.addEventListener(`gesturechange`,b,{passive:!1,signal:m.signal}),document.addEventListener(`gestureend`,b,{passive:!1,signal:m.signal}),document.addEventListener(`submit`,e=>{let t=e.target;t&&i.current?.contains(t)&&(e.preventDefault(),e.stopPropagation())},{capture:!0,signal:m.signal}),()=>{m.abort(),window.removeEventListener(`resize`,s),document.body.style.overflow=n.bodyOverflow,document.body.style.position=n.bodyPosition,document.body.style.top=n.bodyTop,document.body.style.left=n.bodyLeft,document.body.style.right=n.bodyRight,document.body.style.width=n.bodyWidth,document.body.style.height=n.bodyHeight,document.documentElement.style.overflow=n.htmlOverflow,document.documentElement.style.height=n.htmlHeight,n.docOverscroll?document.documentElement.style.setProperty(`overscroll-behavior`,n.docOverscroll):document.documentElement.style.removeProperty(`overscroll-behavior`),n.bodyOverscroll?document.body.style.setProperty(`overscroll-behavior`,n.bodyOverscroll):document.body.style.removeProperty(`overscroll-behavior`),document.documentElement.style.touchAction=n.touchAction,n.breath?document.documentElement.style.setProperty(`--kai-breath`,n.breath):document.documentElement.style.removeProperty(`--kai-breath`),n.phi?document.documentElement.style.setProperty(`--kai-phi`,n.phi):document.documentElement.style.removeProperty(`--kai-phi`),n.kaiVh?document.documentElement.style.setProperty(`--kai-vh`,n.kaiVh):document.documentElement.style.removeProperty(`--kai-vh`);let e=v.current||0;window.scrollTo(0,e)}},[t,r,A.breath,A.phi]);let j=(0,u.useCallback)(e=>{e.stopPropagation(),r()},[r]),M=(0,u.useCallback)(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),r())},[r]);return t?(0,l.createPortal)((0,d.jsxs)(`div`,{ref:i,className:`kai-voh-modal-backdrop atlantean-veil`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`kaivoh-title`,"data-view":y,children:[(0,d.jsx)(`div`,{className:`atlantean-stars`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`atlantean-halo atlantean-halo--1`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`atlantean-halo atlantean-halo--2`,"aria-hidden":`true`}),(0,d.jsxs)(`div`,{className:`kai-voh-container kai-pulse-border glass-omni`,role:`document`,children:[(0,d.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`phi-grid`,"aria-hidden":`true`}),(0,d.jsx)(b,{className:`phi-spiral phi-spiral--tl`}),(0,d.jsx)(b,{className:`phi-spiral phi-spiral--br`}),(0,d.jsxs)(c,{children:[y!==`realms`&&(0,d.jsx)(`button`,{ref:a,type:`button`,className:`kai-voh-close auric-btn`,"aria-label":`Close portal`,onPointerDown:j,onKeyDown:M,children:(0,d.jsx)(e,{size:22,"aria-hidden":`true`})}),y!==`realms`&&(0,d.jsx)(`div`,{className:`voh-top-orb`,"aria-hidden":`true`,children:(0,d.jsx)(x,{})}),(0,d.jsxs)(`div`,{className:`kai-voh-tabbar`,role:`tablist`,"aria-label":`Kai portal views`,children:[(0,d.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`voh`,className:`kai-voh-tab auric-tab ${y===`voh`?`active`:``}`,onClick:()=>k(`voh`),children:[(0,d.jsx)(`span`,{className:`tab-glyph`,"aria-hidden":`true`,children:`🜂`}),` `,`Voh`]}),(0,d.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`realms`,className:`kai-voh-tab auric-tab ${y===`realms`?`active`:``}`,onClick:()=>k(`realms`),children:[(0,d.jsx)(`span`,{className:`tab-glyph`,"aria-hidden":`true`,children:`⚚`}),` `,`Realms`]}),(0,d.jsx)(`div`,{className:`breath-meter`,"aria-hidden":`true`,children:(0,d.jsx)(`div`,{className:`breath-meter__dot`})}),(0,d.jsx)(S,{className:`sigil-auth-pill--tabbar`})]}),(0,d.jsxs)(`div`,{className:`kai-voh-body`,ref:o,children:[(0,d.jsx)(`h2`,{id:`kaivoh-title`,className:`sr-only`,children:`Kai Portal`}),(0,d.jsxs)(f,{children:[(0,d.jsx)(`section`,{className:`portal-pane portal-pane--voh`,style:{display:y===`voh`?`block`:`none`},"aria-hidden":y!==`voh`,children:(0,d.jsx)(u.Suspense,{fallback:(0,d.jsxs)(`div`,{className:`kai-voh-center`,children:[(0,d.jsx)(`div`,{className:`kai-voh-spinner`}),(0,d.jsx)(`div`,{children:`Summoning Voh…`})]}),children:(0,d.jsx)(m,{})})}),(0,d.jsx)(`section`,{className:`portal-pane portal-pane--realms`,style:{display:y===`realms`?`block`:`none`},"aria-hidden":y!==`realms`,children:D?(0,d.jsx)(u.Suspense,{fallback:(0,d.jsxs)(`div`,{className:`kai-voh-center`,children:[(0,d.jsx)(`div`,{className:`kai-voh-spinner`}),(0,d.jsx)(`div`,{children:`Opening Kai Realms…`})]}),children:(0,d.jsx)(h,{onClose:()=>k(`voh`)})}):null})]})]})]})]})]}),document.body):null}export{E as default}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KaiVohApp-DyV7Mxew.js","assets/index-DW_ZnoNU.js","assets/index-DIbPwWUC.css","assets/browser-CIIQI5ZG.js","assets/SigilAuthContext-rbXUYZ1p.js","assets/ticker-ESiwEkfY.js","assets/ticker-B0glx6FE.css","assets/VerifierFrame-B2gPiRrx.js","assets/VerifierFrame-CSoanQJ_.css","assets/sessionStorage-CKL6_xzc.js","assets/postSeal-DE4BCNSp.js","assets/webauthnKAS-C2GwAz2K.js","assets/KaiVohApp-Brroi08x.css","assets/KaiRealms-CPalwCap.js","assets/x-B7PcV-pW.js","assets/KaiRealms-BZJvSAmB.css"])))=>i.map(i=>d[i]); +import{t as e}from"./x-B7PcV-pW.js";import{Kt as t,di as n,li as r,pi as i,yi as a}from"./index-DW_ZnoNU.js";import{t as o}from"./SigilAuthContext-rbXUYZ1p.js";import{n as s}from"./sessionStorage-CKL6_xzc.js";import{t as c}from"./SigilAuthProvider-CWcy5VQ0.js";var l=a(n(),1),u=a(i(),1),d=a(t(),1),f=class extends u.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[KaiVoh] render error:`,e,t)}render(){return this.state.error?(0,d.jsxs)(`div`,{style:{padding:`1rem`,textAlign:`center`},children:[(0,d.jsx)(`h2`,{style:{fontSize:18,fontWeight:600},children:`KaiVoh failed to load`}),(0,d.jsx)(`p`,{style:{opacity:.8,marginTop:8},children:this.state.error.message}),(0,d.jsxs)(`details`,{style:{opacity:.65,marginTop:12,textAlign:`left`},children:[(0,d.jsx)(`summary`,{children:`Details`}),(0,d.jsx)(`pre`,{style:{whiteSpace:`pre-wrap`},children:String(this.state.error.stack??``)})]})]}):this.props.children}};function p(){let e=(0,u.useContext)(o);if(!e)throw Error(`useSigilAuth must be used inside `);return e}var m=(0,u.lazy)(()=>r(()=>import(`./KaiVohApp-DyV7Mxew.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))),h=(0,u.lazy)(()=>r(()=>import(`./KaiRealms-CPalwCap.js`),__vite__mapDeps([13,1,2,14,15]))),g=(1+Math.sqrt(5))/2,_=5.236,v=610,y=377;function b({className:e}){let t=(0,u.useId)();return(0,d.jsxs)(`svg`,{className:e,width:v,height:y,viewBox:`0 0 ${v} ${y}`,"aria-hidden":`true`,focusable:`false`,children:[(0,d.jsx)(`defs`,{children:(0,d.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,d.jsx)(`stop`,{offset:`0%`,stopColor:`currentColor`,stopOpacity:`0.0`}),(0,d.jsx)(`stop`,{offset:`40%`,stopColor:`currentColor`,stopOpacity:`0.5`}),(0,d.jsx)(`stop`,{offset:`100%`,stopColor:`currentColor`,stopOpacity:`0.0`})]})}),(0,d.jsxs)(`g`,{fill:`none`,stroke:`url(#${t})`,strokeWidth:`2`,children:[(0,d.jsx)(`path`,{d:`M377 0 A377 377 0 0 1 0 377`}),(0,d.jsx)(`path`,{d:`M233 0 A233 233 0 0 1 0 233`}),(0,d.jsx)(`path`,{d:`M144 0 A144 144 0 0 1 0 144`}),(0,d.jsx)(`path`,{d:`M89 0 A89 89 0 0 1 0 89`}),(0,d.jsx)(`path`,{d:`M55 0 A55 55 0 0 1 0 55`}),(0,d.jsx)(`path`,{d:`M34 0 A34 34 0 0 1 0 34`}),(0,d.jsx)(`path`,{d:`M21 0 A21 21 0 0 1 0 21`})]})]})}function x({className:e}){return(0,d.jsxs)(`div`,{className:`seal-emblem ${e??``}`,"aria-hidden":`true`,children:[(0,d.jsx)(`div`,{className:`seal-ring seal-ring--outer`}),(0,d.jsx)(`div`,{className:`seal-ring seal-ring--inner`}),(0,d.jsx)(`div`,{className:`seal-core`})]})}function S({className:e}){let{auth:t}=p(),n=t.meta;if(!n)return null;let r=[`Pulse: ${n.pulse}`,`Beat: ${n.beat}`,`Step: ${n.stepIndex}`,`Day: ${n.chakraDay}`];return n.sigilId&&r.push(`Sigil: ${n.sigilId}`),n.userPhiKey&&r.push(`PhiKey: ${n.userPhiKey}`),(0,d.jsxs)(`div`,{className:`sigil-auth-pill ${e??``}`,role:`status`,"aria-live":`polite`,title:r.join(` • `),style:{maxWidth:`100%`,overflowX:`auto`,whiteSpace:`nowrap`},children:[(0,d.jsx)(`span`,{className:`sigil-auth-pill__dot`,"aria-hidden":`true`}),(0,d.jsxs)(`span`,{className:`sigil-auth-pill__text mono`,children:[`Sealed • `,n.pulse,` • `,n.chakraDay,n.sigilId?` • ${n.sigilId}`:``]})]})}function C(e){return e?Array.from(e.querySelectorAll([`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`))).filter(e=>!e.hasAttribute(`disabled`)&&!e.getAttribute(`aria-hidden`)):[]}function w(e){return e?e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?!e.disabled:!!(e instanceof HTMLElement&&e.isContentEditable):!1}function T(e){if(!e||e instanceof HTMLTextAreaElement)return!1;if(e instanceof HTMLSelectElement)return!0;if(e instanceof HTMLInputElement){let t=e.type.toLowerCase();return![`button`,`submit`,`reset`,`checkbox`,`radio`,`file`,`range`,`color`].includes(t)}return!1}function E({open:t,onClose:n}){let r=(0,u.useCallback)(()=>{s(),n()},[n]),i=(0,u.useRef)(null),a=(0,u.useRef)(null),o=(0,u.useRef)(null),p=(0,u.useRef)(0),v=(0,u.useRef)(0),[y,E]=(0,u.useState)(`voh`),[D,O]=(0,u.useState)(!1),k=(0,u.useCallback)(e=>{e===`realms`&&!D&&O(!0),E(e)},[D]),A=(0,u.useMemo)(()=>({breath:`${_}s`,phi:`${g}`}),[]);(0,u.useEffect)(()=>{if(!t)return;let e=!window.matchMedia?.(`(pointer: coarse)`)?.matches,n={bodyOverflow:document.body.style.overflow,bodyPosition:document.body.style.position,bodyTop:document.body.style.top,bodyLeft:document.body.style.left,bodyRight:document.body.style.right,bodyWidth:document.body.style.width,bodyHeight:document.body.style.height,htmlOverflow:document.documentElement.style.overflow,htmlHeight:document.documentElement.style.height,docOverscroll:document.documentElement.style.getPropertyValue(`overscroll-behavior`),bodyOverscroll:document.body.style.getPropertyValue(`overscroll-behavior`),touchAction:document.documentElement.style.touchAction,breath:document.documentElement.style.getPropertyValue(`--kai-breath`),phi:document.documentElement.style.getPropertyValue(`--kai-phi`),kaiVh:document.documentElement.style.getPropertyValue(`--kai-vh`)};v.current=window.scrollY||window.pageYOffset||0,document.body.style.position=`fixed`,document.body.style.top=`-${v.current}px`,document.body.style.left=`0`,document.body.style.right=`0`,document.body.style.width=`100%`,document.body.style.height=`100%`,document.body.style.overflow=`hidden`,document.documentElement.style.overflow=`hidden`,document.documentElement.style.height=`100%`,document.documentElement.style.setProperty(`overscroll-behavior`,`none`),document.body.style.setProperty(`overscroll-behavior`,`none`),document.documentElement.style.touchAction=`manipulation`,document.documentElement.style.setProperty(`--kai-breath`,A.breath),document.documentElement.style.setProperty(`--kai-phi`,A.phi);let s=()=>{document.documentElement.style.setProperty(`--kai-vh`,`${window.innerHeight}px`)};s(),window.addEventListener(`resize`,s,{passive:!0});let c=o.current;c&&(c.style.overscrollBehavior=`contain`,c.style.webkitOverflowScrolling=`touch`),a.current?.focus();let l=e=>{p.current=e.touches[0]?.clientY??0},u=e=>{if(e.touches.length!==1)return;let t=o.current;if(!t){e.preventDefault();return}let n=e.target;if(!(n&&t.contains(n))){e.preventDefault();return}let r=(e.touches[0]?.clientY??p.current)-p.current,i=t.scrollTop<=0,a=t.scrollTop+t.clientHeight>=t.scrollHeight-1;(i&&r>0||a&&r<0)&&e.preventDefault()},d=e=>{let t=o.current;if(!t){e.preventDefault();return}let n=e.target;if(!(n&&t.contains(n))){e.preventDefault();return}let r=e.deltaY,i=t.scrollTop<=0,a=t.scrollTop+t.clientHeight>=t.scrollHeight-1;(i&&r<0||a&&r>0)&&e.preventDefault()},f=t=>{if(t.key===`Escape`){if(!e||w(document.activeElement)||w(t.target))return;t.preventDefault(),t.stopPropagation(),r();return}if(t.key===`Enter`){let e=t.target;T(e)&&i.current?.contains(e)&&t.preventDefault()}if(t.key!==`Tab`)return;let n=i.current,a=C(n);if(a.length===0)return;let o=document.activeElement,s=a[0],c=a[a.length-1];if(!o||!n?.contains(o)){t.preventDefault(),s.focus();return}t.shiftKey?o===s&&(t.preventDefault(),c.focus()):o===c&&(t.preventDefault(),s.focus())},m=new AbortController,h={passive:!0,signal:m.signal,capture:!0},g={passive:!1,signal:m.signal,capture:!0},_={passive:!1,signal:m.signal,capture:!0},y={signal:m.signal,capture:!0};document.addEventListener(`touchstart`,l,h),document.addEventListener(`touchmove`,u,g),document.addEventListener(`wheel`,d,_),document.addEventListener(`keydown`,f,y);let b=e=>{e.preventDefault()};return document.addEventListener(`gesturestart`,b,{passive:!1,signal:m.signal}),document.addEventListener(`gesturechange`,b,{passive:!1,signal:m.signal}),document.addEventListener(`gestureend`,b,{passive:!1,signal:m.signal}),document.addEventListener(`submit`,e=>{let t=e.target;t&&i.current?.contains(t)&&(e.preventDefault(),e.stopPropagation())},{capture:!0,signal:m.signal}),()=>{m.abort(),window.removeEventListener(`resize`,s),document.body.style.overflow=n.bodyOverflow,document.body.style.position=n.bodyPosition,document.body.style.top=n.bodyTop,document.body.style.left=n.bodyLeft,document.body.style.right=n.bodyRight,document.body.style.width=n.bodyWidth,document.body.style.height=n.bodyHeight,document.documentElement.style.overflow=n.htmlOverflow,document.documentElement.style.height=n.htmlHeight,n.docOverscroll?document.documentElement.style.setProperty(`overscroll-behavior`,n.docOverscroll):document.documentElement.style.removeProperty(`overscroll-behavior`),n.bodyOverscroll?document.body.style.setProperty(`overscroll-behavior`,n.bodyOverscroll):document.body.style.removeProperty(`overscroll-behavior`),document.documentElement.style.touchAction=n.touchAction,n.breath?document.documentElement.style.setProperty(`--kai-breath`,n.breath):document.documentElement.style.removeProperty(`--kai-breath`),n.phi?document.documentElement.style.setProperty(`--kai-phi`,n.phi):document.documentElement.style.removeProperty(`--kai-phi`),n.kaiVh?document.documentElement.style.setProperty(`--kai-vh`,n.kaiVh):document.documentElement.style.removeProperty(`--kai-vh`);let e=v.current||0;window.scrollTo(0,e)}},[t,r,A.breath,A.phi]);let j=(0,u.useCallback)(e=>{e.stopPropagation(),r()},[r]),M=(0,u.useCallback)(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),r())},[r]);return t?(0,l.createPortal)((0,d.jsxs)(`div`,{ref:i,className:`kai-voh-modal-backdrop atlantean-veil`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`kaivoh-title`,"data-view":y,children:[(0,d.jsx)(`div`,{className:`atlantean-stars`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`atlantean-halo atlantean-halo--1`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`atlantean-halo atlantean-halo--2`,"aria-hidden":`true`}),(0,d.jsxs)(`div`,{className:`kai-voh-container kai-pulse-border glass-omni`,role:`document`,children:[(0,d.jsx)(`div`,{className:`breath-ring breath-ring--outer`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`breath-ring breath-ring--inner`,"aria-hidden":`true`}),(0,d.jsx)(`div`,{className:`phi-grid`,"aria-hidden":`true`}),(0,d.jsx)(b,{className:`phi-spiral phi-spiral--tl`}),(0,d.jsx)(b,{className:`phi-spiral phi-spiral--br`}),(0,d.jsxs)(c,{children:[y!==`realms`&&(0,d.jsx)(`button`,{ref:a,type:`button`,className:`kai-voh-close auric-btn`,"aria-label":`Close portal`,onPointerDown:j,onKeyDown:M,children:(0,d.jsx)(e,{size:22,"aria-hidden":`true`})}),y!==`realms`&&(0,d.jsx)(`div`,{className:`voh-top-orb`,"aria-hidden":`true`,children:(0,d.jsx)(x,{})}),(0,d.jsxs)(`div`,{className:`kai-voh-tabbar`,role:`tablist`,"aria-label":`Kai portal views`,children:[(0,d.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`voh`,className:`kai-voh-tab auric-tab ${y===`voh`?`active`:``}`,onClick:()=>k(`voh`),children:[(0,d.jsx)(`span`,{className:`tab-glyph`,"aria-hidden":`true`,children:`🜂`}),` `,`Voh`]}),(0,d.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":y===`realms`,className:`kai-voh-tab auric-tab ${y===`realms`?`active`:``}`,onClick:()=>k(`realms`),children:[(0,d.jsx)(`span`,{className:`tab-glyph`,"aria-hidden":`true`,children:`⚚`}),` `,`Realms`]}),(0,d.jsx)(`div`,{className:`breath-meter`,"aria-hidden":`true`,children:(0,d.jsx)(`div`,{className:`breath-meter__dot`})}),(0,d.jsx)(S,{className:`sigil-auth-pill--tabbar`})]}),(0,d.jsxs)(`div`,{className:`kai-voh-body`,ref:o,children:[(0,d.jsx)(`h2`,{id:`kaivoh-title`,className:`sr-only`,children:`Kai Portal`}),(0,d.jsxs)(f,{children:[(0,d.jsx)(`section`,{className:`portal-pane portal-pane--voh`,style:{display:y===`voh`?`block`:`none`},"aria-hidden":y!==`voh`,children:(0,d.jsx)(u.Suspense,{fallback:(0,d.jsxs)(`div`,{className:`kai-voh-center`,children:[(0,d.jsx)(`div`,{className:`kai-voh-spinner`}),(0,d.jsx)(`div`,{children:`Summoning Voh…`})]}),children:(0,d.jsx)(m,{})})}),(0,d.jsx)(`section`,{className:`portal-pane portal-pane--realms`,style:{display:y===`realms`?`block`:`none`},"aria-hidden":y!==`realms`,children:D?(0,d.jsx)(u.Suspense,{fallback:(0,d.jsxs)(`div`,{className:`kai-voh-center`,children:[(0,d.jsx)(`div`,{className:`kai-voh-spinner`}),(0,d.jsx)(`div`,{children:`Opening Kai Realms…`})]}),children:(0,d.jsx)(h,{onClose:()=>k(`voh`)})}):null})]})]})]})]})]}),document.body):null}export{E as default}; \ No newline at end of file diff --git a/dist/assets/PShort-RNGKRnRT.js b/dist/assets/PShort-CZ-fQTUP.js similarity index 94% rename from dist/assets/PShort-RNGKRnRT.js rename to dist/assets/PShort-CZ-fQTUP.js index 7bce31ffb..0e04f63a2 100644 --- a/dist/assets/PShort-RNGKRnRT.js +++ b/dist/assets/PShort-CZ-fQTUP.js @@ -1 +1 @@ -import{Kt as e,ci as t,oi as n,pi as r,si as i,yi as a}from"./index-BRD6BMdN.js";var o=a(r(),1),s=a(e(),1);function c(e){let t=e.trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function l(e){let t=c(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``),c(t)}function u(){let e=i(),r=n(),a=t();return(0,o.useEffect)(()=>{let t=typeof a.token==`string`?a.token:``,n=typeof a[`*`]==`string`?a[`*`]:``,i=t&&n?`${t}/${n}`:t||n,o=new URLSearchParams(r.search),s=new URLSearchParams(r.hash.startsWith(`#`)?r.hash.slice(1):r.hash),c=o.get(`t`)||o.get(`p`)||o.get(`token`)||s.get(`t`)||s.get(`p`)||s.get(`token`)||``,u=i||c;u&&e(`/p~${l(u)}`,{replace:!0})},[e,r.search,r.hash,a]),(0,s.jsxs)(`div`,{className:`notfound`,role:`region`,"aria-label":`Redirecting`,children:[(0,s.jsx)(`div`,{className:`notfound__title`,children:`Redirecting…`}),(0,s.jsx)(`div`,{className:`notfound__hint`,children:`Normalizing payload token.`})]})}export{u as default}; \ No newline at end of file +import{Kt as e,ci as t,oi as n,pi as r,si as i,yi as a}from"./index-DW_ZnoNU.js";var o=a(r(),1),s=a(e(),1);function c(e){let t=e.trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function l(e){let t=c(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``),c(t)}function u(){let e=i(),r=n(),a=t();return(0,o.useEffect)(()=>{let t=typeof a.token==`string`?a.token:``,n=typeof a[`*`]==`string`?a[`*`]:``,i=t&&n?`${t}/${n}`:t||n,o=new URLSearchParams(r.search),s=new URLSearchParams(r.hash.startsWith(`#`)?r.hash.slice(1):r.hash),c=o.get(`t`)||o.get(`p`)||o.get(`token`)||s.get(`t`)||s.get(`p`)||s.get(`token`)||``,u=i||c;u&&e(`/p~${l(u)}`,{replace:!0})},[e,r.search,r.hash,a]),(0,s.jsxs)(`div`,{className:`notfound`,role:`region`,"aria-label":`Redirecting`,children:[(0,s.jsx)(`div`,{className:`notfound__title`,children:`Redirecting…`}),(0,s.jsx)(`div`,{className:`notfound__hint`,children:`Normalizing payload token.`})]})}export{u as default}; \ No newline at end of file diff --git a/dist/assets/SealMomentModal-BVedI60g.js b/dist/assets/SealMomentModal-CAermFFO.js similarity index 99% rename from dist/assets/SealMomentModal-BVedI60g.js rename to dist/assets/SealMomentModal-CAermFFO.js index 6b6a03402..49b88de76 100644 --- a/dist/assets/SealMomentModal-BVedI60g.js +++ b/dist/assets/SealMomentModal-CAermFFO.js @@ -1 +1 @@ -import{Kt as e,di as t,pi as n,yi as r}from"./index-BRD6BMdN.js";var i=r(n(),1),a=r(t(),1),o=r(e(),1),s=`sigil:urls`;function c(e){if(!(typeof window>`u`))try{let t=window.localStorage.getItem(s),n=t?JSON.parse(t):[];n.includes(e)||(n.push(e),window.localStorage.setItem(s,JSON.stringify(n))),window.dispatchEvent(new CustomEvent(`sigil:url-registered`,{detail:{url:e}}))}catch{}}var l=({open:e,url:t,hash:n,onClose:r,onDownloadZip:s})=>{let l=(0,i.useRef)(null),h=(0,i.useRef)(null),g=(0,i.useRef)(null),[_,v]=(0,i.useState)(``),y=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!(!e||!t)&&y.current!==t){if(y.current=t,typeof window<`u`&&typeof window.__SIGIL__?.registerSigilUrl==`function`)try{window.__SIGIL__.registerSigilUrl(t)}catch{c(t)}else c(t);if(typeof window<`u`&&typeof window.__SIGIL__?.registerSend==`function`)try{window.__SIGIL__.registerSend({type:`sigil:mint`,url:t,hash:n})}catch{}}},[e,t,n]);let b=(0,i.useMemo)(()=>{if(typeof navigator>`u`)return!1;let e=navigator;return typeof e.share==`function`?t&&typeof e.canShare==`function`?e.canShare({url:t}):!0:!1},[t]),x=(0,i.useCallback)(e=>{let t=l.current;if(!t)return;let n=t.querySelectorAll([`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`));if(n.length===0)return;let r=n[0],i=n[n.length-1];!e.shiftKey&&document.activeElement===i?(e.preventDefault(),r.focus()):e.shiftKey&&document.activeElement===r&&(e.preventDefault(),i.focus())},[]);(0,i.useEffect)(()=>{if(!e)return;g.current=document.activeElement??null;let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.setTimeout(()=>h.current?.focus({preventScroll:!0}),0),r=e=>{e.key===`Tab`&&x(e)};return document.addEventListener(`keydown`,r,!0),()=>{document.body.style.overflow=t,document.removeEventListener(`keydown`,r,!0),window.clearTimeout(n),g.current?.focus?.()}},[e,x]);let S=e=>{v(e),window.setTimeout(()=>v(``),900)},C=async(e,t)=>{try{if(typeof navigator>`u`)throw Error(`no navigator`);if(!navigator.clipboard?.writeText)throw Error(`no clipboard`);await navigator.clipboard.writeText(e),S(`${t} copied to clipboard`)}catch{S(`Could not copy ${t}`)}},w=async()=>{try{b&&typeof navigator<`u`?(await navigator.share?.({title:`Kairos Sigil-Glyph`,text:`Sealed Kairos Moment`,url:t}),S(`Share sheet opened`)):await C(t,`Link`)}catch(e){S(`Share canceled: ${e instanceof Error?e.message:String(e)}`)}},[T,E]=(0,i.useState)(!1),D=async()=>{if(!T){E(!0);try{let e=await s?.();typeof e==`string`&&e.length>0?S(e):S(`Export ready`)}catch(e){S(`Export failed: ${e instanceof Error?e.message:String(e)}`)}finally{E(!1)}}},O=(0,i.useMemo)(()=>n?n.slice(0,16):`—`,[n]),k=e=>{e.preventDefault(),e.stopPropagation(),r?.()},A=e=>{e.target===e.currentTarget&&e.preventDefault()};return e?(0,a.createPortal)((0,o.jsxs)(`div`,{className:`seal-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`seal-title`,"aria-describedby":`seal-desc`,"data-state":`open`,onClick:e=>e.stopPropagation(),onPointerDown:A,children:[(0,o.jsx)(`div`,{className:`seal-veil`,"aria-hidden":`true`}),(0,o.jsxs)(`div`,{ref:l,className:`seal-card`,role:`document`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--tl`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--tr`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--bl`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--br`,"aria-hidden":`true`}),(0,o.jsx)(`button`,{ref:h,className:`seal-close`,"aria-label":`Close`,onClick:k,type:`button`,children:(0,o.jsx)(u,{})}),(0,o.jsxs)(`header`,{className:`seal-header`,children:[(0,o.jsx)(`h3`,{id:`seal-title`,className:`seal-title`,children:`Moment Sealed`}),(0,o.jsx)(`p`,{id:`seal-desc`,className:`seal-subtitle`,children:`Your Kairos imprint is preserved. Proceed to the URL below to Inhale Claimed Ownership.`})]}),(0,o.jsxs)(`label`,{className:`field`,children:[(0,o.jsx)(`span`,{className:`field-label`,children:`Hash`}),(0,o.jsxs)(`div`,{className:`row`,children:[(0,o.jsx)(`code`,{className:`hash`,title:n||`—`,children:n?O:`—`}),(0,o.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(n,`Hash`),disabled:!n,"aria-label":`Copy hash`,title:`Copy hash`,type:`button`,children:(0,o.jsx)(p,{})})]}),n&&(0,o.jsxs)(`p`,{className:`micro`,children:[`Full: `,(0,o.jsx)(`span`,{className:`mono`,children:n})]})]}),(0,o.jsxs)(`label`,{className:`field`,children:[(0,o.jsx)(`span`,{className:`field-label`,children:`URL`}),(0,o.jsxs)(`div`,{className:`row`,children:[(0,o.jsx)(`input`,{className:`url-input`,value:t,readOnly:!0,"aria-readonly":`true`,spellCheck:!1}),(0,o.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(t,`Link`),disabled:!t,"aria-label":`Copy link`,title:`Copy link`,type:`button`,children:(0,o.jsx)(p,{})}),t&&(0,o.jsx)(`a`,{className:`open-link`,href:t,target:`_blank`,rel:`noopener`,"aria-label":`Open link in new tab`,title:`Open link`,children:(0,o.jsx)(m,{})})]})]}),(0,o.jsxs)(`div`,{className:`cta-row`,children:[(0,o.jsxs)(`button`,{className:`primary cta`,onClick:D,type:`button`,disabled:T,children:[(0,o.jsx)(f,{}),(0,o.jsx)(`span`,{children:T?`Sealing...`:`Inhale ΦKey Proof`})]}),(0,o.jsxs)(`button`,{className:`secondary cta`,onClick:w,type:`button`,children:[(0,o.jsx)(d,{}),(0,o.jsx)(`span`,{children:b?`Share`:`Remember Link`})]})]}),(0,o.jsx)(`p`,{className:`fine`,children:`This moment is now sealed in time. Use the link above within the next 11 breaths to claim ownership & gain permanent access to this Kairos moment.`}),(0,o.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:_})]})]}),document.body):null},u=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`seal-close-ico`,children:[(0,o.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.25`,opacity:`.35`}),(0,o.jsx)(`path`,{d:`M7 7l10 10M17 7L7 17`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})]}),d=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`path`,{d:`M15 8a3 3 0 100-6 3 3 0 000 6zM6 14a3 3 0 100-6 3 3 0 000 6zm9 12a3 3 0 100-6 3 3 0 000 6z`,fill:`currentColor`}),(0,o.jsx)(`path`,{d:`M8.6 9.7l6.8-3.4M8.6 12.3l6.8 3.4`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`})]}),f=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`}),(0,o.jsx)(`path`,{d:`M8 12.5l2.5 2.5L16 9`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),p=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`rect`,{x:`9`,y:`9`,width:`10`,height:`10`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,o.jsx)(`rect`,{x:`5`,y:`5`,width:`10`,height:`10`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`,opacity:`.5`})]}),m=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`path`,{d:`M10 14a5 5 0 007.07 0l1.41-1.41a5 5 0 00-7.07-7.07L10 6`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,o.jsx)(`path`,{d:`M14 10a5 5 0 00-7.07 0L5.5 11.43a5 5 0 007.07 7.07L14 18`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`})]}),h=l;export{h as t}; \ No newline at end of file +import{Kt as e,di as t,pi as n,yi as r}from"./index-DW_ZnoNU.js";var i=r(n(),1),a=r(t(),1),o=r(e(),1),s=`sigil:urls`;function c(e){if(!(typeof window>`u`))try{let t=window.localStorage.getItem(s),n=t?JSON.parse(t):[];n.includes(e)||(n.push(e),window.localStorage.setItem(s,JSON.stringify(n))),window.dispatchEvent(new CustomEvent(`sigil:url-registered`,{detail:{url:e}}))}catch{}}var l=({open:e,url:t,hash:n,onClose:r,onDownloadZip:s})=>{let l=(0,i.useRef)(null),h=(0,i.useRef)(null),g=(0,i.useRef)(null),[_,v]=(0,i.useState)(``),y=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(!(!e||!t)&&y.current!==t){if(y.current=t,typeof window<`u`&&typeof window.__SIGIL__?.registerSigilUrl==`function`)try{window.__SIGIL__.registerSigilUrl(t)}catch{c(t)}else c(t);if(typeof window<`u`&&typeof window.__SIGIL__?.registerSend==`function`)try{window.__SIGIL__.registerSend({type:`sigil:mint`,url:t,hash:n})}catch{}}},[e,t,n]);let b=(0,i.useMemo)(()=>{if(typeof navigator>`u`)return!1;let e=navigator;return typeof e.share==`function`?t&&typeof e.canShare==`function`?e.canShare({url:t}):!0:!1},[t]),x=(0,i.useCallback)(e=>{let t=l.current;if(!t)return;let n=t.querySelectorAll([`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`));if(n.length===0)return;let r=n[0],i=n[n.length-1];!e.shiftKey&&document.activeElement===i?(e.preventDefault(),r.focus()):e.shiftKey&&document.activeElement===r&&(e.preventDefault(),i.focus())},[]);(0,i.useEffect)(()=>{if(!e)return;g.current=document.activeElement??null;let t=document.body.style.overflow;document.body.style.overflow=`hidden`;let n=window.setTimeout(()=>h.current?.focus({preventScroll:!0}),0),r=e=>{e.key===`Tab`&&x(e)};return document.addEventListener(`keydown`,r,!0),()=>{document.body.style.overflow=t,document.removeEventListener(`keydown`,r,!0),window.clearTimeout(n),g.current?.focus?.()}},[e,x]);let S=e=>{v(e),window.setTimeout(()=>v(``),900)},C=async(e,t)=>{try{if(typeof navigator>`u`)throw Error(`no navigator`);if(!navigator.clipboard?.writeText)throw Error(`no clipboard`);await navigator.clipboard.writeText(e),S(`${t} copied to clipboard`)}catch{S(`Could not copy ${t}`)}},w=async()=>{try{b&&typeof navigator<`u`?(await navigator.share?.({title:`Kairos Sigil-Glyph`,text:`Sealed Kairos Moment`,url:t}),S(`Share sheet opened`)):await C(t,`Link`)}catch(e){S(`Share canceled: ${e instanceof Error?e.message:String(e)}`)}},[T,E]=(0,i.useState)(!1),D=async()=>{if(!T){E(!0);try{let e=await s?.();typeof e==`string`&&e.length>0?S(e):S(`Export ready`)}catch(e){S(`Export failed: ${e instanceof Error?e.message:String(e)}`)}finally{E(!1)}}},O=(0,i.useMemo)(()=>n?n.slice(0,16):`—`,[n]),k=e=>{e.preventDefault(),e.stopPropagation(),r?.()},A=e=>{e.target===e.currentTarget&&e.preventDefault()};return e?(0,a.createPortal)((0,o.jsxs)(`div`,{className:`seal-overlay`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`seal-title`,"aria-describedby":`seal-desc`,"data-state":`open`,onClick:e=>e.stopPropagation(),onPointerDown:A,children:[(0,o.jsx)(`div`,{className:`seal-veil`,"aria-hidden":`true`}),(0,o.jsxs)(`div`,{ref:l,className:`seal-card`,role:`document`,onClick:e=>e.stopPropagation(),children:[(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--tl`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--tr`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--bl`,"aria-hidden":`true`}),(0,o.jsx)(`div`,{className:`seal-ornament seal-ornament--br`,"aria-hidden":`true`}),(0,o.jsx)(`button`,{ref:h,className:`seal-close`,"aria-label":`Close`,onClick:k,type:`button`,children:(0,o.jsx)(u,{})}),(0,o.jsxs)(`header`,{className:`seal-header`,children:[(0,o.jsx)(`h3`,{id:`seal-title`,className:`seal-title`,children:`Moment Sealed`}),(0,o.jsx)(`p`,{id:`seal-desc`,className:`seal-subtitle`,children:`Your Kairos imprint is preserved. Proceed to the URL below to Inhale Claimed Ownership.`})]}),(0,o.jsxs)(`label`,{className:`field`,children:[(0,o.jsx)(`span`,{className:`field-label`,children:`Hash`}),(0,o.jsxs)(`div`,{className:`row`,children:[(0,o.jsx)(`code`,{className:`hash`,title:n||`—`,children:n?O:`—`}),(0,o.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(n,`Hash`),disabled:!n,"aria-label":`Copy hash`,title:`Copy hash`,type:`button`,children:(0,o.jsx)(p,{})})]}),n&&(0,o.jsxs)(`p`,{className:`micro`,children:[`Full: `,(0,o.jsx)(`span`,{className:`mono`,children:n})]})]}),(0,o.jsxs)(`label`,{className:`field`,children:[(0,o.jsx)(`span`,{className:`field-label`,children:`URL`}),(0,o.jsxs)(`div`,{className:`row`,children:[(0,o.jsx)(`input`,{className:`url-input`,value:t,readOnly:!0,"aria-readonly":`true`,spellCheck:!1}),(0,o.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(t,`Link`),disabled:!t,"aria-label":`Copy link`,title:`Copy link`,type:`button`,children:(0,o.jsx)(p,{})}),t&&(0,o.jsx)(`a`,{className:`open-link`,href:t,target:`_blank`,rel:`noopener`,"aria-label":`Open link in new tab`,title:`Open link`,children:(0,o.jsx)(m,{})})]})]}),(0,o.jsxs)(`div`,{className:`cta-row`,children:[(0,o.jsxs)(`button`,{className:`primary cta`,onClick:D,type:`button`,disabled:T,children:[(0,o.jsx)(f,{}),(0,o.jsx)(`span`,{children:T?`Sealing...`:`Inhale ΦKey Proof`})]}),(0,o.jsxs)(`button`,{className:`secondary cta`,onClick:w,type:`button`,children:[(0,o.jsx)(d,{}),(0,o.jsx)(`span`,{children:b?`Share`:`Remember Link`})]})]}),(0,o.jsx)(`p`,{className:`fine`,children:`This moment is now sealed in time. Use the link above within the next 11 breaths to claim ownership & gain permanent access to this Kairos moment.`}),(0,o.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:_})]})]}),document.body):null},u=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`seal-close-ico`,children:[(0,o.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.25`,opacity:`.35`}),(0,o.jsx)(`path`,{d:`M7 7l10 10M17 7L7 17`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})]}),d=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`path`,{d:`M15 8a3 3 0 100-6 3 3 0 000 6zM6 14a3 3 0 100-6 3 3 0 000 6zm9 12a3 3 0 100-6 3 3 0 000 6z`,fill:`currentColor`}),(0,o.jsx)(`path`,{d:`M8.6 9.7l6.8-3.4M8.6 12.3l6.8 3.4`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`})]}),f=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`}),(0,o.jsx)(`path`,{d:`M8 12.5l2.5 2.5L16 9`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),p=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`rect`,{x:`9`,y:`9`,width:`10`,height:`10`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,o.jsx)(`rect`,{x:`5`,y:`5`,width:`10`,height:`10`,rx:`2`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`,opacity:`.5`})]}),m=()=>(0,o.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`ico`,children:[(0,o.jsx)(`path`,{d:`M10 14a5 5 0 007.07 0l1.41-1.41a5 5 0 00-7.07-7.07L10 6`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`}),(0,o.jsx)(`path`,{d:`M14 10a5 5 0 00-7.07 0L5.5 11.43a5 5 0 007.07 7.07L14 18`,stroke:`currentColor`,strokeWidth:`2`,fill:`none`})]}),h=l;export{h as t}; \ No newline at end of file diff --git a/dist/assets/SigilAuthContext-D65FNUcD.js b/dist/assets/SigilAuthContext-rbXUYZ1p.js similarity index 73% rename from dist/assets/SigilAuthContext-D65FNUcD.js rename to dist/assets/SigilAuthContext-rbXUYZ1p.js index 3e3db5fc4..aede0dc74 100644 --- a/dist/assets/SigilAuthContext-D65FNUcD.js +++ b/dist/assets/SigilAuthContext-rbXUYZ1p.js @@ -1 +1 @@ -import{pi as e,yi as t}from"./index-BRD6BMdN.js";var n=t(e(),1);const r=(0,n.createContext)(null);function i(){let e=(0,n.useContext)(r);if(!e)throw Error(`useSigilAuth must be used within .`);return e}export{i as n,r as t}; \ No newline at end of file +import{pi as e,yi as t}from"./index-DW_ZnoNU.js";var n=t(e(),1);const r=(0,n.createContext)(null);function i(){let e=(0,n.useContext)(r);if(!e)throw Error(`useSigilAuth must be used within .`);return e}export{i as n,r as t}; \ No newline at end of file diff --git a/dist/assets/SigilAuthProvider-DUGvkie1.js b/dist/assets/SigilAuthProvider-CWcy5VQ0.js similarity index 91% rename from dist/assets/SigilAuthProvider-DUGvkie1.js rename to dist/assets/SigilAuthProvider-CWcy5VQ0.js index ef678f4a2..a3f3e2907 100644 --- a/dist/assets/SigilAuthProvider-DUGvkie1.js +++ b/dist/assets/SigilAuthProvider-CWcy5VQ0.js @@ -1 +1 @@ -import{Kt as e,pi as t,yi as n}from"./index-BRD6BMdN.js";import{t as r}from"./SigilAuthContext-D65FNUcD.js";var i=n(t(),1),a=n(e(),1),o=`kai.sigilAuth.v1`,s={svgText:null,meta:null};function c(e){if(typeof e!=`object`||!e)return!1;let t=e;if(!(typeof t.pulse==`number`&&Number.isFinite(t.pulse)&&typeof t.beat==`number`&&Number.isFinite(t.beat)&&typeof t.stepIndex==`number`&&Number.isFinite(t.stepIndex)&&typeof t.chakraDay==`string`&&typeof t.kaiSignature==`string`))return!1;let n=e=>e===void 0||typeof e==`string`;return n(t.userPhiKey)&&n(t.sigilId)&&n(t.sigilActionUrl)}function l(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.svgText===null||typeof t.svgText==`string`,r=t.meta===null||typeof t.meta==`object`&&t.meta!==null&&c(t.meta);return n&&r}function u(){if(typeof window>`u`)return s;try{let e=window.localStorage.getItem(o);if(!e)return s;let t=JSON.parse(e);return l(t)?t:s}catch{return s}}function d(e){try{window.localStorage.setItem(o,JSON.stringify(e))}catch{}}function f(){try{window.localStorage.removeItem(o)}catch{}}function p({children:e}){let[t,n]=(0,i.useState)(()=>u()),c=(0,i.useCallback)((e,t)=>{let r={svgText:e,meta:t};n(r),typeof window<`u`&&d(r)},[]),l=(0,i.useCallback)(()=>{n(s),typeof window<`u`&&f()},[]);(0,i.useEffect)(()=>{let e=e=>{e.key===o&&n(u())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let p=(0,i.useMemo)(()=>({auth:t,setAuth:c,clearAuth:l}),[t,c,l]);return(0,a.jsx)(r.Provider,{value:p,children:e})}export{p as t}; \ No newline at end of file +import{Kt as e,pi as t,yi as n}from"./index-DW_ZnoNU.js";import{t as r}from"./SigilAuthContext-rbXUYZ1p.js";var i=n(t(),1),a=n(e(),1),o=`kai.sigilAuth.v1`,s={svgText:null,meta:null};function c(e){if(typeof e!=`object`||!e)return!1;let t=e;if(!(typeof t.pulse==`number`&&Number.isFinite(t.pulse)&&typeof t.beat==`number`&&Number.isFinite(t.beat)&&typeof t.stepIndex==`number`&&Number.isFinite(t.stepIndex)&&typeof t.chakraDay==`string`&&typeof t.kaiSignature==`string`))return!1;let n=e=>e===void 0||typeof e==`string`;return n(t.userPhiKey)&&n(t.sigilId)&&n(t.sigilActionUrl)}function l(e){if(typeof e!=`object`||!e)return!1;let t=e,n=t.svgText===null||typeof t.svgText==`string`,r=t.meta===null||typeof t.meta==`object`&&t.meta!==null&&c(t.meta);return n&&r}function u(){if(typeof window>`u`)return s;try{let e=window.localStorage.getItem(o);if(!e)return s;let t=JSON.parse(e);return l(t)?t:s}catch{return s}}function d(e){try{window.localStorage.setItem(o,JSON.stringify(e))}catch{}}function f(){try{window.localStorage.removeItem(o)}catch{}}function p({children:e}){let[t,n]=(0,i.useState)(()=>u()),c=(0,i.useCallback)((e,t)=>{let r={svgText:e,meta:t};n(r),typeof window<`u`&&d(r)},[]),l=(0,i.useCallback)(()=>{n(s),typeof window<`u`&&f()},[]);(0,i.useEffect)(()=>{let e=e=>{e.key===o&&n(u())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let p=(0,i.useMemo)(()=>({auth:t,setAuth:c,clearAuth:l}),[t,c,l]);return(0,a.jsx)(r.Provider,{value:p,children:e})}export{p as t}; \ No newline at end of file diff --git a/dist/assets/SigilExplorer-tFV0CAfK.js b/dist/assets/SigilExplorer-DYNz8yOK.js similarity index 99% rename from dist/assets/SigilExplorer-tFV0CAfK.js rename to dist/assets/SigilExplorer-DYNz8yOK.js index 57c93d2da..001ae6ca0 100644 --- a/dist/assets/SigilExplorer-tFV0CAfK.js +++ b/dist/assets/SigilExplorer-DYNz8yOK.js @@ -1,4 +1,4 @@ -import{$t as e,An as t,C as n,Cn as r,Dn as i,E as a,En as o,Gt as s,Hr as c,Jt as l,Kt as u,Mn as d,Nn as f,On as p,P as m,Pn as h,Qn as g,Qr as _,Qt as v,Sn as y,Sr as b,T as x,Tn as ee,Wt as S,Xn as C,Xt as w,Yt as T,Zt as E,_n as D,an as te,bn as O,cn as k,di as A,dn as ne,ei as re,en as j,fn as M,gn as N,hn as P,in as ie,jn as ae,kn as oe,ln as F,mn as I,ni as L,nn as se,on as ce,pi as le,pn as R,q as ue,qt as de,ri as z,rn as fe,rt as B,sn as pe,tn as me,tr as he,un as V,vn as ge,w as H,wn as _e,xn as ve,yi as ye,yn as be}from"./index-BRD6BMdN.js";var U=ye(le(),1);const xe={root:`#ff3b3b`,sacral:`#ff8a3d`,solar:`#ffd54a`,heart:`#3dff9a`,throat:`#46d3ff`,thirdEye:`#6b6cff`,crown:`#c18bff`};function Se(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`root`)?`root`:t.includes(`sacral`)?`sacral`:t.includes(`solar`)||t.includes(`plexus`)||t.includes(`sun`)?`solar`:t.includes(`heart`)?`heart`:t.includes(`throat`)?`throat`:t.includes(`third`)||t.includes(`eye`)||t.includes(`indigo`)?`thirdEye`:t.includes(`crown`)||t.includes(`krown`)||t.includes(`violet`)?`crown`:t===`1`?`root`:t===`2`?`sacral`:t===`3`?`solar`:t===`4`?`heart`:t===`5`?`throat`:t===`6`?`thirdEye`:t===`7`?`crown`:null:null}function W(e){let t=Se(e),n=t?xe[t]:`var(--sx-accent)`;return{"--sx-chakra":n}}function G(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function K(e){if(typeof e==`number`)return!Number.isFinite(e)||Math.abs(e)<1e-12?void 0:Math.abs(e);if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Math.abs(t)>=1e-12)return Math.abs(t)}}function q(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`receive`)||t.includes(`received`)||t.includes(`inhale`)?`receive`:t.includes(`send`)||t.includes(`sent`)||t.includes(`exhale`)?`send`:null:null}function J(e){if(typeof e==`number`)return!Number.isFinite(e)||e<=0?void 0:e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&t>0)return t}}function Ce(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&t>0)return t}}function we(e){let t=e,n=G(t.feed)?t.feed:null,r=e=>e?q(e.phiDirection)||q(e.transferDirection)||q(e.transferMode)||q(e.transferKind):null,i=e=>{if(e)return e.phiDelta??e.phiSigned??e.phiChange},a=e=>e?K(e.transferAmountPhi)??K(e.transferPhi)??K(e.amountPhi)??K(e.phiAmount)??K(e.childAllocationPhi)??K(e.branchBasePhi):void 0,o=e=>e?J(e.amountUsd)??J(e.usdAmount)??J(e.usdValue)??J(e.valueUsd)??J(e.usd):void 0,s=e=>e?J(e.usdPerPhi)??J(e.fxUsdPerPhi)??J(e.usd_per_phi):void 0,c=e=>e?Ce(e.atPulse)??Ce(e.sentPulse)??Ce(e.senderKaiPulse)??Ce(e.transferPulse):void 0,l=r(t)??r(n),u=i(t)??i(n),d=typeof u==`number`?u:void 0;d===void 0&&typeof u==`string`&&(d=Number(u));let f=l??(typeof d==`number`&&Number.isFinite(d)?d>=0?`receive`:`send`:null);if(!f)return;let p=a(t)??a(n)??(G(t.preview)?K(t.preview.amountPhi):void 0)??(G(n?.preview)?K(n.preview.amountPhi):void 0)??(typeof d==`number`&&Number.isFinite(d)?Math.abs(d):void 0);if(p===void 0)return;let m=o(t)??o(n)??(G(t.preview)?J(t.preview.amountUsd):void 0)??(G(n?.preview)?J(n.preview.amountUsd):void 0),h=s(t)??s(n)??(G(t.preview)?J(t.preview.usdPerPhi):void 0)??(G(n?.preview)?J(n.preview.usdPerPhi):void 0),g=c(t)??c(n)??(G(t.preview)?Ce(t.preview.atPulse):void 0)??(G(n?.preview)?Ce(n.preview.atPulse):void 0);return{direction:f,amount:p,amountUsd:m??(h===void 0?void 0:p*h),sentPulse:g,source:`payload`}}function Te(e){for(let t of[`transferUrl`,`transferURL`,`transferLink`,`transfer_link`,`sealUrl`,`sealURL`,`sigilTransferUrl`]){let n=e[t];if(typeof n!=`string`||!n.trim())continue;let r=ge(n.trim());if(!r)continue;let i=we(r);if(i)return i}}function Ee(e,t){if(!e)return;let n=t.get(e.toLowerCase());if(!n)return;let r=K(n.amountPhi);if(r!==void 0)return{direction:n.direction,amount:r,amountUsd:J(n.amountUsd),sentPulse:Ce(n.sentPulse),source:`registry`}}function De(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Oe(e,t){if(!De(e))return;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():void 0}function ke(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`receive`)||t.includes(`received`)||t.includes(`inhale`)?`receive`:t.includes(`send`)||t.includes(`sent`)||t.includes(`exhale`)?`send`:null:null}function Ae(e){let t=e,n=De(t.feed)?t.feed:null,r=e=>e?ke(e.transferDirection)||ke(e.transferMode)||ke(e.transferKind)||ke(e.phiDirection):null,i=!!(r(t)??r(n)),a=!!(typeof t.transferNonce==`string`||typeof t.nonce==`string`||typeof t.transferToken==`string`||typeof t.token==`string`||n&&(typeof n.transferNonce==`string`||typeof n.nonce==`string`||typeof n.transferToken==`string`||typeof n.token==`string`)),o=!!(typeof t.parentUrl==`string`||typeof t.parentHash==`string`||typeof t.parentCanonical==`string`||n&&(typeof n.parentUrl==`string`||typeof n.parentHash==`string`||typeof n.parentCanonical==`string`));return i||a||o}function je(e){return e.kind!==`post`||!y(e.primaryUrl)||we(e.payload)?!1:!Ae(e.payload)}function Me(e){let t=new Map,n=new Map;for(let[r,i]of e){let e=I(r),a=N(e),o=P(e,i),s=ve(e,i);t.set(e,o);let c=n.get(o);if(!c){n.set(o,{payload:i,urls:new Set([e]),kind:a,momentKey:s});continue}k(i,c.payload)>0&&(c.payload=i),c.urls.add(e);let l=c.momentKey,u=s;l.startsWith(`u:`)&&!u.startsWith(`u:`)&&(c.momentKey=u),l.startsWith(`h:`)&&(u.startsWith(`k:`)||u.startsWith(`sig:`)||u.startsWith(`tok:`))&&(c.momentKey=u)}let i=new Map;for(let[e,t]of n){let n=r(Array.from(t.urls),t.kind);i.set(e,{id:e,payload:t.payload,urls:t.urls,primaryUrl:n,kind:t.kind,momentKey:t.momentKey})}let a=new Map;for(let e of i.values()){let t=e.momentKey;a.has(t)||a.set(t,[]),a.get(t).push(e.id)}let o=new Map,s=new Map,c=new Map,l=new Map;for(let e of i.values()){let t=y(e.primaryUrl);t&&!l.has(t)&&l.set(t,e.id)}for(let[e,t]of a){let n=t.map(e=>i.get(e)).filter(Boolean),r=n.filter(e=>e.kind===`post`),a;a=r.length>0?r.slice().sort((e,t)=>_e(t.primaryUrl,`post`)-_e(e.primaryUrl,`post`))[0]:n.slice().sort((e,t)=>_e(t.primaryUrl,t.kind)-_e(e.primaryUrl,e.kind))[0];let l=a?.id??t[0];o.set(e,l);for(let e of t)s.set(e,l);for(let e of t){let t=i.get(e);if(t)for(let e of t.urls)c.set(e,l)}}let u=new Map,d=new Map;for(let e of i.values()){if(!je(e))continue;let t=y(e.primaryUrl);t&&(d.has(t)||d.set(t,e.id))}for(let e of i.values()){let n=s.get(e.id)??e.id;if(e.id!==n)continue;let r=Oe(e.payload,`originUrl`),i=r?I(r):be(e.primaryUrl)??e.primaryUrl,a=y(i),o=t.get(i)??(a?l.get(a):void 0),f=(a?d.get(a):void 0)??o??c.get(i);u.set(n,f??n)}let f=new Map;for(let e of i.values()){let n=s.get(e.id)??e.id,r=u.get(n)??n,i,a=Oe(e.payload,`parentUrl`);if(a){let n=I(a),r=y(n),o=t.get(n)??(r?l.get(r):void 0)??c.get(n);o&&o!==e.id&&(i=o)}!i&&e.id!==n&&(i=n),f.set(e.id,{id:e.id,payload:e.payload,urls:e.urls,primaryUrl:e.primaryUrl,kind:e.kind,momentKey:e.momentKey,parentId:i,originId:r,momentParentId:n})}return f}function Ne(e,t){let n=[];for(let[r,i]of t)i.parentId===e&&n.push(r);return n.sort((e,n)=>k(t.get(n).payload,t.get(e).payload)),n}function Pe(e,t,n=new Set){let r=t.get(e);if(!r)return null;if(n.has(e))return{id:r.id,url:r.primaryUrl,urls:Array.from(r.urls),payload:r.payload,children:[]};n.add(e);let i=Ne(e,t).map(e=>Pe(e,t,n)).filter(Boolean);return{id:r.id,url:r.primaryUrl,urls:Array.from(r.urls),payload:r.payload,children:i}}function Fe(e){let t=0,n=e.payload,r=e=>{t+=1,k(e.payload,n)>0&&(n=e.payload),e.children.forEach(r)};return r(e),{nodeCount:t,latest:n}}function Ie(e){let t=Me(e),n=new Map;for(let[e,r]of t){let t=r.originId;n.has(t)||n.set(t,[]),n.get(t).push(e)}let r=[];for(let e of n.keys()){let n=Pe(e,t);if(!n)continue;let i=Fe(n);r.push({root:n,nodeCount:i.nodeCount,latest:i.latest})}return r.sort((e,t)=>{let n=k(t.latest,e.latest);return n===0?t.nodeCount===e.nodeCount?k(t.root.payload,e.root.payload):t.nodeCount-e.nodeCount:n}),r.map(e=>e.root)}function Le(e){let t=e.payload;if(De(t)&&typeof t.canonicalHash==`string`)return t.canonicalHash;let n=y(e.url);if(n)return n;for(let t of e.urls){let e=y(t);if(e)return e;let n=ge(t);if(!n)continue;let r=n;if(De(r)&&typeof r.canonicalHash==`string`)return r.canonicalHash}}var Y=ye(u(),1),Re=typeof window<`u`,ze=`sigil:explorer:open`,Be=`sigil:explorer:bc:v1`,Ve=`sigil:explorer:select:bc:v1`,He=`sigil:explorer:selectedHash:v1`,Ue=1000000n,We=(e,t)=>{if(t===0n)return 0n;let n=e%t;return n>=0n?n:n+t},Ge=(e,t)=>{let n=e<0n?-e:e,r=t<0n?-t:t;for(;r!==0n;){let e=n%r;n=r,r=e}return n},Ke=(()=>{let e=Ge(c,Ue);return e===0n?0n:c/e})(),qe=(1+Math.sqrt(5))/2,Je=e=>{if(!Number.isFinite(e))return 0;let t=BigInt(Math.trunc(e));if(Ke<=0n)return 0;let n=We(t,Ke);return Number(n)},Ye=e=>{let t=Number.isFinite(e)?Math.trunc(e):0,{beat:n,stepIndex:r,percentIntoStep:i}=_(BigInt(t)*Ue);return{beat:n,stepIndex:r,stepPct:L(i)}},Xe=e=>{let t=0;for(let n=0;n{let t=Xe(e),n=Xe(e.split(``).reverse().join(``)),r=Xe(`${e}phi`);return`${Math.floor(80+t*175)} ${Math.floor(80+n*175)} ${Math.floor(80+r*175)}`},Qe=[{q:1,r:0},{q:1,r:-1},{q:0,r:-1},{q:-1,r:0},{q:-1,r:1},{q:0,r:1}];function $e(e,t,n){return Math.max(t,Math.min(n,e))}function et(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function tt(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function nt(e){let t=tt(e);return t?t.toLowerCase():void 0}function rt(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function it(e){return JSON.parse(e)}function at(e){try{return window.localStorage.getItem(e)}catch{return null}}function ot(e,t){try{window.localStorage.setItem(e,t)}catch{}}function st(e){let t=tt(e);if(t===`send`||t===`receive`)return t}function ct(e){let t=(e??``).toLowerCase();return t.includes(`root`)?`chakra-root`:t.includes(`sacral`)?`chakra-sacral`:t.includes(`solar`)?`chakra-solar`:t.includes(`heart`)?`chakra-heart`:t.includes(`throat`)?`chakra-throat`:t.includes(`third`)||t.includes(`brow`)?`chakra-third`:t.includes(`crown`)?`chakra-crown`:`chakra-unknown`}function lt(e){let t=(e??``).toLowerCase();return t.includes(`root`)?`shape-root`:t.includes(`sacral`)?`shape-sacral`:t.includes(`solar`)?`shape-solar`:t.includes(`heart`)?`shape-heart`:t.includes(`throat`)?`shape-throat`:t.includes(`third`)||t.includes(`brow`)?`shape-third`:t.includes(`crown`)?`shape-crown`:null}function ut(e,t=10){return e.length<=t?e:e.slice(0,t)}function dt(e){return e?e.startsWith(`-`)?e:`+${e}`:`—`}function ft(e){let t=y(e);if(typeof t==`string`&&t.length)return t.toLowerCase();let n=e.match(/\/s\/([0-9a-f]{32,128})(?:\?|$)/i);return n?.[1]?n[1].toLowerCase():null}function pt(e){let t=nt(e.parentHash);if(t)return t;let n=tt(e.parentUrl);if(n){let e=ft(n);if(e)return e}}function mt(e){let t=tt(e.originUrl);if(t){let e=ft(t);if(e)return e}}function ht(e){let t=0,n=e=>{e!=null&&(typeof e==`string`&&e.length===0||(t+=1))};return n(e.pulse),n(e.beat),n(e.stepIndex),n(e.chakraDay),n(e.userPhiKey),n(e.kaiSignature),n(e.parentHash),n(e.originHash),n(e.transferDirection),n(e.transferAmountPhi),n(e.phiDelta),n(e.receiverKaiPulse),t}function gt(e){let t=e[0]??``,n=-1/0;for(let r of e){let e=I(r),i=_e(e,N(e));i>n&&(n=i,t=r)}return D(t)}function _t(t,n){let r=new Map;for(let[t,n]of e){let e=I(t),i=ft(e);if(!i)continue;let a=et(n)?n:{},o={hash:i,bestUrl:D(e),pulse:rt(a.pulse),beat:rt(a.beat),stepIndex:rt(a.stepIndex),chakraDay:tt(a.chakraDay),userPhiKey:tt(a.userPhiKey),kaiSignature:nt(a.kaiSignature),parentHash:pt(a),originHash:mt(a),transferDirection:st(a.transferDirection),transferAmountPhi:tt(a.transferAmountPhi),phiDelta:tt(a.phiDelta),receiverKaiPulse:rt(a.receiverKaiPulse)},s=r.get(i);if(!s){r.set(i,{hash:i,bestUrl:o.bestUrl??D(e),sources:[e],pulse:o.pulse,beat:o.beat,stepIndex:o.stepIndex,chakraDay:o.chakraDay,userPhiKey:o.userPhiKey,kaiSignature:o.kaiSignature,parentHash:o.parentHash,originHash:o.originHash,transferDirection:o.transferDirection,transferAmountPhi:o.transferAmountPhi,phiDelta:o.phiDelta,receiverKaiPulse:o.receiverKaiPulse,degree:0});continue}let c=new Set(s.sources);c.add(e);let l=ht(s),u=ht(o)>l,d={...s,sources:Array.from(c),bestUrl:s.bestUrl,pulse:u&&o.pulse!==void 0?o.pulse:s.pulse??o.pulse,beat:u&&o.beat!==void 0?o.beat:s.beat??o.beat,stepIndex:u&&o.stepIndex!==void 0?o.stepIndex:s.stepIndex??o.stepIndex,chakraDay:u&&o.chakraDay?o.chakraDay:s.chakraDay??o.chakraDay,userPhiKey:u&&o.userPhiKey?o.userPhiKey:s.userPhiKey??o.userPhiKey,kaiSignature:u&&o.kaiSignature?o.kaiSignature:s.kaiSignature??o.kaiSignature,parentHash:u&&o.parentHash?o.parentHash:s.parentHash??o.parentHash,originHash:u&&o.originHash?o.originHash:s.originHash??o.originHash,transferDirection:u&&o.transferDirection?o.transferDirection:s.transferDirection??o.transferDirection,transferAmountPhi:u&&o.transferAmountPhi?o.transferAmountPhi:s.transferAmountPhi??o.transferAmountPhi,phiDelta:u&&o.phiDelta?o.phiDelta:s.phiDelta??o.phiDelta,receiverKaiPulse:u&&o.receiverKaiPulse!==void 0?o.receiverKaiPulse:s.receiverKaiPulse??o.receiverKaiPulse,degree:0};r.set(i,d)}let i=new Map;for(let e of r.values())e.parentHash&&i.set(e.parentHash,(i.get(e.parentHash)??0)+1);for(let e of r.values()){let t=0;e.parentHash&&(t+=1),e.originHash&&(t+=1),t+=i.get(e.hash)??0,e.degree=t,e.bestUrl=gt(e.sources)}let a=e=>typeof e.pulse==`number`?e.pulse:-1;return Array.from(r.values()).sort((e,t)=>n===`degreeDesc`?t.degree===e.degree?a(t)-a(e):t.degree-e.degree:n===`pulseAsc`?a(e)-a(t):a(t)-a(e)).slice(0,t)}function vt(e){if(e<=0)return[];let t=[{q:0,r:0}],n=1;for(;t.lengthE()?1:0),[g,_]=(0,U.useState)(null),y=(0,U.useRef)(null),[b,x]=(0,U.useState)({w:0,h:0}),[S,C]=(0,U.useState)(.6),[D,O]=(0,U.useState)({x:-18,y:0,z:0}),[k,A]=(0,U.useState)(!1),[ne,re]=(0,U.useState)({x:0,y:0}),j=(0,U.useRef)({active:!1,mode:`pan`,x0:0,y0:0,panX0:0,panY0:0,rotX0:0,rotY0:0,rotZ0:0}),M=(0,U.useRef)(null),N=(0,U.useRef)(!1),P=(0,U.useRef)(null),ie=(0,U.useCallback)(()=>{(0,U.startTransition)(()=>h(e=>e+1))},[]);(0,U.useEffect)(()=>{if(!Re)return;s&&(ae(),d(),te()),ee(),E()&&ie(),window.dispatchEvent(new Event(ze)),P.current=`BroadcastChannel`in window?new BroadcastChannel(Ve):null;let e=e=>{let t=e.data;if(!et(t)||tt(t.type)!==`sigil:select`)return;let n=nt(t.hash);n&&_(n)};P.current?.addEventListener(`message`,e);let t=e=>{if(!e.key||!e.newValue)return;if(e.key===He){let t=nt(e.newValue);t&&_(t);return}let t=e.key===T,n=e.key===l;if(!(!t&&!n))try{let t=it(e.newValue);if(!Array.isArray(t))return;let n=!1;for(let e of t)typeof e==`string`&&w(e,{includeAncestry:!0,broadcast:!1,persist:!1,source:`local`,enqueueToApi:s})&&(n=!0);n&&(me(),ie())}catch{}};window.addEventListener(`storage`,t);let n=`BroadcastChannel`in window?new BroadcastChannel(Be):null,r=e=>{let t=e.data;if(!et(t)||tt(t.type)!==`sigil:add`)return;let n=tt(t.url);n&&w(n,{includeAncestry:!0,broadcast:!1,persist:!0,source:`local`,enqueueToApi:s})&&ie()};n?.addEventListener(`message`,r);let i=e=>{let t=e,n=typeof t.detail?.url==`string`?t.detail.url:``;n&&w(n,{includeAncestry:!0,broadcast:!0,persist:!0,source:`local`,enqueueToApi:s})&&ie()},a=e=>{let t=e,n=typeof t.detail?.url==`string`?t.detail.url:``;n&&w(n,{includeAncestry:!0,broadcast:!0,persist:!0,source:`local`,enqueueToApi:s})&&ie()};window.addEventListener(`sigil:url-registered`,i),window.addEventListener(`sigil:minted`,a);let o=()=>{s&&(ce(),fe())};return window.addEventListener(`pagehide`,o),()=>{window.removeEventListener(`storage`,t),window.removeEventListener(`sigil:url-registered`,i),window.removeEventListener(`sigil:minted`,a),window.removeEventListener(`pagehide`,o),n?.removeEventListener(`message`,r),n?.close(),P.current?.removeEventListener(`message`,e),P.current?.close(),P.current=null}},[s,ie]),(0,U.useEffect)(()=>{let e=y.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let t=e[0]?.contentRect;t&&x({w:Math.round(t.width),h:Math.round(t.height)})});return t.observe(e),()=>t.disconnect()},[]),(0,U.useEffect)(()=>{if(!Re)return;let e=document.documentElement,t=document.body,n=document.scrollingElement||document.documentElement,r={htmlOverscroll:e?.style.overscrollBehavior??``,htmlOverscrollY:e?.style.overscrollBehaviorY??``,bodyOverscroll:t?.style.overscrollBehavior??``,bodyOverscrollY:t?.style.overscrollBehaviorY??``,rootOverscroll:n?.style.overscrollBehavior??``,rootOverscrollY:n?.style.overscrollBehaviorY??``};return e&&(e.style.overscrollBehavior=`none`,e.style.overscrollBehaviorY=`none`),t&&(t.style.overscrollBehavior=`none`,t.style.overscrollBehaviorY=`none`),n&&(n.style.overscrollBehavior=`none`,n.style.overscrollBehaviorY=`none`),()=>{e&&(e.style.overscrollBehavior=r.htmlOverscroll,e.style.overscrollBehaviorY=r.htmlOverscrollY),t&&(t.style.overscrollBehavior=r.bodyOverscroll,t.style.overscrollBehaviorY=r.bodyOverscrollY),n&&(n.style.overscrollBehavior=r.rootOverscroll,n.style.overscrollBehaviorY=r.rootOverscrollY)}},[]),(0,U.useEffect)(()=>{if(!Re)return;let e=y.current;if(!e)return;let t=0,n=0,r=e=>{e.touches.length===1&&(t=e.touches[0]?.clientY??0,n=e.touches[0]?.clientX??0)},i=e=>{if(!e.cancelable||e.touches.length!==1)return;let r=e.touches[0]?.clientY??0,i=e.touches[0]?.clientX??0,a=r-t,o=i-n;t=r,n=i,!(Math.abs(a)<=Math.abs(o))&&a>0&&window.scrollY<=0&&e.preventDefault()};return e.addEventListener(`touchstart`,r,{passive:!0}),e.addEventListener(`touchmove`,i,{passive:!1}),()=>{e.removeEventListener(`touchstart`,r),e.removeEventListener(`touchmove`,i)}},[]);let F=(0,U.useCallback)(async e=>{if(v()&&a===`standalone`){if(pe(),e===`pulse`){await fe();return}await fe()}},[a]),I=(0,U.useCallback)(async(e,n)=>{if(v()&&a===`standalone`&&!N.current){N.current=!0;try{let r=await t(e=>new URL(oe,e).toString(),{method:`GET`,cache:`no-store`,signal:n,headers:void 0});if(!r||!r.ok)return;let i=``,a;try{let e=await r.json(),t=e;i=typeof t.seal==`string`?t.seal:``,a=bt(e)}catch{return}let o=M.current,s=a==null?void 0:wt();if(o&&i&&o===i&&!(a!=null&&(s==null||a>s))&&e===`pulse`){M.current=i;return}let c=await de(n);xt(c)?(c.pulled&&(M.current=c.remoteSeal??i??o??null),c.imported>0&&ie()):M.current=i||o,pe(),await fe()}finally{N.current=!1}}},[ie,a]);(0,U.useEffect)(()=>{if(!Re||a!==`standalone`)return;let e=new AbortController;F(`open`),I(`open`,e.signal);let t=()=>{document.visibilityState===`visible`&&(F(`visible`),I(`visible`,e.signal))},n=()=>{F(`focus`),I(`focus`,e.signal)},r=()=>{F(`online`),I(`online`,e.signal)};return document.addEventListener(`visibilitychange`,t),window.addEventListener(`focus`,n),window.addEventListener(`online`,r),()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`focus`,n),window.removeEventListener(`online`,r),e.abort()}},[I,F,a]);let L=(0,U.useMemo)(()=>_t(r,n),[m,r,n]),se=(0,U.useMemo)(()=>{let e=new Map;for(let t of L)e.set(t.hash,t);return e},[L]),le=(0,U.useMemo)(()=>{let e=new Map;for(let t of L){if(!t.parentHash)continue;let n=e.get(t.parentHash)??[];n.push(t.hash),e.set(t.parentHash,n)}return e},[L]),ue=(0,U.useMemo)(()=>{if(L.length===0)return null;if(Re){let e=at(He),t=e?e.toLowerCase():``;if(t&&se.has(t))return t}let e=null;for(let t of L)e?t.degree>e.degree&&(e=t):e=t;return e?.hash??L[0].hash},[L,se]),z=(0,U.useMemo)(()=>{let e=g?g.toLowerCase():null;return e&&se.has(e)?e:ue},[g,se,ue]),B=(0,U.useMemo)(()=>z?se.get(z)??null:null,[z,se]),he=B&&typeof B.pulse==`number`&&Number.isFinite(B.pulse)?Je(B.pulse):null,V=he==null?null:Ye(he),ge=(0,U.useMemo)(()=>{let e=f.trim().toLowerCase();return e?L.filter(t=>!!(t.hash.includes(e)||typeof t.pulse==`number`&&String(t.pulse).includes(e)||t.userPhiKey&&t.userPhiKey.toLowerCase().includes(e)||t.kaiSignature&&t.kaiSignature.toLowerCase().includes(e)||t.chakraDay&&t.chakraDay.toLowerCase().includes(e))):L},[L,f]),H=(0,U.useMemo)(()=>{let e=ge.length,t=vt(e).map(e=>yt(e,45)),n=1/0,r=1/0,i=-1/0,a=-1/0;for(let e of t)n=Math.min(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.x),a=Math.max(a,e.y);let o=Math.sqrt(3)*45,s=(Number.isFinite(n)?-n:0)+96,c=(Number.isFinite(r)?-r:0)+96,l=ge.map((e,n)=>{let r=t[n]??{x:0,y:0};return{node:e,x:r.x+s-o/2,y:r.y+c-90/2,cx:r.x+s,cy:r.y+c}}),u=(Number.isFinite(i-n)?i-n:0)+192+o,d=(Number.isFinite(a-r)?a-r:0)+192+90,f=new Map;for(let e of l)f.set(e.node.hash,e);return{width:u,height:d,items:l,itemByHash:f,centerOf:e=>{if(!e)return null;let t=f.get(e);return t?{x:t.cx,y:t.cy}:null}}},[ge]),_e=(0,U.useMemo)(()=>{if(!z||!b.w||!b.h)return{x:0,y:0};let e=H.centerOf(z);return e?{x:b.w/2-e.x*S,y:b.h/2-e.y*S}:{x:0,y:0}},[z,b.w,b.h,H,S]),ve=k?ne:_e,ye=(0,U.useMemo)(()=>{if(!z||c===`none`)return[];let e=H.itemByHash.get(z),t=se.get(z);if(!e||!t)return[];let n=[],r=(t,r)=>{if(!t)return;let i=H.itemByHash.get(t);i&&n.push({x1:e.cx,y1:e.cy,x2:i.cx,y2:i.cy,kind:r})};if((c===`parent`||c===`parent+children`||c===`all`)&&r(t.parentHash,`parent`),c===`parent+children`||c===`all`){let e=le.get(t.hash)??[];for(let t of e)r(t,`child`)}return c===`all`&&r(t.originHash,`origin`),n},[z,c,H,se,le]),be=()=>{A(!1),re({x:0,y:0})},xe=e=>{if(Re){ot(He,e);try{P.current?.postMessage({type:`sigil:select`,hash:e})}catch{}}},Se=(e,t)=>{let n=e.toLowerCase();if(_(n),xe(n),be(),o){let e=se.get(n),r=e?.pulse;if(typeof r==`number`&&Number.isFinite(r)){let n=t?.currentTarget.getBoundingClientRect();o({pulse:r,originHash:e?.originHash,anchor:n?{x:n.left+n.width/2,y:n.bottom}:void 0})}}},W=e=>{let t=y.current;if(!t)return;let n=e.deltaY,r=$e(S*(n>0?.9:1.12),.12,4.25),i=t.getBoundingClientRect(),a=e.clientX-i.left,o=e.clientY-i.top,s=ve,c=(a-s.x)/S,l=(o-s.y)/S,u=a-c*r,d=o-l*r;C(r),A(!0),re({x:u,y:d})},G=e=>{e.button!==0&&e.button!==2||e.target instanceof HTMLElement&&e.target.closest(`.sigilHex`)||(A(!0),j.current={active:!0,mode:e.button===2||e.shiftKey?`rotate`:`pan`,x0:e.clientX,y0:e.clientY,panX0:ve.x,panY0:ve.y,rotX0:D.x,rotY0:D.y,rotZ0:D.z},e.currentTarget.setPointerCapture(e.pointerId))},K=e=>{if(!j.current.active)return;let t=e.clientX-j.current.x0,n=e.clientY-j.current.y0;j.current.mode===`rotate`?O({x:$e(j.current.rotX0+n*.35,-85,85),y:j.current.rotY0+t*.35,z:e.altKey?j.current.rotZ0+t*.2:j.current.rotZ0}):re({x:j.current.panX0+t,y:j.current.panY0+n})},q=e=>{j.current.active=!1;try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}},J=()=>{B&&window.open(B.bestUrl,`_blank`,`noopener,noreferrer`)},Ce=async()=>{if(B&&navigator.clipboard)try{await navigator.clipboard.writeText(B.bestUrl)}catch{}},we=B?le.get(B.hash)?.length??0:0;return(0,Y.jsxs)(`div`,{className:[`sigilHoneycomb`,e??``].join(` `),children:[(0,Y.jsxs)(`div`,{className:`sigilHoneycombHeader`,children:[(0,Y.jsx)(`div`,{className:`sigilHoneycombTitle`,"aria-hidden":`true`}),(0,Y.jsxs)(`div`,{className:`sigilHoneycombControls`,children:[(0,Y.jsxs)(`div`,{className:`searchBox`,children:[(0,Y.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:`Search hash / pulse / phiKey / signature / chakra…`,spellCheck:!1}),f?(0,Y.jsx)(`button`,{className:`miniBtn`,onClick:()=>p(``),type:`button`,children:`Clear`}):null]}),(0,Y.jsxs)(`div`,{className:`toggleRow`,children:[(0,Y.jsxs)(`div`,{className:`seg`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:c===`none`?`on`:``,onClick:()=>u(`none`),"aria-label":`Edges off`,children:[(0,Y.jsx)(`span`,{className:`btn-icon`,children:`◌`}),(0,Y.jsx)(`span`,{className:`btn-text`,children:`Edges: Off`})]}),(0,Y.jsxs)(`button`,{type:`button`,className:c===`parent`?`on`:``,onClick:()=>u(`parent`),"aria-label":`Parent edges`,children:[(0,Y.jsx)(`span`,{className:`btn-icon`,children:`↑`}),(0,Y.jsx)(`span`,{className:`btn-text`,children:`Parent`})]}),(0,Y.jsxs)(`button`,{type:`button`,className:c===`parent+children`?`on`:``,onClick:()=>u(`parent+children`),"aria-label":`Parent and children edges`,children:[(0,Y.jsx)(`span`,{className:`btn-icon`,children:`⇄`}),(0,Y.jsx)(`span`,{className:`btn-text`,children:`Parent+Kids`})]}),(0,Y.jsxs)(`button`,{type:`button`,className:c===`all`?`on`:``,onClick:()=>u(`all`),"aria-label":`All edges`,children:[(0,Y.jsx)(`span`,{className:`btn-icon`,children:`◎`}),(0,Y.jsx)(`span`,{className:`btn-text`,children:`All`})]})]}),(0,Y.jsx)(`div`,{className:`seg`})]})]})]}),(0,Y.jsxs)(`div`,{className:`sigilHoneycombBody`,children:[(0,Y.jsx)(`div`,{className:`combViewport`,ref:y,onWheel:W,onPointerDown:G,onPointerMove:K,onPointerUp:q,onPointerCancel:q,onContextMenu:e=>e.preventDefault(),children:(0,Y.jsxs)(`div`,{className:`combInner`,style:{width:`${H.width}px`,height:`${H.height}px`,transform:`translate(${ve.x}px, ${ve.y}px) scale(${S}) rotateX(${D.x}deg) rotateY(${D.y}deg) rotateZ(${D.z}deg)`},children:[(0,Y.jsx)(`svg`,{className:`combEdges`,width:H.width,height:H.height,"aria-hidden":`true`,children:ye.map((e,t)=>(0,Y.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,className:`edgeLine edge-${e.kind}`,vectorEffect:`non-scaling-stroke`},`${e.kind}-${t}`))}),H.items.map(e=>(0,Y.jsx)(St,{node:e.node,x:e.x,y:e.y,selected:e.node.hash===z,onClick:t=>Se(e.node.hash,t)},e.node.hash))]})}),(0,Y.jsx)(`aside`,{className:`combInspector`,"aria-label":`Honeycomb inspector`,children:(0,Y.jsxs)(`div`,{className:`inspectorCard`,children:[(0,Y.jsxs)(`div`,{className:`inspectorHead`,children:[(0,Y.jsx)(`div`,{className:`inspectorTitle`,children:`Selection`}),(0,Y.jsx)(`div`,{className:`inspectorSub`,children:B?ut(B.hash,16):`—`})]}),(0,Y.jsxs)(`div`,{className:`inspectorGrid`,children:[(0,Y.jsx)(`div`,{className:`k`,children:`Pulse`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.pulse??`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Beat:Step`}),(0,Y.jsx)(`div`,{className:`v mono`,children:V?`${V.beat}:${V.stepIndex}`:`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Chakra`}),(0,Y.jsx)(`div`,{className:`v`,children:B?.chakraDay??`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`ΔΦ`}),(0,Y.jsx)(`div`,{className:`v mono`,children:dt(B?.phiDelta)}),(0,Y.jsx)(`div`,{className:`k`,children:`Transfer`}),(0,Y.jsx)(`div`,{className:`v`,children:B?.transferDirection??`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Parent`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.parentHash?(0,Y.jsx)(`button`,{className:`linkBtn`,type:`button`,onClick:()=>Se(B.parentHash),children:ut(B.parentHash,14)}):`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Children`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?we:`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Origin`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.originHash?(0,Y.jsx)(`button`,{className:`linkBtn`,type:`button`,onClick:()=>Se(B.originHash),children:ut(B.originHash,14)}):`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`PhiKey`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.userPhiKey?ut(B.userPhiKey,20):`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`KaiSig`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.kaiSignature?ut(B.kaiSignature,20):`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Degree`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.degree??`—`})]}),(0,Y.jsxs)(`div`,{className:`inspectorActions`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`primaryBtn`,onClick:J,disabled:!B,children:`Open`}),(0,Y.jsx)(`button`,{type:`button`,className:`miniBtn`,onClick:Ce,disabled:!B,children:`Copy URL`})]}),B?.sources?.length?(0,Y.jsxs)(`details`,{className:`sources`,children:[(0,Y.jsxs)(`summary`,{children:[`Sources (`,B.sources.length,`)`]}),(0,Y.jsxs)(`div`,{className:`sourcesList`,children:[B.sources.slice(0,40).map((e,t)=>(0,Y.jsx)(`div`,{className:`sourceItem mono`,children:R(e)},`${t}-${e}`)),B.sources.length>40?(0,Y.jsxs)(`div`,{className:`sourceMore`,children:[`… `,B.sources.length-40,` more`]}):null]})]}):null]})})]})]})}function wt(){let t;for(let[,n]of e){if(!et(n))continue;let e=rt(n.pulse);e!=null&&(t==null||e>t)&&(t=e)}return t}var Tt=ye(A(),1),Et=`41.3.1`,Dt=typeof window<`u`,Ot=`sigil:explorer:select:bc:v1`,kt=`sigil:explorer:selectedHash:v1`,At=1000000n;function jt(){return globalThis}function Mt(e){let t=jt();if(typeof t.requestIdleCallback==`function`){let n=t.requestIdleCallback(()=>e(),{timeout:200});return{cancel:()=>{typeof t.cancelIdleCallback==`function`&&t.cancelIdleCallback(n)}}}let n=window.setTimeout(e,32);return{cancel:()=>clearTimeout(n)}}function Nt(e,t,n){return Math.max(t,Math.min(n,e))}function Pt(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Ft(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function It(e){let t=Ft(e);return t?t.toLowerCase():void 0}function X(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(Number.isFinite(t))return t}}function Lt(e,t){try{window.localStorage.setItem(e,t)}catch{}}function Rt(e){if(Dt){Lt(kt,e);try{let t=`BroadcastChannel`in window?new BroadcastChannel(Ot):null;t?.postMessage({type:`sigil:select`,hash:e}),t?.close()}catch{}}}function zt(e,t=10){return e.length<=t?e:e.slice(0,t)}function Bt(e){return e==null||!Number.isFinite(e)?`—`:new Intl.NumberFormat(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}function Vt(e){return e==null||!Number.isFinite(e)?`—`:e.toFixed(6).replace(/0+$/u,``).replace(/\.$/u,``)}function Ht(e){let t=(e??``).toLowerCase();return t.includes(`root`)?`Root`:t.includes(`sacral`)?`Sacral`:t.includes(`solar`)?`Solar Plexus`:t.includes(`heart`)?`Heart`:t.includes(`throat`)?`Throat`:t.includes(`third`)||t.includes(`brow`)?`Third Eye`:t.includes(`crown`)?`Crown`:`Root`}async function Ut(e){if(Dt&&e&&navigator.clipboard)try{await navigator.clipboard.writeText(e)}catch{}}var Wt=(e,t)=>{if(t===0n)return 0n;let n=e%t;return n>=0n?n:n+t},Gt=(e,t)=>{let n=e<0n?-e:e,r=t<0n?-t:t;for(;r!==0n;){let e=n%r;n=r,r=e}return n},Kt=(()=>{let e=Gt(c,At);return e===0n?0n:c/e})(),qt=new Set,Jt=(1+Math.sqrt(5))/2,Yt=e=>{if(!Number.isFinite(e))return 0;let t=BigInt(Math.trunc(e));if(Kt<=0n)return 0;let n=Wt(t,Kt);return Number(n)},Xt=e=>{let t=Number.isFinite(e)?Math.trunc(e):0,{beat:n,stepIndex:r,percentIntoStep:i}=_(BigInt(t)*At);return{beat:n,stepIndex:r,stepPct:L(i)}},Zt=e=>{let t=0;for(let n=0;n{if(n)return;let r=!1,i=Mt(()=>{r||(qt.add(e),t(e=>e+1))});return()=>{r=!0,i.cancel()}},[n,e]),n}function $t(e){let t=y(e);if(typeof t==`string`&&t.length)return t.toLowerCase();let n=e.match(/\/s\/([0-9a-f]{32,128})(?:\?|$)/i);return n?.[1]?n[1].toLowerCase():null}function en(e){let t=It(e.parentHash);if(t)return t;let n=Ft(e.parentUrl);if(n){let e=$t(n);if(e)return e}}function tn(e){let t=Ft(e.originUrl);if(t){let e=$t(t);if(e)return e}}function nn(e){let t=Ft(e);if(t===`send`||t===`receive`)return t}function rn(e){let t=0,n=e=>{e!=null&&(typeof e==`string`&&e.length===0||(t+=1))};return n(e.pulse),n(e.beat),n(e.stepIndex),n(e.chakraDay),n(e.userPhiKey),n(e.kaiSignature),n(e.parentHash),n(e.originHash),n(e.transferDirection),n(e.transferAmountPhi),n(e.phiDelta),t}function an(e){let t=e[0]??``,n=-1/0;for(let r of e){let e=I(r),i=_e(e,N(e));i>n&&(n=i,t=r)}return D(t)}function on(t){let n=new Map;for(let[r,i]of e){if(!Pt(i))continue;let e=X(i.pulse);if(e!==t)continue;let a=I(r),o=$t(a);if(!o)continue;let s={hash:o,bestUrl:D(a),sources:[a],pulse:e,beat:X(i.beat),stepIndex:X(i.stepIndex),chakraDay:Ft(i.chakraDay),userPhiKey:Ft(i.userPhiKey),kaiSignature:It(i.kaiSignature),parentHash:en(i),originHash:tn(i),transferDirection:nn(i.transferDirection),transferAmountPhi:Ft(i.transferAmountPhi),phiDelta:Ft(i.phiDelta)},c=n.get(o);if(!c){n.set(o,{hash:o,bestUrl:s.bestUrl??D(a),sources:[a],pulse:s.pulse,beat:s.beat,stepIndex:s.stepIndex,chakraDay:s.chakraDay,userPhiKey:s.userPhiKey,kaiSignature:s.kaiSignature,parentHash:s.parentHash,originHash:s.originHash,transferDirection:s.transferDirection,transferAmountPhi:s.transferAmountPhi,phiDelta:s.phiDelta,degree:0});continue}let l=new Set(c.sources);l.add(a);let u=rn(c),d=rn(s)>u;n.set(o,{...c,sources:Array.from(l),pulse:c.pulse??s.pulse,beat:d&&s.beat!==void 0?s.beat:c.beat??s.beat,stepIndex:d&&s.stepIndex!==void 0?s.stepIndex:c.stepIndex??s.stepIndex,chakraDay:d&&s.chakraDay?s.chakraDay:c.chakraDay??s.chakraDay,userPhiKey:d&&s.userPhiKey?s.userPhiKey:c.userPhiKey??s.userPhiKey,kaiSignature:d&&s.kaiSignature?s.kaiSignature:c.kaiSignature??s.kaiSignature,parentHash:d&&s.parentHash?s.parentHash:c.parentHash??s.parentHash,originHash:d&&s.originHash?s.originHash:c.originHash??s.originHash,transferDirection:d&&s.transferDirection?s.transferDirection:c.transferDirection??s.transferDirection,transferAmountPhi:d&&s.transferAmountPhi?s.transferAmountPhi:c.transferAmountPhi??s.transferAmountPhi,phiDelta:d&&s.phiDelta?s.phiDelta:c.phiDelta??s.phiDelta,bestUrl:c.bestUrl,degree:0})}let r=new Map;for(let e of n.values())e.parentHash&&r.set(e.parentHash,(r.get(e.parentHash)??0)+1);for(let e of n.values()){let t=0;e.parentHash&&(t+=1),e.originHash&&(t+=1),t+=r.get(e.hash)??0,e.degree=t,e.bestUrl=an(e.sources)}return Array.from(n.values()).sort((e,t)=>{if(t.degree!==e.degree)return t.degree-e.degree;let n=typeof e.beat==`number`?e.beat:-1,r=typeof t.beat==`number`?t.beat:-1;if(r!==n)return r-n;let i=typeof e.stepIndex==`number`?e.stepIndex:-1,a=typeof t.stepIndex==`number`?t.stepIndex:-1;return a===i?e.hasht.hash?1:0:a-i})}var sn=[{q:1,r:0},{q:1,r:-1},{q:0,r:-1},{q:-1,r:0},{q:-1,r:1},{q:0,r:1}];function cn(e){if(e<=0)return[];let t=[{q:0,r:0}],n=1;for(;t.length{if(!Dt)return!1;try{return window.matchMedia(e).matches}catch{return!1}});return(0,U.useEffect)(()=>{if(!Dt)return;let t;try{t=window.matchMedia(e)}catch{return}let r=e=>n(e.matches);if(`addEventListener`in t)return t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r);let i=t;return i.addListener?.(r),()=>i.removeListener?.(r)},[e]),t}function mn(e){let{enabled:t,shellRef:n,anchor:r}=e;(0,U.useLayoutEffect)(()=>{if(!Dt||!t)return;let e=n.current;if(!e||!r)return;let i=()=>{let e=n.current;if(!e)return;let t=window.innerWidth,i=window.innerHeight,a=e.getBoundingClientRect(),o=r.y+10,s=r.y-a.height-10,c=i-(o+a.height)-12,l=s-12,u=c<0&&l>c,d=r.x-a.width*.5,f=u?s:o,p=Nt(d,12,Math.max(12,t-a.width-12)),m=Nt(f,12,Math.max(12,i-a.height-12));e.style.left=`${p}px`,e.style.top=`${m}px`,e.style.transformOrigin=`${Math.max(0,r.x-p)}px ${Math.max(0,r.y-m)}px`,e.setAttribute(`data-popover-flip`,u?`above`:`below`)},a=window.requestAnimationFrame(i),o=()=>{window.cancelAnimationFrame(a),a=window.requestAnimationFrame(i)};window.addEventListener(`resize`,o,{passive:!0}),window.addEventListener(`scroll`,o,{passive:!0,capture:!0});let s=null;return typeof ResizeObserver<`u`&&(s=new ResizeObserver(()=>o()),s.observe(e)),()=>{window.cancelAnimationFrame(a),window.removeEventListener(`resize`,o),window.removeEventListener(`scroll`,o,!0),s?.disconnect()}},[t,n,r?.x,r?.y])}function hn(e){let t=(e??``).toLowerCase();return t.includes(`root`)?`chakra-root`:t.includes(`sacral`)?`chakra-sacral`:t.includes(`solar`)?`chakra-solar`:t.includes(`heart`)?`chakra-heart`:t.includes(`throat`)?`chakra-throat`:t.includes(`third`)||t.includes(`brow`)?`chakra-third`:t.includes(`crown`)?`chakra-crown`:`chakra-unknown`}function gn(e){let t=[];for(let n=0;n0,a=e=>0;if(e.length<2)return{d:``,minV:0,maxV:0,xAt:i,yAt:a};let o=1/0,s=-1/0;for(let t of e)Number.isFinite(t)&&(o=Math.min(o,t),s=Math.max(s,t));if(!Number.isFinite(o)||!Number.isFinite(s))return{d:``,minV:0,maxV:0,xAt:i,yAt:a};let c=Math.max(1e-9,s-o),l=e.length,u=r,d=t-r,f=r,p=n-r,m=e=>u+e/Math.max(1,l-1)*(d-u),h=e=>p-(e-o)/c*(p-f),g=``;for(let t=0;t=n.length)return null;let s=t[r],c=n[r],l=n[0],u=s?.phi??NaN,d=s?.usdPerPhi??i,f=d!=null&&Number.isFinite(d)?u*d:NaN,p=l,m=Number.isFinite(p)?c-p:NaN,h=Number.isFinite(p)&&p!==0?m/Math.abs(p)*100:NaN;return{i:s?.i??r,pulse:s?.pulse,valueMode:c,valuePhi:u,valueUsd:f,usdPerPhiPoint:d??void 0,hi:a,lo:o,dFromStart:m,dPctFromStart:h,points:n.length}}function xn(e){let{open:t,locked:n,x:r,y:i,mode:a,tip:o}=e,s=Dt?document.body:null;return!t||s==null?null:(0,Tt.createPortal)((0,Y.jsx)(`div`,{className:`phmTipPortal ${n?`isLocked`:``}`,style:{left:`${r}px`,top:`${i}px`},"aria-hidden":`true`,children:(0,Y.jsxs)(`div`,{className:`phmTipInner`,children:[(0,Y.jsxs)(`div`,{className:`phmTipTop`,children:[(0,Y.jsx)(`div`,{className:`phmTipTitle`,children:a===`phi`?`Asset Value (Φ)`:`Asset Value (USD)`}),(0,Y.jsx)(`div`,{className:`phmTipIndex`,children:o.pulse==null?`Index ${o.i}`:`Pulse ${Math.trunc(o.pulse).toLocaleString()}`})]}),(0,Y.jsxs)(`div`,{className:`phmTipMain`,children:[(0,Y.jsx)(`div`,{className:`phmTipBig`,children:yn(a,o.valueMode)}),(0,Y.jsxs)(`div`,{className:`phmTipSubRow`,children:[(0,Y.jsx)(`span`,{className:`phmTipSub`,children:Number.isFinite(o.valuePhi)?`${Vt(o.valuePhi)} Φ`:`—`}),(0,Y.jsx)(`span`,{className:`phmTipDot`,children:`•`}),(0,Y.jsx)(`span`,{className:`phmTipSub`,children:Number.isFinite(o.valueUsd)?`$${Bt(o.valueUsd)}`:`—`})]})]}),(0,Y.jsxs)(`div`,{className:`phmTipGrid`,children:[(0,Y.jsx)(`div`,{className:`phmTipK`,children:`Δ`}),(0,Y.jsxs)(`div`,{className:`phmTipV`,children:[Number.isFinite(o.dFromStart)?yn(a,o.dFromStart):`—`,Number.isFinite(o.dPctFromStart)?(0,Y.jsxs)(`span`,{className:`phmTipMini`,children:[` `,`(`,o.dPctFromStart>=0?`+`:``,o.dPctFromStart.toFixed(2),`%)`]}):null]}),(0,Y.jsx)(`div`,{className:`phmTipK`,children:`High`}),(0,Y.jsx)(`div`,{className:`phmTipV`,children:yn(a,o.hi)}),(0,Y.jsx)(`div`,{className:`phmTipK`,children:`Low`}),(0,Y.jsx)(`div`,{className:`phmTipV`,children:yn(a,o.lo)}),(0,Y.jsx)(`div`,{className:`phmTipK`,children:`USD/Φ`}),(0,Y.jsx)(`div`,{className:`phmTipV`,children:o.usdPerPhiPoint!=null&&Number.isFinite(o.usdPerPhiPoint)?`$${Bt(o.usdPerPhiPoint)}`:`—`}),(0,Y.jsx)(`div`,{className:`phmTipK`,children:`Points`}),(0,Y.jsx)(`div`,{className:`phmTipV`,children:o.points})]}),(0,Y.jsx)(`div`,{className:`phmTipHint`,children:n?`tap again to unlock`:`tap to lock`})]})}),s)}function Sn(e){let{lineData:t,mode:n,usdPerPhiFallback:r,livePhi:i,liveUsd:a,usdPerPhiNow:o}=e,s=(0,U.useRef)(null),c=(0,U.useMemo)(()=>gn(t),[t]),l=(0,U.useMemo)(()=>c.map(e=>_n(e,n,r)),[c,n,r]),u=(0,U.useMemo)(()=>vn(l,420,86,10),[l]),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(!1),[h,g]=(0,U.useState)(null),_=l.length,v=d==null?null:Nt(d,0,Math.max(0,_-1)),y=v!=null&&v>=0&&v<_,b=_>0?l[0]:null,x=_>0?l[_-1]:null,ee=(0,U.useMemo)(()=>{if(!Number.isFinite(b??NaN)||!Number.isFinite(x??NaN))return null;let e=Math.abs(b);return e<=0?null:(x-b)/e*100},[b,x]),S=(0,U.useMemo)(()=>!y||v==null?null:bn({mode:n,points:c,values:l,idx:v,usdPerPhiFallback:r,hi:u.maxV,lo:u.minV}),[y,v,n,c,l,r,u.maxV,u.minV]),C=e=>{let t=s.current;if(!t||!_)return;let n=t.getBoundingClientRect(),r=Nt(e-n.left,0,n.width),i=n.width>0?r/n.width:0,a=Math.round(i*Math.max(0,_-1));f(a);let o=u.xAt(a),c=u.yAt(l[a]??0),d=n.width>0?o/420*n.width:0,p=n.height>0?c/86*n.height:0;g({x:n.left+d,y:n.top+p})},w=e=>{_&&(p||C(e.clientX))},T=e=>{_&&(p||C(e.clientX))},E=()=>{p||(f(null),g(null))},D=e=>{if(_){if(p){m(!1),f(null),g(null);return}m(!0),C(e.clientX)}},te=n===`phi`?i??null:a??null,O=yn(n,Number.isFinite(te??NaN)?te:NaN),k=o==null?`—`:`$${Bt(o)} / Φ`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{ref:s,className:`phmChart phmChart--lite phmChart--interactive ${p?`isLocked`:``}`,role:`group`,"aria-label":`Live value chart`,onPointerMove:w,onPointerEnter:T,onPointerLeave:E,onClick:D,children:[(0,Y.jsxs)(`div`,{className:`phmChartTopRow`,"aria-hidden":`true`,children:[(0,Y.jsxs)(`span`,{className:`phmChartBadge`,children:[(0,Y.jsx)(`span`,{className:`phmLiveDot`}),`LIVE`]}),(0,Y.jsx)(`span`,{className:`phmTicker`,children:O}),(0,Y.jsx)(`span`,{className:`phmChartHint`,children:p?`tap again to unlock`:`tap to lock`})]}),(0,Y.jsxs)(`svg`,{className:`phmChartSvg`,viewBox:`0 0 420 86`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,Y.jsxs)(`defs`,{children:[(0,Y.jsxs)(`linearGradient`,{id:`phmLine`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[(0,Y.jsx)(`stop`,{offset:`0%`,stopColor:`rgba(191,252,255,0.85)`}),(0,Y.jsx)(`stop`,{offset:`60%`,stopColor:`rgba(183,163,255,0.75)`}),(0,Y.jsx)(`stop`,{offset:`100%`,stopColor:`rgba(191,252,255,0.55)`})]}),(0,Y.jsxs)(`linearGradient`,{id:`phmFill`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Y.jsx)(`stop`,{offset:`0%`,stopColor:`rgba(191,252,255,0.18)`}),(0,Y.jsx)(`stop`,{offset:`70%`,stopColor:`rgba(191,252,255,0.04)`}),(0,Y.jsx)(`stop`,{offset:`100%`,stopColor:`rgba(0,0,0,0)`})]}),(0,Y.jsxs)(`filter`,{id:`phmGlow`,x:`-30%`,y:`-50%`,width:`160%`,height:`200%`,children:[(0,Y.jsx)(`feGaussianBlur`,{stdDeviation:`2.3`,result:`b`}),(0,Y.jsx)(`feColorMatrix`,{in:`b`,type:`matrix`,values:` +import{$t as e,An as t,C as n,Cn as r,Dn as i,E as a,En as o,Gt as s,Hr as c,Jt as l,Kt as u,Mn as d,Nn as f,On as p,P as m,Pn as h,Qn as g,Qr as _,Qt as v,Sn as y,Sr as b,T as x,Tn as ee,Wt as S,Xn as C,Xt as w,Yt as T,Zt as E,_n as D,an as te,bn as O,cn as k,di as A,dn as ne,ei as re,en as j,fn as M,gn as N,hn as P,in as ie,jn as ae,kn as oe,ln as F,mn as I,ni as L,nn as se,on as ce,pi as le,pn as R,q as ue,qt as de,ri as z,rn as fe,rt as B,sn as pe,tn as me,tr as he,un as V,vn as ge,w as H,wn as _e,xn as ve,yi as ye,yn as be}from"./index-DW_ZnoNU.js";var U=ye(le(),1);const xe={root:`#ff3b3b`,sacral:`#ff8a3d`,solar:`#ffd54a`,heart:`#3dff9a`,throat:`#46d3ff`,thirdEye:`#6b6cff`,crown:`#c18bff`};function Se(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`root`)?`root`:t.includes(`sacral`)?`sacral`:t.includes(`solar`)||t.includes(`plexus`)||t.includes(`sun`)?`solar`:t.includes(`heart`)?`heart`:t.includes(`throat`)?`throat`:t.includes(`third`)||t.includes(`eye`)||t.includes(`indigo`)?`thirdEye`:t.includes(`crown`)||t.includes(`krown`)||t.includes(`violet`)?`crown`:t===`1`?`root`:t===`2`?`sacral`:t===`3`?`solar`:t===`4`?`heart`:t===`5`?`throat`:t===`6`?`thirdEye`:t===`7`?`crown`:null:null}function W(e){let t=Se(e),n=t?xe[t]:`var(--sx-accent)`;return{"--sx-chakra":n}}function G(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function K(e){if(typeof e==`number`)return!Number.isFinite(e)||Math.abs(e)<1e-12?void 0:Math.abs(e);if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Math.abs(t)>=1e-12)return Math.abs(t)}}function q(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`receive`)||t.includes(`received`)||t.includes(`inhale`)?`receive`:t.includes(`send`)||t.includes(`sent`)||t.includes(`exhale`)?`send`:null:null}function J(e){if(typeof e==`number`)return!Number.isFinite(e)||e<=0?void 0:e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&t>0)return t}}function Ce(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return e;if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&t>0)return t}}function we(e){let t=e,n=G(t.feed)?t.feed:null,r=e=>e?q(e.phiDirection)||q(e.transferDirection)||q(e.transferMode)||q(e.transferKind):null,i=e=>{if(e)return e.phiDelta??e.phiSigned??e.phiChange},a=e=>e?K(e.transferAmountPhi)??K(e.transferPhi)??K(e.amountPhi)??K(e.phiAmount)??K(e.childAllocationPhi)??K(e.branchBasePhi):void 0,o=e=>e?J(e.amountUsd)??J(e.usdAmount)??J(e.usdValue)??J(e.valueUsd)??J(e.usd):void 0,s=e=>e?J(e.usdPerPhi)??J(e.fxUsdPerPhi)??J(e.usd_per_phi):void 0,c=e=>e?Ce(e.atPulse)??Ce(e.sentPulse)??Ce(e.senderKaiPulse)??Ce(e.transferPulse):void 0,l=r(t)??r(n),u=i(t)??i(n),d=typeof u==`number`?u:void 0;d===void 0&&typeof u==`string`&&(d=Number(u));let f=l??(typeof d==`number`&&Number.isFinite(d)?d>=0?`receive`:`send`:null);if(!f)return;let p=a(t)??a(n)??(G(t.preview)?K(t.preview.amountPhi):void 0)??(G(n?.preview)?K(n.preview.amountPhi):void 0)??(typeof d==`number`&&Number.isFinite(d)?Math.abs(d):void 0);if(p===void 0)return;let m=o(t)??o(n)??(G(t.preview)?J(t.preview.amountUsd):void 0)??(G(n?.preview)?J(n.preview.amountUsd):void 0),h=s(t)??s(n)??(G(t.preview)?J(t.preview.usdPerPhi):void 0)??(G(n?.preview)?J(n.preview.usdPerPhi):void 0),g=c(t)??c(n)??(G(t.preview)?Ce(t.preview.atPulse):void 0)??(G(n?.preview)?Ce(n.preview.atPulse):void 0);return{direction:f,amount:p,amountUsd:m??(h===void 0?void 0:p*h),sentPulse:g,source:`payload`}}function Te(e){for(let t of[`transferUrl`,`transferURL`,`transferLink`,`transfer_link`,`sealUrl`,`sealURL`,`sigilTransferUrl`]){let n=e[t];if(typeof n!=`string`||!n.trim())continue;let r=ge(n.trim());if(!r)continue;let i=we(r);if(i)return i}}function Ee(e,t){if(!e)return;let n=t.get(e.toLowerCase());if(!n)return;let r=K(n.amountPhi);if(r!==void 0)return{direction:n.direction,amount:r,amountUsd:J(n.amountUsd),sentPulse:Ce(n.sentPulse),source:`registry`}}function De(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Oe(e,t){if(!De(e))return;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():void 0}function ke(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t?t.includes(`receive`)||t.includes(`received`)||t.includes(`inhale`)?`receive`:t.includes(`send`)||t.includes(`sent`)||t.includes(`exhale`)?`send`:null:null}function Ae(e){let t=e,n=De(t.feed)?t.feed:null,r=e=>e?ke(e.transferDirection)||ke(e.transferMode)||ke(e.transferKind)||ke(e.phiDirection):null,i=!!(r(t)??r(n)),a=!!(typeof t.transferNonce==`string`||typeof t.nonce==`string`||typeof t.transferToken==`string`||typeof t.token==`string`||n&&(typeof n.transferNonce==`string`||typeof n.nonce==`string`||typeof n.transferToken==`string`||typeof n.token==`string`)),o=!!(typeof t.parentUrl==`string`||typeof t.parentHash==`string`||typeof t.parentCanonical==`string`||n&&(typeof n.parentUrl==`string`||typeof n.parentHash==`string`||typeof n.parentCanonical==`string`));return i||a||o}function je(e){return e.kind!==`post`||!y(e.primaryUrl)||we(e.payload)?!1:!Ae(e.payload)}function Me(e){let t=new Map,n=new Map;for(let[r,i]of e){let e=I(r),a=N(e),o=P(e,i),s=ve(e,i);t.set(e,o);let c=n.get(o);if(!c){n.set(o,{payload:i,urls:new Set([e]),kind:a,momentKey:s});continue}k(i,c.payload)>0&&(c.payload=i),c.urls.add(e);let l=c.momentKey,u=s;l.startsWith(`u:`)&&!u.startsWith(`u:`)&&(c.momentKey=u),l.startsWith(`h:`)&&(u.startsWith(`k:`)||u.startsWith(`sig:`)||u.startsWith(`tok:`))&&(c.momentKey=u)}let i=new Map;for(let[e,t]of n){let n=r(Array.from(t.urls),t.kind);i.set(e,{id:e,payload:t.payload,urls:t.urls,primaryUrl:n,kind:t.kind,momentKey:t.momentKey})}let a=new Map;for(let e of i.values()){let t=e.momentKey;a.has(t)||a.set(t,[]),a.get(t).push(e.id)}let o=new Map,s=new Map,c=new Map,l=new Map;for(let e of i.values()){let t=y(e.primaryUrl);t&&!l.has(t)&&l.set(t,e.id)}for(let[e,t]of a){let n=t.map(e=>i.get(e)).filter(Boolean),r=n.filter(e=>e.kind===`post`),a;a=r.length>0?r.slice().sort((e,t)=>_e(t.primaryUrl,`post`)-_e(e.primaryUrl,`post`))[0]:n.slice().sort((e,t)=>_e(t.primaryUrl,t.kind)-_e(e.primaryUrl,e.kind))[0];let l=a?.id??t[0];o.set(e,l);for(let e of t)s.set(e,l);for(let e of t){let t=i.get(e);if(t)for(let e of t.urls)c.set(e,l)}}let u=new Map,d=new Map;for(let e of i.values()){if(!je(e))continue;let t=y(e.primaryUrl);t&&(d.has(t)||d.set(t,e.id))}for(let e of i.values()){let n=s.get(e.id)??e.id;if(e.id!==n)continue;let r=Oe(e.payload,`originUrl`),i=r?I(r):be(e.primaryUrl)??e.primaryUrl,a=y(i),o=t.get(i)??(a?l.get(a):void 0),f=(a?d.get(a):void 0)??o??c.get(i);u.set(n,f??n)}let f=new Map;for(let e of i.values()){let n=s.get(e.id)??e.id,r=u.get(n)??n,i,a=Oe(e.payload,`parentUrl`);if(a){let n=I(a),r=y(n),o=t.get(n)??(r?l.get(r):void 0)??c.get(n);o&&o!==e.id&&(i=o)}!i&&e.id!==n&&(i=n),f.set(e.id,{id:e.id,payload:e.payload,urls:e.urls,primaryUrl:e.primaryUrl,kind:e.kind,momentKey:e.momentKey,parentId:i,originId:r,momentParentId:n})}return f}function Ne(e,t){let n=[];for(let[r,i]of t)i.parentId===e&&n.push(r);return n.sort((e,n)=>k(t.get(n).payload,t.get(e).payload)),n}function Pe(e,t,n=new Set){let r=t.get(e);if(!r)return null;if(n.has(e))return{id:r.id,url:r.primaryUrl,urls:Array.from(r.urls),payload:r.payload,children:[]};n.add(e);let i=Ne(e,t).map(e=>Pe(e,t,n)).filter(Boolean);return{id:r.id,url:r.primaryUrl,urls:Array.from(r.urls),payload:r.payload,children:i}}function Fe(e){let t=0,n=e.payload,r=e=>{t+=1,k(e.payload,n)>0&&(n=e.payload),e.children.forEach(r)};return r(e),{nodeCount:t,latest:n}}function Ie(e){let t=Me(e),n=new Map;for(let[e,r]of t){let t=r.originId;n.has(t)||n.set(t,[]),n.get(t).push(e)}let r=[];for(let e of n.keys()){let n=Pe(e,t);if(!n)continue;let i=Fe(n);r.push({root:n,nodeCount:i.nodeCount,latest:i.latest})}return r.sort((e,t)=>{let n=k(t.latest,e.latest);return n===0?t.nodeCount===e.nodeCount?k(t.root.payload,e.root.payload):t.nodeCount-e.nodeCount:n}),r.map(e=>e.root)}function Le(e){let t=e.payload;if(De(t)&&typeof t.canonicalHash==`string`)return t.canonicalHash;let n=y(e.url);if(n)return n;for(let t of e.urls){let e=y(t);if(e)return e;let n=ge(t);if(!n)continue;let r=n;if(De(r)&&typeof r.canonicalHash==`string`)return r.canonicalHash}}var Y=ye(u(),1),Re=typeof window<`u`,ze=`sigil:explorer:open`,Be=`sigil:explorer:bc:v1`,Ve=`sigil:explorer:select:bc:v1`,He=`sigil:explorer:selectedHash:v1`,Ue=1000000n,We=(e,t)=>{if(t===0n)return 0n;let n=e%t;return n>=0n?n:n+t},Ge=(e,t)=>{let n=e<0n?-e:e,r=t<0n?-t:t;for(;r!==0n;){let e=n%r;n=r,r=e}return n},Ke=(()=>{let e=Ge(c,Ue);return e===0n?0n:c/e})(),qe=(1+Math.sqrt(5))/2,Je=e=>{if(!Number.isFinite(e))return 0;let t=BigInt(Math.trunc(e));if(Ke<=0n)return 0;let n=We(t,Ke);return Number(n)},Ye=e=>{let t=Number.isFinite(e)?Math.trunc(e):0,{beat:n,stepIndex:r,percentIntoStep:i}=_(BigInt(t)*Ue);return{beat:n,stepIndex:r,stepPct:L(i)}},Xe=e=>{let t=0;for(let n=0;n{let t=Xe(e),n=Xe(e.split(``).reverse().join(``)),r=Xe(`${e}phi`);return`${Math.floor(80+t*175)} ${Math.floor(80+n*175)} ${Math.floor(80+r*175)}`},Qe=[{q:1,r:0},{q:1,r:-1},{q:0,r:-1},{q:-1,r:0},{q:-1,r:1},{q:0,r:1}];function $e(e,t,n){return Math.max(t,Math.min(n,e))}function et(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function tt(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function nt(e){let t=tt(e);return t?t.toLowerCase():void 0}function rt(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function it(e){return JSON.parse(e)}function at(e){try{return window.localStorage.getItem(e)}catch{return null}}function ot(e,t){try{window.localStorage.setItem(e,t)}catch{}}function st(e){let t=tt(e);if(t===`send`||t===`receive`)return t}function ct(e){let t=(e??``).toLowerCase();return t.includes(`root`)?`chakra-root`:t.includes(`sacral`)?`chakra-sacral`:t.includes(`solar`)?`chakra-solar`:t.includes(`heart`)?`chakra-heart`:t.includes(`throat`)?`chakra-throat`:t.includes(`third`)||t.includes(`brow`)?`chakra-third`:t.includes(`crown`)?`chakra-crown`:`chakra-unknown`}function lt(e){let t=(e??``).toLowerCase();return t.includes(`root`)?`shape-root`:t.includes(`sacral`)?`shape-sacral`:t.includes(`solar`)?`shape-solar`:t.includes(`heart`)?`shape-heart`:t.includes(`throat`)?`shape-throat`:t.includes(`third`)||t.includes(`brow`)?`shape-third`:t.includes(`crown`)?`shape-crown`:null}function ut(e,t=10){return e.length<=t?e:e.slice(0,t)}function dt(e){return e?e.startsWith(`-`)?e:`+${e}`:`—`}function ft(e){let t=y(e);if(typeof t==`string`&&t.length)return t.toLowerCase();let n=e.match(/\/s\/([0-9a-f]{32,128})(?:\?|$)/i);return n?.[1]?n[1].toLowerCase():null}function pt(e){let t=nt(e.parentHash);if(t)return t;let n=tt(e.parentUrl);if(n){let e=ft(n);if(e)return e}}function mt(e){let t=tt(e.originUrl);if(t){let e=ft(t);if(e)return e}}function ht(e){let t=0,n=e=>{e!=null&&(typeof e==`string`&&e.length===0||(t+=1))};return n(e.pulse),n(e.beat),n(e.stepIndex),n(e.chakraDay),n(e.userPhiKey),n(e.kaiSignature),n(e.parentHash),n(e.originHash),n(e.transferDirection),n(e.transferAmountPhi),n(e.phiDelta),n(e.receiverKaiPulse),t}function gt(e){let t=e[0]??``,n=-1/0;for(let r of e){let e=I(r),i=_e(e,N(e));i>n&&(n=i,t=r)}return D(t)}function _t(t,n){let r=new Map;for(let[t,n]of e){let e=I(t),i=ft(e);if(!i)continue;let a=et(n)?n:{},o={hash:i,bestUrl:D(e),pulse:rt(a.pulse),beat:rt(a.beat),stepIndex:rt(a.stepIndex),chakraDay:tt(a.chakraDay),userPhiKey:tt(a.userPhiKey),kaiSignature:nt(a.kaiSignature),parentHash:pt(a),originHash:mt(a),transferDirection:st(a.transferDirection),transferAmountPhi:tt(a.transferAmountPhi),phiDelta:tt(a.phiDelta),receiverKaiPulse:rt(a.receiverKaiPulse)},s=r.get(i);if(!s){r.set(i,{hash:i,bestUrl:o.bestUrl??D(e),sources:[e],pulse:o.pulse,beat:o.beat,stepIndex:o.stepIndex,chakraDay:o.chakraDay,userPhiKey:o.userPhiKey,kaiSignature:o.kaiSignature,parentHash:o.parentHash,originHash:o.originHash,transferDirection:o.transferDirection,transferAmountPhi:o.transferAmountPhi,phiDelta:o.phiDelta,receiverKaiPulse:o.receiverKaiPulse,degree:0});continue}let c=new Set(s.sources);c.add(e);let l=ht(s),u=ht(o)>l,d={...s,sources:Array.from(c),bestUrl:s.bestUrl,pulse:u&&o.pulse!==void 0?o.pulse:s.pulse??o.pulse,beat:u&&o.beat!==void 0?o.beat:s.beat??o.beat,stepIndex:u&&o.stepIndex!==void 0?o.stepIndex:s.stepIndex??o.stepIndex,chakraDay:u&&o.chakraDay?o.chakraDay:s.chakraDay??o.chakraDay,userPhiKey:u&&o.userPhiKey?o.userPhiKey:s.userPhiKey??o.userPhiKey,kaiSignature:u&&o.kaiSignature?o.kaiSignature:s.kaiSignature??o.kaiSignature,parentHash:u&&o.parentHash?o.parentHash:s.parentHash??o.parentHash,originHash:u&&o.originHash?o.originHash:s.originHash??o.originHash,transferDirection:u&&o.transferDirection?o.transferDirection:s.transferDirection??o.transferDirection,transferAmountPhi:u&&o.transferAmountPhi?o.transferAmountPhi:s.transferAmountPhi??o.transferAmountPhi,phiDelta:u&&o.phiDelta?o.phiDelta:s.phiDelta??o.phiDelta,receiverKaiPulse:u&&o.receiverKaiPulse!==void 0?o.receiverKaiPulse:s.receiverKaiPulse??o.receiverKaiPulse,degree:0};r.set(i,d)}let i=new Map;for(let e of r.values())e.parentHash&&i.set(e.parentHash,(i.get(e.parentHash)??0)+1);for(let e of r.values()){let t=0;e.parentHash&&(t+=1),e.originHash&&(t+=1),t+=i.get(e.hash)??0,e.degree=t,e.bestUrl=gt(e.sources)}let a=e=>typeof e.pulse==`number`?e.pulse:-1;return Array.from(r.values()).sort((e,t)=>n===`degreeDesc`?t.degree===e.degree?a(t)-a(e):t.degree-e.degree:n===`pulseAsc`?a(e)-a(t):a(t)-a(e)).slice(0,t)}function vt(e){if(e<=0)return[];let t=[{q:0,r:0}],n=1;for(;t.lengthE()?1:0),[g,_]=(0,U.useState)(null),y=(0,U.useRef)(null),[b,x]=(0,U.useState)({w:0,h:0}),[S,C]=(0,U.useState)(.6),[D,O]=(0,U.useState)({x:-18,y:0,z:0}),[k,A]=(0,U.useState)(!1),[ne,re]=(0,U.useState)({x:0,y:0}),j=(0,U.useRef)({active:!1,mode:`pan`,x0:0,y0:0,panX0:0,panY0:0,rotX0:0,rotY0:0,rotZ0:0}),M=(0,U.useRef)(null),N=(0,U.useRef)(!1),P=(0,U.useRef)(null),ie=(0,U.useCallback)(()=>{(0,U.startTransition)(()=>h(e=>e+1))},[]);(0,U.useEffect)(()=>{if(!Re)return;s&&(ae(),d(),te()),ee(),E()&&ie(),window.dispatchEvent(new Event(ze)),P.current=`BroadcastChannel`in window?new BroadcastChannel(Ve):null;let e=e=>{let t=e.data;if(!et(t)||tt(t.type)!==`sigil:select`)return;let n=nt(t.hash);n&&_(n)};P.current?.addEventListener(`message`,e);let t=e=>{if(!e.key||!e.newValue)return;if(e.key===He){let t=nt(e.newValue);t&&_(t);return}let t=e.key===T,n=e.key===l;if(!(!t&&!n))try{let t=it(e.newValue);if(!Array.isArray(t))return;let n=!1;for(let e of t)typeof e==`string`&&w(e,{includeAncestry:!0,broadcast:!1,persist:!1,source:`local`,enqueueToApi:s})&&(n=!0);n&&(me(),ie())}catch{}};window.addEventListener(`storage`,t);let n=`BroadcastChannel`in window?new BroadcastChannel(Be):null,r=e=>{let t=e.data;if(!et(t)||tt(t.type)!==`sigil:add`)return;let n=tt(t.url);n&&w(n,{includeAncestry:!0,broadcast:!1,persist:!0,source:`local`,enqueueToApi:s})&&ie()};n?.addEventListener(`message`,r);let i=e=>{let t=e,n=typeof t.detail?.url==`string`?t.detail.url:``;n&&w(n,{includeAncestry:!0,broadcast:!0,persist:!0,source:`local`,enqueueToApi:s})&&ie()},a=e=>{let t=e,n=typeof t.detail?.url==`string`?t.detail.url:``;n&&w(n,{includeAncestry:!0,broadcast:!0,persist:!0,source:`local`,enqueueToApi:s})&&ie()};window.addEventListener(`sigil:url-registered`,i),window.addEventListener(`sigil:minted`,a);let o=()=>{s&&(ce(),fe())};return window.addEventListener(`pagehide`,o),()=>{window.removeEventListener(`storage`,t),window.removeEventListener(`sigil:url-registered`,i),window.removeEventListener(`sigil:minted`,a),window.removeEventListener(`pagehide`,o),n?.removeEventListener(`message`,r),n?.close(),P.current?.removeEventListener(`message`,e),P.current?.close(),P.current=null}},[s,ie]),(0,U.useEffect)(()=>{let e=y.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(e=>{let t=e[0]?.contentRect;t&&x({w:Math.round(t.width),h:Math.round(t.height)})});return t.observe(e),()=>t.disconnect()},[]),(0,U.useEffect)(()=>{if(!Re)return;let e=document.documentElement,t=document.body,n=document.scrollingElement||document.documentElement,r={htmlOverscroll:e?.style.overscrollBehavior??``,htmlOverscrollY:e?.style.overscrollBehaviorY??``,bodyOverscroll:t?.style.overscrollBehavior??``,bodyOverscrollY:t?.style.overscrollBehaviorY??``,rootOverscroll:n?.style.overscrollBehavior??``,rootOverscrollY:n?.style.overscrollBehaviorY??``};return e&&(e.style.overscrollBehavior=`none`,e.style.overscrollBehaviorY=`none`),t&&(t.style.overscrollBehavior=`none`,t.style.overscrollBehaviorY=`none`),n&&(n.style.overscrollBehavior=`none`,n.style.overscrollBehaviorY=`none`),()=>{e&&(e.style.overscrollBehavior=r.htmlOverscroll,e.style.overscrollBehaviorY=r.htmlOverscrollY),t&&(t.style.overscrollBehavior=r.bodyOverscroll,t.style.overscrollBehaviorY=r.bodyOverscrollY),n&&(n.style.overscrollBehavior=r.rootOverscroll,n.style.overscrollBehaviorY=r.rootOverscrollY)}},[]),(0,U.useEffect)(()=>{if(!Re)return;let e=y.current;if(!e)return;let t=0,n=0,r=e=>{e.touches.length===1&&(t=e.touches[0]?.clientY??0,n=e.touches[0]?.clientX??0)},i=e=>{if(!e.cancelable||e.touches.length!==1)return;let r=e.touches[0]?.clientY??0,i=e.touches[0]?.clientX??0,a=r-t,o=i-n;t=r,n=i,!(Math.abs(a)<=Math.abs(o))&&a>0&&window.scrollY<=0&&e.preventDefault()};return e.addEventListener(`touchstart`,r,{passive:!0}),e.addEventListener(`touchmove`,i,{passive:!1}),()=>{e.removeEventListener(`touchstart`,r),e.removeEventListener(`touchmove`,i)}},[]);let F=(0,U.useCallback)(async e=>{if(v()&&a===`standalone`){if(pe(),e===`pulse`){await fe();return}await fe()}},[a]),I=(0,U.useCallback)(async(e,n)=>{if(v()&&a===`standalone`&&!N.current){N.current=!0;try{let r=await t(e=>new URL(oe,e).toString(),{method:`GET`,cache:`no-store`,signal:n,headers:void 0});if(!r||!r.ok)return;let i=``,a;try{let e=await r.json(),t=e;i=typeof t.seal==`string`?t.seal:``,a=bt(e)}catch{return}let o=M.current,s=a==null?void 0:wt();if(o&&i&&o===i&&!(a!=null&&(s==null||a>s))&&e===`pulse`){M.current=i;return}let c=await de(n);xt(c)?(c.pulled&&(M.current=c.remoteSeal??i??o??null),c.imported>0&&ie()):M.current=i||o,pe(),await fe()}finally{N.current=!1}}},[ie,a]);(0,U.useEffect)(()=>{if(!Re||a!==`standalone`)return;let e=new AbortController;F(`open`),I(`open`,e.signal);let t=()=>{document.visibilityState===`visible`&&(F(`visible`),I(`visible`,e.signal))},n=()=>{F(`focus`),I(`focus`,e.signal)},r=()=>{F(`online`),I(`online`,e.signal)};return document.addEventListener(`visibilitychange`,t),window.addEventListener(`focus`,n),window.addEventListener(`online`,r),()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`focus`,n),window.removeEventListener(`online`,r),e.abort()}},[I,F,a]);let L=(0,U.useMemo)(()=>_t(r,n),[m,r,n]),se=(0,U.useMemo)(()=>{let e=new Map;for(let t of L)e.set(t.hash,t);return e},[L]),le=(0,U.useMemo)(()=>{let e=new Map;for(let t of L){if(!t.parentHash)continue;let n=e.get(t.parentHash)??[];n.push(t.hash),e.set(t.parentHash,n)}return e},[L]),ue=(0,U.useMemo)(()=>{if(L.length===0)return null;if(Re){let e=at(He),t=e?e.toLowerCase():``;if(t&&se.has(t))return t}let e=null;for(let t of L)e?t.degree>e.degree&&(e=t):e=t;return e?.hash??L[0].hash},[L,se]),z=(0,U.useMemo)(()=>{let e=g?g.toLowerCase():null;return e&&se.has(e)?e:ue},[g,se,ue]),B=(0,U.useMemo)(()=>z?se.get(z)??null:null,[z,se]),he=B&&typeof B.pulse==`number`&&Number.isFinite(B.pulse)?Je(B.pulse):null,V=he==null?null:Ye(he),ge=(0,U.useMemo)(()=>{let e=f.trim().toLowerCase();return e?L.filter(t=>!!(t.hash.includes(e)||typeof t.pulse==`number`&&String(t.pulse).includes(e)||t.userPhiKey&&t.userPhiKey.toLowerCase().includes(e)||t.kaiSignature&&t.kaiSignature.toLowerCase().includes(e)||t.chakraDay&&t.chakraDay.toLowerCase().includes(e))):L},[L,f]),H=(0,U.useMemo)(()=>{let e=ge.length,t=vt(e).map(e=>yt(e,45)),n=1/0,r=1/0,i=-1/0,a=-1/0;for(let e of t)n=Math.min(n,e.x),r=Math.min(r,e.y),i=Math.max(i,e.x),a=Math.max(a,e.y);let o=Math.sqrt(3)*45,s=(Number.isFinite(n)?-n:0)+96,c=(Number.isFinite(r)?-r:0)+96,l=ge.map((e,n)=>{let r=t[n]??{x:0,y:0};return{node:e,x:r.x+s-o/2,y:r.y+c-90/2,cx:r.x+s,cy:r.y+c}}),u=(Number.isFinite(i-n)?i-n:0)+192+o,d=(Number.isFinite(a-r)?a-r:0)+192+90,f=new Map;for(let e of l)f.set(e.node.hash,e);return{width:u,height:d,items:l,itemByHash:f,centerOf:e=>{if(!e)return null;let t=f.get(e);return t?{x:t.cx,y:t.cy}:null}}},[ge]),_e=(0,U.useMemo)(()=>{if(!z||!b.w||!b.h)return{x:0,y:0};let e=H.centerOf(z);return e?{x:b.w/2-e.x*S,y:b.h/2-e.y*S}:{x:0,y:0}},[z,b.w,b.h,H,S]),ve=k?ne:_e,ye=(0,U.useMemo)(()=>{if(!z||c===`none`)return[];let e=H.itemByHash.get(z),t=se.get(z);if(!e||!t)return[];let n=[],r=(t,r)=>{if(!t)return;let i=H.itemByHash.get(t);i&&n.push({x1:e.cx,y1:e.cy,x2:i.cx,y2:i.cy,kind:r})};if((c===`parent`||c===`parent+children`||c===`all`)&&r(t.parentHash,`parent`),c===`parent+children`||c===`all`){let e=le.get(t.hash)??[];for(let t of e)r(t,`child`)}return c===`all`&&r(t.originHash,`origin`),n},[z,c,H,se,le]),be=()=>{A(!1),re({x:0,y:0})},xe=e=>{if(Re){ot(He,e);try{P.current?.postMessage({type:`sigil:select`,hash:e})}catch{}}},Se=(e,t)=>{let n=e.toLowerCase();if(_(n),xe(n),be(),o){let e=se.get(n),r=e?.pulse;if(typeof r==`number`&&Number.isFinite(r)){let n=t?.currentTarget.getBoundingClientRect();o({pulse:r,originHash:e?.originHash,anchor:n?{x:n.left+n.width/2,y:n.bottom}:void 0})}}},W=e=>{let t=y.current;if(!t)return;let n=e.deltaY,r=$e(S*(n>0?.9:1.12),.12,4.25),i=t.getBoundingClientRect(),a=e.clientX-i.left,o=e.clientY-i.top,s=ve,c=(a-s.x)/S,l=(o-s.y)/S,u=a-c*r,d=o-l*r;C(r),A(!0),re({x:u,y:d})},G=e=>{e.button!==0&&e.button!==2||e.target instanceof HTMLElement&&e.target.closest(`.sigilHex`)||(A(!0),j.current={active:!0,mode:e.button===2||e.shiftKey?`rotate`:`pan`,x0:e.clientX,y0:e.clientY,panX0:ve.x,panY0:ve.y,rotX0:D.x,rotY0:D.y,rotZ0:D.z},e.currentTarget.setPointerCapture(e.pointerId))},K=e=>{if(!j.current.active)return;let t=e.clientX-j.current.x0,n=e.clientY-j.current.y0;j.current.mode===`rotate`?O({x:$e(j.current.rotX0+n*.35,-85,85),y:j.current.rotY0+t*.35,z:e.altKey?j.current.rotZ0+t*.2:j.current.rotZ0}):re({x:j.current.panX0+t,y:j.current.panY0+n})},q=e=>{j.current.active=!1;try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}},J=()=>{B&&window.open(B.bestUrl,`_blank`,`noopener,noreferrer`)},Ce=async()=>{if(B&&navigator.clipboard)try{await navigator.clipboard.writeText(B.bestUrl)}catch{}},we=B?le.get(B.hash)?.length??0:0;return(0,Y.jsxs)(`div`,{className:[`sigilHoneycomb`,e??``].join(` `),children:[(0,Y.jsxs)(`div`,{className:`sigilHoneycombHeader`,children:[(0,Y.jsx)(`div`,{className:`sigilHoneycombTitle`,"aria-hidden":`true`}),(0,Y.jsxs)(`div`,{className:`sigilHoneycombControls`,children:[(0,Y.jsxs)(`div`,{className:`searchBox`,children:[(0,Y.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:`Search hash / pulse / phiKey / signature / chakra…`,spellCheck:!1}),f?(0,Y.jsx)(`button`,{className:`miniBtn`,onClick:()=>p(``),type:`button`,children:`Clear`}):null]}),(0,Y.jsxs)(`div`,{className:`toggleRow`,children:[(0,Y.jsxs)(`div`,{className:`seg`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:c===`none`?`on`:``,onClick:()=>u(`none`),"aria-label":`Edges off`,children:[(0,Y.jsx)(`span`,{className:`btn-icon`,children:`◌`}),(0,Y.jsx)(`span`,{className:`btn-text`,children:`Edges: Off`})]}),(0,Y.jsxs)(`button`,{type:`button`,className:c===`parent`?`on`:``,onClick:()=>u(`parent`),"aria-label":`Parent edges`,children:[(0,Y.jsx)(`span`,{className:`btn-icon`,children:`↑`}),(0,Y.jsx)(`span`,{className:`btn-text`,children:`Parent`})]}),(0,Y.jsxs)(`button`,{type:`button`,className:c===`parent+children`?`on`:``,onClick:()=>u(`parent+children`),"aria-label":`Parent and children edges`,children:[(0,Y.jsx)(`span`,{className:`btn-icon`,children:`⇄`}),(0,Y.jsx)(`span`,{className:`btn-text`,children:`Parent+Kids`})]}),(0,Y.jsxs)(`button`,{type:`button`,className:c===`all`?`on`:``,onClick:()=>u(`all`),"aria-label":`All edges`,children:[(0,Y.jsx)(`span`,{className:`btn-icon`,children:`◎`}),(0,Y.jsx)(`span`,{className:`btn-text`,children:`All`})]})]}),(0,Y.jsx)(`div`,{className:`seg`})]})]})]}),(0,Y.jsxs)(`div`,{className:`sigilHoneycombBody`,children:[(0,Y.jsx)(`div`,{className:`combViewport`,ref:y,onWheel:W,onPointerDown:G,onPointerMove:K,onPointerUp:q,onPointerCancel:q,onContextMenu:e=>e.preventDefault(),children:(0,Y.jsxs)(`div`,{className:`combInner`,style:{width:`${H.width}px`,height:`${H.height}px`,transform:`translate(${ve.x}px, ${ve.y}px) scale(${S}) rotateX(${D.x}deg) rotateY(${D.y}deg) rotateZ(${D.z}deg)`},children:[(0,Y.jsx)(`svg`,{className:`combEdges`,width:H.width,height:H.height,"aria-hidden":`true`,children:ye.map((e,t)=>(0,Y.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,className:`edgeLine edge-${e.kind}`,vectorEffect:`non-scaling-stroke`},`${e.kind}-${t}`))}),H.items.map(e=>(0,Y.jsx)(St,{node:e.node,x:e.x,y:e.y,selected:e.node.hash===z,onClick:t=>Se(e.node.hash,t)},e.node.hash))]})}),(0,Y.jsx)(`aside`,{className:`combInspector`,"aria-label":`Honeycomb inspector`,children:(0,Y.jsxs)(`div`,{className:`inspectorCard`,children:[(0,Y.jsxs)(`div`,{className:`inspectorHead`,children:[(0,Y.jsx)(`div`,{className:`inspectorTitle`,children:`Selection`}),(0,Y.jsx)(`div`,{className:`inspectorSub`,children:B?ut(B.hash,16):`—`})]}),(0,Y.jsxs)(`div`,{className:`inspectorGrid`,children:[(0,Y.jsx)(`div`,{className:`k`,children:`Pulse`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.pulse??`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Beat:Step`}),(0,Y.jsx)(`div`,{className:`v mono`,children:V?`${V.beat}:${V.stepIndex}`:`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Chakra`}),(0,Y.jsx)(`div`,{className:`v`,children:B?.chakraDay??`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`ΔΦ`}),(0,Y.jsx)(`div`,{className:`v mono`,children:dt(B?.phiDelta)}),(0,Y.jsx)(`div`,{className:`k`,children:`Transfer`}),(0,Y.jsx)(`div`,{className:`v`,children:B?.transferDirection??`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Parent`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.parentHash?(0,Y.jsx)(`button`,{className:`linkBtn`,type:`button`,onClick:()=>Se(B.parentHash),children:ut(B.parentHash,14)}):`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Children`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?we:`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Origin`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.originHash?(0,Y.jsx)(`button`,{className:`linkBtn`,type:`button`,onClick:()=>Se(B.originHash),children:ut(B.originHash,14)}):`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`PhiKey`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.userPhiKey?ut(B.userPhiKey,20):`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`KaiSig`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.kaiSignature?ut(B.kaiSignature,20):`—`}),(0,Y.jsx)(`div`,{className:`k`,children:`Degree`}),(0,Y.jsx)(`div`,{className:`v mono`,children:B?.degree??`—`})]}),(0,Y.jsxs)(`div`,{className:`inspectorActions`,children:[(0,Y.jsx)(`button`,{type:`button`,className:`primaryBtn`,onClick:J,disabled:!B,children:`Open`}),(0,Y.jsx)(`button`,{type:`button`,className:`miniBtn`,onClick:Ce,disabled:!B,children:`Copy URL`})]}),B?.sources?.length?(0,Y.jsxs)(`details`,{className:`sources`,children:[(0,Y.jsxs)(`summary`,{children:[`Sources (`,B.sources.length,`)`]}),(0,Y.jsxs)(`div`,{className:`sourcesList`,children:[B.sources.slice(0,40).map((e,t)=>(0,Y.jsx)(`div`,{className:`sourceItem mono`,children:R(e)},`${t}-${e}`)),B.sources.length>40?(0,Y.jsxs)(`div`,{className:`sourceMore`,children:[`… `,B.sources.length-40,` more`]}):null]})]}):null]})})]})]})}function wt(){let t;for(let[,n]of e){if(!et(n))continue;let e=rt(n.pulse);e!=null&&(t==null||e>t)&&(t=e)}return t}var Tt=ye(A(),1),Et=`41.3.1`,Dt=typeof window<`u`,Ot=`sigil:explorer:select:bc:v1`,kt=`sigil:explorer:selectedHash:v1`,At=1000000n;function jt(){return globalThis}function Mt(e){let t=jt();if(typeof t.requestIdleCallback==`function`){let n=t.requestIdleCallback(()=>e(),{timeout:200});return{cancel:()=>{typeof t.cancelIdleCallback==`function`&&t.cancelIdleCallback(n)}}}let n=window.setTimeout(e,32);return{cancel:()=>clearTimeout(n)}}function Nt(e,t,n){return Math.max(t,Math.min(n,e))}function Pt(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Ft(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function It(e){let t=Ft(e);return t?t.toLowerCase():void 0}function X(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(Number.isFinite(t))return t}}function Lt(e,t){try{window.localStorage.setItem(e,t)}catch{}}function Rt(e){if(Dt){Lt(kt,e);try{let t=`BroadcastChannel`in window?new BroadcastChannel(Ot):null;t?.postMessage({type:`sigil:select`,hash:e}),t?.close()}catch{}}}function zt(e,t=10){return e.length<=t?e:e.slice(0,t)}function Bt(e){return e==null||!Number.isFinite(e)?`—`:new Intl.NumberFormat(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}function Vt(e){return e==null||!Number.isFinite(e)?`—`:e.toFixed(6).replace(/0+$/u,``).replace(/\.$/u,``)}function Ht(e){let t=(e??``).toLowerCase();return t.includes(`root`)?`Root`:t.includes(`sacral`)?`Sacral`:t.includes(`solar`)?`Solar Plexus`:t.includes(`heart`)?`Heart`:t.includes(`throat`)?`Throat`:t.includes(`third`)||t.includes(`brow`)?`Third Eye`:t.includes(`crown`)?`Crown`:`Root`}async function Ut(e){if(Dt&&e&&navigator.clipboard)try{await navigator.clipboard.writeText(e)}catch{}}var Wt=(e,t)=>{if(t===0n)return 0n;let n=e%t;return n>=0n?n:n+t},Gt=(e,t)=>{let n=e<0n?-e:e,r=t<0n?-t:t;for(;r!==0n;){let e=n%r;n=r,r=e}return n},Kt=(()=>{let e=Gt(c,At);return e===0n?0n:c/e})(),qt=new Set,Jt=(1+Math.sqrt(5))/2,Yt=e=>{if(!Number.isFinite(e))return 0;let t=BigInt(Math.trunc(e));if(Kt<=0n)return 0;let n=Wt(t,Kt);return Number(n)},Xt=e=>{let t=Number.isFinite(e)?Math.trunc(e):0,{beat:n,stepIndex:r,percentIntoStep:i}=_(BigInt(t)*At);return{beat:n,stepIndex:r,stepPct:L(i)}},Zt=e=>{let t=0;for(let n=0;n{if(n)return;let r=!1,i=Mt(()=>{r||(qt.add(e),t(e=>e+1))});return()=>{r=!0,i.cancel()}},[n,e]),n}function $t(e){let t=y(e);if(typeof t==`string`&&t.length)return t.toLowerCase();let n=e.match(/\/s\/([0-9a-f]{32,128})(?:\?|$)/i);return n?.[1]?n[1].toLowerCase():null}function en(e){let t=It(e.parentHash);if(t)return t;let n=Ft(e.parentUrl);if(n){let e=$t(n);if(e)return e}}function tn(e){let t=Ft(e.originUrl);if(t){let e=$t(t);if(e)return e}}function nn(e){let t=Ft(e);if(t===`send`||t===`receive`)return t}function rn(e){let t=0,n=e=>{e!=null&&(typeof e==`string`&&e.length===0||(t+=1))};return n(e.pulse),n(e.beat),n(e.stepIndex),n(e.chakraDay),n(e.userPhiKey),n(e.kaiSignature),n(e.parentHash),n(e.originHash),n(e.transferDirection),n(e.transferAmountPhi),n(e.phiDelta),t}function an(e){let t=e[0]??``,n=-1/0;for(let r of e){let e=I(r),i=_e(e,N(e));i>n&&(n=i,t=r)}return D(t)}function on(t){let n=new Map;for(let[r,i]of e){if(!Pt(i))continue;let e=X(i.pulse);if(e!==t)continue;let a=I(r),o=$t(a);if(!o)continue;let s={hash:o,bestUrl:D(a),sources:[a],pulse:e,beat:X(i.beat),stepIndex:X(i.stepIndex),chakraDay:Ft(i.chakraDay),userPhiKey:Ft(i.userPhiKey),kaiSignature:It(i.kaiSignature),parentHash:en(i),originHash:tn(i),transferDirection:nn(i.transferDirection),transferAmountPhi:Ft(i.transferAmountPhi),phiDelta:Ft(i.phiDelta)},c=n.get(o);if(!c){n.set(o,{hash:o,bestUrl:s.bestUrl??D(a),sources:[a],pulse:s.pulse,beat:s.beat,stepIndex:s.stepIndex,chakraDay:s.chakraDay,userPhiKey:s.userPhiKey,kaiSignature:s.kaiSignature,parentHash:s.parentHash,originHash:s.originHash,transferDirection:s.transferDirection,transferAmountPhi:s.transferAmountPhi,phiDelta:s.phiDelta,degree:0});continue}let l=new Set(c.sources);l.add(a);let u=rn(c),d=rn(s)>u;n.set(o,{...c,sources:Array.from(l),pulse:c.pulse??s.pulse,beat:d&&s.beat!==void 0?s.beat:c.beat??s.beat,stepIndex:d&&s.stepIndex!==void 0?s.stepIndex:c.stepIndex??s.stepIndex,chakraDay:d&&s.chakraDay?s.chakraDay:c.chakraDay??s.chakraDay,userPhiKey:d&&s.userPhiKey?s.userPhiKey:c.userPhiKey??s.userPhiKey,kaiSignature:d&&s.kaiSignature?s.kaiSignature:c.kaiSignature??s.kaiSignature,parentHash:d&&s.parentHash?s.parentHash:c.parentHash??s.parentHash,originHash:d&&s.originHash?s.originHash:c.originHash??s.originHash,transferDirection:d&&s.transferDirection?s.transferDirection:c.transferDirection??s.transferDirection,transferAmountPhi:d&&s.transferAmountPhi?s.transferAmountPhi:c.transferAmountPhi??s.transferAmountPhi,phiDelta:d&&s.phiDelta?s.phiDelta:c.phiDelta??s.phiDelta,bestUrl:c.bestUrl,degree:0})}let r=new Map;for(let e of n.values())e.parentHash&&r.set(e.parentHash,(r.get(e.parentHash)??0)+1);for(let e of n.values()){let t=0;e.parentHash&&(t+=1),e.originHash&&(t+=1),t+=r.get(e.hash)??0,e.degree=t,e.bestUrl=an(e.sources)}return Array.from(n.values()).sort((e,t)=>{if(t.degree!==e.degree)return t.degree-e.degree;let n=typeof e.beat==`number`?e.beat:-1,r=typeof t.beat==`number`?t.beat:-1;if(r!==n)return r-n;let i=typeof e.stepIndex==`number`?e.stepIndex:-1,a=typeof t.stepIndex==`number`?t.stepIndex:-1;return a===i?e.hasht.hash?1:0:a-i})}var sn=[{q:1,r:0},{q:1,r:-1},{q:0,r:-1},{q:-1,r:0},{q:-1,r:1},{q:0,r:1}];function cn(e){if(e<=0)return[];let t=[{q:0,r:0}],n=1;for(;t.length{if(!Dt)return!1;try{return window.matchMedia(e).matches}catch{return!1}});return(0,U.useEffect)(()=>{if(!Dt)return;let t;try{t=window.matchMedia(e)}catch{return}let r=e=>n(e.matches);if(`addEventListener`in t)return t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r);let i=t;return i.addListener?.(r),()=>i.removeListener?.(r)},[e]),t}function mn(e){let{enabled:t,shellRef:n,anchor:r}=e;(0,U.useLayoutEffect)(()=>{if(!Dt||!t)return;let e=n.current;if(!e||!r)return;let i=()=>{let e=n.current;if(!e)return;let t=window.innerWidth,i=window.innerHeight,a=e.getBoundingClientRect(),o=r.y+10,s=r.y-a.height-10,c=i-(o+a.height)-12,l=s-12,u=c<0&&l>c,d=r.x-a.width*.5,f=u?s:o,p=Nt(d,12,Math.max(12,t-a.width-12)),m=Nt(f,12,Math.max(12,i-a.height-12));e.style.left=`${p}px`,e.style.top=`${m}px`,e.style.transformOrigin=`${Math.max(0,r.x-p)}px ${Math.max(0,r.y-m)}px`,e.setAttribute(`data-popover-flip`,u?`above`:`below`)},a=window.requestAnimationFrame(i),o=()=>{window.cancelAnimationFrame(a),a=window.requestAnimationFrame(i)};window.addEventListener(`resize`,o,{passive:!0}),window.addEventListener(`scroll`,o,{passive:!0,capture:!0});let s=null;return typeof ResizeObserver<`u`&&(s=new ResizeObserver(()=>o()),s.observe(e)),()=>{window.cancelAnimationFrame(a),window.removeEventListener(`resize`,o),window.removeEventListener(`scroll`,o,!0),s?.disconnect()}},[t,n,r?.x,r?.y])}function hn(e){let t=(e??``).toLowerCase();return t.includes(`root`)?`chakra-root`:t.includes(`sacral`)?`chakra-sacral`:t.includes(`solar`)?`chakra-solar`:t.includes(`heart`)?`chakra-heart`:t.includes(`throat`)?`chakra-throat`:t.includes(`third`)||t.includes(`brow`)?`chakra-third`:t.includes(`crown`)?`chakra-crown`:`chakra-unknown`}function gn(e){let t=[];for(let n=0;n0,a=e=>0;if(e.length<2)return{d:``,minV:0,maxV:0,xAt:i,yAt:a};let o=1/0,s=-1/0;for(let t of e)Number.isFinite(t)&&(o=Math.min(o,t),s=Math.max(s,t));if(!Number.isFinite(o)||!Number.isFinite(s))return{d:``,minV:0,maxV:0,xAt:i,yAt:a};let c=Math.max(1e-9,s-o),l=e.length,u=r,d=t-r,f=r,p=n-r,m=e=>u+e/Math.max(1,l-1)*(d-u),h=e=>p-(e-o)/c*(p-f),g=``;for(let t=0;t=n.length)return null;let s=t[r],c=n[r],l=n[0],u=s?.phi??NaN,d=s?.usdPerPhi??i,f=d!=null&&Number.isFinite(d)?u*d:NaN,p=l,m=Number.isFinite(p)?c-p:NaN,h=Number.isFinite(p)&&p!==0?m/Math.abs(p)*100:NaN;return{i:s?.i??r,pulse:s?.pulse,valueMode:c,valuePhi:u,valueUsd:f,usdPerPhiPoint:d??void 0,hi:a,lo:o,dFromStart:m,dPctFromStart:h,points:n.length}}function xn(e){let{open:t,locked:n,x:r,y:i,mode:a,tip:o}=e,s=Dt?document.body:null;return!t||s==null?null:(0,Tt.createPortal)((0,Y.jsx)(`div`,{className:`phmTipPortal ${n?`isLocked`:``}`,style:{left:`${r}px`,top:`${i}px`},"aria-hidden":`true`,children:(0,Y.jsxs)(`div`,{className:`phmTipInner`,children:[(0,Y.jsxs)(`div`,{className:`phmTipTop`,children:[(0,Y.jsx)(`div`,{className:`phmTipTitle`,children:a===`phi`?`Asset Value (Φ)`:`Asset Value (USD)`}),(0,Y.jsx)(`div`,{className:`phmTipIndex`,children:o.pulse==null?`Index ${o.i}`:`Pulse ${Math.trunc(o.pulse).toLocaleString()}`})]}),(0,Y.jsxs)(`div`,{className:`phmTipMain`,children:[(0,Y.jsx)(`div`,{className:`phmTipBig`,children:yn(a,o.valueMode)}),(0,Y.jsxs)(`div`,{className:`phmTipSubRow`,children:[(0,Y.jsx)(`span`,{className:`phmTipSub`,children:Number.isFinite(o.valuePhi)?`${Vt(o.valuePhi)} Φ`:`—`}),(0,Y.jsx)(`span`,{className:`phmTipDot`,children:`•`}),(0,Y.jsx)(`span`,{className:`phmTipSub`,children:Number.isFinite(o.valueUsd)?`$${Bt(o.valueUsd)}`:`—`})]})]}),(0,Y.jsxs)(`div`,{className:`phmTipGrid`,children:[(0,Y.jsx)(`div`,{className:`phmTipK`,children:`Δ`}),(0,Y.jsxs)(`div`,{className:`phmTipV`,children:[Number.isFinite(o.dFromStart)?yn(a,o.dFromStart):`—`,Number.isFinite(o.dPctFromStart)?(0,Y.jsxs)(`span`,{className:`phmTipMini`,children:[` `,`(`,o.dPctFromStart>=0?`+`:``,o.dPctFromStart.toFixed(2),`%)`]}):null]}),(0,Y.jsx)(`div`,{className:`phmTipK`,children:`High`}),(0,Y.jsx)(`div`,{className:`phmTipV`,children:yn(a,o.hi)}),(0,Y.jsx)(`div`,{className:`phmTipK`,children:`Low`}),(0,Y.jsx)(`div`,{className:`phmTipV`,children:yn(a,o.lo)}),(0,Y.jsx)(`div`,{className:`phmTipK`,children:`USD/Φ`}),(0,Y.jsx)(`div`,{className:`phmTipV`,children:o.usdPerPhiPoint!=null&&Number.isFinite(o.usdPerPhiPoint)?`$${Bt(o.usdPerPhiPoint)}`:`—`}),(0,Y.jsx)(`div`,{className:`phmTipK`,children:`Points`}),(0,Y.jsx)(`div`,{className:`phmTipV`,children:o.points})]}),(0,Y.jsx)(`div`,{className:`phmTipHint`,children:n?`tap again to unlock`:`tap to lock`})]})}),s)}function Sn(e){let{lineData:t,mode:n,usdPerPhiFallback:r,livePhi:i,liveUsd:a,usdPerPhiNow:o}=e,s=(0,U.useRef)(null),c=(0,U.useMemo)(()=>gn(t),[t]),l=(0,U.useMemo)(()=>c.map(e=>_n(e,n,r)),[c,n,r]),u=(0,U.useMemo)(()=>vn(l,420,86,10),[l]),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(!1),[h,g]=(0,U.useState)(null),_=l.length,v=d==null?null:Nt(d,0,Math.max(0,_-1)),y=v!=null&&v>=0&&v<_,b=_>0?l[0]:null,x=_>0?l[_-1]:null,ee=(0,U.useMemo)(()=>{if(!Number.isFinite(b??NaN)||!Number.isFinite(x??NaN))return null;let e=Math.abs(b);return e<=0?null:(x-b)/e*100},[b,x]),S=(0,U.useMemo)(()=>!y||v==null?null:bn({mode:n,points:c,values:l,idx:v,usdPerPhiFallback:r,hi:u.maxV,lo:u.minV}),[y,v,n,c,l,r,u.maxV,u.minV]),C=e=>{let t=s.current;if(!t||!_)return;let n=t.getBoundingClientRect(),r=Nt(e-n.left,0,n.width),i=n.width>0?r/n.width:0,a=Math.round(i*Math.max(0,_-1));f(a);let o=u.xAt(a),c=u.yAt(l[a]??0),d=n.width>0?o/420*n.width:0,p=n.height>0?c/86*n.height:0;g({x:n.left+d,y:n.top+p})},w=e=>{_&&(p||C(e.clientX))},T=e=>{_&&(p||C(e.clientX))},E=()=>{p||(f(null),g(null))},D=e=>{if(_){if(p){m(!1),f(null),g(null);return}m(!0),C(e.clientX)}},te=n===`phi`?i??null:a??null,O=yn(n,Number.isFinite(te??NaN)?te:NaN),k=o==null?`—`:`$${Bt(o)} / Φ`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{ref:s,className:`phmChart phmChart--lite phmChart--interactive ${p?`isLocked`:``}`,role:`group`,"aria-label":`Live value chart`,onPointerMove:w,onPointerEnter:T,onPointerLeave:E,onClick:D,children:[(0,Y.jsxs)(`div`,{className:`phmChartTopRow`,"aria-hidden":`true`,children:[(0,Y.jsxs)(`span`,{className:`phmChartBadge`,children:[(0,Y.jsx)(`span`,{className:`phmLiveDot`}),`LIVE`]}),(0,Y.jsx)(`span`,{className:`phmTicker`,children:O}),(0,Y.jsx)(`span`,{className:`phmChartHint`,children:p?`tap again to unlock`:`tap to lock`})]}),(0,Y.jsxs)(`svg`,{className:`phmChartSvg`,viewBox:`0 0 420 86`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,Y.jsxs)(`defs`,{children:[(0,Y.jsxs)(`linearGradient`,{id:`phmLine`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[(0,Y.jsx)(`stop`,{offset:`0%`,stopColor:`rgba(191,252,255,0.85)`}),(0,Y.jsx)(`stop`,{offset:`60%`,stopColor:`rgba(183,163,255,0.75)`}),(0,Y.jsx)(`stop`,{offset:`100%`,stopColor:`rgba(191,252,255,0.55)`})]}),(0,Y.jsxs)(`linearGradient`,{id:`phmFill`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Y.jsx)(`stop`,{offset:`0%`,stopColor:`rgba(191,252,255,0.18)`}),(0,Y.jsx)(`stop`,{offset:`70%`,stopColor:`rgba(191,252,255,0.04)`}),(0,Y.jsx)(`stop`,{offset:`100%`,stopColor:`rgba(0,0,0,0)`})]}),(0,Y.jsxs)(`filter`,{id:`phmGlow`,x:`-30%`,y:`-50%`,width:`160%`,height:`200%`,children:[(0,Y.jsx)(`feGaussianBlur`,{stdDeviation:`2.3`,result:`b`}),(0,Y.jsx)(`feColorMatrix`,{in:`b`,type:`matrix`,values:` 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 diff --git a/dist/assets/SigilFeedPage-DHRYmiq2.js b/dist/assets/SigilFeedPage-CjEDhmGv.js similarity index 92% rename from dist/assets/SigilFeedPage-DHRYmiq2.js rename to dist/assets/SigilFeedPage-CjEDhmGv.js index fc017644e..d09fe78fd 100644 --- a/dist/assets/SigilFeedPage-DHRYmiq2.js +++ b/dist/assets/SigilFeedPage-CjEDhmGv.js @@ -1 +1 @@ -import{Kt as e,pi as t,yi as n}from"./index-BRD6BMdN.js";import"./EternalKlock-CgOJptA0.js";import"./SigilModal-DkjYmacD.js";import"./SealMomentModal-BVedI60g.js";import"./webauthnKAS-B61nfyUR.js";import"./SigilAuthContext-D65FNUcD.js";import"./ticker-Dx-CZn_P.js";import"./SigilAuthProvider-DUGvkie1.js";import{t as r}from"./SigilStreamRoot-Dsza39XK.js";import"./useFastPress-t9lA3gjI.js";t();var i=null,a=0;function o(){if(typeof window>`u`)return null;let e=window;return e.AudioContext??e.webkitAudioContext??null}function s(){let e=o();return e?i||(i=new e,i):null}function c(){let e=s();e&&e.state!==`running`&&e.resume().catch(()=>{})}function l(){typeof navigator<`u`&&`vibrate`in navigator&&navigator.vibrate([8,13,21,34,55,89,55,34,21,13,8])}function u(e,t,n){let r=e.sampleRate,i=Math.max(1,Math.floor(r*t)),a=e.createBuffer(2,i,r);for(let e=0;e<2;e++){let t=a.getChannelData(e);for(let e=0;e{l(),v()},0))}function b(e){if(!e||!(e instanceof Element))return!1;let t=e.closest(`button.sf-btn, a.sf-btn`);return t?(t.textContent??``).trim().toLowerCase()===`remember`:!1}function x(){let e=()=>{c(),document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,e,!0),document.removeEventListener(`touchstart`,e,!0)};document.addEventListener(`pointerdown`,e,{capture:!0,passive:!0}),document.addEventListener(`keydown`,e,{capture:!0}),document.addEventListener(`touchstart`,e,{capture:!0,passive:!0})}function S(){typeof document>`u`||(x(),document.addEventListener(`click`,e=>{b(e.target)&&y()}))}typeof window<`u`&&(window.__kopy_feedback_installed__||(window.__kopy_feedback_installed__=!0,S()));var C=n(e(),1);function w(){return(0,C.jsx)(r,{})}export{w as default}; \ No newline at end of file +import{Kt as e,pi as t,yi as n}from"./index-DW_ZnoNU.js";import"./EternalKlock-CRK5ayaX.js";import"./SigilModal-CU8VoqOO.js";import"./SealMomentModal-CAermFFO.js";import"./webauthnKAS-C2GwAz2K.js";import"./SigilAuthContext-rbXUYZ1p.js";import"./ticker-ESiwEkfY.js";import"./SigilAuthProvider-CWcy5VQ0.js";import{t as r}from"./SigilStreamRoot-dWEbZD0k.js";import"./useFastPress-DEvKYh7Z.js";t();var i=null,a=0;function o(){if(typeof window>`u`)return null;let e=window;return e.AudioContext??e.webkitAudioContext??null}function s(){let e=o();return e?i||(i=new e,i):null}function c(){let e=s();e&&e.state!==`running`&&e.resume().catch(()=>{})}function l(){typeof navigator<`u`&&`vibrate`in navigator&&navigator.vibrate([8,13,21,34,55,89,55,34,21,13,8])}function u(e,t,n){let r=e.sampleRate,i=Math.max(1,Math.floor(r*t)),a=e.createBuffer(2,i,r);for(let e=0;e<2;e++){let t=a.getChannelData(e);for(let e=0;e{l(),v()},0))}function b(e){if(!e||!(e instanceof Element))return!1;let t=e.closest(`button.sf-btn, a.sf-btn`);return t?(t.textContent??``).trim().toLowerCase()===`remember`:!1}function x(){let e=()=>{c(),document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,e,!0),document.removeEventListener(`touchstart`,e,!0)};document.addEventListener(`pointerdown`,e,{capture:!0,passive:!0}),document.addEventListener(`keydown`,e,{capture:!0}),document.addEventListener(`touchstart`,e,{capture:!0,passive:!0})}function S(){typeof document>`u`||(x(),document.addEventListener(`click`,e=>{b(e.target)&&y()}))}typeof window<`u`&&(window.__kopy_feedback_installed__||(window.__kopy_feedback_installed__=!0,S()));var C=n(e(),1);function w(){return(0,C.jsx)(r,{})}export{w as default}; \ No newline at end of file diff --git a/dist/assets/SigilModal-DkjYmacD.js b/dist/assets/SigilModal-CU8VoqOO.js similarity index 96% rename from dist/assets/SigilModal-DkjYmacD.js rename to dist/assets/SigilModal-CU8VoqOO.js index 8638520ba..a023d5c60 100644 --- a/dist/assets/SigilModal-DkjYmacD.js +++ b/dist/assets/SigilModal-CU8VoqOO.js @@ -1,4 +1,4 @@ -import{$r as e,D as t,Fr as n,Gr as r,Hr as i,J as a,Jr as o,Kr as s,Kt as c,Qr as ee,Rr as l,U as u,Un as d,Ur as f,Wr as p,Y as m,Zr as te,at as ne,c as re,di as h,ei as g,f as ie,h as ae,ii as _,j as oe,m as se,ni as ce,o as v,ot as le,p as ue,pi as y,qn as de,rt as fe,s as pe,st as me,u as he,vt as b,yi as x}from"./index-BRD6BMdN.js";import{t as S}from"./SealMomentModal-BVedI60g.js";import{r as ge,t as _e}from"./webauthnKAS-B61nfyUR.js";var C=x(y(),1),w=x(c(),1),T=e=>Math.max(0,Math.min(100,e));function E(e,t){let n=(e??``).toLowerCase().trim();return/(reflekt|reflect|reflektion|reflection)/i.test(n)?`#22c55e`:/(purify|purification|purifikation)/i.test(n)?`#3b82f6`:/dream/i.test(n)?`#7c3aed`:/(ignite|ignition)/i.test(n)?`#ff3b30`:/(integrate|integration)/i.test(n)?`#ff8a00`:/(solar\s*plexus)/i.test(n)?`#ffd600`:t}var ve=({dateISO:e,onDateChange:t,secondsLeft:n,eternalPercent:r,eternalColor:i=`#8beaff`,eternalArkLabel:a=`Eternal Ark`})=>{let o=(0,C.useMemo)(()=>T(r),[r]),s=(0,C.useMemo)(()=>E(a,i),[a,i]),c={"--eternal-bar":s,"--pulse":`var(--kai-pulse, var(--pulse-dur, 5236ms))`},ee=(0,C.useMemo)(()=>({"--fill":(o/100).toFixed(6)}),[o]),l=(0,C.useRef)(null),u=(0,C.useRef)(void 0),d=(0,C.useRef)(null),f=(0,C.useRef)(null);return(0,C.useEffect)(()=>()=>{d.current!==null&&window.clearTimeout(d.current),f.current!==null&&window.cancelAnimationFrame(f.current),l.current&&l.current.classList.remove(`is-boom`),d.current=null,f.current=null},[]),(0,C.useEffect)(()=>{let e=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(typeof n!=`number`||e){u.current=n;return}let t=l.current,r=u.current;t&&typeof r==`number`&&n-r>1.2&&(t.classList.remove(`is-boom`),f.current!==null&&window.cancelAnimationFrame(f.current),f.current=window.requestAnimationFrame(()=>{t.classList.add(`is-boom`)}),d.current!==null&&window.clearTimeout(d.current),d.current=window.setTimeout(()=>{t.classList.remove(`is-boom`),d.current=null},420)),u.current=n},[n]),(0,w.jsxs)(`div`,{className:`sigil-scope`,style:c,children:[(0,w.jsx)(`h3`,{className:`sigil-title`,children:`Kairos Sigil-Glyph Inhaler`}),(0,w.jsx)(`div`,{className:`sigil-ribbon`,"aria-hidden":`true`}),(0,w.jsx)(`div`,{className:`input-row sigil-row`,children:(0,w.jsxs)(`label`,{className:`sigil-label`,children:[(0,w.jsx)(`span`,{className:`sigil-label__text`,children:`Select moment:`}),`\xA0`,(0,w.jsx)(`input`,{className:`sigil-input`,type:`datetime-local`,value:e,onChange:t})]})}),(0,w.jsx)(`div`,{className:`sigil-bars`,role:`group`,"aria-label":`Day progress`,children:(0,w.jsxs)(`div`,{className:`sigil-bar`,children:[(0,w.jsxs)(`div`,{className:`sigil-bar__head`,children:[(0,w.jsxs)(`span`,{className:`sigil-bar__label`,children:[`Unfoldment`,a?` — ${a}`:``]}),(0,w.jsxs)(`span`,{className:`sigil-bar__pct`,"aria-hidden":`true`,children:[o.toFixed(2),`%`]})]}),(0,w.jsx)(`div`,{className:`sigil-bar__track`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":+o.toFixed(2),role:`progressbar`,"aria-label":`Eternal day ${a||``}`,children:(0,w.jsx)(`div`,{ref:l,className:`sigil-bar__fill sigil-bar__fill--eternal`,style:ee})})]})}),(0,w.jsx)(`style`,{children:` +import{$r as e,D as t,Fr as n,Gr as r,Hr as i,J as a,Jr as o,Kr as s,Kt as c,Qr as ee,Rr as l,U as u,Un as d,Ur as f,Wr as p,Y as m,Zr as te,at as ne,c as re,di as h,ei as g,f as ie,h as ae,ii as _,j as oe,m as se,ni as ce,o as v,ot as le,p as ue,pi as y,qn as de,rt as fe,s as pe,st as me,u as he,vt as b,yi as x}from"./index-DW_ZnoNU.js";import{t as S}from"./SealMomentModal-CAermFFO.js";import{r as ge,t as _e}from"./webauthnKAS-C2GwAz2K.js";var C=x(y(),1),w=x(c(),1),T=e=>Math.max(0,Math.min(100,e));function E(e,t){let n=(e??``).toLowerCase().trim();return/(reflekt|reflect|reflektion|reflection)/i.test(n)?`#22c55e`:/(purify|purification|purifikation)/i.test(n)?`#3b82f6`:/dream/i.test(n)?`#7c3aed`:/(ignite|ignition)/i.test(n)?`#ff3b30`:/(integrate|integration)/i.test(n)?`#ff8a00`:/(solar\s*plexus)/i.test(n)?`#ffd600`:t}var ve=({dateISO:e,onDateChange:t,secondsLeft:n,eternalPercent:r,eternalColor:i=`#8beaff`,eternalArkLabel:a=`Eternal Ark`})=>{let o=(0,C.useMemo)(()=>T(r),[r]),s=(0,C.useMemo)(()=>E(a,i),[a,i]),c={"--eternal-bar":s,"--pulse":`var(--kai-pulse, var(--pulse-dur, 5236ms))`},ee=(0,C.useMemo)(()=>({"--fill":(o/100).toFixed(6)}),[o]),l=(0,C.useRef)(null),u=(0,C.useRef)(void 0),d=(0,C.useRef)(null),f=(0,C.useRef)(null);return(0,C.useEffect)(()=>()=>{d.current!==null&&window.clearTimeout(d.current),f.current!==null&&window.cancelAnimationFrame(f.current),l.current&&l.current.classList.remove(`is-boom`),d.current=null,f.current=null},[]),(0,C.useEffect)(()=>{let e=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(typeof n!=`number`||e){u.current=n;return}let t=l.current,r=u.current;t&&typeof r==`number`&&n-r>1.2&&(t.classList.remove(`is-boom`),f.current!==null&&window.cancelAnimationFrame(f.current),f.current=window.requestAnimationFrame(()=>{t.classList.add(`is-boom`)}),d.current!==null&&window.clearTimeout(d.current),d.current=window.setTimeout(()=>{t.classList.remove(`is-boom`),d.current=null},420)),u.current=n},[n]),(0,w.jsxs)(`div`,{className:`sigil-scope`,style:c,children:[(0,w.jsx)(`h3`,{className:`sigil-title`,children:`Kairos Sigil-Glyph Inhaler`}),(0,w.jsx)(`div`,{className:`sigil-ribbon`,"aria-hidden":`true`}),(0,w.jsx)(`div`,{className:`input-row sigil-row`,children:(0,w.jsxs)(`label`,{className:`sigil-label`,children:[(0,w.jsx)(`span`,{className:`sigil-label__text`,children:`Select moment:`}),`\xA0`,(0,w.jsx)(`input`,{className:`sigil-input`,type:`datetime-local`,value:e,onChange:t})]})}),(0,w.jsx)(`div`,{className:`sigil-bars`,role:`group`,"aria-label":`Day progress`,children:(0,w.jsxs)(`div`,{className:`sigil-bar`,children:[(0,w.jsxs)(`div`,{className:`sigil-bar__head`,children:[(0,w.jsxs)(`span`,{className:`sigil-bar__label`,children:[`Unfoldment`,a?` — ${a}`:``]}),(0,w.jsxs)(`span`,{className:`sigil-bar__pct`,"aria-hidden":`true`,children:[o.toFixed(2),`%`]})]}),(0,w.jsx)(`div`,{className:`sigil-bar__track`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":+o.toFixed(2),role:`progressbar`,"aria-label":`Eternal day ${a||``}`,children:(0,w.jsx)(`div`,{ref:l,className:`sigil-bar__fill sigil-bar__fill--eternal`,style:ee})})]})}),(0,w.jsx)(`style`,{children:` .sigil-ribbon { height: 1px; margin: .35rem 0 .85rem 0; @@ -162,4 +162,4 @@ import{$r as e,D as t,Fr as n,Gr as r,Hr as i,J as a,Jr as o,Kr as s,Kt as c,Qr .mint-dock a{ display: inline-flex; } - `}),Ze=()=>(0,w.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`close-icon`,children:[(0,w.jsx)(`line`,{x1:`4`,y1:`4`,x2:`20`,y2:`20`,stroke:`currentColor`,strokeWidth:`2`}),(0,w.jsx)(`line`,{x1:`20`,y1:`4`,x2:`4`,y2:`20`,stroke:`currentColor`,strokeWidth:`2`}),(0,w.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,opacity:`.25`})]}),Qe=()=>(0,w.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,w.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`}),(0,w.jsx)(`path`,{d:`M12 6v6l3.5 3.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,w.jsx)(`path`,{d:`M8.2 15.8l2.1-2.1`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`})]});async function $e(e){try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,`true`),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return document.body.removeChild(t),n}catch{return!1}}var et=e=>{e.catch(()=>{})},tt=p/1e3,nt=Array.from({length:11},(e,t)=>{let n=(t*tt).toFixed(3);return`Breath ${t+1} — ${n}s`}),rt=({onClose:n})=>{let r=(0,C.useMemo)(()=>te(),[]),c=(0,C.useRef)(0n),u=(0,C.useRef)(!1),f=(0,C.useRef)(0),m=(0,C.useCallback)(()=>{try{return e(new Date)}catch{return 0n}},[]),h=(0,C.useCallback)(()=>{let e=null;try{e=r.nowMicroPulses()}catch{e=null}if(typeof e==`bigint`)return e;if(typeof e==`number`&&Number.isFinite(e))return BigInt(Math.trunc(e));if(typeof e==`string`&&/^\d+$/.test(e))try{return BigInt(e)}catch{return null}return null},[r]),_=(0,C.useCallback)(()=>{let e=h();if(e===null)return m();let t=H();if(!u.current||t-f.current>2e3){let n=m()-e,r=2n*F;c.current=De(n)<=r?0n:n,u.current=!0,f.current=t}return e+c.current},[m,h]),v=(0,C.useCallback)(()=>{try{return Ae(ke(_(),F))}catch{return 0n}},[_]),y=(0,C.useRef)(null);y.current===null&&(y.current=v());let b=y.current??0n,[x,T]=(0,C.useState)(`live`),[E,D]=(0,C.useState)(``),[be,O]=(0,C.useState)(1),[k,A]=(0,C.useState)(()=>b),[j,M]=(0,C.useState)(()=>b.toString()),N=(0,C.useRef)(!1),[P,we]=(0,C.useState)(null),[L,R]=(0,C.useState)(!0),[Te,z]=(0,C.useState)(!1),[B,je]=(0,C.useState)(``),[Pe,Fe]=(0,C.useState)(``),Ie=(0,C.useRef)(null),[Ke,Je]=(0,C.useState)(``),[tt,rt]=(0,C.useState)(null),[it,at]=(0,C.useState)(!1),ot=(0,C.useRef)(null),st=(0,C.useRef)(null),ct=(0,C.useRef)(null),K=(0,C.useRef)(null),lt=(0,C.useRef)(0),ut=(0,C.useMemo)(()=>{try{return k.toLocaleString()}catch{return k.toString()}},[k]),dt=(0,C.useCallback)(()=>{try{let e=Oe(_(),F),t=Number(e),n=Math.max(0,Math.min(p,Math.round(t*p/1e6))),r=document.documentElement;r.style.setProperty(`--pulse-dur`,`${p}ms`),r.style.setProperty(`--pulse-offset`,`-${n}ms`);let i=st.current;i&&(i.style.setProperty(`--pulse-dur`,`${p}ms`),i.style.setProperty(`--pulse-offset`,`-${n}ms`))}catch{}},[_]),q=(0,C.useCallback)((e,t=!0)=>{let n=Ae(e);A(n),t&&!N.current&&M(n.toString()),typeof document<`u`&&dt()},[dt]);(0,C.useEffect)(()=>{let e=e=>{let t=ot.current;if(!t)return;let n=e.target;n instanceof Node&&t.contains(n)&&(st.current?.contains(n)||e.stopPropagation())},t=[`click`,`mousedown`,`touchstart`],n={passive:!0};t.forEach(t=>document.addEventListener(t,e,n));let r=e=>{e.key===`Escape`&&ot.current&&e.stopPropagation()};return window.addEventListener(`keydown`,r,!0),()=>{t.forEach(t=>document.removeEventListener(t,e,n)),window.removeEventListener(`keydown`,r,!0)}},[]),(0,C.useEffect)(()=>{x===`live`&&q(v(),!0)},[x,q,v]);let J=(0,C.useCallback)(()=>{K.current!==null&&(window.clearTimeout(K.current),K.current=null)},[]),Y=(0,C.useCallback)(()=>{J();let e=()=>{let e=V(o(ke(_(),F)+1n));lt.current=e;let n=Math.max(0,e-H());K.current=window.setTimeout(t,n)},t=()=>{let n=H(),r=lt.current;if(n{if(x!==`live`)return;Y();let e=()=>{document.visibilityState===`visible`&&x===`live`&&Y()};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,e),J()}},[x,Y,J]);let ft=Ge(x===`live`,_),pt=(0,C.useCallback)(()=>{T(`live`),D(``),O(1),q(v(),!0),Y()},[q,v,Y]),mt=e=>{let t=(e.target.value??``).replace(/[^\d]/g,``);if(M(t),t)try{let e=Ae(BigInt(t));T(`static-pulse`),D(``),O(1),q(e,!1),J()}catch{}},ht=(0,C.useCallback)((t,n)=>{let r=Be(t);if(!r)return;let i=Ae(ke(e(Ve(r,n)),F));T(`static-date`),J(),q(i,!0)},[q,J]),gt=e=>{let t=e.target.value;if(D(t),!t){O(1),pt();return}ht(t,be)},_t=e=>{let t=Number(e.target.value);O(t),E&&ht(E,t)},vt=()=>{let e=ot.current?.querySelector(`.sigil-modal`);e&&(e.classList.remove(`flash-now`),e.offsetWidth,e.classList.add(`flash-now`)),pt()},X=(0,C.useMemo)(()=>ze(k),[k]),yt=(0,C.useMemo)(()=>{let{beat:e,stepIndex:t,percentIntoStep:n}=ee(k*F);return{beat:e,stepIndex:t,stepPct:ce(n)}},[k]),bt=(0,C.useMemo)(()=>{if(!P)return`Root`;let e=Ue(P,`harmonicDay`);return e?l[e]:`Root`},[P]),xt=(0,C.useMemo)(()=>{try{let e=Oe(k*F,i)*100000000n/i;return Number(e)/1e6}catch{return 0}},[k]),St=(0,C.useMemo)(()=>{try{let e=o(k),{dayPercent:t}=a(new Date(V(e)));return Math.max(0,Math.min(100,t))}catch{return xt}},[k,xt]),Ct=(0,C.useMemo)(()=>{try{let e=o(k),{beatIndex:t,stepIndex:n}=a(new Date(V(e)));return{beat:t,stepIndex:n}}catch{return{beat:X.beat,stepIndex:X.stepIndex}}},[k,X.beat,X.stepIndex]);(0,C.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await s(o(k)),n=He(t)?t:null;e||we(n)}catch{e||we(null)}})(),()=>{e=!0}},[k]);let wt=`${X.beat}:${Ee(X.stepIndex)}`,Tt=P?U(P,`chakraStepString`):void 0,Et=wt,Dt=P?W(P,`dayOfMonth`):void 0,Z=P?W(P,`eternalMonthIndex`):void 0,Ot=(0,C.useMemo)(()=>{if(!P)return``;let e=U(P,`eternalYearName`)??``,t=e.match(/Y(\d+)/i);if(!t)return e;let n=Number(t[1]);return Number.isFinite(n)?`Y${Math.max(0,n-1)}`:e},[P]),kt=Ne(typeof Dt==`number`&&typeof Z==`number`&&Ot?`${wt} — D${Dt}/M${Z+1}/${Ot}`:Et),At=P?U(P,`eternalChakraArc`)??`Harmonization Ark`:`Harmonization Ark`,jt=Ye(At),Q=e=>et($e(e)),Mt=e=>Q(JSON.stringify(e,null,2)),Nt=(0,C.useMemo)(()=>{try{if(k<=I)return Number(k);if(Me<=0n)return 0;let e=Oe(k,Me);return Number(e)}catch{return 0}},[k]),Pt=()=>document.querySelector(`#sigil-export svg`),Ft=(e,t,n)=>{let{beat:r,stepIndex:i}=ze(t),a=Math.max(0,Math.min(Math.trunc(i),43)),o=Math.max(0,Math.min(Math.trunc(r),35));return{pulse:V(t),beat:o,stepIndex:a,chakraDay:n,stepsPerBeat:44,canonicalHash:e,exportedAt:Re(t),expiresAtPulse:(t+11n).toString(),pulseExact:t.toString()}},It=e=>{if(!e)return null;if(Array.isArray(e)){let t=e[0];return t==null?null:String(t)}if(typeof e==`string`){try{let t=JSON.parse(e);if(Array.isArray(t)){let e=t[0];return e==null?null:String(e)}}catch{return e}return e}return null},[$,Lt]=(0,C.useState)(null),Rt=async()=>{let e=x===`live`?v():k,t=x===`live`&&e>=k?e:k;Ie.current=x,x===`live`&&(T(`static-pulse`),q(t,!0));let n=ae(g(t).chakraDay)??bt,r=Pt(),i=r?.getAttribute(`data-pulse`),a=i&&/^\d+$/.test(i)?BigInt(i):null,o=(t<=I&&a!==null&&a===t?Ke:``).toLowerCase();if(!o){let e=ze(t);o=(await qe(((r?new XMLSerializer().serializeToString(r):``)||`no-svg`)+`|pulseExact=${t.toString()}|beat=${e.beat}|step=${e.stepIndex}|chakra=${n}`)).toLowerCase()}let s=Ft(o,t,n),c=de(o,s);Fe(o),Lt(s),je(c),z(!0)},zt=async()=>{try{let e=Pt();if(!e)return`Export failed: sigil SVG is not available.`;let n=B?d(B):null,r=e.getAttribute(`data-pulse`),i=r?Number.parseInt(r,10):NaN,a=e.getAttribute(`data-beat`),o=a?Number.parseInt(a,10):NaN,s=e.getAttribute(`data-step-index`),c=s?Number.parseInt(s,10):NaN,ee=ae(e.getAttribute(`data-chakra-day`)??void 0),l=e.getAttribute(`data-steps-per-beat`),u=l?Number.parseInt(l,10):NaN,f=e.getAttribute(`data-kai-signature`)??``,p=e.getAttribute(`data-phi-key`)??``,m=e.getAttribute(`data-payload-hash`)??``,te=Number($?.pulse??n?.pulse),h=Number($?.beat??n?.beat),g=Number($?.stepIndex??n?.stepIndex),_=Number($?.stepsPerBeat??n?.stepsPerBeat),ce=ae(typeof $?.chakraDay==`string`?$.chakraDay:typeof n?.chakraDay==`string`?n.chakraDay:void 0),v=Number.isFinite(te)?te:i,y=Number.isFinite(h)?h:o,fe=Number.isFinite(g)?g:c,b=Number.isFinite(_)?_:Number.isFinite(u)?u:44,x=ce??ee,S=typeof n?.kaiSignature==`string`?n.kaiSignature:f,C=typeof n?.userPhiKey==`string`?n.userPhiKey:p,w=Pe||m;if(!S)return`Export failed: kaiSignature missing from SVG.`;if(!C)return`Export failed: Φ-Key missing from SVG.`;if(!w)return`Export failed: payload hash missing from SVG.`;if(!x)return`Export failed: chakra day missing from SVG.`;if(!Number.isFinite(v))return`Export failed: pulse missing from SVG.`;if(!Number.isFinite(y))return`Export failed: beat missing from SVG.`;if(!Number.isFinite(fe))return`Export failed: step index missing from SVG.`;let T=de(w,{pulse:v,beat:y,stepIndex:fe,chakraDay:x,stepsPerBeat:b,kaiSignature:S,userPhiKey:C}),E=he(v,S),ve=S.slice(0,10),D={v:`KPV-1`,pulse:v,chakraDay:x,kaiSignature:S,phiKey:C,verifierSlug:`${v}-${ve}`},be=await ue(D),O=e.cloneNode(!0);O.setAttribute(`data-pulse`,String(v)),O.setAttribute(`data-beat`,String(y)),O.setAttribute(`data-step-index`,String(fe)),O.setAttribute(`data-chakra-day`,x),O.setAttribute(`data-steps-per-beat`,String(b)),O.setAttribute(`data-kai-signature`,S),O.setAttribute(`data-phi-key`,C),O.setAttribute(`data-payload-hash`,w);let k=new XMLSerializer().serializeToString(O),A=oe(k),j=typeof A.zkPoseidonHash==`string`&&A.zkPoseidonHash.trim().length>0?A.zkPoseidonHash.trim():void 0,M=A.zkProof,N=A.proofHints,P=A.zkPublicInputs;if(!j&&w&&(j=(await me(w)).hash),j){let e=M&&typeof M==`object`?M:null,t=typeof M==`string`?M.trim().length>0:Array.isArray(M)?M.length>0:e?Object.keys(e).length>0:!1,n=typeof tt==`string`&&tt.trim().length>0?tt.trim():void 0;if(!n&&w){let e=await me(w);e.hash===j&&(n=e.secret)}if(!t&&!n)throw Error(`ZK secret missing for proof generation`);if(!t&&n){let e=await le({poseidonHash:j,secret:n,proofHints:typeof N==`object`&&N?N:void 0});if(!e)throw Error(`ZK proof generation failed`);M=e.proof,N=e.proofHints,P=e.zkPublicInputs}N=typeof N!=`object`||!N?ne(j):ne(j,N)}if(j&&P){let e=It(P);if(e&&e!==j)throw Error(`Embedded ZK mismatch`)}if(j&&(!M||typeof M!=`object`))throw Error(`ZK proof missing`);if(P&&O.setAttribute(`data-zk-public-inputs`,JSON.stringify(P)),j&&(O.setAttribute(`data-zk-scheme`,`groth16-poseidon`),O.setAttribute(`data-zk-poseidon-hash`,j),M&&O.setAttribute(`data-zk-proof`,`present`)),O.getAttribute(`data-pulse`)!==String(v)||O.getAttribute(`data-kai-signature`)!==S||O.getAttribute(`data-phi-key`)!==C)throw Error(`SVG data attributes do not match proof capsule`);let xe={hashAlg:pe,canon:`JCS`,proofCapsule:D,capsuleHash:be,svgHash:await se(k),shareUrl:T,verifierUrl:E,authorSig:null,zkPoseidonHash:j,zkProof:M,proofHints:N,zkPublicInputs:P},Se=await ie(re(xe)),F=null;try{await _e(C),F=await ge(C,Se)}catch(e){console.warn(`Author signature failed; continuing without authorSig.`,e),F=null}let I={...xe,bundleHash:Se,authorSig:F},we=t(k,I),L=`kai-voh_pulse-${v}_${ve}`,R=new Ce.default;return R.file(`${L}.svg`,we),R.file(`${L}_proof_bundle.json`,JSON.stringify(I,null,2)),ye(await R.generateAsync({type:`blob`}),`${L}_proof_bundle.zip`),null}catch(e){return`Export failed: ${e instanceof Error?e.message:String(e)}`}},Bt=()=>n(),Vt=()=>{z(!1);let e=Ie.current;Ie.current=null,e===`live`&&pt()},Ht=(0,C.useMemo)(()=>P?Ue(P,`harmonicDay`)||We(P.harmonicDay):``,[P]),Ut=(0,C.useMemo)(()=>P?U(P,`eternalMonth`)??``:``,[P]),Wt=(0,C.useMemo)(()=>{try{return xe(g(k)).line}catch{return``}},[k]),Gt=(0,C.useMemo)(()=>P?Le(U(P,`eternalSeal`)??U(P,`seal`)??``,k,X.beat,X.stepIndex,Ct.beat,Ct.stepIndex,Ot||void 0):``,[P,X.beat,X.stepIndex,k,Ct,Ot]),Kt=P?W(P,`kaiPulseEternal`):void 0,qt=P?W(P,`kaiPulseToday`):void 0,Jt=P?G(P,`chakraStep`):void 0,Yt=P?G(P,`chakraBeat`):void 0,Xt=Jt?W(Jt,`stepIndex`):void 0,Zt=Jt?W(Jt,`percentIntoStep`):void 0,Qt=Yt?W(Yt,`beatIndex`):void 0,$t=Yt?W(Yt,`pulsesIntoBeat`):void 0,en=P?W(P,`weekIndex`):void 0,tn=P?U(P,`weekName`)??``:``,nn=(()=>{let e=P?G(P,`harmonicWeekProgress`):void 0;return e?W(e,`percent`):void 0})(),rn=(()=>{let e=P?G(P,`eternalMonthProgress`):void 0;return e?W(e,`percent`):void 0})(),an=(()=>{let e=P?G(P,`harmonicYearProgress`):void 0;return e?W(e,`percent`):void 0})(),on=P?W(P,`phiSpiralLevel`):void 0,sn=P?U(P,`kaiMomentSummary`)??``:``,cn=P?U(P,`compressed_summary`)??``:``;return(0,Se.createPortal)((0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Xe,{}),(0,w.jsx)(`div`,{ref:ot,role:`dialog`,"aria-modal":`true`,className:`sigil-modal-overlay`,onMouseDown:e=>{e.target===e.currentTarget&&e.stopPropagation()},onClick:e=>{e.target===e.currentTarget&&e.stopPropagation()},onTouchStart:e=>{e.target===e.currentTarget&&e.stopPropagation()},onKeyDown:e=>e.key===`Escape`&&e.stopPropagation(),children:(0,w.jsxs)(`div`,{className:`sigil-modal`,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),onTouchStart:e=>e.stopPropagation(),children:[(0,w.jsx)(`button`,{ref:st,"aria-label":`Close`,className:`close-btn`,onClick:Bt,children:(0,w.jsx)(Ze,{})}),(0,w.jsx)(ve,{dateISO:E,onDateChange:gt,secondsLeft:x===`live`?ft??void 0:void 0,solarPercent:St,eternalPercent:xt,solarColor:`#ffd600`,eternalColor:jt,eternalArkLabel:At}),x!==`live`&&(0,w.jsxs)(w.Fragment,{children:[E&&(0,w.jsxs)(`label`,{style:{marginLeft:`12px`},className:`sigil-label`,children:[(0,w.jsx)(`span`,{className:`sigil-label__text`,children:`Breath within minute`}),`\xA0`,(0,w.jsx)(`select`,{value:be,onChange:_t,children:nt.map((e,t)=>(0,w.jsx)(`option`,{value:t+1,children:e},e))})]}),(0,w.jsx)(`button`,{className:`now-btn`,onClick:vt,children:`Now`})]}),x===`live`&&ft!==null&&(0,w.jsxs)(`p`,{className:`countdown`,children:[`next pulse in `,(0,w.jsx)(`strong`,{children:ft.toFixed(3)}),`s`]}),(0,w.jsxs)(`div`,{className:`sigil-pulse-row`,children:[(0,w.jsxs)(`label`,{className:`sigil-label sigil-pulse-label`,children:[(0,w.jsx)(`span`,{className:`sigil-label__text`,children:`☤KAI:`}),(0,w.jsx)(`input`,{className:`sigil-input sigil-pulse-input`,type:`text`,inputMode:`numeric`,value:j,onFocus:()=>{N.current=!0},onBlur:()=>{N.current=!1,M(k.toString())},onChange:mt,"aria-label":`Pulse`,placeholder:`Enter pulse`})]}),(0,w.jsx)(`span`,{className:`sigil-live-chip ${x===`live`?`is-live`:`is-static`}`,"aria-live":`polite`,children:x===`live`?`LIVE`:`STATIC`})]}),(0,w.jsxs)(`div`,{id:`sigil-export`,style:{position:`relative`,width:240,margin:`16px auto`},children:[(0,w.jsx)(fe,{ref:ct,pulse:Nt,beat:yt.beat,stepIndex:yt.stepIndex,stepPct:yt.stepPct,chakraDay:bt,size:240,hashMode:`deterministic`,origin:``,onReady:e=>{let t=e.hash?String(e.hash).toLowerCase():``;t&&Je(t),e.zkPoseidonSecret&&rt(e.zkPoseidonSecret)}}),(0,w.jsx)(`span`,{className:`pulse-tag`,children:ut})]}),(0,w.jsxs)(`div`,{className:`sigil-meta-block`,children:[(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`☤KAI:`}),`\xA0`,k,(0,w.jsx)(`button`,{className:`copy-btn`,onClick:()=>Q(Et),children:`💠`})]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Kairos/Date:`}),`\xA0`,kt,` `,k,(0,w.jsx)(`button`,{className:`copy-btn`,onClick:()=>Q(kt),children:`💠`})]}),P&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Seal:`}),`\xA0`,Gt,(0,w.jsx)(`button`,{className:`copy-btn`,onClick:()=>Q(Gt),children:`💠`})]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Day:`}),` `,Ht]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Month:`}),` `,Ut]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Arc:`}),` `,At]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Kai-Turah:`}),`\xA0`,Wt,(0,w.jsx)(`button`,{className:`copy-btn`,onClick:()=>Q(Wt),children:`💠`})]})]})]}),P&&(0,w.jsxs)(`details`,{className:`rich-data`,open:it,onToggle:e=>at(e.currentTarget.open),children:[(0,w.jsx)(`summary`,{children:`Memory`}),(0,w.jsxs)(`div`,{className:`rich-grid`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`pulseExact`}),(0,w.jsx)(`span`,{children:k.toString()})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`kaiPulseEternal`}),(0,w.jsx)(`span`,{children:(Kt??0).toLocaleString()})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`kaiPulseToday`}),(0,w.jsx)(`span`,{children:qt??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraStepString`}),(0,w.jsx)(`span`,{children:Tt??``})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraStep.stepIndex`}),(0,w.jsx)(`span`,{children:Xt??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraStep.percentIntoStep`}),(0,w.jsxs)(`span`,{children:[((Zt??0)*100).toFixed(2),`%`]})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraBeat.beatIndex`}),(0,w.jsx)(`span`,{children:Qt??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraBeat.pulsesIntoBeat`}),(0,w.jsx)(`span`,{children:$t??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`weekIndex`}),(0,w.jsx)(`span`,{children:en??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`weekName`}),(0,w.jsx)(`span`,{children:tn})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`dayOfMonth`}),(0,w.jsx)(`span`,{children:Dt??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`eternalMonthIndex`}),(0,w.jsx)(`span`,{children:typeof Z==`number`?Z+1:0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`harmonicWeekProgress.percent`}),(0,w.jsxs)(`span`,{children:[((nn??0)*100).toFixed(2),`%`]})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`eternalMonthProgress.percent`}),(0,w.jsxs)(`span`,{children:[((rn??0)*100).toFixed(2),`%`]})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`harmonicYearProgress.percent`}),(0,w.jsxs)(`span`,{children:[((an??0)*100).toFixed(2),`%`]})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`phiSpiralLevel`}),(0,w.jsx)(`span`,{children:on??0})]}),(0,w.jsxs)(`div`,{className:`span-2`,children:[(0,w.jsx)(`code`,{children:`kaiMomentSummary`}),(0,w.jsx)(`span`,{children:sn})]}),(0,w.jsxs)(`div`,{className:`span-2`,children:[(0,w.jsx)(`code`,{children:`compressed_summary`}),(0,w.jsx)(`span`,{children:cn})]}),(0,w.jsxs)(`div`,{className:`span-2`,children:[(0,w.jsx)(`code`,{children:`eternalSeal`}),(0,w.jsx)(`span`,{className:`truncate`,children:Gt})]})]}),(0,w.jsx)(`div`,{className:`rich-actions`,children:(0,w.jsx)(`button`,{onClick:()=>Mt(P),children:`Remember JSON`})})]}),(0,w.jsx)(`div`,{className:`modal-bottom-spacer`,"aria-hidden":`true`}),(0,w.jsx)(`div`,{className:`mint-dock`,children:(0,w.jsxs)(`button`,{className:`mint-btn`,type:`button`,"aria-label":`Mint this moment`,title:`Mint this moment`,onClick:Rt,children:[(0,w.jsx)(`span`,{className:`mint-btn__icon`,"aria-hidden":`true`,children:L?(0,w.jsx)(`img`,{src:`/assets/seal.svg`,alt:``,loading:`eager`,decoding:`async`,onError:()=>R(!1)}):(0,w.jsx)(Qe,{})}),(0,w.jsxs)(`span`,{className:`mint-btn__text`,children:[(0,w.jsx)(`span`,{className:`mint-btn__title`,children:`MINT ΦKey`}),(0,w.jsxs)(`span`,{className:`mint-btn__sub`,children:[`☤KAI `,ut]})]})]})})]})}),(0,w.jsx)(S,{open:Te,url:B,hash:Pe,onClose:Vt,onDownloadZip:zt})]}),document.body)};export{rt as t}; \ No newline at end of file + `}),Ze=()=>(0,w.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":!0,className:`close-icon`,children:[(0,w.jsx)(`line`,{x1:`4`,y1:`4`,x2:`20`,y2:`20`,stroke:`currentColor`,strokeWidth:`2`}),(0,w.jsx)(`line`,{x1:`20`,y1:`4`,x2:`4`,y2:`20`,stroke:`currentColor`,strokeWidth:`2`}),(0,w.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,opacity:`.25`})]}),Qe=()=>(0,w.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,w.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`}),(0,w.jsx)(`path`,{d:`M12 6v6l3.5 3.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,w.jsx)(`path`,{d:`M8.2 15.8l2.1-2.1`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`})]});async function $e(e){try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,`true`),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return document.body.removeChild(t),n}catch{return!1}}var et=e=>{e.catch(()=>{})},tt=p/1e3,nt=Array.from({length:11},(e,t)=>{let n=(t*tt).toFixed(3);return`Breath ${t+1} — ${n}s`}),rt=({onClose:n})=>{let r=(0,C.useMemo)(()=>te(),[]),c=(0,C.useRef)(0n),u=(0,C.useRef)(!1),f=(0,C.useRef)(0),m=(0,C.useCallback)(()=>{try{return e(new Date)}catch{return 0n}},[]),h=(0,C.useCallback)(()=>{let e=null;try{e=r.nowMicroPulses()}catch{e=null}if(typeof e==`bigint`)return e;if(typeof e==`number`&&Number.isFinite(e))return BigInt(Math.trunc(e));if(typeof e==`string`&&/^\d+$/.test(e))try{return BigInt(e)}catch{return null}return null},[r]),_=(0,C.useCallback)(()=>{let e=h();if(e===null)return m();let t=H();if(!u.current||t-f.current>2e3){let n=m()-e,r=2n*F;c.current=De(n)<=r?0n:n,u.current=!0,f.current=t}return e+c.current},[m,h]),v=(0,C.useCallback)(()=>{try{return Ae(ke(_(),F))}catch{return 0n}},[_]),y=(0,C.useRef)(null);y.current===null&&(y.current=v());let b=y.current??0n,[x,T]=(0,C.useState)(`live`),[E,D]=(0,C.useState)(``),[be,O]=(0,C.useState)(1),[k,A]=(0,C.useState)(()=>b),[j,M]=(0,C.useState)(()=>b.toString()),N=(0,C.useRef)(!1),[P,we]=(0,C.useState)(null),[L,R]=(0,C.useState)(!0),[Te,z]=(0,C.useState)(!1),[B,je]=(0,C.useState)(``),[Pe,Fe]=(0,C.useState)(``),Ie=(0,C.useRef)(null),[Ke,Je]=(0,C.useState)(``),[tt,rt]=(0,C.useState)(null),[it,at]=(0,C.useState)(!1),ot=(0,C.useRef)(null),st=(0,C.useRef)(null),ct=(0,C.useRef)(null),K=(0,C.useRef)(null),lt=(0,C.useRef)(0),ut=(0,C.useMemo)(()=>{try{return k.toLocaleString()}catch{return k.toString()}},[k]),dt=(0,C.useCallback)(()=>{try{let e=Oe(_(),F),t=Number(e),n=Math.max(0,Math.min(p,Math.round(t*p/1e6))),r=document.documentElement;r.style.setProperty(`--pulse-dur`,`${p}ms`),r.style.setProperty(`--pulse-offset`,`-${n}ms`);let i=st.current;i&&(i.style.setProperty(`--pulse-dur`,`${p}ms`),i.style.setProperty(`--pulse-offset`,`-${n}ms`))}catch{}},[_]),q=(0,C.useCallback)((e,t=!0)=>{let n=Ae(e);A(n),t&&!N.current&&M(n.toString()),typeof document<`u`&&dt()},[dt]);(0,C.useEffect)(()=>{let e=e=>{let t=ot.current;if(!t)return;let n=e.target;n instanceof Node&&t.contains(n)&&(st.current?.contains(n)||e.stopPropagation())},t=[`click`,`mousedown`,`touchstart`],n={passive:!0};t.forEach(t=>document.addEventListener(t,e,n));let r=e=>{e.key===`Escape`&&ot.current&&e.stopPropagation()};return window.addEventListener(`keydown`,r,!0),()=>{t.forEach(t=>document.removeEventListener(t,e,n)),window.removeEventListener(`keydown`,r,!0)}},[]),(0,C.useEffect)(()=>{x===`live`&&q(v(),!0)},[x,q,v]);let J=(0,C.useCallback)(()=>{K.current!==null&&(window.clearTimeout(K.current),K.current=null)},[]),Y=(0,C.useCallback)(()=>{J();let e=()=>{let e=V(o(ke(_(),F)+1n));lt.current=e;let n=Math.max(0,e-H());K.current=window.setTimeout(t,n)},t=()=>{let n=H(),r=lt.current;if(n{if(x!==`live`)return;Y();let e=()=>{document.visibilityState===`visible`&&x===`live`&&Y()};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`focus`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`focus`,e),J()}},[x,Y,J]);let ft=Ge(x===`live`,_),pt=(0,C.useCallback)(()=>{T(`live`),D(``),O(1),q(v(),!0),Y()},[q,v,Y]),mt=e=>{let t=(e.target.value??``).replace(/[^\d]/g,``);if(M(t),t)try{let e=Ae(BigInt(t));T(`static-pulse`),D(``),O(1),q(e,!1),J()}catch{}},ht=(0,C.useCallback)((t,n)=>{let r=Be(t);if(!r)return;let i=Ae(ke(e(Ve(r,n)),F));T(`static-date`),J(),q(i,!0)},[q,J]),gt=e=>{let t=e.target.value;if(D(t),!t){O(1),pt();return}ht(t,be)},_t=e=>{let t=Number(e.target.value);O(t),E&&ht(E,t)},vt=()=>{let e=ot.current?.querySelector(`.sigil-modal`);e&&(e.classList.remove(`flash-now`),e.offsetWidth,e.classList.add(`flash-now`)),pt()},X=(0,C.useMemo)(()=>ze(k),[k]),yt=(0,C.useMemo)(()=>{let{beat:e,stepIndex:t,percentIntoStep:n}=ee(k*F);return{beat:e,stepIndex:t,stepPct:ce(n)}},[k]),bt=(0,C.useMemo)(()=>{if(!P)return`Root`;let e=Ue(P,`harmonicDay`);return e?l[e]:`Root`},[P]),xt=(0,C.useMemo)(()=>{try{let e=Oe(k*F,i)*100000000n/i;return Number(e)/1e6}catch{return 0}},[k]),St=(0,C.useMemo)(()=>{try{let e=o(k),{dayPercent:t}=a(new Date(V(e)));return Math.max(0,Math.min(100,t))}catch{return xt}},[k,xt]),Ct=(0,C.useMemo)(()=>{try{let e=o(k),{beatIndex:t,stepIndex:n}=a(new Date(V(e)));return{beat:t,stepIndex:n}}catch{return{beat:X.beat,stepIndex:X.stepIndex}}},[k,X.beat,X.stepIndex]);(0,C.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await s(o(k)),n=He(t)?t:null;e||we(n)}catch{e||we(null)}})(),()=>{e=!0}},[k]);let wt=`${X.beat}:${Ee(X.stepIndex)}`,Tt=P?U(P,`chakraStepString`):void 0,Et=wt,Dt=P?W(P,`dayOfMonth`):void 0,Z=P?W(P,`eternalMonthIndex`):void 0,Ot=(0,C.useMemo)(()=>{if(!P)return``;let e=U(P,`eternalYearName`)??``,t=e.match(/Y(\d+)/i);if(!t)return e;let n=Number(t[1]);return Number.isFinite(n)?`Y${Math.max(0,n-1)}`:e},[P]),kt=Ne(typeof Dt==`number`&&typeof Z==`number`&&Ot?`${wt} — D${Dt}/M${Z+1}/${Ot}`:Et),At=P?U(P,`eternalChakraArc`)??`Harmonization Ark`:`Harmonization Ark`,jt=Ye(At),Q=e=>et($e(e)),Mt=e=>Q(JSON.stringify(e,null,2)),Nt=(0,C.useMemo)(()=>{try{if(k<=I)return Number(k);if(Me<=0n)return 0;let e=Oe(k,Me);return Number(e)}catch{return 0}},[k]),Pt=()=>document.querySelector(`#sigil-export svg`),Ft=(e,t,n)=>{let{beat:r,stepIndex:i}=ze(t),a=Math.max(0,Math.min(Math.trunc(i),43)),o=Math.max(0,Math.min(Math.trunc(r),35));return{pulse:V(t),beat:o,stepIndex:a,chakraDay:n,stepsPerBeat:44,canonicalHash:e,exportedAt:Re(t),expiresAtPulse:(t+11n).toString(),pulseExact:t.toString()}},It=e=>{if(!e)return null;if(Array.isArray(e)){let t=e[0];return t==null?null:String(t)}if(typeof e==`string`){try{let t=JSON.parse(e);if(Array.isArray(t)){let e=t[0];return e==null?null:String(e)}}catch{return e}return e}return null},[$,Lt]=(0,C.useState)(null),Rt=async()=>{let e=x===`live`?v():k,t=x===`live`&&e>=k?e:k;Ie.current=x,x===`live`&&(T(`static-pulse`),q(t,!0));let n=ae(g(t).chakraDay)??bt,r=Pt(),i=r?.getAttribute(`data-pulse`),a=i&&/^\d+$/.test(i)?BigInt(i):null,o=(t<=I&&a!==null&&a===t?Ke:``).toLowerCase();if(!o){let e=ze(t);o=(await qe(((r?new XMLSerializer().serializeToString(r):``)||`no-svg`)+`|pulseExact=${t.toString()}|beat=${e.beat}|step=${e.stepIndex}|chakra=${n}`)).toLowerCase()}let s=Ft(o,t,n),c=de(o,s);Fe(o),Lt(s),je(c),z(!0)},zt=async()=>{try{let e=Pt();if(!e)return`Export failed: sigil SVG is not available.`;let n=B?d(B):null,r=e.getAttribute(`data-pulse`),i=r?Number.parseInt(r,10):NaN,a=e.getAttribute(`data-beat`),o=a?Number.parseInt(a,10):NaN,s=e.getAttribute(`data-step-index`),c=s?Number.parseInt(s,10):NaN,ee=ae(e.getAttribute(`data-chakra-day`)??void 0),l=e.getAttribute(`data-steps-per-beat`),u=l?Number.parseInt(l,10):NaN,f=e.getAttribute(`data-kai-signature`)??``,p=e.getAttribute(`data-phi-key`)??``,m=e.getAttribute(`data-payload-hash`)??``,te=Number($?.pulse??n?.pulse),h=Number($?.beat??n?.beat),g=Number($?.stepIndex??n?.stepIndex),_=Number($?.stepsPerBeat??n?.stepsPerBeat),ce=ae(typeof $?.chakraDay==`string`?$.chakraDay:typeof n?.chakraDay==`string`?n.chakraDay:void 0),v=Number.isFinite(te)?te:i,y=Number.isFinite(h)?h:o,fe=Number.isFinite(g)?g:c,b=Number.isFinite(_)?_:Number.isFinite(u)?u:44,x=ce??ee,S=typeof n?.kaiSignature==`string`?n.kaiSignature:f,C=typeof n?.userPhiKey==`string`?n.userPhiKey:p,w=Pe||m;if(!S)return`Export failed: kaiSignature missing from SVG.`;if(!C)return`Export failed: Φ-Key missing from SVG.`;if(!w)return`Export failed: payload hash missing from SVG.`;if(!x)return`Export failed: chakra day missing from SVG.`;if(!Number.isFinite(v))return`Export failed: pulse missing from SVG.`;if(!Number.isFinite(y))return`Export failed: beat missing from SVG.`;if(!Number.isFinite(fe))return`Export failed: step index missing from SVG.`;let T=de(w,{pulse:v,beat:y,stepIndex:fe,chakraDay:x,stepsPerBeat:b,kaiSignature:S,userPhiKey:C}),E=he(v,S),ve=S.slice(0,10),D={v:`KPV-1`,pulse:v,chakraDay:x,kaiSignature:S,phiKey:C,verifierSlug:`${v}-${ve}`},be=await ue(D),O=e.cloneNode(!0);O.setAttribute(`data-pulse`,String(v)),O.setAttribute(`data-beat`,String(y)),O.setAttribute(`data-step-index`,String(fe)),O.setAttribute(`data-chakra-day`,x),O.setAttribute(`data-steps-per-beat`,String(b)),O.setAttribute(`data-kai-signature`,S),O.setAttribute(`data-phi-key`,C),O.setAttribute(`data-payload-hash`,w);let k=new XMLSerializer().serializeToString(O),A=oe(k),j=typeof A.zkPoseidonHash==`string`&&A.zkPoseidonHash.trim().length>0?A.zkPoseidonHash.trim():void 0,M=A.zkProof,N=A.proofHints,P=A.zkPublicInputs;if(!j&&w&&(j=(await me(w)).hash),j){let e=M&&typeof M==`object`?M:null,t=typeof M==`string`?M.trim().length>0:Array.isArray(M)?M.length>0:e?Object.keys(e).length>0:!1,n=typeof tt==`string`&&tt.trim().length>0?tt.trim():void 0;if(!n&&w){let e=await me(w);e.hash===j&&(n=e.secret)}if(!t&&!n)throw Error(`ZK secret missing for proof generation`);if(!t&&n){let e=await le({poseidonHash:j,secret:n,proofHints:typeof N==`object`&&N?N:void 0});if(!e)throw Error(`ZK proof generation failed`);M=e.proof,N=e.proofHints,P=e.zkPublicInputs}N=typeof N!=`object`||!N?ne(j):ne(j,N)}if(j&&P){let e=It(P);if(e&&e!==j)throw Error(`Embedded ZK mismatch`)}if(j&&(!M||typeof M!=`object`))throw Error(`ZK proof missing`);if(P&&O.setAttribute(`data-zk-public-inputs`,JSON.stringify(P)),j&&(O.setAttribute(`data-zk-scheme`,`groth16-poseidon`),O.setAttribute(`data-zk-poseidon-hash`,j),M&&O.setAttribute(`data-zk-proof`,`present`)),O.getAttribute(`data-pulse`)!==String(v)||O.getAttribute(`data-kai-signature`)!==S||O.getAttribute(`data-phi-key`)!==C)throw Error(`SVG data attributes do not match proof capsule`);let xe={hashAlg:pe,canon:`JCS`,proofCapsule:D,capsuleHash:be,svgHash:await se(k),shareUrl:T,verifierUrl:E,authorSig:null,zkPoseidonHash:j,zkProof:M,proofHints:N,zkPublicInputs:P},Se=await ie(re(xe)),F=null;try{await _e(C),F=await ge(C,Se)}catch(e){console.warn(`Author signature failed; continuing without authorSig.`,e),F=null}let I={...xe,bundleHash:Se,authorSig:F},we=t(k,I),L=`☤KAI-Sigil_Glyph_v1-${v}_${ve}_${C}`,R=new Ce.default;return R.file(`${L}.svg`,we),R.file(`${L}_proof_bundle.json`,JSON.stringify(I,null,2)),ye(await R.generateAsync({type:`blob`}),`${L}_proof_bundle.zip`),null}catch(e){return`Export failed: ${e instanceof Error?e.message:String(e)}`}},Bt=()=>n(),Vt=()=>{z(!1);let e=Ie.current;Ie.current=null,e===`live`&&pt()},Ht=(0,C.useMemo)(()=>P?Ue(P,`harmonicDay`)||We(P.harmonicDay):``,[P]),Ut=(0,C.useMemo)(()=>P?U(P,`eternalMonth`)??``:``,[P]),Wt=(0,C.useMemo)(()=>{try{return xe(g(k)).line}catch{return``}},[k]),Gt=(0,C.useMemo)(()=>P?Le(U(P,`eternalSeal`)??U(P,`seal`)??``,k,X.beat,X.stepIndex,Ct.beat,Ct.stepIndex,Ot||void 0):``,[P,X.beat,X.stepIndex,k,Ct,Ot]),Kt=P?W(P,`kaiPulseEternal`):void 0,qt=P?W(P,`kaiPulseToday`):void 0,Jt=P?G(P,`chakraStep`):void 0,Yt=P?G(P,`chakraBeat`):void 0,Xt=Jt?W(Jt,`stepIndex`):void 0,Zt=Jt?W(Jt,`percentIntoStep`):void 0,Qt=Yt?W(Yt,`beatIndex`):void 0,$t=Yt?W(Yt,`pulsesIntoBeat`):void 0,en=P?W(P,`weekIndex`):void 0,tn=P?U(P,`weekName`)??``:``,nn=(()=>{let e=P?G(P,`harmonicWeekProgress`):void 0;return e?W(e,`percent`):void 0})(),rn=(()=>{let e=P?G(P,`eternalMonthProgress`):void 0;return e?W(e,`percent`):void 0})(),an=(()=>{let e=P?G(P,`harmonicYearProgress`):void 0;return e?W(e,`percent`):void 0})(),on=P?W(P,`phiSpiralLevel`):void 0,sn=P?U(P,`kaiMomentSummary`)??``:``,cn=P?U(P,`compressed_summary`)??``:``;return(0,Se.createPortal)((0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Xe,{}),(0,w.jsx)(`div`,{ref:ot,role:`dialog`,"aria-modal":`true`,className:`sigil-modal-overlay`,onMouseDown:e=>{e.target===e.currentTarget&&e.stopPropagation()},onClick:e=>{e.target===e.currentTarget&&e.stopPropagation()},onTouchStart:e=>{e.target===e.currentTarget&&e.stopPropagation()},onKeyDown:e=>e.key===`Escape`&&e.stopPropagation(),children:(0,w.jsxs)(`div`,{className:`sigil-modal`,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),onTouchStart:e=>e.stopPropagation(),children:[(0,w.jsx)(`button`,{ref:st,"aria-label":`Close`,className:`close-btn`,onClick:Bt,children:(0,w.jsx)(Ze,{})}),(0,w.jsx)(ve,{dateISO:E,onDateChange:gt,secondsLeft:x===`live`?ft??void 0:void 0,solarPercent:St,eternalPercent:xt,solarColor:`#ffd600`,eternalColor:jt,eternalArkLabel:At}),x!==`live`&&(0,w.jsxs)(w.Fragment,{children:[E&&(0,w.jsxs)(`label`,{style:{marginLeft:`12px`},className:`sigil-label`,children:[(0,w.jsx)(`span`,{className:`sigil-label__text`,children:`Breath within minute`}),`\xA0`,(0,w.jsx)(`select`,{value:be,onChange:_t,children:nt.map((e,t)=>(0,w.jsx)(`option`,{value:t+1,children:e},e))})]}),(0,w.jsx)(`button`,{className:`now-btn`,onClick:vt,children:`Now`})]}),x===`live`&&ft!==null&&(0,w.jsxs)(`p`,{className:`countdown`,children:[`next pulse in `,(0,w.jsx)(`strong`,{children:ft.toFixed(3)}),`s`]}),(0,w.jsxs)(`div`,{className:`sigil-pulse-row`,children:[(0,w.jsxs)(`label`,{className:`sigil-label sigil-pulse-label`,children:[(0,w.jsx)(`span`,{className:`sigil-label__text`,children:`☤KAI:`}),(0,w.jsx)(`input`,{className:`sigil-input sigil-pulse-input`,type:`text`,inputMode:`numeric`,value:j,onFocus:()=>{N.current=!0},onBlur:()=>{N.current=!1,M(k.toString())},onChange:mt,"aria-label":`Pulse`,placeholder:`Enter pulse`})]}),(0,w.jsx)(`span`,{className:`sigil-live-chip ${x===`live`?`is-live`:`is-static`}`,"aria-live":`polite`,children:x===`live`?`LIVE`:`STATIC`})]}),(0,w.jsxs)(`div`,{id:`sigil-export`,style:{position:`relative`,width:240,margin:`16px auto`},children:[(0,w.jsx)(fe,{ref:ct,pulse:Nt,beat:yt.beat,stepIndex:yt.stepIndex,stepPct:yt.stepPct,chakraDay:bt,size:240,hashMode:`deterministic`,origin:``,onReady:e=>{let t=e.hash?String(e.hash).toLowerCase():``;t&&Je(t),e.zkPoseidonSecret&&rt(e.zkPoseidonSecret)}}),(0,w.jsx)(`span`,{className:`pulse-tag`,children:ut})]}),(0,w.jsxs)(`div`,{className:`sigil-meta-block`,children:[(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`☤KAI:`}),`\xA0`,k,(0,w.jsx)(`button`,{className:`copy-btn`,onClick:()=>Q(Et),children:`💠`})]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Kairos/Date:`}),`\xA0`,kt,` `,k,(0,w.jsx)(`button`,{className:`copy-btn`,onClick:()=>Q(kt),children:`💠`})]}),P&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Seal:`}),`\xA0`,Gt,(0,w.jsx)(`button`,{className:`copy-btn`,onClick:()=>Q(Gt),children:`💠`})]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Day:`}),` `,Ht]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Month:`}),` `,Ut]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Arc:`}),` `,At]}),(0,w.jsxs)(`p`,{children:[(0,w.jsx)(`strong`,{children:`Kai-Turah:`}),`\xA0`,Wt,(0,w.jsx)(`button`,{className:`copy-btn`,onClick:()=>Q(Wt),children:`💠`})]})]})]}),P&&(0,w.jsxs)(`details`,{className:`rich-data`,open:it,onToggle:e=>at(e.currentTarget.open),children:[(0,w.jsx)(`summary`,{children:`Memory`}),(0,w.jsxs)(`div`,{className:`rich-grid`,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`pulseExact`}),(0,w.jsx)(`span`,{children:k.toString()})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`kaiPulseEternal`}),(0,w.jsx)(`span`,{children:(Kt??0).toLocaleString()})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`kaiPulseToday`}),(0,w.jsx)(`span`,{children:qt??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraStepString`}),(0,w.jsx)(`span`,{children:Tt??``})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraStep.stepIndex`}),(0,w.jsx)(`span`,{children:Xt??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraStep.percentIntoStep`}),(0,w.jsxs)(`span`,{children:[((Zt??0)*100).toFixed(2),`%`]})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraBeat.beatIndex`}),(0,w.jsx)(`span`,{children:Qt??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`chakraBeat.pulsesIntoBeat`}),(0,w.jsx)(`span`,{children:$t??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`weekIndex`}),(0,w.jsx)(`span`,{children:en??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`weekName`}),(0,w.jsx)(`span`,{children:tn})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`dayOfMonth`}),(0,w.jsx)(`span`,{children:Dt??0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`eternalMonthIndex`}),(0,w.jsx)(`span`,{children:typeof Z==`number`?Z+1:0})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`harmonicWeekProgress.percent`}),(0,w.jsxs)(`span`,{children:[((nn??0)*100).toFixed(2),`%`]})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`eternalMonthProgress.percent`}),(0,w.jsxs)(`span`,{children:[((rn??0)*100).toFixed(2),`%`]})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`harmonicYearProgress.percent`}),(0,w.jsxs)(`span`,{children:[((an??0)*100).toFixed(2),`%`]})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`code`,{children:`phiSpiralLevel`}),(0,w.jsx)(`span`,{children:on??0})]}),(0,w.jsxs)(`div`,{className:`span-2`,children:[(0,w.jsx)(`code`,{children:`kaiMomentSummary`}),(0,w.jsx)(`span`,{children:sn})]}),(0,w.jsxs)(`div`,{className:`span-2`,children:[(0,w.jsx)(`code`,{children:`compressed_summary`}),(0,w.jsx)(`span`,{children:cn})]}),(0,w.jsxs)(`div`,{className:`span-2`,children:[(0,w.jsx)(`code`,{children:`eternalSeal`}),(0,w.jsx)(`span`,{className:`truncate`,children:Gt})]})]}),(0,w.jsx)(`div`,{className:`rich-actions`,children:(0,w.jsx)(`button`,{onClick:()=>Mt(P),children:`Remember JSON`})})]}),(0,w.jsx)(`div`,{className:`modal-bottom-spacer`,"aria-hidden":`true`}),(0,w.jsx)(`div`,{className:`mint-dock`,children:(0,w.jsxs)(`button`,{className:`mint-btn`,type:`button`,"aria-label":`Mint this moment`,title:`Mint this moment`,onClick:Rt,children:[(0,w.jsx)(`span`,{className:`mint-btn__icon`,"aria-hidden":`true`,children:L?(0,w.jsx)(`img`,{src:`/assets/seal.svg`,alt:``,loading:`eager`,decoding:`async`,onError:()=>R(!1)}):(0,w.jsx)(Qe,{})}),(0,w.jsxs)(`span`,{className:`mint-btn__text`,children:[(0,w.jsx)(`span`,{className:`mint-btn__title`,children:`MINT ΦKey`}),(0,w.jsxs)(`span`,{className:`mint-btn__sub`,children:[`☤KAI `,ut]})]})]})})]})}),(0,w.jsx)(S,{open:Te,url:B,hash:Pe,onClose:Vt,onDownloadZip:zt})]}),document.body)};export{rt as t}; \ No newline at end of file diff --git a/dist/assets/SigilModal-DEPen6Uw.js b/dist/assets/SigilModal-DEPen6Uw.js deleted file mode 100644 index cb623f2c7..000000000 --- a/dist/assets/SigilModal-DEPen6Uw.js +++ /dev/null @@ -1 +0,0 @@ -import{t as e}from"./SigilModal-DkjYmacD.js";import"./SealMomentModal-BVedI60g.js";import"./webauthnKAS-B61nfyUR.js";export{e as default}; \ No newline at end of file diff --git a/dist/assets/SigilModal-DnJ8Y8Mq.js b/dist/assets/SigilModal-DnJ8Y8Mq.js new file mode 100644 index 000000000..66305d685 --- /dev/null +++ b/dist/assets/SigilModal-DnJ8Y8Mq.js @@ -0,0 +1 @@ +import{t as e}from"./SigilModal-CU8VoqOO.js";import"./SealMomentModal-CAermFFO.js";import"./webauthnKAS-C2GwAz2K.js";export{e as default}; \ No newline at end of file diff --git a/dist/assets/SigilPage-BK8fLCo-.js b/dist/assets/SigilPage-CINg07ju.js similarity index 99% rename from dist/assets/SigilPage-BK8fLCo-.js rename to dist/assets/SigilPage-CINg07ju.js index e986e8eba..6340da5ea 100644 --- a/dist/assets/SigilPage-BK8fLCo-.js +++ b/dist/assets/SigilPage-CINg07ju.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/html2canvas-DiG5OXYu.js","assets/html2canvas-DWAcWtwz.js","assets/index-BRD6BMdN.js","assets/index-BgUnq8XG.css","assets/svgMeta-1m20rAPZ.js","assets/svgMeta-rwIurst6.js"])))=>i.map(i=>d[i]); -import{$ as e,B as t,Bn as n,F as r,G as i,Gr as a,Gt as o,J as s,Kn as c,Kt as l,L as u,R as d,St as f,W as p,Wt as m,X as h,ai as g,bt as _,ci as v,di as y,fi as b,gi as x,li as S,mi as C,oi as w,pi as T,q as E,qn as D,rt as O,si as k,tt as A,ui as j,vi as M,vt as N,xt as P,yi as F,yt as I,zn as ee,zr as te}from"./index-BRD6BMdN.js";import{t as L}from"./html2canvas-DWAcWtwz.js";import{t as R}from"./SealMomentModal-BVedI60g.js";import{t as ne}from"./browser-CcokOQRV.js";import{t as re}from"./useFastPress-t9lA3gjI.js";import{a as z,d as B,f as ie,i as ae,n as oe,p as se,r as ce,s as V,t as H,u as U}from"./svgMeta-rwIurst6.js";import{n as le,t as W}from"./useValuation-CfYM8VCs.js";var ue=F(L(),1),G=F(y(),1),K=F(T(),1),q=F(l(),1);function de(e){(0,K.useEffect)(()=>{let e=`sigilheader-authbadgefx-v3`;if(document.getElementById(e))return;let t=document.createElement(`style`);t.id=e,t.textContent=` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/html2canvas-DAnQay-S.js","assets/html2canvas-gNJ890bS.js","assets/index-DW_ZnoNU.js","assets/index-DIbPwWUC.css","assets/svgMeta-CaCIL9_A.js","assets/svgMeta-Dds4Cqaw.js"])))=>i.map(i=>d[i]); +import{$ as e,B as t,Bn as n,F as r,G as i,Gr as a,Gt as o,J as s,Kn as c,Kt as l,L as u,R as d,St as f,W as p,Wt as m,X as h,ai as g,bt as _,ci as v,di as y,fi as b,gi as x,li as S,mi as C,oi as w,pi as T,q as E,qn as D,rt as O,si as k,tt as A,ui as j,vi as M,vt as N,xt as P,yi as F,yt as I,zn as ee,zr as te}from"./index-DW_ZnoNU.js";import{t as L}from"./html2canvas-gNJ890bS.js";import{t as R}from"./SealMomentModal-CAermFFO.js";import{t as ne}from"./browser-CIIQI5ZG.js";import{t as re}from"./useFastPress-DEvKYh7Z.js";import{a as z,d as B,f as ie,i as ae,n as oe,p as se,r as ce,s as V,t as H,u as U}from"./svgMeta-Dds4Cqaw.js";import{n as le,t as W}from"./useValuation-fd_rJFJ5.js";var ue=F(L(),1),G=F(y(),1),K=F(T(),1),q=F(l(),1);function de(e){(0,K.useEffect)(()=>{let e=`sigilheader-authbadgefx-v3`;if(document.getElementById(e))return;let t=document.createElement(`style`);t.id=e,t.textContent=` /* Shared tokens; Chakra accent flows from page */ .sp-header .auth-badge, .sp-header .link-badge { @@ -4717,4 +4717,4 @@ Error generating stack: `+e.message+` mix-blend-mode: normal !important; isolation: isolate !important; } - `});return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`title`,{children:j}),(0,q.jsx)(`desc`,{children:`Chakra-tinted QR with ~50% module opacity and contrast-preserving veil. Sacred seal sits outside the quiet zone.`}),me,he,_e,ve,be,xe,Se,ge,Te,Ee,(0,q.jsx)(`g`,{className:`qr-mod-layer`,shapeRendering:`crispEdges`,style:{mixBlendMode:`normal`,isolation:`isolate`},children:U}),(0,q.jsx)(`rect`,{x:H.x,y:H.y,width:H.s,height:H.s,fill:`transparent`,pointerEvents:`auto`,onClick:()=>j&&window.open(j,`_blank`)})]})},[j,n,r,a,o,l,u,d,f,p,m,g,_,v,y,b,x,S,C,w,T,E,e]);if(!M)return null;if(D===`group`){let t=k??O/2,r=A??O/2,i=t-n/2,a=r-n/2;return(0,q.jsx)(`g`,{id:`${e}-group`,transform:`translate(${i},${a})`,style:{cursor:`pointer`},"aria-label":`Scannable QR code (Atlantean, chakra-tinted, sealed)`,"data-qr-url":j||``,children:M})}return(0,q.jsx)(`svg`,{id:`${e}-svg`,xmlns:`http://www.w3.org/2000/svg`,width:n,height:n,viewBox:`0 0 ${n} ${n}`,shapeRendering:`crispEdges`,style:{background:`none`,cursor:`pointer`},"aria-label":`Scannable QR code (Atlantean, chakra-tinted, sealed)`,"data-qr-url":j||``,onClick:()=>j&&window.open(j,`_blank`),children:M})}var fw=F(ne(),1);const pw=1024,mw=2048,hw=1200;function gw(e,t){let n=e.querySelector(`defs`);n||(n=e.ownerDocument.createElementNS(H.SVG_NS,`defs`),e.insertBefore(n,e.firstChild));let r=`ep-neon-glow`;if(!e.querySelector(`#${r}`)){let t=e.ownerDocument.createElementNS(H.SVG_NS,`filter`);t.setAttribute(`id`,r),t.setAttribute(`x`,`-50%`),t.setAttribute(`y`,`-50%`),t.setAttribute(`width`,`200%`),t.setAttribute(`height`,`200%`);let i=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);i.setAttribute(`stdDeviation`,`3`),i.setAttribute(`result`,`b1`);let a=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);a.setAttribute(`in`,`SourceGraphic`),a.setAttribute(`stdDeviation`,`1.2`),a.setAttribute(`result`,`b2`);let o=e.ownerDocument.createElementNS(H.SVG_NS,`feMerge`),s=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);s.setAttribute(`in`,`b1`);let c=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);c.setAttribute(`in`,`b2`);let l=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);l.setAttribute(`in`,`SourceGraphic`),o.appendChild(s),o.appendChild(c),o.appendChild(l),t.appendChild(i),t.appendChild(a),t.appendChild(o),n.appendChild(t)}let i=`ep-gloss-gradient`;if(!e.querySelector(`#${i}`)){let t=e.ownerDocument.createElementNS(H.SVG_NS,`linearGradient`);t.setAttribute(`id`,i),t.setAttribute(`x1`,`0`),t.setAttribute(`y1`,`0`),t.setAttribute(`x2`,`0`),t.setAttribute(`y2`,`1`);let r=e.ownerDocument.createElementNS(H.SVG_NS,`stop`);r.setAttribute(`offset`,`0%`),r.setAttribute(`stop-color`,`rgba(255,255,255,0.15)`);let a=e.ownerDocument.createElementNS(H.SVG_NS,`stop`);a.setAttribute(`offset`,`100%`),a.setAttribute(`stop-color`,`rgba(255,255,255,0.05)`),t.appendChild(r),t.appendChild(a),n.appendChild(t)}let a=`ep-bar-outer-glow`;if(!e.querySelector(`#${a}`)){let r=e.ownerDocument.createElementNS(H.SVG_NS,`filter`);r.setAttribute(`id`,a),r.setAttribute(`x`,`-50%`),r.setAttribute(`y`,`-50%`),r.setAttribute(`width`,`200%`),r.setAttribute(`height`,`200%`);let i=e.ownerDocument.createElementNS(H.SVG_NS,`feFlood`);i.setAttribute(`flood-color`,t),i.setAttribute(`flood-opacity`,`0.5`),i.setAttribute(`result`,`c`);let o=e.ownerDocument.createElementNS(H.SVG_NS,`feComposite`);o.setAttribute(`in`,`c`),o.setAttribute(`in2`,`SourceAlpha`),o.setAttribute(`operator`,`in`),o.setAttribute(`result`,`glow`);let s=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);s.setAttribute(`in`,`glow`),s.setAttribute(`stdDeviation`,`4`),s.setAttribute(`result`,`blurGlow`);let c=e.ownerDocument.createElementNS(H.SVG_NS,`feMerge`),l=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);l.setAttribute(`in`,`blurGlow`);let u=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);u.setAttribute(`in`,`SourceGraphic`),c.appendChild(l),c.appendChild(u),r.appendChild(i),r.appendChild(o),r.appendChild(s),r.appendChild(c),n.appendChild(r)}return{neonId:`ep-neon-glow`,glossId:`ep-gloss-gradient`,barGlowId:`ep-bar-outer-glow`}}async function _w(e,t){let{accent:n,qrUrl:r}=t,i=(e.getAttribute(`viewBox`)||`0 0 ${e.getAttribute(`width`)||1024} ${e.getAttribute(`height`)||1024}`).trim().split(/\s+/).map(Number),a=i[0]||0,o=i[1]||0,s=i[2]||1024,c=i[3]||1024,l=e.ownerDocument.createElementNS(H.SVG_NS,`g`);l.setAttribute(`data-export-qr`,`1`);let u=Math.min(s,c),d=Math.max(u*.035,18),f=Math.max(u*.1,96),p=await fw.toDataURL(r,{margin:0,color:{dark:n,light:`#00000000`},scale:8}),m=e.ownerDocument.createElementNS(H.SVG_NS,`image`);m.setAttributeNS(H.XLINK_NS,`xlink:href`,p),m.setAttribute(`href`,p),m.setAttribute(`x`,String(a+d)),m.setAttribute(`y`,String(o+c-f-d)),m.setAttribute(`width`,String(f)),m.setAttribute(`height`,String(f)),m.setAttribute(`preserveAspectRatio`,`xMidYMid meet`),l.appendChild(m),e.appendChild(l)}async function vw(e,t=pw,n){let r=e.cloneNode(!0);if(ae(r,t),z(r),ce(r,n?.title||`Kairos Sigil-Glyph — Sealed Kairos Moment`,n?.desc||`Deterministic sigil-glyph with sovereign metadata.`),n?.metaOverride){let e=oe(r);e.textContent=JSON.stringify(n.metaOverride)}if(r.querySelectorAll(`[data-export-qr="1"],[data-export-pulsebar="1"]`).forEach(e=>e.parentNode?.removeChild(e)),n?.addQR&&await _w(r,n.addQR),n?.addPulseBar){let{accent:e,pulseNumber:i}=n.addPulseBar,{barGlowId:a,neonId:o,glossId:s}=gw(r,e),c=(r.getAttribute(`viewBox`)||`0 0 ${t} ${t}`).split(/\s+/).map(Number),[l,u,d,f]=[c[0]||0,c[1]||0,c[2]||t,c[3]||t],p=r.ownerDocument.createElementNS(H.SVG_NS,`g`);p.setAttribute(`data-export-pulsebar`,`1`);let m=Math.min(d,f),h=Math.max(m*.035,18),g=Math.max(m*.34,320),_=Math.max(m*.085,96),v=Math.max(_*.22,18),y=l+d-g-h,b=u+f-_-h,x=r.ownerDocument.createElementNS(H.SVG_NS,`rect`);x.setAttribute(`x`,String(y)),x.setAttribute(`y`,String(b)),x.setAttribute(`rx`,String(v)),x.setAttribute(`ry`,String(v)),x.setAttribute(`width`,String(g)),x.setAttribute(`height`,String(_)),x.setAttribute(`fill`,`url(#${s})`),x.setAttribute(`stroke`,`rgba(255,255,255,0.16)`),x.setAttribute(`stroke-width`,String(Math.max(1.5,m*.0018))),x.setAttribute(`filter`,`url(#${a})`),p.appendChild(x);let S=r.ownerDocument.createElementNS(H.SVG_NS,`text`);S.setAttribute(`x`,String(y+g/2)),S.setAttribute(`y`,String(b+_/2+Math.max(6,_*.06))),S.setAttribute(`text-anchor`,`middle`),S.setAttribute(`dominant-baseline`,`middle`),S.setAttribute(`fill`,e),S.setAttribute(`filter`,`url(#${o})`),S.setAttribute(`font-weight`,`900`),S.setAttribute(`font-family`,`Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial`),S.setAttribute(`font-size`,String(Math.floor(_*.46))),S.textContent=i.toLocaleString(),p.appendChild(S),r.appendChild(p)}let i=new XMLSerializer().serializeToString(r),a=i.startsWith(`\n${i}`;return new Blob([a],{type:`image/svg+xml;charset=utf-8`})}async function yw(e,t=pw){let n=URL.createObjectURL(e);try{let e=new Image;await new Promise((t,r)=>{e.onload=()=>t(),e.onerror=r,e.src=n});let r=document.createElement(`canvas`);r.width=t,r.height=t;let i=r.getContext(`2d`);if(!i)throw Error(`Canvas unsupported`);return i.drawImage(e,0,0,t,t),await new Promise((e,t)=>r.toBlob(n=>n?e(n):t(Error(`PNG encode failed`)),`image/png`))}finally{URL.revokeObjectURL(n)}}const bw=`sigil-debits-v1`,xw=(e,t)=>t?`sigil:debits:${e}:t:${t}`:`sigil:debits:${e}`,Sw=(e,t)=>e===xw(t)||e.startsWith(`${xw(t)}:t:`),Cw=(e,t)=>{let n=`sigil:debits:${t}`;if(e===n)return null;let r=`${n}:t:`;return e.startsWith(r)?e.slice(r.length):void 0};function ww(e){let t=new TextEncoder().encode(e),n=``;for(let e=0;e0&&typeof t.recipientPhiKey==`string`&&t.recipientPhiKey.length>0&&typeof t.amount==`number`&&Number.isFinite(t.amount)&&t.amount>0&&typeof t.timestamp==`number`&&Number.isFinite(t.timestamp)}function Ow(e){if(!e)return null;try{let t=JSON.parse(Tw(e));if(typeof t!=`object`||!t)return null;let n={},r=t;if(typeof r.originalAmount==`number`&&Number.isFinite(r.originalAmount)&&(n.originalAmount=r.originalAmount),Array.isArray(r.debits)){let e=[];for(let t of r.debits)Dw(t)&&e.push(t);e.length&&(n.debits=e)}return n}catch{return null}}function kw(e,t){try{let n=new URL(window.location.href),r=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount),i=Array.isArray(e.debits)&&e.debits.length>0;!r&&!i?n.searchParams.delete(`d`):n.searchParams.set(`d`,Ew(e));let a=`${n.pathname}${n.search}${n.hash}`;t?.navigate?window.location.replace(a):window.history.replaceState(null,``,a)}catch{}}function Aw(e,t){let n=(e||``).toLowerCase();if(!n)return null;try{let e=t?localStorage.getItem(xw(n,t)):null;if(e)return Ow(e);let r=localStorage.getItem(xw(n));return r?Ow(r):null}catch{return null}}function jw(e,t,n){let r=(e||``).toLowerCase();if(r)try{localStorage.setItem(xw(r,n),Ew(t))}catch{}}function Mw(e){let t=new Set,n=[];for(let r of e)!r||typeof r.nonce!=`string`||t.has(r.nonce)||(t.add(r.nonce),n.push(r));return n.sort((e,t)=>(e.timestamp||0)-(t.timestamp||0))}function Nw(e,t){let n={},r=typeof e?.originalAmount==`number`?e.originalAmount:void 0,i=typeof t?.originalAmount==`number`?t.originalAmount:void 0;n.originalAmount=typeof r==`number`?r:typeof i==`number`?i:void 0;let a=Array.isArray(e?.debits)?e.debits:[],o=Array.isArray(t?.debits)?t.debits:[],s=Mw([...a,...o]);return s.length&&(n.debits=s),n}function Pw(e,t){let n=typeof e?.originalAmount==`number`&&Number.isFinite(e.originalAmount)?Number(e.originalAmount):NaN,r=typeof t?.originalAmount==`number`&&Number.isFinite(t.originalAmount)?Number(t.originalAmount):NaN,i=Number.isNaN(n)&&Number.isNaN(r)||Math.abs(n-r)<1e-12,a=new Set((Array.isArray(e?.debits)?e.debits:[]).map(e=>e?.nonce)),o=new Set((Array.isArray(t?.debits)?t.debits:[]).map(e=>e?.nonce));if(!i||a.size!==o.size)return!1;for(let e of a)if(!o.has(e))return!1;return!0}function Fw(e,t,n,r){kw(e,{navigate:!!r?.navigate});let i=(t||``).toLowerCase();if(i&&(jw(i,e,n??null),r?.broadcast!==!1))try{let t=new BroadcastChannel(bw),r={type:`debits`,canonical:i,qs:Ew(e),stamp:Date.now(),token:n??null};t.postMessage(r),t.close()}catch{}}function Iw(e,t,n){let r=Ow(t.get(`d`)),i=Nw(n?Aw(e,n):Aw(e,null),r);return{merged:i,urlIsStale:!Pw(i,r)}}function Lw(e){try{let t=new URL(e,window.location.origin).pathname.match(/\/s\/([0-9a-fA-F]+)/);return t?t[1].toLowerCase():null}catch{return null}}function Rw(e){if(typeof e==`string`)switch(e.trim().toLowerCase().replace(/\s+/g,` `)){case`root`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solarplexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`thirdeye`:return`Third Eye`;case`crown`:return`Crown`;default:return}}function zw(e){return e===`breaths`||e===`steps`?e:void 0}var Bw=e=>!!e&&typeof e==`object`,Vw=e=>{if(!Bw(e))return!1;let t=`u`in e&&`b`in e,n=`d`in e;return t||n},Hw=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,Uw=e=>typeof e==`string`&&e.trim()?e:void 0;function Ww(e){if(!e)return{};try{let t=String(e).trim(),n=!1;/^c:/i.test(t)&&(t=t.slice(2),n=!0);let r=JSON.parse(Tw(t));if(n||Vw(r)){let e=r,t={},n=Hw(e.u),i=Hw(e.b),a=Hw(e.d),o=Hw(e.s),s=Rw(e.c);return n!==void 0&&(t.pulse=n),i!==void 0&&(t.beat=i),a!==void 0&&(t.stepsPerBeat=a),o!==void 0&&(t.stepIndex=o),s!==void 0&&(t.chakraDay=s),t}if(Bw(r)){let e=r,t={},n=Hw(e.pulse),i=Hw(e.beat),a=Hw(e.stepsPerBeat),o=Hw(e.stepIndex),s=Rw(e.chakraDay),c=Uw(e.canonicalHash),l=Uw(e.kaiSignature),u=Uw(e.userPhiKey),d=Uw(e.transferNonce),f=Hw(e.expiresAtPulse),p=zw(e.claimExtendUnit),m=Hw(e.claimExtendAmount);return n!==void 0&&(t.pulse=n),i!==void 0&&(t.beat=i),a!==void 0&&(t.stepsPerBeat=a),o!==void 0&&(t.stepIndex=o),s!==void 0&&(t.chakraDay=s),c!==void 0&&(t.canonicalHash=c.toLowerCase()),l!==void 0&&(t.kaiSignature=l),u!==void 0&&(t.userPhiKey=u),d!==void 0&&(t.transferNonce=d),f!==void 0&&(t.expiresAtPulse=f),p!==void 0&&(t.claimExtendUnit=p),m!==void 0&&(t.claimExtendAmount=m),Array.isArray(e.lineage)&&(t.lineage=e.lineage),t}return{}}catch{return{}}}function Gw(e,n){let r={...e};typeof n.expiresAtPulse==`number`&&(r.expiresAtPulse=n.expiresAtPulse),n.claimExtendUnit!=null&&(r.claimExtendUnit=n.claimExtendUnit),typeof n.claimExtendAmount==`number`&&(r.claimExtendAmount=n.claimExtendAmount),typeof n.pulse==`number`&&(r.pulse=n.pulse),typeof n.beat==`number`&&(r.beat=n.beat),typeof n.stepsPerBeat==`number`&&(r.stepsPerBeat=n.stepsPerBeat),n.chakraDay!==void 0&&(r.chakraDay=n.chakraDay),n.canonicalHash&&(r.canonicalHash=String(n.canonicalHash).toLowerCase()),n.kaiSignature&&(r.kaiSignature=n.kaiSignature),n.userPhiKey&&(r.userPhiKey=n.userPhiKey),n.transferNonce&&(r.transferNonce=n.transferNonce),Array.isArray(n.lineage)&&(r.lineage=n.lineage);let i=typeof r.stepsPerBeat==`number`&&Number.isFinite(r.stepsPerBeat)?r.stepsPerBeat:t,a=Hw(n?.stepIndex),o=Hw(r.stepIndex);return a===void 0?o===void 0?typeof r.pulse==`number`&&Number.isFinite(r.pulse)&&(r.stepIndex=A(r.pulse,i)):r.stepIndex=o:r.stepIndex=a,r}function Kw(e,t){try{let n=new URL(e,window.location.origin),r=Gw(Ww(n.searchParams.get(`p`)),t);return r.canonicalHash&&=String(r.canonicalHash).toLowerCase(),n.searchParams.set(`p`,ww(JSON.stringify(r))),n.toString()}catch{return e}}function qw(e,t,n){let r=[e?.canonicalHash,t,n?.matchedHash];for(let e of r)if(typeof e==`string`&&e.trim())return e.toLowerCase();return null}function Jw(e,t){return typeof e==`string`&&e.trim()?e:typeof t?.transferNonce==`string`&&t.transferNonce.trim()?t.transferNonce:null}async function Yw(e){let{stageEl:t,payload:n,localHash:r,routeHash:i,qr:a,onToast:o}=e;if(!t)return o(`No stage found`);try{await new Promise(e=>requestAnimationFrame(()=>e()));let e=(await S(async()=>{let{default:e}=await import(`./html2canvas-DiG5OXYu.js`).then(M(1));return{default:e}},__vite__mapDeps([0,1,2,3]))).default,c=await e(t,{backgroundColor:null}),l=document.createElement(`canvas`);l.width=mw,l.height=mw;let u=l.getContext(`2d`);if(!u)throw Error(`No canvas context`);u.clearRect(0,0,l.width,l.height);let d=Math.floor(mw*.06),f=mw-d*2,p=mw-d*2,m=c.width,h=c.height,g=Math.min(f/m,p/h),_=Math.floor(m*g),v=Math.floor(h*g),y=Math.floor((mw-_)/2),b=Math.floor((mw-v)/2);u.drawImage(c,y,b,_,v);let x=n?.chakraDay??`Throat`,C=cC[x]?.accent||`#00FFD0`,w=TC(x,typeof n?.stepPct==`number`?n.stepPct:n?n.pulse%11/11:0,r||void 0),T=Math.max(mw*.33,720),E=Math.max(mw*.08,160),D=Math.max(E*.24,30),O=mw-T-d,k=mw-E-d;u.save(),u.shadowColor=C,u.shadowBlur=Math.max(18,Math.floor(mw*.012));let A=u.createLinearGradient(0,k,0,k+E);A.addColorStop(0,`rgba(255,255,255,0.16)`),A.addColorStop(1,`rgba(255,255,255,0.05)`),s(u,O,k,T,E,D),u.fillStyle=A,u.fill(),u.shadowBlur=0,u.lineWidth=Math.max(2,Math.floor(mw*.0016)),u.strokeStyle=`rgba(255,255,255,0.18)`,u.stroke();let j=(n?.pulse??0).toLocaleString();u.textBaseline=`alphabetic`,u.fillStyle=w,u.font=`900 ${Math.floor(E*.48)}px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial`,u.shadowColor=w,u.shadowBlur=Math.max(16,Math.floor(mw*.008));let N=u.measureText(j).width,P=Math.floor(O+T/2-N/2),F=Math.floor(k+E/2+E*.18);u.fillText(j,P,F),u.restore();let I=Math.floor(mw*.32),ee=Math.floor((mw-I)/2),te=Math.floor((mw-I)/2),L=Xw({provided:a.url,payload:n,localHash:r,routeHash:i}),R=(0,RC.renderToStaticMarkup)((0,q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1000 1000`,children:(0,q.jsx)(dw,{uid:a.uid,url:L,size:800,phaseHue:a.hue,phaseColor:a.accent,animate:!1,pulseMs:5236})})),ne=new Blob([R],{type:`image/svg+xml;charset=utf-8`}),re=URL.createObjectURL(ne);await new Promise((e,t)=>{let n=new Image;n.onload=()=>{try{u.drawImage(n,ee,te,I,I)}finally{URL.revokeObjectURL(re),e()}},n.onerror=e=>{URL.revokeObjectURL(re),t(e)},n.src=re});let z=await new Promise((e,t)=>{l.toBlob(n=>{if(!n){t(Error(`No PNG blob created`));return}e(n)},`image/png`)}),B=URL.createObjectURL(z),ie=document.createElement(`a`);ie.href=B,ie.download=`sigil_poster_${(r||i||`mint`).slice(0,16)}.png`,document.body.appendChild(ie),ie.click(),ie.remove(),requestAnimationFrame(()=>URL.revokeObjectURL(B)),o(`Public key PNG saved`)}catch(e){console.error(e),o(`Poster export failed`)}function s(e,t,n,r,i,a){e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath()}}function Xw(e){let{provided:t,payload:n,localHash:r,routeHash:i}=e,a=t&&Zw(t)?t:(typeof window<`u`?window.location.href:``)||``;if(!n)return a;try{let e=(n.canonicalHash||r||i||``).toLowerCase();if(!e)return a;let t=new URL(a,typeof window<`u`?window.location.origin:`https://local.test`);t.pathname=`/s/${e}`;let o=n.transferNonce||t.searchParams.get(`t`);o&&t.searchParams.set(`t`,o);let s=`${t.pathname}${t.search}${t.hash}`;return Kw(s,n)||s}catch{return a}}function Zw(e){try{let t=new URL(e,typeof window<`u`?window.location.origin:`https://local.test`);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function Qw(e){let t=JSON.stringify(e);return btoa(unescape(encodeURIComponent(t))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function $w(e,t,n){let r=new URL(e,typeof window<`u`?window.location.origin:`http://localhost`);return r.searchParams.set(`p`,Qw(t)),n&&r.searchParams.set(`t`,n),r.toString()}function eT(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[`+e.map(eT).join(`,`)+`]`;let t=e;return`{`+Object.keys(t).sort().map(e=>JSON.stringify(e)+`:`+eT(t[e])).join(`,`)+`}`}function tT(e){switch(String(e??``).trim().toLowerCase()){case`root`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solar_plexus`:case`solar-plexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`third_eye`:case`third-eye`:return`Third Eye`;case`crown`:return`Crown`;default:return`Root`}}function nT(e,t){let n={pulse:e.pulse,beat:e.beat,chakraDay:tT(e.chakraDay),stepsPerBeat:e.stepsPerBeat??void 0,stepIndex:t,userPhiKey:e.userPhiKey??void 0,kaiSignature:e.kaiSignature??void 0,canonicalHash:e.canonicalHash??void 0,transferNonce:e.transferNonce??void 0,expiresAtPulse:e.expiresAtPulse??void 0,claimExtendUnit:e.claimExtendUnit??void 0,claimExtendAmount:e.claimExtendAmount??void 0,attachment:e.attachment??void 0,provenance:e.provenance??void 0};return Object.keys(n).forEach(e=>{n[e]===void 0&&delete n[e]}),n}function rT(e){return{pulse:e.pulse,beat:e.beat,stepIndex:e.stepIndex,chakraDay:tT(e.chakraDay),stepsPerBeat:e.stepsPerBeat??void 0,userPhiKey:e.userPhiKey??void 0,kaiSignature:e.kaiSignature??void 0}}function iT(e,t){e.setAttribute(`data-share-url`,t),e.querySelectorAll(`a`).forEach(e=>{e.setAttribute(`href`,t);try{e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,t)}catch{}});let n=/\bu=([^·\n\r]+?)(?=\s*·|$)/;e.querySelectorAll(`text`).forEach(e=>{let r=e.textContent||``;n.test(r)&&(e.textContent=r.replace(n,`u=${t}`))})}async function aT(e){let{expired:t,exporting:n,setExporting:r,svgEl:i,payload:a,isFutureSealed:o,linkStatus:s,setToast:c,expiryUnit:l,expiryAmount:u,localHash:d,routeHash:p,transferToken:m,getKaiPulseEternalInt:h,stepIndexFromPulse:g,STEPS_PER_BEAT:v}=e;if(t)return vC(c,`Seal window closed`);if(!n){if(!i)return vC(c,`No SVG found`);if(!a)return vC(c,`No payload`);if(o)return vC(c,`Opens after the moment—claim unlocks then`);if(s!==`active`)return vC(c,`Archived link — cannot claim from here`);try{r(!0);let e=`sigil_${(d||p||`mint`).slice(0,16)}`,t=a.stepsPerBeat??v,n=g(a.pulse,t),o=h(new Date),s=g(o,t),y=nT(a,n),b={...tC(a.userPhiKey||``,a.kaiSignature??void 0,y,`claim`,a.attachment?.name??void 0,o),stepIndex:n,atStepIndex:s},x={...a,exportedAtPulse:o,stepIndex:n,stepsPerBeat:t,provenance:[...a.provenance??[],b],claimExtendUnit:a.claimExtendUnit??l,claimExtendAmount:a.claimExtendAmount??u,canonicalHash:(d||a.canonicalHash||p||null)?.toString()??null},C=await P(f(x.pulse,x.beat,n,String(x.chakraDay??``),_(nT(x,n)))),w=await I(C),T={...x,kaiSignature:C,userPhiKey:x.userPhiKey||w},E=(d||p||``).toLowerCase(),O=rT({pulse:T.pulse,beat:T.beat,stepIndex:n,chakraDay:T.chakraDay??null,stepsPerBeat:t,userPhiKey:T.userPhiKey??null,kaiSignature:T.kaiSignature??null}),k=$w(D(E,O),O,T.transferNonce??m??void 0),{putMetadata:A}=await S(async()=>{let{putMetadata:e}=await import(`./svgMeta-1m20rAPZ.js`);return{putMetadata:e}},__vite__mapDeps([4,5,2,3])),j={...T,stepsPerBeat:t,shareUrl:k,fullUrl:k};A(i,j);try{i.setAttribute(`data-step-index`,String(n));let e=i.querySelector(`metadata#sigil-display`);e||(e=document.createElementNS(`http://www.w3.org/2000/svg`,`metadata`),e.setAttribute(`id`,`sigil-display`),e.setAttribute(`data-noncanonical`,`1`),i.appendChild(e)),e.textContent=JSON.stringify({stepIndex:n,stepsPerBeat:t})}catch{console.debug(`Display metadata write failed`)}NC(i,T.pulse,T.beat,n),AC(i),iT(i,k);let M=null,N=null;try{let e=new URL(k);M=e.searchParams.get(`p`),N=e.searchParams.get(`t`)}catch{console.debug(`URL parse failed`)}let F=await vw(i,pw,{metaOverride:j,addQR:!1,addPulseBar:!1,title:`Kairos Sigil-Glyph — Sealed KairosMoment`,desc:`Deterministic sigil-glyph with sovereign metadata. Exported as archived key.`}),ee=await yw(F,pw),te=await P(new Uint8Array(await F.arrayBuffer())),L=await P(new Uint8Array(await ee.arrayBuffer())),R=new(await(yC()));R.file(`${e}.svg`,F),R.file(`${e}.png`,ee);let ne={hashAlg:`sha256`,canon:`sorted keys + UTF-8 + no whitespace`,hash:d||p||``,canonicalHash:T.canonicalHash??null,pulse:T.pulse,beat:T.beat,stepIndex:n,atStepIndex:s,chakraDay:T.chakraDay??null,userPhiKey:T.userPhiKey??null,kaiSignature:T.kaiSignature??null,transferNonce:T.transferNonce??null,expiresAtPulse:T.expiresAtPulse??null,exportedAtPulse:T.exportedAtPulse??null,claimedAtPulse:o,overlays:{qr:!1,eternalPulseBar:!1},assets:{[`${e}.svg`]:te,[`${e}.png`]:L},claimExtendUnit:T.claimExtendUnit??null,claimExtendAmount:T.claimExtendAmount??null,fullUrl:k,p:M,urlQuery:{p:M,t:N}},re=await P(eT(ne)),z={...ne,manifestHash:re};R.file(`${e}.manifest.json`,JSON.stringify(z,null,2));let B=await R.generateAsync({type:`blob`}),ie=URL.createObjectURL(B),ae=document.createElement(`a`);ae.href=ie,ae.download=`${e}.zip`,document.body.appendChild(ae),ae.click(),ae.remove(),requestAnimationFrame(()=>URL.revokeObjectURL(ie)),vC(c,`Access key generated`)}catch(e){console.error(e),vC(c,`Claim failed`)}finally{r(!1)}}}function oT(e){let{stageId:t,payload:n,localHash:r,setOgImgUrl:i,setMeta:a,seoTitle:o,seoDesc:s}=e,c=!1,l=null,u=async()=>{let e=document.getElementById(t);if(!e||!n){i(null),a(`property`,`og:image`,``),a(`property`,`og:image:alt`,``),a(`property`,`og:image:width`,``),a(`property`,`og:image:height`,``),a(`name`,`twitter:image`,``);return}try{let t=n.chakraDay??`Throat`,l=cC[t]?.accent||`#00FFD0`,u=n.pulse||0,f=n.stepsPerBeat??44,p=Math.floor(n.pulse%(f*11)/11),m=TC(t,typeof n.stepPct==`number`?n.stepPct:n.pulse%11/11,r||void 0),h=`Pulse ${u.toLocaleString()} • Beat ${n.beat}/36 • Step ${p+1}/${f} • ${t}`,g=await(0,ue.default)(e),_=document.createElement(`canvas`);_.width=hw,_.height=630;let v=_.getContext(`2d`);if(!v)throw Error(`Canvas unsupported`);let y=v.createLinearGradient(0,0,hw,630);y.addColorStop(0,`rgba(0,0,0,0.92)`),y.addColorStop(1,`rgba(0,0,0,0.70)`),v.fillStyle=y,v.fillRect(0,0,hw,630),v.save(),v.globalCompositeOperation=`lighter`;let b=v.createRadialGradient(hw*.8,630*.2,20,hw*.8,630*.2,600);b.addColorStop(0,`${l}CC`),b.addColorStop(1,`rgba(0,0,0,0)`),v.fillStyle=b,v.beginPath(),v.arc(hw*.8,630*.2,600,0,Math.PI*2),v.fill(),v.restore();let x=Math.floor(hw*.52),S=Math.min(x/g.width,558/g.height),C=Math.floor(g.width*S),w=Math.floor(g.height*S),T=36+Math.floor((x-C)/2),E=36+Math.floor((558-w)/2);v.drawImage(g,T,E,C,w);let D=36+x+32,O=hw-D-36;v.fillStyle=`#EAFBFF`,v.font=`700 38px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,v.fillText(`Kairos Sigil-Glyph — Sealed Kairos Moment`,D,94),v.fillStyle=`rgba(255,255,255,0.82)`,v.font=`400 24px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,d(v,`“${o}” — ${s}`,D,136,O,30);let k=`${u.toLocaleString()}`;v.textBaseline=`alphabetic`,v.font=`900 120px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,v.shadowColor=m,v.shadowBlur=20,v.fillStyle=m;let A=v.measureText(k).width,j=D+Math.floor((O-A)/2);v.fillText(k,j,554),v.shadowBlur=0;let M=_.toDataURL(`image/png`);if(c)return;i(M),a(`property`,`og:image`,M),a(`property`,`og:image:alt`,h),a(`property`,`og:image:type`,`image/png`),a(`property`,`og:image:width`,`1200`),a(`property`,`og:image:height`,`630`),a(`name`,`twitter:image`,M)}catch{if(c)return;i(null)}};return l=bC(()=>{c||u()}),()=>{c=!0,l!=null&&xC(l)};function d(e,t,n,r,i,a){let o=t.split(` `),s=``;for(let t=0;ti&&t>0?(e.fillText(s,n,r),s=o[t]+` `,r+=a):s=c}e.fillText(s.trim(),n,r)}}function sT(e){switch(String(e??``).trim().toLowerCase()){case`root`:case`earth`:case`earth gate`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solar_plexus`:case`solar-plexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`third_eye`:case`third-eye`:return`Third Eye`;case`crown`:return`Crown`;default:return`Root`}}function cT(){return crypto.getRandomValues(new Uint32Array(4)).join(``)}function lT(e){let{meta:t,stepIndex:n,stepsPerBeat:r}=e;return{pulse:t.pulse,beat:t.beat,stepIndex:n,chakraDay:sT(t.chakraDay),stepsPerBeat:r,userPhiKey:t.userPhiKey??void 0,kaiSignature:t.kaiSignature??void 0}}function uT(e,t,n){let r=e.stepIndex;return typeof r==`number`&&Number.isFinite(r)&&r>=0&&rJSON.stringify({canonicalHash:e.canonicalHash,token:e.token,expiresAtPulse:e.expiresAtPulse,issuedAt:e.issuedAt,version:e.version},pT),hT=e=>btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``);const gT=e=>hT(new TextEncoder().encode(mT(e)));async function _T(e){try{let t=await fetch(`/api/sign-claim`,{method:`POST`,headers:{"content-type":`text/plain;charset=UTF-8`},body:mT(e)});if(!t.ok)return null;let n=await t.json();return!n||!n.s||!n.kid?null:{r:n.r??gT(e),s:n.s,kid:n.kid}}catch{return null}}function vT(e,t,n,r){e.searchParams.set(`r`,t),e.searchParams.set(`s`,n),e.searchParams.set(`kid`,r)}function yT(e,t,n,r){V(e,{registryClaim:gT(t),registrySig:n,registryKid:r})}function bT(e,t,n){return{canonicalHash:t.toLowerCase(),token:n,expiresAtPulse:e.expiresAtPulse??null,issuedAt:Math.floor(Date.now()/1e3),version:1}}function xT(){if(typeof window>`u`||typeof document>`u`){let e=()=>{},t=()=>{};return{openModal:t,closeModal:t,disable:e,teardown:e,destroy:e}}let e=document,t=e.body,n=[`.sp-breathproof__backdrop`,`.stargate-overlay`,`.valuechart-backdrop`,`.sp-modal`,`.ownership-overlay`],r={".sp-breathproof__backdrop":`.sp-breathproof`,".valuechart-backdrop":`.valuechart`,".ownership-overlay":`.ownership-panel`,".stargate-overlay":`.stargate-content, .stargate-frame, .stargate__content`,".sp-modal":`.sp-modal__content, .sp-modal__card, .sp-card`},i={capture:!0,passive:!1},a={capture:!0},o=0,s=0,c=0,l=``,u=``,d=``,f=``,p=``,m=()=>{o===0&&(s=window.scrollY||e.documentElement.scrollTop||0,c=window.scrollX||e.documentElement.scrollLeft||0,l=t.style.top,u=t.style.left,d=t.style.width,f=t.style.position,p=t.style.overflow,t.style.position=`fixed`,t.style.top=`-${s}px`,t.style.left=`-${c}px`,t.style.width=`100%`,t.style.overflow=`hidden`,t.classList.add(`modal-open`,`bp-open`)),o++},h=()=>{o=Math.max(0,o-1),!(o>0)&&(t.style.position=f,t.style.top=l,t.style.left=u,t.style.width=d,t.style.overflow=p,requestAnimationFrame(()=>{window.scrollTo(c,s)}),t.classList.remove(`modal-open`),t.classList.remove(`bp-open`))},g=e=>{if(!e)return!1;let t=window.getComputedStyle(e);return!(t.display===`none`||t.visibility===`hidden`||e.hasAttribute(`hidden`))},_=()=>{let t=[];return n.forEach(n=>{e.querySelectorAll(n).forEach(e=>{g(e)&&t.push(e)})}),t},v=t=>{if(!t)return null;let r=t;for(;r&&r!==e.documentElement;){for(let e of n)if(r.matches(e))return r;r=r.parentElement}return null},y=(e,t)=>{if(!e||!t)return!1;let i=n.find(t=>e.matches(t))||``,a=i?r[i]:``;return a&&e.querySelector(a)?!t.closest(a):t===e},b=()=>{_().length>0?m():h()},x=e=>{e&&(e.classList.add(`is-open`),e.removeAttribute(`hidden`),b())},S=e=>{e&&(e.classList.remove(`is-open`),e.setAttribute(`hidden`,``),b())},C=e=>{let t=e.target;if(!t)return;let n=t.closest(`.sp-breathproof__close, .stargate-exit, .sp-modal__close, .sealmoment__close, [data-modal-close], [data-dismiss="modal"], button[aria-label="Close"], button[aria-label="close"]`);if(n){let t=v(n);t&&(S(t),e.preventDefault(),e.stopPropagation());return}let r=v(t);if(r&&y(r,t)&&r.getAttribute(`data-backdrop-dismiss`)!==`false`){S(r),e.preventDefault(),e.stopPropagation();return}},w=e=>{if(_().length===0)return;let t=e.target;if(!t)return;let n=t.closest(`[data-scroll], .sp-breathproof, .valuechart, .ownership-panel, .sp-modal__content, .sp-card, .stargate-content`);if(!n){e.preventDefault(),e.stopPropagation();return}if(!(n.scrollHeight>n.clientHeight)){e.preventDefault(),e.stopPropagation();return}},T=e=>{if(e.key!==`Escape`)return;let t=_();if(t.length===0)return;let n=t[t.length-1];n.getAttribute(`data-escape-dismiss`)!==`false`&&(S(n),e.preventDefault(),e.stopPropagation())};e.addEventListener(`click`,C,i),e.addEventListener(`pointerup`,C,i),e.addEventListener(`touchend`,C,i),e.addEventListener(`touchmove`,w,i),e.addEventListener(`keydown`,T,i),b();let E=()=>{e.removeEventListener(`click`,C,a),e.removeEventListener(`pointerup`,C,a),e.removeEventListener(`touchend`,C,a),e.removeEventListener(`touchmove`,w,a),e.removeEventListener(`keydown`,T,a);try{o=1,h()}catch{}};return{openModal:x,closeModal:S,disable:E,teardown:E,destroy:E}}var ST=F(L(),1),CT=1e-9,wT=`sigil-sendlock-v1`,TT=(e,t)=>`sigil:sendlock:${e}:t:${t}`,ET=15e3,DT=()=>Date.now(),OT={"--phi-url":`url(/assets/phi.svg)`},kT=e=>{try{return new URL(e,window.location.origin).toString()}catch{return e}},AT=(e,t)=>{let n=crypto.getRandomValues(new Uint32Array(4)).join(``);if(!e||!t)return{ok:!1,id:n};let r=TT(e.toLowerCase(),t);try{let i=localStorage.getItem(r),a=i?JSON.parse(i):null,o=!a||!Number.isFinite(a.at)||DT()-a.at>ET;if(!a||o){localStorage.setItem(r,JSON.stringify({id:n,at:DT()}));try{let r=new BroadcastChannel(wT),i={type:`lock`,canonical:e.toLowerCase(),token:t,id:n,at:DT()};r.postMessage(i),r.close()}catch{}return{ok:!0,id:n}}}catch{}return{ok:!1,id:n}},jT=(e,t,n)=>{if(!e||!t)return;let r=TT(e.toLowerCase(),t);try{let i=localStorage.getItem(r),a=i?JSON.parse(i):null;if(!a||a.id===n){localStorage.removeItem(r);try{let r=new BroadcastChannel(wT),i={type:`unlock`,canonical:e.toLowerCase(),token:t,id:n,at:DT()};r.postMessage(i),r.close()}catch{}}}catch{}},MT=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.amount==`number`&&Number.isFinite(t.amount)&&t.amount>0&&typeof t.nonce==`string`&&t.nonce.length>0&&typeof t.timestamp==`number`&&Number.isFinite(t.timestamp)&&(typeof t.recipientPhiKey==`string`||t.recipientPhiKey===void 0)},NT=e=>{if(!Array.isArray(e))return 0;let t=0;for(let n of e)MT(n)&&(t+=n.amount);return t},PT=e=>[...e].sort((e,t)=>{let n=(e.timestamp||0)-(t.timestamp||0);return n===0?e.nonce.localeCompare(t.nonce):n}),FT=e=>{let t=new Set,n=[];for(let r of e)MT(r)&&(t.has(r.nonce)||(t.add(r.nonce),n.push(r)));return n},IT=e=>{let t=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount)?e.originalAmount:NaN,n=PT(Array.isArray(e.debits)?FT(e.debits):[]);if(!Number.isFinite(t))return{originalAmount:e.originalAmount,debits:n.length?n:void 0};let r=[],i=0;for(let e of n)MT(e)&&i+e.amount<=t+CT&&(r.push(e),i+=e.amount);return{originalAmount:t,debits:r.length?r:void 0}},LT=e=>e===`breaths`||e===`steps`,RT=`sigil-lineage-v1`,zT=(e,t)=>t?`sigil:desc:${e}:t:${t}`:`sigil:desc:${e}`,BT=`sigil-xfer-v1`,VT=e=>`sigil:rotated:${e}`,HT=(e,t)=>{Array.from(new Set(e.map(e=>e.toLowerCase()).filter(Boolean))).forEach(e=>{try{localStorage.setItem(VT(e),`${t}@${Date.now()}`)}catch{}try{let n=new BroadcastChannel(BT);n.postMessage({type:`rotated`,canonical:e,token:t}),n.close()}catch{}try{window.dispatchEvent(new CustomEvent(`sigil:transfer-rotated`,{detail:{canonical:e,token:t}}))}catch{}})};function UT(e,t){let n=(e||``).toLowerCase();if(!n||!t)return[];try{let e=localStorage.getItem(zT(n,t));if(!e)return[];let r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function WT(e,t,n){let r=(e||``).toLowerCase();if(!(!r||!t))try{localStorage.setItem(zT(r,t),JSON.stringify(n||[]))}catch{}}function GT(e,t,n){try{let r=new BroadcastChannel(RT),i={type:`descendants`,canonical:e.toLowerCase(),token:t,list:n,stamp:Date.now()};r.postMessage(i),r.close()}catch{}}function KT(){let{hash:n}=v(),r=w(),i=k(),a=(n??``).toLowerCase(),s=(0,K.useMemo)(()=>new URLSearchParams(r.search),[r.search]),c=s.get(`t`),[l,d]=(0,K.useState)(`checking`),[h,g]=(0,K.useState)(`checking`),[y,b]=(0,K.useState)(!1),[x,S]=(0,K.useState)(`Awaiting Proof Of Breath™`),[C,T]=(0,K.useState)(``),[j,M]=(0,K.useState)(320),N=(0,K.useRef)(null),{payload:F,setPayload:te,loading:L,setLoading:ne}=hC(r.search),z=F,{pulse:ie,msToNextPulse:ae}=le(),[oe,ce]=(0,K.useState)(null),[H,ue]=(0,K.useState)(null),[pe,me]=(0,K.useState)(!1),[he,ge]=(0,K.useState)(!1),[_e,ve]=(0,K.useState)(``),[ye,be]=(0,K.useState)(``),[xe,Se]=(0,K.useState)(`breaths`),[Ce,we]=(0,K.useState)(44),[J,Te]=(0,K.useState)(``),[Ee,De]=(0,K.useState)(!1),Oe=(0,K.useRef)(``),ke=(0,K.useMemo)(()=>a?`sigil:legacy-upgraded:${a}`:``,[a]),[Ae,Ne]=(0,K.useState)(!1),[Pe,Fe]=(0,K.useState)(!1);(0,K.useEffect)(()=>{if(ke)try{Fe(localStorage.getItem(ke)===`1`)}catch{}},[ke]);let Ie=(0,K.useCallback)(()=>{if(ke){try{localStorage.setItem(ke,`1`)}catch{}Fe(!0),vC(T,`Upgraded — legacy link locked`)}},[ke]),[Le,Re]=(0,K.useState)(!1),[ze,Be]=(0,K.useState)(``),[Ve,He]=(0,K.useState)(``),[Ue,We]=(0,K.useState)(`checking`),[Ge,Ke]=(0,K.useState)(null);(0,K.useEffect)(()=>{let e=Array.from(new Set([z?.canonicalHash,a,J].filter(Boolean).map(e=>e.toLowerCase())));if(e.length===0)return;let t=()=>{let t=null;try{for(let n of e){let e=localStorage.getItem(VT(n)),r=e?String(e).split(`@`)[0]:null;if(r){t=r;break}}}catch{}Ke(t)};t();let n=null;try{n=new BroadcastChannel(BT),n.onmessage=t=>{let n=t.data;if(n?.type===`rotated`){let t=(n.canonical||``).toLowerCase();e.includes(t)&&Ke(n.token||null)}}}catch{}let r=n=>{if(n.key){for(let r of e)if(n.key===VT(r)){t();break}}};return window.addEventListener(`storage`,r,{passive:!0}),()=>{if(window.removeEventListener(`storage`,r),n&&typeof n.close==`function`)try{n.close()}catch{}}},[z?.canonicalHash,a,J]);let qe=(0,K.useCallback)(async(e,t,n,r,i)=>{try{let a=bT(e,t,n),o=await _T(a);if(!o)return r;let s=new URL(r,window.location.origin);return vT(s,o.r,o.s,o.kid),i&&yT(i,a,o.s,o.kid),s.toString()}catch{return r}},[]);(0,K.useEffect)(()=>{let e=null;try{e=new BroadcastChannel(wT),e.onmessage=()=>{}}catch{}return()=>{if(e&&typeof e.close==`function`)try{e.close()}catch{}}},[]),(0,K.useEffect)(()=>{let e=xT();return()=>{e.destroy?.(),e.teardown?.(),e.disable?.()}},[]);let[Je,Ye]=(0,K.useState)(0),[Xe,Ze]=(0,K.useState)(!1),[Qe,$e]=(0,K.useState)(null),et=(0,K.useMemo)(()=>{let e=[z?.canonicalHash,J,oe?.canonicalHash,Qe?.matchedHash].filter(Boolean).map(e=>e.toLowerCase());return Array.from(new Set(e))},[z?.canonicalHash,J,oe?.canonicalHash,Qe]);(0,K.useLayoutEffect)(()=>{PC()},[]),(0,K.useEffect)(()=>{let e=cC[z?.chakraDay??`Throat`]??{hue:180,accent:`#00FFD0`},t=document.querySelector(`.sigilpage`);t&&(t.style.setProperty(`--crystal-hue`,String(e.hue)),t.style.setProperty(`--crystal-accent`,e.accent))},[z?.chakraDay]);let[tt,nt]=(0,K.useState)(null),{valSeal:rt,livePrice:at,priceFlash:ot}=W({payload:z,urlSearchParams:s,currentPulse:ie,routeHash:a}),st=s.get(`h`)??``;(0,K.useEffect)(()=>{if(!st){nt(e=>e===null?e:null);return}try{let e=ee(DC(st.trim()));nt(t=>Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every((t,n)=>t===e[n])?t:e)}catch{nt(e=>e===null?e:null)}},[st]);let ct=(0,K.useCallback)((e,n)=>{let r=e.stepsPerBeat??t,i=n.stepsPerBeat??t,a=A(e.pulse,r),o=A(n.pulse,i);return e.pulse===n.pulse&&e.beat===n.beat&&a===o&&e.chakraDay===n.chakraDay},[]),lt=(0,K.useMemo)(()=>typeof window<`u`?new URL(window.location.href).toString():`${`/s/${encodeURIComponent(n??``)}`}${r.search||``}${r.hash||``}`,[n,r.search,r.hash]),ut=(0,K.useMemo)(()=>n?n.slice(0,16):`—`,[n]),dt=(0,K.useCallback)(async(e,t=`Copied`)=>{try{return await navigator.clipboard.writeText(e),vC(T,t),!0}catch{return vC(T,`Copy failed`),!1}},[]),ft=(0,K.useCallback)(async()=>{try{let e=navigator;typeof e?.share==`function`?(await e.share({title:`Kairos Sigil-glyph`,text:`Sealed Kairos Moment`,url:lt}),vC(T,`Share sheet opened`)):await dt(lt,`Link copied`)}catch{}},[lt,dt]);(0,K.useEffect)(()=>{let e=Date.now(),t=(a||``).toLowerCase();if(Je>e||!t||et.length===0)return;let n=et.includes(t),r=h,i=l;!n&&J&&t!==J&&!Qe||!n&&(Qe||Ue===`archived`)?r=`authentic`:(r=n?`authentic`:`forged`,l!==`verified`&&(i=n?`ok`:`mismatch`)),r!==h&&g(r),i!==l&&d(i)},[et,a,Ue,Je,Qe,J,h,l]);let[pt,mt]=(0,K.useState)(null),ht=(0,K.useDeferredValue)(z),gt=(0,K.useMemo)(()=>{let e=ht?.stepsPerBeat??t,r=ht?A(ht.pulse,e):0,i=ht?.chakraDay??`Throat`,a=(ht?.userPhiKey??``).slice(0,12),o=(ht?.pulse??0).toLocaleString();return{title:`☤Kai Sigil-Glyph — ${n?n.slice(0,16):`—`}`,desc:ht?`Sealed Sigil-Glyph • Pulse ${o} • Beat ${ht.beat}/36 • Step ${r}/${e} • ${i}${a?` • Owner ${a}…`:``}.`:`Sealed Sigil-Glyph`}},[ht,n]);(0,K.useEffect)(()=>{let e=lt;document.title=gt.title;let n=oC(`canonical`);n.href=e,iC(`name`,`theme-color`,cC[z?.chakraDay??`Throat`]?.accent||`#00FFD0`),iC(`property`,`og:title`,gt.title),iC(`property`,`og:description`,gt.desc),iC(`property`,`og:type`,`website`),iC(`property`,`og:url`,e),iC(`name`,`twitter:card`,`summary_large_image`),iC(`name`,`twitter:title`,gt.title),iC(`name`,`twitter:description`,gt.desc),iC(`property`,`og:site_name`,`Kairos Harmonik Kingdom`);let r=z?.stepsPerBeat??t,i=z?A(z.pulse,r):0,a=z,o=z??{},s={"@context":`https://schema.org`,"@type":`VisualArtwork`,name:gt.title,description:gt.desc,url:e,image:pt||void 0,genre:`Sigil-Glyph`,identifier:[{"@type":`PropertyValue`,name:`pulse`,value:z?.pulse??null},{"@type":`PropertyValue`,name:`beat`,value:z?.beat??null},{"@type":`PropertyValue`,name:`stepIndex`,value:i},{"@type":`PropertyValue`,name:`stepsPerBeat`,value:r},{"@type":`PropertyValue`,name:`chakraDay`,value:z?.chakraDay??null},{"@type":`PropertyValue`,name:`userPhiKey`,value:z?.userPhiKey??null},{"@type":`PropertyValue`,name:`kaiSignature`,value:z?.kaiSignature??null},{"@type":`PropertyValue`,name:`canonicalHash`,value:(z?.canonicalHash??J)||null},{"@type":`PropertyValue`,name:`expiresAtPulse`,value:z?.expiresAtPulse??null},{"@type":`PropertyValue`,name:`transferNonce`,value:new URLSearchParams(location.search).get(`t`)??z?.transferNonce??null},{"@type":`PropertyValue`,name:`claimExtendUnit`,value:LT(o.claimExtendUnit)?o.claimExtendUnit:null},{"@type":`PropertyValue`,name:`claimExtendAmount`,value:o.claimExtendAmount??null},{"@type":`PropertyValue`,name:`historyLiteCount`,value:tt?.length??0}].filter(e=>e.value!=null)};a?.lineage?.length&&s.identifier.push({"@type":`PropertyValue`,name:`lineageDepth`,value:a.lineage.length}),sC(`sigil-jsonld`,s)},[lt,gt.title,gt.desc,z,pt,J,tt?.length]),(0,K.useEffect)(()=>oT({stageId:`sigil-stage`,payload:z?{...z}:null,localHash:J,setOgImgUrl:mt,setMeta:iC,seoTitle:gt.title,seoDesc:gt.desc}),[z,J,j,gt.title,gt.desc]),(0,K.useLayoutEffect)(()=>(document.documentElement.classList.add(`sigil-scroll`),()=>document.documentElement.classList.remove(`sigil-scroll`)),[]),(0,K.useEffect)(()=>{let e=0,t=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>{let e=window.innerWidth,t=window.innerHeight,n=e<640?Math.max(220,Math.min(360,t*.48)):Math.max(160,Math.min(320,t*.35)),r=Math.max(160,Math.min(640,Math.min(e,t-n))),i=N.current?.clientWidth??e,a=Math.max(160,Math.min(640,i-24));M(Math.round(Math.min(r,a)))})},n=N.current??document.body,r=new ResizeObserver(()=>t());return r.observe(n),window.addEventListener(`resize`,t,{passive:!0}),t(),()=>{r.disconnect(),window.removeEventListener(`resize`,t),cancelAnimationFrame(e)}},[]),(0,K.useEffect)(()=>{L?(d(e=>e===`verified`?`verified`:`checking`),g(e=>e===`authentic`?`authentic`:`checking`),b(!1),S(`Awaiting Verifikation`)):z||(d(e=>e===`verified`?`verified`:a?`notfound`:`checking`),g(e=>e===`authentic`?`authentic`:a?`forged`:`checking`))},[L,z,a]);let _t=e=>Array.isArray(e)?[...e].map(e=>({nonce:e.nonce,amount:Number.isFinite(e.amount)?Number(e.amount):0,recipient:e.recipientPhiKey??``,ts:e.timestamp??``})).sort((e,t)=>e.nonce.localeCompare(t.nonce)).map(e=>`${e.nonce}:${e.amount}:${e.recipient}:${e.ts}`).join(`|`):``;(0,K.useEffect)(()=>{let e=Ow(s.get(`d`));if(!e)return;let t=qw(z??null,J,Qe),n=Jw(c,z??null),r=IT(e);t&&jw(t,r,n);let i=typeof r.originalAmount==`number`?r.originalAmount:void 0,a=Array.isArray(r.debits)?r.debits:void 0;te(e=>{if(!e)return e;let t=e,n=(t.originalAmount??void 0)===i,r=_t(t.debits)===_t(a);if(n&&r)return e;let o={...e};return i!==void 0&&(o.originalAmount=i),a&&(o.debits=a,o.totalDebited=NT(a)),o})},[s,z,J,Qe,c,te]);let[yt,bt]=(0,K.useState)(!1),xt=(0,K.useRef)(!1);(0,K.useEffect)(()=>{let e=qw(z??null,J,Qe);if(!e)return;let t=Jw(c,z??null),{merged:n,urlIsStale:r}=Iw(e,s,t),i=IT(n);r&&bt(!0),Fw(i,e,t,{broadcast:!1,navigate:r});let a=typeof i.originalAmount==`number`?i.originalAmount:void 0,o=Array.isArray(i.debits)?i.debits:void 0;te(e=>{if(!e)return e;let t=e,n=(t.originalAmount??void 0)===a,r=_t(t.debits)===_t(o);if(n&&r)return e;let i={...e};return a!==void 0&&(i.originalAmount=a),o&&(i.debits=o,i.totalDebited=NT(o)),i})},[z?.canonicalHash,J,Qe,s,c,te]),(0,K.useEffect)(()=>{if(xt.current||!z?.canonicalHash)return;let e=z.canonicalHash.toLowerCase();if(a&&e&&e!==a&&Ue===`active`&&!Qe){xt.current=!0;let t=new URL(window.location.href);t.pathname=`/s/${e}`,i(`${t.pathname}${t.search}${t.hash}`,{replace:!0})}},[z?.canonicalHash,a,Ue,Qe,i]),(0,K.useEffect)(()=>{if(!xt.current&&z&&!z.canonicalHash&&J&&a&&J!==a&&Ue===`active`&&!Qe){xt.current=!0;let e=new URL(window.location.href);e.pathname=`/s/${J}`,i(`${e.pathname}${e.search}${e.hash}`,{replace:!0})}},[z?.canonicalHash,J,a,Ue,Qe,i]),(0,K.useEffect)(()=>{let e=et;if(!e.length)return;let t=Jw(c,z??null),n=(e,t)=>{let n={};typeof e?.originalAmount==`number`&&(n.originalAmount=e.originalAmount),n.originalAmount===void 0&&typeof t?.originalAmount==`number`&&(n.originalAmount=t.originalAmount);let r=Array.isArray(e?.debits)?e.debits:[],i=Array.isArray(t?.debits)?t.debits:[],a=FT([...r,...i]);return IT({originalAmount:n.originalAmount,debits:a})},r=(e,t)=>{let n=IT(e??{}),r=IT(t??{}),i=typeof n.originalAmount==`number`?n.originalAmount:NaN,a=typeof r.originalAmount==`number`?r.originalAmount:NaN,o=Number.isNaN(i)&&Number.isNaN(a)||Math.abs(i-a)e.nonce)),c=new Set((Array.isArray(r.debits)?r.debits:[]).map(e=>e.nonce));if(!o||s.size!==c.size)return!1;for(let e of s)if(!c.has(e))return!1;return!0},i=(i,a,o)=>{let s=i.toLowerCase();if(!e.includes(s))return;let c=t??null;if(c!==(o??null))return;let l=Ow(a);if(!l)return;let u=Ow(new URLSearchParams(window.location.search).get(`d`)),d=n(u,l);r(u,d)||(Fw(d,s,c,{broadcast:!1}),te(e=>{if(!e)return e;let t={...e};return typeof d.originalAmount==`number`&&(t.originalAmount=d.originalAmount),Array.isArray(d.debits)&&(t.debits=d.debits,t.totalDebited=NT(d.debits)),t}))},a=null;try{a=new BroadcastChannel(bw),a.onmessage=e=>{let t=e.data;t?.type===`debits`&&t.canonical&&t.qs&&i(t.canonical,t.qs,t.token)}}catch{}let o=t=>{if(!(!t.key||typeof t.newValue!=`string`))for(let n of e){if(!Sw(t.key,n))continue;let e=Cw(t.key,n);i(n,t.newValue,e);break}};return window.addEventListener(`storage`,o,{passive:!0}),()=>{if(window.removeEventListener(`storage`,o),a&&typeof a.close==`function`)try{a.close()}catch{}}},[et,c,z,te]);let St=(0,K.useMemo)(()=>z?typeof z.expiresAtPulse==`number`?z.expiresAtPulse:z.pulse+11:null,[z]),Ct=(0,K.useMemo)(()=>ie==null||St==null?null:Math.max(0,St-ie),[ie,St]),wt=(0,K.useMemo)(()=>Ct===0,[Ct]),Tt=(0,K.useMemo)(()=>ie==null||!z?null:Math.max(0,z.pulse-ie),[z,ie]),Et=(0,K.useMemo)(()=>ie==null||!z?!1:z.pulse>ie,[z,ie]),Dt=z?.chakraDay??`Throat`,Ot=z?.stepsPerBeat??t,kt=A(z?.pulse??0,Ot),At=e(z?.pulse??0),jt=(0,K.useMemo)(()=>{if(!z?.canonicalHash||typeof z.stepIndex!=`number`)return null;let e=z.stepsPerBeat??t;return D(z.canonicalHash.toLowerCase(),{pulse:z.pulse,beat:z.beat,stepIndex:z.stepIndex,chakraDay:z.chakraDay??`Root`,stepsPerBeat:e,kaiSignature:z.kaiSignature??void 0,userPhiKey:z.userPhiKey??void 0})},[z,t]),Mt=(0,K.useMemo)(()=>`hsl(${((cC[Dt]?.hue??180)+(J&&/^[0-9a-f]+$/i.test(J)?parseInt(J.slice(-2),16)%12:0)*2.5)%360} 100% ${50+15*Math.sin(At*2*Math.PI)}%)`,[Dt,At,J]),Nt=cC[Dt]?.hue??180,Pt=(0,K.useMemo)(()=>`qr-${(J||a||`seed`).slice(0,12)}-${Dt}-${kt}`,[J,a,Dt,kt]),[Ft,It]=(0,K.useState)(!1),[Lt,Rt]=(0,K.useState)(null);(0,K.useEffect)(()=>{let e=!1;return(async()=>{try{if(!z){Rt(null);return}let n=z.stepsPerBeat??t,r=A(z.pulse,n),i=_(z),a=f(z.pulse,z.beat,r,String(z.chakraDay??``),i),o=await P(a),s=await I(o),c=typeof z.kaiSignature==`string`?z.kaiSignature.toLowerCase()===o.toLowerCase():!0,l=typeof z.userPhiKey==`string`?z.userPhiKey.toLowerCase()===s.toLowerCase():!0,u={pulse:z.pulse,beat:z.beat,stepsPerBeat:n,stepIndex:r,chakraDay:String(z.chakraDay??``),intention:i??null,sigmaString:a,sigmaHash:o,derivedPhiKey:s,payloadKaiSignature:z.kaiSignature??null,payloadUserPhiKey:z.userPhiKey??null,matches:{sigma:c,phi:l}};e||Rt(u)}catch{e||Rt(null)}})(),()=>{e=!0}},[z]);let zt=re(async()=>{if(he)return;ge(!0);let e=document.getElementById(`sigil-stage`);try{await Yw({stageEl:e,payload:z,localHash:J,routeHash:a,qr:{uid:Pt,url:lt,hue:Nt,accent:Mt},onToast:e=>vC(T,e)})}finally{ge(!1)}}),[Bt,Vt]=(0,K.useState)(!1),[Ht,Ut]=(0,K.useState)(``),Wt=(0,K.useCallback)(async()=>{let e=N.current;e&&(Ut((await(0,ST.default)(e,{backgroundColor:null})).toDataURL(`image/png`)),Vt(!0))},[]),Gt=(0,K.useCallback)(()=>{Vt(!1),Ut(``)},[]),Kt=re(()=>{Wt()}),qt=re(()=>{Gt()}),Jt=re(()=>It(e=>!e)),Yt=re(()=>Ze(!0)),Xt=(0,K.useCallback)(async e=>{let t=await e.arrayBuffer(),n=e.type||`application/octet-stream`,r=`data:${n};base64,${_C(t)}`;ue({name:e.name,mime:n,size:e.size,dataUri:r}),vC(T,`Remembered ${e.name}`)},[]),Zt=(0,K.useCallback)((e,n)=>{let r=e.stepsPerBeat??t,i=A(e.pulse,r),o=(e.canonicalHash||J||``).toLowerCase(),s=e.claimExtendUnit,c=LT(s)?s:null,l=e.claimExtendAmount,u=typeof l==`number`?l:null,d=dT({pulse:e.pulse,beat:e.beat,chakraDay:e.chakraDay??`Root`,stepsPerBeat:r,stepIndex:i,userPhiKey:e.userPhiKey??null,kaiSignature:e.kaiSignature??null,canonicalHash:o,transferNonce:e.transferNonce??null,expiresAtPulse:e.expiresAtPulse??null,claimExtendUnit:c,claimExtendAmount:u},n,{localHash:J,routeHash:a,stepsPerBeat:t,stepIndexFromPulse:A})?.url||`/s/${o}`;try{let e=new URL(d,window.location.origin);e.pathname=`/s/${o}`;let t=new URLSearchParams(window.location.search).get(`d`);t&&e.searchParams.set(`d`,t),d=e.toString()}catch{}let f=new URL(d,window.location.origin);f.pathname=`/s/${o}`,new URL(window.location.href).searchParams.forEach((e,t)=>{t!==`d`&&f.searchParams.set(t,f.searchParams.get(t)??e)});let p=Lw(d)||o;return Be(d),He(p),Re(!0),d},[J,a]),Qt=(0,K.useCallback)((e,n,r=!0)=>{let o=e.stepsPerBeat??t,s=A(e.pulse,o),c=e.claimExtendUnit,l=LT(c)?c:`breaths`,u=e.claimExtendAmount,d=typeof u==`number`?u:11;return fT({pulse:e.pulse,beat:e.beat,chakraDay:e.chakraDay??`Root`,stepsPerBeat:o,stepIndex:s,userPhiKey:e.userPhiKey??null,kaiSignature:e.kaiSignature??null,canonicalHash:n,transferNonce:e.transferNonce??null,expiresAtPulse:e.expiresAtPulse??null,claimExtendUnit:l,claimExtendAmount:d},n,{localHash:J,routeHash:a,stepsPerBeat:t,stepIndexFromPulse:A,getKaiPulseEternalInt:E,breathsToPulses:B,shareTransferLink:dT,publishRotation:HT,navigate:e=>{if(r)try{i(e)}catch{try{window.location.href=e}catch{}}}})??null},[J,a,i]),$t=(0,K.useCallback)(async e=>{if(b(!1),S(`Verifying…`),!(/image\/svg\+xml/i.test(e.type)||/\.svg$/i.test(e.name))){S(`Unsupported file. Upload an SVG sigil (.svg) only.`);return}let t=null;try{let{ok:n,errors:r,payload:i,meta:a}=U(await e.text());if(!n||!i){S(r[0]||`Invalid SVG.`);return}t=i,ce(a||{})}catch{S(`Invalid or unreadable SVG uploaded.`);return}if(!z||!t){S(`Load or link a sigil first, then verify stewardship.`);return}if(!ct(z,t)){S(`File does not match this sealed kairos moment.`),b(!1);return}if(t.canonicalHash){let e=t.canonicalHash.toLowerCase(),n=(J||``).toLowerCase(),r=(a||``).toLowerCase(),i=n&&e===n,o=r&&e===r;if(!i&&!o){S(`SVG canonicalHash doesn’t match this link’s hash.`),b(!1);return}if(o&&!i){$e({reason:`svg.canonicalHash matched route (legacy)`,matchedHash:e}),g(`authentic`),d(`ok`),We(`archived`),b(!0),S(`Stewardship verified (legacy SVG). Issuing modern link…`),n&&(Qt({...z},n,!0),S(`Legacy verified. Modern transfer link ready.`));return}}if(new Set([c??void 0,z.transferNonce??void 0,t.transferNonce??void 0,Ge??void 0].filter(e=>!!e)).size>1){S(`This is not the active transfer link for that Φkey.`),b(!1);return}b(!0),S(`Stewardship verified`)},[z,ct,J,a,c,Ge,Qt]),en=re(async()=>{if(pe)return;let e=N.current?.querySelector(`svg`),n=z??{},r=LT(n.claimExtendUnit)?n.claimExtendUnit:void 0,i=typeof n.claimExtendAmount==`number`?n.claimExtendAmount:null;await aT({expired:!!wt,exporting:pe,setExporting:me,svgEl:e,payload:z?{pulse:z.pulse,beat:z.beat,chakraDay:z.chakraDay??null,stepsPerBeat:z.stepsPerBeat??void 0,stepIndex:z.stepIndex??null,exportedAtPulse:z.exportedAtPulse??null,canonicalHash:z.canonicalHash??null,userPhiKey:z.userPhiKey??null,kaiSignature:z.kaiSignature??null,transferNonce:z.transferNonce??null,expiresAtPulse:z.expiresAtPulse??null,claimExtendUnit:r,claimExtendAmount:i,attachment:z.attachment??null,provenance:z.provenance??null}:null,isFutureSealed:Et,linkStatus:Ue,setToast:e=>vC(T,e),expiryUnit:xe,expiryAmount:Ce,localHash:J,routeHash:a,transferToken:c??null,getKaiPulseEternalInt:E,stepIndexFromPulse:A,STEPS_PER_BEAT:t})}),tn=(0,K.useCallback)(e=>{let t=typeof e==`string`?e:e?.hash;if(!t)return;let n=t.toLowerCase();Te(e=>e===n?e:n)},[]),nn=L&&!z,rn=l===`notfound`||l===`error`,an=z?.pulse??0,on=((ae??0)/1e3).toFixed(3),sn=Ue===`archived`,cn=y&&!sn,ln=(0,K.useMemo)(()=>h===`authentic`&&sn&&!c&&!!a&&!!J&&a!==J,[h,sn,c,a,J]);(0,K.useEffect)(()=>{if(!z||h!==`authentic`||l===`mismatch`||l===`error`||l===`notfound`)return;let e=!1;return(async()=>{try{let n=z.stepsPerBeat??t,r=A(z.pulse,n),i=_(z),a=await P(f(z.pulse,z.beat,r,String(z.chakraDay??``),i)),o=typeof z.kaiSignature==`string`?z.kaiSignature.toLowerCase()===a.toLowerCase():!0,s=await I(a),c=typeof z.userPhiKey==`string`?z.userPhiKey.toLowerCase()===s.toLowerCase():!0;!e&&o&&c&&l!==`verified`&&d(`verified`)}catch{}})(),()=>{e=!0}},[z,h,l,Ue]),(0,K.useEffect)(()=>{let e=(a||``).toLowerCase(),t=c||null,n=z?.transferNonce||null,r=!!t&&!!n&&t===n&&(St==null||ie==null||ie{let e=!0;return(async()=>{if(!z){dn(``),pn(``);return}let n=(z.canonicalHash||J||``).toLowerCase(),r=E(new Date),i=await FC(z,n,r,p(r),A(r,z.stepsPerBeat??t));e&&(dn(i.ownerPhiKey),pn(i.kaiSig))})(),()=>{e=!1}},[z,J]);let mn=(0,K.useCallback)(async e=>{if(e?.preventDefault?.(),e?.stopPropagation?.(),!z||!J||Et||sn)return;let n=(z.canonicalHash||J||``).toLowerCase(),r=E(new Date),i=await FC(z,n,r,p(r),A(r,z.stepsPerBeat??t));ve(i.ownerPhiKey),be(i.kaiSig),setTimeout(()=>{try{_n()}catch{}},0)},[z,J,Et,sn]),hn=(0,K.useCallback)(e=>{let t=`/${e}`;try{window.location.assign(t)}catch{window.location.href=t}},[]),gn=(0,K.useCallback)(async()=>{try{let e=await(await fetch(`/verifier.inline.html`,{cache:`no-store`})).text(),t=new Blob([e],{type:`text/html`}),n=document.createElement(`a`);n.href=URL.createObjectURL(t),n.download=`verifier.html`,document.body.appendChild(n),n.click(),setTimeout(()=>{URL.revokeObjectURL(n.href),n.remove()},0),vC(T,`Downloading verifier…`)}catch{vC(T,`Download failed`)}},[]);({...Jt});let _n=(0,K.useCallback)(()=>{if(!z)return vC(T,`Nothing to mint`);let e=N.current?.querySelector(`svg`);if(!e)return vC(T,`No Φkey in frame`);if(!J)return vC(T,`Glyph hash not ready yet`);if(Ue!==`active`)return vC(T,`Archived link — cannot exhale from here`);if(Et)return vC(T,`Opens after the moment—claim unlocks then`);let n=eC(oe??{},z.pulse),r=(_e||z.userPhiKey||``).trim();if(!r)return vC(T,`Owner ΦKey required`);let i=Math.max(0,Math.floor(Ce||0)),o=xe===`breaths`?B(i):se(i),s=E(new Date),c=s+o,l=J.toLowerCase(),u=crypto.getRandomValues(new Uint32Array(4)).join(``),d=z.stepsPerBeat??t,p=A(z.pulse,d),m=A(s,d),h={...tC(r,ye||z.kaiSignature,z,n.length?`transfer`:`mint`,(H??z.attachment)?.name,s),stepIndex:p,atStepIndex:m},g={...z,userPhiKey:r,kaiSignature:ye||z.kaiSignature,stepsPerBeat:z.stepsPerBeat??t,attachment:H??z.attachment??void 0,expiresAtPulse:c,canonicalHash:l,transferNonce:u,claimExtendUnit:xe,claimExtendAmount:i,provenance:[...n,h]};(async()=>{let t=await P(f(g.pulse,g.beat,p,String(g.chakraDay??``),_(g))),n=await I(t);g.kaiSignature=t,g.userPhiKey=g.userPhiKey||n;let r=Array.from(new Set([z.canonicalHash,a,J].filter(Boolean).map(e=>e.toLowerCase())));r.length&&HT(r,u),We(`archived`),Ye(Date.now()+250),V(e,g),AC(e),te(g),ce(g),vC(T,`Sealed & archived`);let i=Zt(g,u)||`/s/${l}`;i=await qe(g,l,u,i,e),Be(kT(i)),g.canonicalHash&&HT([g.canonicalHash.toLowerCase()],u),setTimeout(()=>Ye(0),0)})()},[z,oe,_e,ye,H,Ce,xe,J,a,Ue,Et,Zt]),vn=z,yn=(0,K.useMemo)(()=>NT(vn?.debits??[]),[vn?.debits]),bn=(0,K.useMemo)(()=>{let e=(typeof vn?.originalAmount==`number`?vn.originalAmount:rt?.valuePhi??0)-yn;return e>0?e:0},[vn?.originalAmount,rt?.valuePhi,yn]),xn=(vn?.debits?.length??0)>0||typeof vn?.originalAmount==`number`,Sn=(0,K.useMemo)(()=>xn?bn:at??rt?.valuePhi??0,[xn,bn,at,rt?.valuePhi]),Cn=m,{usdPerPhi:wn,phiPerUsd:Tn}=(0,K.useMemo)(()=>{try{let e=ie??E(new Date),t=o({meta:z||{},nowPulse:e,usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},Cn);return{usdPerPhi:t.usdPerPhi??0,phiPerUsd:t.phiPerUsd??0}}catch{return{usdPerPhi:0,phiPerUsd:0}}},[z,ie,Cn]),En=(Sn??0)*(wn||0),Dn=(0,K.useCallback)(async()=>{if(!z)return``;let e=z.stepsPerBeat??t,n=A(z.pulse,e);return await I(z.kaiSignature??await P(f(z.pulse,z.beat,n,String(z.chakraDay??``),_(z))))},[z]),[On,kn]=(0,K.useState)([]),An=(0,K.useCallback)(()=>{kn(UT(qw(z??null,J,Qe),Jw(c,z??null)))},[z,J,Qe,c]);(0,K.useEffect)(()=>{An();let e=null;try{e=new BroadcastChannel(RT),e.onmessage=e=>{let t=e.data;if(!t||t.type!==`descendants`)return;let n=qw(z??null,J,Qe),r=Jw(c,z??null);!n||!r||t.canonical!==n.toLowerCase()||t.token!==r||Array.isArray(t.list)&&kn(t.list)}}catch{}let t=e=>{if(!e.key||!e.newValue)return;let t=qw(z??null,J,Qe),n=Jw(c,z??null);if(!(!t||!n)&&e.key===zT(t,n))try{let t=JSON.parse(e.newValue||`[]`);Array.isArray(t)&&kn(t)}catch{}};return window.addEventListener(`storage`,t,{passive:!0}),()=>{if(e&&typeof e.close==`function`)try{e.close()}catch{}window.removeEventListener(`storage`,t)}},[z,J,Qe,c,An]);let jn=(0,K.useCallback)(async(e,n)=>{if(!z)return null;let r=E(new Date),i=crypto.getRandomValues(new Uint32Array(4)).join(``),a=z.stepsPerBeat??t,o=A(z.pulse,a),s=(J||z.canonicalHash||``).toLowerCase(),l=n??Jw(c,z??null),u=Array.isArray(z.lineage)?[...z.lineage]:[],d=(u[u.length-1]?.depth??0)+1,p={token:i,parentToken:l??null,amount:Number(e.toFixed(6)),timestamp:r,depth:d,senderPhiKey:z.userPhiKey??null},m={...z,userPhiKey:void 0,originalAmount:Number(e.toFixed(6)),mintedAtPulse:r,transferNonce:i,expiresAtPulse:r+(xe===`breaths`?B(Ce):se(Ce)),claimExtendUnit:xe,claimExtendAmount:Ce,canonicalHash:s,lineage:[...u,p]},h=await P(f(m.pulse,m.beat,o,String(m.chakraDay??``),_(m))),g=await I(h);m.kaiSignature=h,m.userPhiKey=g;let v=Zt(m,i)||`/s/${s}`;try{let t=new URL(v,window.location.origin);t.pathname=`/s/${s}`,t.searchParams.set(`d`,Ew({originalAmount:m.originalAmount}));let n=Kw(t.toString(),m);n=await qe(m,s,i,n);let a=Lw(n)||s;jw(a,Ow(new URL(n).searchParams.get(`d`))??{},i);let o=qw(z??null,J,Qe),c=l??null;if(o&&c){let t=[...UT(o,c),{token:i,parentToken:c,amount:Number(e.toFixed(6)),timestamp:r,depth:1,recipientPhiKey:m.userPhiKey}];WT(o,c,t),GT(o,c,t),kn(t)}return Be(kT(n)),He(a),Re(!0),n}catch{let e=Kw(v||`/s/${s}`,m);return Be(e),He(s),Re(!0),e||null}},[z,xe,Ce,J,Zt,Qe,c]);(0,K.useEffect)(()=>{let e=e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName.toLowerCase();return t===`input`||t===`textarea`||e.isContentEditable},t=t=>{if(t.defaultPrevented||e(t.target))return;let n=t.key.toLowerCase();t.metaKey||t.ctrlKey||t.altKey||(n===`s`?ft():n===`l`?dt(lt,`Link copied`):n===`h`?J&&dt(J,`Hash copied`):n===`z`?en.onClick?.(new MouseEvent(`click`)):n===`p`?zt.onClick?.(new MouseEvent(`click`)):n===`g`&&Wt())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[ft,dt,lt,J,en,zt,Wt]);let Mn=(0,K.useCallback)(e=>{let t=e?.silent??!0;if(!qw(z??null,J,Qe))return null;let n=Jw(c,z??null);if(n)return n;n=crypto.getRandomValues(new Uint32Array(4)).join(``);try{let e=new URL(window.location.href);e.searchParams.set(`t`,n),t?window.history.replaceState(null,``,`${e.pathname}${e.search}${e.hash}`):i(`${e.pathname}${e.search}${e.hash}`,{replace:!0})}catch{}return te(e=>e&&{...e,transferNonce:n}),We(`active`),n},[z,J,Qe,c,te,i,We]),[Nn,Pn]=(0,K.useState)(0),Fn=(0,K.useCallback)(async()=>{if(!cn)return vC(T,`Verify Stewardship first`);if(!z)return vC(T,`No payload`);if(Ee)return;let e=Number(Nn)||0;if(e<=0)return vC(T,`Enter an amount > 0`);let t=qw(z??null,J,Qe),n=Jw(c,z??null);if(n||=Mn({silent:!0})||null,!t||!n)return vC(T,`Link not initialized`);if(Ge&&Ge!==n)return vC(T,`Archived link — cannot exhale from here`);De(!0);let{ok:r,id:i}=AT(t,n);if(Oe.current=i,!r)return De(!1),vC(T,`Another exhale is in progress`);try{let{merged:r}=Iw(t,new URLSearchParams(window.location.search),n),i=IT({originalAmount:typeof r.originalAmount==`number`?r.originalAmount:typeof z?.originalAmount==`number`?z.originalAmount:rt?.valuePhi??0,debits:Array.isArray(r.debits)?r.debits:[]});if(e>Math.max(0,(i.originalAmount??0)-NT(i.debits||[]))+CT)return vC(T,`Amount exceeds available`);let a=await Dn();if(!a)return vC(T,`Could not derive Φkey`);let o={amount:Number(e.toFixed(6)),nonce:crypto.getRandomValues(new Uint32Array(4)).join(``),recipientPhiKey:a,timestamp:E(new Date)};Fw(IT({originalAmount:i.originalAmount,debits:[...i.debits??[],o]}),t,n,{broadcast:!0});let{merged:s}=Iw(t,new URLSearchParams(window.location.search),n),c=IT(s);if(!(c.debits??[]).some(e=>e.nonce===o.nonce)){vC(T,`Exhale conflicted — try again`);return}te(e=>{if(!e)return e;let t={...e};return t.originalAmount=typeof c.originalAmount==`number`?c.originalAmount:typeof t.originalAmount==`number`?t.originalAmount:rt?.valuePhi??0,t.debits=Array.isArray(c.debits)?c.debits:[],t.totalDebited=NT(t.debits),t}),Pn(0),vC(T,`Sent ${EC(o.amount)} Φ`),jn(o.amount,n)}finally{jT(t,n,Oe.current),De(!1)}},[cn,z,z?.originalAmount,rt?.valuePhi,Nn,Ge,J,Qe,c,te,Dn,jn,Pn,Ee,Mn]),In=Ft||Xe||Le||Ae&&ln;(0,K.useEffect)(()=>{let e=`bp-open`;return In?document.body.classList.add(e):document.body.classList.remove(e),()=>document.body.classList.remove(e)},[In]);let[Ln,Rn]=(0,K.useState)(!1),zn=(0,K.useCallback)(()=>{Rn(!0),window.setTimeout(()=>Rn(!1),2e3)},[]),Bn=re(()=>{dt(J||``,`Hash copied`)}),Vn=re(async()=>{await dt(lt,`Link copied`)&&zn()}),Hn=re(()=>{ft()}),Un=(0,q.jsxs)(fe,{frameRef:N,children:[!nn&&!rn&&z&&(0,q.jsx)(`div`,{id:`sigil-stage`,style:{position:`relative`,width:j,height:j,margin:`0 auto`},children:(0,q.jsx)(O,{pulse:an,beat:z.beat,stepIndex:typeof z.stepIndex==`number`?z.stepIndex:void 0,chakraDay:Dt,size:j,hashMode:`deterministic`,origin:``,kaiSignature:z.kaiSignature??void 0,userPhiKey:z.userPhiKey??void 0,canonicalShareUrl:jt??void 0,canonicalPayloadHash:z.canonicalHash?z.canonicalHash.toLowerCase():void 0,onReady:tn})}),nn&&(0,q.jsx)(`div`,{className:`sp-skeleton`,"aria-hidden":`true`}),rn&&(0,q.jsx)(`div`,{className:`sp-error`,children:l===`notfound`?`Waiting for SVG upload or ?p= payload.`:`Unable to load sigil.`})]}),Wn=z?.lineage??[],Gn=(0,K.useCallback)((e,t)=>{let n=e=>typeof e==`object`&&!!e,r=e=>{if(typeof t==`string`)return t;if(!n(e))return``;let r=typeof e.reason==`string`?e.reason:``,i=n(e.detail)?e.detail:null,a=i&&typeof i.reason==`string`?i.reason:``;return r||a||``},i=e=>{if(!n(e))return null;let t=e.target;return t instanceof HTMLElement?t:null},a=r(e),o=i(e),s=a===`closeClick`||a===`close-button`||a===`explicit`||a===`close`,c=!!o?.closest?.(`[data-modal-close],[data-close],.sealmoment__close,.sp-modal__close,button[aria-label="Close"],button[aria-label="close"],button[title="Close"]`);if(s||c||e==null&&t==null){Re(!1),Be(``),He(``);return}},[]),{series:Kn,pushSample:qn}=YS({maxPoints:1512*8,maxBeats:1512});return(0,K.useEffect)(()=>{let e=(3+Math.sqrt(5))*1e3,t=null,n=null,r=()=>{let i=Sn;Number.isFinite(i)&&qn({t:Date.now(),v:i}),n=window.setTimeout(()=>{t=requestAnimationFrame(r)},e)};return r(),()=>{n&&clearTimeout(n),t&&cancelAnimationFrame(t)}},[Sn,qn]),(0,q.jsxs)(`main`,{className:`sigilpage`,role:`main`,"aria-label":`☤Kai Sigil Page`,"data-owner-verified":cn,"data-archived":sn,"data-old-link":yt?`true`:`false`,"data-ready":!L&&!!z,"data-version":`v48`,children:[(0,q.jsx)(`div`,{className:`sp-veil`,"aria-hidden":`true`}),(0,q.jsx)(`div`,{className:`sp-veil-stars`,"aria-hidden":`true`}),(0,q.jsx)(`div`,{className:`sp-viewport`,"aria-hidden":!1,children:(0,q.jsxs)(`section`,{className:`sp-shell`,"data-center":!0,children:[(0,q.jsx)(de,{glyphAuth:h,linkStatus:Ue,isArchived:sn,localHash:J,copyHashPress:Bn}),(h===`authentic`||l===`verified`)&&(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(`button`,{type:`button`,className:`authority-seal ${l===`verified`?`is-verified`:`is-failed`}`,"aria-pressed":Ft,"aria-label":`Show breath proof`,title:`Tap to show breath proof`,...Jt,children:[(0,q.jsx)(`span`,{className:`authority-seal__emblem`,"aria-hidden":`true`,children:l===`verified`?`✓`:`✕`}),(0,q.jsxs)(`div`,{className:`authority-seal__content`,children:[(0,q.jsxs)(`div`,{className:`authority-seal__headline`,children:[(0,q.jsx)(`span`,{className:`authority-seal__state`,children:l===`verified`?`VERIFIED`:`Out•Of•Sync`}),(0,q.jsx)(`span`,{className:`dot`,children:`•`}),(0,q.jsx)(`span`,{children:`PROOF•OF•BREATH™`})]}),(0,q.jsx)(`div`,{className:`authority-seal__chip`,children:l===`verified`?`SEAL VALID`:`SEAL FAILED`})]})]})}),rt&&(0,q.jsxs)(`button`,{type:`button`,className:`sp-price-chip sp-price-dock ${ot===`up`?`flash-up`:ot===`down`?`flash-down`:``}`,"aria-live":`polite`,"aria-label":`Open historical value chart`,title:`Kai ${rt.computedAtPulse} • premium ×${rt.premium.toFixed(6)} • ${u(wn)}/Φ • ${Number.isFinite(Tn)?`${Tn.toFixed(6)} Φ/$`:`—`} • stamp ${rt.stamp.slice(0,12)}…`,...Yt,children:[(0,q.jsx)(`span`,{className:`phi`,"aria-hidden":`true`,style:{"--phi-url":`url(/assets/phi.svg)`}}),(0,q.jsx)(`span`,{className:`price`,"aria-label":xn?`Available amount`:`Live valuation`,children:EC(Sn)}),(0,q.jsxs)(`span`,{className:`usd-inline`,"aria-hidden":`true`,children:[`≈ `,u(En)]}),(0,q.jsx)(`span`,{className:`chip-spacer`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`live-badge`,"aria-label":xn?`Available amount`:`Live valuation`,children:[xn?`AVAILABLE`:`LIVE`,(0,q.jsx)(`span`,{className:`twinkles`,"aria-hidden":`true`})]})]}),(0,q.jsx)(WS,{open:Xe,onClose:()=>Ze(!1),series:Kn,latestValue:Sn??0,label:xn?`Available Φ`:`Live Φ`}),(0,q.jsx)(LS,{glyphAuth:h,linkStatus:Ue,routeHash:a,localHash:J,upgradedOnce:Pe,oldLinkDetected:yt,transferToken:c,onUpgradeClick:()=>Ne(!0)}),(0,q.jsx)(je,{absUrl:lt,payload:z,chakraDay:Dt,steps:Ot,stepIndex:kt,stepPctDisplay:At,isArchived:sn,isFutureSealed:Et,pulsesLeft:Ct,opensInPulses:Tt,nextPulseSeconds:on,hash:n,shortHash:ut,remembered:Ln,copyLinkPress:Vn,sharePress:Hn,verified:XS(l),showSkeleton:nn,showError:rn,stage:Un}),Ft&&Lt&&(0,G.createPortal)((0,q.jsx)(`div`,{className:`sp-breathproof__backdrop`,role:`presentation`,onClick:()=>It(!1),onMouseDown:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),onTouchMove:e=>{e.target===e.currentTarget&&e.preventDefault()},style:{position:`fixed`,inset:0,zIndex:2147483647,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:16,background:`rgba(0,0,0,.55)`,overflow:`auto`,overscrollBehavior:`contain`,WebkitOverflowScrolling:`touch`,pointerEvents:`auto`},children:(0,q.jsxs)(`aside`,{className:`sp-breathproof sp-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`bp-title`,onClick:e=>e.stopPropagation(),tabIndex:-1,style:{maxHeight:`calc(100dvh - 32px)`,overflowY:`auto`,overflowX:`hidden`,WebkitOverflowScrolling:`touch`,outline:`none`,boxSizing:`border-box`,width:`100%`,maxWidth:`min(960px, calc(100vw - 32px))`,margin:`0 auto`,padding:16,borderRadius:16,background:`linear-gradient(180deg, rgba(10,14,15,.92), rgba(6,10,12,.82))`,boxShadow:`0 1px 0 rgba(255,255,255,.06) inset, 0 24px 80px rgba(0,0,0,.55)`,pointerEvents:`auto`},children:[(0,q.jsx)(`button`,{type:`button`,className:`sp-breathproof__close`,"aria-label":`Close`,onClick:()=>It(!1),style:{position:`sticky`,top:-8,marginLeft:`auto`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:36,height:36,borderRadius:999,border:`1px solid var(--sp-border, #ffffff22)`,background:`var(--sp-glass, rgba(12,18,20,.55))`,backdropFilter:`blur(6px)`,cursor:`pointer`},children:`×`}),(0,q.jsx)(`h3`,{id:`bp-title`,style:{marginTop:-40,marginBottom:10,wordBreak:`break-word`},children:`Proof•of•Breath™`}),`One breath. One pulse. One truth. Sealed by breath. Stamped in Kairos. Identity, memory, and value — harmonikally verified at the exakt Kairos moment.`,(0,q.jsx)(`div`,{className:`auth-badge`,title:`Comparison to payload`,style:{position:`relative`,boxSizing:`border-box`,width:`100%`,maxWidth:`100%`,minWidth:0,padding:10,borderRadius:16,background:`linear-gradient(180deg, rgba(10,14,15,.85), rgba(8,12,14,.65)) padding-box, conic-gradient(from 180deg at 50% 50%, #FFD76E, #00FFC6, #8AB4FF, #FFD76E) border-box`,border:`1px solid transparent`,backgroundClip:`padding-box, border-box`,boxShadow:`0 1px 0 rgba(255,255,255,.08) inset, 0 0 1px 1px rgba(0,255,198,.18), 0 12px 40px rgba(0,0,0,.45), 0 0 32px rgba(0,255,198,.15)`,color:`#E7FFF7`,textTransform:`uppercase`,letterSpacing:`0.12em`,fontWeight:800,fontSize:`clamp(10px, 3.2vw, 12.5px)`,lineHeight:1.25,backdropFilter:`blur(10px) saturate(140%)`,WebkitBackdropFilter:`blur(10px) saturate(140%)`,overflow:`hidden`},children:(0,q.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(210px, 1fr))`,gap:10,width:`100%`,maxWidth:`100%`,minWidth:0},children:[(0,q.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr auto`,alignItems:`center`,gap:8,padding:`10px 12px`,borderRadius:999,background:`linear-gradient(180deg, rgba(7,30,26,.85), rgba(6,18,20,.75))`,border:`1px solid rgba(255,255,255,.16)`,boxShadow:`inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.35)`,minWidth:0},children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,style:{width:28,height:28,borderRadius:`50%`,display:`grid`,placeItems:`center`,background:`radial-gradient(closest-side, rgba(255,255,255,.9), rgba(255,255,255,.35) 60%, rgba(255,255,255,0) 61%), conic-gradient(#00FFC6, #FFD76E, #8AB4FF, #00FFC6)`,boxShadow:`0 0 0 2px rgba(255,255,255,.25), 0 4px 18px rgba(0,255,198,.35), inset 0 0 10px rgba(255,255,255,.35)`,color:`#061012`,fontSize:16,fontWeight:900},children:`Σ`}),(0,q.jsx)(`span`,{style:{opacity:.9,whiteSpace:`nowrap`},children:`KAI MATCH:`}),(0,q.jsx)(`strong`,{style:{justifySelf:`end`,padding:`2px 10px`,borderRadius:999,fontSize:`clamp(10px, 3vw, 12px)`,letterSpacing:`0.08em`,background:Lt.matches.sigma?`linear-gradient(180deg, #00FFC6, #00C2AA)`:`linear-gradient(180deg, #FF5F7A, #C2143F)`,color:`#061012`,boxShadow:Lt.matches.sigma?`0 0 0 1px rgba(0,255,198,.45) inset, 0 0 22px rgba(0,255,198,.35)`:`0 0 0 1px rgba(255,95,122,.45) inset, 0 0 22px rgba(255,95,122,.35)`,border:`1px solid rgba(255,255,255,.15)`,whiteSpace:`nowrap`},children:Lt.matches.sigma?`YES`:`NO`})]}),(0,q.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr auto`,alignItems:`center`,gap:8,padding:`10px 12px`,borderRadius:999,background:`linear-gradient(180deg, rgba(7,30,26,.85), rgba(6,18,20,.75))`,border:`1px solid rgba(255,255,255,.16)`,boxShadow:`inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.35)`,minWidth:0},children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,style:{width:28,height:28,borderRadius:`50%`,display:`grid`,placeItems:`center`,background:`radial-gradient(closest-side, rgba(255,255,255,.9), rgba(255,255,255,.35) 60%, rgba(255,255,255,0) 61%), conic-gradient(#00FFC6, #FFD76E, #8AB4FF, #00FFC6)`,boxShadow:`0 0 0 2px rgba(255,255,255,.25), 0 4px 18px rgba(0,255,198,.35), inset 0 0 10px rgba(255,255,255,.35)`,color:`#061012`,fontSize:16,fontWeight:900},children:`Φ`}),(0,q.jsx)(`span`,{style:{opacity:.9,whiteSpace:`nowrap`},children:`PHI MATCH:`}),(0,q.jsx)(`strong`,{style:{justifySelf:`end`,padding:`2px 10px`,borderRadius:999,fontSize:`clamp(10px, 3vw, 12px)`,letterSpacing:`0.08em`,background:Lt.matches.phi?`linear-gradient(180deg, #00FFC6, #00C2AA)`:`linear-gradient(180deg, #FF5F7A, #C2143F)`,color:`#061012`,boxShadow:Lt.matches.phi?`0 0 0 1px rgba(0,255,198,.45) inset, 0 0 22px rgba(0,255,198,.35)`:`0 0 0 1px rgba(255,95,122,.45) inset, 0 0 22px rgba(255,95,122,.35)`,border:`1px solid rgba(255,255,255,.15)`,whiteSpace:`nowrap`},children:Lt.matches.phi?`YES`:`NO`})]})]})}),(0,q.jsx)(`div`,{style:{marginTop:12,wordBreak:`break-word`},children:`The world’s first self-verifying harmonik Kurrensy. Bound by breath. Ankored in Kairos. Forged by pulse.`}),(0,q.jsxs)(`div`,{className:`verifier-cta`,role:`group`,"aria-label":`Offline verifier actions`,style:OT,children:[(0,q.jsxs)(`button`,{type:`button`,className:`verifier-btn`,onClick:()=>hn(`verifier.html`),"aria-label":`Open Offline Verifier`,children:[(0,q.jsx)(`span`,{className:`icon`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`label`,children:[`Open `,(0,q.jsx)(`em`,{children:`Offline Verifier`}),(0,q.jsx)(`small`,{children:`No network • Σ → sha256 → Φ in-browser`})]})]}),(0,q.jsxs)(`button`,{type:`button`,className:`verifier-btn verifier-btn--ghost`,onClick:gn,"aria-label":`Download verifier.html`,children:[(0,q.jsx)(`span`,{className:`icon dl`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`label`,children:[`Download `,(0,q.jsx)(`em`,{children:`verifier.html`}),(0,q.jsx)(`small`,{children:`Single file • Keep forever • Offline`})]})]})]}),(0,q.jsxs)(`dl`,{className:`kv`,children:[(0,q.jsx)(`dt`,{children:`Pulse`}),(0,q.jsx)(`dd`,{children:Lt.pulse}),(0,q.jsx)(`dt`,{children:`Beat`}),(0,q.jsx)(`dd`,{children:Lt.beat}),(0,q.jsx)(`dt`,{children:`Step`}),(0,q.jsxs)(`dd`,{children:[Lt.stepIndex,`/`,Lt.stepsPerBeat]}),(0,q.jsx)(`dt`,{children:`Spiral`}),(0,q.jsx)(`dd`,{children:Lt.chakraDay}),(0,q.jsx)(`dt`,{children:`Intention`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{children:Lt.intention??`—`})}),(0,q.jsx)(`dt`,{children:`Σ string`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.sigmaString})}),(0,q.jsx)(`dt`,{children:`sha256(Σ)`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.sigmaHash})}),(0,q.jsx)(`dt`,{children:`Φ (derived)`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.derivedPhiKey})}),Lt.payloadKaiSignature&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{children:`SVG kaiSignature`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.payloadKaiSignature})})]}),Lt.payloadUserPhiKey&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{children:`SVG userPhiKey`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.payloadUserPhiKey})})]})]}),(0,q.jsxs)(`div`,{className:`sp-breathproof__actions`,style:{display:`flex`,flexWrap:`wrap`,gap:8},children:[(0,q.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.sigmaString,`Σ string copied`),children:`Remember Σ string`}),(0,q.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.sigmaHash,`sha256(Σ) copied`),children:`Remember sha256(Σ)`}),(0,q.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.derivedPhiKey,`Derived Φ copied`),children:`Remember Φ`}),(0,q.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(JSON.stringify({pulse:Lt.pulse,beat:Lt.beat,stepsPerBeat:Lt.stepsPerBeat,stepIndex:Lt.stepIndex,chakraDay:Lt.chakraDay,intention:Lt.intention,sigmaString:Lt.sigmaString,sigmaHash:Lt.sigmaHash,derivedPhiKey:Lt.derivedPhiKey,payloadKaiSignature:Lt.payloadKaiSignature,payloadUserPhiKey:Lt.payloadUserPhiKey,matches:Lt.matches},null,2),`Breath proof JSON copied`),children:`Remember JSON`})]})]})}),document.body),(vn?.debits?.length??0)>0&&(0,q.jsxs)(`div`,{className:`sp-card sp-debits`,role:`region`,"aria-label":`Debit summary and ledger`,children:[(0,q.jsxs)(`div`,{className:`sp-debits__summary`,children:[(0,q.jsxs)(`div`,{className:`auth-badge auth-badge--debited`,children:[`Exhaled Φ: `,(0,q.jsx)(`strong`,{children:EC(yn)})]}),(0,q.jsxs)(`div`,{className:`auth-badge auth-badge--available`,children:[`Available Φ: `,(0,q.jsx)(`strong`,{children:EC(bn)})]})]}),(0,q.jsx)(`h3`,{children:`Resonanse Stream`}),(0,q.jsx)(`ul`,{className:`sp-debits__list`,children:(vn?.debits??[]).map(e=>(0,q.jsxs)(`li`,{className:`sp-debits__item`,children:[(0,q.jsxs)(`span`,{className:`sp-debits__who`,children:[`Exhale `,EC(e.amount),` Φ to`,` `,(0,q.jsxs)(`abbr`,{title:e.recipientPhiKey,children:[(e.recipientPhiKey||``).slice(0,12),`…`]})]}),(0,q.jsxs)(`span`,{className:`sp-debits__amt`,children:[EC(e.amount),` Φ`]}),(0,q.jsxs)(`span`,{className:`sp-debits__meta`,children:[`Pulse `,e.timestamp]})]},e.nonce))})]}),(Wn.length>0||On.length>0)&&(0,q.jsxs)(`div`,{className:`sp-card sp-lineage`,role:`region`,"aria-label":`Lineage`,children:[Wn.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`h3`,{className:`sp-lineage__title`,children:`Ansestry Path`}),(0,q.jsx)(`ol`,{className:`sp-lineage__path`,"aria-label":`Ancestor lineage path`,children:Wn.map((e,t)=>(0,q.jsxs)(`li`,{className:`sp-lineage__node`,children:[(0,q.jsx)(`span`,{className:`sp-lineage__badge`,title:`Depth ${e.depth}`,children:e.depth}),(0,q.jsxs)(`code`,{className:`sp-lineage__token`,title:`Token ${e.token}`,children:[e.token.slice(0,10),`…`]}),(0,q.jsxs)(`span`,{className:`sp-lineage__meta`,children:[EC(e.amount),` Φ • Pulse `,e.timestamp,e.senderPhiKey?(0,q.jsxs)(q.Fragment,{children:[` • from `,(0,q.jsxs)(`abbr`,{title:e.senderPhiKey,children:[e.senderPhiKey.slice(0,10),`…`]})]}):null]})]},`${e.token}-${t}`))})]}),On.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`h3`,{className:`sp-lineage__title`,children:`Exhaled From This Breath`}),(0,q.jsx)(`ul`,{className:`sp-lineage__desc`,"aria-label":`Direct descendants minted here`,children:On.slice().sort((e,t)=>(e.timestamp||0)-(t.timestamp||0)).map(e=>(0,q.jsx)(`li`,{className:`sp-lineage__desc-item`,children:(0,q.jsxs)(`div`,{className:`row`,children:[(0,q.jsxs)(`span`,{className:`who`,children:[`Derivative `,(0,q.jsxs)(`code`,{title:e.token,children:[e.token.slice(0,10),`…`]}),` → `,EC(e.amount),` Φ`,e.recipientPhiKey?(0,q.jsxs)(q.Fragment,{children:[` to `,(0,q.jsxs)(`abbr`,{title:e.recipientPhiKey,children:[e.recipientPhiKey.slice(0,10),`…`]})]}):null]}),(0,q.jsxs)(`span`,{className:`meta`,children:[`Pulse `,e.timestamp]})]})},e.token))})]})]}),(0,q.jsx)(Me,{hasPayload:!!z,showError:rn,expired:!!wt,exporting:pe,posterExporting:he,isFutureSealed:Et,isArchived:sn,claimPress:en,stargatePress:Kt,posterPress:zt,sendAmount:Nn,setSendAmount:Pn,onSend:Fn,sendBusy:Ee,ownerVerified:cn}),z?.provenance&&z.provenance.length>0&&(0,q.jsx)(it,{entries:z.provenance,steps:Ot}),(0,q.jsx)(`p`,{className:`sp-fine`,children:`Determinate sigil-glyph; the hash mirrors the law-true payload. All Origin and Stewardship are embedded in the Φkey metadata. Sovereign. End-to-end.`}),(0,q.jsx)(OS,{isArchived:sn,ownerVerified:cn,ownershipMsg:x,onVerifyOwnershipFile:$t}),(0,q.jsxs)(`div`,{className:`owner-gated`,children:[cn&&(0,q.jsxs)(`div`,{className:`sp-card`,style:{padding:16,margin:`8px 0 16px`},children:[(0,q.jsx)(`h3`,{style:{marginTop:0},children:`Exhale Φ`}),(0,q.jsxs)(`div`,{className:`auth-badge auth-badge--checking`,style:{marginBottom:12},children:[`Available Φ:\xA0`,(0,q.jsx)(`strong`,{children:EC(bn)})]}),(0,q.jsxs)(`div`,{className:`owner-grid`,style:{display:`grid`,gridTemplateColumns:`minmax(120px,180px) minmax(120px,160px) minmax(120px,160px)`,gap:12,alignItems:`center`},children:[(0,q.jsx)(`input`,{id:`send-amount`,name:`send-amount`,type:`number`,inputMode:`decimal`,enterKeyHint:`done`,step:`0.000001`,min:0,placeholder:`Amount`,value:Nn,onChange:e=>{let t=e.currentTarget.value.replace(/,/g,`.`),n=parseFloat(t);Pn(Number.isFinite(n)&&n>=0?n:0)},onWheel:e=>e.currentTarget.blur(),className:`btn-ghost`,style:{padding:10},"aria-label":`Amount of Φ to send`,autoComplete:`off`,spellCheck:!1}),(0,q.jsx)(`input`,{id:`claim-window`,name:`claim-window`,type:`number`,inputMode:`numeric`,enterKeyHint:`done`,min:1,step:1,placeholder:`Claim window`,value:Ce,onChange:e=>we(Math.max(1,Math.floor(Number(e.currentTarget.value)||0))),onWheel:e=>e.currentTarget.blur(),className:`btn-ghost`,style:{padding:10},"aria-label":`Inhale Step amount`,title:`How long the resipient has to inhale`,autoComplete:`off`,spellCheck:!1}),(0,q.jsxs)(`select`,{value:xe,onChange:e=>Se(e.currentTarget.value),className:`btn-ghost`,style:{padding:10},"aria-label":`Inhale time unit`,title:`Breaths or steps`,children:[(0,q.jsx)(`option`,{value:`breaths`,children:`breaths`}),(0,q.jsx)(`option`,{value:`steps`,children:`steps`})]})]}),(0,q.jsxs)(`div`,{className:`owner-actions`,style:{marginTop:12,display:`flex`,gap:12,alignItems:`center`},children:[(0,q.jsx)(`button`,{type:`button`,className:`btn-primary`,onClick:Fn,disabled:!Number.isFinite(Nn)||Nn<=0||Nn>bn||Ee,"aria-label":`Exhale Φ now`,title:Ee?`Exhale in progress…`:`Exhale Φ now`,children:`💨`}),(0,q.jsxs)(`div`,{style:{opacity:.85},children:[`Logs to the resonanse stream, updates the Sigil-Glyph, & exhales a derivative Φkey with a inhale time of `,(0,q.jsx)(`strong`,{children:Ce}),` `,xe,`.`]})]})]}),(0,q.jsx)(`section`,{className:`sigil-tools`}),(0,q.jsx)(vt,{isArchived:sn,ownerVerified:cn,onAttachFile:Xt,attachment:H,payloadAttachment:z?.attachment,derivedOwnerPhiKey:un,derivedKaiSig:fn,expiryUnit:xe,setExpiryUnit:Se,expiryAmount:Ce,setExpiryAmount:we,onSealPress:{onPointerUp:e=>{e.pointerType&&e.pointerType!==`mouse`&&mn(e)},onClick:e=>mn(e)},payload:z,localHash:J,isFutureSealed:Et})]}),(0,q.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:C})]})}),(0,q.jsx)(CS,{open:Bt&&!!Ht,src:Ht,onClose:Gt,closePress:qt}),(0,q.jsx)(R,{open:Le,url:ze,hash:Ve,onClose:Gn,onDownloadZip:()=>{en.onClick?.(new MouseEvent(`click`))}}),(0,q.jsx)(FS,{open:Ae&&ln&&!Pe,onClose:()=>Ne(!1),legacyHash:a,modernHash:J,currentPayload:z,onVerified:e=>{ce(e)},onGenerateLink:async e=>{let t=Qt(e,(J||e.canonicalHash||``).toLowerCase(),!0);return t&&(Ie(),Ne(!1)),t}})]})}export{KT as default}; \ No newline at end of file + `});return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`title`,{children:j}),(0,q.jsx)(`desc`,{children:`Chakra-tinted QR with ~50% module opacity and contrast-preserving veil. Sacred seal sits outside the quiet zone.`}),me,he,_e,ve,be,xe,Se,ge,Te,Ee,(0,q.jsx)(`g`,{className:`qr-mod-layer`,shapeRendering:`crispEdges`,style:{mixBlendMode:`normal`,isolation:`isolate`},children:U}),(0,q.jsx)(`rect`,{x:H.x,y:H.y,width:H.s,height:H.s,fill:`transparent`,pointerEvents:`auto`,onClick:()=>j&&window.open(j,`_blank`)})]})},[j,n,r,a,o,l,u,d,f,p,m,g,_,v,y,b,x,S,C,w,T,E,e]);if(!M)return null;if(D===`group`){let t=k??O/2,r=A??O/2,i=t-n/2,a=r-n/2;return(0,q.jsx)(`g`,{id:`${e}-group`,transform:`translate(${i},${a})`,style:{cursor:`pointer`},"aria-label":`Scannable QR code (Atlantean, chakra-tinted, sealed)`,"data-qr-url":j||``,children:M})}return(0,q.jsx)(`svg`,{id:`${e}-svg`,xmlns:`http://www.w3.org/2000/svg`,width:n,height:n,viewBox:`0 0 ${n} ${n}`,shapeRendering:`crispEdges`,style:{background:`none`,cursor:`pointer`},"aria-label":`Scannable QR code (Atlantean, chakra-tinted, sealed)`,"data-qr-url":j||``,onClick:()=>j&&window.open(j,`_blank`),children:M})}var fw=F(ne(),1);const pw=1024,mw=2048,hw=1200;function gw(e,t){let n=e.querySelector(`defs`);n||(n=e.ownerDocument.createElementNS(H.SVG_NS,`defs`),e.insertBefore(n,e.firstChild));let r=`ep-neon-glow`;if(!e.querySelector(`#${r}`)){let t=e.ownerDocument.createElementNS(H.SVG_NS,`filter`);t.setAttribute(`id`,r),t.setAttribute(`x`,`-50%`),t.setAttribute(`y`,`-50%`),t.setAttribute(`width`,`200%`),t.setAttribute(`height`,`200%`);let i=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);i.setAttribute(`stdDeviation`,`3`),i.setAttribute(`result`,`b1`);let a=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);a.setAttribute(`in`,`SourceGraphic`),a.setAttribute(`stdDeviation`,`1.2`),a.setAttribute(`result`,`b2`);let o=e.ownerDocument.createElementNS(H.SVG_NS,`feMerge`),s=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);s.setAttribute(`in`,`b1`);let c=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);c.setAttribute(`in`,`b2`);let l=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);l.setAttribute(`in`,`SourceGraphic`),o.appendChild(s),o.appendChild(c),o.appendChild(l),t.appendChild(i),t.appendChild(a),t.appendChild(o),n.appendChild(t)}let i=`ep-gloss-gradient`;if(!e.querySelector(`#${i}`)){let t=e.ownerDocument.createElementNS(H.SVG_NS,`linearGradient`);t.setAttribute(`id`,i),t.setAttribute(`x1`,`0`),t.setAttribute(`y1`,`0`),t.setAttribute(`x2`,`0`),t.setAttribute(`y2`,`1`);let r=e.ownerDocument.createElementNS(H.SVG_NS,`stop`);r.setAttribute(`offset`,`0%`),r.setAttribute(`stop-color`,`rgba(255,255,255,0.15)`);let a=e.ownerDocument.createElementNS(H.SVG_NS,`stop`);a.setAttribute(`offset`,`100%`),a.setAttribute(`stop-color`,`rgba(255,255,255,0.05)`),t.appendChild(r),t.appendChild(a),n.appendChild(t)}let a=`ep-bar-outer-glow`;if(!e.querySelector(`#${a}`)){let r=e.ownerDocument.createElementNS(H.SVG_NS,`filter`);r.setAttribute(`id`,a),r.setAttribute(`x`,`-50%`),r.setAttribute(`y`,`-50%`),r.setAttribute(`width`,`200%`),r.setAttribute(`height`,`200%`);let i=e.ownerDocument.createElementNS(H.SVG_NS,`feFlood`);i.setAttribute(`flood-color`,t),i.setAttribute(`flood-opacity`,`0.5`),i.setAttribute(`result`,`c`);let o=e.ownerDocument.createElementNS(H.SVG_NS,`feComposite`);o.setAttribute(`in`,`c`),o.setAttribute(`in2`,`SourceAlpha`),o.setAttribute(`operator`,`in`),o.setAttribute(`result`,`glow`);let s=e.ownerDocument.createElementNS(H.SVG_NS,`feGaussianBlur`);s.setAttribute(`in`,`glow`),s.setAttribute(`stdDeviation`,`4`),s.setAttribute(`result`,`blurGlow`);let c=e.ownerDocument.createElementNS(H.SVG_NS,`feMerge`),l=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);l.setAttribute(`in`,`blurGlow`);let u=e.ownerDocument.createElementNS(H.SVG_NS,`feMergeNode`);u.setAttribute(`in`,`SourceGraphic`),c.appendChild(l),c.appendChild(u),r.appendChild(i),r.appendChild(o),r.appendChild(s),r.appendChild(c),n.appendChild(r)}return{neonId:`ep-neon-glow`,glossId:`ep-gloss-gradient`,barGlowId:`ep-bar-outer-glow`}}async function _w(e,t){let{accent:n,qrUrl:r}=t,i=(e.getAttribute(`viewBox`)||`0 0 ${e.getAttribute(`width`)||1024} ${e.getAttribute(`height`)||1024}`).trim().split(/\s+/).map(Number),a=i[0]||0,o=i[1]||0,s=i[2]||1024,c=i[3]||1024,l=e.ownerDocument.createElementNS(H.SVG_NS,`g`);l.setAttribute(`data-export-qr`,`1`);let u=Math.min(s,c),d=Math.max(u*.035,18),f=Math.max(u*.1,96),p=await fw.toDataURL(r,{margin:0,color:{dark:n,light:`#00000000`},scale:8}),m=e.ownerDocument.createElementNS(H.SVG_NS,`image`);m.setAttributeNS(H.XLINK_NS,`xlink:href`,p),m.setAttribute(`href`,p),m.setAttribute(`x`,String(a+d)),m.setAttribute(`y`,String(o+c-f-d)),m.setAttribute(`width`,String(f)),m.setAttribute(`height`,String(f)),m.setAttribute(`preserveAspectRatio`,`xMidYMid meet`),l.appendChild(m),e.appendChild(l)}async function vw(e,t=pw,n){let r=e.cloneNode(!0);if(ae(r,t),z(r),ce(r,n?.title||`Kairos Sigil-Glyph — Sealed Kairos Moment`,n?.desc||`Deterministic sigil-glyph with sovereign metadata.`),n?.metaOverride){let e=oe(r);e.textContent=JSON.stringify(n.metaOverride)}if(r.querySelectorAll(`[data-export-qr="1"],[data-export-pulsebar="1"]`).forEach(e=>e.parentNode?.removeChild(e)),n?.addQR&&await _w(r,n.addQR),n?.addPulseBar){let{accent:e,pulseNumber:i}=n.addPulseBar,{barGlowId:a,neonId:o,glossId:s}=gw(r,e),c=(r.getAttribute(`viewBox`)||`0 0 ${t} ${t}`).split(/\s+/).map(Number),[l,u,d,f]=[c[0]||0,c[1]||0,c[2]||t,c[3]||t],p=r.ownerDocument.createElementNS(H.SVG_NS,`g`);p.setAttribute(`data-export-pulsebar`,`1`);let m=Math.min(d,f),h=Math.max(m*.035,18),g=Math.max(m*.34,320),_=Math.max(m*.085,96),v=Math.max(_*.22,18),y=l+d-g-h,b=u+f-_-h,x=r.ownerDocument.createElementNS(H.SVG_NS,`rect`);x.setAttribute(`x`,String(y)),x.setAttribute(`y`,String(b)),x.setAttribute(`rx`,String(v)),x.setAttribute(`ry`,String(v)),x.setAttribute(`width`,String(g)),x.setAttribute(`height`,String(_)),x.setAttribute(`fill`,`url(#${s})`),x.setAttribute(`stroke`,`rgba(255,255,255,0.16)`),x.setAttribute(`stroke-width`,String(Math.max(1.5,m*.0018))),x.setAttribute(`filter`,`url(#${a})`),p.appendChild(x);let S=r.ownerDocument.createElementNS(H.SVG_NS,`text`);S.setAttribute(`x`,String(y+g/2)),S.setAttribute(`y`,String(b+_/2+Math.max(6,_*.06))),S.setAttribute(`text-anchor`,`middle`),S.setAttribute(`dominant-baseline`,`middle`),S.setAttribute(`fill`,e),S.setAttribute(`filter`,`url(#${o})`),S.setAttribute(`font-weight`,`900`),S.setAttribute(`font-family`,`Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial`),S.setAttribute(`font-size`,String(Math.floor(_*.46))),S.textContent=i.toLocaleString(),p.appendChild(S),r.appendChild(p)}let i=new XMLSerializer().serializeToString(r),a=i.startsWith(`\n${i}`;return new Blob([a],{type:`image/svg+xml;charset=utf-8`})}async function yw(e,t=pw){let n=URL.createObjectURL(e);try{let e=new Image;await new Promise((t,r)=>{e.onload=()=>t(),e.onerror=r,e.src=n});let r=document.createElement(`canvas`);r.width=t,r.height=t;let i=r.getContext(`2d`);if(!i)throw Error(`Canvas unsupported`);return i.drawImage(e,0,0,t,t),await new Promise((e,t)=>r.toBlob(n=>n?e(n):t(Error(`PNG encode failed`)),`image/png`))}finally{URL.revokeObjectURL(n)}}const bw=`sigil-debits-v1`,xw=(e,t)=>t?`sigil:debits:${e}:t:${t}`:`sigil:debits:${e}`,Sw=(e,t)=>e===xw(t)||e.startsWith(`${xw(t)}:t:`),Cw=(e,t)=>{let n=`sigil:debits:${t}`;if(e===n)return null;let r=`${n}:t:`;return e.startsWith(r)?e.slice(r.length):void 0};function ww(e){let t=new TextEncoder().encode(e),n=``;for(let e=0;e0&&typeof t.recipientPhiKey==`string`&&t.recipientPhiKey.length>0&&typeof t.amount==`number`&&Number.isFinite(t.amount)&&t.amount>0&&typeof t.timestamp==`number`&&Number.isFinite(t.timestamp)}function Ow(e){if(!e)return null;try{let t=JSON.parse(Tw(e));if(typeof t!=`object`||!t)return null;let n={},r=t;if(typeof r.originalAmount==`number`&&Number.isFinite(r.originalAmount)&&(n.originalAmount=r.originalAmount),Array.isArray(r.debits)){let e=[];for(let t of r.debits)Dw(t)&&e.push(t);e.length&&(n.debits=e)}return n}catch{return null}}function kw(e,t){try{let n=new URL(window.location.href),r=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount),i=Array.isArray(e.debits)&&e.debits.length>0;!r&&!i?n.searchParams.delete(`d`):n.searchParams.set(`d`,Ew(e));let a=`${n.pathname}${n.search}${n.hash}`;t?.navigate?window.location.replace(a):window.history.replaceState(null,``,a)}catch{}}function Aw(e,t){let n=(e||``).toLowerCase();if(!n)return null;try{let e=t?localStorage.getItem(xw(n,t)):null;if(e)return Ow(e);let r=localStorage.getItem(xw(n));return r?Ow(r):null}catch{return null}}function jw(e,t,n){let r=(e||``).toLowerCase();if(r)try{localStorage.setItem(xw(r,n),Ew(t))}catch{}}function Mw(e){let t=new Set,n=[];for(let r of e)!r||typeof r.nonce!=`string`||t.has(r.nonce)||(t.add(r.nonce),n.push(r));return n.sort((e,t)=>(e.timestamp||0)-(t.timestamp||0))}function Nw(e,t){let n={},r=typeof e?.originalAmount==`number`?e.originalAmount:void 0,i=typeof t?.originalAmount==`number`?t.originalAmount:void 0;n.originalAmount=typeof r==`number`?r:typeof i==`number`?i:void 0;let a=Array.isArray(e?.debits)?e.debits:[],o=Array.isArray(t?.debits)?t.debits:[],s=Mw([...a,...o]);return s.length&&(n.debits=s),n}function Pw(e,t){let n=typeof e?.originalAmount==`number`&&Number.isFinite(e.originalAmount)?Number(e.originalAmount):NaN,r=typeof t?.originalAmount==`number`&&Number.isFinite(t.originalAmount)?Number(t.originalAmount):NaN,i=Number.isNaN(n)&&Number.isNaN(r)||Math.abs(n-r)<1e-12,a=new Set((Array.isArray(e?.debits)?e.debits:[]).map(e=>e?.nonce)),o=new Set((Array.isArray(t?.debits)?t.debits:[]).map(e=>e?.nonce));if(!i||a.size!==o.size)return!1;for(let e of a)if(!o.has(e))return!1;return!0}function Fw(e,t,n,r){kw(e,{navigate:!!r?.navigate});let i=(t||``).toLowerCase();if(i&&(jw(i,e,n??null),r?.broadcast!==!1))try{let t=new BroadcastChannel(bw),r={type:`debits`,canonical:i,qs:Ew(e),stamp:Date.now(),token:n??null};t.postMessage(r),t.close()}catch{}}function Iw(e,t,n){let r=Ow(t.get(`d`)),i=Nw(n?Aw(e,n):Aw(e,null),r);return{merged:i,urlIsStale:!Pw(i,r)}}function Lw(e){try{let t=new URL(e,window.location.origin).pathname.match(/\/s\/([0-9a-fA-F]+)/);return t?t[1].toLowerCase():null}catch{return null}}function Rw(e){if(typeof e==`string`)switch(e.trim().toLowerCase().replace(/\s+/g,` `)){case`root`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solarplexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`thirdeye`:return`Third Eye`;case`crown`:return`Crown`;default:return}}function zw(e){return e===`breaths`||e===`steps`?e:void 0}var Bw=e=>!!e&&typeof e==`object`,Vw=e=>{if(!Bw(e))return!1;let t=`u`in e&&`b`in e,n=`d`in e;return t||n},Hw=e=>typeof e==`number`&&Number.isFinite(e)?e:void 0,Uw=e=>typeof e==`string`&&e.trim()?e:void 0;function Ww(e){if(!e)return{};try{let t=String(e).trim(),n=!1;/^c:/i.test(t)&&(t=t.slice(2),n=!0);let r=JSON.parse(Tw(t));if(n||Vw(r)){let e=r,t={},n=Hw(e.u),i=Hw(e.b),a=Hw(e.d),o=Hw(e.s),s=Rw(e.c);return n!==void 0&&(t.pulse=n),i!==void 0&&(t.beat=i),a!==void 0&&(t.stepsPerBeat=a),o!==void 0&&(t.stepIndex=o),s!==void 0&&(t.chakraDay=s),t}if(Bw(r)){let e=r,t={},n=Hw(e.pulse),i=Hw(e.beat),a=Hw(e.stepsPerBeat),o=Hw(e.stepIndex),s=Rw(e.chakraDay),c=Uw(e.canonicalHash),l=Uw(e.kaiSignature),u=Uw(e.userPhiKey),d=Uw(e.transferNonce),f=Hw(e.expiresAtPulse),p=zw(e.claimExtendUnit),m=Hw(e.claimExtendAmount);return n!==void 0&&(t.pulse=n),i!==void 0&&(t.beat=i),a!==void 0&&(t.stepsPerBeat=a),o!==void 0&&(t.stepIndex=o),s!==void 0&&(t.chakraDay=s),c!==void 0&&(t.canonicalHash=c.toLowerCase()),l!==void 0&&(t.kaiSignature=l),u!==void 0&&(t.userPhiKey=u),d!==void 0&&(t.transferNonce=d),f!==void 0&&(t.expiresAtPulse=f),p!==void 0&&(t.claimExtendUnit=p),m!==void 0&&(t.claimExtendAmount=m),Array.isArray(e.lineage)&&(t.lineage=e.lineage),t}return{}}catch{return{}}}function Gw(e,n){let r={...e};typeof n.expiresAtPulse==`number`&&(r.expiresAtPulse=n.expiresAtPulse),n.claimExtendUnit!=null&&(r.claimExtendUnit=n.claimExtendUnit),typeof n.claimExtendAmount==`number`&&(r.claimExtendAmount=n.claimExtendAmount),typeof n.pulse==`number`&&(r.pulse=n.pulse),typeof n.beat==`number`&&(r.beat=n.beat),typeof n.stepsPerBeat==`number`&&(r.stepsPerBeat=n.stepsPerBeat),n.chakraDay!==void 0&&(r.chakraDay=n.chakraDay),n.canonicalHash&&(r.canonicalHash=String(n.canonicalHash).toLowerCase()),n.kaiSignature&&(r.kaiSignature=n.kaiSignature),n.userPhiKey&&(r.userPhiKey=n.userPhiKey),n.transferNonce&&(r.transferNonce=n.transferNonce),Array.isArray(n.lineage)&&(r.lineage=n.lineage);let i=typeof r.stepsPerBeat==`number`&&Number.isFinite(r.stepsPerBeat)?r.stepsPerBeat:t,a=Hw(n?.stepIndex),o=Hw(r.stepIndex);return a===void 0?o===void 0?typeof r.pulse==`number`&&Number.isFinite(r.pulse)&&(r.stepIndex=A(r.pulse,i)):r.stepIndex=o:r.stepIndex=a,r}function Kw(e,t){try{let n=new URL(e,window.location.origin),r=Gw(Ww(n.searchParams.get(`p`)),t);return r.canonicalHash&&=String(r.canonicalHash).toLowerCase(),n.searchParams.set(`p`,ww(JSON.stringify(r))),n.toString()}catch{return e}}function qw(e,t,n){let r=[e?.canonicalHash,t,n?.matchedHash];for(let e of r)if(typeof e==`string`&&e.trim())return e.toLowerCase();return null}function Jw(e,t){return typeof e==`string`&&e.trim()?e:typeof t?.transferNonce==`string`&&t.transferNonce.trim()?t.transferNonce:null}async function Yw(e){let{stageEl:t,payload:n,localHash:r,routeHash:i,qr:a,onToast:o}=e;if(!t)return o(`No stage found`);try{await new Promise(e=>requestAnimationFrame(()=>e()));let e=(await S(async()=>{let{default:e}=await import(`./html2canvas-DAnQay-S.js`).then(M(1));return{default:e}},__vite__mapDeps([0,1,2,3]))).default,c=await e(t,{backgroundColor:null}),l=document.createElement(`canvas`);l.width=mw,l.height=mw;let u=l.getContext(`2d`);if(!u)throw Error(`No canvas context`);u.clearRect(0,0,l.width,l.height);let d=Math.floor(mw*.06),f=mw-d*2,p=mw-d*2,m=c.width,h=c.height,g=Math.min(f/m,p/h),_=Math.floor(m*g),v=Math.floor(h*g),y=Math.floor((mw-_)/2),b=Math.floor((mw-v)/2);u.drawImage(c,y,b,_,v);let x=n?.chakraDay??`Throat`,C=cC[x]?.accent||`#00FFD0`,w=TC(x,typeof n?.stepPct==`number`?n.stepPct:n?n.pulse%11/11:0,r||void 0),T=Math.max(mw*.33,720),E=Math.max(mw*.08,160),D=Math.max(E*.24,30),O=mw-T-d,k=mw-E-d;u.save(),u.shadowColor=C,u.shadowBlur=Math.max(18,Math.floor(mw*.012));let A=u.createLinearGradient(0,k,0,k+E);A.addColorStop(0,`rgba(255,255,255,0.16)`),A.addColorStop(1,`rgba(255,255,255,0.05)`),s(u,O,k,T,E,D),u.fillStyle=A,u.fill(),u.shadowBlur=0,u.lineWidth=Math.max(2,Math.floor(mw*.0016)),u.strokeStyle=`rgba(255,255,255,0.18)`,u.stroke();let j=(n?.pulse??0).toLocaleString();u.textBaseline=`alphabetic`,u.fillStyle=w,u.font=`900 ${Math.floor(E*.48)}px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial`,u.shadowColor=w,u.shadowBlur=Math.max(16,Math.floor(mw*.008));let N=u.measureText(j).width,P=Math.floor(O+T/2-N/2),F=Math.floor(k+E/2+E*.18);u.fillText(j,P,F),u.restore();let I=Math.floor(mw*.32),ee=Math.floor((mw-I)/2),te=Math.floor((mw-I)/2),L=Xw({provided:a.url,payload:n,localHash:r,routeHash:i}),R=(0,RC.renderToStaticMarkup)((0,q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 1000 1000`,children:(0,q.jsx)(dw,{uid:a.uid,url:L,size:800,phaseHue:a.hue,phaseColor:a.accent,animate:!1,pulseMs:5236})})),ne=new Blob([R],{type:`image/svg+xml;charset=utf-8`}),re=URL.createObjectURL(ne);await new Promise((e,t)=>{let n=new Image;n.onload=()=>{try{u.drawImage(n,ee,te,I,I)}finally{URL.revokeObjectURL(re),e()}},n.onerror=e=>{URL.revokeObjectURL(re),t(e)},n.src=re});let z=await new Promise((e,t)=>{l.toBlob(n=>{if(!n){t(Error(`No PNG blob created`));return}e(n)},`image/png`)}),B=URL.createObjectURL(z),ie=document.createElement(`a`);ie.href=B,ie.download=`sigil_poster_${(r||i||`mint`).slice(0,16)}.png`,document.body.appendChild(ie),ie.click(),ie.remove(),requestAnimationFrame(()=>URL.revokeObjectURL(B)),o(`Public key PNG saved`)}catch(e){console.error(e),o(`Poster export failed`)}function s(e,t,n,r,i,a){e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath()}}function Xw(e){let{provided:t,payload:n,localHash:r,routeHash:i}=e,a=t&&Zw(t)?t:(typeof window<`u`?window.location.href:``)||``;if(!n)return a;try{let e=(n.canonicalHash||r||i||``).toLowerCase();if(!e)return a;let t=new URL(a,typeof window<`u`?window.location.origin:`https://local.test`);t.pathname=`/s/${e}`;let o=n.transferNonce||t.searchParams.get(`t`);o&&t.searchParams.set(`t`,o);let s=`${t.pathname}${t.search}${t.hash}`;return Kw(s,n)||s}catch{return a}}function Zw(e){try{let t=new URL(e,typeof window<`u`?window.location.origin:`https://local.test`);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function Qw(e){let t=JSON.stringify(e);return btoa(unescape(encodeURIComponent(t))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function $w(e,t,n){let r=new URL(e,typeof window<`u`?window.location.origin:`http://localhost`);return r.searchParams.set(`p`,Qw(t)),n&&r.searchParams.set(`t`,n),r.toString()}function eT(e){if(typeof e!=`object`||!e)return JSON.stringify(e);if(Array.isArray(e))return`[`+e.map(eT).join(`,`)+`]`;let t=e;return`{`+Object.keys(t).sort().map(e=>JSON.stringify(e)+`:`+eT(t[e])).join(`,`)+`}`}function tT(e){switch(String(e??``).trim().toLowerCase()){case`root`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solar_plexus`:case`solar-plexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`third_eye`:case`third-eye`:return`Third Eye`;case`crown`:return`Crown`;default:return`Root`}}function nT(e,t){let n={pulse:e.pulse,beat:e.beat,chakraDay:tT(e.chakraDay),stepsPerBeat:e.stepsPerBeat??void 0,stepIndex:t,userPhiKey:e.userPhiKey??void 0,kaiSignature:e.kaiSignature??void 0,canonicalHash:e.canonicalHash??void 0,transferNonce:e.transferNonce??void 0,expiresAtPulse:e.expiresAtPulse??void 0,claimExtendUnit:e.claimExtendUnit??void 0,claimExtendAmount:e.claimExtendAmount??void 0,attachment:e.attachment??void 0,provenance:e.provenance??void 0};return Object.keys(n).forEach(e=>{n[e]===void 0&&delete n[e]}),n}function rT(e){return{pulse:e.pulse,beat:e.beat,stepIndex:e.stepIndex,chakraDay:tT(e.chakraDay),stepsPerBeat:e.stepsPerBeat??void 0,userPhiKey:e.userPhiKey??void 0,kaiSignature:e.kaiSignature??void 0}}function iT(e,t){e.setAttribute(`data-share-url`,t),e.querySelectorAll(`a`).forEach(e=>{e.setAttribute(`href`,t);try{e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,t)}catch{}});let n=/\bu=([^·\n\r]+?)(?=\s*·|$)/;e.querySelectorAll(`text`).forEach(e=>{let r=e.textContent||``;n.test(r)&&(e.textContent=r.replace(n,`u=${t}`))})}async function aT(e){let{expired:t,exporting:n,setExporting:r,svgEl:i,payload:a,isFutureSealed:o,linkStatus:s,setToast:c,expiryUnit:l,expiryAmount:u,localHash:d,routeHash:p,transferToken:m,getKaiPulseEternalInt:h,stepIndexFromPulse:g,STEPS_PER_BEAT:v}=e;if(t)return vC(c,`Seal window closed`);if(!n){if(!i)return vC(c,`No SVG found`);if(!a)return vC(c,`No payload`);if(o)return vC(c,`Opens after the moment—claim unlocks then`);if(s!==`active`)return vC(c,`Archived link — cannot claim from here`);try{r(!0);let e=`sigil_${(d||p||`mint`).slice(0,16)}`,t=a.stepsPerBeat??v,n=g(a.pulse,t),o=h(new Date),s=g(o,t),y=nT(a,n),b={...tC(a.userPhiKey||``,a.kaiSignature??void 0,y,`claim`,a.attachment?.name??void 0,o),stepIndex:n,atStepIndex:s},x={...a,exportedAtPulse:o,stepIndex:n,stepsPerBeat:t,provenance:[...a.provenance??[],b],claimExtendUnit:a.claimExtendUnit??l,claimExtendAmount:a.claimExtendAmount??u,canonicalHash:(d||a.canonicalHash||p||null)?.toString()??null},C=await P(f(x.pulse,x.beat,n,String(x.chakraDay??``),_(nT(x,n)))),w=await I(C),T={...x,kaiSignature:C,userPhiKey:x.userPhiKey||w},E=(d||p||``).toLowerCase(),O=rT({pulse:T.pulse,beat:T.beat,stepIndex:n,chakraDay:T.chakraDay??null,stepsPerBeat:t,userPhiKey:T.userPhiKey??null,kaiSignature:T.kaiSignature??null}),k=$w(D(E,O),O,T.transferNonce??m??void 0),{putMetadata:A}=await S(async()=>{let{putMetadata:e}=await import(`./svgMeta-CaCIL9_A.js`);return{putMetadata:e}},__vite__mapDeps([4,5,2,3])),j={...T,stepsPerBeat:t,shareUrl:k,fullUrl:k};A(i,j);try{i.setAttribute(`data-step-index`,String(n));let e=i.querySelector(`metadata#sigil-display`);e||(e=document.createElementNS(`http://www.w3.org/2000/svg`,`metadata`),e.setAttribute(`id`,`sigil-display`),e.setAttribute(`data-noncanonical`,`1`),i.appendChild(e)),e.textContent=JSON.stringify({stepIndex:n,stepsPerBeat:t})}catch{console.debug(`Display metadata write failed`)}NC(i,T.pulse,T.beat,n),AC(i),iT(i,k);let M=null,N=null;try{let e=new URL(k);M=e.searchParams.get(`p`),N=e.searchParams.get(`t`)}catch{console.debug(`URL parse failed`)}let F=await vw(i,pw,{metaOverride:j,addQR:!1,addPulseBar:!1,title:`Kairos Sigil-Glyph — Sealed KairosMoment`,desc:`Deterministic sigil-glyph with sovereign metadata. Exported as archived key.`}),ee=await yw(F,pw),te=await P(new Uint8Array(await F.arrayBuffer())),L=await P(new Uint8Array(await ee.arrayBuffer())),R=new(await(yC()));R.file(`${e}.svg`,F),R.file(`${e}.png`,ee);let ne={hashAlg:`sha256`,canon:`sorted keys + UTF-8 + no whitespace`,hash:d||p||``,canonicalHash:T.canonicalHash??null,pulse:T.pulse,beat:T.beat,stepIndex:n,atStepIndex:s,chakraDay:T.chakraDay??null,userPhiKey:T.userPhiKey??null,kaiSignature:T.kaiSignature??null,transferNonce:T.transferNonce??null,expiresAtPulse:T.expiresAtPulse??null,exportedAtPulse:T.exportedAtPulse??null,claimedAtPulse:o,overlays:{qr:!1,eternalPulseBar:!1},assets:{[`${e}.svg`]:te,[`${e}.png`]:L},claimExtendUnit:T.claimExtendUnit??null,claimExtendAmount:T.claimExtendAmount??null,fullUrl:k,p:M,urlQuery:{p:M,t:N}},re=await P(eT(ne)),z={...ne,manifestHash:re};R.file(`${e}.manifest.json`,JSON.stringify(z,null,2));let B=await R.generateAsync({type:`blob`}),ie=URL.createObjectURL(B),ae=document.createElement(`a`);ae.href=ie,ae.download=`${e}.zip`,document.body.appendChild(ae),ae.click(),ae.remove(),requestAnimationFrame(()=>URL.revokeObjectURL(ie)),vC(c,`Access key generated`)}catch(e){console.error(e),vC(c,`Claim failed`)}finally{r(!1)}}}function oT(e){let{stageId:t,payload:n,localHash:r,setOgImgUrl:i,setMeta:a,seoTitle:o,seoDesc:s}=e,c=!1,l=null,u=async()=>{let e=document.getElementById(t);if(!e||!n){i(null),a(`property`,`og:image`,``),a(`property`,`og:image:alt`,``),a(`property`,`og:image:width`,``),a(`property`,`og:image:height`,``),a(`name`,`twitter:image`,``);return}try{let t=n.chakraDay??`Throat`,l=cC[t]?.accent||`#00FFD0`,u=n.pulse||0,f=n.stepsPerBeat??44,p=Math.floor(n.pulse%(f*11)/11),m=TC(t,typeof n.stepPct==`number`?n.stepPct:n.pulse%11/11,r||void 0),h=`Pulse ${u.toLocaleString()} • Beat ${n.beat}/36 • Step ${p+1}/${f} • ${t}`,g=await(0,ue.default)(e),_=document.createElement(`canvas`);_.width=hw,_.height=630;let v=_.getContext(`2d`);if(!v)throw Error(`Canvas unsupported`);let y=v.createLinearGradient(0,0,hw,630);y.addColorStop(0,`rgba(0,0,0,0.92)`),y.addColorStop(1,`rgba(0,0,0,0.70)`),v.fillStyle=y,v.fillRect(0,0,hw,630),v.save(),v.globalCompositeOperation=`lighter`;let b=v.createRadialGradient(hw*.8,630*.2,20,hw*.8,630*.2,600);b.addColorStop(0,`${l}CC`),b.addColorStop(1,`rgba(0,0,0,0)`),v.fillStyle=b,v.beginPath(),v.arc(hw*.8,630*.2,600,0,Math.PI*2),v.fill(),v.restore();let x=Math.floor(hw*.52),S=Math.min(x/g.width,558/g.height),C=Math.floor(g.width*S),w=Math.floor(g.height*S),T=36+Math.floor((x-C)/2),E=36+Math.floor((558-w)/2);v.drawImage(g,T,E,C,w);let D=36+x+32,O=hw-D-36;v.fillStyle=`#EAFBFF`,v.font=`700 38px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,v.fillText(`Kairos Sigil-Glyph — Sealed Kairos Moment`,D,94),v.fillStyle=`rgba(255,255,255,0.82)`,v.font=`400 24px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,d(v,`“${o}” — ${s}`,D,136,O,30);let k=`${u.toLocaleString()}`;v.textBaseline=`alphabetic`,v.font=`900 120px Inter, ui-sans-serif, -apple-system, Segoe UI, Roboto`,v.shadowColor=m,v.shadowBlur=20,v.fillStyle=m;let A=v.measureText(k).width,j=D+Math.floor((O-A)/2);v.fillText(k,j,554),v.shadowBlur=0;let M=_.toDataURL(`image/png`);if(c)return;i(M),a(`property`,`og:image`,M),a(`property`,`og:image:alt`,h),a(`property`,`og:image:type`,`image/png`),a(`property`,`og:image:width`,`1200`),a(`property`,`og:image:height`,`630`),a(`name`,`twitter:image`,M)}catch{if(c)return;i(null)}};return l=bC(()=>{c||u()}),()=>{c=!0,l!=null&&xC(l)};function d(e,t,n,r,i,a){let o=t.split(` `),s=``;for(let t=0;ti&&t>0?(e.fillText(s,n,r),s=o[t]+` `,r+=a):s=c}e.fillText(s.trim(),n,r)}}function sT(e){switch(String(e??``).trim().toLowerCase()){case`root`:case`earth`:case`earth gate`:return`Root`;case`sacral`:return`Sacral`;case`solar plexus`:case`solar_plexus`:case`solar-plexus`:return`Solar Plexus`;case`heart`:return`Heart`;case`throat`:return`Throat`;case`third eye`:case`third_eye`:case`third-eye`:return`Third Eye`;case`crown`:return`Crown`;default:return`Root`}}function cT(){return crypto.getRandomValues(new Uint32Array(4)).join(``)}function lT(e){let{meta:t,stepIndex:n,stepsPerBeat:r}=e;return{pulse:t.pulse,beat:t.beat,stepIndex:n,chakraDay:sT(t.chakraDay),stepsPerBeat:r,userPhiKey:t.userPhiKey??void 0,kaiSignature:t.kaiSignature??void 0}}function uT(e,t,n){let r=e.stepIndex;return typeof r==`number`&&Number.isFinite(r)&&r>=0&&rJSON.stringify({canonicalHash:e.canonicalHash,token:e.token,expiresAtPulse:e.expiresAtPulse,issuedAt:e.issuedAt,version:e.version},pT),hT=e=>btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``);const gT=e=>hT(new TextEncoder().encode(mT(e)));async function _T(e){try{let t=await fetch(`/api/sign-claim`,{method:`POST`,headers:{"content-type":`text/plain;charset=UTF-8`},body:mT(e)});if(!t.ok)return null;let n=await t.json();return!n||!n.s||!n.kid?null:{r:n.r??gT(e),s:n.s,kid:n.kid}}catch{return null}}function vT(e,t,n,r){e.searchParams.set(`r`,t),e.searchParams.set(`s`,n),e.searchParams.set(`kid`,r)}function yT(e,t,n,r){V(e,{registryClaim:gT(t),registrySig:n,registryKid:r})}function bT(e,t,n){return{canonicalHash:t.toLowerCase(),token:n,expiresAtPulse:e.expiresAtPulse??null,issuedAt:Math.floor(Date.now()/1e3),version:1}}function xT(){if(typeof window>`u`||typeof document>`u`){let e=()=>{},t=()=>{};return{openModal:t,closeModal:t,disable:e,teardown:e,destroy:e}}let e=document,t=e.body,n=[`.sp-breathproof__backdrop`,`.stargate-overlay`,`.valuechart-backdrop`,`.sp-modal`,`.ownership-overlay`],r={".sp-breathproof__backdrop":`.sp-breathproof`,".valuechart-backdrop":`.valuechart`,".ownership-overlay":`.ownership-panel`,".stargate-overlay":`.stargate-content, .stargate-frame, .stargate__content`,".sp-modal":`.sp-modal__content, .sp-modal__card, .sp-card`},i={capture:!0,passive:!1},a={capture:!0},o=0,s=0,c=0,l=``,u=``,d=``,f=``,p=``,m=()=>{o===0&&(s=window.scrollY||e.documentElement.scrollTop||0,c=window.scrollX||e.documentElement.scrollLeft||0,l=t.style.top,u=t.style.left,d=t.style.width,f=t.style.position,p=t.style.overflow,t.style.position=`fixed`,t.style.top=`-${s}px`,t.style.left=`-${c}px`,t.style.width=`100%`,t.style.overflow=`hidden`,t.classList.add(`modal-open`,`bp-open`)),o++},h=()=>{o=Math.max(0,o-1),!(o>0)&&(t.style.position=f,t.style.top=l,t.style.left=u,t.style.width=d,t.style.overflow=p,requestAnimationFrame(()=>{window.scrollTo(c,s)}),t.classList.remove(`modal-open`),t.classList.remove(`bp-open`))},g=e=>{if(!e)return!1;let t=window.getComputedStyle(e);return!(t.display===`none`||t.visibility===`hidden`||e.hasAttribute(`hidden`))},_=()=>{let t=[];return n.forEach(n=>{e.querySelectorAll(n).forEach(e=>{g(e)&&t.push(e)})}),t},v=t=>{if(!t)return null;let r=t;for(;r&&r!==e.documentElement;){for(let e of n)if(r.matches(e))return r;r=r.parentElement}return null},y=(e,t)=>{if(!e||!t)return!1;let i=n.find(t=>e.matches(t))||``,a=i?r[i]:``;return a&&e.querySelector(a)?!t.closest(a):t===e},b=()=>{_().length>0?m():h()},x=e=>{e&&(e.classList.add(`is-open`),e.removeAttribute(`hidden`),b())},S=e=>{e&&(e.classList.remove(`is-open`),e.setAttribute(`hidden`,``),b())},C=e=>{let t=e.target;if(!t)return;let n=t.closest(`.sp-breathproof__close, .stargate-exit, .sp-modal__close, .sealmoment__close, [data-modal-close], [data-dismiss="modal"], button[aria-label="Close"], button[aria-label="close"]`);if(n){let t=v(n);t&&(S(t),e.preventDefault(),e.stopPropagation());return}let r=v(t);if(r&&y(r,t)&&r.getAttribute(`data-backdrop-dismiss`)!==`false`){S(r),e.preventDefault(),e.stopPropagation();return}},w=e=>{if(_().length===0)return;let t=e.target;if(!t)return;let n=t.closest(`[data-scroll], .sp-breathproof, .valuechart, .ownership-panel, .sp-modal__content, .sp-card, .stargate-content`);if(!n){e.preventDefault(),e.stopPropagation();return}if(!(n.scrollHeight>n.clientHeight)){e.preventDefault(),e.stopPropagation();return}},T=e=>{if(e.key!==`Escape`)return;let t=_();if(t.length===0)return;let n=t[t.length-1];n.getAttribute(`data-escape-dismiss`)!==`false`&&(S(n),e.preventDefault(),e.stopPropagation())};e.addEventListener(`click`,C,i),e.addEventListener(`pointerup`,C,i),e.addEventListener(`touchend`,C,i),e.addEventListener(`touchmove`,w,i),e.addEventListener(`keydown`,T,i),b();let E=()=>{e.removeEventListener(`click`,C,a),e.removeEventListener(`pointerup`,C,a),e.removeEventListener(`touchend`,C,a),e.removeEventListener(`touchmove`,w,a),e.removeEventListener(`keydown`,T,a);try{o=1,h()}catch{}};return{openModal:x,closeModal:S,disable:E,teardown:E,destroy:E}}var ST=F(L(),1),CT=1e-9,wT=`sigil-sendlock-v1`,TT=(e,t)=>`sigil:sendlock:${e}:t:${t}`,ET=15e3,DT=()=>Date.now(),OT={"--phi-url":`url(/assets/phi.svg)`},kT=e=>{try{return new URL(e,window.location.origin).toString()}catch{return e}},AT=(e,t)=>{let n=crypto.getRandomValues(new Uint32Array(4)).join(``);if(!e||!t)return{ok:!1,id:n};let r=TT(e.toLowerCase(),t);try{let i=localStorage.getItem(r),a=i?JSON.parse(i):null,o=!a||!Number.isFinite(a.at)||DT()-a.at>ET;if(!a||o){localStorage.setItem(r,JSON.stringify({id:n,at:DT()}));try{let r=new BroadcastChannel(wT),i={type:`lock`,canonical:e.toLowerCase(),token:t,id:n,at:DT()};r.postMessage(i),r.close()}catch{}return{ok:!0,id:n}}}catch{}return{ok:!1,id:n}},jT=(e,t,n)=>{if(!e||!t)return;let r=TT(e.toLowerCase(),t);try{let i=localStorage.getItem(r),a=i?JSON.parse(i):null;if(!a||a.id===n){localStorage.removeItem(r);try{let r=new BroadcastChannel(wT),i={type:`unlock`,canonical:e.toLowerCase(),token:t,id:n,at:DT()};r.postMessage(i),r.close()}catch{}}}catch{}},MT=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.amount==`number`&&Number.isFinite(t.amount)&&t.amount>0&&typeof t.nonce==`string`&&t.nonce.length>0&&typeof t.timestamp==`number`&&Number.isFinite(t.timestamp)&&(typeof t.recipientPhiKey==`string`||t.recipientPhiKey===void 0)},NT=e=>{if(!Array.isArray(e))return 0;let t=0;for(let n of e)MT(n)&&(t+=n.amount);return t},PT=e=>[...e].sort((e,t)=>{let n=(e.timestamp||0)-(t.timestamp||0);return n===0?e.nonce.localeCompare(t.nonce):n}),FT=e=>{let t=new Set,n=[];for(let r of e)MT(r)&&(t.has(r.nonce)||(t.add(r.nonce),n.push(r)));return n},IT=e=>{let t=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount)?e.originalAmount:NaN,n=PT(Array.isArray(e.debits)?FT(e.debits):[]);if(!Number.isFinite(t))return{originalAmount:e.originalAmount,debits:n.length?n:void 0};let r=[],i=0;for(let e of n)MT(e)&&i+e.amount<=t+CT&&(r.push(e),i+=e.amount);return{originalAmount:t,debits:r.length?r:void 0}},LT=e=>e===`breaths`||e===`steps`,RT=`sigil-lineage-v1`,zT=(e,t)=>t?`sigil:desc:${e}:t:${t}`:`sigil:desc:${e}`,BT=`sigil-xfer-v1`,VT=e=>`sigil:rotated:${e}`,HT=(e,t)=>{Array.from(new Set(e.map(e=>e.toLowerCase()).filter(Boolean))).forEach(e=>{try{localStorage.setItem(VT(e),`${t}@${Date.now()}`)}catch{}try{let n=new BroadcastChannel(BT);n.postMessage({type:`rotated`,canonical:e,token:t}),n.close()}catch{}try{window.dispatchEvent(new CustomEvent(`sigil:transfer-rotated`,{detail:{canonical:e,token:t}}))}catch{}})};function UT(e,t){let n=(e||``).toLowerCase();if(!n||!t)return[];try{let e=localStorage.getItem(zT(n,t));if(!e)return[];let r=JSON.parse(e);return Array.isArray(r)?r:[]}catch{return[]}}function WT(e,t,n){let r=(e||``).toLowerCase();if(!(!r||!t))try{localStorage.setItem(zT(r,t),JSON.stringify(n||[]))}catch{}}function GT(e,t,n){try{let r=new BroadcastChannel(RT),i={type:`descendants`,canonical:e.toLowerCase(),token:t,list:n,stamp:Date.now()};r.postMessage(i),r.close()}catch{}}function KT(){let{hash:n}=v(),r=w(),i=k(),a=(n??``).toLowerCase(),s=(0,K.useMemo)(()=>new URLSearchParams(r.search),[r.search]),c=s.get(`t`),[l,d]=(0,K.useState)(`checking`),[h,g]=(0,K.useState)(`checking`),[y,b]=(0,K.useState)(!1),[x,S]=(0,K.useState)(`Awaiting Proof Of Breath™`),[C,T]=(0,K.useState)(``),[j,M]=(0,K.useState)(320),N=(0,K.useRef)(null),{payload:F,setPayload:te,loading:L,setLoading:ne}=hC(r.search),z=F,{pulse:ie,msToNextPulse:ae}=le(),[oe,ce]=(0,K.useState)(null),[H,ue]=(0,K.useState)(null),[pe,me]=(0,K.useState)(!1),[he,ge]=(0,K.useState)(!1),[_e,ve]=(0,K.useState)(``),[ye,be]=(0,K.useState)(``),[xe,Se]=(0,K.useState)(`breaths`),[Ce,we]=(0,K.useState)(44),[J,Te]=(0,K.useState)(``),[Ee,De]=(0,K.useState)(!1),Oe=(0,K.useRef)(``),ke=(0,K.useMemo)(()=>a?`sigil:legacy-upgraded:${a}`:``,[a]),[Ae,Ne]=(0,K.useState)(!1),[Pe,Fe]=(0,K.useState)(!1);(0,K.useEffect)(()=>{if(ke)try{Fe(localStorage.getItem(ke)===`1`)}catch{}},[ke]);let Ie=(0,K.useCallback)(()=>{if(ke){try{localStorage.setItem(ke,`1`)}catch{}Fe(!0),vC(T,`Upgraded — legacy link locked`)}},[ke]),[Le,Re]=(0,K.useState)(!1),[ze,Be]=(0,K.useState)(``),[Ve,He]=(0,K.useState)(``),[Ue,We]=(0,K.useState)(`checking`),[Ge,Ke]=(0,K.useState)(null);(0,K.useEffect)(()=>{let e=Array.from(new Set([z?.canonicalHash,a,J].filter(Boolean).map(e=>e.toLowerCase())));if(e.length===0)return;let t=()=>{let t=null;try{for(let n of e){let e=localStorage.getItem(VT(n)),r=e?String(e).split(`@`)[0]:null;if(r){t=r;break}}}catch{}Ke(t)};t();let n=null;try{n=new BroadcastChannel(BT),n.onmessage=t=>{let n=t.data;if(n?.type===`rotated`){let t=(n.canonical||``).toLowerCase();e.includes(t)&&Ke(n.token||null)}}}catch{}let r=n=>{if(n.key){for(let r of e)if(n.key===VT(r)){t();break}}};return window.addEventListener(`storage`,r,{passive:!0}),()=>{if(window.removeEventListener(`storage`,r),n&&typeof n.close==`function`)try{n.close()}catch{}}},[z?.canonicalHash,a,J]);let qe=(0,K.useCallback)(async(e,t,n,r,i)=>{try{let a=bT(e,t,n),o=await _T(a);if(!o)return r;let s=new URL(r,window.location.origin);return vT(s,o.r,o.s,o.kid),i&&yT(i,a,o.s,o.kid),s.toString()}catch{return r}},[]);(0,K.useEffect)(()=>{let e=null;try{e=new BroadcastChannel(wT),e.onmessage=()=>{}}catch{}return()=>{if(e&&typeof e.close==`function`)try{e.close()}catch{}}},[]),(0,K.useEffect)(()=>{let e=xT();return()=>{e.destroy?.(),e.teardown?.(),e.disable?.()}},[]);let[Je,Ye]=(0,K.useState)(0),[Xe,Ze]=(0,K.useState)(!1),[Qe,$e]=(0,K.useState)(null),et=(0,K.useMemo)(()=>{let e=[z?.canonicalHash,J,oe?.canonicalHash,Qe?.matchedHash].filter(Boolean).map(e=>e.toLowerCase());return Array.from(new Set(e))},[z?.canonicalHash,J,oe?.canonicalHash,Qe]);(0,K.useLayoutEffect)(()=>{PC()},[]),(0,K.useEffect)(()=>{let e=cC[z?.chakraDay??`Throat`]??{hue:180,accent:`#00FFD0`},t=document.querySelector(`.sigilpage`);t&&(t.style.setProperty(`--crystal-hue`,String(e.hue)),t.style.setProperty(`--crystal-accent`,e.accent))},[z?.chakraDay]);let[tt,nt]=(0,K.useState)(null),{valSeal:rt,livePrice:at,priceFlash:ot}=W({payload:z,urlSearchParams:s,currentPulse:ie,routeHash:a}),st=s.get(`h`)??``;(0,K.useEffect)(()=>{if(!st){nt(e=>e===null?e:null);return}try{let e=ee(DC(st.trim()));nt(t=>Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every((t,n)=>t===e[n])?t:e)}catch{nt(e=>e===null?e:null)}},[st]);let ct=(0,K.useCallback)((e,n)=>{let r=e.stepsPerBeat??t,i=n.stepsPerBeat??t,a=A(e.pulse,r),o=A(n.pulse,i);return e.pulse===n.pulse&&e.beat===n.beat&&a===o&&e.chakraDay===n.chakraDay},[]),lt=(0,K.useMemo)(()=>typeof window<`u`?new URL(window.location.href).toString():`${`/s/${encodeURIComponent(n??``)}`}${r.search||``}${r.hash||``}`,[n,r.search,r.hash]),ut=(0,K.useMemo)(()=>n?n.slice(0,16):`—`,[n]),dt=(0,K.useCallback)(async(e,t=`Copied`)=>{try{return await navigator.clipboard.writeText(e),vC(T,t),!0}catch{return vC(T,`Copy failed`),!1}},[]),ft=(0,K.useCallback)(async()=>{try{let e=navigator;typeof e?.share==`function`?(await e.share({title:`Kairos Sigil-glyph`,text:`Sealed Kairos Moment`,url:lt}),vC(T,`Share sheet opened`)):await dt(lt,`Link copied`)}catch{}},[lt,dt]);(0,K.useEffect)(()=>{let e=Date.now(),t=(a||``).toLowerCase();if(Je>e||!t||et.length===0)return;let n=et.includes(t),r=h,i=l;!n&&J&&t!==J&&!Qe||!n&&(Qe||Ue===`archived`)?r=`authentic`:(r=n?`authentic`:`forged`,l!==`verified`&&(i=n?`ok`:`mismatch`)),r!==h&&g(r),i!==l&&d(i)},[et,a,Ue,Je,Qe,J,h,l]);let[pt,mt]=(0,K.useState)(null),ht=(0,K.useDeferredValue)(z),gt=(0,K.useMemo)(()=>{let e=ht?.stepsPerBeat??t,r=ht?A(ht.pulse,e):0,i=ht?.chakraDay??`Throat`,a=(ht?.userPhiKey??``).slice(0,12),o=(ht?.pulse??0).toLocaleString();return{title:`☤Kai Sigil-Glyph — ${n?n.slice(0,16):`—`}`,desc:ht?`Sealed Sigil-Glyph • Pulse ${o} • Beat ${ht.beat}/36 • Step ${r}/${e} • ${i}${a?` • Owner ${a}…`:``}.`:`Sealed Sigil-Glyph`}},[ht,n]);(0,K.useEffect)(()=>{let e=lt;document.title=gt.title;let n=oC(`canonical`);n.href=e,iC(`name`,`theme-color`,cC[z?.chakraDay??`Throat`]?.accent||`#00FFD0`),iC(`property`,`og:title`,gt.title),iC(`property`,`og:description`,gt.desc),iC(`property`,`og:type`,`website`),iC(`property`,`og:url`,e),iC(`name`,`twitter:card`,`summary_large_image`),iC(`name`,`twitter:title`,gt.title),iC(`name`,`twitter:description`,gt.desc),iC(`property`,`og:site_name`,`Kairos Harmonik Kingdom`);let r=z?.stepsPerBeat??t,i=z?A(z.pulse,r):0,a=z,o=z??{},s={"@context":`https://schema.org`,"@type":`VisualArtwork`,name:gt.title,description:gt.desc,url:e,image:pt||void 0,genre:`Sigil-Glyph`,identifier:[{"@type":`PropertyValue`,name:`pulse`,value:z?.pulse??null},{"@type":`PropertyValue`,name:`beat`,value:z?.beat??null},{"@type":`PropertyValue`,name:`stepIndex`,value:i},{"@type":`PropertyValue`,name:`stepsPerBeat`,value:r},{"@type":`PropertyValue`,name:`chakraDay`,value:z?.chakraDay??null},{"@type":`PropertyValue`,name:`userPhiKey`,value:z?.userPhiKey??null},{"@type":`PropertyValue`,name:`kaiSignature`,value:z?.kaiSignature??null},{"@type":`PropertyValue`,name:`canonicalHash`,value:(z?.canonicalHash??J)||null},{"@type":`PropertyValue`,name:`expiresAtPulse`,value:z?.expiresAtPulse??null},{"@type":`PropertyValue`,name:`transferNonce`,value:new URLSearchParams(location.search).get(`t`)??z?.transferNonce??null},{"@type":`PropertyValue`,name:`claimExtendUnit`,value:LT(o.claimExtendUnit)?o.claimExtendUnit:null},{"@type":`PropertyValue`,name:`claimExtendAmount`,value:o.claimExtendAmount??null},{"@type":`PropertyValue`,name:`historyLiteCount`,value:tt?.length??0}].filter(e=>e.value!=null)};a?.lineage?.length&&s.identifier.push({"@type":`PropertyValue`,name:`lineageDepth`,value:a.lineage.length}),sC(`sigil-jsonld`,s)},[lt,gt.title,gt.desc,z,pt,J,tt?.length]),(0,K.useEffect)(()=>oT({stageId:`sigil-stage`,payload:z?{...z}:null,localHash:J,setOgImgUrl:mt,setMeta:iC,seoTitle:gt.title,seoDesc:gt.desc}),[z,J,j,gt.title,gt.desc]),(0,K.useLayoutEffect)(()=>(document.documentElement.classList.add(`sigil-scroll`),()=>document.documentElement.classList.remove(`sigil-scroll`)),[]),(0,K.useEffect)(()=>{let e=0,t=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>{let e=window.innerWidth,t=window.innerHeight,n=e<640?Math.max(220,Math.min(360,t*.48)):Math.max(160,Math.min(320,t*.35)),r=Math.max(160,Math.min(640,Math.min(e,t-n))),i=N.current?.clientWidth??e,a=Math.max(160,Math.min(640,i-24));M(Math.round(Math.min(r,a)))})},n=N.current??document.body,r=new ResizeObserver(()=>t());return r.observe(n),window.addEventListener(`resize`,t,{passive:!0}),t(),()=>{r.disconnect(),window.removeEventListener(`resize`,t),cancelAnimationFrame(e)}},[]),(0,K.useEffect)(()=>{L?(d(e=>e===`verified`?`verified`:`checking`),g(e=>e===`authentic`?`authentic`:`checking`),b(!1),S(`Awaiting Verifikation`)):z||(d(e=>e===`verified`?`verified`:a?`notfound`:`checking`),g(e=>e===`authentic`?`authentic`:a?`forged`:`checking`))},[L,z,a]);let _t=e=>Array.isArray(e)?[...e].map(e=>({nonce:e.nonce,amount:Number.isFinite(e.amount)?Number(e.amount):0,recipient:e.recipientPhiKey??``,ts:e.timestamp??``})).sort((e,t)=>e.nonce.localeCompare(t.nonce)).map(e=>`${e.nonce}:${e.amount}:${e.recipient}:${e.ts}`).join(`|`):``;(0,K.useEffect)(()=>{let e=Ow(s.get(`d`));if(!e)return;let t=qw(z??null,J,Qe),n=Jw(c,z??null),r=IT(e);t&&jw(t,r,n);let i=typeof r.originalAmount==`number`?r.originalAmount:void 0,a=Array.isArray(r.debits)?r.debits:void 0;te(e=>{if(!e)return e;let t=e,n=(t.originalAmount??void 0)===i,r=_t(t.debits)===_t(a);if(n&&r)return e;let o={...e};return i!==void 0&&(o.originalAmount=i),a&&(o.debits=a,o.totalDebited=NT(a)),o})},[s,z,J,Qe,c,te]);let[yt,bt]=(0,K.useState)(!1),xt=(0,K.useRef)(!1);(0,K.useEffect)(()=>{let e=qw(z??null,J,Qe);if(!e)return;let t=Jw(c,z??null),{merged:n,urlIsStale:r}=Iw(e,s,t),i=IT(n);r&&bt(!0),Fw(i,e,t,{broadcast:!1,navigate:r});let a=typeof i.originalAmount==`number`?i.originalAmount:void 0,o=Array.isArray(i.debits)?i.debits:void 0;te(e=>{if(!e)return e;let t=e,n=(t.originalAmount??void 0)===a,r=_t(t.debits)===_t(o);if(n&&r)return e;let i={...e};return a!==void 0&&(i.originalAmount=a),o&&(i.debits=o,i.totalDebited=NT(o)),i})},[z?.canonicalHash,J,Qe,s,c,te]),(0,K.useEffect)(()=>{if(xt.current||!z?.canonicalHash)return;let e=z.canonicalHash.toLowerCase();if(a&&e&&e!==a&&Ue===`active`&&!Qe){xt.current=!0;let t=new URL(window.location.href);t.pathname=`/s/${e}`,i(`${t.pathname}${t.search}${t.hash}`,{replace:!0})}},[z?.canonicalHash,a,Ue,Qe,i]),(0,K.useEffect)(()=>{if(!xt.current&&z&&!z.canonicalHash&&J&&a&&J!==a&&Ue===`active`&&!Qe){xt.current=!0;let e=new URL(window.location.href);e.pathname=`/s/${J}`,i(`${e.pathname}${e.search}${e.hash}`,{replace:!0})}},[z?.canonicalHash,J,a,Ue,Qe,i]),(0,K.useEffect)(()=>{let e=et;if(!e.length)return;let t=Jw(c,z??null),n=(e,t)=>{let n={};typeof e?.originalAmount==`number`&&(n.originalAmount=e.originalAmount),n.originalAmount===void 0&&typeof t?.originalAmount==`number`&&(n.originalAmount=t.originalAmount);let r=Array.isArray(e?.debits)?e.debits:[],i=Array.isArray(t?.debits)?t.debits:[],a=FT([...r,...i]);return IT({originalAmount:n.originalAmount,debits:a})},r=(e,t)=>{let n=IT(e??{}),r=IT(t??{}),i=typeof n.originalAmount==`number`?n.originalAmount:NaN,a=typeof r.originalAmount==`number`?r.originalAmount:NaN,o=Number.isNaN(i)&&Number.isNaN(a)||Math.abs(i-a)e.nonce)),c=new Set((Array.isArray(r.debits)?r.debits:[]).map(e=>e.nonce));if(!o||s.size!==c.size)return!1;for(let e of s)if(!c.has(e))return!1;return!0},i=(i,a,o)=>{let s=i.toLowerCase();if(!e.includes(s))return;let c=t??null;if(c!==(o??null))return;let l=Ow(a);if(!l)return;let u=Ow(new URLSearchParams(window.location.search).get(`d`)),d=n(u,l);r(u,d)||(Fw(d,s,c,{broadcast:!1}),te(e=>{if(!e)return e;let t={...e};return typeof d.originalAmount==`number`&&(t.originalAmount=d.originalAmount),Array.isArray(d.debits)&&(t.debits=d.debits,t.totalDebited=NT(d.debits)),t}))},a=null;try{a=new BroadcastChannel(bw),a.onmessage=e=>{let t=e.data;t?.type===`debits`&&t.canonical&&t.qs&&i(t.canonical,t.qs,t.token)}}catch{}let o=t=>{if(!(!t.key||typeof t.newValue!=`string`))for(let n of e){if(!Sw(t.key,n))continue;let e=Cw(t.key,n);i(n,t.newValue,e);break}};return window.addEventListener(`storage`,o,{passive:!0}),()=>{if(window.removeEventListener(`storage`,o),a&&typeof a.close==`function`)try{a.close()}catch{}}},[et,c,z,te]);let St=(0,K.useMemo)(()=>z?typeof z.expiresAtPulse==`number`?z.expiresAtPulse:z.pulse+11:null,[z]),Ct=(0,K.useMemo)(()=>ie==null||St==null?null:Math.max(0,St-ie),[ie,St]),wt=(0,K.useMemo)(()=>Ct===0,[Ct]),Tt=(0,K.useMemo)(()=>ie==null||!z?null:Math.max(0,z.pulse-ie),[z,ie]),Et=(0,K.useMemo)(()=>ie==null||!z?!1:z.pulse>ie,[z,ie]),Dt=z?.chakraDay??`Throat`,Ot=z?.stepsPerBeat??t,kt=A(z?.pulse??0,Ot),At=e(z?.pulse??0),jt=(0,K.useMemo)(()=>{if(!z?.canonicalHash||typeof z.stepIndex!=`number`)return null;let e=z.stepsPerBeat??t;return D(z.canonicalHash.toLowerCase(),{pulse:z.pulse,beat:z.beat,stepIndex:z.stepIndex,chakraDay:z.chakraDay??`Root`,stepsPerBeat:e,kaiSignature:z.kaiSignature??void 0,userPhiKey:z.userPhiKey??void 0})},[z,t]),Mt=(0,K.useMemo)(()=>`hsl(${((cC[Dt]?.hue??180)+(J&&/^[0-9a-f]+$/i.test(J)?parseInt(J.slice(-2),16)%12:0)*2.5)%360} 100% ${50+15*Math.sin(At*2*Math.PI)}%)`,[Dt,At,J]),Nt=cC[Dt]?.hue??180,Pt=(0,K.useMemo)(()=>`qr-${(J||a||`seed`).slice(0,12)}-${Dt}-${kt}`,[J,a,Dt,kt]),[Ft,It]=(0,K.useState)(!1),[Lt,Rt]=(0,K.useState)(null);(0,K.useEffect)(()=>{let e=!1;return(async()=>{try{if(!z){Rt(null);return}let n=z.stepsPerBeat??t,r=A(z.pulse,n),i=_(z),a=f(z.pulse,z.beat,r,String(z.chakraDay??``),i),o=await P(a),s=await I(o),c=typeof z.kaiSignature==`string`?z.kaiSignature.toLowerCase()===o.toLowerCase():!0,l=typeof z.userPhiKey==`string`?z.userPhiKey.toLowerCase()===s.toLowerCase():!0,u={pulse:z.pulse,beat:z.beat,stepsPerBeat:n,stepIndex:r,chakraDay:String(z.chakraDay??``),intention:i??null,sigmaString:a,sigmaHash:o,derivedPhiKey:s,payloadKaiSignature:z.kaiSignature??null,payloadUserPhiKey:z.userPhiKey??null,matches:{sigma:c,phi:l}};e||Rt(u)}catch{e||Rt(null)}})(),()=>{e=!0}},[z]);let zt=re(async()=>{if(he)return;ge(!0);let e=document.getElementById(`sigil-stage`);try{await Yw({stageEl:e,payload:z,localHash:J,routeHash:a,qr:{uid:Pt,url:lt,hue:Nt,accent:Mt},onToast:e=>vC(T,e)})}finally{ge(!1)}}),[Bt,Vt]=(0,K.useState)(!1),[Ht,Ut]=(0,K.useState)(``),Wt=(0,K.useCallback)(async()=>{let e=N.current;e&&(Ut((await(0,ST.default)(e,{backgroundColor:null})).toDataURL(`image/png`)),Vt(!0))},[]),Gt=(0,K.useCallback)(()=>{Vt(!1),Ut(``)},[]),Kt=re(()=>{Wt()}),qt=re(()=>{Gt()}),Jt=re(()=>It(e=>!e)),Yt=re(()=>Ze(!0)),Xt=(0,K.useCallback)(async e=>{let t=await e.arrayBuffer(),n=e.type||`application/octet-stream`,r=`data:${n};base64,${_C(t)}`;ue({name:e.name,mime:n,size:e.size,dataUri:r}),vC(T,`Remembered ${e.name}`)},[]),Zt=(0,K.useCallback)((e,n)=>{let r=e.stepsPerBeat??t,i=A(e.pulse,r),o=(e.canonicalHash||J||``).toLowerCase(),s=e.claimExtendUnit,c=LT(s)?s:null,l=e.claimExtendAmount,u=typeof l==`number`?l:null,d=dT({pulse:e.pulse,beat:e.beat,chakraDay:e.chakraDay??`Root`,stepsPerBeat:r,stepIndex:i,userPhiKey:e.userPhiKey??null,kaiSignature:e.kaiSignature??null,canonicalHash:o,transferNonce:e.transferNonce??null,expiresAtPulse:e.expiresAtPulse??null,claimExtendUnit:c,claimExtendAmount:u},n,{localHash:J,routeHash:a,stepsPerBeat:t,stepIndexFromPulse:A})?.url||`/s/${o}`;try{let e=new URL(d,window.location.origin);e.pathname=`/s/${o}`;let t=new URLSearchParams(window.location.search).get(`d`);t&&e.searchParams.set(`d`,t),d=e.toString()}catch{}let f=new URL(d,window.location.origin);f.pathname=`/s/${o}`,new URL(window.location.href).searchParams.forEach((e,t)=>{t!==`d`&&f.searchParams.set(t,f.searchParams.get(t)??e)});let p=Lw(d)||o;return Be(d),He(p),Re(!0),d},[J,a]),Qt=(0,K.useCallback)((e,n,r=!0)=>{let o=e.stepsPerBeat??t,s=A(e.pulse,o),c=e.claimExtendUnit,l=LT(c)?c:`breaths`,u=e.claimExtendAmount,d=typeof u==`number`?u:11;return fT({pulse:e.pulse,beat:e.beat,chakraDay:e.chakraDay??`Root`,stepsPerBeat:o,stepIndex:s,userPhiKey:e.userPhiKey??null,kaiSignature:e.kaiSignature??null,canonicalHash:n,transferNonce:e.transferNonce??null,expiresAtPulse:e.expiresAtPulse??null,claimExtendUnit:l,claimExtendAmount:d},n,{localHash:J,routeHash:a,stepsPerBeat:t,stepIndexFromPulse:A,getKaiPulseEternalInt:E,breathsToPulses:B,shareTransferLink:dT,publishRotation:HT,navigate:e=>{if(r)try{i(e)}catch{try{window.location.href=e}catch{}}}})??null},[J,a,i]),$t=(0,K.useCallback)(async e=>{if(b(!1),S(`Verifying…`),!(/image\/svg\+xml/i.test(e.type)||/\.svg$/i.test(e.name))){S(`Unsupported file. Upload an SVG sigil (.svg) only.`);return}let t=null;try{let{ok:n,errors:r,payload:i,meta:a}=U(await e.text());if(!n||!i){S(r[0]||`Invalid SVG.`);return}t=i,ce(a||{})}catch{S(`Invalid or unreadable SVG uploaded.`);return}if(!z||!t){S(`Load or link a sigil first, then verify stewardship.`);return}if(!ct(z,t)){S(`File does not match this sealed kairos moment.`),b(!1);return}if(t.canonicalHash){let e=t.canonicalHash.toLowerCase(),n=(J||``).toLowerCase(),r=(a||``).toLowerCase(),i=n&&e===n,o=r&&e===r;if(!i&&!o){S(`SVG canonicalHash doesn’t match this link’s hash.`),b(!1);return}if(o&&!i){$e({reason:`svg.canonicalHash matched route (legacy)`,matchedHash:e}),g(`authentic`),d(`ok`),We(`archived`),b(!0),S(`Stewardship verified (legacy SVG). Issuing modern link…`),n&&(Qt({...z},n,!0),S(`Legacy verified. Modern transfer link ready.`));return}}if(new Set([c??void 0,z.transferNonce??void 0,t.transferNonce??void 0,Ge??void 0].filter(e=>!!e)).size>1){S(`This is not the active transfer link for that Φkey.`),b(!1);return}b(!0),S(`Stewardship verified`)},[z,ct,J,a,c,Ge,Qt]),en=re(async()=>{if(pe)return;let e=N.current?.querySelector(`svg`),n=z??{},r=LT(n.claimExtendUnit)?n.claimExtendUnit:void 0,i=typeof n.claimExtendAmount==`number`?n.claimExtendAmount:null;await aT({expired:!!wt,exporting:pe,setExporting:me,svgEl:e,payload:z?{pulse:z.pulse,beat:z.beat,chakraDay:z.chakraDay??null,stepsPerBeat:z.stepsPerBeat??void 0,stepIndex:z.stepIndex??null,exportedAtPulse:z.exportedAtPulse??null,canonicalHash:z.canonicalHash??null,userPhiKey:z.userPhiKey??null,kaiSignature:z.kaiSignature??null,transferNonce:z.transferNonce??null,expiresAtPulse:z.expiresAtPulse??null,claimExtendUnit:r,claimExtendAmount:i,attachment:z.attachment??null,provenance:z.provenance??null}:null,isFutureSealed:Et,linkStatus:Ue,setToast:e=>vC(T,e),expiryUnit:xe,expiryAmount:Ce,localHash:J,routeHash:a,transferToken:c??null,getKaiPulseEternalInt:E,stepIndexFromPulse:A,STEPS_PER_BEAT:t})}),tn=(0,K.useCallback)(e=>{let t=typeof e==`string`?e:e?.hash;if(!t)return;let n=t.toLowerCase();Te(e=>e===n?e:n)},[]),nn=L&&!z,rn=l===`notfound`||l===`error`,an=z?.pulse??0,on=((ae??0)/1e3).toFixed(3),sn=Ue===`archived`,cn=y&&!sn,ln=(0,K.useMemo)(()=>h===`authentic`&&sn&&!c&&!!a&&!!J&&a!==J,[h,sn,c,a,J]);(0,K.useEffect)(()=>{if(!z||h!==`authentic`||l===`mismatch`||l===`error`||l===`notfound`)return;let e=!1;return(async()=>{try{let n=z.stepsPerBeat??t,r=A(z.pulse,n),i=_(z),a=await P(f(z.pulse,z.beat,r,String(z.chakraDay??``),i)),o=typeof z.kaiSignature==`string`?z.kaiSignature.toLowerCase()===a.toLowerCase():!0,s=await I(a),c=typeof z.userPhiKey==`string`?z.userPhiKey.toLowerCase()===s.toLowerCase():!0;!e&&o&&c&&l!==`verified`&&d(`verified`)}catch{}})(),()=>{e=!0}},[z,h,l,Ue]),(0,K.useEffect)(()=>{let e=(a||``).toLowerCase(),t=c||null,n=z?.transferNonce||null,r=!!t&&!!n&&t===n&&(St==null||ie==null||ie{let e=!0;return(async()=>{if(!z){dn(``),pn(``);return}let n=(z.canonicalHash||J||``).toLowerCase(),r=E(new Date),i=await FC(z,n,r,p(r),A(r,z.stepsPerBeat??t));e&&(dn(i.ownerPhiKey),pn(i.kaiSig))})(),()=>{e=!1}},[z,J]);let mn=(0,K.useCallback)(async e=>{if(e?.preventDefault?.(),e?.stopPropagation?.(),!z||!J||Et||sn)return;let n=(z.canonicalHash||J||``).toLowerCase(),r=E(new Date),i=await FC(z,n,r,p(r),A(r,z.stepsPerBeat??t));ve(i.ownerPhiKey),be(i.kaiSig),setTimeout(()=>{try{_n()}catch{}},0)},[z,J,Et,sn]),hn=(0,K.useCallback)(e=>{let t=`/${e}`;try{window.location.assign(t)}catch{window.location.href=t}},[]),gn=(0,K.useCallback)(async()=>{try{let e=await(await fetch(`/verifier.inline.html`,{cache:`no-store`})).text(),t=new Blob([e],{type:`text/html`}),n=document.createElement(`a`);n.href=URL.createObjectURL(t),n.download=`verifier.html`,document.body.appendChild(n),n.click(),setTimeout(()=>{URL.revokeObjectURL(n.href),n.remove()},0),vC(T,`Downloading verifier…`)}catch{vC(T,`Download failed`)}},[]);({...Jt});let _n=(0,K.useCallback)(()=>{if(!z)return vC(T,`Nothing to mint`);let e=N.current?.querySelector(`svg`);if(!e)return vC(T,`No Φkey in frame`);if(!J)return vC(T,`Glyph hash not ready yet`);if(Ue!==`active`)return vC(T,`Archived link — cannot exhale from here`);if(Et)return vC(T,`Opens after the moment—claim unlocks then`);let n=eC(oe??{},z.pulse),r=(_e||z.userPhiKey||``).trim();if(!r)return vC(T,`Owner ΦKey required`);let i=Math.max(0,Math.floor(Ce||0)),o=xe===`breaths`?B(i):se(i),s=E(new Date),c=s+o,l=J.toLowerCase(),u=crypto.getRandomValues(new Uint32Array(4)).join(``),d=z.stepsPerBeat??t,p=A(z.pulse,d),m=A(s,d),h={...tC(r,ye||z.kaiSignature,z,n.length?`transfer`:`mint`,(H??z.attachment)?.name,s),stepIndex:p,atStepIndex:m},g={...z,userPhiKey:r,kaiSignature:ye||z.kaiSignature,stepsPerBeat:z.stepsPerBeat??t,attachment:H??z.attachment??void 0,expiresAtPulse:c,canonicalHash:l,transferNonce:u,claimExtendUnit:xe,claimExtendAmount:i,provenance:[...n,h]};(async()=>{let t=await P(f(g.pulse,g.beat,p,String(g.chakraDay??``),_(g))),n=await I(t);g.kaiSignature=t,g.userPhiKey=g.userPhiKey||n;let r=Array.from(new Set([z.canonicalHash,a,J].filter(Boolean).map(e=>e.toLowerCase())));r.length&&HT(r,u),We(`archived`),Ye(Date.now()+250),V(e,g),AC(e),te(g),ce(g),vC(T,`Sealed & archived`);let i=Zt(g,u)||`/s/${l}`;i=await qe(g,l,u,i,e),Be(kT(i)),g.canonicalHash&&HT([g.canonicalHash.toLowerCase()],u),setTimeout(()=>Ye(0),0)})()},[z,oe,_e,ye,H,Ce,xe,J,a,Ue,Et,Zt]),vn=z,yn=(0,K.useMemo)(()=>NT(vn?.debits??[]),[vn?.debits]),bn=(0,K.useMemo)(()=>{let e=(typeof vn?.originalAmount==`number`?vn.originalAmount:rt?.valuePhi??0)-yn;return e>0?e:0},[vn?.originalAmount,rt?.valuePhi,yn]),xn=(vn?.debits?.length??0)>0||typeof vn?.originalAmount==`number`,Sn=(0,K.useMemo)(()=>xn?bn:at??rt?.valuePhi??0,[xn,bn,at,rt?.valuePhi]),Cn=m,{usdPerPhi:wn,phiPerUsd:Tn}=(0,K.useMemo)(()=>{try{let e=ie??E(new Date),t=o({meta:z||{},nowPulse:e,usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},Cn);return{usdPerPhi:t.usdPerPhi??0,phiPerUsd:t.phiPerUsd??0}}catch{return{usdPerPhi:0,phiPerUsd:0}}},[z,ie,Cn]),En=(Sn??0)*(wn||0),Dn=(0,K.useCallback)(async()=>{if(!z)return``;let e=z.stepsPerBeat??t,n=A(z.pulse,e);return await I(z.kaiSignature??await P(f(z.pulse,z.beat,n,String(z.chakraDay??``),_(z))))},[z]),[On,kn]=(0,K.useState)([]),An=(0,K.useCallback)(()=>{kn(UT(qw(z??null,J,Qe),Jw(c,z??null)))},[z,J,Qe,c]);(0,K.useEffect)(()=>{An();let e=null;try{e=new BroadcastChannel(RT),e.onmessage=e=>{let t=e.data;if(!t||t.type!==`descendants`)return;let n=qw(z??null,J,Qe),r=Jw(c,z??null);!n||!r||t.canonical!==n.toLowerCase()||t.token!==r||Array.isArray(t.list)&&kn(t.list)}}catch{}let t=e=>{if(!e.key||!e.newValue)return;let t=qw(z??null,J,Qe),n=Jw(c,z??null);if(!(!t||!n)&&e.key===zT(t,n))try{let t=JSON.parse(e.newValue||`[]`);Array.isArray(t)&&kn(t)}catch{}};return window.addEventListener(`storage`,t,{passive:!0}),()=>{if(e&&typeof e.close==`function`)try{e.close()}catch{}window.removeEventListener(`storage`,t)}},[z,J,Qe,c,An]);let jn=(0,K.useCallback)(async(e,n)=>{if(!z)return null;let r=E(new Date),i=crypto.getRandomValues(new Uint32Array(4)).join(``),a=z.stepsPerBeat??t,o=A(z.pulse,a),s=(J||z.canonicalHash||``).toLowerCase(),l=n??Jw(c,z??null),u=Array.isArray(z.lineage)?[...z.lineage]:[],d=(u[u.length-1]?.depth??0)+1,p={token:i,parentToken:l??null,amount:Number(e.toFixed(6)),timestamp:r,depth:d,senderPhiKey:z.userPhiKey??null},m={...z,userPhiKey:void 0,originalAmount:Number(e.toFixed(6)),mintedAtPulse:r,transferNonce:i,expiresAtPulse:r+(xe===`breaths`?B(Ce):se(Ce)),claimExtendUnit:xe,claimExtendAmount:Ce,canonicalHash:s,lineage:[...u,p]},h=await P(f(m.pulse,m.beat,o,String(m.chakraDay??``),_(m))),g=await I(h);m.kaiSignature=h,m.userPhiKey=g;let v=Zt(m,i)||`/s/${s}`;try{let t=new URL(v,window.location.origin);t.pathname=`/s/${s}`,t.searchParams.set(`d`,Ew({originalAmount:m.originalAmount}));let n=Kw(t.toString(),m);n=await qe(m,s,i,n);let a=Lw(n)||s;jw(a,Ow(new URL(n).searchParams.get(`d`))??{},i);let o=qw(z??null,J,Qe),c=l??null;if(o&&c){let t=[...UT(o,c),{token:i,parentToken:c,amount:Number(e.toFixed(6)),timestamp:r,depth:1,recipientPhiKey:m.userPhiKey}];WT(o,c,t),GT(o,c,t),kn(t)}return Be(kT(n)),He(a),Re(!0),n}catch{let e=Kw(v||`/s/${s}`,m);return Be(e),He(s),Re(!0),e||null}},[z,xe,Ce,J,Zt,Qe,c]);(0,K.useEffect)(()=>{let e=e=>{if(!(e instanceof HTMLElement))return!1;let t=e.tagName.toLowerCase();return t===`input`||t===`textarea`||e.isContentEditable},t=t=>{if(t.defaultPrevented||e(t.target))return;let n=t.key.toLowerCase();t.metaKey||t.ctrlKey||t.altKey||(n===`s`?ft():n===`l`?dt(lt,`Link copied`):n===`h`?J&&dt(J,`Hash copied`):n===`z`?en.onClick?.(new MouseEvent(`click`)):n===`p`?zt.onClick?.(new MouseEvent(`click`)):n===`g`&&Wt())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[ft,dt,lt,J,en,zt,Wt]);let Mn=(0,K.useCallback)(e=>{let t=e?.silent??!0;if(!qw(z??null,J,Qe))return null;let n=Jw(c,z??null);if(n)return n;n=crypto.getRandomValues(new Uint32Array(4)).join(``);try{let e=new URL(window.location.href);e.searchParams.set(`t`,n),t?window.history.replaceState(null,``,`${e.pathname}${e.search}${e.hash}`):i(`${e.pathname}${e.search}${e.hash}`,{replace:!0})}catch{}return te(e=>e&&{...e,transferNonce:n}),We(`active`),n},[z,J,Qe,c,te,i,We]),[Nn,Pn]=(0,K.useState)(0),Fn=(0,K.useCallback)(async()=>{if(!cn)return vC(T,`Verify Stewardship first`);if(!z)return vC(T,`No payload`);if(Ee)return;let e=Number(Nn)||0;if(e<=0)return vC(T,`Enter an amount > 0`);let t=qw(z??null,J,Qe),n=Jw(c,z??null);if(n||=Mn({silent:!0})||null,!t||!n)return vC(T,`Link not initialized`);if(Ge&&Ge!==n)return vC(T,`Archived link — cannot exhale from here`);De(!0);let{ok:r,id:i}=AT(t,n);if(Oe.current=i,!r)return De(!1),vC(T,`Another exhale is in progress`);try{let{merged:r}=Iw(t,new URLSearchParams(window.location.search),n),i=IT({originalAmount:typeof r.originalAmount==`number`?r.originalAmount:typeof z?.originalAmount==`number`?z.originalAmount:rt?.valuePhi??0,debits:Array.isArray(r.debits)?r.debits:[]});if(e>Math.max(0,(i.originalAmount??0)-NT(i.debits||[]))+CT)return vC(T,`Amount exceeds available`);let a=await Dn();if(!a)return vC(T,`Could not derive Φkey`);let o={amount:Number(e.toFixed(6)),nonce:crypto.getRandomValues(new Uint32Array(4)).join(``),recipientPhiKey:a,timestamp:E(new Date)};Fw(IT({originalAmount:i.originalAmount,debits:[...i.debits??[],o]}),t,n,{broadcast:!0});let{merged:s}=Iw(t,new URLSearchParams(window.location.search),n),c=IT(s);if(!(c.debits??[]).some(e=>e.nonce===o.nonce)){vC(T,`Exhale conflicted — try again`);return}te(e=>{if(!e)return e;let t={...e};return t.originalAmount=typeof c.originalAmount==`number`?c.originalAmount:typeof t.originalAmount==`number`?t.originalAmount:rt?.valuePhi??0,t.debits=Array.isArray(c.debits)?c.debits:[],t.totalDebited=NT(t.debits),t}),Pn(0),vC(T,`Sent ${EC(o.amount)} Φ`),jn(o.amount,n)}finally{jT(t,n,Oe.current),De(!1)}},[cn,z,z?.originalAmount,rt?.valuePhi,Nn,Ge,J,Qe,c,te,Dn,jn,Pn,Ee,Mn]),In=Ft||Xe||Le||Ae&&ln;(0,K.useEffect)(()=>{let e=`bp-open`;return In?document.body.classList.add(e):document.body.classList.remove(e),()=>document.body.classList.remove(e)},[In]);let[Ln,Rn]=(0,K.useState)(!1),zn=(0,K.useCallback)(()=>{Rn(!0),window.setTimeout(()=>Rn(!1),2e3)},[]),Bn=re(()=>{dt(J||``,`Hash copied`)}),Vn=re(async()=>{await dt(lt,`Link copied`)&&zn()}),Hn=re(()=>{ft()}),Un=(0,q.jsxs)(fe,{frameRef:N,children:[!nn&&!rn&&z&&(0,q.jsx)(`div`,{id:`sigil-stage`,style:{position:`relative`,width:j,height:j,margin:`0 auto`},children:(0,q.jsx)(O,{pulse:an,beat:z.beat,stepIndex:typeof z.stepIndex==`number`?z.stepIndex:void 0,chakraDay:Dt,size:j,hashMode:`deterministic`,origin:``,kaiSignature:z.kaiSignature??void 0,userPhiKey:z.userPhiKey??void 0,canonicalShareUrl:jt??void 0,canonicalPayloadHash:z.canonicalHash?z.canonicalHash.toLowerCase():void 0,onReady:tn})}),nn&&(0,q.jsx)(`div`,{className:`sp-skeleton`,"aria-hidden":`true`}),rn&&(0,q.jsx)(`div`,{className:`sp-error`,children:l===`notfound`?`Waiting for SVG upload or ?p= payload.`:`Unable to load sigil.`})]}),Wn=z?.lineage??[],Gn=(0,K.useCallback)((e,t)=>{let n=e=>typeof e==`object`&&!!e,r=e=>{if(typeof t==`string`)return t;if(!n(e))return``;let r=typeof e.reason==`string`?e.reason:``,i=n(e.detail)?e.detail:null,a=i&&typeof i.reason==`string`?i.reason:``;return r||a||``},i=e=>{if(!n(e))return null;let t=e.target;return t instanceof HTMLElement?t:null},a=r(e),o=i(e),s=a===`closeClick`||a===`close-button`||a===`explicit`||a===`close`,c=!!o?.closest?.(`[data-modal-close],[data-close],.sealmoment__close,.sp-modal__close,button[aria-label="Close"],button[aria-label="close"],button[title="Close"]`);if(s||c||e==null&&t==null){Re(!1),Be(``),He(``);return}},[]),{series:Kn,pushSample:qn}=YS({maxPoints:1512*8,maxBeats:1512});return(0,K.useEffect)(()=>{let e=(3+Math.sqrt(5))*1e3,t=null,n=null,r=()=>{let i=Sn;Number.isFinite(i)&&qn({t:Date.now(),v:i}),n=window.setTimeout(()=>{t=requestAnimationFrame(r)},e)};return r(),()=>{n&&clearTimeout(n),t&&cancelAnimationFrame(t)}},[Sn,qn]),(0,q.jsxs)(`main`,{className:`sigilpage`,role:`main`,"aria-label":`☤Kai Sigil Page`,"data-owner-verified":cn,"data-archived":sn,"data-old-link":yt?`true`:`false`,"data-ready":!L&&!!z,"data-version":`v48`,children:[(0,q.jsx)(`div`,{className:`sp-veil`,"aria-hidden":`true`}),(0,q.jsx)(`div`,{className:`sp-veil-stars`,"aria-hidden":`true`}),(0,q.jsx)(`div`,{className:`sp-viewport`,"aria-hidden":!1,children:(0,q.jsxs)(`section`,{className:`sp-shell`,"data-center":!0,children:[(0,q.jsx)(de,{glyphAuth:h,linkStatus:Ue,isArchived:sn,localHash:J,copyHashPress:Bn}),(h===`authentic`||l===`verified`)&&(0,q.jsx)(q.Fragment,{children:(0,q.jsxs)(`button`,{type:`button`,className:`authority-seal ${l===`verified`?`is-verified`:`is-failed`}`,"aria-pressed":Ft,"aria-label":`Show breath proof`,title:`Tap to show breath proof`,...Jt,children:[(0,q.jsx)(`span`,{className:`authority-seal__emblem`,"aria-hidden":`true`,children:l===`verified`?`✓`:`✕`}),(0,q.jsxs)(`div`,{className:`authority-seal__content`,children:[(0,q.jsxs)(`div`,{className:`authority-seal__headline`,children:[(0,q.jsx)(`span`,{className:`authority-seal__state`,children:l===`verified`?`VERIFIED`:`Out•Of•Sync`}),(0,q.jsx)(`span`,{className:`dot`,children:`•`}),(0,q.jsx)(`span`,{children:`PROOF•OF•BREATH™`})]}),(0,q.jsx)(`div`,{className:`authority-seal__chip`,children:l===`verified`?`SEAL VALID`:`SEAL FAILED`})]})]})}),rt&&(0,q.jsxs)(`button`,{type:`button`,className:`sp-price-chip sp-price-dock ${ot===`up`?`flash-up`:ot===`down`?`flash-down`:``}`,"aria-live":`polite`,"aria-label":`Open historical value chart`,title:`Kai ${rt.computedAtPulse} • premium ×${rt.premium.toFixed(6)} • ${u(wn)}/Φ • ${Number.isFinite(Tn)?`${Tn.toFixed(6)} Φ/$`:`—`} • stamp ${rt.stamp.slice(0,12)}…`,...Yt,children:[(0,q.jsx)(`span`,{className:`phi`,"aria-hidden":`true`,style:{"--phi-url":`url(/assets/phi.svg)`}}),(0,q.jsx)(`span`,{className:`price`,"aria-label":xn?`Available amount`:`Live valuation`,children:EC(Sn)}),(0,q.jsxs)(`span`,{className:`usd-inline`,"aria-hidden":`true`,children:[`≈ `,u(En)]}),(0,q.jsx)(`span`,{className:`chip-spacer`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`live-badge`,"aria-label":xn?`Available amount`:`Live valuation`,children:[xn?`AVAILABLE`:`LIVE`,(0,q.jsx)(`span`,{className:`twinkles`,"aria-hidden":`true`})]})]}),(0,q.jsx)(WS,{open:Xe,onClose:()=>Ze(!1),series:Kn,latestValue:Sn??0,label:xn?`Available Φ`:`Live Φ`}),(0,q.jsx)(LS,{glyphAuth:h,linkStatus:Ue,routeHash:a,localHash:J,upgradedOnce:Pe,oldLinkDetected:yt,transferToken:c,onUpgradeClick:()=>Ne(!0)}),(0,q.jsx)(je,{absUrl:lt,payload:z,chakraDay:Dt,steps:Ot,stepIndex:kt,stepPctDisplay:At,isArchived:sn,isFutureSealed:Et,pulsesLeft:Ct,opensInPulses:Tt,nextPulseSeconds:on,hash:n,shortHash:ut,remembered:Ln,copyLinkPress:Vn,sharePress:Hn,verified:XS(l),showSkeleton:nn,showError:rn,stage:Un}),Ft&&Lt&&(0,G.createPortal)((0,q.jsx)(`div`,{className:`sp-breathproof__backdrop`,role:`presentation`,onClick:()=>It(!1),onMouseDown:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),onTouchMove:e=>{e.target===e.currentTarget&&e.preventDefault()},style:{position:`fixed`,inset:0,zIndex:2147483647,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:16,background:`rgba(0,0,0,.55)`,overflow:`auto`,overscrollBehavior:`contain`,WebkitOverflowScrolling:`touch`,pointerEvents:`auto`},children:(0,q.jsxs)(`aside`,{className:`sp-breathproof sp-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`bp-title`,onClick:e=>e.stopPropagation(),tabIndex:-1,style:{maxHeight:`calc(100dvh - 32px)`,overflowY:`auto`,overflowX:`hidden`,WebkitOverflowScrolling:`touch`,outline:`none`,boxSizing:`border-box`,width:`100%`,maxWidth:`min(960px, calc(100vw - 32px))`,margin:`0 auto`,padding:16,borderRadius:16,background:`linear-gradient(180deg, rgba(10,14,15,.92), rgba(6,10,12,.82))`,boxShadow:`0 1px 0 rgba(255,255,255,.06) inset, 0 24px 80px rgba(0,0,0,.55)`,pointerEvents:`auto`},children:[(0,q.jsx)(`button`,{type:`button`,className:`sp-breathproof__close`,"aria-label":`Close`,onClick:()=>It(!1),style:{position:`sticky`,top:-8,marginLeft:`auto`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:36,height:36,borderRadius:999,border:`1px solid var(--sp-border, #ffffff22)`,background:`var(--sp-glass, rgba(12,18,20,.55))`,backdropFilter:`blur(6px)`,cursor:`pointer`},children:`×`}),(0,q.jsx)(`h3`,{id:`bp-title`,style:{marginTop:-40,marginBottom:10,wordBreak:`break-word`},children:`Proof•of•Breath™`}),`One breath. One pulse. One truth. Sealed by breath. Stamped in Kairos. Identity, memory, and value — harmonikally verified at the exakt Kairos moment.`,(0,q.jsx)(`div`,{className:`auth-badge`,title:`Comparison to payload`,style:{position:`relative`,boxSizing:`border-box`,width:`100%`,maxWidth:`100%`,minWidth:0,padding:10,borderRadius:16,background:`linear-gradient(180deg, rgba(10,14,15,.85), rgba(8,12,14,.65)) padding-box, conic-gradient(from 180deg at 50% 50%, #FFD76E, #00FFC6, #8AB4FF, #FFD76E) border-box`,border:`1px solid transparent`,backgroundClip:`padding-box, border-box`,boxShadow:`0 1px 0 rgba(255,255,255,.08) inset, 0 0 1px 1px rgba(0,255,198,.18), 0 12px 40px rgba(0,0,0,.45), 0 0 32px rgba(0,255,198,.15)`,color:`#E7FFF7`,textTransform:`uppercase`,letterSpacing:`0.12em`,fontWeight:800,fontSize:`clamp(10px, 3.2vw, 12.5px)`,lineHeight:1.25,backdropFilter:`blur(10px) saturate(140%)`,WebkitBackdropFilter:`blur(10px) saturate(140%)`,overflow:`hidden`},children:(0,q.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(210px, 1fr))`,gap:10,width:`100%`,maxWidth:`100%`,minWidth:0},children:[(0,q.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr auto`,alignItems:`center`,gap:8,padding:`10px 12px`,borderRadius:999,background:`linear-gradient(180deg, rgba(7,30,26,.85), rgba(6,18,20,.75))`,border:`1px solid rgba(255,255,255,.16)`,boxShadow:`inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.35)`,minWidth:0},children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,style:{width:28,height:28,borderRadius:`50%`,display:`grid`,placeItems:`center`,background:`radial-gradient(closest-side, rgba(255,255,255,.9), rgba(255,255,255,.35) 60%, rgba(255,255,255,0) 61%), conic-gradient(#00FFC6, #FFD76E, #8AB4FF, #00FFC6)`,boxShadow:`0 0 0 2px rgba(255,255,255,.25), 0 4px 18px rgba(0,255,198,.35), inset 0 0 10px rgba(255,255,255,.35)`,color:`#061012`,fontSize:16,fontWeight:900},children:`Σ`}),(0,q.jsx)(`span`,{style:{opacity:.9,whiteSpace:`nowrap`},children:`KAI MATCH:`}),(0,q.jsx)(`strong`,{style:{justifySelf:`end`,padding:`2px 10px`,borderRadius:999,fontSize:`clamp(10px, 3vw, 12px)`,letterSpacing:`0.08em`,background:Lt.matches.sigma?`linear-gradient(180deg, #00FFC6, #00C2AA)`:`linear-gradient(180deg, #FF5F7A, #C2143F)`,color:`#061012`,boxShadow:Lt.matches.sigma?`0 0 0 1px rgba(0,255,198,.45) inset, 0 0 22px rgba(0,255,198,.35)`:`0 0 0 1px rgba(255,95,122,.45) inset, 0 0 22px rgba(255,95,122,.35)`,border:`1px solid rgba(255,255,255,.15)`,whiteSpace:`nowrap`},children:Lt.matches.sigma?`YES`:`NO`})]}),(0,q.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto 1fr auto`,alignItems:`center`,gap:8,padding:`10px 12px`,borderRadius:999,background:`linear-gradient(180deg, rgba(7,30,26,.85), rgba(6,18,20,.75))`,border:`1px solid rgba(255,255,255,.16)`,boxShadow:`inset 0 1px 0 rgba(255,255,255,.06), 0 8px 22px rgba(0,0,0,.35)`,minWidth:0},children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,style:{width:28,height:28,borderRadius:`50%`,display:`grid`,placeItems:`center`,background:`radial-gradient(closest-side, rgba(255,255,255,.9), rgba(255,255,255,.35) 60%, rgba(255,255,255,0) 61%), conic-gradient(#00FFC6, #FFD76E, #8AB4FF, #00FFC6)`,boxShadow:`0 0 0 2px rgba(255,255,255,.25), 0 4px 18px rgba(0,255,198,.35), inset 0 0 10px rgba(255,255,255,.35)`,color:`#061012`,fontSize:16,fontWeight:900},children:`Φ`}),(0,q.jsx)(`span`,{style:{opacity:.9,whiteSpace:`nowrap`},children:`PHI MATCH:`}),(0,q.jsx)(`strong`,{style:{justifySelf:`end`,padding:`2px 10px`,borderRadius:999,fontSize:`clamp(10px, 3vw, 12px)`,letterSpacing:`0.08em`,background:Lt.matches.phi?`linear-gradient(180deg, #00FFC6, #00C2AA)`:`linear-gradient(180deg, #FF5F7A, #C2143F)`,color:`#061012`,boxShadow:Lt.matches.phi?`0 0 0 1px rgba(0,255,198,.45) inset, 0 0 22px rgba(0,255,198,.35)`:`0 0 0 1px rgba(255,95,122,.45) inset, 0 0 22px rgba(255,95,122,.35)`,border:`1px solid rgba(255,255,255,.15)`,whiteSpace:`nowrap`},children:Lt.matches.phi?`YES`:`NO`})]})]})}),(0,q.jsx)(`div`,{style:{marginTop:12,wordBreak:`break-word`},children:`The world’s first self-verifying harmonik Kurrensy. Bound by breath. Ankored in Kairos. Forged by pulse.`}),(0,q.jsxs)(`div`,{className:`verifier-cta`,role:`group`,"aria-label":`Offline verifier actions`,style:OT,children:[(0,q.jsxs)(`button`,{type:`button`,className:`verifier-btn`,onClick:()=>hn(`verifier.html`),"aria-label":`Open Offline Verifier`,children:[(0,q.jsx)(`span`,{className:`icon`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`label`,children:[`Open `,(0,q.jsx)(`em`,{children:`Offline Verifier`}),(0,q.jsx)(`small`,{children:`No network • Σ → sha256 → Φ in-browser`})]})]}),(0,q.jsxs)(`button`,{type:`button`,className:`verifier-btn verifier-btn--ghost`,onClick:gn,"aria-label":`Download verifier.html`,children:[(0,q.jsx)(`span`,{className:`icon dl`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`label`,children:[`Download `,(0,q.jsx)(`em`,{children:`verifier.html`}),(0,q.jsx)(`small`,{children:`Single file • Keep forever • Offline`})]})]})]}),(0,q.jsxs)(`dl`,{className:`kv`,children:[(0,q.jsx)(`dt`,{children:`Pulse`}),(0,q.jsx)(`dd`,{children:Lt.pulse}),(0,q.jsx)(`dt`,{children:`Beat`}),(0,q.jsx)(`dd`,{children:Lt.beat}),(0,q.jsx)(`dt`,{children:`Step`}),(0,q.jsxs)(`dd`,{children:[Lt.stepIndex,`/`,Lt.stepsPerBeat]}),(0,q.jsx)(`dt`,{children:`Spiral`}),(0,q.jsx)(`dd`,{children:Lt.chakraDay}),(0,q.jsx)(`dt`,{children:`Intention`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{children:Lt.intention??`—`})}),(0,q.jsx)(`dt`,{children:`Σ string`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.sigmaString})}),(0,q.jsx)(`dt`,{children:`sha256(Σ)`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.sigmaHash})}),(0,q.jsx)(`dt`,{children:`Φ (derived)`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.derivedPhiKey})}),Lt.payloadKaiSignature&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{children:`SVG kaiSignature`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.payloadKaiSignature})})]}),Lt.payloadUserPhiKey&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{children:`SVG userPhiKey`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{className:`wrap`,children:Lt.payloadUserPhiKey})})]})]}),(0,q.jsxs)(`div`,{className:`sp-breathproof__actions`,style:{display:`flex`,flexWrap:`wrap`,gap:8},children:[(0,q.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.sigmaString,`Σ string copied`),children:`Remember Σ string`}),(0,q.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.sigmaHash,`sha256(Σ) copied`),children:`Remember sha256(Σ)`}),(0,q.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(Lt.derivedPhiKey,`Derived Φ copied`),children:`Remember Φ`}),(0,q.jsx)(`button`,{className:`btn-ghost`,onClick:()=>dt(JSON.stringify({pulse:Lt.pulse,beat:Lt.beat,stepsPerBeat:Lt.stepsPerBeat,stepIndex:Lt.stepIndex,chakraDay:Lt.chakraDay,intention:Lt.intention,sigmaString:Lt.sigmaString,sigmaHash:Lt.sigmaHash,derivedPhiKey:Lt.derivedPhiKey,payloadKaiSignature:Lt.payloadKaiSignature,payloadUserPhiKey:Lt.payloadUserPhiKey,matches:Lt.matches},null,2),`Breath proof JSON copied`),children:`Remember JSON`})]})]})}),document.body),(vn?.debits?.length??0)>0&&(0,q.jsxs)(`div`,{className:`sp-card sp-debits`,role:`region`,"aria-label":`Debit summary and ledger`,children:[(0,q.jsxs)(`div`,{className:`sp-debits__summary`,children:[(0,q.jsxs)(`div`,{className:`auth-badge auth-badge--debited`,children:[`Exhaled Φ: `,(0,q.jsx)(`strong`,{children:EC(yn)})]}),(0,q.jsxs)(`div`,{className:`auth-badge auth-badge--available`,children:[`Available Φ: `,(0,q.jsx)(`strong`,{children:EC(bn)})]})]}),(0,q.jsx)(`h3`,{children:`Resonanse Stream`}),(0,q.jsx)(`ul`,{className:`sp-debits__list`,children:(vn?.debits??[]).map(e=>(0,q.jsxs)(`li`,{className:`sp-debits__item`,children:[(0,q.jsxs)(`span`,{className:`sp-debits__who`,children:[`Exhale `,EC(e.amount),` Φ to`,` `,(0,q.jsxs)(`abbr`,{title:e.recipientPhiKey,children:[(e.recipientPhiKey||``).slice(0,12),`…`]})]}),(0,q.jsxs)(`span`,{className:`sp-debits__amt`,children:[EC(e.amount),` Φ`]}),(0,q.jsxs)(`span`,{className:`sp-debits__meta`,children:[`Pulse `,e.timestamp]})]},e.nonce))})]}),(Wn.length>0||On.length>0)&&(0,q.jsxs)(`div`,{className:`sp-card sp-lineage`,role:`region`,"aria-label":`Lineage`,children:[Wn.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`h3`,{className:`sp-lineage__title`,children:`Ansestry Path`}),(0,q.jsx)(`ol`,{className:`sp-lineage__path`,"aria-label":`Ancestor lineage path`,children:Wn.map((e,t)=>(0,q.jsxs)(`li`,{className:`sp-lineage__node`,children:[(0,q.jsx)(`span`,{className:`sp-lineage__badge`,title:`Depth ${e.depth}`,children:e.depth}),(0,q.jsxs)(`code`,{className:`sp-lineage__token`,title:`Token ${e.token}`,children:[e.token.slice(0,10),`…`]}),(0,q.jsxs)(`span`,{className:`sp-lineage__meta`,children:[EC(e.amount),` Φ • Pulse `,e.timestamp,e.senderPhiKey?(0,q.jsxs)(q.Fragment,{children:[` • from `,(0,q.jsxs)(`abbr`,{title:e.senderPhiKey,children:[e.senderPhiKey.slice(0,10),`…`]})]}):null]})]},`${e.token}-${t}`))})]}),On.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`h3`,{className:`sp-lineage__title`,children:`Exhaled From This Breath`}),(0,q.jsx)(`ul`,{className:`sp-lineage__desc`,"aria-label":`Direct descendants minted here`,children:On.slice().sort((e,t)=>(e.timestamp||0)-(t.timestamp||0)).map(e=>(0,q.jsx)(`li`,{className:`sp-lineage__desc-item`,children:(0,q.jsxs)(`div`,{className:`row`,children:[(0,q.jsxs)(`span`,{className:`who`,children:[`Derivative `,(0,q.jsxs)(`code`,{title:e.token,children:[e.token.slice(0,10),`…`]}),` → `,EC(e.amount),` Φ`,e.recipientPhiKey?(0,q.jsxs)(q.Fragment,{children:[` to `,(0,q.jsxs)(`abbr`,{title:e.recipientPhiKey,children:[e.recipientPhiKey.slice(0,10),`…`]})]}):null]}),(0,q.jsxs)(`span`,{className:`meta`,children:[`Pulse `,e.timestamp]})]})},e.token))})]})]}),(0,q.jsx)(Me,{hasPayload:!!z,showError:rn,expired:!!wt,exporting:pe,posterExporting:he,isFutureSealed:Et,isArchived:sn,claimPress:en,stargatePress:Kt,posterPress:zt,sendAmount:Nn,setSendAmount:Pn,onSend:Fn,sendBusy:Ee,ownerVerified:cn}),z?.provenance&&z.provenance.length>0&&(0,q.jsx)(it,{entries:z.provenance,steps:Ot}),(0,q.jsx)(`p`,{className:`sp-fine`,children:`Determinate sigil-glyph; the hash mirrors the law-true payload. All Origin and Stewardship are embedded in the Φkey metadata. Sovereign. End-to-end.`}),(0,q.jsx)(OS,{isArchived:sn,ownerVerified:cn,ownershipMsg:x,onVerifyOwnershipFile:$t}),(0,q.jsxs)(`div`,{className:`owner-gated`,children:[cn&&(0,q.jsxs)(`div`,{className:`sp-card`,style:{padding:16,margin:`8px 0 16px`},children:[(0,q.jsx)(`h3`,{style:{marginTop:0},children:`Exhale Φ`}),(0,q.jsxs)(`div`,{className:`auth-badge auth-badge--checking`,style:{marginBottom:12},children:[`Available Φ:\xA0`,(0,q.jsx)(`strong`,{children:EC(bn)})]}),(0,q.jsxs)(`div`,{className:`owner-grid`,style:{display:`grid`,gridTemplateColumns:`minmax(120px,180px) minmax(120px,160px) minmax(120px,160px)`,gap:12,alignItems:`center`},children:[(0,q.jsx)(`input`,{id:`send-amount`,name:`send-amount`,type:`number`,inputMode:`decimal`,enterKeyHint:`done`,step:`0.000001`,min:0,placeholder:`Amount`,value:Nn,onChange:e=>{let t=e.currentTarget.value.replace(/,/g,`.`),n=parseFloat(t);Pn(Number.isFinite(n)&&n>=0?n:0)},onWheel:e=>e.currentTarget.blur(),className:`btn-ghost`,style:{padding:10},"aria-label":`Amount of Φ to send`,autoComplete:`off`,spellCheck:!1}),(0,q.jsx)(`input`,{id:`claim-window`,name:`claim-window`,type:`number`,inputMode:`numeric`,enterKeyHint:`done`,min:1,step:1,placeholder:`Claim window`,value:Ce,onChange:e=>we(Math.max(1,Math.floor(Number(e.currentTarget.value)||0))),onWheel:e=>e.currentTarget.blur(),className:`btn-ghost`,style:{padding:10},"aria-label":`Inhale Step amount`,title:`How long the resipient has to inhale`,autoComplete:`off`,spellCheck:!1}),(0,q.jsxs)(`select`,{value:xe,onChange:e=>Se(e.currentTarget.value),className:`btn-ghost`,style:{padding:10},"aria-label":`Inhale time unit`,title:`Breaths or steps`,children:[(0,q.jsx)(`option`,{value:`breaths`,children:`breaths`}),(0,q.jsx)(`option`,{value:`steps`,children:`steps`})]})]}),(0,q.jsxs)(`div`,{className:`owner-actions`,style:{marginTop:12,display:`flex`,gap:12,alignItems:`center`},children:[(0,q.jsx)(`button`,{type:`button`,className:`btn-primary`,onClick:Fn,disabled:!Number.isFinite(Nn)||Nn<=0||Nn>bn||Ee,"aria-label":`Exhale Φ now`,title:Ee?`Exhale in progress…`:`Exhale Φ now`,children:`💨`}),(0,q.jsxs)(`div`,{style:{opacity:.85},children:[`Logs to the resonanse stream, updates the Sigil-Glyph, & exhales a derivative Φkey with a inhale time of `,(0,q.jsx)(`strong`,{children:Ce}),` `,xe,`.`]})]})]}),(0,q.jsx)(`section`,{className:`sigil-tools`}),(0,q.jsx)(vt,{isArchived:sn,ownerVerified:cn,onAttachFile:Xt,attachment:H,payloadAttachment:z?.attachment,derivedOwnerPhiKey:un,derivedKaiSig:fn,expiryUnit:xe,setExpiryUnit:Se,expiryAmount:Ce,setExpiryAmount:we,onSealPress:{onPointerUp:e=>{e.pointerType&&e.pointerType!==`mouse`&&mn(e)},onClick:e=>mn(e)},payload:z,localHash:J,isFutureSealed:Et})]}),(0,q.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:C})]})}),(0,q.jsx)(CS,{open:Bt&&!!Ht,src:Ht,onClose:Gt,closePress:qt}),(0,q.jsx)(R,{open:Le,url:ze,hash:Ve,onClose:Gn,onDownloadZip:()=>{en.onClick?.(new MouseEvent(`click`))}}),(0,q.jsx)(FS,{open:Ae&&ln&&!Pe,onClose:()=>Ne(!1),legacyHash:a,modernHash:J,currentPayload:z,onVerified:e=>{ce(e)},onGenerateLink:async e=>{let t=Qt(e,(J||e.canonicalHash||``).toLowerCase(),!0);return t&&(Ie(),Ne(!1)),t}})]})}export{KT as default}; \ No newline at end of file diff --git a/dist/assets/SigilStreamRoot-D7xvdnEa.js b/dist/assets/SigilStreamRoot-D7xvdnEa.js deleted file mode 100644 index f90aa4250..000000000 --- a/dist/assets/SigilStreamRoot-D7xvdnEa.js +++ /dev/null @@ -1 +0,0 @@ -import"./EternalKlock-CgOJptA0.js";import"./SigilModal-DkjYmacD.js";import"./SealMomentModal-BVedI60g.js";import"./webauthnKAS-B61nfyUR.js";import"./SigilAuthContext-D65FNUcD.js";import"./ticker-Dx-CZn_P.js";import"./SigilAuthProvider-DUGvkie1.js";import{n as e,t}from"./SigilStreamRoot-Dsza39XK.js";import"./useFastPress-t9lA3gjI.js";export{t as SigilStreamRoot,e as default}; \ No newline at end of file diff --git a/dist/assets/SigilStreamRoot-DXhIIZ-T.js b/dist/assets/SigilStreamRoot-DXhIIZ-T.js new file mode 100644 index 000000000..de9487fa3 --- /dev/null +++ b/dist/assets/SigilStreamRoot-DXhIIZ-T.js @@ -0,0 +1 @@ +import"./EternalKlock-CRK5ayaX.js";import"./SigilModal-CU8VoqOO.js";import"./SealMomentModal-CAermFFO.js";import"./webauthnKAS-C2GwAz2K.js";import"./SigilAuthContext-rbXUYZ1p.js";import"./ticker-ESiwEkfY.js";import"./SigilAuthProvider-CWcy5VQ0.js";import{n as e,t}from"./SigilStreamRoot-dWEbZD0k.js";import"./useFastPress-DEvKYh7Z.js";export{t as SigilStreamRoot,e as default}; \ No newline at end of file diff --git a/dist/assets/SigilStreamRoot-Dsza39XK.js b/dist/assets/SigilStreamRoot-dWEbZD0k.js similarity index 99% rename from dist/assets/SigilStreamRoot-Dsza39XK.js rename to dist/assets/SigilStreamRoot-dWEbZD0k.js index 69c33c50d..8e689e727 100644 --- a/dist/assets/SigilStreamRoot-Dsza39XK.js +++ b/dist/assets/SigilStreamRoot-dWEbZD0k.js @@ -1,5 +1,5 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/postSeal-Cb52JhEQ.js","assets/postSeal-DE4BCNSp.js"])))=>i.map(i=>d[i]); -import{$n as e,$r as t,Gr as n,Hr as r,Ir as i,Jr as a,Kt as o,Lr as s,Pn as c,Pr as l,Qn as u,Qr as d,Vr as f,Xn as p,Zn as ee,ai as te,ar as m,cr as h,di as g,dr as _,ei as ne,er as v,hr as y,li as b,lr as x,ni as S,oi as C,or as re,pi as w,pr as T,rr as E,rt as D,si as O,tr as ie,ur as ae,vr as oe,yi as k}from"./index-BRD6BMdN.js";import{n as A}from"./EternalKlock-CgOJptA0.js";import{n as se}from"./SigilAuthContext-D65FNUcD.js";import{a as ce,c as le,d as ue,i as de,l as fe,n as pe,o as j,r as me,s as M,t as N,u as P}from"./ticker-Dx-CZn_P.js";import{t as F}from"./SigilAuthProvider-DUGvkie1.js";import{t as he}from"./useFastPress-t9lA3gjI.js";var I=k(w(),1);const ge=(0,I.createContext)(null);function _e(){let e=(0,I.useContext)(ge);if(!e)throw Error(`useToasts() must be used within `);return e}var L=k(o(),1);function ve({children:e}){let[t,n]=(0,I.useState)([]),r=(0,I.useRef)(new Map),i=(0,I.useRef)(1),a=(0,I.useCallback)(e=>{let t=r.current.get(e);typeof t==`number`&&(window.clearTimeout(t),r.current.delete(e))},[]),o=(0,I.useCallback)(e=>{a(e),n(t=>t.filter(t=>t.id!==e))},[a]),s=(0,I.useCallback)((e,t)=>{let s=i.current++;n(n=>{let r=[{id:s,kind:e,text:t},...n],i=r.slice(0,3),o=r.slice(3);for(let e of o)a(e.id);return i});let c=window.setTimeout(()=>o(s),2600);r.current.set(s,c)},[a,o]),c=(0,I.useMemo)(()=>({push:s}),[s]);(0,I.useEffect)(()=>()=>{for(let e of r.current.values())window.clearTimeout(e);r.current.clear()},[]);let l=e=>{switch(e){case`success`:return`rgba(16,28,22,.88)`;case`warn`:return`rgba(28,24,12,.88)`;case`error`:return`rgba(36,16,16,.88)`;case`info`:default:return`rgba(12,18,28,.88)`}};return(0,L.jsxs)(ge.Provider,{value:c,children:[e,(0,L.jsx)(`div`,{"aria-live":`polite`,"aria-atomic":`false`,style:{position:`fixed`,left:0,right:0,bottom:0,padding:`8px 12px`,display:`grid`,gap:8,zIndex:1e3,pointerEvents:`none`},children:t.map(e=>(0,L.jsx)(`div`,{role:`status`,style:{pointerEvents:`auto`,marginInline:`auto`,maxWidth:`min(720px, 100%)`,width:`100%`,background:l(e.kind),border:`1px solid rgba(255,255,255,.12)`,borderRadius:12,padding:`10px 12px`,color:`rgb(236,241,251)`,boxShadow:`0 8px 28px rgba(0,0,0,.35)`,backdropFilter:`blur(6px)`,fontVariantNumeric:`tabular-nums`},children:e.text},e.id))})]})}var R=ve;async function ye(){try{let e=await fetch(`/links.json`,{cache:`no-store`});if(!e.ok||!(e.headers.get(`content-type`)??``).toLowerCase().includes(`application/json`))return[];let t=await e.text(),n=JSON.parse(t);if(!Array.isArray(n))return[];let r=[];for(let e of n)j(e)&&typeof e.url==`string`&&e.url.trim().length&&r.push({url:e.url});return r}catch(e){return P(`loadLinksJson`,e),[]}}const be=`sf-links`;function xe(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)&&t.every(e=>typeof e==`string`)?t:[]}catch(e){return P(`parseStringArray`,e),[]}}function z(e){try{if(typeof window>`u`)return;let t=xe(localStorage.getItem(be)),n=e.filter(e=>typeof e==`string`&&e.trim().length);if(n.length===0)return;let r=new Set(t),i=n.filter(e=>!r.has(e));if(i.length===0)return;let a=[...i,...t];localStorage.setItem(be,JSON.stringify(a))}catch(e){P(`prependUniqueToStorage`,e)}}const Se=(()=>{try{return((typeof window<`u`?window.__PSHORT__:void 0)?.trim()||(void 0)?.trim()||``).replace(/\s+/g,``)}catch(e){return P(`Resolve PSHORT`,e),``}})();function B(){try{if(Se)return new URL(`/`,Se)}catch(e){P(`Invalid PSHORT`,e)}let e=typeof window<`u`?window.location.href:`https://example.com`;return new URL(`/`,e)}function V(){let e=typeof window<`u`?window.location.href:`https://example.com`;return new URL(`/`,e)}function H(e){try{let t=new URL(e);if(!(t.protocol===`https:`||t.protocol===`http:`))return!1;let n=t.pathname;if(n.startsWith(`/stream/p/`)||n.startsWith(`/p~`)&&n.length>3)return!0;if(n===`/p`){let e=t.hash.includes(`t=`),n=t.searchParams.has(`t`);return e||n}return t.search.includes(`p=`)}catch{return!1}}function U(e){try{let t=B(),n=new URL(e,t),r=V();if(n.pathname.startsWith(`/p~`)&&n.pathname.length>3){r.pathname=`/stream/p/${n.pathname.slice(3)}`;let e=n.searchParams.get(`add`)||(n.hash.startsWith(`#add=`)?new URLSearchParams(n.hash.slice(1)).get(`add`):null);return e&&r.searchParams.set(`add`,W(e)),r.toString()}if(n.pathname===`/p`){let t=n.hash.startsWith(`#`)?n.hash.slice(1):n.hash,i=new URLSearchParams(t),a=i.get(`t`),o=n.searchParams.get(`t`),s=a||o;if(!s)return e;r.pathname=`/stream/p/${s}`;let c=i.get(`add`),l=n.searchParams.get(`add`),u=c||l;return u&&r.searchParams.set(`add`,W(u)),r.toString()}return e}catch(t){return P(`expandShortAliasToCanonical`,t),e}}function W(e){let t=e.trim();if(!t)return t;try{if(t.startsWith(`/p~`))return U(`${B().origin}${t}`);if(t.startsWith(`/p#t=`)||t.startsWith(`#t=`)||t.includes(`/p?t=`))return U(t.startsWith(`#t=`)?`${B().origin}/p${t}`:t.startsWith(`/p`)?`${B().origin}${t}`:t);if(M(t)){let e=new URL(t);return e.pathname===`/p`||e.pathname.startsWith(`/p~`)?U(t):t}return t}catch(e){return P(`normalizeAddParam`,e),t}}function Ce(e){let t=V();return t.pathname=`/stream/p/${e}`.replace(/\/{2,}/g,`/`),t.search=``,t.hash=``,t.toString()}function we(e){let t=e.trim();if(t.startsWith(`#`)&&(t=t.slice(1)),t.length===3&&(t=t.split(``).map(e=>e+e).join(``)),t.length!==6)return null;let n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}var Te=(e,t=0,n=255)=>Math.max(t,Math.min(n,e));function Ee(e,t,n){return[Te(e[0]+(t[0]-e[0])*n),Te(e[1]+(t[1]-e[1])*n),Te(e[2]+(t[2]-e[2])*n)]}var De=e=>`${e[0]}, ${e[1]}, ${e[2]}`,Oe={root:`#FF3B3B`,sacral:`#FF8A33`,solar:`#FFD60A`,heart:`#22C55E`,throat:`#0EA5E9`,thirdEye:`#6366F1`,crown:`#C084FC`},ke=`crown`;function Ae(e){if(e==null)return null;let t;return t=typeof e==`number`?[`root`,`sacral`,`solar`,`heart`,`throat`,`thirdEye`,`crown`][Math.min(7,Math.max(1,e))-1]:e===`krown`?ke:e,we(Oe[t]??Oe.crown)}function je(e){let t=Ae(e);if(!t)return null;let n=[255,255,255],r=[255,215,128],i=Ee(t,n,.28),a=Ee(t,r,.42);return{s1:De(t),s2:De(i),s3:De(a)}}var Me={s1:`154, 230, 255`,s2:`196, 181, 253`,s3:`255, 215, 128`};function Ne(e,t){let n=je(e);if(n)return n;if(t?.primary){let e=we(t.primary)??we(`#9AE6FF`),n=t.secondary?we(t.secondary)??e:Ee(e,[255,255,255],.28),r=[255,215,128],i=t.accent?we(t.accent)??r:Ee(e,r,.45);return{s1:De(e),s2:De(n),s3:De(i)}}return Me}function Pe(e){if(!e)return;let t=e.trim();if(t)return t.startsWith(`@`),t}function Fe({username:e,phiKey:t,kaiSignature:n,sigilColors:r,chakra:i}){let a=Ne(i,r),o=Pe(e),s={"--sigil-1":a.s1,"--sigil-2":a.s2,"--sigil-3":a.s3},c=!o&&!t&&!n;return(0,L.jsx)(`div`,{className:`sf-identity`,style:s,...c?{"data-empty":``}:{},children:(0,L.jsxs)(`div`,{className:`sf-reply-id`,style:{rowGap:`.4rem`,columnGap:`.4rem`,display:`flex`,flexWrap:`wrap`},"aria-label":c?`No identity loaded`:`Identity chips`,children:[c&&(0,L.jsx)(`span`,{className:`sf-muted`,children:`No identity loaded this session.`}),o&&(0,L.jsxs)(`span`,{className:`sf-pill sf-pill--user`,title:`Username (session)`,children:[(0,L.jsx)(`strong`,{className:`sf-pill__label`,children:`User`}),`\xA0`,(0,L.jsx)(`span`,{className:`sf-key`,children:o})]}),t&&(0,L.jsxs)(`span`,{className:`sf-pill sf-pill--phikey`,title:`Your ΦKey (session)`,children:[(0,L.jsx)(`strong`,{className:`sf-pill__label`,children:`ΦKey`}),`\xA0`,(0,L.jsx)(`span`,{className:`sf-key`,children:t})]}),n&&(0,L.jsxs)(`span`,{className:`sf-pill sf-pill--ksig`,title:`Kai Signature (session)`,children:[(0,L.jsx)(`strong`,{className:`sf-pill__label`,children:`ΣSig`}),`\xA0`,(0,L.jsx)(`span`,{className:`sf-key`,children:n})]})]})})}var Ie=[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`url`,`link`,`href`];function Le(e){if(!e||!j(e))return[];let t=[],n=new Set;for(let r of Ie){let i=fe(e,r);if(typeof i!=`string`)continue;let a=i.trim();a&&(n.has(a)||(n.add(a),t.push(a)))}return t}function Re(e){if(!e)return[];try{let t=e.match(/https?:\/\/[^\s"'<>)#]+/gi)??[],n=[],r=new Set;for(let e of t){let t=(e??``).trim();t&&(r.has(t)||(r.add(t),n.push(t)))}return n}catch{return[]}}function ze(e){return/^https?:\/\//i.test((e??``).trim())}function Be(e){try{return new URL(e)}catch{return null}}function Ve(e){let t=(e??``).trim();if(!t)return``;let n=t;n=n.replace(/\/stream\/v=/gi,`/stream/t=`),n=n.replace(/\/stream\/v\//gi,`/stream/t/`),n=n.replace(/\/stream\/v(\?|&|#)/gi,`/stream/t$1`),n=n.replace(/([?&#])v=/gi,`$1t=`);let r=Be(n);if(!r)return n.replace(/([?&#])v=/gi,`$1t=`);let i=r.searchParams,a=(i.get(`t`)??``).trim().length>0,o=(i.get(`v`)??``).trim();if(!a&&o&&i.set(`t`,o),i.delete(`v`),(i.get(`t`)??``).trim().length>0&&i.delete(`p`),r.hash&&r.hash.length>1){let e=r.hash.startsWith(`#`)?r.hash.slice(1):r.hash;if(e.includes(`=`)&&!e.startsWith(`/`)){let t=e.split(`&`).filter(Boolean),n=[],i=!1;for(let e of t){let t=e.indexOf(`=`);if(t<=0){n.push(e);continue}let r=e.slice(0,t),a=e.slice(t+1),o=r.toLowerCase();if(o===`v`){!i&&a.trim().length&&(n.push(`t=${a}`),i=!0);continue}o===`t`&&(i=!0),n.push(e)}if(i){let e=[];for(let t of n){let n=t.indexOf(`=`);(n>0?t.slice(0,n).toLowerCase():``)!==`p`&&e.push(t)}r.hash=e.length?`#${e.join(`&`)}`:``}else r.hash=n.length?`#${n.join(`&`)}`:``}else r.hash=r.hash.replace(/([?&#])v=/gi,`$1t=`)}return r.toString()}function He(e){let t=(e??``).trim();if(!t)return-1;let n=t.toLowerCase(),r=0;return(/[?&#]v=/.test(n)||n.includes(`/stream/v`))&&(r-=1e4),(/[?&#]t=/.test(n)||n.includes(`/stream/t`)||n.includes(`stream/t=`))&&(r+=500),(/[?&#]p=/.test(n)||n.includes(`/stream/p`)||n.includes(`stream/p=`))&&(r+=280),H(t)&&(r+=160),n.startsWith(`https://`)?r+=20:n.startsWith(`http://`)&&(r+=10),r+=Math.max(0,120-Math.min(120,Math.floor(t.length/6))),r}function Ue(e){let t=``,n=-1;for(let r of e){let e=Ve(r),i=He(e);i>n&&(n=i,t=e)}return t}async function We(e){let t=e??``;if(!t)return!1;try{if(typeof navigator<`u`&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{let e=document.createElement(`textarea`);e.value=t,e.setAttribute(`readonly`,`true`),e.style.position=`fixed`,e.style.left=`-9999px`,e.style.top=`-9999px`,document.body.appendChild(e),e.select(),e.setSelectionRange(0,e.value.length);let n=document.execCommand(`copy`);return document.body.removeChild(e),n}catch{return!1}}function Ge({value:e,isCanonical:t}){let n=(0,I.useMemo)(()=>Be(e),[e]),r=(0,I.useMemo)(()=>ze(e)?e:``,[e]),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(!1),c=(0,I.useRef)(null);(0,I.useEffect)(()=>()=>{c.current&&window.clearTimeout(c.current)},[]);let l=(0,I.useCallback)(e=>{c.current&&window.clearTimeout(c.current),a(e),s(!e),c.current=window.setTimeout(()=>{a(!1),s(!1),c.current=null},1400)},[]),u=(0,I.useCallback)(async()=>{l(await We(e))},[l,e]),d=(0,I.useCallback)(e=>{let t=e.currentTarget;try{t.focus(),t.select(),t.setSelectionRange(0,t.value.length)}catch{}},[]),f=n?.host??``,p=n?`${n.hostname}${n.pathname}${n.search}${n.hash}`.replace(/\/{2,}/g,`/`):e;return(0,L.jsxs)(`div`,{className:`sf-reply-row sf-actionurl`,children:[(0,L.jsxs)(`div`,{className:`sf-actionurl__head`,children:[(0,L.jsxs)(`label`,{className:`sf-label sf-actionurl__label`,children:[`Proof of Breath™ `,(0,L.jsx)(`span`,{className:`sf-muted`,children:`(Sigil-Glyph)`})]}),(0,L.jsx)(`span`,{className:`sf-actionurl__pill ${t?`is-ok`:`is-warn`}`,children:t?`SIGNED`:`EXTERNAL`})]}),(0,L.jsxs)(`div`,{className:`sf-actionurl__field`,children:[(0,L.jsxs)(`div`,{className:`sf-actionurl__inputWrap`,children:[(0,L.jsx)(`input`,{className:`sf-input sf-input--locked sf-actionurl__input`,type:`url`,value:e,readOnly:!0,onClick:d,onFocus:d,"aria-label":`Proof of Breath™ Sigil-Glyph`}),(0,L.jsxs)(`div`,{className:`sf-actionurl__meta`,"aria-hidden":`true`,children:[f?(0,L.jsx)(`span`,{className:`sf-actionurl__host`,children:f}):(0,L.jsx)(`span`,{className:`sf-actionurl__host`,children:`URL`}),(0,L.jsx)(`span`,{className:`sf-actionurl__dot`,children:`•`}),(0,L.jsx)(`span`,{className:`sf-actionurl__pretty`,children:p})]})]}),(0,L.jsxs)(`div`,{className:`sf-actionurl__btns`,children:[(0,L.jsx)(`button`,{type:`button`,className:`sf-actionurl__btn ${i?`is-copied`:``} ${o?`is-fail`:``}`,onClick:u,"aria-live":`polite`,children:i?`✓ Remembered`:o?`Remember failed`:`Remember`}),r?(0,L.jsx)(`a`,{className:`sf-actionurl__btn sf-actionurl__btn--link`,href:r,target:`_blank`,rel:`noreferrer noopener`,"aria-label":`Open Proof of Breath URL in a new tab`,children:`↗`}):(0,L.jsx)(`button`,{type:`button`,className:`sf-actionurl__btn sf-actionurl__btn--disabled`,disabled:!0,children:`↗`})]})]}),!t&&(0,L.jsx)(`div`,{className:`sf-warn sf-actionurl__warn`,role:`status`,children:`Not recognized as a sealed Proof of Breath™ link; fallback rules may apply.`})]})}function Ke(){return(0,L.jsxs)(`div`,{className:`sf-reply-row sf-actionurl sf-actionurl--empty`,children:[(0,L.jsxs)(`div`,{className:`sf-actionurl__head`,children:[(0,L.jsxs)(`label`,{className:`sf-label sf-actionurl__label`,children:[`Proof of Breath™ `,(0,L.jsx)(`span`,{className:`sf-muted`,children:`(Sigil-Glyph)`})]}),(0,L.jsx)(`span`,{className:`sf-actionurl__pill is-warn`,children:`MISSING`})]}),(0,L.jsx)(`div`,{className:`sf-warn sf-actionurl__warn`,role:`status`,children:`No Proof of Breath™ sigil-glyph detected; a fallback will be used.`})]})}function qe({meta:e,svgText:t}){let n=Le(e),r=Re(t),i=[...n,...r],a=i.length?Ue(i):``,o=a.length>0&&H(a);return{value:a,isCanonical:o,node:a?(0,L.jsx)(Ge,{value:a,isCanonical:o}):(0,L.jsx)(Ke,{})}}function Je(e){let t=e.trim();if(!t)return null;let n=t.replace(/^(kai|sigil):\/\//i,`https://`);try{if(M(n))return n;if(/^[a-z0-9.-]+\.[a-z]{2,}(?:\/.*)?$/i.test(n))return`https://${n}`}catch{}return null}function Ye({onAdd:e,placeholder:t=`Paste any message (https://… or domain.tld)`,title:n=`Inhale a memory`}){let r=_e(),[i,a]=(0,I.useState)(``),[o,s]=(0,I.useState)(null),c=(0,I.useCallback)(t=>{s(null);let n=Je(t);if(!n){s(`Enter a valid URL (https://… or domain.tld).`);return}e(n),a(``),r.push(`success`,`Link inhaled.`)},[e,r]),l=(0,I.useCallback)(async()=>{s(null);try{let e=(await navigator.clipboard.readText()).trim();if(!e){s(`Memory is empty.`);return}let t=Je(e);if(!t){s(`Memory does not contain a valid link.`);return}a(t),c(t)}catch{s(`Memory read is not permitted.`)}},[c]);return(0,L.jsxs)(`section`,{className:`sf-inhaler`,"aria-labelledby":`inhaler-title`,style:{marginTop:`1rem`},children:[(0,L.jsx)(`h2`,{id:`inhaler-title`,className:`sf-reply-title`,children:n}),(0,L.jsxs)(`div`,{className:`sf-reply-row`,style:{display:`grid`,gap:`.5rem`},children:[(0,L.jsx)(`input`,{className:`sf-input`,type:`url`,placeholder:t,value:i,onChange:e=>a(e.target.value),autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,inputMode:`url`,enterKeyHint:`go`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),c(i))}}),(0,L.jsxs)(`div`,{className:`sf-reply-actions`,style:{gap:`.5rem`,display:`flex`,flexWrap:`wrap`},children:[(0,L.jsx)(`button`,{className:`sf-btn`,onClick:()=>c(i),children:`Inhale`}),(0,L.jsx)(`button`,{className:`sf-btn sf-btn--ghost`,onClick:l,children:`Inhale from memory`})]}),o&&(0,L.jsx)(`div`,{className:`sf-error`,role:`alert`,children:o})]})]})}function Xe(e){try{let t=new URL(e).pathname.split(`/`).pop()||``,n=t.lastIndexOf(`.`);return n>=0?t.slice(n+1).toLowerCase():``}catch{return``}}function Ze(e){return[`png`,`jpg`,`jpeg`,`gif`,`webp`,`avif`,`bmp`].includes(e)}function Qe(e){return[`mp4`,`webm`,`ogg`,`ogv`,`mov`,`m4v`].includes(e)}function $e(e){return e===`pdf`}function et(e){try{return new URL(e).host}catch{return``}}function tt(e){try{let t=new URL(e),n=t.host,r=t.pathname||``;r===`/`&&(r=``),r.endsWith(`/`)&&r.length>1&&(r=r.slice(0,-1));let i=t.search||``;return`${n}${r}${i}`}catch{return e.replace(/^https?:\/\//i,``).replace(/\/+$/g,``)}}function nt(e){try{let t=new URL(e);if(t.hostname.includes(`youtu.be`))return t.pathname.slice(1)||null;if(t.hostname.includes(`youtube.com`)){let e=t.searchParams.get(`v`);if(e)return e;let n=t.pathname.split(`/`).filter(Boolean),r=n.indexOf(`embed`);if(r>=0&&n[r+1])return n[r+1]}return null}catch{return null}}function rt(e){try{let t=new URL(e);return t.hostname.includes(`vimeo.com`)&&t.pathname.split(`/`).filter(Boolean).find(e=>/^\d+$/.test(e))||null}catch{return null}}function it(e){try{let t=new URL(e);return t.hostname.includes(`spotify.com`)&&(t.pathname.startsWith(`/track/`)||t.pathname.startsWith(`/album/`)||t.pathname.startsWith(`/playlist/`))?`https://open.spotify.com/embed${t.pathname}${t.search}`:null}catch{return null}}function at({host:e}){return(0,L.jsx)(`img`,{className:`sf-favicon`,src:`https://${e}/favicon.ico`,alt:``,width:16,height:16,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.visibility=`hidden`}})}function ot(e){let{url:t,title:n,children:r}=e,i=et(t),a=(n&&n.trim().length?n.trim():``)||tt(t);return(0,L.jsxs)(`div`,{className:`sf-att-card`,children:[(0,L.jsx)(`div`,{className:`sf-att-head`,children:(0,L.jsxs)(`a`,{className:`sf-att-head__hit`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:t,children:[i?(0,L.jsx)(at,{host:i}):(0,L.jsx)(`span`,{className:`sf-favicon sf-favicon--blank`,"aria-hidden":`true`}),(0,L.jsx)(`div`,{className:`sf-att-head__text`,children:(0,L.jsx)(`div`,{className:`sf-att-head__title`,children:a})}),(0,L.jsx)(`span`,{className:`sf-att-open`,"aria-hidden":`true`,children:`↗`})]})}),r?(0,L.jsx)(`div`,{className:`sf-att-body`,children:r}):null]})}function st({src:e,title:t}){return(0,L.jsx)(`div`,{className:`sf-embed`,children:(0,L.jsx)(`iframe`,{className:`sf-embed__frame`,src:e,title:t,loading:`lazy`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowFullScreen:!0,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox`})})}function ct({url:e,title:t}){return(0,L.jsx)(ot,{url:e,title:t})}function lt({url:e,title:t}){let n=nt(e);if(n)return(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(st,{src:`https://www.youtube.com/embed/${n}`,title:t||`YouTube`})});let r=rt(e);if(r)return(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(st,{src:`https://player.vimeo.com/video/${r}`,title:t||`Vimeo`})});let i=it(e);if(i)return(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(st,{src:i,title:t||`Spotify`})});let a=Xe(e);return Ze(a)?(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(`div`,{className:`sf-media sf-media--image`,children:(0,L.jsx)(`img`,{className:`sf-media__img`,src:e,alt:t||`image`,loading:`lazy`,decoding:`async`})})}):Qe(a)?(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(`div`,{className:`sf-media sf-media--video`,children:(0,L.jsx)(`video`,{className:`sf-media__video`,src:e,controls:!0,playsInline:!0,preload:`metadata`})})}):$e(a)?(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(`div`,{className:`sf-embed sf-embed--doc`,children:(0,L.jsx)(`iframe`,{className:`sf-embed__frame`,src:e,title:t||`Document`,loading:`lazy`})})}):(0,L.jsx)(ct,{url:e,title:t})}function ut(e){let t=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),n=``;for(let r=0;r`data:${t};base64,${ft(e)}`;async function mt(e){let t=typeof crypto<`u`&&crypto.subtle||typeof window<`u`&&window.crypto&&window.crypto.webkitSubtle;if(!t)throw Error(`WebCrypto.subtle is not available in this context.`);let n=await t.digest(`SHA-256`,e);return ut(new Uint8Array(n))}async function ht(e,t=524288){let n=[],r=0,i=0;for(let a of Array.from(e)){r+=a.size;try{let e=await a.arrayBuffer(),r=await mt(e),o=a.type||`application/octet-stream`;if(a.size<=t){let t=dt(new Uint8Array(e)),s={kind:`file-inline`,name:a.name,type:o,size:a.size,sha256:r,data_b64url:t};i+=a.size,n.push(s)}else{let e={kind:`file-ref`,name:a.name,type:o,size:a.size,sha256:r};n.push(e)}}catch(e){P(`filesToManifest: read/hash failed`,e)}}return{version:1,totalBytes:r,inlinedBytes:i,items:n}}function gt({n:e}){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return(0,L.jsx)(L.Fragment,{children:`—`});let t=1024,n=t*1024,r=n*1024;return(0,L.jsx)(L.Fragment,{children:e>=r?`${(e/r).toFixed(2)} GB`:e>=n?`${(e/n).toFixed(2)} MB`:e>=t?`${(e/t).toFixed(2)} KB`:`${Math.round(e)} B`})}function _t({it:e}){let t=e.type||`application/octet-stream`,n=pt(e.data_b64url,t),r=e.name||`file`;if(t.startsWith(`image/`))return(0,L.jsxs)(`div`,{className:`sf-media sf-media--image`,children:[(0,L.jsx)(`img`,{src:n,alt:r,loading:`lazy`,decoding:`async`}),(0,L.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,L.jsx)(`span`,{children:r}),(0,L.jsx)(`span`,{children:(0,L.jsx)(gt,{n:e.size})})]}),(0,L.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});if(t.startsWith(`video/`))return(0,L.jsxs)(`div`,{className:`sf-media sf-media--video`,children:[(0,L.jsx)(`video`,{src:n,controls:!0,playsInline:!0,preload:`metadata`}),(0,L.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,L.jsx)(`span`,{children:r}),(0,L.jsx)(`span`,{children:(0,L.jsx)(gt,{n:e.size})})]}),(0,L.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});if(t.startsWith(`audio/`))return(0,L.jsxs)(`div`,{className:`sf-media sf-media--audio`,children:[(0,L.jsx)(`audio`,{src:n,controls:!0,preload:`metadata`}),(0,L.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,L.jsx)(`span`,{children:r}),(0,L.jsx)(`span`,{children:(0,L.jsx)(gt,{n:e.size})})]}),(0,L.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});let i=t.startsWith(`text/`)||[`application/json`,`application/xml`,`application/svg+xml`].includes(t),a=null;if(i)try{a=atob(e.data_b64url.replace(/-/g,`+`).replace(/_/g,`/`)).slice(0,1200)}catch{a=null}return(0,L.jsxs)(`div`,{className:`sf-file`,children:[(0,L.jsxs)(`div`,{className:`sf-file-head`,children:[(0,L.jsx)(`div`,{className:`sf-file-name`,children:e.relPath||r}),(0,L.jsx)(`div`,{className:`sf-file-size`,children:(0,L.jsx)(gt,{n:e.size})})]}),a&&(0,L.jsxs)(`pre`,{className:`sf-file-pre`,"aria-label":`${r} preview`,children:[a,a.length>=1200?` +import{$n as e,$r as t,Gr as n,Hr as r,Ir as i,Jr as a,Kt as o,Lr as s,Pn as c,Pr as l,Qn as u,Qr as d,Vr as f,Xn as p,Zn as ee,ai as te,ar as m,cr as h,di as g,dr as _,ei as ne,er as v,hr as y,li as b,lr as x,ni as S,oi as C,or as re,pi as w,pr as T,rr as E,rt as D,si as O,tr as ie,ur as ae,vr as oe,yi as k}from"./index-DW_ZnoNU.js";import{n as A}from"./EternalKlock-CRK5ayaX.js";import{n as se}from"./SigilAuthContext-rbXUYZ1p.js";import{a as ce,c as le,d as ue,i as de,l as fe,n as pe,o as j,r as me,s as M,t as N,u as P}from"./ticker-ESiwEkfY.js";import{t as F}from"./SigilAuthProvider-CWcy5VQ0.js";import{t as he}from"./useFastPress-DEvKYh7Z.js";var I=k(w(),1);const ge=(0,I.createContext)(null);function _e(){let e=(0,I.useContext)(ge);if(!e)throw Error(`useToasts() must be used within `);return e}var L=k(o(),1);function ve({children:e}){let[t,n]=(0,I.useState)([]),r=(0,I.useRef)(new Map),i=(0,I.useRef)(1),a=(0,I.useCallback)(e=>{let t=r.current.get(e);typeof t==`number`&&(window.clearTimeout(t),r.current.delete(e))},[]),o=(0,I.useCallback)(e=>{a(e),n(t=>t.filter(t=>t.id!==e))},[a]),s=(0,I.useCallback)((e,t)=>{let s=i.current++;n(n=>{let r=[{id:s,kind:e,text:t},...n],i=r.slice(0,3),o=r.slice(3);for(let e of o)a(e.id);return i});let c=window.setTimeout(()=>o(s),2600);r.current.set(s,c)},[a,o]),c=(0,I.useMemo)(()=>({push:s}),[s]);(0,I.useEffect)(()=>()=>{for(let e of r.current.values())window.clearTimeout(e);r.current.clear()},[]);let l=e=>{switch(e){case`success`:return`rgba(16,28,22,.88)`;case`warn`:return`rgba(28,24,12,.88)`;case`error`:return`rgba(36,16,16,.88)`;case`info`:default:return`rgba(12,18,28,.88)`}};return(0,L.jsxs)(ge.Provider,{value:c,children:[e,(0,L.jsx)(`div`,{"aria-live":`polite`,"aria-atomic":`false`,style:{position:`fixed`,left:0,right:0,bottom:0,padding:`8px 12px`,display:`grid`,gap:8,zIndex:1e3,pointerEvents:`none`},children:t.map(e=>(0,L.jsx)(`div`,{role:`status`,style:{pointerEvents:`auto`,marginInline:`auto`,maxWidth:`min(720px, 100%)`,width:`100%`,background:l(e.kind),border:`1px solid rgba(255,255,255,.12)`,borderRadius:12,padding:`10px 12px`,color:`rgb(236,241,251)`,boxShadow:`0 8px 28px rgba(0,0,0,.35)`,backdropFilter:`blur(6px)`,fontVariantNumeric:`tabular-nums`},children:e.text},e.id))})]})}var R=ve;async function ye(){try{let e=await fetch(`/links.json`,{cache:`no-store`});if(!e.ok||!(e.headers.get(`content-type`)??``).toLowerCase().includes(`application/json`))return[];let t=await e.text(),n=JSON.parse(t);if(!Array.isArray(n))return[];let r=[];for(let e of n)j(e)&&typeof e.url==`string`&&e.url.trim().length&&r.push({url:e.url});return r}catch(e){return P(`loadLinksJson`,e),[]}}const be=`sf-links`;function xe(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)&&t.every(e=>typeof e==`string`)?t:[]}catch(e){return P(`parseStringArray`,e),[]}}function z(e){try{if(typeof window>`u`)return;let t=xe(localStorage.getItem(be)),n=e.filter(e=>typeof e==`string`&&e.trim().length);if(n.length===0)return;let r=new Set(t),i=n.filter(e=>!r.has(e));if(i.length===0)return;let a=[...i,...t];localStorage.setItem(be,JSON.stringify(a))}catch(e){P(`prependUniqueToStorage`,e)}}const Se=(()=>{try{return((typeof window<`u`?window.__PSHORT__:void 0)?.trim()||(void 0)?.trim()||``).replace(/\s+/g,``)}catch(e){return P(`Resolve PSHORT`,e),``}})();function B(){try{if(Se)return new URL(`/`,Se)}catch(e){P(`Invalid PSHORT`,e)}let e=typeof window<`u`?window.location.href:`https://example.com`;return new URL(`/`,e)}function V(){let e=typeof window<`u`?window.location.href:`https://example.com`;return new URL(`/`,e)}function H(e){try{let t=new URL(e);if(!(t.protocol===`https:`||t.protocol===`http:`))return!1;let n=t.pathname;if(n.startsWith(`/stream/p/`)||n.startsWith(`/p~`)&&n.length>3)return!0;if(n===`/p`){let e=t.hash.includes(`t=`),n=t.searchParams.has(`t`);return e||n}return t.search.includes(`p=`)}catch{return!1}}function U(e){try{let t=B(),n=new URL(e,t),r=V();if(n.pathname.startsWith(`/p~`)&&n.pathname.length>3){r.pathname=`/stream/p/${n.pathname.slice(3)}`;let e=n.searchParams.get(`add`)||(n.hash.startsWith(`#add=`)?new URLSearchParams(n.hash.slice(1)).get(`add`):null);return e&&r.searchParams.set(`add`,W(e)),r.toString()}if(n.pathname===`/p`){let t=n.hash.startsWith(`#`)?n.hash.slice(1):n.hash,i=new URLSearchParams(t),a=i.get(`t`),o=n.searchParams.get(`t`),s=a||o;if(!s)return e;r.pathname=`/stream/p/${s}`;let c=i.get(`add`),l=n.searchParams.get(`add`),u=c||l;return u&&r.searchParams.set(`add`,W(u)),r.toString()}return e}catch(t){return P(`expandShortAliasToCanonical`,t),e}}function W(e){let t=e.trim();if(!t)return t;try{if(t.startsWith(`/p~`))return U(`${B().origin}${t}`);if(t.startsWith(`/p#t=`)||t.startsWith(`#t=`)||t.includes(`/p?t=`))return U(t.startsWith(`#t=`)?`${B().origin}/p${t}`:t.startsWith(`/p`)?`${B().origin}${t}`:t);if(M(t)){let e=new URL(t);return e.pathname===`/p`||e.pathname.startsWith(`/p~`)?U(t):t}return t}catch(e){return P(`normalizeAddParam`,e),t}}function Ce(e){let t=V();return t.pathname=`/stream/p/${e}`.replace(/\/{2,}/g,`/`),t.search=``,t.hash=``,t.toString()}function we(e){let t=e.trim();if(t.startsWith(`#`)&&(t=t.slice(1)),t.length===3&&(t=t.split(``).map(e=>e+e).join(``)),t.length!==6)return null;let n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}var Te=(e,t=0,n=255)=>Math.max(t,Math.min(n,e));function Ee(e,t,n){return[Te(e[0]+(t[0]-e[0])*n),Te(e[1]+(t[1]-e[1])*n),Te(e[2]+(t[2]-e[2])*n)]}var De=e=>`${e[0]}, ${e[1]}, ${e[2]}`,Oe={root:`#FF3B3B`,sacral:`#FF8A33`,solar:`#FFD60A`,heart:`#22C55E`,throat:`#0EA5E9`,thirdEye:`#6366F1`,crown:`#C084FC`},ke=`crown`;function Ae(e){if(e==null)return null;let t;return t=typeof e==`number`?[`root`,`sacral`,`solar`,`heart`,`throat`,`thirdEye`,`crown`][Math.min(7,Math.max(1,e))-1]:e===`krown`?ke:e,we(Oe[t]??Oe.crown)}function je(e){let t=Ae(e);if(!t)return null;let n=[255,255,255],r=[255,215,128],i=Ee(t,n,.28),a=Ee(t,r,.42);return{s1:De(t),s2:De(i),s3:De(a)}}var Me={s1:`154, 230, 255`,s2:`196, 181, 253`,s3:`255, 215, 128`};function Ne(e,t){let n=je(e);if(n)return n;if(t?.primary){let e=we(t.primary)??we(`#9AE6FF`),n=t.secondary?we(t.secondary)??e:Ee(e,[255,255,255],.28),r=[255,215,128],i=t.accent?we(t.accent)??r:Ee(e,r,.45);return{s1:De(e),s2:De(n),s3:De(i)}}return Me}function Pe(e){if(!e)return;let t=e.trim();if(t)return t.startsWith(`@`),t}function Fe({username:e,phiKey:t,kaiSignature:n,sigilColors:r,chakra:i}){let a=Ne(i,r),o=Pe(e),s={"--sigil-1":a.s1,"--sigil-2":a.s2,"--sigil-3":a.s3},c=!o&&!t&&!n;return(0,L.jsx)(`div`,{className:`sf-identity`,style:s,...c?{"data-empty":``}:{},children:(0,L.jsxs)(`div`,{className:`sf-reply-id`,style:{rowGap:`.4rem`,columnGap:`.4rem`,display:`flex`,flexWrap:`wrap`},"aria-label":c?`No identity loaded`:`Identity chips`,children:[c&&(0,L.jsx)(`span`,{className:`sf-muted`,children:`No identity loaded this session.`}),o&&(0,L.jsxs)(`span`,{className:`sf-pill sf-pill--user`,title:`Username (session)`,children:[(0,L.jsx)(`strong`,{className:`sf-pill__label`,children:`User`}),`\xA0`,(0,L.jsx)(`span`,{className:`sf-key`,children:o})]}),t&&(0,L.jsxs)(`span`,{className:`sf-pill sf-pill--phikey`,title:`Your ΦKey (session)`,children:[(0,L.jsx)(`strong`,{className:`sf-pill__label`,children:`ΦKey`}),`\xA0`,(0,L.jsx)(`span`,{className:`sf-key`,children:t})]}),n&&(0,L.jsxs)(`span`,{className:`sf-pill sf-pill--ksig`,title:`Kai Signature (session)`,children:[(0,L.jsx)(`strong`,{className:`sf-pill__label`,children:`ΣSig`}),`\xA0`,(0,L.jsx)(`span`,{className:`sf-key`,children:n})]})]})})}var Ie=[`sigilActionUrl`,`sigilUrl`,`actionUrl`,`claimedUrl`,`loginUrl`,`sourceUrl`,`originUrl`,`url`,`link`,`href`];function Le(e){if(!e||!j(e))return[];let t=[],n=new Set;for(let r of Ie){let i=fe(e,r);if(typeof i!=`string`)continue;let a=i.trim();a&&(n.has(a)||(n.add(a),t.push(a)))}return t}function Re(e){if(!e)return[];try{let t=e.match(/https?:\/\/[^\s"'<>)#]+/gi)??[],n=[],r=new Set;for(let e of t){let t=(e??``).trim();t&&(r.has(t)||(r.add(t),n.push(t)))}return n}catch{return[]}}function ze(e){return/^https?:\/\//i.test((e??``).trim())}function Be(e){try{return new URL(e)}catch{return null}}function Ve(e){let t=(e??``).trim();if(!t)return``;let n=t;n=n.replace(/\/stream\/v=/gi,`/stream/t=`),n=n.replace(/\/stream\/v\//gi,`/stream/t/`),n=n.replace(/\/stream\/v(\?|&|#)/gi,`/stream/t$1`),n=n.replace(/([?&#])v=/gi,`$1t=`);let r=Be(n);if(!r)return n.replace(/([?&#])v=/gi,`$1t=`);let i=r.searchParams,a=(i.get(`t`)??``).trim().length>0,o=(i.get(`v`)??``).trim();if(!a&&o&&i.set(`t`,o),i.delete(`v`),(i.get(`t`)??``).trim().length>0&&i.delete(`p`),r.hash&&r.hash.length>1){let e=r.hash.startsWith(`#`)?r.hash.slice(1):r.hash;if(e.includes(`=`)&&!e.startsWith(`/`)){let t=e.split(`&`).filter(Boolean),n=[],i=!1;for(let e of t){let t=e.indexOf(`=`);if(t<=0){n.push(e);continue}let r=e.slice(0,t),a=e.slice(t+1),o=r.toLowerCase();if(o===`v`){!i&&a.trim().length&&(n.push(`t=${a}`),i=!0);continue}o===`t`&&(i=!0),n.push(e)}if(i){let e=[];for(let t of n){let n=t.indexOf(`=`);(n>0?t.slice(0,n).toLowerCase():``)!==`p`&&e.push(t)}r.hash=e.length?`#${e.join(`&`)}`:``}else r.hash=n.length?`#${n.join(`&`)}`:``}else r.hash=r.hash.replace(/([?&#])v=/gi,`$1t=`)}return r.toString()}function He(e){let t=(e??``).trim();if(!t)return-1;let n=t.toLowerCase(),r=0;return(/[?&#]v=/.test(n)||n.includes(`/stream/v`))&&(r-=1e4),(/[?&#]t=/.test(n)||n.includes(`/stream/t`)||n.includes(`stream/t=`))&&(r+=500),(/[?&#]p=/.test(n)||n.includes(`/stream/p`)||n.includes(`stream/p=`))&&(r+=280),H(t)&&(r+=160),n.startsWith(`https://`)?r+=20:n.startsWith(`http://`)&&(r+=10),r+=Math.max(0,120-Math.min(120,Math.floor(t.length/6))),r}function Ue(e){let t=``,n=-1;for(let r of e){let e=Ve(r),i=He(e);i>n&&(n=i,t=e)}return t}async function We(e){let t=e??``;if(!t)return!1;try{if(typeof navigator<`u`&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{let e=document.createElement(`textarea`);e.value=t,e.setAttribute(`readonly`,`true`),e.style.position=`fixed`,e.style.left=`-9999px`,e.style.top=`-9999px`,document.body.appendChild(e),e.select(),e.setSelectionRange(0,e.value.length);let n=document.execCommand(`copy`);return document.body.removeChild(e),n}catch{return!1}}function Ge({value:e,isCanonical:t}){let n=(0,I.useMemo)(()=>Be(e),[e]),r=(0,I.useMemo)(()=>ze(e)?e:``,[e]),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(!1),c=(0,I.useRef)(null);(0,I.useEffect)(()=>()=>{c.current&&window.clearTimeout(c.current)},[]);let l=(0,I.useCallback)(e=>{c.current&&window.clearTimeout(c.current),a(e),s(!e),c.current=window.setTimeout(()=>{a(!1),s(!1),c.current=null},1400)},[]),u=(0,I.useCallback)(async()=>{l(await We(e))},[l,e]),d=(0,I.useCallback)(e=>{let t=e.currentTarget;try{t.focus(),t.select(),t.setSelectionRange(0,t.value.length)}catch{}},[]),f=n?.host??``,p=n?`${n.hostname}${n.pathname}${n.search}${n.hash}`.replace(/\/{2,}/g,`/`):e;return(0,L.jsxs)(`div`,{className:`sf-reply-row sf-actionurl`,children:[(0,L.jsxs)(`div`,{className:`sf-actionurl__head`,children:[(0,L.jsxs)(`label`,{className:`sf-label sf-actionurl__label`,children:[`Proof of Breath™ `,(0,L.jsx)(`span`,{className:`sf-muted`,children:`(Sigil-Glyph)`})]}),(0,L.jsx)(`span`,{className:`sf-actionurl__pill ${t?`is-ok`:`is-warn`}`,children:t?`SIGNED`:`EXTERNAL`})]}),(0,L.jsxs)(`div`,{className:`sf-actionurl__field`,children:[(0,L.jsxs)(`div`,{className:`sf-actionurl__inputWrap`,children:[(0,L.jsx)(`input`,{className:`sf-input sf-input--locked sf-actionurl__input`,type:`url`,value:e,readOnly:!0,onClick:d,onFocus:d,"aria-label":`Proof of Breath™ Sigil-Glyph`}),(0,L.jsxs)(`div`,{className:`sf-actionurl__meta`,"aria-hidden":`true`,children:[f?(0,L.jsx)(`span`,{className:`sf-actionurl__host`,children:f}):(0,L.jsx)(`span`,{className:`sf-actionurl__host`,children:`URL`}),(0,L.jsx)(`span`,{className:`sf-actionurl__dot`,children:`•`}),(0,L.jsx)(`span`,{className:`sf-actionurl__pretty`,children:p})]})]}),(0,L.jsxs)(`div`,{className:`sf-actionurl__btns`,children:[(0,L.jsx)(`button`,{type:`button`,className:`sf-actionurl__btn ${i?`is-copied`:``} ${o?`is-fail`:``}`,onClick:u,"aria-live":`polite`,children:i?`✓ Remembered`:o?`Remember failed`:`Remember`}),r?(0,L.jsx)(`a`,{className:`sf-actionurl__btn sf-actionurl__btn--link`,href:r,target:`_blank`,rel:`noreferrer noopener`,"aria-label":`Open Proof of Breath URL in a new tab`,children:`↗`}):(0,L.jsx)(`button`,{type:`button`,className:`sf-actionurl__btn sf-actionurl__btn--disabled`,disabled:!0,children:`↗`})]})]}),!t&&(0,L.jsx)(`div`,{className:`sf-warn sf-actionurl__warn`,role:`status`,children:`Not recognized as a sealed Proof of Breath™ link; fallback rules may apply.`})]})}function Ke(){return(0,L.jsxs)(`div`,{className:`sf-reply-row sf-actionurl sf-actionurl--empty`,children:[(0,L.jsxs)(`div`,{className:`sf-actionurl__head`,children:[(0,L.jsxs)(`label`,{className:`sf-label sf-actionurl__label`,children:[`Proof of Breath™ `,(0,L.jsx)(`span`,{className:`sf-muted`,children:`(Sigil-Glyph)`})]}),(0,L.jsx)(`span`,{className:`sf-actionurl__pill is-warn`,children:`MISSING`})]}),(0,L.jsx)(`div`,{className:`sf-warn sf-actionurl__warn`,role:`status`,children:`No Proof of Breath™ sigil-glyph detected; a fallback will be used.`})]})}function qe({meta:e,svgText:t}){let n=Le(e),r=Re(t),i=[...n,...r],a=i.length?Ue(i):``,o=a.length>0&&H(a);return{value:a,isCanonical:o,node:a?(0,L.jsx)(Ge,{value:a,isCanonical:o}):(0,L.jsx)(Ke,{})}}function Je(e){let t=e.trim();if(!t)return null;let n=t.replace(/^(kai|sigil):\/\//i,`https://`);try{if(M(n))return n;if(/^[a-z0-9.-]+\.[a-z]{2,}(?:\/.*)?$/i.test(n))return`https://${n}`}catch{}return null}function Ye({onAdd:e,placeholder:t=`Paste any message (https://… or domain.tld)`,title:n=`Inhale a memory`}){let r=_e(),[i,a]=(0,I.useState)(``),[o,s]=(0,I.useState)(null),c=(0,I.useCallback)(t=>{s(null);let n=Je(t);if(!n){s(`Enter a valid URL (https://… or domain.tld).`);return}e(n),a(``),r.push(`success`,`Link inhaled.`)},[e,r]),l=(0,I.useCallback)(async()=>{s(null);try{let e=(await navigator.clipboard.readText()).trim();if(!e){s(`Memory is empty.`);return}let t=Je(e);if(!t){s(`Memory does not contain a valid link.`);return}a(t),c(t)}catch{s(`Memory read is not permitted.`)}},[c]);return(0,L.jsxs)(`section`,{className:`sf-inhaler`,"aria-labelledby":`inhaler-title`,style:{marginTop:`1rem`},children:[(0,L.jsx)(`h2`,{id:`inhaler-title`,className:`sf-reply-title`,children:n}),(0,L.jsxs)(`div`,{className:`sf-reply-row`,style:{display:`grid`,gap:`.5rem`},children:[(0,L.jsx)(`input`,{className:`sf-input`,type:`url`,placeholder:t,value:i,onChange:e=>a(e.target.value),autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,inputMode:`url`,enterKeyHint:`go`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),c(i))}}),(0,L.jsxs)(`div`,{className:`sf-reply-actions`,style:{gap:`.5rem`,display:`flex`,flexWrap:`wrap`},children:[(0,L.jsx)(`button`,{className:`sf-btn`,onClick:()=>c(i),children:`Inhale`}),(0,L.jsx)(`button`,{className:`sf-btn sf-btn--ghost`,onClick:l,children:`Inhale from memory`})]}),o&&(0,L.jsx)(`div`,{className:`sf-error`,role:`alert`,children:o})]})]})}function Xe(e){try{let t=new URL(e).pathname.split(`/`).pop()||``,n=t.lastIndexOf(`.`);return n>=0?t.slice(n+1).toLowerCase():``}catch{return``}}function Ze(e){return[`png`,`jpg`,`jpeg`,`gif`,`webp`,`avif`,`bmp`].includes(e)}function Qe(e){return[`mp4`,`webm`,`ogg`,`ogv`,`mov`,`m4v`].includes(e)}function $e(e){return e===`pdf`}function et(e){try{return new URL(e).host}catch{return``}}function tt(e){try{let t=new URL(e),n=t.host,r=t.pathname||``;r===`/`&&(r=``),r.endsWith(`/`)&&r.length>1&&(r=r.slice(0,-1));let i=t.search||``;return`${n}${r}${i}`}catch{return e.replace(/^https?:\/\//i,``).replace(/\/+$/g,``)}}function nt(e){try{let t=new URL(e);if(t.hostname.includes(`youtu.be`))return t.pathname.slice(1)||null;if(t.hostname.includes(`youtube.com`)){let e=t.searchParams.get(`v`);if(e)return e;let n=t.pathname.split(`/`).filter(Boolean),r=n.indexOf(`embed`);if(r>=0&&n[r+1])return n[r+1]}return null}catch{return null}}function rt(e){try{let t=new URL(e);return t.hostname.includes(`vimeo.com`)&&t.pathname.split(`/`).filter(Boolean).find(e=>/^\d+$/.test(e))||null}catch{return null}}function it(e){try{let t=new URL(e);return t.hostname.includes(`spotify.com`)&&(t.pathname.startsWith(`/track/`)||t.pathname.startsWith(`/album/`)||t.pathname.startsWith(`/playlist/`))?`https://open.spotify.com/embed${t.pathname}${t.search}`:null}catch{return null}}function at({host:e}){return(0,L.jsx)(`img`,{className:`sf-favicon`,src:`https://${e}/favicon.ico`,alt:``,width:16,height:16,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.visibility=`hidden`}})}function ot(e){let{url:t,title:n,children:r}=e,i=et(t),a=(n&&n.trim().length?n.trim():``)||tt(t);return(0,L.jsxs)(`div`,{className:`sf-att-card`,children:[(0,L.jsx)(`div`,{className:`sf-att-head`,children:(0,L.jsxs)(`a`,{className:`sf-att-head__hit`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:t,children:[i?(0,L.jsx)(at,{host:i}):(0,L.jsx)(`span`,{className:`sf-favicon sf-favicon--blank`,"aria-hidden":`true`}),(0,L.jsx)(`div`,{className:`sf-att-head__text`,children:(0,L.jsx)(`div`,{className:`sf-att-head__title`,children:a})}),(0,L.jsx)(`span`,{className:`sf-att-open`,"aria-hidden":`true`,children:`↗`})]})}),r?(0,L.jsx)(`div`,{className:`sf-att-body`,children:r}):null]})}function st({src:e,title:t}){return(0,L.jsx)(`div`,{className:`sf-embed`,children:(0,L.jsx)(`iframe`,{className:`sf-embed__frame`,src:e,title:t,loading:`lazy`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowFullScreen:!0,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox`})})}function ct({url:e,title:t}){return(0,L.jsx)(ot,{url:e,title:t})}function lt({url:e,title:t}){let n=nt(e);if(n)return(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(st,{src:`https://www.youtube.com/embed/${n}`,title:t||`YouTube`})});let r=rt(e);if(r)return(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(st,{src:`https://player.vimeo.com/video/${r}`,title:t||`Vimeo`})});let i=it(e);if(i)return(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(st,{src:i,title:t||`Spotify`})});let a=Xe(e);return Ze(a)?(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(`div`,{className:`sf-media sf-media--image`,children:(0,L.jsx)(`img`,{className:`sf-media__img`,src:e,alt:t||`image`,loading:`lazy`,decoding:`async`})})}):Qe(a)?(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(`div`,{className:`sf-media sf-media--video`,children:(0,L.jsx)(`video`,{className:`sf-media__video`,src:e,controls:!0,playsInline:!0,preload:`metadata`})})}):$e(a)?(0,L.jsx)(ot,{url:e,title:t,children:(0,L.jsx)(`div`,{className:`sf-embed sf-embed--doc`,children:(0,L.jsx)(`iframe`,{className:`sf-embed__frame`,src:e,title:t||`Document`,loading:`lazy`})})}):(0,L.jsx)(ct,{url:e,title:t})}function ut(e){let t=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),n=``;for(let r=0;r`data:${t};base64,${ft(e)}`;async function mt(e){let t=typeof crypto<`u`&&crypto.subtle||typeof window<`u`&&window.crypto&&window.crypto.webkitSubtle;if(!t)throw Error(`WebCrypto.subtle is not available in this context.`);let n=await t.digest(`SHA-256`,e);return ut(new Uint8Array(n))}async function ht(e,t=524288){let n=[],r=0,i=0;for(let a of Array.from(e)){r+=a.size;try{let e=await a.arrayBuffer(),r=await mt(e),o=a.type||`application/octet-stream`;if(a.size<=t){let t=dt(new Uint8Array(e)),s={kind:`file-inline`,name:a.name,type:o,size:a.size,sha256:r,data_b64url:t};i+=a.size,n.push(s)}else{let e={kind:`file-ref`,name:a.name,type:o,size:a.size,sha256:r};n.push(e)}}catch(e){P(`filesToManifest: read/hash failed`,e)}}return{version:1,totalBytes:r,inlinedBytes:i,items:n}}function gt({n:e}){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return(0,L.jsx)(L.Fragment,{children:`—`});let t=1024,n=t*1024,r=n*1024;return(0,L.jsx)(L.Fragment,{children:e>=r?`${(e/r).toFixed(2)} GB`:e>=n?`${(e/n).toFixed(2)} MB`:e>=t?`${(e/t).toFixed(2)} KB`:`${Math.round(e)} B`})}function _t({it:e}){let t=e.type||`application/octet-stream`,n=pt(e.data_b64url,t),r=e.name||`file`;if(t.startsWith(`image/`))return(0,L.jsxs)(`div`,{className:`sf-media sf-media--image`,children:[(0,L.jsx)(`img`,{src:n,alt:r,loading:`lazy`,decoding:`async`}),(0,L.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,L.jsx)(`span`,{children:r}),(0,L.jsx)(`span`,{children:(0,L.jsx)(gt,{n:e.size})})]}),(0,L.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});if(t.startsWith(`video/`))return(0,L.jsxs)(`div`,{className:`sf-media sf-media--video`,children:[(0,L.jsx)(`video`,{src:n,controls:!0,playsInline:!0,preload:`metadata`}),(0,L.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,L.jsx)(`span`,{children:r}),(0,L.jsx)(`span`,{children:(0,L.jsx)(gt,{n:e.size})})]}),(0,L.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});if(t.startsWith(`audio/`))return(0,L.jsxs)(`div`,{className:`sf-media sf-media--audio`,children:[(0,L.jsx)(`audio`,{src:n,controls:!0,preload:`metadata`}),(0,L.jsxs)(`div`,{className:`sf-file-meta`,children:[(0,L.jsx)(`span`,{children:r}),(0,L.jsx)(`span`,{children:(0,L.jsx)(gt,{n:e.size})})]}),(0,L.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]});let i=t.startsWith(`text/`)||[`application/json`,`application/xml`,`application/svg+xml`].includes(t),a=null;if(i)try{a=atob(e.data_b64url.replace(/-/g,`+`).replace(/_/g,`/`)).slice(0,1200)}catch{a=null}return(0,L.jsxs)(`div`,{className:`sf-file`,children:[(0,L.jsxs)(`div`,{className:`sf-file-head`,children:[(0,L.jsx)(`div`,{className:`sf-file-name`,children:e.relPath||r}),(0,L.jsx)(`div`,{className:`sf-file-size`,children:(0,L.jsx)(gt,{n:e.size})})]}),a&&(0,L.jsxs)(`pre`,{className:`sf-file-pre`,"aria-label":`${r} preview`,children:[a,a.length>=1200?` … (truncated preview)`:``]}),(0,L.jsxs)(`div`,{className:`sf-file-foot`,children:[(0,L.jsxs)(`code`,{className:`sf-hash mono`,children:[`sha256:`,e.sha256]}),(0,L.jsx)(`a`,{className:`sf-file-dl`,href:n,download:r,children:`Download`})]})]})}function vt({it:e}){let t=e.name||`file`;return(0,L.jsxs)(`div`,{className:`sf-fileref`,children:[(0,L.jsxs)(`div`,{className:`sf-file-head`,children:[(0,L.jsx)(`div`,{className:`sf-file-name`,children:e.relPath||t}),(0,L.jsx)(`div`,{className:`sf-file-size`,children:(0,L.jsx)(gt,{n:e.size})})]}),(0,L.jsxs)(`div`,{className:`sf-file-foot`,children:[(0,L.jsx)(`div`,{className:`sf-file-type`,children:e.type||`application/octet-stream`}),(0,L.jsxs)(`code`,{className:`sf-hash mono`,children:[`sha256:`,e.sha256]})]}),(0,L.jsx)(`div`,{className:`sf-note`,children:`Large file not inlined. Host by hash anywhere and add the public URL as an attachment link.`})]})}function yt({item:e}){return e.kind===`url`?(0,L.jsx)(lt,{url:e.url,title:e.title}):e.kind===`file-inline`?(0,L.jsx)(_t,{it:e}):(0,L.jsx)(vt,{it:e})}function bt({manifest:e}){return e.items.length?(0,L.jsxs)(`section`,{className:`sf-attachments`,"aria-labelledby":`sf-att-title`,children:[(0,L.jsx)(`h3`,{id:`sf-att-title`,className:`sf-att-title`,children:`Attachments`}),(0,L.jsx)(`div`,{className:`sf-att-grid`,children:e.items.map((e,t)=>(0,L.jsx)(`div`,{className:`sf-att-item`,children:(0,L.jsx)(yt,{item:e})},t))}),(0,L.jsxs)(`div`,{className:`sf-att-foot`,children:[(0,L.jsxs)(`span`,{children:[`Total:`,` `,(0,L.jsx)(`strong`,{children:(0,L.jsx)(gt,{n:e.totalBytes})})]}),typeof e.inlinedBytes==`number`&&e.inlinedBytes>0&&(0,L.jsxs)(`span`,{children:[` `,`• Inlined:`,` `,(0,L.jsx)(`strong`,{children:(0,L.jsx)(gt,{n:e.inlinedBytes})})]})]})]}):null}function xt(e){let t=e.trim();if(!t)return null;if(/^(kai|sigil):\/\//i.test(t))return t.replace(/^(kai|sigil):\/\//i,`https://`);try{if(M(t))return t;if(/^[a-z0-9.-]+\.[a-z]{2,}(\/.*)?$/i.test(t))return`https://${t}`}catch{}return null}function St(e,t){if(!t)return{next:e,error:`Missing URL.`};if(e.some(e=>e.url===t))return{next:e,error:`Link already added.`};let n={kind:`url`,url:t};return{next:[...e,n],added:n}}function Ct(e,t){return t<0||t>=e.length?e:[...e.slice(0,t),...e.slice(t+1)]}var wt=512,Tt=`sigil:feed`,Et=`kai-feed-registry`;function Dt(e){try{return decodeURIComponent(e)}catch{return e}}function Ot(e){let t=e.trim();return t.length<16?!1:/^[A-Za-z0-9_-]+$/u.test(t)}function kt(e){let t=e.trim();if(!t)return``;try{return new URL(t,V().origin).toString()}catch{return t}}function At(e){let t=x(e);return t?`t:${t}`:null}function jt(e){try{let t=new URL(e,V().origin),n=t.hash.startsWith(`#`)?t.hash.slice(1):``;return new URLSearchParams(n).getAll(`add`).length+t.searchParams.getAll(`add`).length}catch{return 0}}function Mt(e){return jt(e)*1e5+e.length}function Nt(e,t){if(typeof window>`u`||window.localStorage===void 0)return{changed:!1,value:t};let n=kt(t);if(!n)return{changed:!1,value:t};try{let t=window.localStorage.getItem(e),r=[];if(t){let e=JSON.parse(t);if(Array.isArray(e))for(let t of e)typeof t==`string`&&r.push(t)}let i=[],a=new Map,o=e=>At(e)??`u:${kt(e)}`;for(let e of r){let t=kt(e);if(!t)continue;let n=o(t),r=Mt(t);a.has(n)?r>a.get(n).score&&a.set(n,{url:t,score:r}):(a.set(n,{url:t,score:r}),i.push(n))}let s=o(n),c=Mt(n);a.has(s)?c>a.get(s).score&&a.set(s,{url:n,score:c}):(a.set(s,{url:n,score:c}),i.push(s));let l=[];for(let e of i){let t=a.get(e);t&&l.push(t.url)}let u=JSON.stringify(r),d=JSON.stringify(l);return u===d?{changed:!1,value:n}:(window.localStorage.setItem(e,d),{changed:!0,value:n})}catch{return{changed:!1,value:n}}}function Pt(e){if(!(typeof window>`u`)){try{window.__FEED__?.registerFeedUrl?.(e)}catch{}try{window.dispatchEvent(new CustomEvent(`sigil:feed-registered`,{detail:{url:e}})),window.dispatchEvent(new CustomEvent(`feed:url-registered`,{detail:{url:e}}))}catch{}try{if(`BroadcastChannel`in window){let t=new BroadcastChannel(Et);t.postMessage({type:`feed:add`,url:e}),t.close()}}catch{}}}function Ft(e){try{let t=new URL(e,V().origin),n=t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=[...t.searchParams.getAll(`add`),...r.getAll(`add`)],a=[];for(let e of i){let t=Dt(String(e)).trim();if(t){if(t.startsWith(`j:`)&&t.length>10){a.includes(t)||a.push(t);continue}if(Ot(t))try{let e=U(Ce(t));e&&!a.includes(e)&&a.push(e);continue}catch{}try{let e=U(t);e&&!a.includes(e)&&a.push(e)}catch{}}}return a.slice(-wt)}catch{return[]}}function It(e,t){let n=new URL(e,V().origin),r=n.hash.startsWith(`#`)?n.hash.slice(1):``,i=new URLSearchParams(r);i.delete(`add`);for(let e of t)i.append(`add`,e);n.search=``;let a=i.toString();return n.hash=a?`#${a}`:``,n.toString()}function Lt(e){return`${V().origin.replace(/\/+$/g,``)}/stream/p/${encodeURIComponent(e)}`}function Rt(e){try{let t=new URL(e,V().origin),n=t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n).get(`root`)??t.searchParams.get(`root`);if(!r)return null;let i=Dt(String(r)).trim();return i?i.startsWith(`j:`)&&i.length>10?i:/^[A-Za-z0-9_-]{16,}$/u.test(i)?`j:${i}`:null:null}catch{return null}}function zt(){if(typeof window>`u`)return{replyToUrl:null,originUrl:null,addChain:[]};let e=window.location.href,t=Ft(e),n=x(e)??h(window.location),r=n?(()=>{try{return U(Lt(n))}catch{return Lt(n)}})():null,i=Rt(e),a=!r&&!i&&t.length?t[t.length-1]:null,o=r??i??a;return{replyToUrl:o,originUrl:t.length?t[0]:o,addChain:(a&&t.length?t.slice(0,-1):t.slice(0)).slice(-wt)}}function Bt({meta:t,svgText:n,onUseDifferentKey:r,inlineLimitBytes:i=512*1024}){let a=_e(),{meta:o,svgText:s}=(0,I.useMemo)(()=>ce({meta:t,svgText:n}),[t,n]),d=(0,I.useMemo)(()=>o?fe(o,`userPhiKey`):void 0,[o]),f=(0,I.useMemo)(()=>o?fe(o,`kaiSignature`):void 0,[o]),{value:te}=qe({meta:o,svgText:s}),[g,ne]=(0,I.useState)(``),[b,S]=(0,I.useState)(``),[C,w]=(0,I.useState)(``),[E,D]=(0,I.useState)({version:1,totalBytes:0,inlinedBytes:0,items:[]}),[O,k]=(0,I.useState)(``),[A,se]=(0,I.useState)([]),le=(0,I.useId)(),ue=(0,I.useId)(),pe=(0,I.useRef)(null),j=(0,I.useRef)(null),[me,M]=(0,I.useState)(!1),[N,P]=(0,I.useState)(``),[F,he]=(0,I.useState)(!1),[ge,ve]=(0,I.useState)(()=>p()),[R,ye]=(0,I.useState)(null);(0,I.useEffect)(()=>{if(!(typeof window>`u`))try{let e=zt();if(!e.replyToUrl)return;let t=x(e.replyToUrl)??h(window.location);if(!t)return;let n=m(t);n&&ye(n)}catch{}},[]);let be=(0,I.useMemo)(()=>{if(!R)return null;let e=R.body,t=R.caption??``;e&&(e.kind===`text`?t=e.text:e.kind===`md`?t=e.md:e.kind===`code`?t=e.code:e.kind===`html`&&(t=e.html));let n=t.trim();if(!n)return{author:R.author,url:R.url,snippet:`(Previous memory has no visible text content.)`};let r=n.length>280?`${n.slice(0,279)}…`:n;return{author:R.author,url:R.url,snippet:r}},[R]);(0,I.useEffect)(()=>{ve(p());let e=u((e,t)=>{ve(t=>({...t,[e.normalized]:e}))});return()=>e()},[]);let xe=(0,I.useMemo)(()=>ie(b),[b]),z=xe?ge[xe]:void 0,Se=(0,I.useMemo)(()=>v(C),[C]),B=(0,I.useMemo)(()=>xe?z?z.claimHash===Se||z.ownerHint&&d&&z.ownerHint===d?`Username claimed by you`:`Username claimed by another`:`Username available`:``,[z,Se,xe,d]),U=(0,I.useCallback)(async e=>{let t=e.currentTarget.files;if(!(!t||t.length===0))try{let n=await ht(t,i);D(e=>({version:1,totalBytes:e.totalBytes+n.totalBytes,inlinedBytes:e.inlinedBytes+n.inlinedBytes,items:[...n.items,...e.items]})),e.currentTarget.value=``,a.push(`success`,`Attached.`)}catch(e){console.error(`[Composer] onPickFiles:`,e),a.push(`error`,`Attach failed.`)}},[i,a]),W=(0,I.useCallback)(e=>{D(t=>{let n=[...t.items],r=n.splice(e,1)[0],i=r&&(r.kind===`file-inline`||r.kind===`file-ref`)?r.size??0:0,a=r&&r.kind===`file-inline`?r.size??0:0;return{version:1,totalBytes:Math.max(0,t.totalBytes-i),inlinedBytes:Math.max(0,t.inlinedBytes-a),items:n}})},[]),Ce=e=>{let t=xt(e);if(!t){a.push(`warn`,`Invalid URL. Use https://example.com`);return}let{next:n,added:r,error:i}=St(A,t);if(i){a.push(`warn`,i);return}se(n),k(``),r&&a.push(`success`,`Link added.`)},we=e=>{se(t=>Ct(t,e))},Te=async()=>{if(!me){M(!0);try{let t=(te||``).trim();(!t||!H(t))&&a.push(`info`,`No sigil URL detected; using fallback.`);let n=g.trim(),r=b.trim(),i=ie(r),s=A.map(e=>oe({url:e.url,title:e.title})),u=E.items.map(e=>e.kind===`file-ref`?T({sha256:e.sha256,name:e.name,type:e.type,size:e.size,url:void 0}):e.kind===`file-inline`?y({name:e.name,type:e.type,size:e.size,data_b64url:e.data_b64url,thumbnail_b64:void 0}):e),p=[...s,...u],m=p.length>0?ae(p):void 0,h=de(new Date).pulse,ne=n.length>0?{kind:`text`,text:n}:void 0,v;if(i)if(z){if(!Se){a.push(`warn`,`Username is claimed. Provide your claim glyph token to seal.`);return}if(Se!==z.claimHash){a.push(`warn`,`Claim glyph mismatch. Memory not sealed.`);return}v={hash:z.claimHash,url:z.claimUrl,payload:{kind:l,username:z.username,normalized:z.normalized,originHash:z.originHash,ownerHint:z.ownerHint??null},ownerHint:z.ownerHint??null}}else{if(!o||!f){a.push(`warn`,`Inhale your sigil to mint a username claim.`);return}let t=e({origin:{hash:f,pulseCreated:o?.pulse??h,pulseGenesis:o?.pulse??h,value:1,sentTo:[],receivedFrom:[],metadata:{kaiSignature:f,creator:d??void 0}},username:r,pulse:h,ownerHint:d??null}),n=t.metadata?.usernameClaim;if(n)v={hash:t.hash,payload:n,ownerHint:n.ownerHint??null};else{a.push(`warn`,`Could not mint username-claim glyph.`);return}}let S=Lt(re({..._({url:t||V().origin,pulse:h,caption:n||void 0,body:ne,author:r||void 0,sigilId:void 0,phiKey:d??void 0,kaiSignature:f??void 0,parent:void 0,parentUrl:void 0,originUrl:void 0,ts:void 0,attachments:m,usernameClaim:v}),kind:`post`})),C=zt(),w=[];for(let e of C.addChain){let t=x(e);t&&!w.includes(t)&&w.push(t)}let D=C.replyToUrl?x(C.replyToUrl):null,O=[...w];D&&!O.includes(D)&&O.push(D);let k=O.length?It(S,O.slice(-wt)):S;if(v){let e=ee({...v,url:v.url??k});if(!e.accepted){a.push(`warn`,e.reason||`Unable to register username claim.`);return}ve(e.registry)}await navigator.clipboard.writeText(k),a.push(`success`,`Link kopied. Kai-sealed.`),P(k);try{for(let e of O)c(Lt(e));c(k),Pt(Nt(Tt,k).value)}catch{}}catch(e){console.error(`[Composer] onGenerateReply:`,e),a.push(`error`,`Could not seal reply.`)}finally{M(!1)}}};return(0,L.jsxs)(`section`,{className:`sf-reply`,"aria-labelledby":`reply-title`,children:[be&&(0,L.jsxs)(`aside`,{className:`sf-reply-context`,"aria-label":`Replying to previous memory`,children:[(0,L.jsxs)(`div`,{className:`sf-reply-context-header`,children:[(0,L.jsx)(`span`,{className:`sf-pill`,children:`Replying to`}),be.author&&(0,L.jsx)(`span`,{className:`sf-reply-context-author`,children:be.author})]}),(0,L.jsx)(`p`,{className:`sf-reply-context-body`,children:be.snippet})]}),(0,L.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,L.jsx)(`label`,{className:`sf-label`,children:`Attach`}),(0,L.jsxs)(`div`,{className:`sf-reply-row-inline`,children:[(0,L.jsx)(`label`,{className:`sf-btn`,htmlFor:ue,children:`Record Memory`}),(0,L.jsx)(`label`,{className:`sf-btn sf-btn--ghost`,htmlFor:le,children:`Inhale files`})]}),(0,L.jsx)(`input`,{id:ue,ref:j,type:`file`,accept:`image/*,video/*`,capture:`environment`,multiple:!0,onChange:U,style:{position:`absolute`,opacity:0,pointerEvents:`none`}}),(0,L.jsx)(`input`,{id:le,ref:pe,type:`file`,accept:`image/*,video/*,audio/*,application/pdf,text/plain,application/json,application/xml,application/svg+xml`,multiple:!0,onChange:U,style:{position:`absolute`,opacity:0,pointerEvents:`none`}}),E.items.length>0&&(0,L.jsx)(`div`,{className:`sf-att-grid`,children:E.items.map((e,t)=>(0,L.jsxs)(`div`,{className:`sf-att-item`,style:{position:`relative`},children:[(0,L.jsx)(yt,{item:e}),(0,L.jsx)(`button`,{className:`sf-btn sf-btn--icon`,onClick:()=>W(t),style:{position:`absolute`,top:8,right:8},type:`button`,"aria-label":`Remove attachment`,children:`✕`})]},`${e.kind}:${t}`))})]}),(0,L.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,L.jsx)(`label`,{className:`sf-label`,children:`Add links`}),(0,L.jsxs)(`div`,{className:`sf-reply-row-inline`,children:[(0,L.jsx)(`input`,{className:`sf-input`,type:`url`,placeholder:`https://example.com`,value:O,onChange:e=>k(e.target.value)}),(0,L.jsx)(`button`,{className:`sf-btn`,onClick:()=>Ce(O),type:`button`,children:`Add`})]}),A.length>0&&(0,L.jsx)(`div`,{className:`sf-att-grid`,children:A.map((e,t)=>(0,L.jsxs)(`div`,{className:`sf-att-item`,style:{position:`relative`},children:[(0,L.jsx)(yt,{item:e}),(0,L.jsx)(`button`,{className:`sf-btn sf-btn--icon`,onClick:()=>we(t),style:{position:`absolute`,top:8,right:8},type:`button`,"aria-label":`Remove link`,children:`✕`})]},`${e.kind}:${e.url}:${t}`))})]}),(0,L.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,L.jsx)(`label`,{className:`sf-label`,children:`Author`}),(0,L.jsx)(`input`,{className:`sf-input`,type:`text`,value:b,onChange:e=>S(e.target.value),placeholder:`@you`,"aria-describedby":B?`username-claim-status`:void 0}),B?(0,L.jsx)(`div`,{id:`username-claim-status`,className:`sf-sub`,role:`status`,"aria-live":`polite`,children:B}):null]}),xe?(0,L.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,L.jsx)(`label`,{className:`sf-label`,children:`Claim glyph`}),(0,L.jsx)(`input`,{className:`sf-input`,type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:`Paste claim glyph hash or Memory Stream link`})]}):null,(0,L.jsxs)(`div`,{className:`sf-reply-row`,children:[(0,L.jsx)(`label`,{className:`sf-label`,children:`Memory`}),(0,L.jsx)(`textarea`,{className:`sf-textarea`,rows:3,value:g,onChange:e=>ne(e.target.value),placeholder:`What do you want this moment to remember?`})]}),(0,L.jsxs)(`div`,{className:`sf-reply-actions`,children:[(0,L.jsx)(`button`,{className:`sf-btn`,onClick:()=>void Te(),disabled:me,type:`button`,children:me?`Sealing…`:`Exhale Reply`}),r&&(0,L.jsx)(`button`,{className:`sf-btn sf-btn--ghost`,onClick:r,type:`button`,children:`Use a different ΦKey`})]}),N&&(0,L.jsxs)(`div`,{className:`sf-reply-result`,children:[(0,L.jsx)(`label`,{className:`sf-label`,children:`Share this link`}),(0,L.jsx)(`input`,{className:`sf-input`,readOnly:!0,value:N,onFocus:e=>e.currentTarget.select()}),(0,L.jsxs)(`div`,{className:`sf-reply-actions`,children:[(0,L.jsx)(`a`,{className:`sf-link`,href:N,target:`_blank`,rel:`noreferrer`,children:`Open →`}),(0,L.jsx)(`button`,{className:`sf-btn`,type:`button`,onClick:async()=>{try{await navigator.clipboard.writeText(N),a.push(`success`,`Link remembered.`),he(!0),window.setTimeout(()=>he(!1),1200)}catch{a.push(`warn`,`Copy failed.`)}},children:F?`Remembered`:`Remember`})]})]})]})}var Vt=k(g(),1),Ht=3+Math.sqrt(5);function Ut(e){return e<0?0:e>1?1:e}function Wt(e){if(!e)return Ht;let t=window.getComputedStyle(e).getPropertyValue(`--pulse-dur`).trim(),n=Number.parseFloat(t);return Number.isFinite(n)&&n>0?n:Ht}function Gt(e){return e>0&&e<360?`nano`:e>0&&e<520?`tiny`:e>0&&e<760?`tight`:`wide`}function Kt(e){switch(e){case`nano`:return .84;case`tiny`:return .9;case`tight`:return .95;default:return 1}}function qt(e){return e===`nano`?`stack`:`row`}function Jt(e){let[t,n]=I.useState(0);return I.useLayoutEffect(()=>{let t=e.current;if(!t)return;let r=()=>{n(Math.round(t.getBoundingClientRect().width))};if(r(),typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>r());return e.observe(t),()=>e.disconnect()}let i=()=>r();return window.addEventListener(`resize`,i,{passive:!0}),()=>window.removeEventListener(`resize`,i)},[e]),t}var Yt=[`Ignite`,`Integrate`,`Harmonize`,`Reflekt`,`Purify`,`Dream`];function Xt(e){let t=Number.isFinite(e)?Math.floor(e):0;return Yt[Math.max(0,Math.min(5,Math.floor(t/6)))]}var Zt=(e,t)=>{let n=e%t;return n>=0n?n:n+t},Qt=(e,t)=>{if(t===0n)throw Error(`Division by zero`);let n=e/t;return e%t===0n||e>=0n?n:n-1n},$t=e=>{let t=BigInt(2**53-1),n=BigInt(-(2**53-1));return e>t?2**53-1:en(!0),[]),i=I.useCallback(()=>n(!1),[]),a=I.useCallback(e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n(!0))},[]),o=I.useRef(null),s=Gt(Jt(o)),c=qt(s),l=s===`wide`||s===`tight`,[u,d]=I.useState(Ht);I.useEffect(()=>{d(Wt(o.current))},[e.pulse]);let[f,p]=I.useState(!1),ee=I.useRef(null);I.useEffect(()=>{let t=ee.current;if(ee.current=e.pulse,t!=null&&e.pulse!==t){p(!0);let e=window.setTimeout(()=>p(!1),180);return()=>window.clearTimeout(e)}},[e.pulse]);let te=I.useRef(null),m=I.useRef(null),[h,g]=I.useState(0);I.useEffect(()=>{if(typeof window>`u`)return;let e=0,n=()=>{let r=me-((Date.now()-pe)%me+me)%me,i=r/1e3,a=Ut(1-r/me);if(o.current&&o.current.style.setProperty(`--kai-progress`,String(a)),te.current){let e=i.toFixed(6);te.current.textContent!==e&&(te.current.textContent=e),m.current&&(m.current.title=e,m.current.setAttribute(`aria-label`,`Next pulse in ${e} seconds`))}t&&g(a*100),e=window.requestAnimationFrame(n)};return e=window.requestAnimationFrame(n),()=>window.cancelAnimationFrame(e)},[t]);let _=`${e.beat}:${le(e.step)}`,ne=String(e.harmonicDay),v=typeof e.beat==`number`?e.beat:Number.parseInt(String(e.beat),10)||0,y=typeof e.step==`number`?e.step:Number.parseInt(String(e.step),10)||0,b=Xt(v),x=dn[b]??`Heart`,S=typeof e.pulse==`number`?e.pulse:Number.parseInt(String(e.pulse),10)||0,C=I.useMemo(()=>en(S),[S]),re=I.useMemo(()=>cn(e.harmonicDay,C.day),[e.harmonicDay,C.day]),w=I.useMemo(()=>on(C.month),[C.month]),T=I.useMemo(()=>un(C.month),[C.month]),E=`D${C.day}/M${C.month}/Y${C.year}`,D=nn(re),O=nn(w),ie=I.useMemo(()=>({"--kai-ui-scale":Kt(s)}),[s]),ae=1584,oe=Math.max(0,Math.min(ae-1,v*44+y))/ae*100,k=t?h:NaN,A=String(Math.round(v/36*360));I.useEffect(()=>{if(!t||typeof document>`u`)return;let e=document.documentElement.style.overflow;document.documentElement.style.overflow=`hidden`;let n=e=>{e.key===`Escape`&&i()};return window.addEventListener(`keydown`,n),()=>{document.documentElement.style.overflow=e,window.removeEventListener(`keydown`,n)}},[t,i]);let se=(0,L.jsxs)(`div`,{className:`kai-status__countdown`,"aria-label":`Next pulse`,children:[(0,L.jsx)(`span`,{className:`kai-status__nLabel`,children:`NEXT`}),(0,L.jsxs)(`span`,{className:`kai-status__nVal`,title:`—`,"aria-label":`Next pulse in — seconds`,ref:m,children:[(0,L.jsx)(`span`,{className:`kai-status__nNum`,ref:te,children:`—`}),` `,(0,L.jsx)(`span`,{className:`kai-status__nUnit`,children:`s`})]})]}),ce=(0,L.jsxs)(`span`,{className:`kai-pill kai-pill--pulse`,title:`Pulse ${S}`,"aria-label":`Pulse ${S}`,"data-chakra":`Pulse`,children:[`☤KAI: `,(0,L.jsx)(`strong`,{className:`kai-pill__num`,children:S})]}),ue=(0,L.jsxs)(`span`,{className:`kai-pill kai-pill--dmy`,title:E,"aria-label":`Date ${E}`,children:[(0,L.jsxs)(`span`,{className:`kai-dmy__seg kai-dmy__seg--day`,"data-chakra":re,children:[`D`,(0,L.jsx)(`span`,{className:`kai-dmy__num`,children:C.day})]}),(0,L.jsx)(`span`,{className:`kai-dmy__sep`,children:`/`}),(0,L.jsxs)(`span`,{className:`kai-dmy__seg kai-dmy__seg--month`,"data-chakra":w,children:[`M`,(0,L.jsx)(`span`,{className:`kai-dmy__num`,children:C.month})]}),(0,L.jsx)(`span`,{className:`kai-dmy__sep`,children:`/`}),(0,L.jsxs)(`span`,{className:`kai-dmy__seg kai-dmy__seg--year`,"data-chakra":`Year`,children:[`Y`,(0,L.jsx)(`span`,{className:`kai-dmy__num`,children:C.year})]})]}),de=(0,L.jsx)(`span`,{className:`kai-pill kai-pill--day`,title:ne,"aria-label":`Day ${ne}`,"data-chakra":re,children:ne}),fe=(0,L.jsx)(`span`,{className:`kai-pill kai-pill--dayChakra`,title:`Day chakra ${D}`,"aria-label":`Day chakra ${D}`,"data-chakra":re,children:D}),j=(0,L.jsx)(`span`,{className:`kai-pill kai-pill--monthName`,title:T,"aria-label":`Month ${T}`,"data-chakra":w,children:T}),M=(0,L.jsx)(`span`,{className:`kai-pill kai-pill--monthChakra`,title:`Month chakra ${O}`,"aria-label":`Month chakra ${O}`,"data-chakra":w,children:O}),P=(0,L.jsx)(`span`,{className:`kai-pill kai-pill--ark`,title:b,"aria-label":`Ark ${b}`,"data-chakra":x,children:b}),F=t&&typeof document<`u`?(0,Vt.createPortal)((0,L.jsxs)(`div`,{className:`kk-pop`,role:`dialog`,"aria-modal":`true`,"aria-label":`Kai-Klok`,children:[(0,L.jsx)(`button`,{type:`button`,className:`kk-pop__backdrop`,"aria-label":`Close Kai-Klok`,onClick:i}),(0,L.jsxs)(`div`,{className:`kk-pop__panel`,role:`document`,children:[(0,L.jsxs)(`div`,{className:`kk-pop__head`,children:[(0,L.jsx)(`div`,{className:`kk-pop__title`,children:`Kai-Klok`}),(0,L.jsx)(`button`,{type:`button`,className:`kk-pop__close`,onClick:i,"aria-label":`Close`,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`kk-pop__meta`,"aria-label":`Kai summary`,children:[(0,L.jsx)(`span`,{className:`kk-pop__pill`,children:_}),(0,L.jsx)(`span`,{className:`kk-pop__pill`,children:E}),(0,L.jsx)(`span`,{className:`kk-pop__pill`,children:T}),(0,L.jsx)(`span`,{className:`kk-pop__pill`,children:b})]}),(0,L.jsx)(`div`,{className:`kk-pop__dial`,"aria-label":`Kai-Klok dial`,children:(0,L.jsx)(`div`,{className:`klock-stage`,"data-klock-stage":`1`,children:(0,L.jsx)(`div`,{className:`klock-stage__inner`,children:(0,L.jsx)(fn,{hue:A,pulse:S,harmonicDayPercent:oe,microCyclePercent:k,dayLabel:ne,monthLabel:T,monthDay:C.day,kaiPulseEternal:S,glowPulse:!0,pulseIntervalSec:u,rimFlash:f,solarSpiralStepString:`${le(v)}:${le(y)}`,eternalBeatIndex:v,eternalStepIndex:y})})})}),(0,L.jsx)(`div`,{className:`kk-pop__foot`,children:(0,L.jsx)(`span`,{className:`kk-pop__hint`,children:`Tap the Klok for more details or press x to return.`})})]})]}),document.body):null;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{ref:o,className:`kai-feed-status kai-feed-status--slim${f?` kai-feed-status--flash`:``}`,onClick:r,onKeyDown:a,tabIndex:0,role:`button`,"aria-haspopup":`dialog`,"aria-expanded":t,"aria-label":`Kai status (open Kai-Klok)`,"data-layout":s,"data-bottom":c,"data-kai-bsi":_,"data-kai-ark":b,"data-kai-dmy":E,"data-day-chakra":re,"data-month-chakra":w,"data-ark-chakra":x,"data-day-num":C.day,"data-month-num":C.month,"data-year-num":C.year,style:ie,children:[(0,L.jsxs)(`div`,{className:`kai-status__top`,"aria-label":`Kai timeline (day row)`,children:[(0,L.jsxs)(`span`,{className:`kai-status__bsiWrap`,"aria-label":`Beat step ${_}`,children:[(0,L.jsx)(`span`,{className:`kai-status__kLabel`,"aria-hidden":`true`,children:`KAIROS`}),(0,L.jsx)(`span`,{className:`kai-status__bsi`,title:_,children:_})]}),ue,de,fe,l?ce:null]}),(0,L.jsxs)(`div`,{className:`kai-status__mid`,"aria-label":`Kai timeline (month/ark row)`,children:[j,M,P]}),(0,L.jsxs)(`div`,{className:`kai-status__bottom`,"aria-label":`Next pulse row`,children:[l?null:ce,se]}),(0,L.jsxs)(`div`,{className:`kai-feed-status__bar`,"aria-hidden":`true`,children:[(0,L.jsx)(`div`,{className:`kai-feed-status__barFill`}),(0,L.jsx)(`div`,{className:`kai-feed-status__barSpark`})]})]}),F]})}function G(e){return typeof e==`object`&&!!e}function K(e){return typeof e==`number`&&Number.isFinite(e)}function q(e){return typeof e==`string`}function mn(e){if(!Array.isArray(e))return!1;for(let t of e)if(!q(t))return!1;return!0}function hn(e){let t=e.trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function gn(){let e=globalThis.location?.origin;return typeof e==`string`&&e.length>0?e:`https://phi.network`}function _n(e){let t=hn(e);try{return new URL(t)}catch{}try{return new URL(t,gn())}catch{return null}}function vn(e){let t=hn(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch(e){let t=e instanceof Error?e.message:`decodeURIComponent failed`;throw Error(t)}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),/[+/=]/.test(t)&&(t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``)),hn(t)}function yn(e){let t=e.startsWith(`j:`)||e.startsWith(`c:`)?e.slice(2):e;return/^[A-Za-z0-9_-]{16,}$/.test(t)}function bn(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.length%4;return n===2?t+=`==`:n===3&&(t+=`=`),t}function xn(e){let t=hn(e),n=bn(t.startsWith(`j:`)||t.startsWith(`c:`)?t.slice(2):t),r=globalThis;if(typeof r.atob!=`function`)throw Error(`Base64 decode failure: atob() unavailable`);if(r.TextDecoder===void 0)throw Error(`Base64 decode failure: TextDecoder unavailable`);try{let e=r.atob(n),t=new Uint8Array(e.length);for(let n=0;n{if(!e)return;let t=vn(e);yn(t)&&(n.includes(t)||n.push(t))},i=hn(e);yn(i)&&r(i);let a=_n(i);if(!a)return n;r(wn(a.hash));let o=a.hash&&a.hash.startsWith(`#`)?a.hash.slice(1):a.hash,s=new URLSearchParams(o),c=a.searchParams,l=[`p`,`t`,`token`,`capsule`];r(Tn(c,s,l));for(let e of l)r(s.get(e)),r(c.get(e));if(r(Cn(a.pathname)),t<1){let e=[...c.getAll(`add`),...s.getAll(`add`)];for(let n of e){let e=hn(n);if(!e)continue;let i=e;if(/%[0-9A-Fa-f]{2}/.test(i))try{i=decodeURIComponent(i)}catch(e){let t=e instanceof Error?e.message:`decodeURIComponent(add) failed`;throw Error(t)}for(let e of En(i,t+1))r(e)}}return n}function Dn(e){let t=hn(e);if(t.startsWith(`j:`)||t.startsWith(`c:`))return{rootRef:t,addRefs:[]};let n=_n(t);if(!n)return{rootRef:null,addRefs:[]};let r=n.hash&&n.hash.startsWith(`#`)?n.hash.slice(1):n.hash,i=new URLSearchParams(r),a=n.searchParams,o=i.get(`root`)??a.get(`root`),s=i.get(`v`)??a.get(`v`),c=[...i.getAll(`add`),...a.getAll(`add`)].map(e=>hn(e)).filter(e=>e.length>0),l=o?hn(o):null;return{v:s?hn(s):void 0,rootRef:l,addRefs:c}}function On(e){if(G(e)&&G(e.proofCapsule)){let t=e.proofCapsule,n=q(t.kaiSignature)?t.kaiSignature:void 0,r=K(t.pulse)?t.pulse:void 0;if(n&&typeof r==`number`){let e=q(t.phiKey)?t.phiKey:void 0;return{kaiSignature:n,pulse:r,chakraDay:q(t.chakraDay)||K(t.chakraDay)?t.chakraDay:void 0,phiKey:e,userPhiKey:e}}}if(G(e)&&G(e.capsule))return e.capsule;if(G(e)&&G(e.data)){let t=e.data;if(G(t)&&G(t.capsule))return t.capsule;if(G(t)&&(`post`in t||`message`in t||`share`in t||`reaction`in t))return t}return G(e)&&(`post`in e||`message`in e||`share`in e||`reaction`in e)||G(e)&&(`pulse`in e||`u`in e||`kind`in e||`userId`in e||`userPhiKey`in e)?e:null}function kn(e){let t=K(e.pulse)?e.pulse:K(e.u)?e.u:void 0,n=K(e.beat)?e.beat:K(e.b)?e.b:void 0,r=K(e.stepIndex)?e.stepIndex:K(e.s)?e.s:void 0,i=q(e.chakraDay)||K(e.chakraDay)?e.chakraDay:q(e.c)||K(e.c)?e.c:void 0;return{...e,pulse:t,beat:n,stepIndex:r,chakraDay:i}}function An(e){return Sn(xn(hn(e)))}function jn(e,t){let n=On(e);if(!n)throw Error(`Invalid payload (missing capsule)`);let r=kn(n),i=G(e)?e:null,a=i&&G(i.data)?i.data:null,o=_n(t),s=(()=>{let e=i?.path;if(mn(e))return e;let t=a?.path;return mn(t)?t:o?o.pathname.split(`/`).filter(Boolean):[]})();return{url:t,appId:(i&&q(i.appId)?i.appId:void 0)??(a&&q(a.appId)?a.appId:void 0)??(s[0]===`s`&&s.length>=2?s[1]:void 0),userId:(i&&q(i.userId)?i.userId:void 0)??(a&&q(a.userId)?a.userId:void 0)??(q(r.userId)?r.userId:q(r.userPhiKey)?r.userPhiKey:void 0),kind:(i&&q(i.kind)?i.kind:void 0)??(a&&q(a.kind)?a.kind:void 0)??(q(r.kind)?r.kind:r.post?`post`:r.message?`message`:r.share?`share`:r.reaction?`reaction`:void 0),pulse:(i&&K(i.pulse)?i.pulse:void 0)??(a&&K(a.pulse)?a.pulse:void 0)??(K(r.pulse)?r.pulse:void 0),beat:(i&&K(i.beat)?i.beat:void 0)??(a&&K(a.beat)?a.beat:void 0)??(K(r.beat)?r.beat:void 0),stepIndex:(i&&K(i.stepIndex)?i.stepIndex:void 0)??(a&&K(a.stepIndex)?a.stepIndex:void 0)??(K(r.stepIndex)?r.stepIndex:void 0),chakraDay:(i&&(q(i.chakraDay)||K(i.chakraDay))?i.chakraDay:void 0)??(a&&(q(a.chakraDay)||K(a.chakraDay))?a.chakraDay:void 0)??(q(r.chakraDay)||K(r.chakraDay)?r.chakraDay:void 0),capsule:r,path:s}}function Mn(e){try{let t=hn(e),n=Dn(t);if(n.rootRef){let t=jn(An(n.rootRef),e),r=[];for(let e of n.addRefs)if(!(!e.startsWith(`j:`)&&!e.startsWith(`c:`)))try{let t=An(e);r.push(jn(t,e))}catch{}return{ok:!0,data:{...t,url:e,stream:{v:n.v,rootRef:n.rootRef,addRefs:n.addRefs,addData:r}}}}let r=En(t)[0]??null;if(!r)return{ok:!1,error:`No capsule token found (expected /s/, /p~, /stream/p/, ?p=, #t=, #/p~, a raw token, or a Memory Stream with #root=j:).`};let i=Sn(xn(r));if(!G(i))return{ok:!1,error:`Payload is not an object`};let a=kn(i),o=_n(t),s=o?o.pathname.split(`/`).filter(Boolean):[],c=s[0]===`s`&&s.length>=2?s[1]:void 0,l=q(a.userId)?a.userId:q(a.userPhiKey)?a.userPhiKey:void 0,u=q(a.kind)?a.kind:a.post?`post`:a.message?`message`:a.share?`share`:a.reaction?`reaction`:void 0,d=s.length>=8?s[6]:void 0;return{ok:!0,data:{url:e,appId:c,userId:l,kind:u??d,pulse:a.pulse,beat:a.beat,stepIndex:a.stepIndex,chakraDay:a.chakraDay,capsule:a,path:s}}}catch(e){return{ok:!1,error:e instanceof Error?e.message:`Decode error`}}}const Nn=`/stream`,Pn=(()=>{if(typeof window>`u`)return Nn;let e=window.location?.origin;return!e||e===`null`?Nn:`${e.replace(/\/+$/g,``)}${Nn}`})();(()=>{if(typeof window>`u`)return`/s`;let e=window.location?.origin;return!e||e===`null`?`/s`:`${e.replace(/\/+$/g,``)}/s`})();function Fn(e){let t=String(e??``).trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function In(e){let t=Fn(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),/[+/=]/.test(t)&&(t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``)),Fn(t)}function Ln(e){let t=In(e);return`${Pn||`/stream`}#t=${encodeURIComponent(t)}`}function Rn(e){return Ln(e)}var zn=(e,t=8,n=4)=>e.length<=t+n?e:`${e.slice(0,t)}…${e.slice(-n)}`,Bn=e=>{if(e)try{return new URL(e).host}catch{return}},Vn=e=>typeof e==`string`&&e.trim().length>0,Hn=e=>String(e??``).toUpperCase(),J=e=>!!e&&typeof e==`object`&&!Array.isArray(e);function Un(e){let t=String(e??``),n=t.length;return{lines:t.length?t.split(/\r\n|\r|\n/).length:0,chars:n}}function Wn(e,t){let{lines:n,chars:r}=Un(e);return{shouldCollapse:n>(t===`code`?18:10)||r>(t===`code`?1400:700),lines:n,chars:r,maxHeightPx:t===`code`?320:240}}function Gn(e){return e instanceof HTMLElement?!!e.closest(`a,button,input,textarea,select,summary,[role="button"],[role="link"],[data-no-open="true"]`):!1}var Kn=`/stream`,qn=`/s`,Jn=`2`,Yn=12e4,Y=`j:`,Xn=`s:`;function X(e){let t=e.trim();return t=t.replace(/[)\].,;:!?]+$/g,``),t=t.replace(/^[([{"'`]+/g,``),t.trim()}function Zn(e){let t=X(e);if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),/[+/=]/.test(t)&&(t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``)),X(t)}function Qn(e){return/^[A-Za-z0-9_-]{16,}$/.test(e)}function $n(){let e=typeof Pn==`string`?Pn.trim():``;if(e)return e.replace(/\/+$/g,``).replace(/\/stream\/?$/g,``);if(typeof window>`u`)return``;let t=window.location?.origin;return t&&t!==`null`?t.replace(/\/+$/g,``):``}function er(){return $n()||`https://x.invalid`}function tr(){let e=$n();return e?`${e}${Kn}`:Kn}function nr(){let e=$n();return e?`${e}${qn}`:qn}function rr(e){let t=e.trim();try{return new URL(t)}catch{try{return new URL(t,er())}catch{return null}}}function ir(e){let t=X(e),n=rr(t),r=n?n.pathname:t;return/^\/s(?:\/|$)/.test(r)}function ar(e){{let t=e.match(/\/s\/([^/?#]+)/);if(t?.[1])return t[1]}{let t=e.match(/\/p(?:\u007e|%7[Ee])\/?([^/?#]+)/);if(t?.[1])return t[1]}{let t=e.match(/\/(?:stream|feed)\/p\/([^/?#]+)/);if(t?.[1])return t[1]}{let t=e.match(/\/p\/([^/?#]+)/);if(t?.[1])return t[1]}return null}function or(e,t=0){let n=[],r=e=>{if(!e)return;let t=Zn(e);t&&Qn(t)&&(n.includes(t)||n.push(t))},i=X(e);Qn(i)&&r(i);let a=rr(i);if(!a)return n;let o=a.hash&&a.hash.startsWith(`#`)?a.hash.slice(1):``,s=new URLSearchParams(o),c=a.searchParams;for(let e of[`t`,`p`,`token`,`capsule`])r(s.get(e)),r(c.get(e));let l=s.get(`v`),u=c.get(`v`);for(let e of[l,u]){if(!e)continue;let t=Zn(e);/^\d{1,4}$/.test(t)||t!==Jn&&r(t)}if(r(ar(a.pathname)),t<1){let e=[...c.getAll(`add`),...s.getAll(`add`)];for(let n of e){let e=X(n);if(e){if(/%[0-9A-Fa-f]{2}/.test(e))try{e=decodeURIComponent(e)}catch{}for(let n of or(e,t+1))r(n)}}}return n}function sr(e){let t=tr(),n=Zn(e);return`${t}#t=${encodeURIComponent(n)}`}function cr(e){let t=or(X(e))[0];return t?sr(t):null}function Z(e){let t=X(e),n=rr(t);if(n){let e=n.hash&&n.hash.startsWith(`#`)?n.hash.slice(1):``,t=new URLSearchParams(e),r=n.searchParams;if(t.get(`root`)||r.get(`root`)){let e=tr(),n=new URL(e||Kn,er()),i=new URLSearchParams;for(let[e,n]of t.entries())i.append(e,n);for(let[e,t]of r.entries())i.append(e,t);return n.hash=i.toString()?`#${i.toString()}`:``,n.search=``,n.toString()}}if(ir(t))return t;let r=or(t)[0];return r?sr(r):t}function lr(e){let t=tr().replace(/\/stream\/?$/g,``),n=Zn(e);return[n,`${t}/stream#t=${n}`,`${t}/stream?t=${n}`,`${t}/stream/t=${n}`,`${t}/p#t=${n}`,`${t}/p?t=${n}`,`${t}/stream/p/${n}`,`${t}/p#p=${n}`,`${t}/p?p=${n}`,`${t}/p#token=${n}`,`${t}/p?token=${n}`,`${t}/stream#v=${n}`,`${t}/stream?v=${n}`]}function ur(e){let t=new Set,n=e=>{let n=e.trim();if(!n||t.has(n))return null;t.add(n);let r=Mn(n);return r.ok?r:null},r=X(e),i=n(r);if(i)return{decoded:i,resolvedUrl:Z(r)};let a=or(r);for(let e of a)for(let t of lr(e)){let r=n(t);if(r)return{decoded:r,resolvedUrl:sr(e)}}return{decoded:Mn(r),resolvedUrl:Z(r)}}function dr(e){if(!J(e))return null;let t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==void 0,n=e=>t(e,`post`)||t(e,`message`)||t(e,`share`)||t(e,`reaction`),r=(e,n)=>{for(let r of[`post`,`message`,`share`,`reaction`])t(n,r)&&e[r]===void 0&&(e[r]=n[r])},i=e,a=J(i.data)?i.data:null,o=n(i),s=!!a&&n(a),c=J(i.capsule)?i.capsule:null,l=a&&J(a.capsule)?a.capsule:null,u=c??l;if(u&&(o||s)){let e={...u};return s&&a&&r(e,a),o&&r(e,i),e}return u||(o?i:s&&a?a:i)}function fr(e){if(e===null)return null;if(typeof e==`number`)return Number.isFinite(e)?e:null;if(typeof e==`string`||typeof e==`boolean`)return e;if(typeof e==`bigint`)return e.toString();if(Array.isArray(e))return e.map(fr);if(e&&typeof e==`object`){let t=e,n=Object.keys(t).sort((e,t)=>e.localeCompare(t)),r={};for(let e of n)r[e]=fr(t[e]);return r}return null}function pr(e){let t=``,n=32768;for(let r=0;ryr(`leaf:${e}`));for(;t.length>1;){let e=[];for(let n=0;n0)return`p:${Math.floor(a)}`;let o=t.kaiSignature;if(typeof o==`string`&&o.trim())return`ks:${o.trim()}`}return`h:${yr(JSON.stringify(fr(e)))}`}function Sr(e){return`${Xn}${hr(JSON.stringify(fr(e)))}`}function Cr(e){let t=X(e),n=t.startsWith(Xn)?t.slice(2):t;if(!/^[A-Za-z0-9_-]{16,}$/.test(n))return null;try{let e=gr(n),t=JSON.parse(e);if(!t||typeof t!=`object`)return null;let r=t,i=r.v,a=r.id,o=r.m,s=r.n,c=r.a,l=r.r;return typeof i!=`string`||typeof a!=`string`||typeof o!=`string`||typeof s!=`number`||typeof c!=`number`||typeof l!=`string`?null:{v:i,id:a,m:o,n:s,a:c,r:l}}catch{return null}}var wr=(e,t)=>{let n=e%t;return n>=0n?n:n+t},Tr=(e,t)=>{if(t===0n)throw Error(`Division by zero`);let n=e/t;return e%t===0n||e>=0n?n:n-1n},Er=e=>{let t=BigInt(2**53-1),n=BigInt(-(2**53-1));return e>t?2**53-1:eString(Math.max(0,Math.floor(e))).padStart(2,`0`);function jr(e,t,n,r,i,a){let o=kr(t),s=`${Ar(t)}:${Ar(n)}`;return{arc:o,label:s,line:`☤KAI:${e} • ${s} D${Math.max(1,Math.floor(r))}/M${Math.max(1,Math.floor(i))}/Y${Math.floor(a)}`}}var Mr={Root:[255,88,88],Sacral:[255,146,88],"Solar Plexus":[255,215,128],Heart:[88,255,174],Throat:[42,197,255],"Third Eye":[164,126,255],Crown:[238,241,251],Krown:[238,241,251]};function Nr(e){if(e&&typeof e==`object`&&`source`in e){let t=e.source;return typeof t==`string`?t:void 0}}function Pr(e,t){if(e&&typeof e==`object`&&`kind`in e){let t=e.kind;if(typeof t==`string`&&t.trim().length>0)return t}return t}var Fr=256;function Ir(e){let t=rr(X(e));if(!t)return[];let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=t.searchParams,a=[...r.getAll(`add`),...i.getAll(`add`)],o=[];for(let e of a){let t=X(e);if(!t)continue;if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}if(t.startsWith(Y)&&t.length>10){o.push(t);continue}let n=vr(t);if(n&&dr(n)){let e=X(t.startsWith(Y)?t.slice(2):t);o.push(`${Y}${e}`);continue}let r=or(t)[0];if(r){o.push(sr(r));continue}if(ir(t)){o.push(t);continue}o.push(Z(t))}return o.slice(-Fr)}function Lr(e){let t=rr(X(e));if(!t)return null;let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=t.searchParams,a=r.get(`root`)??i.get(`root`);if(!a)return null;if(a=X(a),/%[0-9A-Fa-f]{2}/.test(a))try{a=decodeURIComponent(a)}catch{}if(a.startsWith(Y))return a;let o=vr(a);return o&&dr(o)?`${Y}${X(a)}`:null}function Rr(e){let t=rr(X(e));if(!t)return null;let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=t.searchParams,a=r.get(`seg`)??i.get(`seg`);if(!a)return null;let o=X(a);if(/%[0-9A-Fa-f]{2}/.test(o))try{o=decodeURIComponent(o)}catch{}return Cr(o)}function zr(e){let t=X(e);if(!t)return null;if(t.startsWith(Y)||ir(t))return t;{let e=rr(t);if(e){let n=e.hash&&e.hash.startsWith(`#`)?e.hash.slice(1):``,r=new URLSearchParams(n),i=e.searchParams;if(r.get(`root`)||i.get(`root`))return Z(t)}}let n=or(t)[0];return n?sr(n):null}function Br(e){if(typeof e==`string`)return zr(e);if(e&&typeof e==`object`){let t=e;if(typeof t.url==`string`)return zr(t.url);if(typeof t.href==`string`)return zr(t.href)}return null}function Vr(e,t=0){if(!e||typeof e!=`object`||Array.isArray(e)||t>4)return null;let n=e,r=n.skip;if(Array.isArray(r)&&typeof r[1]==`string`){let e=zr(r[1]);if(e)return e}for(let e of`prevUrl.prevURL.prev.prevId.prev_id.previousUrl.previousURL.previous.previousId.previous_id.parentUrl.parentURL.parent.parentId.parent_id.replyToUrl.replyToURL.replyTo.replyToId.replyTo_id.inReplyToUrl.inReplyToURL.inReplyTo.inReplyToId.inReplyTo_id.refUrl.ref_url.ref`.split(`.`)){let t=Br(n[e]);if(t)return t}for(let e of[`capsule`,`data`,`payload`]){let r=Vr(n[e],t+1);if(r)return r}return null}function Hr(e){let t=Math.max(0,Math.floor(e));if(t<=2)return t;let n=1,r=2;for(;;){let e=n+r;if(e>t)return r;n=r,r=e}}function Ur(e,t){let n=tr(),r=new URL(n||Kn,er()),i=[e,...t],a=br(i),o={v:Jn,id:`seg:${a}:${i.length}`,m:a,n:i.length,a:t.length,r:zn(e,8,6)},s=new URLSearchParams;s.set(`v`,Jn),s.set(`root`,e),s.set(`seg`,Sr(o));for(let e of t)s.append(`add`,e);return r.hash=s.toString()?`#${s.toString()}`:``,r.search=``,{url:r.toString(),rootRef:e,adds:[...t],meta:o}}function Wr(e,t){let n=0,r=t.length;for(;n0?a:i)),s=t.length-o;return{keepFrom:s,kept:t.slice(s)}}function Gr(e,t,n=0){if(n>64)return{primary:Ur(e,[]),archives:[]};let r=Ur(e,t);if(r.url.length<=Yn)return{primary:r,archives:[]};let{keepFrom:i,kept:a}=Wr(e,t),o=Ur(e,a);if(o.url.length>Yn)return{primary:Ur(e,[]),archives:[]};if(i<=0)return{primary:o,archives:[]};let s=t.slice(0,i),c=a[0];if(!c)return{primary:o,archives:[]};let l=Gr(c,s,n+1);return{primary:o,archives:[l.primary,...l.archives]}}function Q(e){let t=[],n=new Set;for(let r of e){let e=String(r??``).trim();e&&(n.has(e)||(n.add(e),t.push(e)))}return t}function Kr(e){let t=0;for(let n of e)X(n).startsWith(Y)&&t++;return t}function qr(e,t){let n=X(e);if(t)return`k:${xr(t)}`;if(n.startsWith(Y)){let e=vr(n);return e?`k:${xr(e)}`:`k:${yr(n)}`}let r=or(n)[0];return r?`t:${Zn(r)}`:`u:${Z(n)}`}var Jr=4096,Yr=new Map,Xr=0,Zr=0,Qr=!1,$r=new Set;function ei(){if(Qr)return;Qr=!0;let e=()=>{Qr=!1,Zr++;for(let e of $r)e()};typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e)}function ti(e){return $r.add(e),()=>$r.delete(e)}function ni(){return Zr}function ri(){return 0}function ii(e){let t=Yr.get(e.key);if(!(t&&t.prevKey===e.prevKey&&t.payloadRef===e.payloadRef&&t.fallbackRef===e.fallbackRef))for(Yr.has(e.key)&&Yr.delete(e.key),Yr.set(e.key,{...e,tick:++Xr}),ei();Yr.size>Jr;){let e=Yr.keys().next().value;if(!e)break;Yr.delete(e),ei()}}function ai(e,t){let n=[],r=new Set,i=Yr.get(e)?.prevKey??null,a=0;for(;i&&atypeof e==`string`&&e.trim().toLowerCase()===`manual`,ui=e=>{if(Vn(e))return li(e)?si:e};function di(e,t=0){if(t>5)return!1;if(li(e))return!0;if(Array.isArray(e)){for(let n of e)if(di(n,t+1))return!0;return!1}if(e&&typeof e==`object`){let n=e;for(let e of Object.keys(n))if(di(n[e],t+1))return!0}return!1}function fi(e,t){if(!J(e))return;let n=e[t];return typeof n==`string`&&n.trim()?n.trim():void 0}function pi(e,t){if(!J(e))return[];let n=e[t];if(!Array.isArray(n))return[];let r=[];for(let e of n)typeof e==`string`&&e.trim()&&r.push(e.trim());return r}function mi(e){if(!J(e))return{};let t=fi(e,`caption`),n=e.body;if(J(n)){let e=fi(n,`kind`),r=e===`text`||e===`md`||e===`code`||e===`html`?e:void 0;if(r===`text`)return{text:fi(n,`text`)??t,kind:r};if(r===`md`)return{text:fi(n,`md`)??t,kind:r};if(r===`code`)return{text:fi(n,`code`)??t,kind:r};if(r===`html`)return{text:fi(n,`html`)??t,kind:r}}return{text:t,kind:void 0}}function hi(e){if(!J(e))return[];let t=e.attachments;if(!J(t))return[];let n=t.items;if(!Array.isArray(n))return[];let r=[];for(let e of n){if(!J(e))continue;let t=fi(e,`url`);if(t){r.push({url:t});continue}let n=fi(e,`href`);n&&r.push({url:n})}return r}function gi(e,t){let n=e??t;if(!n)return{};let{text:r,kind:i}=mi(n),a=pi(n,`tags`),o=hi(n),s=typeof r==`string`&&r.trim().length>0,c=o.length>0,l=a.length>0;return!s&&!c&&!l?{}:{post:{title:void 0,text:s?r:void 0,tags:l?a:void 0,media:c?o.map(e=>({kind:`url`,url:e.url})):void 0},bodyKind:i}}function _i(e){if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,`true`),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,document.body.appendChild(t);let n=document.activeElement instanceof HTMLElement?document.activeElement:null;t.focus(),t.select();let r=document.execCommand(`copy`);return document.body.removeChild(t),n&&n.focus(),r}catch{return!1}}function vi(e){if(typeof window>`u`)return null;let t=window.navigator;return t!==void 0&&t.clipboard!==void 0&&typeof t.clipboard.writeText==`function`&&window.isSecureContext?t.clipboard.writeText(e):null}function yi(e,t,n){if(_i(e)){t();return}let r=vi(e);if(r){t(),r.catch(e=>n(e));return}n()}var bi=`sigil:urls`,xi=`sigil:feed`,Si=`kai-sigil-registry`,Ci=`kai:sigils:v1`,wi=`kai-feed-registry`,Ti=0,Ei=!1,Di=new Set,Oi=!1,ki=null,Ai=null;function ji(){if(Ei)return;Ei=!0;let e=()=>{Ei=!1,Ti++;for(let e of Di)e()};typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e)}function Mi(e){return Di.add(e),()=>Di.delete(e)}function Ni(){return Ti}function Pi(){return 0}function Fi(e){let t=[];if(Array.isArray(e)){for(let n of e)typeof n==`string`&&n.trim()&&t.push(n.trim());return t}if(J(e)){let n=e.urls;if(Array.isArray(n)){for(let e of n)typeof e==`string`&&e.trim()&&t.push(e.trim());return t}let r=Object.keys(e).filter(e=>e.startsWith(`http`)||e.startsWith(`/`)||e.includes(`/stream`)||e.includes(`/s/`));if(r.length)return r;for(let n of Object.values(e))J(n)&&typeof n.url==`string`&&n.url.trim()&&t.push(n.url.trim());return t}return t}function Ii(e){if(typeof window>`u`||window.localStorage===void 0)return[];let t=window.localStorage.getItem(e);if(!t)return[];try{return Fi(JSON.parse(t))}catch{return[]}}function Li(e){let t=e.trim();if(!t)return``;try{return new URL(t,er()).toString()}catch{return t}}function Ri(){let e=Q([...Ii(xi),...Ii(bi),...Ii(Ci)]),t=[];for(let n of e){let e=Li(n);e&&t.push(e)}return Q(t)}function zi(e){let t=X(e);return t?t.startsWith(Y)?Ur(t,[]).url:cr(t)??Z(t):``}function Bi(e){let t=Q(Ir(e))[0]??e;return qr(t,(t.startsWith(Y)?vr(t):null)??void 0)}function Vi(e){let t=X(e);if(!t)return null;if(t.startsWith(Y))return vr(t);let n=ur(t);return n.decoded.ok?n.decoded.data:null}function Hi(e,t){let n=X(e);if(!n)return e;let r=Q(Ir(n));if(r.length>0)return r[0];let i=n,a=t===void 0?null:t;a||=Vi(i);let o=new Set;for(let e=0;e<48;e++){let e=qr(i,a??void 0);if(o.has(e))break;o.add(e);let t=a?Vr(a):null;if(!t)return i;i=t,a=Vi(i)}return i}function Ui(e,t){let n=Hi(e,t);return qr(n,(n.startsWith(Y)?vr(n):Vi(n))??void 0)}function Wi(e){let t=X(e);if(/^[0-9a-fA-F]{64}$/.test(t))try{return Rn(t.toLowerCase())}catch{}return`${nr()}/${encodeURIComponent(t)}`}function Gi(e,t){if(!J(e))return null;for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim()}return null}function Ki(e,t){let n=X(e);if(ir(n))return n;let r=Gi(t,[`sigilUrl`,`sigilURL`,`sigil_url`,`sigilHref`,`sigil_href`,`sUrl`,`s_url`,`s`])??null;if(r&&ir(r))return Z(r);let i=Gi(t,[`id`,`contentId`,`cid`,`hash`,`contentHash`])??null;if(i&&/^[0-9a-fA-F]{64}$/.test(i))return Wi(i);let a=J(t)?t.sigilId:void 0;if(typeof a==`string`&&a.trim())return Wi(a);let o=or(n)[0];return o?Wi(o):null}function qi(e,t){let n=Hi(e,t),r=Vi(n),i=Ki(n,r?dr(r):null);return i?Z(i):zi(n)}function Ji(e){let t=rr(e);if(!t)return 0;let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=t.searchParams;return r.getAll(`add`).length+i.getAll(`add`).length}function Yi(e){let t=Ji(e),n=e.length;return t*1e5+n}function Xi(e){let t=or(e)[0];if(t)return`t:${Zn(t)}`;let n=Lr(e);if(n){let e=vr(n);return e?`r:${xr(e)}`:`r:${yr(n)}`}return`u:${Z(e)}`}function Zi(e,t){if(typeof window>`u`||window.localStorage===void 0)return{changed:!1,added:!1,updated:!1,value:t};let n=Li(t);if(!n)return{changed:!1,added:!1,updated:!1,value:t};try{let t=window.localStorage.getItem(e),r=[];if(t){let e=JSON.parse(t);if(Array.isArray(e))for(let t of e)typeof t==`string`&&r.push(t)}let i=new Map,a=[];for(let e of r){let t=Li(e);if(!t)continue;let n=Xi(t),r=Yi(t),o=i.get(n);o?r>o.score&&i.set(n,{url:t,score:r,index:o.index}):(i.set(n,{url:t,score:r,index:a.length}),a.push(n))}let o=Xi(n),s=Yi(n),c=i.get(o),l=!1,u=!1;c?s>c.score&&(i.set(o,{url:n,score:s,index:c.index}),u=!0):(i.set(o,{url:n,score:s,index:a.length}),a.push(o),l=!0);let d=[];for(let e of a){let t=i.get(e);t&&d.push(t.url)}let f=JSON.stringify(r),p=JSON.stringify(d);return f===p?{changed:!1,added:l,updated:u,value:n}:(window.localStorage.setItem(e,p),{changed:!0,added:l,updated:u,value:n})}catch{return{changed:!1,added:!1,updated:!1,value:n}}}function Qi(e){if(!(typeof window>`u`)){try{window.__SIGIL__?.registerSigilUrl?.(e)}catch{}try{window.dispatchEvent(new CustomEvent(`sigil:url-registered`,{detail:{url:e}}))}catch{}try{if(`BroadcastChannel`in window){let t=new BroadcastChannel(Si);t.postMessage({type:`sigil:add`,url:e}),t.close()}}catch{}}}function $i(e){if(!(typeof window>`u`)){try{window.dispatchEvent(new CustomEvent(`sigil:feed-registered`,{detail:{url:e}}))}catch{}try{if(`BroadcastChannel`in window){let t=new BroadcastChannel(wi);t.postMessage({type:`feed:add`,url:e}),t.close()}}catch{}}}function ea(e){let t=0,n=e.toLowerCase();return ir(e)&&(t+=5e6),(/[?&#]t=/.test(n)||n.includes(`/stream/t`))&&(t+=2e6),n.includes(`/stream/p/`)&&(t-=5e5),/[?&#]v=/.test(n)&&(t-=25e4),t+=Yi(e),t}function ta(e,t){if(typeof window>`u`||window.localStorage===void 0)return;let n=Ii(xi);if(!n.length)return;let r=[],i=null,a=-1/0;for(let t of n){let n=Li(t);if(!n)continue;if(Ui(n)!==e){r.push(n);continue}let o=ea(n);o>a&&(a=o,i=n)}if(t){let e=Li(t);if(e){let t=ea(e);t>a&&(a=t,i=e)}}i&&r.push(i);let o=Q(r);try{let e=window.localStorage.getItem(xi)??`[]`,t=JSON.stringify(Fi(JSON.parse(e))),n=JSON.stringify(o);t!==n&&window.localStorage.setItem(xi,n)}catch{}}function na(){if(typeof window>`u`||Oi)return;Oi=!0;let e=e=>{let t=e.key??``;(t===bi||t===xi||t===Ci)&&ji()};try{window.addEventListener(`storage`,e)}catch{}let t=e=>{let t=e?.detail?.url;typeof t!=`string`||!t.trim()||(Zi(xi,t),ji())};try{window.addEventListener(`sigil:feed-registered`,t),window.addEventListener(`feed:url-registered`,t)}catch{}try{`BroadcastChannel`in window&&(ki=new BroadcastChannel(Si),ki.onmessage=e=>{let t=e.data,n=J(t)&&typeof t.url==`string`?t.url:null;n&&(Zi(bi,n),ji())},Ai=new BroadcastChannel(wi),Ai.onmessage=e=>{let t=e.data,n=J(t)&&typeof t.url==`string`?t.url:null;n&&(Zi(xi,n),ji())})}catch{}ji()}function ra(e){return J(e)&&typeof e.pulse==`number`&&Number.isFinite(e.pulse)?e.pulse:J(e)&&J(e.data)&&typeof e.data.pulse==`number`&&Number.isFinite(e.data.pulse)?e.data.pulse:0}function ia(e){let t=J(e)?e.appId:void 0;if(typeof t==`string`&&t.trim())return t;let n=J(e)&&J(e.data)?e.data.appId:void 0;if(typeof n==`string`&&n.trim())return n}function aa(e){let t=J(e)?e.userId:void 0;return t===void 0?J(e)&&J(e.data)?e.data.userId:void 0:t}function oa(e){let t=X(e);if(t.startsWith(Y)){let e=vr(t);if(e){let n=t.startsWith(Y)?t:`${Y}${t}`;return{kind:`embedded`,rootRef:n,payload:e,openUrl:Ur(n,[]).url}}}let n=Lr(t);if(n){let e=vr(n);if(e)return{kind:`embedded`,rootRef:n,payload:e,openUrl:Ur(n,[]).url}}return{kind:`sigilUrl`,openUrl:Z(t)}}var sa=({url:e,depth:t=0,seen:n=[],addChain:i,addIndex:a,threadMode:o=`thread`})=>{let[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(!1),[f,p]=(0,I.useState)(!1),ee=(0,I.useSyncExternalStore)(ti,ni,ri),te=(0,I.useMemo)(()=>oa(e),[e]),m=(0,I.useMemo)(()=>ur(e),[e]),h=(0,I.useMemo)(()=>{if(te.kind===`embedded`){let e=te.payload,t=dr(e);if(!t)return{ok:!1,openUrl:te.openUrl,error:`Invalid embedded payload (missing capsule).`};let n=ra(e),r=ia(e),i=aa(e);return{ok:!0,openUrl:te.openUrl,dataRaw:e,storePayload:e,pulse:n,appId:r,userId:i,capsule:t}}let t=m.decoded,n=Z(m.resolvedUrl||e);if(!t.ok)return{ok:!1,openUrl:n,error:(`error`in t?t.error:void 0)??`Decode failed.`};let r=t.data,i=dr(r);if(!i)return{ok:!1,openUrl:n,error:`Decode ok, but capsule missing.`};let a=typeof t.data.pulse==`number`&&Number.isFinite(t.data.pulse)?t.data.pulse:ra(t.data),o=typeof t.data.appId==`string`&&t.data.appId?t.data.appId:ia(t.data),s=t.data.userId??aa(t.data);return{ok:!0,openUrl:n,dataRaw:r,storePayload:t.data,pulse:a,appId:o,userId:s,capsule:i}},[te,m.decoded,m.resolvedUrl,e]),g=h.ok,_=g?h:null,v=g?_.storePayload:null,y=g?_.capsule:null,b=(0,I.useMemo)(()=>Ki(e,y),[e,y]),x=(0,I.useMemo)(()=>Q(i?[...i]:Ir(e)).slice(-Fr),[i,e]),C=(0,I.useMemo)(()=>typeof a==`number`&&Number.isFinite(a)?a:x.length-1,[a,x.length]),re=(0,I.useMemo)(()=>!x.length||C<0||C>=x.length?null:x[C]??null,[x,C]),w=(0,I.useMemo)(()=>g&&v?qr(e,v):qr(e),[g,v,e]),T=(0,I.useMemo)(()=>[...n,w],[n,w]),E=(0,I.useMemo)(()=>{if(t>=Fr)return null;let e=g?_.dataRaw??v:null,n=re??(e?Vr(e):null);if(!n)return null;let r=qr(n,(n.startsWith(Y)?vr(n):null)??void 0);return T.includes(r)?null:n},[re,t,T,g,_,v]),O=(0,I.useMemo)(()=>{if(!g||!v)return null;try{return _r(v)}catch{return null}},[g,v]),ie=(0,I.useMemo)(()=>x.length?Q(x.slice(0,Math.max(0,C+1))).slice(-Fr):[],[x,C]);(0,I.useLayoutEffect)(()=>{if(!g)return;let e=O,t=Z(h.openUrl),n=null;if(E){let e=null;if(E.startsWith(Y))e=vr(E);else{let t=ur(E);t.decoded.ok&&(e=t.decoded.data)}n=qr(E,e??void 0)}ii({key:w,prevKey:n,payloadRef:e??null,fallbackRef:t})},[g,h.openUrl,w,E,O]);let ae=(0,I.useSyncExternalStore)(Mi,Ni,Pi);(0,I.useEffect)(()=>{na()},[]);let oe=(0,I.useMemo)(()=>Bi(zi(b??h.openUrl??e)),[b,h.openUrl,e]),k=(0,I.useMemo)(()=>{if(!g)return{origin:null,replies:[]};let t=zi(x.length>0?x[0]:b??e),n=Bi(t),r=Q([zi(e),zi(h.openUrl),...x.map(e=>zi(e)),...Ri()]).filter(Boolean),i=new Map,a=(e,t)=>{let n=0,r=e.toLowerCase();return t?ir(e)?n+=260:n+=40:((/[?&#]t=/.test(r)||r.includes(`/stream/t`))&&(n+=240),r.includes(`/stream/p/`)&&(n-=25),/[?&#]v=/.test(r)&&(n-=20),ir(e)&&(n-=40)),n+=Math.max(0,20-Math.floor(e.length/40)),n+=Math.min(2e5,Yi(e)),n};for(let e of r){let t=Li(e);if(!t)continue;let r=Bi(t);if(!r)continue;let o=Q(Ir(t)),s=r===n;if(!s&&o.length>0){for(let e of o)if(Bi(zi(e))===n){s=!0;break}}if(!s)continue;let c=ur(t),l=c.decoded.ok?ra(c.decoded.data):0,u=a(t,r===n),d=i.get(r);if(!d||u>d.score){let e=cr(t)??t;i.set(r,{url:e,score:u,pulse:l})}}let o=i.get(n)?.url??t,s={key:n,url:o,pulse:(()=>{let e=ur(o);return e.decoded.ok?ra(e.decoded.data):0})()},c=[];for(let[e,t]of i.entries())e!==n&&e!==oe&&(ir(t.url)||c.push({key:e,url:t.url,pulse:t.pulse}));return c.sort((e,t)=>(t.pulse??0)-(e.pulse??0)),{origin:s,replies:c}},[g,x,b,e,h.openUrl,oe,ae]),A=(0,I.useCallback)(()=>{if(!g||!v)return{primary:{url:Z(h.openUrl),rootRef:``,adds:[],meta:{v:Jn,id:`seg:none`,m:``,n:0,a:0,r:``}},archives:[]};let e=O??_r(v),t=Q(ai(w,Fr)),n=Q(ie),r=Kr(n),i=Kr(t),a=r>i?n:rt.length?n:t.length>n.length?t:n,o=[];for(let e of a){let t=X(e);if(!t)continue;if(t.startsWith(Y)){o.push(t);continue}let n=ur(t),r=n.decoded.ok?n.decoded.data:null;if(r){let e=qr(t,r),n=Yr.get(e);if(n?.payloadRef){o.push(n.payloadRef);continue}try{o.push(_r(r));continue}catch{}}o.push(Z(t))}return Gr(e,Q(o).slice(-Fr))},[g,v,h.openUrl,O,w,ie]),se=(0,I.useMemo)(()=>A(),[A,ee]),ce=se.primary.url,le=se.archives.length>0,ue=(0,I.useMemo)(()=>cr(e)??cr(h.openUrl),[e,h.openUrl]),de=(0,I.useMemo)(()=>gi(y,g?_.dataRaw:null),[y,g,_]),fe=!!E,pe=(0,I.useMemo)(()=>{if(!g||!y)return!1;let e=y;return!!(e.post||e.message||e.share||e.reaction)},[g,y]),j=(0,I.useMemo)(()=>{if(!g||!y)return!1;let e=y,t=Pr(_.dataRaw,``),n=(Vn(e.source)?e.source:void 0)??Nr(_.dataRaw);return li(t)||li(n)||di(e)},[g,y,_]),me=(0,I.useMemo)(()=>pe||!!de.post,[pe,de.post]),M=(0,I.useMemo)(()=>j||me||fe,[j,me,fe]),N=M;(0,I.useEffect)(()=>{if(typeof window>`u`||t!==0)return;na();let n=cr(window.location.href)??ue??cr(h.openUrl)??ce??Z(e),r=Q([n,...x.map(e=>zi(e)).filter(Boolean)]);for(let e of r){let t=Zi(bi,e);t.changed&&Qi(t.value)}if(N){let e=g?_.dataRaw??v:void 0,t=qi(n,e),r=Zi(xi,t);r.changed&&$i(r.value),ta(Ui(n,e),t)}ji()},[t,e,h.openUrl,ue,ce,N,x,g,_,v]);let P=(0,I.useMemo)(()=>ue??ce,[ue,ce]),F=(0,I.useMemo)(()=>g?M?P:b??P:h.openUrl,[g,h.openUrl,M,P,b]),he=(0,I.useMemo)(()=>F,[F]),ge=(0,I.useCallback)(()=>{let e=A();return[e.primary.url,...e.archives.map(e=>e.url)].join(` `)},[A]),_e=(0,I.useCallback)(()=>{yi(he,()=>{c(!0),typeof window<`u`&&window.setTimeout(()=>c(!1),1100)},e=>{c(!1)})},[he]),ve=(0,I.useCallback)(()=>{yi(ge(),()=>{u(!0),typeof window<`u`&&window.setTimeout(()=>u(!1),1100)},e=>{u(!1)})},[ge]);if(!h.ok)return(0,L.jsxs)(`article`,{className:`fc fc--error`,role:`group`,"aria-label":`Invalid Sigil-Glyph`,children:[(0,L.jsx)(`div`,{className:`fc-crystal`,"aria-hidden":`true`}),(0,L.jsxs)(`div`,{className:`fc-shell`,children:[(0,L.jsx)(`header`,{className:`fc-head`,children:(0,L.jsxs)(`div`,{className:`fc-titleRow`,children:[(0,L.jsx)(`span`,{className:`fc-chip fc-chip--danger`,children:`INVALID`}),(0,L.jsx)(`span`,{className:`fc-muted`,children:`Sigil-Glyph capsule could not be resolved`})]})}),(0,L.jsx)(`div`,{className:`fc-error`,role:`alert`,children:h.error}),(0,L.jsxs)(`footer`,{className:`fc-actions`,role:`group`,"aria-label":`Actions`,children:[(0,L.jsx)(`a`,{className:`fc-btn`,href:F,target:`_blank`,rel:`noreferrer`,onClick:e=>e.stopPropagation(),title:`Open the best available href for this capsule`,children:`↗ Open`}),(0,L.jsx)(`button`,{className:`fc-btn`,type:`button`,onClick:_e,"aria-pressed":s,"data-state":s?`remembered`:`idle`,title:`Copies the same href as Open for this block.`,children:s?`Remembered`:`Remember`})]})]})]});let R=36n,ye=BigInt(44);function be(e){if(!Number.isFinite(e))return 0n;let t=Math.trunc(e);return BigInt(t)*1000000n}function xe(e){let t=wr(be(e),r),n=Tr(t*R,r),i=Math.max(0,Math.min(35,Er(n))),a=Tr(BigInt(i)*r,R),o=(i>=35?r:Tr(BigInt(i+1)*r,R))-a,s=t-a,c=o>0n?Tr(s*ye,o):0n;return{beatZ:i,stepZ:Math.max(0,Math.min(43,Er(c)))}}let z=_.capsule,Se=z.post,B=z.message,V=z.share,H=z.reaction,U=Se??de.post,W=typeof _.pulse==`number`&&Number.isFinite(_.pulse)?_.pulse:0,{beatZ:Ce,stepZ:we}=xe(W),Te=ne(W),Ee=Or(Te.chakraDay,Te.chakraDay),De=Ee===`Crown`?`Krown`:String(Ee),{day:Oe,month:ke,year:Ae}=Dr(W),je=U?`post`:B?`message`:V?`share`:H?`reaction`:`sigil`,Me=Pr(_.dataRaw,je),Ne=String(Me),Pe=typeof _.appId==`string`&&_.appId?`app ${zn(_.appId,10,4)}`:void 0,Fe=_.userId!==void 0&&_.userId!==null?`user ${zn(String(_.userId),10,4)}`:void 0,Ie=Vn(z.sigilId)?z.sigilId:void 0,Le=Vn(z.phiKey)?z.phiKey:void 0,Re=Vn(z.kaiSignature),ze=Re?`Signature present (Kai Signature)`:`Unsigned capsule`,Be=Vn(z.author)?z.author:void 0,Ve=(Vn(z.source)?z.source:void 0)??Nr(_.dataRaw),He=Hn(M?si:ci),Ue=M?si:ci,We=Ve?li(Ve)?Hn(si):Hn(Ve):void 0,Ge=!!We&&We!==He,Ke=ui(U?.title),qe=ui(U?.text),Je=ui(B?.text),Ye=ui(V?.note),Xe=jr(W,Ce,we,Oe,ke,Ae),Ze=S(d(be(W)).percentIntoStep),Qe={Ignite:[255,92,72],Integrate:[255,160,72],Harmonize:[255,215,128],Reflekt:[72,255,170],Purify:[42,197,255],Dream:[180,120,255]},$e={ignite:`Ignite`,ignition:`Ignite`,"ignition ark":`Ignite`,integrate:`Integrate`,integration:`Integrate`,"integration ark":`Integrate`,harmonize:`Harmonize`,harmonization:`Harmonize`,"harmonization ark":`Harmonize`,reflekt:`Reflekt`,reflection:`Reflekt`,"reflection ark":`Reflekt`,purify:`Purify`,purification:`Purify`,"purification ark":`Purify`,dream:`Dream`,"dream ark":`Dream`};function et(e){return $e[e.trim().toLowerCase()]??null}let[tt,nt,rt]=Mr[Ee],it=et(Xe.arc),[at,ot,st]=it?Qe[it]:[tt,nt,rt],ct={"--fc-arc-r":String(at),"--fc-arc-g":String(ot),"--fc-arc-b":String(st),"--fc-accent-r":String(at),"--fc-accent-g":String(ot),"--fc-accent-b":String(st)},lt=(W%13+13)%13,ut={"--fc-day-r":String(tt),"--fc-day-g":String(nt),"--fc-day-b":String(rt),"--fc-accent-r":String(tt),"--fc-accent-g":String(nt),"--fc-accent-b":String(rt),"--fc-arc-r":String(at),"--fc-arc-g":String(ot),"--fc-arc-b":String(st),"--fc-pulse-dur":`5236ms`,"--fc-pulse-offset":`${-(lt*120)}ms`,"--fc-thread-depth":String(t)},dt=M?`memory`:Ne,ft=M?`↗ Proof of Memory™`:`↗ Proof of Breath™`,pt=M?`Open ${si}`:`Open ${ci}`,mt=t===0&&o!==`self`,ht=(qe??Je??Ye??``)||``,gt=de.bodyKind===`code`||de.bodyKind===`html`?`code`:`text`,_t=ht?Wn(ht,gt):null,vt=!!_t?.shouldCollapse,yt=vt&&!f,bt=`fc-body-${yr(w).slice(0,10)}`,xt=e=>{e.preventDefault(),e.stopPropagation(),p(e=>!e)},St=e=>{if(!mt&&!Gn(e.target??null)){if(`key`in e){let t=e.key;if(t!==`Enter`&&t!==` `)return;e.preventDefault()}try{window.open(F,`_blank`,`noopener,noreferrer`)}catch{}}},Ct=C-1;return(0,L.jsxs)(L.Fragment,{children:[o!==`self`&&E?(0,L.jsx)(sa,{url:E,depth:t+1,seen:T,addChain:x,addIndex:Ct,threadMode:o}):null,(0,L.jsxs)(`article`,{className:`fc fc--crystal ${Re?`fc--signed`:`fc--unsigned`} ${mt?`fc--primary`:`fc--preview`}`,role:mt?`article`:`link`,tabIndex:mt?-1:0,onClick:St,onKeyDown:St,"aria-label":`${Ue} glyph`,"data-kind":dt,"data-chakra":De,"data-signed":Re?`true`:`false`,"data-beat":Ar(Ce),"data-step":Ar(we),"data-collapsed":yt?`true`:`false`,style:ut,children:[(0,L.jsx)(`div`,{className:`fc-crystal`,"aria-hidden":`true`}),(0,L.jsx)(`div`,{className:`fc-rim`,"aria-hidden":`true`}),(0,L.jsx)(`div`,{className:`fc-veil`,"aria-hidden":`true`}),(0,L.jsxs)(`div`,{className:`fc-shell`,children:[(0,L.jsx)(`aside`,{className:`fc-left`,"aria-label":M?si:ci,children:(0,L.jsxs)(`div`,{className:`fc-sigilStage`,children:[(0,L.jsx)(`div`,{className:`fc-sigilGlass`,"aria-hidden":`true`}),(0,L.jsx)(`div`,{className:`fc-sigil`,"aria-label":M?si:ci,children:(0,L.jsx)(D,{pulse:W,beat:Ce,stepPct:Ze,chakraDay:Ee})}),(0,L.jsxs)(`div`,{className:`fc-stamp mono`,"aria-label":`Kai stamp`,children:[(0,L.jsx)(`span`,{className:`fc-stamp__pulse`,title:`Pulse`,children:W}),(0,L.jsx)(`span`,{className:`fc-stamp__sep`,children:`•`}),(0,L.jsx)(`span`,{className:`fc-stamp__bbss`,title:`Beat:Step (zero-based)`,children:Xe.label})]})]})}),(0,L.jsxs)(`section`,{className:`fc-right`,children:[(0,L.jsxs)(`header`,{className:`fc-head`,"aria-label":`Glyph metadata`,children:[(0,L.jsxs)(`div`,{className:`fc-metaRow`,children:[(0,L.jsx)(`span`,{className:`fc-chip fc-chip--kind`,title:M?`${si} • type: ${Ne}`:`${ci} • type: ${Ne}`,children:He}),Pe&&(0,L.jsx)(`span`,{className:`fc-chip`,children:Pe}),Fe&&(0,L.jsx)(`span`,{className:`fc-chip`,children:Fe}),!M&&Ie?(0,L.jsxs)(`span`,{className:`fc-chip fc-chip--sigil`,title:`Sigil-Glyph: ${Ie}`,children:[`SIGIL-GLYPH `,zn(Ie,6,4)]}):null,Le&&(0,L.jsxs)(`span`,{className:`fc-chip fc-chip--phikey`,title:`ΦKey: ${Le}`,children:[`ΦKEY `,zn(Le,6,4)]}),Be&&(0,L.jsx)(`span`,{className:`fc-chip fc-chip--author`,title:`Author handle / origin`,children:Be}),Ge&&We&&(0,L.jsx)(`span`,{className:`fc-chip fc-chip--source`,title:`Source`,children:We}),(0,L.jsx)(`span`,{className:`fc-chip fc-chip--chakra`,title:`Chakra day`,children:De}),(0,L.jsx)(`span`,{className:`fc-sig ${Re?`fc-sig--ok`:`fc-sig--warn`}`,title:ze,"aria-label":ze,children:Re?`SIGNED`:`UNSIGNED`}),(()=>{let e=Rr(ce);return e?(0,L.jsxs)(`span`,{className:`fc-chip`,title:`Merkle: ${e.m}`,children:[`SEG `,zn(e.id,10,6)]}):null})()]}),(0,L.jsxs)(`div`,{className:`fc-kaiRow`,"aria-label":`Kai meta`,children:[(0,L.jsx)(`span`,{className:`fc-kai mono`,title:`Kai meta line`,children:Xe.line}),(0,L.jsx)(`span`,{className:`fc-arc`,title:`Arc`,style:ct,children:Xe.arc})]})]}),U&&(0,L.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Post body`,children:[Vn(Ke)&&(0,L.jsx)(`h3`,{className:`fc-title`,children:Ke}),Vn(qe)?(0,L.jsxs)(`div`,{className:`fc-collapse`,"data-open":f?`true`:`false`,children:[(0,L.jsx)(`div`,{id:bt,className:`fc-collapse__content`,style:{maxHeight:yt?`${_t?.maxHeightPx??240}px`:`none`,overflow:yt?`hidden`:`visible`},children:de.bodyKind===`code`||de.bodyKind===`html`?(0,L.jsx)(`pre`,{className:`fc-body`,style:{whiteSpace:`pre-wrap`},children:qe}):(0,L.jsx)(`p`,{className:`fc-body`,children:qe})}),vt?(0,L.jsx)(`button`,{className:`fc-btn fc-btn--ghost fc-collapse__toggle`,type:`button`,onClick:xt,"aria-expanded":f,"aria-controls":bt,"data-no-open":`true`,title:`Expand/collapse long content`,children:f?`Collapse`:`Expand${_t?.lines?` • ${_t.lines} lines`:``}`}):null]}):null,Array.isArray(U.tags)&&U.tags.length>0&&(0,L.jsx)(`div`,{className:`fc-tags`,"aria-label":`Tags`,children:U.tags.map(e=>(0,L.jsxs)(`span`,{className:`fc-tag`,children:[`#`,e]},e))}),Array.isArray(U.media)&&U.media.length>0&&(0,L.jsx)(`div`,{className:`fc-media`,"aria-label":`Attached media`,children:U.media.map(e=>{let t=`${e.kind}:${e.url}`,n=Bn(e.url)??e.kind;return(0,L.jsx)(`a`,{className:`fc-btn fc-btn--ghost`,href:e.url,target:`_blank`,rel:`noreferrer`,title:e.url,onClick:e=>e.stopPropagation(),children:n},t)})})]}),B&&(0,L.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Message body`,children:[(0,L.jsxs)(`h3`,{className:`fc-title`,children:[`Message → `,zn(String(B.toUserId??`recipient`),10,4)]}),Vn(Je)?(0,L.jsxs)(`div`,{className:`fc-collapse`,"data-open":f?`true`:`false`,children:[(0,L.jsx)(`div`,{id:`${bt}-m`,className:`fc-collapse__content`,style:{maxHeight:yt?`${_t?.maxHeightPx??240}px`:`none`,overflow:yt?`hidden`:`visible`},children:(0,L.jsx)(`p`,{className:`fc-body`,children:Je})}),vt?(0,L.jsx)(`button`,{className:`fc-btn fc-btn--ghost fc-collapse__toggle`,type:`button`,onClick:xt,"aria-expanded":f,"aria-controls":`${bt}-m`,"data-no-open":`true`,children:f?`Collapse`:`Expand`}):null]}):null]}),V&&(0,L.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Share body`,children:[(0,L.jsx)(`h3`,{className:`fc-title`,children:`Share`}),(0,L.jsx)(`a`,{className:`fc-link`,href:V.refUrl,target:`_blank`,rel:`noreferrer`,title:V.refUrl,onClick:e=>e.stopPropagation(),children:Bn(V.refUrl)??V.refUrl}),Vn(Ye)?(0,L.jsxs)(`div`,{className:`fc-collapse`,"data-open":f?`true`:`false`,children:[(0,L.jsx)(`div`,{id:`${bt}-s`,className:`fc-collapse__content`,style:{maxHeight:yt?`${_t?.maxHeightPx??240}px`:`none`,overflow:yt?`hidden`:`visible`},children:(0,L.jsx)(`p`,{className:`fc-body`,children:Ye})}),vt?(0,L.jsx)(`button`,{className:`fc-btn fc-btn--ghost fc-collapse__toggle`,type:`button`,onClick:xt,"aria-expanded":f,"aria-controls":`${bt}-s`,"data-no-open":`true`,children:f?`Collapse`:`Expand`}):null]}):null]}),H&&(0,L.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Reaction body`,children:[(0,L.jsx)(`h3`,{className:`fc-title`,children:`Reaction`}),(0,L.jsxs)(`div`,{className:`fc-body`,children:[Vn(H.emoji)?H.emoji:`❤️`,typeof H.value==`number`?` × ${H.value}`:null]}),(0,L.jsx)(`a`,{className:`fc-link`,href:H.refUrl,target:`_blank`,rel:`noreferrer`,title:H.refUrl,onClick:e=>e.stopPropagation(),children:Bn(H.refUrl)??H.refUrl})]}),!U&&!B&&!V&&!H&&(0,L.jsx)(`section`,{className:`fc-bodywrap`,"aria-label":`Sigil body`,children:M&&le?(0,L.jsxs)(`div`,{className:`fc-muted`,style:{marginTop:8},children:[`Archive segments: `,se.archives.length,` (use `,(0,L.jsx)(`b`,{children:`Pack`}),` to copy them)`]}):null}),o!==`self`&&t===0?(0,L.jsxs)(`section`,{className:`fc-bodywrap`,"aria-label":`Thread`,children:[(0,L.jsx)(`h3`,{className:`fc-title`,children:`Thread`}),k.origin&&k.origin.key!==oe?(0,L.jsxs)(`div`,{style:{marginTop:10},children:[(0,L.jsx)(`div`,{className:`fc-muted`,style:{marginBottom:10},children:`Origin`}),(0,L.jsx)(sa,{url:k.origin.url,threadMode:`self`,depth:1,seen:[w]})]}):null,(0,L.jsxs)(`div`,{style:{marginTop:14},children:[(0,L.jsxs)(`div`,{className:`fc-muted`,style:{marginBottom:10},children:[`Replies (`,k.replies.length,`)`]}),k.replies.length?k.replies.map(e=>(0,L.jsx)(sa,{url:e.url,threadMode:`self`,depth:1,seen:[w]},e.key)):(0,L.jsx)(`div`,{className:`fc-muted`,children:`No replies captured locally yet.`})]})]}):null,(0,L.jsxs)(`footer`,{className:`fc-actions`,role:`group`,"aria-label":`Actions`,children:[(0,L.jsx)(`a`,{className:`fc-btn`,href:F,target:`_blank`,rel:`noreferrer`,title:pt,onClick:e=>e.stopPropagation(),children:ft}),(0,L.jsx)(`button`,{className:`fc-btn`,type:`button`,onClick:e=>{e.stopPropagation(),_e()},"aria-pressed":s,"data-state":s?`remembered`:`idle`,title:`Copies the same href as Open for this block. If overflow exists, use Pack.`,children:s?`Remembered`:`Remember`}),le?(0,L.jsx)(`button`,{className:`fc-btn`,type:`button`,onClick:e=>{e.stopPropagation(),ve()},"aria-pressed":l,"data-state":l?`packed`:`idle`,title:`Copies the full segment pack (primary + archive segments) as newline-separated URLs.`,children:l?`Packed`:`Pack ${1+se.archives.length}`}):null,(0,L.jsx)(`span`,{className:`fc-live`,"aria-live":`polite`,children:s?`Inhaled to Memory`:l?`Packed to Memory`:``})]})]})]})]})]})},ca=({url:e,threadMode:t=`thread`})=>{let n=(0,I.useMemo)(()=>Lr(e),[e]),r=(0,I.useMemo)(()=>Q(Ir(e)),[e]);return n?(0,L.jsx)(sa,{url:n,threadMode:t,addChain:r,addIndex:r.length-1}):(0,L.jsx)(sa,{url:e,threadMode:t})};function la({urls:e}){return!e||e.length===0?(0,L.jsx)(`section`,{className:`sf-list`,children:(0,L.jsxs)(`div`,{className:`sf-empty`,children:[`No items yet. Paste a link above or open a `,(0,L.jsx)(`code`,{children:`/stream/p/`}),` link and reply to start a thread.`]})}):(0,L.jsx)(`section`,{className:`sf-list`,"aria-label":`Memory Stream`,children:e.map(e=>(0,L.jsx)(ca,{url:e},e))})}function ua(e){return j(e)&&e.kind===`url`&&typeof e.url==`string`&&(e.title===void 0||typeof e.title==`string`)}function da(e){return j(e)&&e.kind===`file-inline`&&typeof e.data_b64url==`string`&&(e.name===void 0||typeof e.name==`string`)&&(e.type===void 0||typeof e.type==`string`)&&(e.size===void 0||typeof e.size==`number`)&&(e.sha256===void 0||typeof e.sha256==`string`)&&(e.thumbnail_b64===void 0||typeof e.thumbnail_b64==`string`)&&(e.relPath===void 0||typeof e.relPath==`string`)}function fa(e){return j(e)&&e.kind===`file-ref`&&typeof e.sha256==`string`&&(e.name===void 0||typeof e.name==`string`)&&(e.type===void 0||typeof e.type==`string`)&&(e.size===void 0||typeof e.size==`number`)&&(e.url===void 0||typeof e.url==`string`)&&(e.relPath===void 0||typeof e.relPath==`string`)}function pa(e){return ua(e)||da(e)||fa(e)}function ma(e){return j(e)&&e.version===1&&typeof e.totalBytes==`number`&&typeof e.inlinedBytes==`number`&&Array.isArray(e.items)&&e.items.every(pa)}var ha=`Φ Memory added to PhiStream.`;function ga(e){let t=(e||``).trim();return t?t.length<=140?t:`${t.slice(0,96)}:${t.slice(-32)}`:`root`}function _a(e){return`sf.phistream.autoadd.notified:${ga(e)}`}function va(){return typeof window<`u`&&typeof document<`u`}function ya(e){let t=(e||``).trim();if(!t||!va())return null;try{if(t.startsWith(`/`)){let e=window.location?.origin??`https://kaiklok.com`,n=new URL(t,e);return n.protocol===`http:`||n.protocol===`https:`?n.toString():null}let e=new URL(t);return e.protocol===`http:`||e.protocol===`https:`?e.toString():null}catch{return null}}function ba(){return xe(localStorage.getItem(be))}function xa(e){try{return ba().includes(e)}catch{return!1}}function Sa(e){try{return sessionStorage.getItem(_a(e))===`1`}catch{return!1}}function Ca(e){try{sessionStorage.setItem(_a(e),`1`)}catch{}}function wa(e){let{token:t,payloadUrl:n,fallbackUrl:r,toast:i}=e;if(!va())return{ok:!1,added:!1,url:null,reason:`no_window`};let a=(n&&n.trim().length?n:r)??``;if(!a.trim())return{ok:!1,added:!1,url:null,reason:`no_url`};let o=ya(a);if(!o)return{ok:!1,added:!1,url:null,reason:`invalid_url`};try{c(o)}catch{}let s=Sa(t);try{return xa(o)?{ok:!0,added:!1,url:o,reason:`already_present`}:(z([o]),s?{ok:!0,added:!1,url:o,reason:`already_notified`}:(Ca(t),i?.(`success`,ha),{ok:!0,added:!0,url:o,reason:`added`}))}catch{return{ok:!1,added:!1,url:null,reason:`storage_unavailable`}}}var Ta=17491.270421,Ea=36,Da=44,Oa=Ea*Da,ka=6,Aa=7,ja=8,Ma=ka*Aa,Na=Ma*ja;function Pa(e,t){let n=e%t;return n<0?n+t:n}function Fa(e){return Number.isFinite(e)?e<0?0:e>1?1:e:0}function Ia(e){return Number.isFinite(e)?e:0}function La(e){let t=Ia(e);return Math.floor(t/Ta)}function Ra(e){let t=Ia(e),n=(t-La(t)*Ta)%Ta,r=n<0?n+Ta:n;return r>=Ta?0:r}function za(e){let t=Fa(Ra(e)/Ta),n=Math.floor(t*Oa);return{beat:Math.floor(n/Da),step:n%Da}}function Ba(e){let t=La(e),n=Math.floor(t/Na),r=Pa(t,Na),i=Math.floor(r/Ma);return{d:r%Ma+1,m:i+1,y:n}}var Va=[`Solhara`,`Aquaris`,`Flamora`,`Verdari`,`Sonari`,`Kaelith`],Ha=[`Root`,`Sacral`,`Solar`,`Heart`,`Throat`,`Third Eye`,`Crown`];function Ua(e){return Va[Pa(La(e),Va.length)]??`Kaelith`}function Wa(e){return Ha[Pa(La(e),Ha.length)]??`Crown`}var Ga=[`Aethon`,`Virelai`,`Solari`,`Amarin`,`Kaelus`,`Umbriel`,`Noktura`,`Liora`];function Ka(e){if(typeof window>`u`)return;let t=window.requestIdleCallback;if(typeof t==`function`){t(t=>{if(t.timeRemaining()<=0){e();return}e()});return}window.setTimeout(e,0)}function qa(e){let t=Pa(La(e),Na),n=Math.floor(t/Ma);return Ga[n]??`Month ${n+1}`}function Ja(e){let t=e.trim();return t&&(/^caelith$/i.test(t)||/^kaelith$/i.test(t)?`Kaelith`:t.charAt(0).toUpperCase()+t.slice(1))}function Ya(e){let t=e.trim();if(!t)return t;let n=t.toLowerCase();return n===`third-eye`||n===`third eye`||n===`ajna`?`Third Eye`:n===`solar plexus`||n===`solar-plexus`||n===`solar`?`Solar`:n===`root`?`Root`:n===`sacral`?`Sacral`:n===`heart`?`Heart`:n===`throat`?`Throat`:n===`crown`?`Krown`:t.charAt(0).toUpperCase()+t.slice(1)}function Xa(e){let t=e.trim();return t&&(/^manual$/i.test(t)?`Proof of Memory™`:t.charAt(0).toUpperCase()+t.slice(1))}var Za=Ea/6,Qa=[`Ignite`,`Integrate`,`Harmonize`,`Reflekt`,`Purify`,`Dream`];function $a(e){let{beat:t}=za(e),n=Math.floor(t/Za);return n<0?0:n>=Qa.length?Qa.length-1:n}function eo(e){return Qa[$a(e)]??`Dream`}function to(e){let t=Number.isFinite(e)?Math.trunc(e):0;return String(t).padStart(2,`0`)}function no(e){return e.length<=140?e:`${e.slice(0,96)}:${e.slice(-32)}`}function ro(){let e=globalThis.location?.origin;return e&&typeof e==`string`&&e.length?e:`https://kaiklok.com`}function io(e){let t=ro().replace(/\/+$/,``);return e.length<=3500?`${t}/stream/p/${encodeURIComponent(e)}`:`${t}/stream#t=${e}`}function ao(e){return`${ro().replace(/\/+$/,``)}/stream?p=${encodeURIComponent(e)}`}function oo(e){return`${ro().replace(/\/+$/,``)}/p~${e}`}function so(e){return e.length<=3500?oo(e):ao(e)}function co(e){let t=e.trim();try{let e=new URL(t),n=new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash),r=new URLSearchParams(e.search),i=n.get(`t`)??n.get(`p`)??n.get(`token`)??r.get(`t`)??r.get(`p`)??r.get(`token`);i?t=i:/\/p~/.test(e.pathname)?t=e.pathname.split(`/p~`)[1]??t:/\/stream\/p\//.test(e.pathname)&&(t=e.pathname.split(`/stream/p/`)[1]??t)}catch{}if(/%[0-9A-Fa-f]{2}/.test(t))try{t=decodeURIComponent(t)}catch{}return t.includes(` `)&&(t=t.replaceAll(` `,`+`)),/[+/=]/.test(t)&&(t=t.replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/g,``)),t}function $(e){return/^[A-Za-z0-9_-]{16,}$/.test(e)}function lo(e){let t=e.trim();try{return new URL(t)}catch{try{return new URL(t,ro())}catch{return null}}}function uo(e){let t=e.trim();if(!t)return null;if($(t))return t;let n=lo(t);if(!n)return null;let r=n.hash&&n.hash.startsWith(`#`)?n.hash.slice(1):``,i=new URLSearchParams(r),a=n.searchParams,o=i.get(`t`)??i.get(`p`)??i.get(`token`)??i.get(`capsule`)??a.get(`t`)??a.get(`p`)??a.get(`token`)??a.get(`capsule`);if(o&&o.trim().length)return o.trim();if(n.pathname.includes(`/p~`)){let e=n.pathname.indexOf(`/p~`),t=n.pathname.slice(e+3);if(t&&t.length)return t.startsWith(`/`)?t.slice(1):t}{let e=n.pathname.match(/\/stream\/p\/([^/?#]+)/);if(e?.[1])return e[1]}{let e=n.pathname.match(/\/p\/([^/?#]+)/);if(e?.[1])return e[1]}{let e=n.pathname.match(/\/s\/([^/?#]+)/);if(e?.[1])return e[1]}return null}function fo(e){if(typeof window>`u`)return`/stream/p/${encodeURIComponent(e)}`;let t=new URLSearchParams(window.location.search),n=new URLSearchParams(window.location.hash.startsWith(`#`)?window.location.hash.slice(1):window.location.hash),r=[...t.getAll(`add`),...n.getAll(`add`)].map(W).filter(e=>typeof e==`string`&&e.trim().length>0),i=[];for(let e of r){let t=po(e);i.includes(t)||i.push(t)}let a=new URLSearchParams;for(let[e,n]of t.entries())e===`p`||e===`t`||e===`token`||e===`capsule`||e!==`add`&&a.append(e,n);for(let e of i)a.append(`add`,e);let o=new URLSearchParams;for(let[e,t]of n.entries())e===`p`||e===`t`||e===`token`||e===`capsule`||e!==`add`&&o.append(e,t);let s=e.length<=E,c=s?`/stream/p/${encodeURIComponent(e)}`:`/stream`,l=a.toString(),u=l.length?`?${l}`:``;if(s){let e=o.toString();return`${c}${u}${e.length?`#${e}`:``}`}let d=new URLSearchParams;d.set(`t`,e);for(let[e,t]of o.entries())d.append(e,t);return`${c}${u}#${d.toString()}`}function po(e){let t=e.trim();if(!t)return t;let n=uo(t);if(!n){let e=lo(t);return e?e.toString():t}return io(co(n))}function mo(e,t){let n=new URL(e,ro()),r=n.hash.startsWith(`#`)?n.hash.slice(1):n.hash,i=new URLSearchParams(r);i.delete(`add`);for(let e of t)i.append(`add`,e);n.search=``;let a=i.toString();return n.hash=a?`#${a}`:``,n.toString()}var ho=`sf:memoryStream:v2`,go=2e4,_o=4096,vo=4096,yo=2048;function bo(){return{v:2,parentOf:{},childrenOf:{},pulseOf:{}}}function xo(){if(typeof window>`u`)return bo();try{let e=window.localStorage.getItem(ho);if(!e)return bo();let t=JSON.parse(e);if(!j(t)||t.v!==2)return bo();let n=j(t.parentOf)?t.parentOf:{},r=j(t.childrenOf)?t.childrenOf:{},i=j(t.pulseOf)?t.pulseOf:{},a=bo();for(let[e,t]of Object.entries(n))typeof e==`string`&&typeof t==`string`&&$(e)&&$(t)&&(a.parentOf[e]=t);for(let[e,t]of Object.entries(r)){if(!$(e)||!Array.isArray(t))continue;let n=t.filter(e=>typeof e==`string`&&$(e));a.childrenOf[e]=Array.from(new Set(n)).slice(0,_o)}for(let[e,t]of Object.entries(i))if($(e)){if(typeof t==`number`&&Number.isFinite(t))a.pulseOf[e]=t;else if(typeof t==`string`&&t.trim().length){let n=Number(t.trim());Number.isFinite(n)&&(a.pulseOf[e]=n)}}return a}catch{return bo()}}function So(e){if(!(typeof window>`u`))try{window.localStorage.setItem(ho,JSON.stringify(e))}catch(e){P(`ms2Save`,e)}}function Co(e,t,n){let r=e.childrenOf[t]??[];if(r.includes(n))return!1;let i=[...r,n].slice(-_o);return e.childrenOf[t]=i,!0}function wo(e,t,n){return!$(t)||!$(n)||t===n||e.parentOf[t]===n?!1:(e.parentOf[t]=n,Co(e,n,t),!0)}function To(e,t,n){return!$(t)||!Number.isFinite(n)||e.pulseOf[t]===n?!1:(e.pulseOf[t]=n,!0)}function Eo(e){let t=lo(e);if(!t)return[];let n=t.hash&&t.hash.startsWith(`#`)?t.hash.slice(1):``,r=new URLSearchParams(n),i=[...t.searchParams.getAll(`add`),...r.getAll(`add`)];if(i.length===0)return[];let a=[];for(let e of i){let t=W(e);if(!t||!t.trim().length)continue;let n=uo(t)??($(t)?t:null);if(!n)continue;let r=co(n);$(r)&&(a.includes(r)||a.push(r))}return a}function Do(e,t){let n=uo(t);if(!n)return!1;let r=co(n);if(!$(r))return!1;let i=Eo(t),a=i.length?i[i.length-1]:null,o=!1;if(a&&(o=wo(e,r,a)||o),Object.keys(e.parentOf).length+Object.keys(e.childrenOf).length>go){let t=Object.keys(e.childrenOf);for(let n=0;n{let r=e.pulseOf[t],i=e.pulseOf[n],a=typeof r==`number`&&Number.isFinite(r),o=typeof i==`number`&&Number.isFinite(i);return a&&o?r-i:a?-1:o?1:tn?1:0}),r}function jo(e,t){let n=io(t),r=ko(e,t);return r.length?mo(n,r):n}function Mo(e){if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,`true`),t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`0`,document.body.appendChild(t);let n=document.activeElement instanceof HTMLElement?document.activeElement:null;t.focus(),t.select();let r=document.execCommand(`copy`);return document.body.removeChild(t),n&&n.focus(),r}catch{return!1}}function No(e){if(typeof window>`u`)return null;let t=window.navigator;return t!==void 0&&t.clipboard!==void 0&&typeof t.clipboard.writeText==`function`&&window.isSecureContext?t.clipboard.writeText(e):null}function Po(e){return e.replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function Fo(e){try{let t=new DOMParser().parseFromString(e,`text/html`);return t.querySelectorAll(`script,style,iframe,object,embed`).forEach(e=>e.remove()),t.querySelectorAll(`*`).forEach(e=>{for(let t of Array.from(e.attributes)){let n=t.name.toLowerCase(),r=t.value;if(n.startsWith(`on`)){e.removeAttribute(t.name);continue}if(n===`href`||n===`src`){let n=r.trim().toLowerCase();(n.startsWith(`javascript:`)||n.startsWith(`data:`))&&e.removeAttribute(t.name)}}}),t.body.innerHTML}catch{return Po(e)}}function Io(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`?t.toString():null}catch{return null}}function Lo(e){let t=Po(e).replace(/```(\w+)?\n([\s\S]*?)```/g,(e,t,n)=>{let r=(t||``).trim();return`
${n}
`});return t=t.replace(/^####\s(.+)$/gm,`

$1

`),t=t.replace(/^###\s(.+)$/gm,`

$1

`),t=t.replace(/^##\s(.+)$/gm,`

$1

`),t=t.replace(/^#\s(.+)$/gm,`

$1

`),t=t.replace(/\*\*(.+?)\*\*/g,`$1`),t=t.replace(/\*(.+?)\*/g,`$1`),t=t.replace(/`([^`]+)`/g,`$1`),t=t.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>{let r=Io(n);return r?`${t}`:`${t} (${Po(n)})`}),t=t.split(/\n{2,}/g).map(e=>{let t=e.trim();return t?t.startsWith(``)?t:`

${t.replace(/\n/g,`
`)}

`:``}).filter(Boolean).join(` `),t}function Ro(e){let t=0,n=0;for(let r of e){if(r.kind===`file-inline`){typeof r.size==`number`&&Number.isFinite(r.size)&&r.size>=0&&(t+=r.size,n+=r.size);continue}if(r.kind===`file-ref`){typeof r.size==`number`&&Number.isFinite(r.size)&&r.size>=0&&(t+=r.size);continue}}return{total:t,inlined:n}}function zo(e){if(ma(e))return e;if(!j(e))return null;let t=e.version,n=e.items;if(t!==1||!Array.isArray(n))return null;let r=n.filter(pa),i=Ro(r);return{version:1,totalBytes:typeof e.totalBytes==`number`&&Number.isFinite(e.totalBytes)?e.totalBytes:i.total,inlinedBytes:typeof e.inlinedBytes==`number`&&Number.isFinite(e.inlinedBytes)?e.inlinedBytes:i.inlined,items:r}}function Bo({body:e,caption:t,isSealed:n}){let r=e??(!n&&t&&t.trim().length?{kind:`text`,text:t}:null);return r?r.kind===`text`?(0,L.jsxs)(`div`,{className:`sf-text`,children:[`— `,`"${r.text}"`]}):r.kind===`code`?(0,L.jsx)(`pre`,{className:`sf-code`,children:(0,L.jsx)(`code`,{children:r.code})}):r.kind===`md`?(0,L.jsx)(`div`,{className:`sf-md`,dangerouslySetInnerHTML:{__html:Lo(r.md)}}):(r.mode??`code`)===`code`?(0,L.jsx)(`pre`,{className:`sf-code sf-code--html`,children:(0,L.jsx)(`code`,{children:r.html})}):(0,L.jsx)(`div`,{className:`sf-html`,dangerouslySetInnerHTML:{__html:Fo(r.html)}}):(0,L.jsx)(L.Fragment,{})}function Vo(e,t){if(!e||typeof e!=`object`)return null;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim().length)return t.trim()}return null}function Ho(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];if(typeof n==`number`&&Number.isFinite(n))return n;if(typeof n==`string`&&n.trim().length){let e=Number(n.trim());return Number.isFinite(e)?e:null}return null}function Uo(e){return Math.max(0,Math.min(255,Math.round(e)))}function Wo(e){if(!j(e))return!1;let t=e.body,n=e.attachments,r=e.caption,i=t===void 0||j(t),a=r===void 0||typeof r==`string`,o=n===void 0||j(n)||Array.isArray(n);return i&&a&&o}function Go(e){return typeof e==`function`}function Ko(e){return j(e)&&e.ok===!0&&`inner`in e}function qo(e){let t=j(e)?e.seal:void 0;return t?Vo(t,[`teaser`,`preview`,`hint`,`caption`])??null:null}async function Jo(e){let t=await b(()=>import(`./postSeal-Cb52JhEQ.js`),__vite__mapDeps([0,1])),n=j(t)?t:{},r=n.openSealedEnvelope??n.openSealedPayload??n.unsealEnvelope??n.unsealPayload??n.unsealEnvelopeV1??null;if(!Go(r))throw Error(`postSeal module is missing an unseal function.`);if(((j(n)&&Object.entries(n).find(([,e])=>e===r)?.[0])??`unseal`)===`unsealEnvelopeV1`){let t=typeof e.meta==`object`&&e.meta!==null?fe(e.meta,`kaiSignature`):void 0,n=typeof e.meta==`object`&&e.meta!==null?fe(e.meta,`userPhiKey`):void 0;if(!t)throw Error(`Missing kaiSignature in meta (cannot unlock sealed envelope).`);let i=await Promise.resolve(r(e.seal,{kaiSignature:t,phiKey:n}));if(Ko(i)){let e=i.inner;if(!j(e))throw Error(`Unseal returned non-object inner payload.`);let t=e.body,n=e.attachments,r=e.caption,a={};return t!==void 0&&j(t)&&(a.body=t),n!==void 0&&(a.attachments=n),typeof r==`string`&&(a.caption=r),a}if(Wo(i))return i;throw Error(`Unseal returned an unexpected shape.`)}let i=await Promise.resolve(r(e.seal,{meta:e.meta,svgText:e.svgText??void 0}));if(!Wo(i))throw Error(`Unseal returned an unexpected shape.`);return i}function Yo(e){let{token:t,payload:n,manifest:r,copied:i,onKopy:a,isSealed:o,unsealState:s,canUnseal:l,verifiedThisSession:u,hasComposerMeta:d,onVerifiedNow:f,onResetVerified:p,onUnseal:ee,onForgetUnsealed:te,body:m,caption:h}=e,g=(0,I.useRef)(null),_=(0,I.useCallback)(()=>{let e=g.current;if(!e)return;try{e.scrollIntoView({behavior:`smooth`,block:`center`})}catch{}let t=e.querySelector(`input[type="file"]`);if(t){t.click();return}e.querySelector(`button`)?.click()},[]),ne=s.status===`opening`?`UNSEALING…`:l?`UNSEAL`:u?d?`UNSEAL`:`RE-INHALE`:`🔐 Sealed`,v=(0,I.useCallback)(()=>{if(!l){_();return}ee()},[l,ee,_]),y=Ia(n.pulse),{beat:b,step:x}=za(y),{d:S,m:C,y:re}=Ba(y),w=qa(y),T=Ja(Ua(y)),E=eo(y),D=Vo(n,[`userPhiKey`,`phiKey`,`phikey`,`authorPhiKey`])??Vo(n.meta,[`userPhiKey`,`phiKey`,`phikey`])??``,O=Xa(Vo(n,[`mode`,`source`,`origin`,`transport`])??Vo(n.meta,[`mode`,`source`,`origin`])??`Manual`);(0,I.useEffect)(()=>{try{c(so(t))}catch(e){P(`register share url (PayloadCard)`,e)}if(typeof n.url==`string`&&n.url.length)try{c(n.url)}catch(e){P(`register payload.url (PayloadCard)`,e)}},[t,n.url]);let ie=o&&s.status!==`open`,ae=(0,I.useMemo)(()=>o?qo(n):null,[o,n]),oe=o?(0,L.jsx)(`span`,{className:`sf-pill sf-pill--sealed`,title:`Private (Sealed)`,children:`🔒 SEALED`}):null;return(0,L.jsxs)(`section`,{className:`sf-payload`,role:`region`,"aria-label":`Loaded payload`,children:[(0,L.jsxs)(`div`,{className:`sf-payload-line sf-tags`,children:[(0,L.jsx)(`span`,{className:`sf-pill sf-pill--mode`,children:O||`Proof of Memory™`}),oe,D?(0,L.jsxs)(`span`,{className:`sf-pill sf-pill--phikey`,title:D,children:[`ΦKey `,(0,L.jsx)(`span`,{className:`sf-key`,children:D})]}):null]}),(0,L.jsxs)(`div`,{className:`sf-payload-core`,children:[(0,L.jsxs)(`span`,{children:[`☤Kai: `,y]}),(0,L.jsx)(`span`,{className:`sf-muted`,children:` · `}),(0,L.jsxs)(`span`,{className:`sf-kai-label`,children:[to(b),`:`,to(x),` — D`,S,`/M`,C,`/Y`,re,` · `,E]}),(0,L.jsx)(`span`,{className:`sf-muted`,children:` · `}),(0,L.jsxs)(`span`,{className:`sf-kai-label`,children:[T,` · `,w]})]}),o?(0,L.jsx)(`div`,{className:`sf-seal`,role:`group`,"aria-label":`Private sealed content`,children:s.status===`open`?(0,L.jsxs)(`div`,{className:`sf-seal__row`,children:[(0,L.jsx)(`span`,{className:`sf-seal__label`,children:`Unsealed`}),(0,L.jsx)(`button`,{type:`button`,className:`sf-seal__btn`,onClick:te,"aria-label":`Seal view`,children:`SEAL`})]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`sf-seal__row`,children:[(0,L.jsx)(`span`,{className:`sf-seal__label`,children:`Private`}),(0,L.jsx)(`button`,{type:`button`,className:`sf-seal__btn`,onClick:v,disabled:s.status===`opening`,"aria-label":`Unseal private content`,children:ne})]}),ae?(0,L.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:ae}):null,(0,L.jsxs)(`div`,{ref:g,className:`sf-seal__gate`,role:`region`,"aria-label":`Unlock gate`,children:[u?d?l?null:(0,L.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:`Inhale your ΦKey to unseal.`}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:`Verified session detected, but no sigil metadata is present. Re-inhale your glyph.`}),(0,L.jsx)(`div`,{className:`sf-seal__login`,"aria-label":`Glyph re-upload`,children:(0,L.jsx)(ue,{onVerified:f})}),(0,L.jsx)(`div`,{className:`sf-seal__row`,children:(0,L.jsx)(`button`,{type:`button`,className:`sf-seal__btn`,onClick:p,"aria-label":`Use a different key`,children:`USE DIFFERENT ΦKEY`})})]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:`Inhale your ΦKey, then unseal.`}),(0,L.jsx)(`div`,{className:`sf-seal__login`,"aria-label":`Glyph upload`,children:(0,L.jsx)(ue,{onVerified:f})})]}),s.status===`error`?(0,L.jsx)(`div`,{className:`sf-seal__hint`,role:`note`,children:s.message}):null]})]})}):null,ie?null:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Bo,{body:m,caption:h,isSealed:!1}),r?(0,L.jsx)(bt,{manifest:r}):null]}),(0,L.jsx)(`div`,{className:`sf-reply-actions`,children:(0,L.jsx)(`button`,{type:`button`,className:`sf-kopyBtn`,onClick:a,disabled:i,"data-state":i?`copied`:`idle`,"aria-label":`Remember share link`,children:i?`REMEMBERED`:`REMEMBER`})})]})}function Xo(){return(0,L.jsx)(R,{children:(0,L.jsx)(F,{children:(0,L.jsx)(Zo,{})})})}function Zo(){let e=_e(),t=C(),n=O(),r=he(e=>{e.preventDefault(),n(`/keystream`)}),[i,a]=(0,I.useState)([]),o=(0,I.useRef)(new Set),s=(0,I.useRef)(xo()),l=(0,I.useRef)(new Set),[u,d]=(0,I.useState)(0),f=(0,I.useRef)(!1),g=(0,I.useCallback)((e,t)=>{Ka(()=>{let t=s.current,n=!1;for(let r of e)!r||!r.trim().length||(n=Do(t,r)||n);n&&(So(t),d(e=>e+1))})},[]),_=(0,I.useCallback)(e=>{if(!f.current){f.current=!0;try{let t=new Set,n=e=>{if(!e)return;let n=co(e);$(n)&&t.add(n)},r=s.current;for(let e of Object.keys(r.parentOf))n(e);for(let e of Object.keys(r.childrenOf)){n(e);for(let t of r.childrenOf[e]??[])n(t)}for(let e of Object.keys(r.pulseOf))n(e);for(let t of e){n(uo(t));for(let e of Eo(t))n(e)}let i=0;for(let e of t){if(i>=yo)break;i+=1;let t=m(e);if(!t)continue;let n=t.usernameClaim;if(!n)continue;let r=v(n.hash??``),a=n.payload;if(!r||!a||a.kind!==`username_claim`)continue;let o=ie(a.normalized||a.username||``),s=ie(t.author??``),c=o||s;if(!c)continue;let l=n.url?.trim()||io(e);if(!l)continue;let u=n.ownerHint??a.ownerHint??null;ee({hash:r,url:l,payload:{...a,normalized:o||c},ownerHint:u})}}catch(e){P(`rehydrate username claims`,e)}}},[]);(0,I.useEffect)(()=>{if(typeof window>`u`)return;let e=e=>{a(t=>{let n=new Set(t.map(({url:e})=>e)),r=[...t],i=[];for(let{url:t}of e){let e=t.trim();!e||n.has(e)||(n.add(e),r.push({url:e}),i.push(e))}if(i.length>0){for(let e of i)c(e);g(i),_(i)}return r})};Ka(()=>{let t=xe(localStorage.getItem(be));t.length&&e(t.map(e=>({url:e})))});let t=!1;return Ka(()=>{(async()=>{try{let n=await ye();!t&&n.length&&e(n)}catch(e){P(`initial seed load`,e)}})().catch(e=>P(`initial seed load outer`,e))}),()=>{t=!0}},[g,_]),(0,I.useEffect)(()=>{if(!(typeof window>`u`))try{let e=new URLSearchParams(window.location.search),t=new URLSearchParams(window.location.hash.startsWith(`#`)?window.location.hash.slice(1):window.location.hash),n=[...e.getAll(`add`),...t.getAll(`add`)].map(W).filter(e=>typeof e==`string`&&e.trim().length>0).map(po);if(n.length===0)return;g([window.location.href,...n]),a(e=>{let t=new Set(e.map(e=>e.url)),r=n.filter(e=>!t.has(e));if(r.length){z(r);for(let e of r)c(e);return[...r.map(e=>({url:e})),...e]}return e})}catch(e){P(`add ingestion (location)`,e)}},[t.pathname,t.search,t.hash,g]),(0,I.useEffect)(()=>{typeof window>`u`||Ka(()=>{let e=o.current,t=[],n=e=>{e.trim().length&&(t.includes(e)||t.push(e))};for(let t of i){let r=t.url;if(!r||e.has(r))continue;e.add(r);let i=lo(r);if(!i)continue;let a=i.hash&&i.hash.startsWith(`#`)?i.hash.slice(1):``,o=new URLSearchParams(a),s=[...i.searchParams.getAll(`add`),...o.getAll(`add`)];if(s.length===0)continue;let c=s.map(W).filter(e=>typeof e==`string`&&e.trim().length>0).map(po);for(let e of c)n(e)}t.length!==0&&(g(t),a(e=>{let n=new Set(e.map(e=>e.url)),r=t.filter(e=>!n.has(e));if(!r.length)return e;try{z(r)}catch(e){P(`prependUniqueToStorage (infinite replies)`,e)}for(let e of r)try{c(e)}catch(e){P(`registerSigilUrl (infinite replies)`,e)}return[...r.map(e=>({url:e})),...e]}))})},[i,g]),(0,I.useEffect)(()=>{typeof window>`u`||Ka(()=>{let e=l.current,t=[];for(let n of i){let r=n.url;if(!(!r||e.has(r))&&(e.add(r),t.push(r),t.length>=256))break}t.length&&g(t)})},[i,g]);let ne=(0,I.useMemo)(()=>{if(typeof window>`u`)return{token:null,payload:null,error:null};let e=h();if(!e)return{token:null,payload:null,error:null};let t=co(e),n=m(t)||(e===t?null:m(e));return{token:t,payload:n,error:n?null:`Invalid or unreadable payload token.`}},[]),[y,b]=(0,I.useState)(ne.token),[x,S]=(0,I.useState)(ne.payload),[re,w]=(0,I.useState)(ne.error),T=(0,I.useRef)(null),[E,D]=(0,I.useState)({status:`none`});(0,I.useEffect)(()=>{if(!x){D({status:`none`});return}D(j(x)&&x.seal!==void 0?{status:`sealed`}:{status:`none`})},[x]);let ae=(0,I.useCallback)(async()=>{if(typeof window>`u`)return;let t=h(),n=t?co(t):null;if(n)try{let e=fo(n);e!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(null,``,e)}catch(e){P(`canonicalizeLocationRel`,e)}if(b(n),!n){S(null),w(null),T.current=null;return}try{let e=io(n),t=so(n);c(e),t!==e&&c(t)}catch(e){P(`register current stream url (pre-decode)`,e)}try{let e=io(n);a(t=>{if(new Set(t.map(e=>e.url)).has(e))return t;try{z([e])}catch(e){P(`prependUniqueToStorage (visited stream)`,e)}try{c(e)}catch(e){P(`registerSigilUrl (visited stream)`,e)}return[{url:e},...t]}),g([window.location.href,e])}catch(e){P(`ms2 ingest visited stream`,e)}try{let r=await m(n)||(t&&t!==n?await m(t):null);if(!r){S(null),w(`Invalid or unreadable payload token.`);return}let i=r.usernameClaim,o=i?ie(i.payload?.normalized||i.payload?.username||``):``,l=ie(r.author??``),u=o||l;if(i){let e=v(i.hash??``),t=i.url?.trim()||io(n);if(!e||!t){S(null),w(`Username claim missing glyph reference.`);return}if(!u){S(null),w(`Username claim missing normalized username.`);return}let r=p()[u];if(r&&r.claimHash!==e){S(null),w(`Username claimed by another glyph.`);return}let a=i.payload;if(!a||a.kind!==`username_claim`){S(null),w(`Invalid username-claim payload.`);return}let o=ie(a.normalized||a.username||``)||u;if(o!==u){S(null),w(`Username claim does not match author.`);return}let s=ee({hash:e,url:t,payload:{...a,normalized:o},ownerHint:i.ownerHint??a.ownerHint??null});if(!s.accepted){S(null),w(`Username claim rejected: ${s.reason??`unknown`}.`);return}}else if(u&&p()[u]){S(null),w(`Claim glyph is required for this username.`);return}S(r),w(null);try{let e=s.current;To(e,n,Ia(r.pulse))&&(So(e),d(e=>e+1))}catch(e){P(`ms2SetPulse`,e)}if(r.url&&typeof r.url==`string`&&r.url.length){if(T.current!==n){T.current=n;try{z([r.url])}catch(e){P(`prependUniqueToStorage (payload url)`,e)}let t=wa({token:n,payloadUrl:r.url,toast:(t,n)=>e.push(t,n)});a(e=>new Set(e.map(e=>e.url)).has(r.url)?e:[{url:r.url},...e]),t.ok||P(`phistream auto-add`,t.reason)}else a(e=>new Set(e.map(e=>e.url)).has(r.url)?e:[{url:r.url},...e]);try{c(r.url)}catch(e){P(`register payload.url (post-decode)`,e)}}try{c(oo(n))}catch(e){P(`register short alias url`,e)}}catch(e){P(`payload decode`,e),S(null),w(`Payload decode failed.`)}},[e,g]);(0,I.useEffect)(()=>{ae()},[t.pathname,t.search,t.hash,ae]);let oe=(0,I.useMemo)(()=>{if(!x)return{weekday:void 0,chakra:void 0};let e=Ia(x.pulse);return{weekday:Ja(Ua(e)),chakra:Ya(Wa(e))}},[x]),k=(0,I.useMemo)(()=>`sf.verifiedSession:${no(y??(typeof window<`u`?h():null)??`root`)}`,[y]),[A,le]=(0,I.useState)(()=>{try{if(typeof window>`u`)return!1;let e=`sf.verifiedSession:${no(h()||`root`)}`;return sessionStorage.getItem(e)===`1`}catch(e){return P(`sessionStorage.getItem (init)`,e),!1}});(0,I.useEffect)(()=>{try{if(typeof window>`u`)return;le(sessionStorage.getItem(k)===`1`)}catch(e){P(`sessionStorage.getItem (sync)`,e),le(!1)}},[k]);let de=()=>{le(!0);try{sessionStorage.setItem(k,`1`)}catch(e){P(`sessionStorage.setItem`,e)}e.push(`success`,`ΦKey inhaled.`)},pe=()=>{le(!1);try{sessionStorage.removeItem(k)}catch(e){P(`sessionStorage.removeItem`,e)}},me=se(),M=(0,I.useMemo)(()=>ce(me),[me]),N=(0,I.useMemo)(()=>A?M.meta:null,[A,M.meta]),F=(0,I.useMemo)(()=>A?M.svgText:null,[A,M.svgText]),ge=(0,I.useMemo)(()=>N?fe(N,`userPhiKey`):void 0,[N]),ve=(0,I.useMemo)(()=>N?fe(N,`kaiSignature`):void 0,[N]),R=(0,I.useMemo)(()=>{let e=Ho(N,`sigil_r`)??Ho(N,`sigilR`)??Ho(N,`tintR`)??null,t=Ho(N,`sigil_g`)??Ho(N,`sigilG`)??Ho(N,`tintG`)??null,n=Ho(N,`sigil_b`)??Ho(N,`sigilB`)??Ho(N,`tintB`)??null;if(e===null||t===null||n===null)return{};let r={};return r[`--sigil-r`]=String(Uo(e)),r[`--sigil-g`]=String(Uo(t)),r[`--sigil-b`]=String(Uo(n)),r},[N]),Se=e=>{a(t=>new Set(t.map(e=>e.url)).has(e)?t:(z([e]),c(e),g([e]),[{url:e},...t]))},B=(0,I.useMemo)(()=>x?j(x)&&x.seal!==void 0:!1,[x]),V=(0,I.useMemo)(()=>!!(B&&A&&N),[B,A,N]),H=(0,I.useCallback)(()=>{x&&(D(B?{status:`sealed`}:{status:`none`}),e.push(`success`,`Sealed`))},[x,B,e]),U=(0,I.useCallback)(async()=>{if(!x)return;let t=x.seal;if(!t){D({status:`error`,message:`No seal present on this payload.`});return}if(!A||!N){D({status:`error`,message:`Inhale your ΦKey to unseal.`});return}D({status:`opening`});try{D({status:`open`,content:await Jo({seal:t,meta:N,svgText:F??null})}),e.push(`success`,`Unsealed`)}catch(t){P(`unseal`,t),D({status:`error`,message:`Unseal failed. Wrong key, wrong seal, or missing postSeal implementation.`}),e.push(`warn`,`Unseal failed.`)}},[x,A,N,F,e]),Ce=(0,I.useMemo)(()=>B&&E.status!==`open`,[B,E.status]),we=(0,I.useMemo)(()=>E.status===`open`?E.content.body:x?.body,[x,E]),Te=(0,I.useMemo)(()=>E.status===`open`?E.content.caption??x?.caption:x?.caption,[x,E]),Ee=(0,I.useMemo)(()=>E.status===`open`?E.content.attachments??x?.attachments:x?.attachments,[x,E]),De=(0,I.useMemo)(()=>Ee?zo(Ee):null,[Ee]),[Oe,ke]=(0,I.useState)(!1),Ae=(0,I.useRef)(null);(0,I.useEffect)(()=>()=>{Ae.current!==null&&window.clearTimeout(Ae.current)},[]);let je=(0,I.useCallback)(()=>{let t=y??(typeof window<`u`?h():null),n=t?co(t):null;if(!n)return;let r=io(n),i=typeof window<`u`?Eo(window.location.href):[],a=i.length?mo(r,i):r;if(Mo(a)){ke(!0),Ae.current!==null&&window.clearTimeout(Ae.current),Ae.current=window.setTimeout(()=>ke(!1),1200),e.push(`success`,`Remembered`);return}let o=No(a);if(o){ke(!0),Ae.current!==null&&window.clearTimeout(Ae.current),Ae.current=window.setTimeout(()=>ke(!1),1200),e.push(`success`,`Remembered`),o.catch(t=>{P(`kopy clipboard.writeText`,t),ke(!1),e.push(`warn`,`Remember failed. Select the address bar.`)});return}e.push(`warn`,`Remember failed. Select the address bar.`)},[y,e]),Me=(0,I.useMemo)(()=>{if(!y)return[];let e=s.current;return Ao(e,y).map(t=>jo(e,t))},[y,u]);(0,I.useEffect)(()=>{y&&Me.length!==0&&a(e=>{let t=new Set(e.map(e=>e.url)),n=Me.filter(e=>!t.has(e));if(!n.length)return e;try{z(n)}catch(e){P(`prependUniqueToStorage (thread hydrate)`,e)}for(let e of n)try{c(e)}catch(e){P(`registerSigilUrl (thread hydrate)`,e)}return[...n.map(e=>({url:e})),...e]})},[y,Me]);let Ne=(0,I.useMemo)(()=>{let e=i.map(e=>e.url);if(!y||Me.length===0)return e;let t=new Set,n=[];for(let e of Me)t.has(e)||(t.add(e),n.push(e));for(let r of e)t.has(r)||(t.add(r),n.push(r));return n},[i,y,Me]),Pe=A&&(N||F)?qe({meta:N,svgText:F||``}):null;return(0,L.jsxs)(`main`,{className:`sf`,"data-weekday":oe.weekday,"data-chakra":oe.chakra,style:R,children:[(0,L.jsxs)(`header`,{className:`sf-head`,role:`region`,"aria-labelledby":`glyph-stream-title`,children:[(0,L.jsx)(`nav`,{className:`sf-topnav`,"aria-label":`Back navigation`,children:(0,L.jsx)(te,{className:`sf-back`,to:`/keystream`,...r,children:`← Back to Keystream`})}),(0,L.jsx)(`h1`,{id:`glyph-stream-title`,children:`Memory Stream`}),(0,L.jsx)(pn,{}),x&&y?(0,L.jsx)(Yo,{token:y,payload:x,manifest:De,copied:Oe,onKopy:je,isSealed:B,unsealState:E,canUnseal:V,verifiedThisSession:A,hasComposerMeta:!!N,onVerifiedNow:de,onResetVerified:pe,onUnseal:U,onForgetUnsealed:H,body:we,caption:Te}):re?(0,L.jsx)(`div`,{className:`sf-error`,role:`alert`,children:re}):(0,L.jsxs)(`p`,{className:`sf-sub`,children:[`Open a payload link at `,(0,L.jsx)(`code`,{children:`/stream/p/`}),` (or `,(0,L.jsx)(`code`,{children:`/stream#t=`}),`). Replies are Kai-sealed and thread via `,(0,L.jsx)(`code`,{children:`#add=`}),`. Short alias accepted: `,(0,L.jsx)(`code`,{children:`/p~`}),` `,`(and legacy `,(0,L.jsx)(`code`,{children:`/p#t=`}),`, `,(0,L.jsx)(`code`,{children:`/p?t=`}),`, `,(0,L.jsx)(`code`,{children:`/stream?p=`}),`).`]}),!x&&(0,L.jsx)(`section`,{className:`sf-inhaler`,"aria-labelledby":`inhaler-title`,children:(0,L.jsx)(Ye,{onAdd:Se})}),(0,L.jsx)(Fe,{phiKey:ge,kaiSignature:ve}),Pe?.node?(0,L.jsx)(`section`,{className:`sf-sigilWrap`,"aria-label":`Sigil stage`,children:(0,L.jsx)(`div`,{className:`sf-sigilWrap__inner`,children:Pe.node})}):null,x&&!Ce?(0,L.jsxs)(`section`,{className:`sf-reply`,"aria-labelledby":`reply-title`,children:[(0,L.jsx)(`h2`,{id:`reply-title`,className:`sf-reply-title`,children:`Reply`}),A?N?(0,L.jsx)(Bt,{meta:N,svgText:F,onUseDifferentKey:pe}):(0,L.jsx)(`div`,{className:`sf-error`,role:`alert`,children:`Verified, but no sigil metadata found. Re-inhale your glyph.`}):(0,L.jsxs)(`div`,{className:`sf-reply-login`,children:[(0,L.jsx)(`p`,{className:`sf-sub`,children:`Inhale ΦKey to resonate a reply.`}),(0,L.jsx)(ue,{onVerified:de})]})]}):null]}),(0,L.jsx)(`section`,{className:`sf-list`,children:Ne.length===0?(0,L.jsxs)(`div`,{className:`sf-empty`,children:[`No items yet. Paste a link above or open a `,(0,L.jsx)(`code`,{children:`/stream/p/`}),` link and reply to start a thread.`]}):(0,L.jsx)(la,{urls:Ne})})]})}var Qo=Xo;export{Qo as n,Xo as t}; \ No newline at end of file diff --git a/dist/assets/VerifierFrame-_NAWoYos.js b/dist/assets/VerifierFrame-B2gPiRrx.js similarity index 98% rename from dist/assets/VerifierFrame-_NAWoYos.js rename to dist/assets/VerifierFrame-B2gPiRrx.js index 100345265..6d4254f64 100644 --- a/dist/assets/VerifierFrame-_NAWoYos.js +++ b/dist/assets/VerifierFrame-B2gPiRrx.js @@ -1 +1 @@ -import{Kt as e,d as t,g as n,h as r,l as i,o as a,p as o,pi as s,s as c,u as l,yi as u}from"./index-BRD6BMdN.js";import{t as d}from"./browser-CcokOQRV.js";var f=u(d(),1);async function p(e,t){let n=typeof t==`number`?t:t?.size??160,r=typeof t==`number`?2:t?.margin??2,i=typeof t==`number`?`Q`:t?.ecc??`Q`;return(0,f.toDataURL)(String(e),{width:Math.max(16,Math.floor(n)),margin:r,errorCorrectionLevel:i})}var m=u(s(),1),h=u(e(),1);function g(e,t=10,n=10){return e?e.length<=t+n+3?e:`${e.slice(0,t)}…${e.slice(-n)}`:``}function _(e,t=10,n=10){return e?e.length<=t+n+3?e:`${e.slice(0,t)}…${e.slice(-n)}`:``}async function v(e){try{return typeof navigator>`u`||!navigator.clipboard?.writeText?!1:(await navigator.clipboard.writeText(e),!0)}catch{return!1}}function y(){return(0,h.jsxs)(`svg`,{className:`kv-ic`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,h.jsx)(`path`,{d:`M14 5h5v5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,h.jsx)(`path`,{d:`M10 14 19 5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,h.jsx)(`path`,{d:`M19 14v4a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`})]})}function b(){return(0,h.jsx)(`span`,{className:`kv-remember`,"aria-hidden":`true`,children:`💠`})}function x({pulse:e,kaiSignature:a,phiKey:s,caption:u,chakraDay:d,compact:f=!1,verifierBaseUrl:x}){let[S,C]=(0,m.useState)(`idle`),[w,T]=(0,m.useState)(`idle`),[E,D]=(0,m.useState)(null),[O,k]=(0,m.useState)(null),A=f?92:128,j=f?`kv-verifier kv-verifier--compact`:`kv-verifier`,M=(0,m.useMemo)(()=>({"--qr-size":`${A}px`}),[A]),N=(0,m.useMemo)(()=>{let o=x??t(),u=String(o).replace(/\/+$/,``)||`/verify`,f=typeof a==`string`?a.trim():``,p=n(f),m=i(e,f),h=l(e,f,u),g=r(typeof d==`string`?d:String(d??``)),_=typeof s==`string`?s.trim():``,v=e>0&&f.length>0&&_.length>0&&g?{v:`KPV-1`,pulse:e,chakraDay:g,kaiSignature:f,phiKey:_,verifierSlug:m}:null;return{v:`KVPF-1`,hashAlg:c,canon:`JCS`,verifierUrl:h,verifierBaseUrl:u,verifierSlug:m,pulse:e,chakraDay:g??void 0,kaiSignature:f,kaiSignatureShort:p,phiKey:_,proofCapsule:v,capsuleHash:void 0}},[d,a,s,e,x]),P=N.proofCapsule?N.verifierSlug:null,F=P&&E?.key===P?E.hash:null,I=N.verifierUrl?`${N.verifierUrl}::${A}`:null,L=I&&O?.key===I?O.dataUrl:null;(0,m.useEffect)(()=>{let e=!1,t=N.proofCapsule;if(!t)return;let n=N.verifierSlug;return(async()=>{try{let r=await o(t);e||D({key:n,hash:r})}catch{e||D(null)}})(),()=>{e=!0}},[N.proofCapsule,N.verifierSlug]),(0,m.useEffect)(()=>{let e=!1,t=N.verifierUrl;if(!t)return;let n=`${t}::${A}`;return(async()=>{try{let r=await p(t,{size:A,margin:2,ecc:`M`});e||k({key:n,dataUrl:r})}catch{e||k(null)}})(),()=>{e=!0}},[N.verifierUrl,A]);let R=Number.isFinite(e)&&e>0?String(e):`—`,z=typeof u==`string`?u.trim():``,B=g(N.phiKey,f?10:12,f?10:12),V=F?_(F,f?10:12,f?10:12):`—`,H=!!N.proofCapsule&&!!F,U=async()=>{C(await v(N.verifierUrl)?`ok`:`error`),window.setTimeout(()=>C(`idle`),1600)},W=async()=>{try{let e=F??void 0,t=N.proofCapsule;!e&&t&&(e=await o(t),D({key:N.verifierSlug,hash:e}));let n={...N,capsuleHash:e};T(await v(JSON.stringify(n,null,2))?`ok`:`error`),window.setTimeout(()=>T(`idle`),1600)}catch{T(`error`),window.setTimeout(()=>T(`idle`),1600)}};return(0,h.jsxs)(`section`,{className:j,"aria-label":`Kai-Sigil verification frame`,"data-role":`verifier-frame`,"data-seal":H?`ok`:`off`,children:[(0,h.jsx)(`div`,{className:`kv-topline`,"aria-hidden":`true`}),(0,h.jsxs)(`div`,{className:`kv-wrap`,children:[(0,h.jsxs)(`div`,{className:`kv-topbar`,"aria-label":`Verifier top bar`,children:[(0,h.jsx)(`div`,{className:`kv-qr-shell`,role:`img`,"aria-label":`QR code for verifier pulse ${R}`,title:`Scan to open verifier`,style:M,children:(0,h.jsx)(`div`,{className:`kv-qr-inner`,children:L?(0,h.jsx)(`img`,{className:`kv-qr-image`,src:L,width:A,height:A,alt:`QR code for verifier pulse ${R}`,loading:`eager`,decoding:`async`}):(0,h.jsxs)(`div`,{className:`kv-qr-fallback`,"aria-label":`QR unavailable`,children:[(0,h.jsx)(`div`,{className:`kv-qr-fallback__mark`,children:`QR`}),(0,h.jsx)(`div`,{className:`kv-qr-fallback__sub`,children:`Open link`})]})})}),(0,h.jsxs)(`div`,{className:`kv-chipbar`,"aria-label":`Seal chips`,children:[(0,h.jsxs)(`div`,{className:H?`kv-chip kv-chip--ok`:`kv-chip`,title:`KPV-1 capsule binding`,children:[(0,h.jsx)(`span`,{className:`kv-chip__dot`,"aria-hidden":`true`}),(0,h.jsx)(`span`,{className:`kv-chip__txt`,children:`KPV-1`})]}),(0,h.jsx)(`div`,{className:`kv-chip`,title:`Hash algorithm`,children:(0,h.jsx)(`span`,{className:`kv-chip__txt`,children:c.toUpperCase()})}),(0,h.jsx)(`div`,{className:`kv-chip`,title:`Canonicalization`,children:(0,h.jsx)(`span`,{className:`kv-chip__txt`,children:`JCS`})}),(0,h.jsx)(`div`,{className:H?`kv-chip kv-chip--status kv-chip--ok`:`kv-chip kv-chip--status`,title:`Seal status`,children:(0,h.jsx)(`span`,{className:`kv-chip__txt`,children:H?`SOVEREIGN SEAL`:`INCOMPLETE`})})]})]}),(0,h.jsxs)(`div`,{className:`kv-body`,children:[(0,h.jsxs)(`header`,{className:`kv-head`,children:[(0,h.jsx)(`h3`,{className:`kv-title`,children:`☤Kai Sigil-Glyph Verifier`}),(0,h.jsx)(`p`,{className:`kv-sub`,children:`Payload-bound proof vessel (capsule). Inhale to affirm this Φ-Key sealed this moment.`})]}),(0,h.jsxs)(`dl`,{className:`kv-meta`,"aria-label":`Verification fields`,children:[(0,h.jsxs)(`div`,{className:`kv-row`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`☤Kai (Pulse)`}),(0,h.jsx)(`dd`,{className:`kv-v`,children:R})]}),(0,h.jsxs)(`div`,{className:`kv-row`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`☤Kai-Sig`}),(0,h.jsx)(`dd`,{className:`kv-v kv-mono`,children:N.kaiSignatureShort||`—`})]}),(0,h.jsxs)(`div`,{className:`kv-row`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`Φ-Key`}),(0,h.jsx)(`dd`,{className:`kv-v kv-mono`,title:N.phiKey,children:B||`—`})]}),(0,h.jsxs)(`div`,{className:`kv-row`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`Spiral (Chakra)`}),(0,h.jsx)(`dd`,{className:`kv-v`,children:N.chakraDay??`—`})]}),(0,h.jsxs)(`div`,{className:`kv-row kv-row--wide`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`Vessel Hash`}),(0,h.jsx)(`dd`,{className:`kv-v kv-mono`,title:F??``,children:V})]})]}),z?(0,h.jsxs)(`p`,{className:`kv-caption`,children:[`“`,z,`”`]}):null,(0,h.jsxs)(`div`,{className:`kv-actions`,"aria-label":`Actions`,children:[(0,h.jsxs)(`a`,{href:N.verifierUrl,target:`_blank`,rel:`noopener noreferrer`,className:`kv-btn kv-btn--primary`,children:[(0,h.jsx)(y,{}),(0,h.jsx)(`span`,{className:`kv-btn__txt`,children:`Open`})]}),(0,h.jsxs)(`button`,{type:`button`,onClick:()=>void U(),className:`kv-btn kv-btn--ghost`,title:`💠 Remember Path`,children:[(0,h.jsx)(b,{}),(0,h.jsx)(`span`,{className:`kv-btn__txt`,children:S===`ok`?`Remembered`:`Path`})]}),(0,h.jsxs)(`button`,{type:`button`,onClick:()=>void W(),className:`kv-btn kv-btn--ghost`,title:`💠 Remember Proof`,children:[(0,h.jsx)(b,{}),(0,h.jsx)(`span`,{className:`kv-btn__txt`,children:w===`ok`?`Remembered`:`Proof`})]}),(0,h.jsx)(`div`,{className:`kv-toast`,"aria-live":`polite`,children:w===`error`||S===`error`?`Remember failed`:w===`ok`?`Proof remembered`:S===`ok`?`Link remembered`:``})]}),(0,h.jsxs)(`div`,{className:`kv-url`,"aria-label":`Verifier URL`,children:[(0,h.jsx)(`span`,{className:`kv-url__k`,children:`Verifier:`}),(0,h.jsx)(`span`,{className:`kv-url__v`,children:N.verifierUrl})]})]})]})]})}export{x as t}; \ No newline at end of file +import{Kt as e,d as t,g as n,h as r,l as i,o as a,p as o,pi as s,s as c,u as l,yi as u}from"./index-DW_ZnoNU.js";import{t as d}from"./browser-CIIQI5ZG.js";var f=u(d(),1);async function p(e,t){let n=typeof t==`number`?t:t?.size??160,r=typeof t==`number`?2:t?.margin??2,i=typeof t==`number`?`Q`:t?.ecc??`Q`;return(0,f.toDataURL)(String(e),{width:Math.max(16,Math.floor(n)),margin:r,errorCorrectionLevel:i})}var m=u(s(),1),h=u(e(),1);function g(e,t=10,n=10){return e?e.length<=t+n+3?e:`${e.slice(0,t)}…${e.slice(-n)}`:``}function _(e,t=10,n=10){return e?e.length<=t+n+3?e:`${e.slice(0,t)}…${e.slice(-n)}`:``}async function v(e){try{return typeof navigator>`u`||!navigator.clipboard?.writeText?!1:(await navigator.clipboard.writeText(e),!0)}catch{return!1}}function y(){return(0,h.jsxs)(`svg`,{className:`kv-ic`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,h.jsx)(`path`,{d:`M14 5h5v5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,h.jsx)(`path`,{d:`M10 14 19 5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,h.jsx)(`path`,{d:`M19 14v4a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.7`,strokeLinecap:`round`})]})}function b(){return(0,h.jsx)(`span`,{className:`kv-remember`,"aria-hidden":`true`,children:`💠`})}function x({pulse:e,kaiSignature:a,phiKey:s,caption:u,chakraDay:d,compact:f=!1,verifierBaseUrl:x}){let[S,C]=(0,m.useState)(`idle`),[w,T]=(0,m.useState)(`idle`),[E,D]=(0,m.useState)(null),[O,k]=(0,m.useState)(null),A=f?92:128,j=f?`kv-verifier kv-verifier--compact`:`kv-verifier`,M=(0,m.useMemo)(()=>({"--qr-size":`${A}px`}),[A]),N=(0,m.useMemo)(()=>{let o=x??t(),u=String(o).replace(/\/+$/,``)||`/verify`,f=typeof a==`string`?a.trim():``,p=n(f),m=i(e,f),h=l(e,f,u),g=r(typeof d==`string`?d:String(d??``)),_=typeof s==`string`?s.trim():``,v=e>0&&f.length>0&&_.length>0&&g?{v:`KPV-1`,pulse:e,chakraDay:g,kaiSignature:f,phiKey:_,verifierSlug:m}:null;return{v:`KVPF-1`,hashAlg:c,canon:`JCS`,verifierUrl:h,verifierBaseUrl:u,verifierSlug:m,pulse:e,chakraDay:g??void 0,kaiSignature:f,kaiSignatureShort:p,phiKey:_,proofCapsule:v,capsuleHash:void 0}},[d,a,s,e,x]),P=N.proofCapsule?N.verifierSlug:null,F=P&&E?.key===P?E.hash:null,I=N.verifierUrl?`${N.verifierUrl}::${A}`:null,L=I&&O?.key===I?O.dataUrl:null;(0,m.useEffect)(()=>{let e=!1,t=N.proofCapsule;if(!t)return;let n=N.verifierSlug;return(async()=>{try{let r=await o(t);e||D({key:n,hash:r})}catch{e||D(null)}})(),()=>{e=!0}},[N.proofCapsule,N.verifierSlug]),(0,m.useEffect)(()=>{let e=!1,t=N.verifierUrl;if(!t)return;let n=`${t}::${A}`;return(async()=>{try{let r=await p(t,{size:A,margin:2,ecc:`M`});e||k({key:n,dataUrl:r})}catch{e||k(null)}})(),()=>{e=!0}},[N.verifierUrl,A]);let R=Number.isFinite(e)&&e>0?String(e):`—`,z=typeof u==`string`?u.trim():``,B=g(N.phiKey,f?10:12,f?10:12),V=F?_(F,f?10:12,f?10:12):`—`,H=!!N.proofCapsule&&!!F,U=async()=>{C(await v(N.verifierUrl)?`ok`:`error`),window.setTimeout(()=>C(`idle`),1600)},W=async()=>{try{let e=F??void 0,t=N.proofCapsule;!e&&t&&(e=await o(t),D({key:N.verifierSlug,hash:e}));let n={...N,capsuleHash:e};T(await v(JSON.stringify(n,null,2))?`ok`:`error`),window.setTimeout(()=>T(`idle`),1600)}catch{T(`error`),window.setTimeout(()=>T(`idle`),1600)}};return(0,h.jsxs)(`section`,{className:j,"aria-label":`Kai-Sigil verification frame`,"data-role":`verifier-frame`,"data-seal":H?`ok`:`off`,children:[(0,h.jsx)(`div`,{className:`kv-topline`,"aria-hidden":`true`}),(0,h.jsxs)(`div`,{className:`kv-wrap`,children:[(0,h.jsxs)(`div`,{className:`kv-topbar`,"aria-label":`Verifier top bar`,children:[(0,h.jsx)(`div`,{className:`kv-qr-shell`,role:`img`,"aria-label":`QR code for verifier pulse ${R}`,title:`Scan to open verifier`,style:M,children:(0,h.jsx)(`div`,{className:`kv-qr-inner`,children:L?(0,h.jsx)(`img`,{className:`kv-qr-image`,src:L,width:A,height:A,alt:`QR code for verifier pulse ${R}`,loading:`eager`,decoding:`async`}):(0,h.jsxs)(`div`,{className:`kv-qr-fallback`,"aria-label":`QR unavailable`,children:[(0,h.jsx)(`div`,{className:`kv-qr-fallback__mark`,children:`QR`}),(0,h.jsx)(`div`,{className:`kv-qr-fallback__sub`,children:`Open link`})]})})}),(0,h.jsxs)(`div`,{className:`kv-chipbar`,"aria-label":`Seal chips`,children:[(0,h.jsxs)(`div`,{className:H?`kv-chip kv-chip--ok`:`kv-chip`,title:`KPV-1 capsule binding`,children:[(0,h.jsx)(`span`,{className:`kv-chip__dot`,"aria-hidden":`true`}),(0,h.jsx)(`span`,{className:`kv-chip__txt`,children:`KPV-1`})]}),(0,h.jsx)(`div`,{className:`kv-chip`,title:`Hash algorithm`,children:(0,h.jsx)(`span`,{className:`kv-chip__txt`,children:c.toUpperCase()})}),(0,h.jsx)(`div`,{className:`kv-chip`,title:`Canonicalization`,children:(0,h.jsx)(`span`,{className:`kv-chip__txt`,children:`JCS`})}),(0,h.jsx)(`div`,{className:H?`kv-chip kv-chip--status kv-chip--ok`:`kv-chip kv-chip--status`,title:`Seal status`,children:(0,h.jsx)(`span`,{className:`kv-chip__txt`,children:H?`SOVEREIGN SEAL`:`INCOMPLETE`})})]})]}),(0,h.jsxs)(`div`,{className:`kv-body`,children:[(0,h.jsxs)(`header`,{className:`kv-head`,children:[(0,h.jsx)(`h3`,{className:`kv-title`,children:`☤Kai Sigil-Glyph Verifier`}),(0,h.jsx)(`p`,{className:`kv-sub`,children:`Payload-bound proof vessel (capsule). Inhale to affirm this Φ-Key sealed this moment.`})]}),(0,h.jsxs)(`dl`,{className:`kv-meta`,"aria-label":`Verification fields`,children:[(0,h.jsxs)(`div`,{className:`kv-row`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`☤Kai (Pulse)`}),(0,h.jsx)(`dd`,{className:`kv-v`,children:R})]}),(0,h.jsxs)(`div`,{className:`kv-row`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`☤Kai-Sig`}),(0,h.jsx)(`dd`,{className:`kv-v kv-mono`,children:N.kaiSignatureShort||`—`})]}),(0,h.jsxs)(`div`,{className:`kv-row`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`Φ-Key`}),(0,h.jsx)(`dd`,{className:`kv-v kv-mono`,title:N.phiKey,children:B||`—`})]}),(0,h.jsxs)(`div`,{className:`kv-row`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`Spiral (Chakra)`}),(0,h.jsx)(`dd`,{className:`kv-v`,children:N.chakraDay??`—`})]}),(0,h.jsxs)(`div`,{className:`kv-row kv-row--wide`,children:[(0,h.jsx)(`dt`,{className:`kv-k`,children:`Vessel Hash`}),(0,h.jsx)(`dd`,{className:`kv-v kv-mono`,title:F??``,children:V})]})]}),z?(0,h.jsxs)(`p`,{className:`kv-caption`,children:[`“`,z,`”`]}):null,(0,h.jsxs)(`div`,{className:`kv-actions`,"aria-label":`Actions`,children:[(0,h.jsxs)(`a`,{href:N.verifierUrl,target:`_blank`,rel:`noopener noreferrer`,className:`kv-btn kv-btn--primary`,children:[(0,h.jsx)(y,{}),(0,h.jsx)(`span`,{className:`kv-btn__txt`,children:`Open`})]}),(0,h.jsxs)(`button`,{type:`button`,onClick:()=>void U(),className:`kv-btn kv-btn--ghost`,title:`💠 Remember Path`,children:[(0,h.jsx)(b,{}),(0,h.jsx)(`span`,{className:`kv-btn__txt`,children:S===`ok`?`Remembered`:`Path`})]}),(0,h.jsxs)(`button`,{type:`button`,onClick:()=>void W(),className:`kv-btn kv-btn--ghost`,title:`💠 Remember Proof`,children:[(0,h.jsx)(b,{}),(0,h.jsx)(`span`,{className:`kv-btn__txt`,children:w===`ok`?`Remembered`:`Proof`})]}),(0,h.jsx)(`div`,{className:`kv-toast`,"aria-live":`polite`,children:w===`error`||S===`error`?`Remember failed`:w===`ok`?`Proof remembered`:S===`ok`?`Link remembered`:``})]}),(0,h.jsxs)(`div`,{className:`kv-url`,"aria-label":`Verifier URL`,children:[(0,h.jsx)(`span`,{className:`kv-url__k`,children:`Verifier:`}),(0,h.jsx)(`span`,{className:`kv-url__v`,children:N.verifierUrl})]})]})]})]})}export{x as t}; \ No newline at end of file diff --git a/dist/assets/VerifyEmbedPage-Cgf7JcN-.js b/dist/assets/VerifyEmbedPage-CFTxea0D.js similarity index 90% rename from dist/assets/VerifyEmbedPage-Cgf7JcN-.js rename to dist/assets/VerifyEmbedPage-CFTxea0D.js index e03e2f685..bb24e4973 100644 --- a/dist/assets/VerifyEmbedPage-Cgf7JcN-.js +++ b/dist/assets/VerifyEmbedPage-CFTxea0D.js @@ -1 +1 @@ -import{Kt as e,ci as t,pi as n,yi as r}from"./index-BRD6BMdN.js";import{t as i}from"./verifySigil-CLCg0_56.js";n();var a=r(e(),1);function o(e,t=10,n=8){let r=e.trim();return r?r.length<=t+n+3?r:`${r.slice(0,t)}…${r.slice(r.length-n)}`:`—`}function s(){let{slug:e}=t(),n=i(e??``),r=`STANDBY`,s=n.pulse?String(n.pulse):`—`,c=n.shortSig?o(n.shortSig,8,6):`—`,l=`/verify/${encodeURIComponent(n.raw||e||``)}`;return(0,a.jsx)(`div`,{className:`embed-verify`,role:`article`,"aria-label":`Embedded proof badge`,children:(0,a.jsxs)(`div`,{className:`embed-card`,children:[(0,a.jsxs)(`div`,{className:`embed-status`,children:[(0,a.jsx)(`span`,{className:`embed-dot`,"data-status":r}),(0,a.jsx)(`span`,{className:`embed-status-label`,children:r})]}),(0,a.jsxs)(`div`,{className:`embed-meta`,children:[(0,a.jsxs)(`div`,{className:`embed-field`,children:[(0,a.jsx)(`span`,{className:`embed-field-label`,children:`Pulse`}),(0,a.jsx)(`span`,{className:`embed-field-value`,children:s})]}),(0,a.jsxs)(`div`,{className:`embed-field`,children:[(0,a.jsx)(`span`,{className:`embed-field-label`,children:`ΦKey`}),(0,a.jsx)(`span`,{className:`embed-field-value`,children:c})]})]}),(0,a.jsx)(`a`,{className:`embed-open`,href:l,target:`_blank`,rel:`noopener noreferrer`,children:`Open`})]})})}export{s as default}; \ No newline at end of file +import{Kt as e,ci as t,pi as n,yi as r}from"./index-DW_ZnoNU.js";import{t as i}from"./verifySigil-DdgnB-gX.js";n();var a=r(e(),1);function o(e,t=10,n=8){let r=e.trim();return r?r.length<=t+n+3?r:`${r.slice(0,t)}…${r.slice(r.length-n)}`:`—`}function s(){let{slug:e}=t(),n=i(e??``),r=`STANDBY`,s=n.pulse?String(n.pulse):`—`,c=n.shortSig?o(n.shortSig,8,6):`—`,l=`/verify/${encodeURIComponent(n.raw||e||``)}`;return(0,a.jsx)(`div`,{className:`embed-verify`,role:`article`,"aria-label":`Embedded proof badge`,children:(0,a.jsxs)(`div`,{className:`embed-card`,children:[(0,a.jsxs)(`div`,{className:`embed-status`,children:[(0,a.jsx)(`span`,{className:`embed-dot`,"data-status":r}),(0,a.jsx)(`span`,{className:`embed-status-label`,children:r})]}),(0,a.jsxs)(`div`,{className:`embed-meta`,children:[(0,a.jsxs)(`div`,{className:`embed-field`,children:[(0,a.jsx)(`span`,{className:`embed-field-label`,children:`Pulse`}),(0,a.jsx)(`span`,{className:`embed-field-value`,children:s})]}),(0,a.jsxs)(`div`,{className:`embed-field`,children:[(0,a.jsx)(`span`,{className:`embed-field-label`,children:`ΦKey`}),(0,a.jsx)(`span`,{className:`embed-field-value`,children:c})]})]}),(0,a.jsx)(`a`,{className:`embed-open`,href:l,target:`_blank`,rel:`noopener noreferrer`,children:`Open`})]})})}export{s as default}; \ No newline at end of file diff --git a/dist/assets/VerifyPage-Dt8slhsT.js b/dist/assets/VerifyPage-Bd4E6HJm.js similarity index 99% rename from dist/assets/VerifyPage-Dt8slhsT.js rename to dist/assets/VerifyPage-Bd4E6HJm.js index 07be6463b..6c69c6026 100644 --- a/dist/assets/VerifyPage-Dt8slhsT.js +++ b/dist/assets/VerifyPage-Bd4E6HJm.js @@ -1,3 +1,3 @@ -import{Gt as e,I as t,Kt as n,L as r,M as i,N as ee,O as te,S as a,Wt as o,_ as s,c as ne,f as re,h as ie,i as ae,jt as c,k as oe,l as se,m as ce,n as le,o as l,p as ue,pi as de,q as fe,r as u,s as pe,t as me,u as he,v as d,x as f,yi as p}from"./index-BRD6BMdN.js";import{i as ge,n as _e}from"./webauthnKAS-B61nfyUR.js";import{t as ve}from"./VerifierFrame-_NAWoYos.js";import"./browser-CcokOQRV.js";import{n as ye,t as be}from"./useValuation-CfYM8VCs.js";import{n as xe,t as Se}from"./verifySigil-CLCg0_56.js";var m=p(de(),1),h=p(n(),1);function Ce(e){if(e==null)return`—`;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}async function we(e){return(await f(e)).toLowerCase()}function Te(e){if(typeof e!=`string`)return e;let t=e.trim();if(!t||!(t.startsWith(`{`)||t.startsWith(`[`)))return e;try{return JSON.parse(t)}catch{return e}}function g(e){return typeof e==`object`&&!!e}function Ee(e){if(!g(e))return null;let t=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount)?e.originalAmount:null;if(t==null)return null;let n=(Array.isArray(e.debits)?e.debits:[]).reduce((e,t)=>{if(!g(t))return e;let n=t.amount;return typeof n!=`number`||!Number.isFinite(n)||n<=0?e:e+n},0);return{originalAmount:t,remaining:Math.max(0,t-n)}}function _(e){if(typeof e==`number`)return!Number.isFinite(e)||Math.abs(e)<1e-12?null:Math.abs(e);if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Math.abs(t)>=1e-12)return Math.abs(t)}return null}function De(e){if(!g(e))return null;let t=[e],n=e.feed,r=e.preview,i=e.meta;g(n)&&t.push(n),g(r)&&t.push(r),g(i)&&t.push(i);for(let e of t){let t=_(e.transferAmountPhi)??_(e.transferPhi)??_(e.amountPhi)??_(e.phiAmount)??_(e.childAllocationPhi)??_(e.branchBasePhi)??_(e.valuePhi)??_(e.value);if(t!=null)return t}return null}function Oe(e){if(!g(e))return null;let t=e.receiveSig;return u(t)?t:null}function ke(){if(typeof window>`u`)return``;let e=window.location.pathname||``,t=window.location.hash||``,n=e.match(/\/verify\/([^/?#]+)/);if(n?.[1])return n[1];let r=t.match(/\/verify\/([^/?#]+)/);return r?.[1]?r[1]:``}function v(e){return!g(e)||e.v!==`KPV-1`||typeof e.pulse!=`number`||!Number.isFinite(e.pulse)||typeof e.chakraDay!=`string`||typeof e.kaiSignature!=`string`||typeof e.phiKey!=`string`||typeof e.verifierSlug!=`string`?null:e}function Ae(e){if(!g(e))return null;let t=v(e.proofCapsule);return t?{proofCapsule:t,capsuleHash:typeof e.capsuleHash==`string`?e.capsuleHash:void 0,svgHash:typeof e.svgHash==`string`?e.svgHash:void 0,bundleHash:typeof e.bundleHash==`string`?e.bundleHash:void 0,verifierUrl:typeof e.verifierUrl==`string`?e.verifierUrl:void 0,shareUrl:typeof e.shareUrl==`string`?e.shareUrl:void 0,authorSig:e.authorSig,zkPoseidonHash:typeof e.zkPoseidonHash==`string`?e.zkPoseidonHash:void 0,zkProof:`zkProof`in e?e.zkProof:void 0,proofHints:`proofHints`in e?e.proofHints:void 0,zkPublicInputs:`zkPublicInputs`in e?e.zkPublicInputs:void 0}:null}function je(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search),t=e.get(`r`)??e.get(`receipt`);if(!t)return null;try{let e=new TextDecoder().decode(s(t));return Ae(JSON.parse(e))}catch{return null}}function Me(e){if(!e.trim().startsWith(`{`))return null;try{return Ae(JSON.parse(e))}catch{return null}}function y(e){return d(new TextEncoder().encode(e))}function Ne(e,t){let n=e||`/verify`,r=new URL(n,typeof window<`u`?window.location.origin:`http://localhost`);return r.searchParams.set(`r`,y(t)),r.toString()}async function Pe(e){return await new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(Error(`Failed to read file.`)),r.onload=()=>t(String(r.result??``)),r.readAsText(e)})}function b(e,t=18,n=14){let r=(e||``).trim();return r?r.length<=t+n+3?r:`${r.slice(0,t)}…${r.slice(r.length-n)}`:`—`}function Fe(e){return Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Ie(e){try{return Fe(s(e.challenge))}catch{return null}}function Le(e){let t=(e.name||``).toLowerCase(),n=(e.type||``).toLowerCase();return t.endsWith(`.svg`)||n===`image/svg+xml`}async function Re(e){let t=e.trim();if(!t)return!1;try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{let e=document.createElement(`textarea`);e.value=t,e.setAttribute(`readonly`,``),e.style.position=`fixed`,e.style.opacity=`0`,e.style.pointerEvents=`none`,document.body.appendChild(e),e.select(),e.setSelectionRange(0,e.value.length);let n=document.execCommand(`copy`);return document.body.removeChild(e),n}catch{return!1}}function x(e,t,n){if(typeof document>`u`||!n)return;let r=`meta[${e}="${t}"]`,i=document.head?.querySelector(r);i||(i=document.createElement(`meta`),i.setAttribute(e,t),document.head?.appendChild(i)),i.setAttribute(`content`,n)}function ze(){return(0,h.jsxs)(`svg`,{className:`mark`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,h.jsx)(`path`,{d:`M12 2.25 20.25 7v10L12 21.75 3.75 17V7L12 2.25Z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.95`}),(0,h.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2.2`,fill:`currentColor`,opacity:`0.95`}),(0,h.jsx)(`path`,{d:`M7.2 12c0-2.65 2.15-4.8 4.8-4.8`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`,opacity:`0.55`})]})}function Be(){return(0,h.jsxs)(`svg`,{className:`mark`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,h.jsx)(`path`,{d:`M9.5 7.5a2.5 2.5 0 0 1 4 0l.7 1a3.6 3.6 0 0 0 2.3 1.4l1.2.2a2.5 2.5 0 0 1 0 4.9l-1.2.2a3.6 3.6 0 0 0-2.3 1.4l-.7 1a2.5 2.5 0 0 1-4 0l-.7-1a3.6 3.6 0 0 0-2.3-1.4l-1.2-.2a2.5 2.5 0 0 1 0-4.9l1.2-.2a3.6 3.6 0 0 0 2.3-1.4l.7-1Z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.95`}),(0,h.jsx)(`path`,{d:`M8.7 12.2 11 14.4l4.6-4.7`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}function S(e){return(0,h.jsx)(`button`,{type:`button`,className:e.kind===`primary`?`vbtn vbtn--primary`:`vbtn`,title:e.title,"aria-label":e.ariaLabel??e.title,onClick:e.onClick,disabled:e.disabled,children:(0,h.jsx)(`span`,{className:`vbtn-ic`,"aria-hidden":`true`,children:e.icon})})}function C(e){return(0,h.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e.active,className:e.active?`vtab active`:`vtab`,onClick:e.onClick,title:e.title,"aria-label":e.title,children:[(0,h.jsx)(`span`,{className:`vtab-ic`,"aria-hidden":`true`,children:e.icon}),(0,h.jsx)(`span`,{className:`vtab-txt`,children:e.text})]})}function Ve(e){let t=e.kind===`ok`?`ok`:e.kind===`fail`?`fail`:e.kind===`busy`?`busy`:`idle`,n=e.kind===`ok`;return(0,h.jsxs)(`div`,{className:`official`,"data-kind":t,"aria-live":`polite`,children:[(0,h.jsxs)(`div`,{className:`official-top`,children:[(0,h.jsx)(`div`,{className:`official-ring`,"aria-hidden":`true`,children:n?(0,h.jsx)(`span`,{className:`official-check`,children:`✓`}):null}),(0,h.jsx)(`div`,{className:`official-title`,children:e.title})]}),e.subtitle?(0,h.jsx)(`div`,{className:`official-sub`,children:e.subtitle}):null]})}function w(e){let t=e.state===`valid`?`✓`:e.state===`invalid`?`✕`:e.state===`busy`?`⟡`:e.state===`na`?`—`:`·`,n=e.state===`valid`?`VERIFIED`:e.state===`invalid`?`INVALID`:e.state===`busy`?`CHECKING`:e.state===`na`?`N/A`:`ABSENT`;return(0,h.jsxs)(`div`,{className:`seal`,"data-state":e.state,title:e.detail??``,children:[(0,h.jsx)(`span`,{className:`seal-ic`,"aria-hidden":`true`,children:t}),(0,h.jsx)(`span`,{className:`seal-lbl`,children:e.label}),(0,h.jsx)(`span`,{className:`seal-txt`,children:n})]})}function T(e){return(0,h.jsxs)(`div`,{className:`mini`,children:[(0,h.jsx)(`div`,{className:`mini-k`,children:e.label}),(0,h.jsx)(`div`,{className:`mini-v mono`,title:e.title??e.value,children:e.value||`—`})]})}function He(e){return(0,h.jsxs)(`div`,{className:`vseal-value`,"aria-label":e.ariaLabel,children:[(0,h.jsx)(`div`,{className:`vseal-value-label`,children:e.label}),(0,h.jsx)(`div`,{className:`vseal-value-phi`,children:t(e.phiValue)}),(0,h.jsx)(`div`,{className:`vseal-value-usd`,children:e.usdValue==null?`—`:r(e.usdValue)})]})}function Ue(e){return e.open?(0,h.jsx)(`div`,{className:`vmodal-backdrop`,role:`dialog`,"aria-modal":`true`,"aria-label":e.title,onMouseDown:e.onClose,onClick:e.onClose,children:(0,h.jsxs)(`div`,{className:`vmodal`,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:[(0,h.jsxs)(`div`,{className:`vmodal-head`,children:[(0,h.jsxs)(`div`,{className:`vmodal-head-left`,children:[(0,h.jsx)(`div`,{className:`vmodal-title`,children:e.title}),e.subtitle?(0,h.jsx)(`div`,{className:`vmodal-sub`,children:e.subtitle}):null]}),(0,h.jsx)(`button`,{type:`button`,className:`vmodal-close`,onClick:e.onClose,"aria-label":`Close`,title:`Close`,children:`×`})]}),(0,h.jsx)(`div`,{className:`vmodal-body`,children:e.children})]})}):null}function E(){let n=(0,m.useRef)(null),s=(0,m.useMemo)(()=>ke(),[]),l=(0,m.useMemo)(()=>Se(s),[s]),de=(0,m.useMemo)(()=>je(),[]),[u,d]=(0,m.useState)(`inhale`),[f,p]=(0,m.useState)(``),[g,_]=(0,m.useState)({status:`idle`}),[v,Ae]=(0,m.useState)(!1),[y,Fe]=(0,m.useState)(de),[E,We]=(0,m.useState)(null),[D,Ge]=(0,m.useState)(``),[O,Ke]=(0,m.useState)(``),[k,qe]=(0,m.useState)(``),[Je,Ye]=(0,m.useState)(``),[A,Xe]=(0,m.useState)(null),[Ze,j]=(0,m.useState)(``),[M,N]=(0,m.useState)(null),[Qe,P]=(0,m.useState)(null),[$e,F]=(0,m.useState)(`missing`),[et,I]=(0,m.useState)(!1),[tt,nt]=(0,m.useState)(!1),[rt,it]=(0,m.useState)(`missing`),[L,at]=(0,m.useState)(null),[ot,st]=(0,m.useState)(null),[R,ct]=(0,m.useState)(null),[lt,ut]=(0,m.useState)(!1),{pulse:dt}=ye(),ft=(0,m.useMemo)(()=>new URLSearchParams(typeof window<`u`?window.location.search:``),[]),z=(0,m.useMemo)(()=>{if(g.status!==`ok`)return null;let e=g.embedded,t=e.pulse??l.pulse??void 0;return{pulse:t,kaiPulse:t,beat:e.beat,stepIndex:e.stepIndex,frequencyHz:e.frequencyHz,chakraDay:e.chakraDay,chakraGate:e.chakraGate,kaiSignature:e.kaiSignature,userPhiKey:e.phiKey}},[g,l.pulse]),{valSeal:pt,livePrice:mt}=be({payload:z,urlSearchParams:ft,currentPulse:dt}),{usdPerPhi:ht}=(0,m.useMemo)(()=>{if(!z)return{usdPerPhi:0};try{return{usdPerPhi:e({meta:z,nowPulse:dt??fe(new Date),usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},o).usdPerPhi??0}}catch{return{usdPerPhi:0}}},[z,dt]),gt=(0,m.useMemo)(()=>{if(!z)return null;let e=mt??pt?.valuePhi??null;return typeof e==`number`&&Number.isFinite(e)?e:null},[z,mt,pt]),_t=(0,m.useMemo)(()=>g.status===`ok`?Ee(g.embedded.raw)??Ee(A?.raw):null,[A?.raw,g]),vt=(0,m.useMemo)(()=>g.status===`ok`?De(g.embedded.raw)??De(A?.raw):null,[A?.raw,g]),B=_t?.remaining??vt??gt,V=_t?`balance`:vt==null?`live`:`embedded`,yt=(0,m.useMemo)(()=>B==null||!Number.isFinite(ht)||ht<=0?null:B*ht,[B,ht]),bt=V===`balance`?`BALANCE`:V===`embedded`?`GLYPH`:`LIVE`,xt=V===`balance`?`Glyph balance`:V===`embedded`?`Glyph embedded value`:`Live glyph valuation`,[St,Ct]=(0,m.useState)(!1),[wt,H]=(0,m.useState)(!1),[Tt,Et]=(0,m.useState)(!1),[Dt,Ot]=(0,m.useState)(!1),[kt,At]=(0,m.useState)(!1),[jt,Mt]=(0,m.useState)(``);m.useEffect(()=>{let e=document.documentElement,t=document.body;return e.classList.add(`verify-shell`),t.classList.add(`verify-shell`),()=>{e.classList.remove(`verify-shell`),t.classList.remove(`verify-shell`)}},[]),m.useEffect(()=>{let e=f.trim();if(!e){Mt(``);return}try{let t=new Blob([e],{type:`image/svg+xml`}),n=URL.createObjectURL(t);return Mt(n),()=>{URL.revokeObjectURL(n)}}catch{Mt(``);return}},[f]),m.useEffect(()=>{let e=!0,t=f.trim();if(!t){Ye(``);return}let n=new TextEncoder().encode(te(t));return(async()=>{let t=await we(n);e&&Ye(t)})(),()=>{e=!1}},[f]),m.useEffect(()=>{if(!Ze)return;let e=window.setTimeout(()=>j(``),2400);return()=>window.clearTimeout(e)},[Ze]),m.useEffect(()=>{if(typeof window>`u`)return;let e=g.status===`ok`?`VERIFIED`:g.status===`error`?`FAILED`:`STANDBY`,t=window.location.origin,n=l.raw||s||``,r=new URL(`${t}/verify/${encodeURIComponent(n)}`),i=new URL(`${t}/api/og/verify`);i.searchParams.set(`slug`,n),i.searchParams.set(`status`,e.toLowerCase()),g.status===`ok`&&(i.searchParams.set(`pulse`,String(g.embedded.pulse??l.pulse??``)),i.searchParams.set(`phiKey`,g.derivedPhiKey??``),g.embedded.chakraDay&&i.searchParams.set(`chakraDay`,g.embedded.chakraDay),M!=null&&i.searchParams.set(`kas`,M?`1`:`0`),L!=null&&i.searchParams.set(`g16`,L?`1`:`0`)),document.title=`Proof of Breath™ — ${e}`,x(`property`,`og:title`,`Proof of Breath™ — ${e}`),x(`property`,`og:description`,`Proof of Breath™ • ${e} • Pulse ${l.pulse??`—`}`),x(`property`,`og:url`,r.toString()),x(`property`,`og:image`,i.toString()),x(`name`,`twitter:card`,`summary_large_image`),x(`name`,`twitter:title`,`Proof of Breath™ — ${e}`),x(`name`,`twitter:description`,`Proof of Breath™ • ${e} • Pulse ${l.pulse??`—`}`),x(`name`,`twitter:image`,i.toString())},[M,g,l.pulse,l.raw,s,L]);let U=(0,m.useMemo)(()=>A||(g.status!==`ok`||!g.embedded.zkProof&&!g.embedded.zkPublicInputs&&!g.embedded.zkPoseidonHash&&!g.embedded.proofHints?null:{zkPoseidonHash:g.embedded.zkPoseidonHash,zkProof:g.embedded.zkProof,zkPublicInputs:g.embedded.zkPublicInputs,proofHints:g.embedded.proofHints}),[A,g]),W=(0,m.useMemo)(()=>U?.zkProof?Ce(U.zkProof):``,[U]),G=(0,m.useMemo)(()=>U?.zkPublicInputs?Ce(U.zkPublicInputs):``,[U]),K=(0,m.useMemo)(()=>U?.proofHints?Ce(U.proofHints):``,[U]),q=(0,m.useMemo)(()=>E?he(E.pulse,E.kaiSignature):``,[E]),J=(0,m.useMemo)(()=>typeof window>`u`?``:window.location.href,[s]),Y=(0,m.useCallback)(async(e,t)=>{let n=(e||``).trim();if(n)try{if(!navigator.clipboard?.writeText){j(`Clipboard unavailable. Use manual copy.`);return}await navigator.clipboard.writeText(n),j(`${t} remembered.`)}catch(e){j(`Remember failed. Use manual copy.`),console.error(e)}},[]),Nt=(0,m.useCallback)(async e=>{if(!Le(e)){_({status:`error`,message:`Upload a sealed .svg (embedded JSON).`,slug:l});return}p(await Pe(e)),_({status:`idle`}),j(``)},[l]),Pt=(0,m.useCallback)(e=>{if(!e||e.length===0)return;let t=Array.from(e).find(Le);if(!t){_({status:`error`,message:`Drop/select a sealed .svg file.`,slug:l});return}Nt(t)},[Nt,l]),Ft=(0,m.useCallback)(async()=>{let e=f.trim();if(!e){_({status:`error`,message:`Inhale or paste the sealed SVG (ΦKey).`,slug:l});return}let t=Me(e);if(t){Fe(t),p(``),_({status:`idle`}),j(`Receipt loaded.`);return}Ae(!0);try{let t=await xe(l,e);_(t),t.status===`ok`?(F(`missing`),I(!0)):I(!1)}finally{Ae(!1)}},[l,f]);m.useEffect(()=>{let e=!0;return(async()=>{if(g.status!==`ok`){We(null),Ge(``),Ke(``),qe(``),Xe(null),N(null),j(``);return}if(y&&!f.trim()){We(y.proofCapsule),Ke(y.svgHash??``),Ge(y.capsuleHash??``),qe(y.bundleHash??``),Xe({proofCapsule:y.proofCapsule,svgHash:y.svgHash,capsuleHash:y.capsuleHash,bundleHash:y.bundleHash,shareUrl:y.shareUrl,verifierUrl:y.verifierUrl,authorSig:y.authorSig,zkPoseidonHash:y.zkPoseidonHash,zkProof:y.zkProof,proofHints:y.proofHints,zkPublicInputs:y.zkPublicInputs}),N(null);return}let t=g.embedded.kaiSignature??``,n=g.embedded.pulse??g.slug.pulse??0,r={v:`KPV-1`,pulse:n,chakraDay:ie(g.embedded.chakraDay??``)??`Crown`,kaiSignature:t,phiKey:g.derivedPhiKey,verifierSlug:se(n,t)},te=await ce(f),a=i(f),o=a?.proofCapsule??r,s=await ue(o),ae=await re(ne(a?.raw&&typeof a.raw==`object`&&a.raw!==null?{...a.raw,svgHash:te,capsuleHash:s,proofCapsule:o}:{hashAlg:a?.hashAlg??`sha256`,canon:a?.canon??`JCS`,proofCapsule:o,capsuleHash:s,svgHash:te,shareUrl:a?.shareUrl,verifierUrl:a?.verifierUrl,zkPoseidonHash:a?.zkPoseidonHash,zkProof:a?.zkProof,proofHints:a?.proofHints,zkPublicInputs:a?.zkPublicInputs,authorSig:a?.authorSig??null})),c=a?.authorSig,oe=null;c&&(oe=ee(c)?await ge(Ie(c)??ae,c):!1),e&&(We(o),Ke(te),Ge(s),qe(ae),Xe(a),N(oe))})(),()=>{e=!1}},[g,y,l.raw,f]),m.useEffect(()=>{let e=!0;if(!y||f.trim())return;let t=y.proofCapsule,n={proofCapsule:t,svgHash:y.svgHash,capsuleHash:y.capsuleHash,bundleHash:y.bundleHash,shareUrl:y.shareUrl,verifierUrl:y.verifierUrl,authorSig:y.authorSig,zkPoseidonHash:y.zkPoseidonHash,zkProof:y.zkProof,proofHints:y.proofHints,zkPublicInputs:y.zkPublicInputs};return(async()=>{let r=await c(t.kaiSignature),i=l.pulse==null?null:l.pulse===t.pulse,ee=l.shortSig==null?null:l.shortSig===t.kaiSignature.slice(0,l.shortSig.length),te=t.phiKey?r===t.phiKey:null;if(!e)return;let a={hasSignature:!0,slugPulseMatches:i,slugShortSigMatches:ee,derivedPhiKeyMatchesEmbedded:te},o=a.slugPulseMatches===!1||a.slugShortSigMatches===!1||a.derivedPhiKeyMatchesEmbedded===!1,s={pulse:t.pulse,chakraDay:t.chakraDay,kaiSignature:t.kaiSignature,phiKey:t.phiKey,proofCapsule:t};_(o?{status:`error`,message:`Verification failed: one or more checks did not match.`,slug:l,embedded:s,derivedPhiKey:r,checks:a}:{status:`ok`,slug:l,embedded:s,derivedPhiKey:r,checks:a}),Xe(n),We(t),Ge(y.capsuleHash??``),Ke(y.svgHash??``),qe(y.bundleHash??``)})(),()=>{e=!1}},[y,l,f]),m.useEffect(()=>{if(g.status!==`ok`||!k){ct(null),P(null);return}let e=Oe(A?.raw??g.embedded.raw);if(e){ct(e);return}ct(null),P(null)},[g.status,k,A?.raw]),m.useEffect(()=>{let e=!0;if(!R||!k){P(null);return}return(async()=>{let t=R.binds.bundleHash;if(!t){e&&P(!1);return}let{challengeBytes:n}=await me(`receive`,t,R.nonce),r=await ae({assertion:R.assertion,expectedChallenge:n,pubKeyJwk:R.pubKeyJwk,expectedCredId:R.credId});e&&P(r)})(),()=>{e=!1}},[R,k]),m.useEffect(()=>{let e=!0;if(!A?.authorSig||!k||M!==null)return;let t=A.authorSig;return(async()=>{if(!ee(t)){e&&N(!1);return}let n=await ge(Ie(t)??k,t);e&&N(n)})(),()=>{e=!1}},[M,k,A?.authorSig]),m.useEffect(()=>{f.trim()||(F(`missing`),I(!1))},[f]),m.useEffect(()=>{if(!f.trim()){it(`missing`);return}let e=y?.svgHash??A?.svgHash??``;if(!e){it(`missing`);return}Je&&it(Je===e)},[A?.svgHash,y?.svgHash,Je,f]),m.useEffect(()=>{let e=!0;return(async()=>{if(!U?.zkProof||!U?.zkPublicInputs){e&&at(null);return}if(!ot)try{let t=await fetch(`/zk/verification_key.json`,{cache:`no-store`});if(!t.ok)return;let n=await t.json();if(!e)return;st(n);return}catch{return}let t=Te(U.zkProof),n=Te(U.zkPublicInputs),r=await oe({proof:t,publicSignals:Array.isArray(n)||typeof n==`object`?n:[n],vkey:ot??void 0,fallbackVkey:ot??void 0});e&&at(r)})(),()=>{e=!1}},[U,ot]);let It=(0,m.useCallback)(async(e,t)=>{if(!tt){nt(!0);try{if(!_e()){F(!1),j(`WebAuthn is not available in this browser. Please verify on a device with passkeys enabled.`);return}let{challengeBytes:n}=await me(`unlock`,t),r;try{r=await le({challenge:n,allowCredIds:[e.credId],preferInternal:!0})}catch{r=await le({challenge:n,preferInternal:!0})}let i=await ae({assertion:r,expectedChallenge:n,pubKeyJwk:e.pubKeyJwk,expectedCredId:e.credId});F(i),i||j(`Identity verification failed.`)}catch{F(!1),j(`Identity verification canceled.`)}finally{nt(!1),I(!1)}}},[tt]);m.useEffect(()=>{if(!et)return;if(!f.trim()){I(!1);return}let e=A?.authorSig;if(!e||!ee(e)){F(`missing`),I(!1);return}k&&It(e,k)},[It,k,A?.authorSig,et,f]);let Lt=(0,m.useMemo)(()=>v?{kind:`busy`,title:`SEALING`,subtitle:`Deterministic proof rails executing.`}:g.status===`ok`?{kind:`ok`,title:`PROOF OF BREATH™`,subtitle:`Human-origin seal affirmed.`}:g.status===`error`?{kind:`fail`,title:`REJECTED`,subtitle:`Inhale a sealed ΦKey, then verify.`}:{kind:`idle`,title:`STANDBY`,subtitle:`Inhale a ΦKey to begin.`},[v,g.status]),Rt=(0,m.useMemo)(()=>g.status===`ok`?String(g.embedded.pulse??l.pulse??0):String(l.pulse??0),[g,l.pulse]),zt=(0,m.useMemo)(()=>g.status===`ok`&&g.derivedPhiKey||`—`,[g]),Bt=(0,m.useMemo)(()=>v?`busy`:A?.authorSig?M===null?`na`:M?`valid`:`invalid`:`off`,[v,A?.authorSig,M]),Vt=(0,m.useMemo)(()=>v?`busy`:U?.zkPoseidonHash?L===null?`na`:L?`valid`:`invalid`:`off`,[v,U?.zkPoseidonHash,L]),Ht=!!f.trim(),Ut=y?.svgHash??A?.svgHash??``,Wt=!!(A?.authorSig&&ee(A.authorSig)),Gt=!Ht||!Wt?`Not present`:tt?`Aligning…`:$e===!0?`Present (Verified)`:$e===!1?`Not verified`:`Alignment required`,Kt=rt===!0?`Present (Verified)`:rt===!1?`Failed`:Ht?Ut?`Not present`:`No reference hash`:`Not present`,qt=(0,m.useMemo)(()=>R?R.credId:``,[R]),Jt=(0,m.useMemo)(()=>R?R.nonce:``,[R]),Yt=(0,m.useMemo)(()=>R?.binds.bundleHash?R.binds.bundleHash:k||``,[R,k]),X=(0,m.useMemo)(()=>E?JSON.stringify({hashAlg:pe,canon:`JCS`,proofCapsule:E,capsuleHash:D,svgHash:O,bundleHash:k,shareUrl:A?.shareUrl??null,verifierUrl:q,authorSig:A?.authorSig??null,zkPoseidonHash:U?.zkPoseidonHash??null,zkProof:U?.zkProof??null,proofHints:U?.proofHints??null,zkPublicInputs:U?.zkPublicInputs??null},null,2):``,[E,D,O,k,A,q,U]),Xt=(0,m.useMemo)(()=>{let e=f.trim();if(!e)return``;let t=e.split(` +import{Gt as e,I as t,Kt as n,L as r,M as i,N as ee,O as te,S as a,Wt as o,_ as s,c as ne,f as re,h as ie,i as ae,jt as c,k as oe,l as se,m as ce,n as le,o as l,p as ue,pi as de,q as fe,r as u,s as pe,t as me,u as he,v as d,x as f,yi as p}from"./index-DW_ZnoNU.js";import{i as ge,n as _e}from"./webauthnKAS-C2GwAz2K.js";import{t as ve}from"./VerifierFrame-B2gPiRrx.js";import"./browser-CIIQI5ZG.js";import{n as ye,t as be}from"./useValuation-fd_rJFJ5.js";import{n as xe,t as Se}from"./verifySigil-DdgnB-gX.js";var m=p(de(),1),h=p(n(),1);function Ce(e){if(e==null)return`—`;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}async function we(e){return(await f(e)).toLowerCase()}function Te(e){if(typeof e!=`string`)return e;let t=e.trim();if(!t||!(t.startsWith(`{`)||t.startsWith(`[`)))return e;try{return JSON.parse(t)}catch{return e}}function g(e){return typeof e==`object`&&!!e}function Ee(e){if(!g(e))return null;let t=typeof e.originalAmount==`number`&&Number.isFinite(e.originalAmount)?e.originalAmount:null;if(t==null)return null;let n=(Array.isArray(e.debits)?e.debits:[]).reduce((e,t)=>{if(!g(t))return e;let n=t.amount;return typeof n!=`number`||!Number.isFinite(n)||n<=0?e:e+n},0);return{originalAmount:t,remaining:Math.max(0,t-n)}}function _(e){if(typeof e==`number`)return!Number.isFinite(e)||Math.abs(e)<1e-12?null:Math.abs(e);if(typeof e==`string`){let t=Number(e);if(!Number.isNaN(t)&&Math.abs(t)>=1e-12)return Math.abs(t)}return null}function De(e){if(!g(e))return null;let t=[e],n=e.feed,r=e.preview,i=e.meta;g(n)&&t.push(n),g(r)&&t.push(r),g(i)&&t.push(i);for(let e of t){let t=_(e.transferAmountPhi)??_(e.transferPhi)??_(e.amountPhi)??_(e.phiAmount)??_(e.childAllocationPhi)??_(e.branchBasePhi)??_(e.valuePhi)??_(e.value);if(t!=null)return t}return null}function Oe(e){if(!g(e))return null;let t=e.receiveSig;return u(t)?t:null}function ke(){if(typeof window>`u`)return``;let e=window.location.pathname||``,t=window.location.hash||``,n=e.match(/\/verify\/([^/?#]+)/);if(n?.[1])return n[1];let r=t.match(/\/verify\/([^/?#]+)/);return r?.[1]?r[1]:``}function v(e){return!g(e)||e.v!==`KPV-1`||typeof e.pulse!=`number`||!Number.isFinite(e.pulse)||typeof e.chakraDay!=`string`||typeof e.kaiSignature!=`string`||typeof e.phiKey!=`string`||typeof e.verifierSlug!=`string`?null:e}function Ae(e){if(!g(e))return null;let t=v(e.proofCapsule);return t?{proofCapsule:t,capsuleHash:typeof e.capsuleHash==`string`?e.capsuleHash:void 0,svgHash:typeof e.svgHash==`string`?e.svgHash:void 0,bundleHash:typeof e.bundleHash==`string`?e.bundleHash:void 0,verifierUrl:typeof e.verifierUrl==`string`?e.verifierUrl:void 0,shareUrl:typeof e.shareUrl==`string`?e.shareUrl:void 0,authorSig:e.authorSig,zkPoseidonHash:typeof e.zkPoseidonHash==`string`?e.zkPoseidonHash:void 0,zkProof:`zkProof`in e?e.zkProof:void 0,proofHints:`proofHints`in e?e.proofHints:void 0,zkPublicInputs:`zkPublicInputs`in e?e.zkPublicInputs:void 0}:null}function je(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search),t=e.get(`r`)??e.get(`receipt`);if(!t)return null;try{let e=new TextDecoder().decode(s(t));return Ae(JSON.parse(e))}catch{return null}}function Me(e){if(!e.trim().startsWith(`{`))return null;try{return Ae(JSON.parse(e))}catch{return null}}function y(e){return d(new TextEncoder().encode(e))}function Ne(e,t){let n=e||`/verify`,r=new URL(n,typeof window<`u`?window.location.origin:`http://localhost`);return r.searchParams.set(`r`,y(t)),r.toString()}async function Pe(e){return await new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(Error(`Failed to read file.`)),r.onload=()=>t(String(r.result??``)),r.readAsText(e)})}function b(e,t=18,n=14){let r=(e||``).trim();return r?r.length<=t+n+3?r:`${r.slice(0,t)}…${r.slice(r.length-n)}`:`—`}function Fe(e){return Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Ie(e){try{return Fe(s(e.challenge))}catch{return null}}function Le(e){let t=(e.name||``).toLowerCase(),n=(e.type||``).toLowerCase();return t.endsWith(`.svg`)||n===`image/svg+xml`}async function Re(e){let t=e.trim();if(!t)return!1;try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(t),!0}catch{}try{let e=document.createElement(`textarea`);e.value=t,e.setAttribute(`readonly`,``),e.style.position=`fixed`,e.style.opacity=`0`,e.style.pointerEvents=`none`,document.body.appendChild(e),e.select(),e.setSelectionRange(0,e.value.length);let n=document.execCommand(`copy`);return document.body.removeChild(e),n}catch{return!1}}function x(e,t,n){if(typeof document>`u`||!n)return;let r=`meta[${e}="${t}"]`,i=document.head?.querySelector(r);i||(i=document.createElement(`meta`),i.setAttribute(e,t),document.head?.appendChild(i)),i.setAttribute(`content`,n)}function ze(){return(0,h.jsxs)(`svg`,{className:`mark`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,h.jsx)(`path`,{d:`M12 2.25 20.25 7v10L12 21.75 3.75 17V7L12 2.25Z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.95`}),(0,h.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2.2`,fill:`currentColor`,opacity:`0.95`}),(0,h.jsx)(`path`,{d:`M7.2 12c0-2.65 2.15-4.8 4.8-4.8`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`,opacity:`0.55`})]})}function Be(){return(0,h.jsxs)(`svg`,{className:`mark`,viewBox:`0 0 24 24`,"aria-hidden":`true`,focusable:`false`,children:[(0,h.jsx)(`path`,{d:`M9.5 7.5a2.5 2.5 0 0 1 4 0l.7 1a3.6 3.6 0 0 0 2.3 1.4l1.2.2a2.5 2.5 0 0 1 0 4.9l-1.2.2a3.6 3.6 0 0 0-2.3 1.4l-.7 1a2.5 2.5 0 0 1-4 0l-.7-1a3.6 3.6 0 0 0-2.3-1.4l-1.2-.2a2.5 2.5 0 0 1 0-4.9l1.2-.2a3.6 3.6 0 0 0 2.3-1.4l.7-1Z`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.95`}),(0,h.jsx)(`path`,{d:`M8.7 12.2 11 14.4l4.6-4.7`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}function S(e){return(0,h.jsx)(`button`,{type:`button`,className:e.kind===`primary`?`vbtn vbtn--primary`:`vbtn`,title:e.title,"aria-label":e.ariaLabel??e.title,onClick:e.onClick,disabled:e.disabled,children:(0,h.jsx)(`span`,{className:`vbtn-ic`,"aria-hidden":`true`,children:e.icon})})}function C(e){return(0,h.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e.active,className:e.active?`vtab active`:`vtab`,onClick:e.onClick,title:e.title,"aria-label":e.title,children:[(0,h.jsx)(`span`,{className:`vtab-ic`,"aria-hidden":`true`,children:e.icon}),(0,h.jsx)(`span`,{className:`vtab-txt`,children:e.text})]})}function Ve(e){let t=e.kind===`ok`?`ok`:e.kind===`fail`?`fail`:e.kind===`busy`?`busy`:`idle`,n=e.kind===`ok`;return(0,h.jsxs)(`div`,{className:`official`,"data-kind":t,"aria-live":`polite`,children:[(0,h.jsxs)(`div`,{className:`official-top`,children:[(0,h.jsx)(`div`,{className:`official-ring`,"aria-hidden":`true`,children:n?(0,h.jsx)(`span`,{className:`official-check`,children:`✓`}):null}),(0,h.jsx)(`div`,{className:`official-title`,children:e.title})]}),e.subtitle?(0,h.jsx)(`div`,{className:`official-sub`,children:e.subtitle}):null]})}function w(e){let t=e.state===`valid`?`✓`:e.state===`invalid`?`✕`:e.state===`busy`?`⟡`:e.state===`na`?`—`:`·`,n=e.state===`valid`?`VERIFIED`:e.state===`invalid`?`INVALID`:e.state===`busy`?`CHECKING`:e.state===`na`?`N/A`:`ABSENT`;return(0,h.jsxs)(`div`,{className:`seal`,"data-state":e.state,title:e.detail??``,children:[(0,h.jsx)(`span`,{className:`seal-ic`,"aria-hidden":`true`,children:t}),(0,h.jsx)(`span`,{className:`seal-lbl`,children:e.label}),(0,h.jsx)(`span`,{className:`seal-txt`,children:n})]})}function T(e){return(0,h.jsxs)(`div`,{className:`mini`,children:[(0,h.jsx)(`div`,{className:`mini-k`,children:e.label}),(0,h.jsx)(`div`,{className:`mini-v mono`,title:e.title??e.value,children:e.value||`—`})]})}function He(e){return(0,h.jsxs)(`div`,{className:`vseal-value`,"aria-label":e.ariaLabel,children:[(0,h.jsx)(`div`,{className:`vseal-value-label`,children:e.label}),(0,h.jsx)(`div`,{className:`vseal-value-phi`,children:t(e.phiValue)}),(0,h.jsx)(`div`,{className:`vseal-value-usd`,children:e.usdValue==null?`—`:r(e.usdValue)})]})}function Ue(e){return e.open?(0,h.jsx)(`div`,{className:`vmodal-backdrop`,role:`dialog`,"aria-modal":`true`,"aria-label":e.title,onMouseDown:e.onClose,onClick:e.onClose,children:(0,h.jsxs)(`div`,{className:`vmodal`,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:[(0,h.jsxs)(`div`,{className:`vmodal-head`,children:[(0,h.jsxs)(`div`,{className:`vmodal-head-left`,children:[(0,h.jsx)(`div`,{className:`vmodal-title`,children:e.title}),e.subtitle?(0,h.jsx)(`div`,{className:`vmodal-sub`,children:e.subtitle}):null]}),(0,h.jsx)(`button`,{type:`button`,className:`vmodal-close`,onClick:e.onClose,"aria-label":`Close`,title:`Close`,children:`×`})]}),(0,h.jsx)(`div`,{className:`vmodal-body`,children:e.children})]})}):null}function E(){let n=(0,m.useRef)(null),s=(0,m.useMemo)(()=>ke(),[]),l=(0,m.useMemo)(()=>Se(s),[s]),de=(0,m.useMemo)(()=>je(),[]),[u,d]=(0,m.useState)(`inhale`),[f,p]=(0,m.useState)(``),[g,_]=(0,m.useState)({status:`idle`}),[v,Ae]=(0,m.useState)(!1),[y,Fe]=(0,m.useState)(de),[E,We]=(0,m.useState)(null),[D,Ge]=(0,m.useState)(``),[O,Ke]=(0,m.useState)(``),[k,qe]=(0,m.useState)(``),[Je,Ye]=(0,m.useState)(``),[A,Xe]=(0,m.useState)(null),[Ze,j]=(0,m.useState)(``),[M,N]=(0,m.useState)(null),[Qe,P]=(0,m.useState)(null),[$e,F]=(0,m.useState)(`missing`),[et,I]=(0,m.useState)(!1),[tt,nt]=(0,m.useState)(!1),[rt,it]=(0,m.useState)(`missing`),[L,at]=(0,m.useState)(null),[ot,st]=(0,m.useState)(null),[R,ct]=(0,m.useState)(null),[lt,ut]=(0,m.useState)(!1),{pulse:dt}=ye(),ft=(0,m.useMemo)(()=>new URLSearchParams(typeof window<`u`?window.location.search:``),[]),z=(0,m.useMemo)(()=>{if(g.status!==`ok`)return null;let e=g.embedded,t=e.pulse??l.pulse??void 0;return{pulse:t,kaiPulse:t,beat:e.beat,stepIndex:e.stepIndex,frequencyHz:e.frequencyHz,chakraDay:e.chakraDay,chakraGate:e.chakraGate,kaiSignature:e.kaiSignature,userPhiKey:e.phiKey}},[g,l.pulse]),{valSeal:pt,livePrice:mt}=be({payload:z,urlSearchParams:ft,currentPulse:dt}),{usdPerPhi:ht}=(0,m.useMemo)(()=>{if(!z)return{usdPerPhi:0};try{return{usdPerPhi:e({meta:z,nowPulse:dt??fe(new Date),usd:100,currentStreakDays:0,lifetimeUsdSoFar:0},o).usdPerPhi??0}}catch{return{usdPerPhi:0}}},[z,dt]),gt=(0,m.useMemo)(()=>{if(!z)return null;let e=mt??pt?.valuePhi??null;return typeof e==`number`&&Number.isFinite(e)?e:null},[z,mt,pt]),_t=(0,m.useMemo)(()=>g.status===`ok`?Ee(g.embedded.raw)??Ee(A?.raw):null,[A?.raw,g]),vt=(0,m.useMemo)(()=>g.status===`ok`?De(g.embedded.raw)??De(A?.raw):null,[A?.raw,g]),B=_t?.remaining??vt??gt,V=_t?`balance`:vt==null?`live`:`embedded`,yt=(0,m.useMemo)(()=>B==null||!Number.isFinite(ht)||ht<=0?null:B*ht,[B,ht]),bt=V===`balance`?`BALANCE`:V===`embedded`?`GLYPH`:`LIVE`,xt=V===`balance`?`Glyph balance`:V===`embedded`?`Glyph embedded value`:`Live glyph valuation`,[St,Ct]=(0,m.useState)(!1),[wt,H]=(0,m.useState)(!1),[Tt,Et]=(0,m.useState)(!1),[Dt,Ot]=(0,m.useState)(!1),[kt,At]=(0,m.useState)(!1),[jt,Mt]=(0,m.useState)(``);m.useEffect(()=>{let e=document.documentElement,t=document.body;return e.classList.add(`verify-shell`),t.classList.add(`verify-shell`),()=>{e.classList.remove(`verify-shell`),t.classList.remove(`verify-shell`)}},[]),m.useEffect(()=>{let e=f.trim();if(!e){Mt(``);return}try{let t=new Blob([e],{type:`image/svg+xml`}),n=URL.createObjectURL(t);return Mt(n),()=>{URL.revokeObjectURL(n)}}catch{Mt(``);return}},[f]),m.useEffect(()=>{let e=!0,t=f.trim();if(!t){Ye(``);return}let n=new TextEncoder().encode(te(t));return(async()=>{let t=await we(n);e&&Ye(t)})(),()=>{e=!1}},[f]),m.useEffect(()=>{if(!Ze)return;let e=window.setTimeout(()=>j(``),2400);return()=>window.clearTimeout(e)},[Ze]),m.useEffect(()=>{if(typeof window>`u`)return;let e=g.status===`ok`?`VERIFIED`:g.status===`error`?`FAILED`:`STANDBY`,t=window.location.origin,n=l.raw||s||``,r=new URL(`${t}/verify/${encodeURIComponent(n)}`),i=new URL(`${t}/api/og/verify`);i.searchParams.set(`slug`,n),i.searchParams.set(`status`,e.toLowerCase()),g.status===`ok`&&(i.searchParams.set(`pulse`,String(g.embedded.pulse??l.pulse??``)),i.searchParams.set(`phiKey`,g.derivedPhiKey??``),g.embedded.chakraDay&&i.searchParams.set(`chakraDay`,g.embedded.chakraDay),M!=null&&i.searchParams.set(`kas`,M?`1`:`0`),L!=null&&i.searchParams.set(`g16`,L?`1`:`0`)),document.title=`Proof of Breath™ — ${e}`,x(`property`,`og:title`,`Proof of Breath™ — ${e}`),x(`property`,`og:description`,`Proof of Breath™ • ${e} • Pulse ${l.pulse??`—`}`),x(`property`,`og:url`,r.toString()),x(`property`,`og:image`,i.toString()),x(`name`,`twitter:card`,`summary_large_image`),x(`name`,`twitter:title`,`Proof of Breath™ — ${e}`),x(`name`,`twitter:description`,`Proof of Breath™ • ${e} • Pulse ${l.pulse??`—`}`),x(`name`,`twitter:image`,i.toString())},[M,g,l.pulse,l.raw,s,L]);let U=(0,m.useMemo)(()=>A||(g.status!==`ok`||!g.embedded.zkProof&&!g.embedded.zkPublicInputs&&!g.embedded.zkPoseidonHash&&!g.embedded.proofHints?null:{zkPoseidonHash:g.embedded.zkPoseidonHash,zkProof:g.embedded.zkProof,zkPublicInputs:g.embedded.zkPublicInputs,proofHints:g.embedded.proofHints}),[A,g]),W=(0,m.useMemo)(()=>U?.zkProof?Ce(U.zkProof):``,[U]),G=(0,m.useMemo)(()=>U?.zkPublicInputs?Ce(U.zkPublicInputs):``,[U]),K=(0,m.useMemo)(()=>U?.proofHints?Ce(U.proofHints):``,[U]),q=(0,m.useMemo)(()=>E?he(E.pulse,E.kaiSignature):``,[E]),J=(0,m.useMemo)(()=>typeof window>`u`?``:window.location.href,[s]),Y=(0,m.useCallback)(async(e,t)=>{let n=(e||``).trim();if(n)try{if(!navigator.clipboard?.writeText){j(`Clipboard unavailable. Use manual copy.`);return}await navigator.clipboard.writeText(n),j(`${t} remembered.`)}catch(e){j(`Remember failed. Use manual copy.`),console.error(e)}},[]),Nt=(0,m.useCallback)(async e=>{if(!Le(e)){_({status:`error`,message:`Upload a sealed .svg (embedded JSON).`,slug:l});return}p(await Pe(e)),_({status:`idle`}),j(``)},[l]),Pt=(0,m.useCallback)(e=>{if(!e||e.length===0)return;let t=Array.from(e).find(Le);if(!t){_({status:`error`,message:`Drop/select a sealed .svg file.`,slug:l});return}Nt(t)},[Nt,l]),Ft=(0,m.useCallback)(async()=>{let e=f.trim();if(!e){_({status:`error`,message:`Inhale or paste the sealed SVG (ΦKey).`,slug:l});return}let t=Me(e);if(t){Fe(t),p(``),_({status:`idle`}),j(`Receipt loaded.`);return}Ae(!0);try{let t=await xe(l,e);_(t),t.status===`ok`?(F(`missing`),I(!0)):I(!1)}finally{Ae(!1)}},[l,f]);m.useEffect(()=>{let e=!0;return(async()=>{if(g.status!==`ok`){We(null),Ge(``),Ke(``),qe(``),Xe(null),N(null),j(``);return}if(y&&!f.trim()){We(y.proofCapsule),Ke(y.svgHash??``),Ge(y.capsuleHash??``),qe(y.bundleHash??``),Xe({proofCapsule:y.proofCapsule,svgHash:y.svgHash,capsuleHash:y.capsuleHash,bundleHash:y.bundleHash,shareUrl:y.shareUrl,verifierUrl:y.verifierUrl,authorSig:y.authorSig,zkPoseidonHash:y.zkPoseidonHash,zkProof:y.zkProof,proofHints:y.proofHints,zkPublicInputs:y.zkPublicInputs}),N(null);return}let t=g.embedded.kaiSignature??``,n=g.embedded.pulse??g.slug.pulse??0,r={v:`KPV-1`,pulse:n,chakraDay:ie(g.embedded.chakraDay??``)??`Crown`,kaiSignature:t,phiKey:g.derivedPhiKey,verifierSlug:se(n,t)},te=await ce(f),a=i(f),o=a?.proofCapsule??r,s=await ue(o),ae=await re(ne(a?.raw&&typeof a.raw==`object`&&a.raw!==null?{...a.raw,svgHash:te,capsuleHash:s,proofCapsule:o}:{hashAlg:a?.hashAlg??`sha256`,canon:a?.canon??`JCS`,proofCapsule:o,capsuleHash:s,svgHash:te,shareUrl:a?.shareUrl,verifierUrl:a?.verifierUrl,zkPoseidonHash:a?.zkPoseidonHash,zkProof:a?.zkProof,proofHints:a?.proofHints,zkPublicInputs:a?.zkPublicInputs,authorSig:a?.authorSig??null})),c=a?.authorSig,oe=null;c&&(oe=ee(c)?await ge(Ie(c)??ae,c):!1),e&&(We(o),Ke(te),Ge(s),qe(ae),Xe(a),N(oe))})(),()=>{e=!1}},[g,y,l.raw,f]),m.useEffect(()=>{let e=!0;if(!y||f.trim())return;let t=y.proofCapsule,n={proofCapsule:t,svgHash:y.svgHash,capsuleHash:y.capsuleHash,bundleHash:y.bundleHash,shareUrl:y.shareUrl,verifierUrl:y.verifierUrl,authorSig:y.authorSig,zkPoseidonHash:y.zkPoseidonHash,zkProof:y.zkProof,proofHints:y.proofHints,zkPublicInputs:y.zkPublicInputs};return(async()=>{let r=await c(t.kaiSignature),i=l.pulse==null?null:l.pulse===t.pulse,ee=l.shortSig==null?null:l.shortSig===t.kaiSignature.slice(0,l.shortSig.length),te=t.phiKey?r===t.phiKey:null;if(!e)return;let a={hasSignature:!0,slugPulseMatches:i,slugShortSigMatches:ee,derivedPhiKeyMatchesEmbedded:te},o=a.slugPulseMatches===!1||a.slugShortSigMatches===!1||a.derivedPhiKeyMatchesEmbedded===!1,s={pulse:t.pulse,chakraDay:t.chakraDay,kaiSignature:t.kaiSignature,phiKey:t.phiKey,proofCapsule:t};_(o?{status:`error`,message:`Verification failed: one or more checks did not match.`,slug:l,embedded:s,derivedPhiKey:r,checks:a}:{status:`ok`,slug:l,embedded:s,derivedPhiKey:r,checks:a}),Xe(n),We(t),Ge(y.capsuleHash??``),Ke(y.svgHash??``),qe(y.bundleHash??``)})(),()=>{e=!1}},[y,l,f]),m.useEffect(()=>{if(g.status!==`ok`||!k){ct(null),P(null);return}let e=Oe(A?.raw??g.embedded.raw);if(e){ct(e);return}ct(null),P(null)},[g.status,k,A?.raw]),m.useEffect(()=>{let e=!0;if(!R||!k){P(null);return}return(async()=>{let t=R.binds.bundleHash;if(!t){e&&P(!1);return}let{challengeBytes:n}=await me(`receive`,t,R.nonce),r=await ae({assertion:R.assertion,expectedChallenge:n,pubKeyJwk:R.pubKeyJwk,expectedCredId:R.credId});e&&P(r)})(),()=>{e=!1}},[R,k]),m.useEffect(()=>{let e=!0;if(!A?.authorSig||!k||M!==null)return;let t=A.authorSig;return(async()=>{if(!ee(t)){e&&N(!1);return}let n=await ge(Ie(t)??k,t);e&&N(n)})(),()=>{e=!1}},[M,k,A?.authorSig]),m.useEffect(()=>{f.trim()||(F(`missing`),I(!1))},[f]),m.useEffect(()=>{if(!f.trim()){it(`missing`);return}let e=y?.svgHash??A?.svgHash??``;if(!e){it(`missing`);return}Je&&it(Je===e)},[A?.svgHash,y?.svgHash,Je,f]),m.useEffect(()=>{let e=!0;return(async()=>{if(!U?.zkProof||!U?.zkPublicInputs){e&&at(null);return}if(!ot)try{let t=await fetch(`/zk/verification_key.json`,{cache:`no-store`});if(!t.ok)return;let n=await t.json();if(!e)return;st(n);return}catch{return}let t=Te(U.zkProof),n=Te(U.zkPublicInputs),r=await oe({proof:t,publicSignals:Array.isArray(n)||typeof n==`object`?n:[n],vkey:ot??void 0,fallbackVkey:ot??void 0});e&&at(r)})(),()=>{e=!1}},[U,ot]);let It=(0,m.useCallback)(async(e,t)=>{if(!tt){nt(!0);try{if(!_e()){F(!1),j(`WebAuthn is not available in this browser. Please verify on a device with passkeys enabled.`);return}let{challengeBytes:n}=await me(`unlock`,t),r;try{r=await le({challenge:n,allowCredIds:[e.credId],preferInternal:!0})}catch{r=await le({challenge:n,preferInternal:!0})}let i=await ae({assertion:r,expectedChallenge:n,pubKeyJwk:e.pubKeyJwk,expectedCredId:e.credId});F(i),i||j(`Identity verification failed.`)}catch{F(!1),j(`Identity verification canceled.`)}finally{nt(!1),I(!1)}}},[tt]);m.useEffect(()=>{if(!et)return;if(!f.trim()){I(!1);return}let e=A?.authorSig;if(!e||!ee(e)){F(`missing`),I(!1);return}k&&It(e,k)},[It,k,A?.authorSig,et,f]);let Lt=(0,m.useMemo)(()=>v?{kind:`busy`,title:`SEALING`,subtitle:`Deterministic proof rails executing.`}:g.status===`ok`?{kind:`ok`,title:`PROOF OF BREATH™`,subtitle:`Human-origin seal affirmed.`}:g.status===`error`?{kind:`fail`,title:`REJECTED`,subtitle:`Inhale a sealed ΦKey, then verify.`}:{kind:`idle`,title:`STANDBY`,subtitle:`Inhale a ΦKey to begin.`},[v,g.status]),Rt=(0,m.useMemo)(()=>g.status===`ok`?String(g.embedded.pulse??l.pulse??0):String(l.pulse??0),[g,l.pulse]),zt=(0,m.useMemo)(()=>g.status===`ok`&&g.derivedPhiKey||`—`,[g]),Bt=(0,m.useMemo)(()=>v?`busy`:A?.authorSig?M===null?`na`:M?`valid`:`invalid`:`off`,[v,A?.authorSig,M]),Vt=(0,m.useMemo)(()=>v?`busy`:U?.zkPoseidonHash?L===null?`na`:L?`valid`:`invalid`:`off`,[v,U?.zkPoseidonHash,L]),Ht=!!f.trim(),Ut=y?.svgHash??A?.svgHash??``,Wt=!!(A?.authorSig&&ee(A.authorSig)),Gt=!Ht||!Wt?`Not present`:tt?`Aligning…`:$e===!0?`Present (Verified)`:$e===!1?`Not verified`:`Alignment required`,Kt=rt===!0?`Present (Verified)`:rt===!1?`Failed`:Ht?Ut?`Not present`:`No reference hash`:`Not present`,qt=(0,m.useMemo)(()=>R?R.credId:``,[R]),Jt=(0,m.useMemo)(()=>R?R.nonce:``,[R]),Yt=(0,m.useMemo)(()=>R?.binds.bundleHash?R.binds.bundleHash:k||``,[R,k]),X=(0,m.useMemo)(()=>E?JSON.stringify({hashAlg:pe,canon:`JCS`,proofCapsule:E,capsuleHash:D,svgHash:O,bundleHash:k,shareUrl:A?.shareUrl??null,verifierUrl:q,authorSig:A?.authorSig??null,zkPoseidonHash:U?.zkPoseidonHash??null,zkProof:U?.zkProof??null,proofHints:U?.proofHints??null,zkPublicInputs:U?.zkPublicInputs??null},null,2):``,[E,D,O,k,A,q,U]),Xt=(0,m.useMemo)(()=>{let e=f.trim();if(!e)return``;let t=e.split(` `);return t.slice(0,Math.min(t.length,8)).join(` `)},[f]),Z=g.status===`ok`?g.embedded.pulse??l.pulse??0:l.pulse??0,Zt=g.status===`ok`?g.embedded.kaiSignature??l.shortSig??`unknown`:l.shortSig??`unknown`,Q=g.status===`ok`?g.derivedPhiKey:`—`,Qt=g.status===`ok`?g.embedded.chakraDay:void 0,$t=g.status===`ok`?`VERIFIED`:g.status===`error`?`FAILED`:`STANDBY`,en=Q&&Q!==`—`?b(Q,12,10):`—`,tn=Bt===`valid`?`✅`:`❌`,nn=Vt===`valid`?`✅`:`❌`,$=(0,m.useMemo)(()=>{if(!E)return``;let e={hashAlg:pe,canon:`JCS`,proofCapsule:E,capsuleHash:D,verifierUrl:q||J};return O&&(e.svgHash=O),k&&(e.bundleHash=k),A?.shareUrl&&(e.shareUrl=A.shareUrl),A?.authorSig&&(e.authorSig=A.authorSig),A?.zkProof&&(e.zkProof=A.zkProof),A?.proofHints&&(e.proofHints=A.proofHints),A?.zkPublicInputs&&(e.zkPublicInputs=A.zkPublicInputs),U?.zkPoseidonHash&&(e.zkPoseidonHash=U.zkPoseidonHash,e.zkVerified=!!L,e.zkScheme=`groth16-poseidon`),a(e)},[k,D,J,A?.shareUrl,E,q,O,U?.zkPoseidonHash,L]),rn=(0,m.useMemo)(()=>{if(!$)return``;let e=q||J;return e?Ne(e,$):``},[J,q,$]),an=(0,m.useCallback)(async()=>{let e=rn||q||J,t=`Proof of Breath™ — ${$t}`,n=`${$t} • Pulse ${Z} • ΦKey ${en} • KAS ${tn} • G16 ${nn}`;if(navigator.share)try{await navigator.share({title:t,text:n,url:e});return}catch(e){if(e instanceof Error&&e.name===`AbortError`)return}j(await Re(e)?`Link Remembered.`:`Remember failed. Use manual remember.`)},[J,q,nn,tn,en,rn,$t,Z]),on=(0,m.useCallback)(async()=>{$&&j(await Re($)?`Proof JSON remembered.`:`Remember failed. Use manual remember.`)},[$]),sn=u===`inhale`?`Inhale`:u===`capsule`?`Vessel`:u===`proof`?`Proof`:u===`zk`?`ZK`:`Audit`,cn=(0,m.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),ut(!0)},[]),ln=(0,m.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),ut(!1)},[]),un=(0,m.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),ut(!1),Pt(e.dataTransfer?.files)},[Pt]);return(0,h.jsxs)(`div`,{className:`vapp`,role:`application`,"aria-label":`☤Kai Sigil-Glyph Attestation`,children:[Ze?(0,h.jsx)(`button`,{type:`button`,className:`vtoast vtoast-floating`,onClick:()=>j(``),"aria-label":`Dismiss notice`,title:`Dismiss`,children:Ze}):null,(0,h.jsxs)(`header`,{className:`vhead`,children:[(0,h.jsxs)(`div`,{className:`vhead-left`,children:[(0,h.jsxs)(`div`,{className:`vbrand`,children:[(0,h.jsx)(`div`,{className:`vtitle`,children:`☤Kai Sigil-Glyph Attestation`}),(0,h.jsx)(`div`,{className:`vsub`,children:`Sovereign proof of human origin — ☤Kai-Signature → Φ-Key.`})]}),(0,h.jsxs)(`div`,{className:`vlink`,children:[(0,h.jsx)(`span`,{className:`vlink-k`,children:`Path`}),(0,h.jsxs)(`code`,{className:`vlink-v mono`,children:[`/verify/`,l.raw||`—`]})]})]}),(0,h.jsxs)(`div`,{className:`vhead-right`,children:[(0,h.jsxs)(`div`,{className:`vhead-top`,"aria-label":`Primary verification`,children:[jt?(0,h.jsx)(`div`,{className:`vsigil-thumb`,"aria-label":`Uploaded sigil preview`,title:`Uploaded sigil preview`,children:(0,h.jsx)(`img`,{className:`vsigil-img`,src:jt,alt:`Uploaded sigil`})}):null,(0,h.jsx)(Ve,{kind:Lt.kind,title:Lt.title,subtitle:Lt.subtitle})]}),(0,h.jsxs)(`div`,{className:`vseals`,"aria-label":`Sovereign seals`,children:[(0,h.jsx)(w,{label:`KAS`,state:Bt,detail:A?.authorSig?`Author seal (WebAuthn KAS)`:`No author seal present`}),(0,h.jsx)(w,{label:`G16`,state:Vt,detail:U?.zkPoseidonHash?`Groth16 + Poseidon rail`:`No ZK rail present`}),g.status===`ok`&&B!=null?(0,h.jsx)(He,{phiValue:B,usdValue:yt,label:bt,ariaLabel:xt}):null]}),(0,h.jsxs)(`div`,{className:`vkpis`,"aria-label":`Primary identifiers`,children:[(0,h.jsx)(T,{label:`Pulse`,value:Rt}),(0,h.jsx)(T,{label:`Φ-Key`,value:zt===`—`?`—`:b(zt,12,10),title:zt})]}),E?(0,h.jsxs)(`div`,{className:`vreceipt-row`,"aria-label":`Proof actions`,children:[(0,h.jsx)(`div`,{className:`vreceipt-label`,children:`Proof`}),(0,h.jsxs)(`div`,{className:`vreceipt-actions`,children:[(0,h.jsx)(`button`,{type:`button`,className:`vbtn vbtn--ghost`,onClick:()=>void an(),children:`➦`}),(0,h.jsx)(`button`,{type:`button`,className:`vbtn vbtn--ghost`,onClick:()=>void on(),children:`💠`})]})]}):null]})]}),(0,h.jsxs)(`div`,{className:`vbody`,children:[(0,h.jsxs)(`section`,{className:`vpanel`,role:`tabpanel`,"aria-label":`Active panel`,children:[u===`inhale`?(0,h.jsxs)(`div`,{className:`vcard`,"data-panel":`inhale`,children:[(0,h.jsxs)(`div`,{className:`vcard-head`,children:[(0,h.jsx)(`div`,{className:`vcard-title`,children:`Inhale ΦKey`}),(0,h.jsx)(`div`,{className:`vcard-sub`,children:`Tap to inhale a sealed ΦKey. Deep payloads open in Expanded Views.`})]}),(0,h.jsxs)(`div`,{className:`vcard-body vfit`,children:[(0,h.jsxs)(`div`,{className:lt?`vdropzone is-drag`:`vdropzone`,onDragOver:cn,onDragEnter:cn,onDragLeave:ln,onDrop:un,children:[(0,h.jsx)(`input`,{ref:n,className:`vfile`,type:`file`,accept:`.svg,image/svg+xml`,onChange:e=>{Pt(e.currentTarget.files),e.currentTarget.value=``}}),(0,h.jsxs)(`div`,{className:`vgrid-2 vgrid-2--inhale`,children:[(0,h.jsxs)(`div`,{className:`vcontrol`,"aria-label":`Inhale controls`,children:[(0,h.jsxs)(`button`,{type:`button`,className:`vdrop`,"aria-label":`Inhale sealed ΦKey (SVG)`,title:`Inhale sealed ΦKey (.svg)`,onClick:()=>n.current?.click(),children:[(0,h.jsx)(`span`,{className:`vdrop-ic`,"aria-hidden":`true`,children:(0,h.jsx)(`img`,{className:`vphi-ic`,src:`/phi.svg`,alt:``,"aria-hidden":`true`})}),(0,h.jsx)(`span`,{className:`vdrop-txt`,children:`Inhale`}),(0,h.jsxs)(`span`,{className:`vdrop-mark`,"aria-label":`PhiKey mark`,children:[(0,h.jsx)(`img`,{className:`vphi`,src:`/phi.svg`,alt:`Φ`}),(0,h.jsx)(`span`,{className:`vdrop-mark-txt`,children:`ΦKey`})]})]}),(0,h.jsxs)(`div`,{className:`vcontrol-row`,"aria-label":`Quick actions`,children:[(0,h.jsx)(S,{icon:`⟡`,title:v?`Verifying…`:`Verify`,ariaLabel:`Verify`,onClick:()=>void Ft(),disabled:v,kind:`primary`}),(0,h.jsx)(S,{icon:`⤢`,title:`Focus View (paste/edit)`,ariaLabel:`Focus View (paste/edit)`,onClick:()=>Ct(!0),disabled:!f.trim()}),(0,h.jsx)(S,{icon:`💠`,title:`Remember ΦKey`,ariaLabel:`Remember ΦKey`,onClick:()=>void Y(f,`ΦKey`),disabled:!f.trim()}),(0,h.jsx)(S,{icon:`⨯`,title:`Clear`,ariaLabel:`Clear`,onClick:()=>{p(``),Fe(null),_({status:`idle`}),j(``)},disabled:!f.trim()})]}),(0,h.jsxs)(`div`,{className:`vmini-grid vmini-grid--2`,"aria-label":`Attestation status`,children:[(0,h.jsx)(T,{label:`Identity (Owner)`,value:Gt}),(0,h.jsx)(T,{label:`Sigil-Glyph (Artifact)`,value:Kt})]}),(0,h.jsxs)(`div`,{className:`vmini-grid vmini-grid--2`,"aria-label":`Quick readout`,children:[(0,h.jsx)(T,{label:`Inhaled`,value:f.trim()?`true`:`false`}),(0,h.jsx)(T,{label:`Attestation`,value:A?`present`:`—`})]})]}),(0,h.jsxs)(`div`,{className:`vconsole`,"aria-label":`ΦKey preview`,children:[(0,h.jsx)(`pre`,{className:`vpre`,children:(0,h.jsx)(`code`,{className:`mono`,children:Xt||`inhale a sealed ΦKey (.SVG) to begin…`})}),(0,h.jsxs)(`div`,{className:`vconsole-foot`,children:[(0,h.jsxs)(`div`,{className:`vchip`,title:`Sovereign verification rail`,children:[`Sovereign · `,pe,` · `,`JCS`]}),(0,h.jsxs)(`div`,{className:`vactions`,"aria-label":`Console actions`,children:[(0,h.jsx)(S,{icon:`⤢`,title:`Focus View`,ariaLabel:`Focus View`,onClick:()=>Ct(!0),disabled:!f.trim()}),(0,h.jsx)(S,{icon:`💠`,title:`Remember ΦKey`,ariaLabel:`Remember ΦKey`,onClick:()=>void Y(f,`ΦKey`),disabled:!f.trim()})]})]})]})]}),(0,h.jsx)(`div`,{className:`vdropzone-hint`,"aria-hidden":`true`,children:`Drag & drop ΦKey anywhere in this panel`})]}),g.status===`error`?(0,h.jsx)(`div`,{className:`verror`,children:g.message??`Not verified.`}):null]})]}):null,u===`capsule`?(0,h.jsxs)(`div`,{className:`vcard`,"data-panel":`capsule`,children:[(0,h.jsxs)(`div`,{className:`vcard-head`,children:[(0,h.jsx)(`div`,{className:`vcard-title`,children:`Proof Vessel`}),(0,h.jsx)(`div`,{className:`vcard-sub`,children:`Determinate identity seal: ☤Kai (pulse) + spiral (chakra) day + ☤Kai-Signature → Φ-Key.`})]}),(0,h.jsx)(`div`,{className:`vcard-body vfit`,children:(0,h.jsxs)(`div`,{className:`vgrid-2 vgrid-2--capsule`,children:[(0,h.jsx)(`div`,{className:`vframe-wrap`,children:(0,h.jsx)(ve,{pulse:Z,kaiSignature:Zt,phiKey:Q,chakraDay:Qt,compact:!0})}),(0,h.jsxs)(`div`,{className:`vstack`,children:[(0,h.jsxs)(`div`,{className:`vmini-grid vmini-grid--3`,"aria-label":`Slug and embed checks`,children:[(0,h.jsx)(T,{label:`pathMark pulse`,value:g.status===`ok`?g.checks.slugPulseMatches===null?`n/a`:String(g.checks.slugPulseMatches):`—`}),(0,h.jsx)(T,{label:`pathMark sig`,value:g.status===`ok`?g.checks.slugShortSigMatches===null?`n/a`:String(g.checks.slugShortSigMatches):`—`}),(0,h.jsx)(T,{label:`Φ-Key seal`,value:g.status===`ok`?g.checks.derivedPhiKeyMatchesEmbedded===null?`n/a`:String(g.checks.derivedPhiKeyMatchesEmbedded):`—`})]}),(0,h.jsxs)(`div`,{className:`vrail-grid`,"aria-label":`Capsule fields`,children:[(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`☤Kai (pulse)`}),(0,h.jsx)(`code`,{className:`vv mono`,children:Z?String(Z):`—`}),(0,h.jsx)(S,{icon:`💠`,title:`Remember pulse`,ariaLabel:`Remember pulse`,onClick:()=>void Y(String(Z),`Pulse`),disabled:!Z})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`Spiral (chakra)`}),(0,h.jsx)(`code`,{className:`vv mono`,children:Qt??`—`}),(0,h.jsx)(S,{icon:`💠`,title:`Remember Spiral (chakra)`,ariaLabel:`Remember Spiral (chakra)`,onClick:()=>void Y(String(Qt??``),`Spiral (Chakra)`),disabled:!Qt})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`☤kai-Signature`}),(0,h.jsx)(`code`,{className:`vv mono`,title:Zt,children:b(Zt,16,12)}),(0,h.jsx)(S,{icon:`💠`,title:`Remember ☤Kai-Signature`,ariaLabel:`Remember ☤Kai-Signature`,onClick:()=>void Y(Zt,`☤Kai-Signature`),disabled:!Zt})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`Φ-Key`}),(0,h.jsx)(`code`,{className:`vv mono`,title:Q,children:Q===`—`?`—`:b(Q,16,12)}),(0,h.jsx)(S,{icon:`💠`,title:`Remember Φ-Key`,ariaLabel:`Remember Φ-Key`,onClick:()=>void Y(Q,`Φ-Key`),disabled:!Q||Q===`—`})]})]})]})]})})]}):null,u===`proof`?(0,h.jsxs)(`div`,{className:`vcard`,"data-panel":`proof`,children:[(0,h.jsxs)(`div`,{className:`vcard-head`,children:[(0,h.jsx)(`div`,{className:`vcard-title`,children:`Attestation Spine`}),(0,h.jsx)(`div`,{className:`vcard-sub`,children:`vesselHash + sigilHash → bundleHash (offline integrity rail).`})]}),(0,h.jsxs)(`div`,{className:`vcard-body vfit`,children:[(0,h.jsxs)(`div`,{className:`vrail-grid vrail-grid--2`,"aria-label":`Proof hash rail`,children:[(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`hash`}),(0,h.jsx)(`code`,{className:`vv mono`,children:pe}),(0,h.jsx)(S,{icon:`💠`,title:`Remember hash algorithm`,ariaLabel:`Remember hash algorithm`,onClick:()=>void Y(pe,`Hash algorithm`)})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`canon`}),(0,h.jsx)(`code`,{className:`vv mono`,children:`JCS`}),(0,h.jsx)(S,{icon:`💠`,title:`Remember canonicalization`,ariaLabel:`Remember canonicalization`,onClick:()=>void Y(`JCS`,`Canonicalization`)})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`verifier`}),(0,h.jsx)(`code`,{className:`vv mono`,title:q||`—`,children:q?b(q,22,16):`—`}),(0,h.jsx)(S,{icon:`💠`,title:`Remember verifier URL`,ariaLabel:`Remember verifier URL`,onClick:()=>void Y(q,`Verifier URL`),disabled:!q})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`sigilHash`}),(0,h.jsx)(`code`,{className:`vv mono`,title:O||`—`,children:O?b(O,22,16):`—`}),(0,h.jsx)(S,{icon:`💠`,title:`Remember ΦKey hash`,ariaLabel:`Remember SVG hash`,onClick:()=>void Y(O,`SVG hash`),disabled:!O})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`vesselHash`}),(0,h.jsx)(`code`,{className:`vv mono`,title:D||`—`,children:D?b(D,22,16):`—`}),(0,h.jsx)(S,{icon:`💠`,title:`Remember vessel hash`,ariaLabel:`Remember vessel hash`,onClick:()=>void Y(D,`Vessel hash`),disabled:!D})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`bundleHash`}),(0,h.jsx)(`code`,{className:`vv mono`,title:k||`—`,children:k?b(k,22,16):`—`}),(0,h.jsx)(S,{icon:`💠`,title:`Remember bundle hash`,ariaLabel:`Remember bundle hash`,onClick:()=>void Y(k,`Bundle hash`),disabled:!k})]})]}),g.status===`ok`&&B!=null?(0,h.jsxs)(`div`,{className:`vmini-grid vmini-grid--2 vvaluation-dashboard`,"aria-label":`Live valuation`,children:[(0,h.jsx)(T,{label:V===`balance`?`Glyph Φ balance`:V===`embedded`?`Glyph Φ value`:`Live Φ value`,value:t(B)}),(0,h.jsx)(T,{label:V===`balance`?`Glyph USD balance`:V===`embedded`?`Glyph USD value`:`Live USD value`,value:yt==null?`—`:r(yt)})]}):null,(0,h.jsxs)(`div`,{className:`vfoot`,"aria-label":`Proof actions`,children:[(0,h.jsx)(`div`,{className:`vfoot-left`,children:(0,h.jsx)(`div`,{className:`vchip`,title:`Canonical audit payload`,children:`Audit JSON`})}),(0,h.jsxs)(`div`,{className:`vfoot-right`,children:[(0,h.jsx)(S,{icon:`⤢`,title:`Focus View (Audit JSON)`,ariaLabel:`Focus View (Audit JSON)`,onClick:()=>H(!0),disabled:!X}),(0,h.jsx)(S,{icon:`💠`,title:`Remember Audit JSON`,ariaLabel:`Remember Audit JSON`,onClick:()=>void Y(X,`Audit JSON`),disabled:!X})]})]})]})]}):null,u===`zk`?(0,h.jsxs)(`div`,{className:`vcard`,"data-panel":`zk`,children:[(0,h.jsxs)(`div`,{className:`vcard-head`,children:[(0,h.jsx)(`div`,{className:`vcard-title`,children:`Zero Knowledge Proof`}),(0,h.jsx)(`div`,{className:`vcard-sub`,children:`Groth16 + Poseidon status; full payloads in Expanded Views.`})]}),(0,h.jsx)(`div`,{className:`vcard-body vfit`,children:(0,h.jsxs)(`div`,{className:`vrail-grid vrail-grid--2`,"aria-label":`ZK rail values`,children:[(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`poseidon`}),(0,h.jsx)(`code`,{className:`vv mono`,title:String(U?.zkPoseidonHash??`—`),children:U?.zkPoseidonHash?b(String(U.zkPoseidonHash),22,16):`—`}),(0,h.jsx)(S,{icon:`💠`,title:`Remember Poseidon hash`,ariaLabel:`Remember Poseidon hash`,onClick:()=>void Y(String(U?.zkPoseidonHash??``),`Poseidon hash`),disabled:!U?.zkPoseidonHash})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`groth16`}),(0,h.jsx)(`div`,{className:`vseal-inline`,children:(0,h.jsx)(w,{label:`G16`,state:Vt,detail:`Groth16 verification status`})}),(0,h.jsx)(`span`,{})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`zkProof`}),(0,h.jsx)(`code`,{className:`vv mono`,title:W||`—`,children:W?b(W.replace(/\s+/g,` `),22,18):`—`}),(0,h.jsxs)(`div`,{className:`vrow-actions`,children:[(0,h.jsx)(S,{icon:`⤢`,title:`Focus View (ZK proof)`,ariaLabel:`Focus View (ZK proof)`,onClick:()=>Et(!0),disabled:!W}),(0,h.jsx)(S,{icon:`💠`,title:`Remember ZK proof`,ariaLabel:`Remember ZK proof`,onClick:()=>void Y(W,`ZK proof`),disabled:!W})]})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`publicInputs`}),(0,h.jsx)(`code`,{className:`vv mono`,title:G||`—`,children:G?b(G.replace(/\s+/g,` `),22,18):`—`}),(0,h.jsxs)(`div`,{className:`vrow-actions`,children:[(0,h.jsx)(S,{icon:`⤢`,title:`Focus View (public inputs)`,ariaLabel:`Focus View (public inputs)`,onClick:()=>Ot(!0),disabled:!G}),(0,h.jsx)(S,{icon:`💠`,title:`Remember public inputs`,ariaLabel:`Remember public inputs`,onClick:()=>void Y(G,`Public inputs`),disabled:!G})]})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`hints`}),(0,h.jsx)(`code`,{className:`vv mono`,title:K||`—`,children:K?b(K.replace(/\s+/g,` `),22,18):`—`}),(0,h.jsxs)(`div`,{className:`vrow-actions`,children:[(0,h.jsx)(S,{icon:`⤢`,title:`Focus View (hints)`,ariaLabel:`Focus View (hints)`,onClick:()=>At(!0),disabled:!K}),(0,h.jsx)(S,{icon:`💠`,title:`Remember hints`,ariaLabel:`Remember hints`,onClick:()=>void Y(K,`Proof hints`),disabled:!K})]})]}),(0,h.jsxs)(`div`,{className:`vrow`,children:[(0,h.jsx)(`span`,{className:`vk`,children:`audit`}),(0,h.jsx)(`code`,{className:`vv mono`,children:`bundle JSON`}),(0,h.jsxs)(`div`,{className:`vrow-actions`,children:[(0,h.jsx)(S,{icon:`⤢`,title:`Focus View (Audit JSON)`,ariaLabel:`Focus View (Audit JSON)`,onClick:()=>H(!0),disabled:!X}),(0,h.jsx)(S,{icon:`💠`,title:`Remember Audit JSON`,ariaLabel:`Remember Audit JSON`,onClick:()=>void Y(X,`Audit JSON`),disabled:!X})]})]})]})})]}):null,u===`audit`?(0,h.jsxs)(`div`,{className:`vcard`,"data-panel":`audit`,children:[(0,h.jsxs)(`div`,{className:`vcard-head`,children:[(0,h.jsx)(`div`,{className:`vcard-title`,children:`Audit`}),(0,h.jsx)(`div`,{className:`vcard-sub`,children:`Attestation bundle parity + author seal validity.`})]}),(0,h.jsxs)(`div`,{className:`vcard-body vfit`,children:[(0,h.jsxs)(`div`,{className:`vmini-grid vmini-grid--6`,"aria-label":`Audit checks`,children:[(0,h.jsx)(T,{label:`Attestation bundle`,value:A?`present`:`—`}),(0,h.jsx)(T,{label:`Author signature`,value:A?.authorSig?`present`:`—`}),(0,h.jsx)(T,{label:`Author verified`,value:M===null?`n/a`:M?`true`:`false`}),(0,h.jsx)(T,{label:`Receive signature`,value:R?`present`:`—`}),(0,h.jsx)(T,{label:`Receive verified`,value:Qe===null?`n/a`:Qe?`true`:`false`}),(0,h.jsx)(T,{label:`sigilHash parity`,value:A?.svgHash?String(A.svgHash===O):`n/a`}),(0,h.jsx)(T,{label:`vesselHash parity`,value:A?.capsuleHash?String(A.capsuleHash===D):`n/a`}),(0,h.jsx)(T,{label:`bundleHash parity`,value:A?.bundleHash?String(A.bundleHash===k):`n/a`})]}),(0,h.jsx)(`div`,{className:`vmini-grid vmini-grid--3`,"aria-label":`Receive signature status`,children:(0,h.jsx)(T,{label:`Receive credId`,value:qt?b(qt,12,10):`—`,title:qt||`—`})}),R?(0,h.jsxs)(`div`,{className:`vmini-grid vmini-grid--2`,"aria-label":`Receive signature summary`,children:[(0,h.jsx)(T,{label:`Receive nonce`,value:Jt?b(Jt,14,12):`—`,title:Jt||`—`}),(0,h.jsx)(T,{label:`Receive bundle`,value:Yt?b(Yt,14,12):`—`,title:Yt||`—`})]}):null,(0,h.jsxs)(`div`,{className:`vfoot`,"aria-label":`Audit actions`,children:[(0,h.jsx)(`div`,{className:`vfoot-left`,children:(0,h.jsxs)(`div`,{className:`vseals`,"aria-label":`Seal summary`,children:[(0,h.jsx)(w,{label:`KAS`,state:Bt}),(0,h.jsx)(w,{label:`G16`,state:Vt})]})}),(0,h.jsxs)(`div`,{className:`vfoot-right`,children:[(0,h.jsx)(S,{icon:`⤢`,title:`Focus View (Audit JSON)`,ariaLabel:`Focus View (Audit JSON)`,onClick:()=>H(!0),disabled:!X}),(0,h.jsx)(S,{icon:`💠`,title:`Remember Audit JSON`,ariaLabel:`Remember Audit JSON`,onClick:()=>void Y(X,`Audit JSON`),disabled:!X})]})]})]})]}):null]}),(0,h.jsxs)(`nav`,{className:`vtabs`,role:`tablist`,"aria-label":`Verifier views`,children:[(0,h.jsx)(C,{active:u===`inhale`,title:`Inhale`,text:`Inhale`,onClick:()=>d(`inhale`),icon:(0,h.jsx)(`img`,{className:`vtab-phi`,src:`/phi.svg`,alt:``,"aria-hidden":`true`})}),(0,h.jsx)(C,{active:u===`capsule`,title:`Vessel`,text:`Vessel`,onClick:()=>d(`capsule`),icon:`◈`}),(0,h.jsx)(C,{active:u===`proof`,title:`Proof`,text:`Proof`,onClick:()=>d(`proof`),icon:(0,h.jsx)(Be,{})}),(0,h.jsx)(C,{active:u===`zk`,title:`ZK`,text:`ZK`,onClick:()=>d(`zk`),icon:(0,h.jsx)(ze,{})}),(0,h.jsx)(C,{active:u===`audit`,title:`Audit`,text:`Audit`,onClick:()=>d(`audit`),icon:`▦`}),(0,h.jsx)(`div`,{className:`vtabs-spacer`,"aria-hidden":`true`}),(0,h.jsxs)(`button`,{type:`button`,className:`vverify`,onClick:()=>void Ft(),disabled:v,"aria-label":`Verify now`,title:v?`Verifying…`:`Verify (${sn})`,children:[(0,h.jsx)(`span`,{className:`vverify-ic`,"aria-hidden":`true`,children:`⟡`}),(0,h.jsx)(`span`,{className:`vverify-txt`,children:v?`VERIFYING`:`VERIFY`})]})]})]}),(0,h.jsxs)(Ue,{open:St,title:`ΦKey Focus View`,subtitle:`Paste/edit sealed SVG (must include {...}).`,onClose:()=>Ct(!1),children:[(0,h.jsx)(`textarea`,{className:`vta`,value:f,onChange:e=>{p(e.currentTarget.value),_({status:`idle`})},spellCheck:!1}),(0,h.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,h.jsxs)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Ft(),disabled:v,title:v?`Verifying…`:`Verify`,children:[`⟡ `,v?`VERIFYING`:`VERIFY`]}),(0,h.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>void Y(f,`SVG`),disabled:!f.trim(),title:`💠 Remember`,children:`💠 REMEMBER`})]})]}),(0,h.jsxs)(Ue,{open:wt,title:`Audit JSON`,subtitle:`Canonical audit payload (vesselHash + sigilHash → bundleHash).`,onClose:()=>H(!1),children:[(0,h.jsx)(`textarea`,{className:`vta vta--readonly`,readOnly:!0,value:X||`—`}),(0,h.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,h.jsx)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Y(X,`Audit JSON`),disabled:!X,title:`💠 Remember`,children:`💠 REMEMBER`}),(0,h.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>H(!1),title:`Close`,children:`CLOSE`})]})]}),(0,h.jsxs)(Ue,{open:Tt,title:`ZK Proof`,subtitle:`Full embedded Groth16 proof payload.`,onClose:()=>Et(!1),children:[(0,h.jsx)(`textarea`,{className:`vta vta--readonly`,readOnly:!0,value:W||`—`}),(0,h.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,h.jsx)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Y(W,`ZK proof`),disabled:!W,title:`💠 Remember`,children:`💠 REMEMBER`}),(0,h.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>Et(!1),title:`Close`,children:`CLOSE`})]})]}),(0,h.jsxs)(Ue,{open:Dt,title:`ZK Public Inputs`,subtitle:`Full embedded public inputs payload.`,onClose:()=>Ot(!1),children:[(0,h.jsx)(`textarea`,{className:`vta vta--readonly`,readOnly:!0,value:G||`—`}),(0,h.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,h.jsx)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Y(G,`Public inputs`),disabled:!G,title:`💠 Remember`,children:`💠 REMEMBER`}),(0,h.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>Ot(!1),title:`Close`,children:`CLOSE`})]})]}),(0,h.jsxs)(Ue,{open:kt,title:`Proof Hints`,subtitle:`Explorer/API hints embedded in the bundle.`,onClose:()=>At(!1),children:[(0,h.jsx)(`textarea`,{className:`vta vta--readonly`,readOnly:!0,value:K||`—`}),(0,h.jsxs)(`div`,{className:`vmodal-actions`,children:[(0,h.jsx)(`button`,{type:`button`,className:`vcta`,onClick:()=>void Y(K,`Proof hints`),disabled:!K,title:`💠 Remember`,children:`💠 REMEMBER`}),(0,h.jsx)(`button`,{type:`button`,className:`vcta vcta--ghost`,onClick:()=>At(!1),title:`Close`,children:`CLOSE`})]})]})]})}export{E as default}; \ No newline at end of file diff --git a/dist/assets/__vite-browser-external-Bc2Xrtdy.js b/dist/assets/__vite-browser-external-Bc2Xrtdy.js deleted file mode 100644 index c16e1caf8..000000000 --- a/dist/assets/__vite-browser-external-Bc2Xrtdy.js +++ /dev/null @@ -1 +0,0 @@ -import{mi as e}from"./index-BRD6BMdN.js";var t=e(((e,t)=>{t.exports={}}));export default t(); \ No newline at end of file diff --git a/dist/assets/__vite-browser-external-Dm_CMQz_.js b/dist/assets/__vite-browser-external-Dm_CMQz_.js new file mode 100644 index 000000000..bda87ca7f --- /dev/null +++ b/dist/assets/__vite-browser-external-Dm_CMQz_.js @@ -0,0 +1 @@ +import{mi as e}from"./index-DW_ZnoNU.js";var t=e(((e,t)=>{t.exports={}}));export default t(); \ No newline at end of file diff --git a/dist/assets/browser-CcokOQRV.js b/dist/assets/browser-CIIQI5ZG.js similarity index 99% rename from dist/assets/browser-CcokOQRV.js rename to dist/assets/browser-CIIQI5ZG.js index b677df994..95c8e870e 100644 --- a/dist/assets/browser-CcokOQRV.js +++ b/dist/assets/browser-CIIQI5ZG.js @@ -1,4 +1,4 @@ -import{mi as e}from"./index-BRD6BMdN.js";var t=e(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),n=e((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),r=e((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),i=e(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),a=e(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),o=e((e=>{var t=n().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e{var t=n().getSymbolSize,r=7;e.getPositions=function(e){let n=t(e);return[[0,0],[n-r,0],[0,n-r]]}})),c=e((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t{var t=r(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return i[(e-1)*4+0];case t.M:return i[(e-1)*4+1];case t.Q:return i[(e-1)*4+2];case t.H:return i[(e-1)*4+3];default:return}}})),u=e((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),d=e((e=>{var t=u();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i=0;){let e=r[0];for(let i=0;i{var n=d();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),p=e((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),m=e((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r +import{mi as e}from"./index-DW_ZnoNU.js";var t=e(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),n=e((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),r=e((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),i=e(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),a=e(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),o=e((e=>{var t=n().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e{var t=n().getSymbolSize,r=7;e.getPositions=function(e){let n=t(e);return[[0,0],[n-r,0],[0,n-r]]}})),c=e((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t{var t=r(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return i[(e-1)*4+0];case t.M:return i[(e-1)*4+1];case t.Q:return i[(e-1)*4+2];case t.H:return i[(e-1)*4+3];default:return}}})),u=e((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),d=e((e=>{var t=u();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i=0;){let e=r[0];for(let i=0;i{var n=d();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),p=e((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),m=e((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r ]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^`+t+`$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),h=e((e=>{var t=p(),n=m();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),g=e((e=>{var t=n(),i=l(),a=r(),o=h(),s=p(),c=7973,u=t.getBCHDigit(c);function d(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function f(e,t){return o.getCharCountIndicator(e,t)+4}function m(e,t){let n=0;return e.forEach(function(e){let r=f(e.mode,t);n+=r+e.getBitsLength()}),n}function g(t,n){for(let r=1;r<=40;r++)if(m(t,r)<=e.getCapacity(r,n,o.MIXED))return r}e.from=function(e,t){return s.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,n,r){if(!s.isValid(e))throw Error(`Invalid QR Code version`);r===void 0&&(r=o.BYTE);let a=(t.getSymbolTotalCodewords(e)-i.getTotalCodewordsCount(e,n))*8;if(r===o.MIXED)return a;let c=a-f(r,e);switch(r){case o.NUMERIC:return Math.floor(c/10*3);case o.ALPHANUMERIC:return Math.floor(c/11*2);case o.KANJI:return Math.floor(c/13);case o.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,r=a.from(t,a.M);if(Array.isArray(e)){if(e.length>1)return g(e,r);if(e.length===0)return 1;n=e[0]}else n=e;return d(n.mode,n.getLength(),r)},e.getEncodedBits=function(e){if(!s.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-u>=0;)n^=c<{var t=n(),r=1335,i=21522,a=t.getBCHDigit(r);e.getEncodedBits=function(e,n){let o=e.bit<<3|n,s=o<<10;for(;t.getBCHDigit(s)-a>=0;)s^=r<{var n=h();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),y=e(((e,t)=>{var n=h(),r=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),b=e(((e,t)=>{var n=h();function r(e){this.mode=n.BYTE,typeof e==`string`?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t{var r=h(),i=n();function a(e){this.mode=r.KANJI,this.data=e}a.getBitsLength=function(e){return e*13},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(e){let t;for(t=0;t=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+` Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=a})),S=e(((e,t)=>{var n={single_source_shortest_paths:function(e,t,r){var i={},a={};a[t]=0;var o=n.PriorityQueue.make();o.push(t,0);for(var s,c,l,u,d,f,p,m,h;!o.empty();)for(l in s=o.pop(),c=s.value,u=s.cost,d=e[c]||{},d)d.hasOwnProperty(l)&&(f=d[l],p=u+f,m=a[l],h=a[l]===void 0,(h||m>p)&&(a[l]=p,o.push(l,p),i[l]=c));if(r!==void 0&&a[r]===void 0){var g=[`Could not find a path from `,t,` to `,r,`.`].join(``);throw Error(g)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,t,r){var i=n.single_source_shortest_paths(e,t,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var t=n.PriorityQueue,r={},i;for(i in e||={},t)t.hasOwnProperty(i)&&(r[i]=t[i]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t!==void 0&&(t.exports=n)})),C=e((e=>{var t=h(),r=v(),i=y(),a=b(),o=x(),s=m(),c=n(),l=S();function u(e){return unescape(encodeURIComponent(e)).length}function d(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function f(e){let n=d(s.NUMERIC,t.NUMERIC,e),r=d(s.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return c.isKanjiModeEnabled()?(i=d(s.BYTE,t.BYTE,e),a=d(s.KANJI,t.KANJI,e)):(i=d(s.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function p(e,n){switch(n){case t.NUMERIC:return r.getBitsLength(e);case t.ALPHANUMERIC:return i.getBitsLength(e);case t.KANJI:return o.getBitsLength(e);case t.BYTE:return a.getBitsLength(e)}}function g(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function _(e){let n=[];for(let r=0;r{var t=n(),u=r(),d=i(),p=a(),m=o(),v=s(),y=c(),b=l(),x=f(),S=g(),w=_(),T=h(),E=C();function D(e,t){let n=e.size,r=v.getPositions(t);for(let t=0;t=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function O(e){let t=e.size;for(let n=8;n>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function j(e,t,n){let r=e.size,i=w.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function M(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function N(e,n,r){let i=new d;r.forEach(function(t){i.put(t.mode.bit,4),i.put(t.getLength(),T.getCharCountIndicator(t.mode,e)),t.write(i)});let a=(t.getSymbolTotalCodewords(e)-b.getTotalCodewordsCount(e,n))*8;for(i.getLengthInBits()+4<=a&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(0);let o=(a-i.getLengthInBits())/8;for(let e=0;e0){let e=new Uint8Array(this._pieces);this._parts.push(e),this._pieces=[]}}toArrayBuffer(){let e=[];for(let t of this._parts)e.push(t);return i(e).buffer}};function i(e){let t=0;for(let n of e)t+=n.byteLength;let n=new Uint8Array(t),r=0;for(let t of e){let e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);n.set(e,r),r+=t.byteLength}return n}function a(e){return new s(e).unpack()}function o(e){let t=new c,n=t.pack(e);return n instanceof Promise?n.then(()=>t.getBuffer()):t.getBuffer()}var s=class{constructor(e){this.index=0,this.dataBuffer=e,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}unpack(){let e=this.unpack_uint8();if(e<128)return e;if((e^224)<32)return(e^224)-32;let t;if((t=e^160)<=15)return this.unpack_raw(t);if((t=e^176)<=15)return this.unpack_string(t);if((t=e^144)<=15)return this.unpack_array(t);if((t=e^128)<=15)return this.unpack_map(t);switch(e){case 192:return null;case 193:return;case 194:return!1;case 195:return!0;case 202:return this.unpack_float();case 203:return this.unpack_double();case 204:return this.unpack_uint8();case 205:return this.unpack_uint16();case 206:return this.unpack_uint32();case 207:return this.unpack_uint64();case 208:return this.unpack_int8();case 209:return this.unpack_int16();case 210:return this.unpack_int32();case 211:return this.unpack_int64();case 212:return;case 213:return;case 214:return;case 215:return;case 216:return t=this.unpack_uint16(),this.unpack_string(t);case 217:return t=this.unpack_uint32(),this.unpack_string(t);case 218:return t=this.unpack_uint16(),this.unpack_raw(t);case 219:return t=this.unpack_uint32(),this.unpack_raw(t);case 220:return t=this.unpack_uint16(),this.unpack_array(t);case 221:return t=this.unpack_uint32(),this.unpack_array(t);case 222:return t=this.unpack_uint16(),this.unpack_map(t);case 223:return t=this.unpack_uint32(),this.unpack_map(t)}}unpack_uint8(){let e=this.dataView[this.index]&255;return this.index++,e}unpack_uint16(){let e=this.read(2),t=(e[0]&255)*256+(e[1]&255);return this.index+=2,t}unpack_uint32(){let e=this.read(4),t=((e[0]*256+e[1])*256+e[2])*256+e[3];return this.index+=4,t}unpack_uint64(){let e=this.read(8),t=((((((e[0]*256+e[1])*256+e[2])*256+e[3])*256+e[4])*256+e[5])*256+e[6])*256+e[7];return this.index+=8,t}unpack_int8(){let e=this.unpack_uint8();return e<128?e:e-256}unpack_int16(){let e=this.unpack_uint16();return e<32768?e:e-65536}unpack_int32(){let e=this.unpack_uint32();return e<2**31?e:e-2**32}unpack_int64(){let e=this.unpack_uint64();return e<2**63?e:e-2**64}unpack_raw(e){if(this.length>31,n=(e>>23&255)-127,r=e&8388607|8388608;return(t===0?1:-1)*r*2**(n-23)}unpack_double(){let e=this.unpack_uint32(),t=this.unpack_uint32(),n=e>>31,r=(e>>20&2047)-1023,i=(e&1048575|1048576)*2**(r-20)+t*2**(r-52);return(n===0?1:-1)*i}read(e){let t=this.index;if(t+e<=this.length)return this.dataView.subarray(t,t+e);throw Error(`BinaryPackFailure: read index out of range`)}},c=class{getBuffer(){return this._bufferBuilder.toArrayBuffer()}pack(e){if(typeof e==`string`)this.pack_string(e);else if(typeof e==`number`)Math.floor(e)===e?this.pack_integer(e):this.pack_double(e);else if(typeof e==`boolean`)e===!0?this._bufferBuilder.append(195):e===!1&&this._bufferBuilder.append(194);else if(e===void 0)this._bufferBuilder.append(192);else if(typeof e==`object`)if(e===null)this._bufferBuilder.append(192);else{let t=e.constructor;if(e instanceof Array){let t=this.pack_array(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else if(e instanceof ArrayBuffer)this.pack_bin(new Uint8Array(e));else if(`BYTES_PER_ELEMENT`in e){let t=e;this.pack_bin(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}else if(e instanceof Date)this.pack_string(e.toString());else if(e instanceof Blob)return e.arrayBuffer().then(e=>{this.pack_bin(new Uint8Array(e)),this._bufferBuilder.flush()});else if(t==Object||t.toString().startsWith(`class`)){let t=this.pack_object(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else throw Error(`Type "${t.toString()}" not yet supported`)}else throw Error(`Type "${typeof e}" not yet supported`);this._bufferBuilder.flush()}pack_bin(e){let t=e.length;if(t<=15)this.pack_uint8(160+t);else if(t<=65535)this._bufferBuilder.append(218),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(219),this.pack_uint32(t);else throw Error(`Invalid length`);this._bufferBuilder.append_buffer(e)}pack_string(e){let t=this._textEncoder.encode(e),n=t.length;if(n<=15)this.pack_uint8(176+n);else if(n<=65535)this._bufferBuilder.append(216),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(217),this.pack_uint32(n);else throw Error(`Invalid length`);this._bufferBuilder.append_buffer(t)}pack_array(e){let t=e.length;if(t<=15)this.pack_uint8(144+t);else if(t<=65535)this._bufferBuilder.append(220),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(221),this.pack_uint32(t);else throw Error(`Invalid length`);let n=r=>{if(rn(r+1)):n(r+1)}};return n(0)}pack_integer(e){if(e>=-32&&e<=127)this._bufferBuilder.append(e&255);else if(e>=0&&e<=255)this._bufferBuilder.append(204),this.pack_uint8(e);else if(e>=-128&&e<=127)this._bufferBuilder.append(208),this.pack_int8(e);else if(e>=0&&e<=65535)this._bufferBuilder.append(205),this.pack_uint16(e);else if(e>=-32768&&e<=32767)this._bufferBuilder.append(209),this.pack_int16(e);else if(e>=0&&e<=4294967295)this._bufferBuilder.append(206),this.pack_uint32(e);else if(e>=-2147483648&&e<=2147483647)this._bufferBuilder.append(210),this.pack_int32(e);else if(e>=-0x8000000000000000&&e<=0x8000000000000000)this._bufferBuilder.append(211),this.pack_int64(e);else if(e>=0&&e<=0x10000000000000000)this._bufferBuilder.append(207),this.pack_uint64(e);else throw Error(`Invalid integer`)}pack_double(e){let t=0;e<0&&(t=1,e=-e);let n=Math.floor(Math.log(e)/Math.LN2),r=e/2**n-1,i=Math.floor(r*2**52),a=2**32,o=t<<31|n+1023<<20|i/a&1048575,s=i%a;this._bufferBuilder.append(203),this.pack_int32(o),this.pack_int32(s)}pack_object(e){let t=Object.keys(e),n=t.length;if(n<=15)this.pack_uint8(128+n);else if(n<=65535)this._bufferBuilder.append(222),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(223),this.pack_uint32(n);else throw Error(`Invalid length`);let r=n=>{if(nr(n+1))}return r(n+1)}};return r(0)}pack_uint8(e){this._bufferBuilder.append(e)}pack_uint16(e){this._bufferBuilder.append(e>>8),this._bufferBuilder.append(e&255)}pack_uint32(e){let t=e&4294967295;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255)}pack_uint64(e){let t=e/2**32,n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}pack_int8(e){this._bufferBuilder.append(e&255)}pack_int16(e){this._bufferBuilder.append((e&65280)>>8),this._bufferBuilder.append(e&255)}pack_int32(e){this._bufferBuilder.append(e>>>24&255),this._bufferBuilder.append((e&16711680)>>>16),this._bufferBuilder.append((e&65280)>>>8),this._bufferBuilder.append(e&255)}pack_int64(e){let t=Math.floor(e/2**32),n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}constructor(){this._bufferBuilder=new r,this._textEncoder=new TextEncoder}},l=!0,u=!0;function d(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function f(e,t,n){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return i.apply(this,arguments);let a=e=>{let t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,a),i.apply(this,[e,a])};let a=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t]||!this._eventMap[t].has(n))return a.apply(this,arguments);let r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,a.apply(this,[e,r])},Object.defineProperty(r,`on`+t,{get(){return this[`_on`+t]},set(e){this[`_on`+t]&&(this.removeEventListener(t,this[`_on`+t]),delete this[`_on`+t]),e&&this.addEventListener(t,this[`_on`+t]=e)},enumerable:!0,configurable:!0})}function p(e){return typeof e==`boolean`?(l=e,e?`adapter.js logging disabled`:`adapter.js logging enabled`):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function ee(e){return typeof e==`boolean`?(u=!e,`adapter.js deprecation warnings `+(e?`disabled`:`enabled`)):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function te(){if(typeof window==`object`){if(l)return;typeof console<`u`&&typeof console.log==`function`&&console.log.apply(console,arguments)}}function m(e,t){u&&console.warn(e+` is deprecated, please use `+t+` instead.`)}function ne(e){let t={browser:null,version:null};if(e===void 0||!e.navigator||!e.navigator.userAgent)return t.browser=`Not a browser.`,t;let{navigator:n}=e;if(n.userAgentData&&n.userAgentData.brands){let e=n.userAgentData.brands.find(e=>e.brand===`Chromium`);if(e)return{browser:`chrome`,version:parseInt(e.version,10)}}if(n.mozGetUserMedia)t.browser=`firefox`,t.version=parseInt(d(n.userAgent,/Firefox\/(\d+)\./,1));else if(n.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection)t.browser=`chrome`,t.version=parseInt(d(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else if(e.RTCPeerConnection&&n.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser=`safari`,t.version=parseInt(d(n.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&`currentDirection`in e.RTCRtpTransceiver.prototype,t._safariVersion=d(n.userAgent,/Version\/(\d+(\.?\d+))/,1);else return t.browser=`Not a supported browser.`,t;return t}function re(e){return Object.prototype.toString.call(e)===`[object Object]`}function ie(e){return re(e)?Object.keys(e).reduce(function(t,n){let r=re(e[n]),i=r?ie(e[n]):e[n],a=r&&!Object.keys(i).length;return i===void 0||a?t:Object.assign(t,{[n]:i})},{}):e}function ae(e,t,n){!t||n.has(t.id)||(n.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith(`Id`)?ae(e,e.get(t[r]),n):r.endsWith(`Ids`)&&t[r].forEach(t=>{ae(e,e.get(t),n)})}))}function oe(e,t,n){let r=n?`outbound-rtp`:`inbound-rtp`,i=new Map;if(t===null)return i;let a=[];return e.forEach(e=>{e.type===`track`&&e.trackIdentifier===t.id&&a.push(e)}),a.forEach(t=>{e.forEach(n=>{n.type===r&&n.trackId===t.id&&ae(e,n,i)})}),i}var se=te;function ce(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(e){if(typeof e!=`object`||e.mandatory||e.optional)return e;let t={};return Object.keys(e).forEach(n=>{if(n===`require`||n===`advanced`||n===`mediaSource`)return;let r=typeof e[n]==`object`?e[n]:{ideal:e[n]};r.exact!==void 0&&typeof r.exact==`number`&&(r.min=r.max=r.exact);let i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):t===`deviceId`?`sourceId`:t};if(r.ideal!==void 0){t.optional=t.optional||[];let e={};typeof r.ideal==`number`?(e[i(`min`,n)]=r.ideal,t.optional.push(e),e={},e[i(`max`,n)]=r.ideal,t.optional.push(e)):(e[i(``,n)]=r.ideal,t.optional.push(e))}r.exact!==void 0&&typeof r.exact!=`number`?(t.mandatory=t.mandatory||{},t.mandatory[i(``,n)]=r.exact):[`min`,`max`].forEach(e=>{r[e]!==void 0&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=r[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if(e=JSON.parse(JSON.stringify(e)),e&&typeof e.audio==`object`){let t=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};e=JSON.parse(JSON.stringify(e)),t(e.audio,`autoGainControl`,`googAutoGainControl`),t(e.audio,`noiseSuppression`,`googNoiseSuppression`),e.audio=r(e.audio)}if(e&&typeof e.video==`object`){let a=e.video.facingMode;a&&=typeof a==`object`?a:{ideal:a};let o=t.version<66;if(a&&(a.exact===`user`||a.exact===`environment`||a.ideal===`user`||a.ideal===`environment`)&&!(n.mediaDevices.getSupportedConstraints&&n.mediaDevices.getSupportedConstraints().facingMode&&!o)){delete e.video.facingMode;let t;if(a.exact===`environment`||a.ideal===`environment`?t=[`back`,`rear`]:(a.exact===`user`||a.ideal===`user`)&&(t=[`front`]),t)return n.mediaDevices.enumerateDevices().then(n=>{n=n.filter(e=>e.kind===`videoinput`);let o=n.find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!o&&n.length&&t.includes(`back`)&&(o=n[n.length-1]),o&&(e.video.deviceId=a.exact?{exact:o.deviceId}:{ideal:o.deviceId}),e.video=r(e.video),se(`chrome: `+JSON.stringify(e)),i(e)})}e.video=r(e.video)}return se(`chrome: `+JSON.stringify(e)),i(e)},a=function(e){return t.version>=64?e:{name:{PermissionDeniedError:`NotAllowedError`,PermissionDismissedError:`NotAllowedError`,InvalidStateError:`NotAllowedError`,DevicesNotFoundError:`NotFoundError`,ConstraintNotSatisfiedError:`OverconstrainedError`,TrackStartError:`NotReadableError`,MediaDeviceFailedDueToShutdown:`NotAllowedError`,MediaDeviceKillSwitchOn:`NotAllowedError`,TabCaptureError:`AbortError`,ScreenCaptureError:`AbortError`,DeviceCaptureError:`AbortError`}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&`: `)+this.message}}};if(n.getUserMedia=function(e,t,r){i(e,e=>{n.webkitGetUserMedia(e,t,e=>{r&&r(a(e))})})}.bind(n),n.mediaDevices.getUserMedia){let e=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(t){return i(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException(``,`NotFoundError`);return e},e=>Promise.reject(a(e))))}}}var le=e({fixNegotiationNeeded:()=>_e,shimAddTrackRemoveTrack:()=>he,shimAddTrackRemoveTrackWithNative:()=>me,shimGetSendersWithDtmf:()=>fe,shimGetUserMedia:()=>ce,shimMediaStream:()=>ue,shimOnTrack:()=>de,shimPeerConnection:()=>ge,shimSenderReceiverGetStats:()=>pe});function ue(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function de(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`ontrack`in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,`ontrack`,{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener(`track`,this._ontrack),this.addEventListener(`track`,this._ontrack=e)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener(`addtrack`,n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.track.id):{track:n.track};let i=new Event(`track`);i.track=n.track,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)}),t.stream.getTracks().forEach(n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.id):{track:n};let i=new Event(`track`);i.track=n,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)})},this.addEventListener(`addstream`,this._ontrackpoly)),t.apply(this,arguments)}}else f(e,`track`,e=>(e.transceiver||Object.defineProperty(e,`transceiver`,{value:{receiver:e.receiver}}),e))}function fe(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`getSenders`in e.RTCPeerConnection.prototype)&&`createDTMFSender`in e.RTCPeerConnection.prototype){let t=function(e,t){return{track:t,get dtmf(){return this._dtmf===void 0&&(t.kind===`audio`?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){let i=n.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};let r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);let t=this._senders.indexOf(e);t!==-1&&this._senders.splice(t,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{let t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if(typeof e==`object`&&e.RTCPeerConnection&&`getSenders`in e.RTCPeerConnection.prototype&&`createDTMFSender`in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!(`dtmf`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,`dtmf`,{get(){return this._dtmf===void 0&&(this.track.kind===`audio`?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function pe(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!(`getStats`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>oe(t,e.track,!0))}}if(!(`getStats`in e.RTCRtpReceiver.prototype)){let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),f(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>oe(t,e.track,!1))}}if(!(`getStats`in e.RTCRtpSender.prototype&&`getStats`in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e=arguments[0],t,n,r;return this.getSenders().forEach(n=>{n.track===e&&(t?r=!0:t=n)}),this.getReceivers().forEach(t=>(t.track===e&&(n?r=!0:n=t),t.track===e)),r||t&&n?Promise.reject(new DOMException(`There are more than one sender or receiver for the track.`,`InvalidAccessError`)):t?t.getStats():n?n.getStats():Promise.reject(new DOMException(`There is no sender or receiver for the track.`,`InvalidAccessError`))}return t.apply(this,arguments)}}function me(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){if(!n)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let r=t.apply(this,arguments);return this._shimmedLocalStreams[n.id]?this._shimmedLocalStreams[n.id].indexOf(r)===-1&&this._shimmedLocalStreams[n.id].push(r):this._shimmedLocalStreams[n.id]=[n,r],r};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)});let t=this.getSenders();n.apply(this,arguments);let r=this.getSenders().filter(e=>t.indexOf(e)===-1);this._shimmedLocalStreams[e.id]=[e].concat(r)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{let n=this._shimmedLocalStreams[t].indexOf(e);n!==-1&&this._shimmedLocalStreams[t].splice(n,1),this._shimmedLocalStreams[t].length===1&&delete this._shimmedLocalStreams[t]}),i.apply(this,arguments)}}function he(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return me(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=n.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)}),!this._reverseStreams[t.id]){let n=new e.MediaStream(t.getTracks());this._streams[t.id]=n,this._reverseStreams[n.id]=t,t=n}r.apply(this,[t])};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,n){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);let r=[].slice.call(arguments,1);if(r.length!==1||!r[0].getTracks().find(e=>e===t))throw new DOMException(`The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.`,`NotSupportedError`);if(this.getSenders().find(e=>e.track===t))throw new DOMException(`Track already exists.`,`InvalidAccessError`);this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let i=this._streams[n.id];if(i)i.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event(`negotiationneeded`))});else{let r=new e.MediaStream([t]);this._streams[n.id]=r,this._reverseStreams[r.id]=n,this.addStream(r)}return this.getSenders().find(e=>e.track===t)};function a(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(i.id,`g`),r.id)}),new RTCSessionDescription({type:t.type,sdp:n})}function o(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(r.id,`g`),i.id)}),new RTCSessionDescription({type:t.type,sdp:n})}[`createOffer`,`createAnswer`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){let e=arguments;return arguments.length&&typeof arguments[0]==`function`?n.apply(this,[t=>{let n=a(this,t);e[0].apply(null,[n])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):n.apply(this,arguments).then(e=>a(this,e))}};e.RTCPeerConnection.prototype[t]=r[t]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type||(arguments[0]=o(this,arguments[0])),s.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,`localDescription`);Object.defineProperty(e.RTCPeerConnection.prototype,`localDescription`,{get(){let e=c.get.apply(this);return e.type===``?e:a(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);if(!e._pc)throw new DOMException(`Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.`,`TypeError`);if(e._pc!==this)throw new DOMException(`Sender was not created by this connection.`,`InvalidAccessError`);this._streams=this._streams||{};let t;Object.keys(this._streams).forEach(n=>{this._streams[n].getTracks().find(t=>e.track===t)&&(t=this._streams[n])}),t&&(t.getTracks().length===1?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event(`negotiationneeded`)))}}function ge(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]})}function _e(e,t){f(e,`negotiationneeded`,e=>{let n=e.target;if(!((t.version<72||n.getConfiguration&&n.getConfiguration().sdpSemantics===`plan-b`)&&n.signalingState!==`stable`))return e})}function ve(e,t){let n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,r){m(`navigator.getUserMedia`,`navigator.mediaDevices.getUserMedia`),n.mediaDevices.getUserMedia(e).then(t,r)},!(t.version>55&&`autoGainControl`in n.mediaDevices.getSupportedConstraints())){let e=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},t=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(n){return typeof n==`object`&&typeof n.audio==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n.audio,`autoGainControl`,`mozAutoGainControl`),e(n.audio,`noiseSuppression`,`mozNoiseSuppression`)),t(n)},r&&r.prototype.getSettings){let t=r.prototype.getSettings;r.prototype.getSettings=function(){let n=t.apply(this,arguments);return e(n,`mozAutoGainControl`,`autoGainControl`),e(n,`mozNoiseSuppression`,`noiseSuppression`),n}}if(r&&r.prototype.applyConstraints){let t=r.prototype.applyConstraints;r.prototype.applyConstraints=function(n){return this.kind===`audio`&&typeof n==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n,`autoGainControl`,`mozAutoGainControl`),e(n,`noiseSuppression`,`mozNoiseSuppression`)),t.apply(this,[n])}}}}function ye(e,t){e.navigator.mediaDevices&&`getDisplayMedia`in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!(n&&n.video)){let e=new DOMException(`getDisplayMedia without video constraints is undefined`);return e.name=`NotFoundError`,e.code=8,Promise.reject(e)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})}var be=e({shimAddTransceiver:()=>Ee,shimCreateAnswer:()=>ke,shimCreateOffer:()=>Oe,shimGetDisplayMedia:()=>ye,shimGetParameters:()=>De,shimGetUserMedia:()=>ve,shimOnTrack:()=>xe,shimPeerConnection:()=>h,shimRTCDataChannel:()=>Te,shimReceiverGetStats:()=>Ce,shimRemoveStream:()=>we,shimSenderGetStats:()=>Se});function xe(e){typeof e==`object`&&e.RTCTrackEvent&&`receiver`in e.RTCTrackEvent.prototype&&!(`transceiver`in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,`transceiver`,{get(){return{receiver:this.receiver}}})}function h(e,t){if(typeof e!=`object`||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]});let n={inboundrtp:`inbound-rtp`,outboundrtp:`outbound-rtp`,candidatepair:`candidate-pair`,localcandidate:`local-candidate`,remotecandidate:`remote-candidate`},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,i,a]=arguments;return r.apply(this,[e||null]).then(e=>{if(t.version<53&&!i)try{e.forEach(e=>{e.type=n[e.type]||e.type})}catch(t){if(t.name!==`TypeError`)throw t;e.forEach((t,r)=>{e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))})}return e}).then(i,a)}}function Se(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function Ce(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),f(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function we(e){!e.RTCPeerConnection||`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){m(`removeStream`,`removeTrack`),this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Te(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Ee(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;e===void 0&&(e=[]),e=[...e];let n=e.length>0;n&&e.forEach(e=>{if(`rid`in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError(`Invalid RID value provided.`);if(`scaleResolutionDownBy`in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError(`scale_resolution_down_by must be >= 1.0`);if(`maxFramerate`in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError(`max_framerate must be >= 0.0`)});let r=t.apply(this,arguments);if(n){let{sender:t}=r,n=t.getParameters();(!(`encodings`in n)||n.encodings.length===1&&Object.keys(n.encodings[0]).length===0)&&(n.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(n).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return r})}function De(e){if(!(typeof e==`object`&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let e=t.apply(this,arguments);return`encodings`in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function Oe(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function ke(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var Ae=e({shimAudioContext:()=>ze,shimCallbacksAPI:()=>Ne,shimConstraints:()=>Fe,shimCreateOfferLegacy:()=>Re,shimGetUserMedia:()=>Pe,shimLocalStreamsAPI:()=>je,shimRTCIceServerUrls:()=>Ie,shimRemoteStreamsAPI:()=>Me,shimTrackEventTransceiver:()=>Le});function je(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)){if(`getLocalStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||=[],this._localStreams}),!(`addStream`in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||=[],this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(n=>t.call(this,n,e)),e.getVideoTracks().forEach(n=>t.call(this,n,e))},e.RTCPeerConnection.prototype.addTrack=function(e,...n){return n&&n.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||=[];let t=this._localStreams.indexOf(e);if(t===-1)return;this._localStreams.splice(t,1);let n=e.getTracks();this.getSenders().forEach(e=>{n.includes(e.track)&&this.removeTrack(e)})})}}function Me(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)&&(`getRemoteStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!(`onaddstream`in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,`onaddstream`,{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener(`addstream`,this._onaddstream),this.removeEventListener(`track`,this._onaddstreampoly)),this.addEventListener(`addstream`,this._onaddstream=e),this.addEventListener(`track`,this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||=[],this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let t=new Event(`addstream`);t.stream=e,this.dispatchEvent(t)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener(`track`,this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||=[],e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);let n=new Event(`addstream`);n.stream=t,e.dispatchEvent(n)})}),t.apply(e,arguments)}}}function Ne(e){if(typeof e!=`object`||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,a=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){let r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){let n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,n){let r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r};t.setLocalDescription=s,s=function(e,t,n){let r=a.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.setRemoteDescription=s,s=function(e,t,n){let r=o.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.addIceCandidate=s}function Pe(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let e=t.mediaDevices,n=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>n(Fe(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,r){t.mediaDevices.getUserMedia(e).then(n,r)}.bind(t))}function Fe(e){return e&&e.video!==void 0?Object.assign({},e,{video:ie(e.video)}):e}function Ie(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,n){if(e&&e.iceServers){let t=[];for(let n=0;ne.receiver.track.kind===`audio`);e.offerToReceiveAudio===!1&&t?t.direction===`sendrecv`?t.setDirection?t.setDirection(`sendonly`):t.direction=`sendonly`:t.direction===`recvonly`&&(t.setDirection?t.setDirection(`inactive`):t.direction=`inactive`):e.offerToReceiveAudio===!0&&!t&&this.addTransceiver(`audio`,{direction:`recvonly`}),e.offerToReceiveVideo!==void 0&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let n=this.getTransceivers().find(e=>e.receiver.track.kind===`video`);e.offerToReceiveVideo===!1&&n?n.direction===`sendrecv`?n.setDirection?n.setDirection(`sendonly`):n.direction=`sendonly`:n.direction===`recvonly`&&(n.setDirection?n.setDirection(`inactive`):n.direction=`inactive`):e.offerToReceiveVideo===!0&&!n&&this.addTransceiver(`video`,{direction:`recvonly`})}return t.apply(this,arguments)}}function ze(e){typeof e!=`object`||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Be=t(((e,t)=>{var n={};n.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)},n.localCName=n.generateIdentifier(),n.splitLines=function(e){return e.trim().split(` +import{gi as e,mi as t,yi as n}from"./index-DW_ZnoNU.js";var r=class{constructor(){this.encoder=new TextEncoder,this._pieces=[],this._parts=[]}append_buffer(e){this.flush(),this._parts.push(e)}append(e){this._pieces.push(e)}flush(){if(this._pieces.length>0){let e=new Uint8Array(this._pieces);this._parts.push(e),this._pieces=[]}}toArrayBuffer(){let e=[];for(let t of this._parts)e.push(t);return i(e).buffer}};function i(e){let t=0;for(let n of e)t+=n.byteLength;let n=new Uint8Array(t),r=0;for(let t of e){let e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);n.set(e,r),r+=t.byteLength}return n}function a(e){return new s(e).unpack()}function o(e){let t=new c,n=t.pack(e);return n instanceof Promise?n.then(()=>t.getBuffer()):t.getBuffer()}var s=class{constructor(e){this.index=0,this.dataBuffer=e,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}unpack(){let e=this.unpack_uint8();if(e<128)return e;if((e^224)<32)return(e^224)-32;let t;if((t=e^160)<=15)return this.unpack_raw(t);if((t=e^176)<=15)return this.unpack_string(t);if((t=e^144)<=15)return this.unpack_array(t);if((t=e^128)<=15)return this.unpack_map(t);switch(e){case 192:return null;case 193:return;case 194:return!1;case 195:return!0;case 202:return this.unpack_float();case 203:return this.unpack_double();case 204:return this.unpack_uint8();case 205:return this.unpack_uint16();case 206:return this.unpack_uint32();case 207:return this.unpack_uint64();case 208:return this.unpack_int8();case 209:return this.unpack_int16();case 210:return this.unpack_int32();case 211:return this.unpack_int64();case 212:return;case 213:return;case 214:return;case 215:return;case 216:return t=this.unpack_uint16(),this.unpack_string(t);case 217:return t=this.unpack_uint32(),this.unpack_string(t);case 218:return t=this.unpack_uint16(),this.unpack_raw(t);case 219:return t=this.unpack_uint32(),this.unpack_raw(t);case 220:return t=this.unpack_uint16(),this.unpack_array(t);case 221:return t=this.unpack_uint32(),this.unpack_array(t);case 222:return t=this.unpack_uint16(),this.unpack_map(t);case 223:return t=this.unpack_uint32(),this.unpack_map(t)}}unpack_uint8(){let e=this.dataView[this.index]&255;return this.index++,e}unpack_uint16(){let e=this.read(2),t=(e[0]&255)*256+(e[1]&255);return this.index+=2,t}unpack_uint32(){let e=this.read(4),t=((e[0]*256+e[1])*256+e[2])*256+e[3];return this.index+=4,t}unpack_uint64(){let e=this.read(8),t=((((((e[0]*256+e[1])*256+e[2])*256+e[3])*256+e[4])*256+e[5])*256+e[6])*256+e[7];return this.index+=8,t}unpack_int8(){let e=this.unpack_uint8();return e<128?e:e-256}unpack_int16(){let e=this.unpack_uint16();return e<32768?e:e-65536}unpack_int32(){let e=this.unpack_uint32();return e<2**31?e:e-2**32}unpack_int64(){let e=this.unpack_uint64();return e<2**63?e:e-2**64}unpack_raw(e){if(this.length>31,n=(e>>23&255)-127,r=e&8388607|8388608;return(t===0?1:-1)*r*2**(n-23)}unpack_double(){let e=this.unpack_uint32(),t=this.unpack_uint32(),n=e>>31,r=(e>>20&2047)-1023,i=(e&1048575|1048576)*2**(r-20)+t*2**(r-52);return(n===0?1:-1)*i}read(e){let t=this.index;if(t+e<=this.length)return this.dataView.subarray(t,t+e);throw Error(`BinaryPackFailure: read index out of range`)}},c=class{getBuffer(){return this._bufferBuilder.toArrayBuffer()}pack(e){if(typeof e==`string`)this.pack_string(e);else if(typeof e==`number`)Math.floor(e)===e?this.pack_integer(e):this.pack_double(e);else if(typeof e==`boolean`)e===!0?this._bufferBuilder.append(195):e===!1&&this._bufferBuilder.append(194);else if(e===void 0)this._bufferBuilder.append(192);else if(typeof e==`object`)if(e===null)this._bufferBuilder.append(192);else{let t=e.constructor;if(e instanceof Array){let t=this.pack_array(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else if(e instanceof ArrayBuffer)this.pack_bin(new Uint8Array(e));else if(`BYTES_PER_ELEMENT`in e){let t=e;this.pack_bin(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}else if(e instanceof Date)this.pack_string(e.toString());else if(e instanceof Blob)return e.arrayBuffer().then(e=>{this.pack_bin(new Uint8Array(e)),this._bufferBuilder.flush()});else if(t==Object||t.toString().startsWith(`class`)){let t=this.pack_object(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else throw Error(`Type "${t.toString()}" not yet supported`)}else throw Error(`Type "${typeof e}" not yet supported`);this._bufferBuilder.flush()}pack_bin(e){let t=e.length;if(t<=15)this.pack_uint8(160+t);else if(t<=65535)this._bufferBuilder.append(218),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(219),this.pack_uint32(t);else throw Error(`Invalid length`);this._bufferBuilder.append_buffer(e)}pack_string(e){let t=this._textEncoder.encode(e),n=t.length;if(n<=15)this.pack_uint8(176+n);else if(n<=65535)this._bufferBuilder.append(216),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(217),this.pack_uint32(n);else throw Error(`Invalid length`);this._bufferBuilder.append_buffer(t)}pack_array(e){let t=e.length;if(t<=15)this.pack_uint8(144+t);else if(t<=65535)this._bufferBuilder.append(220),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(221),this.pack_uint32(t);else throw Error(`Invalid length`);let n=r=>{if(rn(r+1)):n(r+1)}};return n(0)}pack_integer(e){if(e>=-32&&e<=127)this._bufferBuilder.append(e&255);else if(e>=0&&e<=255)this._bufferBuilder.append(204),this.pack_uint8(e);else if(e>=-128&&e<=127)this._bufferBuilder.append(208),this.pack_int8(e);else if(e>=0&&e<=65535)this._bufferBuilder.append(205),this.pack_uint16(e);else if(e>=-32768&&e<=32767)this._bufferBuilder.append(209),this.pack_int16(e);else if(e>=0&&e<=4294967295)this._bufferBuilder.append(206),this.pack_uint32(e);else if(e>=-2147483648&&e<=2147483647)this._bufferBuilder.append(210),this.pack_int32(e);else if(e>=-0x8000000000000000&&e<=0x8000000000000000)this._bufferBuilder.append(211),this.pack_int64(e);else if(e>=0&&e<=0x10000000000000000)this._bufferBuilder.append(207),this.pack_uint64(e);else throw Error(`Invalid integer`)}pack_double(e){let t=0;e<0&&(t=1,e=-e);let n=Math.floor(Math.log(e)/Math.LN2),r=e/2**n-1,i=Math.floor(r*2**52),a=2**32,o=t<<31|n+1023<<20|i/a&1048575,s=i%a;this._bufferBuilder.append(203),this.pack_int32(o),this.pack_int32(s)}pack_object(e){let t=Object.keys(e),n=t.length;if(n<=15)this.pack_uint8(128+n);else if(n<=65535)this._bufferBuilder.append(222),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(223),this.pack_uint32(n);else throw Error(`Invalid length`);let r=n=>{if(nr(n+1))}return r(n+1)}};return r(0)}pack_uint8(e){this._bufferBuilder.append(e)}pack_uint16(e){this._bufferBuilder.append(e>>8),this._bufferBuilder.append(e&255)}pack_uint32(e){let t=e&4294967295;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255)}pack_uint64(e){let t=e/2**32,n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}pack_int8(e){this._bufferBuilder.append(e&255)}pack_int16(e){this._bufferBuilder.append((e&65280)>>8),this._bufferBuilder.append(e&255)}pack_int32(e){this._bufferBuilder.append(e>>>24&255),this._bufferBuilder.append((e&16711680)>>>16),this._bufferBuilder.append((e&65280)>>>8),this._bufferBuilder.append(e&255)}pack_int64(e){let t=Math.floor(e/2**32),n=e%2**32;this._bufferBuilder.append((t&4278190080)>>>24),this._bufferBuilder.append((t&16711680)>>>16),this._bufferBuilder.append((t&65280)>>>8),this._bufferBuilder.append(t&255),this._bufferBuilder.append((n&4278190080)>>>24),this._bufferBuilder.append((n&16711680)>>>16),this._bufferBuilder.append((n&65280)>>>8),this._bufferBuilder.append(n&255)}constructor(){this._bufferBuilder=new r,this._textEncoder=new TextEncoder}},l=!0,u=!0;function d(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function f(e,t,n){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return i.apply(this,arguments);let a=e=>{let t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,a),i.apply(this,[e,a])};let a=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t]||!this._eventMap[t].has(n))return a.apply(this,arguments);let r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,a.apply(this,[e,r])},Object.defineProperty(r,`on`+t,{get(){return this[`_on`+t]},set(e){this[`_on`+t]&&(this.removeEventListener(t,this[`_on`+t]),delete this[`_on`+t]),e&&this.addEventListener(t,this[`_on`+t]=e)},enumerable:!0,configurable:!0})}function p(e){return typeof e==`boolean`?(l=e,e?`adapter.js logging disabled`:`adapter.js logging enabled`):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function ee(e){return typeof e==`boolean`?(u=!e,`adapter.js deprecation warnings `+(e?`disabled`:`enabled`)):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function te(){if(typeof window==`object`){if(l)return;typeof console<`u`&&typeof console.log==`function`&&console.log.apply(console,arguments)}}function m(e,t){u&&console.warn(e+` is deprecated, please use `+t+` instead.`)}function ne(e){let t={browser:null,version:null};if(e===void 0||!e.navigator||!e.navigator.userAgent)return t.browser=`Not a browser.`,t;let{navigator:n}=e;if(n.userAgentData&&n.userAgentData.brands){let e=n.userAgentData.brands.find(e=>e.brand===`Chromium`);if(e)return{browser:`chrome`,version:parseInt(e.version,10)}}if(n.mozGetUserMedia)t.browser=`firefox`,t.version=parseInt(d(n.userAgent,/Firefox\/(\d+)\./,1));else if(n.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection)t.browser=`chrome`,t.version=parseInt(d(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else if(e.RTCPeerConnection&&n.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser=`safari`,t.version=parseInt(d(n.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&`currentDirection`in e.RTCRtpTransceiver.prototype,t._safariVersion=d(n.userAgent,/Version\/(\d+(\.?\d+))/,1);else return t.browser=`Not a supported browser.`,t;return t}function re(e){return Object.prototype.toString.call(e)===`[object Object]`}function ie(e){return re(e)?Object.keys(e).reduce(function(t,n){let r=re(e[n]),i=r?ie(e[n]):e[n],a=r&&!Object.keys(i).length;return i===void 0||a?t:Object.assign(t,{[n]:i})},{}):e}function ae(e,t,n){!t||n.has(t.id)||(n.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith(`Id`)?ae(e,e.get(t[r]),n):r.endsWith(`Ids`)&&t[r].forEach(t=>{ae(e,e.get(t),n)})}))}function oe(e,t,n){let r=n?`outbound-rtp`:`inbound-rtp`,i=new Map;if(t===null)return i;let a=[];return e.forEach(e=>{e.type===`track`&&e.trackIdentifier===t.id&&a.push(e)}),a.forEach(t=>{e.forEach(n=>{n.type===r&&n.trackId===t.id&&ae(e,n,i)})}),i}var se=te;function ce(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(e){if(typeof e!=`object`||e.mandatory||e.optional)return e;let t={};return Object.keys(e).forEach(n=>{if(n===`require`||n===`advanced`||n===`mediaSource`)return;let r=typeof e[n]==`object`?e[n]:{ideal:e[n]};r.exact!==void 0&&typeof r.exact==`number`&&(r.min=r.max=r.exact);let i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):t===`deviceId`?`sourceId`:t};if(r.ideal!==void 0){t.optional=t.optional||[];let e={};typeof r.ideal==`number`?(e[i(`min`,n)]=r.ideal,t.optional.push(e),e={},e[i(`max`,n)]=r.ideal,t.optional.push(e)):(e[i(``,n)]=r.ideal,t.optional.push(e))}r.exact!==void 0&&typeof r.exact!=`number`?(t.mandatory=t.mandatory||{},t.mandatory[i(``,n)]=r.exact):[`min`,`max`].forEach(e=>{r[e]!==void 0&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=r[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if(e=JSON.parse(JSON.stringify(e)),e&&typeof e.audio==`object`){let t=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};e=JSON.parse(JSON.stringify(e)),t(e.audio,`autoGainControl`,`googAutoGainControl`),t(e.audio,`noiseSuppression`,`googNoiseSuppression`),e.audio=r(e.audio)}if(e&&typeof e.video==`object`){let a=e.video.facingMode;a&&=typeof a==`object`?a:{ideal:a};let o=t.version<66;if(a&&(a.exact===`user`||a.exact===`environment`||a.ideal===`user`||a.ideal===`environment`)&&!(n.mediaDevices.getSupportedConstraints&&n.mediaDevices.getSupportedConstraints().facingMode&&!o)){delete e.video.facingMode;let t;if(a.exact===`environment`||a.ideal===`environment`?t=[`back`,`rear`]:(a.exact===`user`||a.ideal===`user`)&&(t=[`front`]),t)return n.mediaDevices.enumerateDevices().then(n=>{n=n.filter(e=>e.kind===`videoinput`);let o=n.find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!o&&n.length&&t.includes(`back`)&&(o=n[n.length-1]),o&&(e.video.deviceId=a.exact?{exact:o.deviceId}:{ideal:o.deviceId}),e.video=r(e.video),se(`chrome: `+JSON.stringify(e)),i(e)})}e.video=r(e.video)}return se(`chrome: `+JSON.stringify(e)),i(e)},a=function(e){return t.version>=64?e:{name:{PermissionDeniedError:`NotAllowedError`,PermissionDismissedError:`NotAllowedError`,InvalidStateError:`NotAllowedError`,DevicesNotFoundError:`NotFoundError`,ConstraintNotSatisfiedError:`OverconstrainedError`,TrackStartError:`NotReadableError`,MediaDeviceFailedDueToShutdown:`NotAllowedError`,MediaDeviceKillSwitchOn:`NotAllowedError`,TabCaptureError:`AbortError`,ScreenCaptureError:`AbortError`,DeviceCaptureError:`AbortError`}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&`: `)+this.message}}};if(n.getUserMedia=function(e,t,r){i(e,e=>{n.webkitGetUserMedia(e,t,e=>{r&&r(a(e))})})}.bind(n),n.mediaDevices.getUserMedia){let e=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(t){return i(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException(``,`NotFoundError`);return e},e=>Promise.reject(a(e))))}}}var le=e({fixNegotiationNeeded:()=>_e,shimAddTrackRemoveTrack:()=>he,shimAddTrackRemoveTrackWithNative:()=>me,shimGetSendersWithDtmf:()=>fe,shimGetUserMedia:()=>ce,shimMediaStream:()=>ue,shimOnTrack:()=>de,shimPeerConnection:()=>ge,shimSenderReceiverGetStats:()=>pe});function ue(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function de(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`ontrack`in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,`ontrack`,{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener(`track`,this._ontrack),this.addEventListener(`track`,this._ontrack=e)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener(`addtrack`,n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.track.id):{track:n.track};let i=new Event(`track`);i.track=n.track,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)}),t.stream.getTracks().forEach(n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.id):{track:n};let i=new Event(`track`);i.track=n,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)})},this.addEventListener(`addstream`,this._ontrackpoly)),t.apply(this,arguments)}}else f(e,`track`,e=>(e.transceiver||Object.defineProperty(e,`transceiver`,{value:{receiver:e.receiver}}),e))}function fe(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`getSenders`in e.RTCPeerConnection.prototype)&&`createDTMFSender`in e.RTCPeerConnection.prototype){let t=function(e,t){return{track:t,get dtmf(){return this._dtmf===void 0&&(t.kind===`audio`?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){let i=n.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};let r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);let t=this._senders.indexOf(e);t!==-1&&this._senders.splice(t,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{let t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if(typeof e==`object`&&e.RTCPeerConnection&&`getSenders`in e.RTCPeerConnection.prototype&&`createDTMFSender`in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!(`dtmf`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,`dtmf`,{get(){return this._dtmf===void 0&&(this.track.kind===`audio`?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function pe(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!(`getStats`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>oe(t,e.track,!0))}}if(!(`getStats`in e.RTCRtpReceiver.prototype)){let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),f(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>oe(t,e.track,!1))}}if(!(`getStats`in e.RTCRtpSender.prototype&&`getStats`in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e=arguments[0],t,n,r;return this.getSenders().forEach(n=>{n.track===e&&(t?r=!0:t=n)}),this.getReceivers().forEach(t=>(t.track===e&&(n?r=!0:n=t),t.track===e)),r||t&&n?Promise.reject(new DOMException(`There are more than one sender or receiver for the track.`,`InvalidAccessError`)):t?t.getStats():n?n.getStats():Promise.reject(new DOMException(`There is no sender or receiver for the track.`,`InvalidAccessError`))}return t.apply(this,arguments)}}function me(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){if(!n)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let r=t.apply(this,arguments);return this._shimmedLocalStreams[n.id]?this._shimmedLocalStreams[n.id].indexOf(r)===-1&&this._shimmedLocalStreams[n.id].push(r):this._shimmedLocalStreams[n.id]=[n,r],r};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)});let t=this.getSenders();n.apply(this,arguments);let r=this.getSenders().filter(e=>t.indexOf(e)===-1);this._shimmedLocalStreams[e.id]=[e].concat(r)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{let n=this._shimmedLocalStreams[t].indexOf(e);n!==-1&&this._shimmedLocalStreams[t].splice(n,1),this._shimmedLocalStreams[t].length===1&&delete this._shimmedLocalStreams[t]}),i.apply(this,arguments)}}function he(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return me(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=n.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)}),!this._reverseStreams[t.id]){let n=new e.MediaStream(t.getTracks());this._streams[t.id]=n,this._reverseStreams[n.id]=t,t=n}r.apply(this,[t])};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,n){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);let r=[].slice.call(arguments,1);if(r.length!==1||!r[0].getTracks().find(e=>e===t))throw new DOMException(`The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.`,`NotSupportedError`);if(this.getSenders().find(e=>e.track===t))throw new DOMException(`Track already exists.`,`InvalidAccessError`);this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let i=this._streams[n.id];if(i)i.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event(`negotiationneeded`))});else{let r=new e.MediaStream([t]);this._streams[n.id]=r,this._reverseStreams[r.id]=n,this.addStream(r)}return this.getSenders().find(e=>e.track===t)};function a(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(i.id,`g`),r.id)}),new RTCSessionDescription({type:t.type,sdp:n})}function o(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(r.id,`g`),i.id)}),new RTCSessionDescription({type:t.type,sdp:n})}[`createOffer`,`createAnswer`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){let e=arguments;return arguments.length&&typeof arguments[0]==`function`?n.apply(this,[t=>{let n=a(this,t);e[0].apply(null,[n])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):n.apply(this,arguments).then(e=>a(this,e))}};e.RTCPeerConnection.prototype[t]=r[t]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type||(arguments[0]=o(this,arguments[0])),s.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,`localDescription`);Object.defineProperty(e.RTCPeerConnection.prototype,`localDescription`,{get(){let e=c.get.apply(this);return e.type===``?e:a(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);if(!e._pc)throw new DOMException(`Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.`,`TypeError`);if(e._pc!==this)throw new DOMException(`Sender was not created by this connection.`,`InvalidAccessError`);this._streams=this._streams||{};let t;Object.keys(this._streams).forEach(n=>{this._streams[n].getTracks().find(t=>e.track===t)&&(t=this._streams[n])}),t&&(t.getTracks().length===1?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event(`negotiationneeded`)))}}function ge(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]})}function _e(e,t){f(e,`negotiationneeded`,e=>{let n=e.target;if(!((t.version<72||n.getConfiguration&&n.getConfiguration().sdpSemantics===`plan-b`)&&n.signalingState!==`stable`))return e})}function ve(e,t){let n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,r){m(`navigator.getUserMedia`,`navigator.mediaDevices.getUserMedia`),n.mediaDevices.getUserMedia(e).then(t,r)},!(t.version>55&&`autoGainControl`in n.mediaDevices.getSupportedConstraints())){let e=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},t=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(n){return typeof n==`object`&&typeof n.audio==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n.audio,`autoGainControl`,`mozAutoGainControl`),e(n.audio,`noiseSuppression`,`mozNoiseSuppression`)),t(n)},r&&r.prototype.getSettings){let t=r.prototype.getSettings;r.prototype.getSettings=function(){let n=t.apply(this,arguments);return e(n,`mozAutoGainControl`,`autoGainControl`),e(n,`mozNoiseSuppression`,`noiseSuppression`),n}}if(r&&r.prototype.applyConstraints){let t=r.prototype.applyConstraints;r.prototype.applyConstraints=function(n){return this.kind===`audio`&&typeof n==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n,`autoGainControl`,`mozAutoGainControl`),e(n,`noiseSuppression`,`mozNoiseSuppression`)),t.apply(this,[n])}}}}function ye(e,t){e.navigator.mediaDevices&&`getDisplayMedia`in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!(n&&n.video)){let e=new DOMException(`getDisplayMedia without video constraints is undefined`);return e.name=`NotFoundError`,e.code=8,Promise.reject(e)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})}var be=e({shimAddTransceiver:()=>Ee,shimCreateAnswer:()=>ke,shimCreateOffer:()=>Oe,shimGetDisplayMedia:()=>ye,shimGetParameters:()=>De,shimGetUserMedia:()=>ve,shimOnTrack:()=>xe,shimPeerConnection:()=>h,shimRTCDataChannel:()=>Te,shimReceiverGetStats:()=>Ce,shimRemoveStream:()=>we,shimSenderGetStats:()=>Se});function xe(e){typeof e==`object`&&e.RTCTrackEvent&&`receiver`in e.RTCTrackEvent.prototype&&!(`transceiver`in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,`transceiver`,{get(){return{receiver:this.receiver}}})}function h(e,t){if(typeof e!=`object`||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]});let n={inboundrtp:`inbound-rtp`,outboundrtp:`outbound-rtp`,candidatepair:`candidate-pair`,localcandidate:`local-candidate`,remotecandidate:`remote-candidate`},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,i,a]=arguments;return r.apply(this,[e||null]).then(e=>{if(t.version<53&&!i)try{e.forEach(e=>{e.type=n[e.type]||e.type})}catch(t){if(t.name!==`TypeError`)throw t;e.forEach((t,r)=>{e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))})}return e}).then(i,a)}}function Se(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function Ce(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),f(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function we(e){!e.RTCPeerConnection||`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){m(`removeStream`,`removeTrack`),this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Te(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Ee(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;e===void 0&&(e=[]),e=[...e];let n=e.length>0;n&&e.forEach(e=>{if(`rid`in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError(`Invalid RID value provided.`);if(`scaleResolutionDownBy`in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError(`scale_resolution_down_by must be >= 1.0`);if(`maxFramerate`in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError(`max_framerate must be >= 0.0`)});let r=t.apply(this,arguments);if(n){let{sender:t}=r,n=t.getParameters();(!(`encodings`in n)||n.encodings.length===1&&Object.keys(n.encodings[0]).length===0)&&(n.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(n).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return r})}function De(e){if(!(typeof e==`object`&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let e=t.apply(this,arguments);return`encodings`in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function Oe(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function ke(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var Ae=e({shimAudioContext:()=>ze,shimCallbacksAPI:()=>Ne,shimConstraints:()=>Fe,shimCreateOfferLegacy:()=>Re,shimGetUserMedia:()=>Pe,shimLocalStreamsAPI:()=>je,shimRTCIceServerUrls:()=>Ie,shimRemoteStreamsAPI:()=>Me,shimTrackEventTransceiver:()=>Le});function je(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)){if(`getLocalStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||=[],this._localStreams}),!(`addStream`in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||=[],this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(n=>t.call(this,n,e)),e.getVideoTracks().forEach(n=>t.call(this,n,e))},e.RTCPeerConnection.prototype.addTrack=function(e,...n){return n&&n.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||=[];let t=this._localStreams.indexOf(e);if(t===-1)return;this._localStreams.splice(t,1);let n=e.getTracks();this.getSenders().forEach(e=>{n.includes(e.track)&&this.removeTrack(e)})})}}function Me(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)&&(`getRemoteStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!(`onaddstream`in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,`onaddstream`,{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener(`addstream`,this._onaddstream),this.removeEventListener(`track`,this._onaddstreampoly)),this.addEventListener(`addstream`,this._onaddstream=e),this.addEventListener(`track`,this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||=[],this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let t=new Event(`addstream`);t.stream=e,this.dispatchEvent(t)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener(`track`,this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||=[],e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);let n=new Event(`addstream`);n.stream=t,e.dispatchEvent(n)})}),t.apply(e,arguments)}}}function Ne(e){if(typeof e!=`object`||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,a=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){let r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){let n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,n){let r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r};t.setLocalDescription=s,s=function(e,t,n){let r=a.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.setRemoteDescription=s,s=function(e,t,n){let r=o.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.addIceCandidate=s}function Pe(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let e=t.mediaDevices,n=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>n(Fe(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,r){t.mediaDevices.getUserMedia(e).then(n,r)}.bind(t))}function Fe(e){return e&&e.video!==void 0?Object.assign({},e,{video:ie(e.video)}):e}function Ie(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,n){if(e&&e.iceServers){let t=[];for(let n=0;ne.receiver.track.kind===`audio`);e.offerToReceiveAudio===!1&&t?t.direction===`sendrecv`?t.setDirection?t.setDirection(`sendonly`):t.direction=`sendonly`:t.direction===`recvonly`&&(t.setDirection?t.setDirection(`inactive`):t.direction=`inactive`):e.offerToReceiveAudio===!0&&!t&&this.addTransceiver(`audio`,{direction:`recvonly`}),e.offerToReceiveVideo!==void 0&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let n=this.getTransceivers().find(e=>e.receiver.track.kind===`video`);e.offerToReceiveVideo===!1&&n?n.direction===`sendrecv`?n.setDirection?n.setDirection(`sendonly`):n.direction=`sendonly`:n.direction===`recvonly`&&(n.setDirection?n.setDirection(`inactive`):n.direction=`inactive`):e.offerToReceiveVideo===!0&&!n&&this.addTransceiver(`video`,{direction:`recvonly`})}return t.apply(this,arguments)}}function ze(e){typeof e!=`object`||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Be=t(((e,t)=>{var n={};n.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)},n.localCName=n.generateIdentifier(),n.splitLines=function(e){return e.trim().split(` `).map(e=>e.trim())},n.splitSections=function(e){return e.split(` m=`).map((e,t)=>(t>0?`m=`+e:e).trim()+`\r `)},n.getDescription=function(e){let t=n.splitSections(e);return t&&t[0]},n.getMediaSections=function(e){let t=n.splitSections(e);return t.shift(),t},n.matchPrefix=function(e,t){return n.splitLines(e).filter(e=>e.indexOf(t)===0)},n.parseCandidate=function(e){let t;t=e.indexOf(`a=candidate:`)===0?e.substring(12).split(` `):e.substring(10).split(` `);let n={foundation:t[0],component:{1:`rtp`,2:`rtcp`}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let e=8;e{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.html2canvas=r())})(e,(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};function t(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}var n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&a[a.length-1]))&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(r+1===t||n.length>16384)&&(i+=String.fromCharCode.apply(String,n),n.length=0)}return i},d=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,f=typeof Uint8Array>`u`?[]:new Uint8Array(256),p=0;p`u`?[]:new Uint8Array(256),g=0;g>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},v=function(e){for(var t=e.length,n=[],r=0;r>b,T=(1<>b)+32,D=65536>>x,O=(1<=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>b],t=(t<>b)],t=(t<>x),t=this.index[t],t+=e>>b&O,t=this.index[t],t=(t<`u`?[]:new Uint8Array(256),oe=0;oece?(i.push(!0),o-=ce):i.push(!1),[`normal`,`auto`,`loose`].indexOf(t)!==-1&&[8208,8211,12316,12448].indexOf(e)!==-1)return r.push(a),n.push(Ce);if(o===fe||o===ve){if(a===0)return r.push(a),n.push(Ie);var s=n[a-1];return rt.indexOf(s)===-1?(r.push(r[a-1]),n.push(s)):(r.push(a),n.push(Ie))}if(r.push(a),o===Le)return n.push(t===`strict`?Oe:Ue);if(o===Je||o===Fe)return n.push(Ie);if(o===Ye)return e>=131072&&e<=196605||e>=196608&&e<=262141?n.push(Ue):n.push(Ie);n.push(o)}),[r,n,i]},st=function(e,t,n,r){var i=r[n];if(Array.isArray(e)?e.indexOf(i)!==-1:e===i)for(var a=n;a<=r.length;){a++;var o=r[a];if(o===t)return!0;if(o!==_e)break}if(i===_e)for(var a=n;a>0;){a--;var s=r[a];if(Array.isArray(e)?e.indexOf(s)!==-1:e===s)for(var c=n;c<=r.length;){c++;var o=r[c];if(o===t)return!0;if(o!==_e)break}if(s!==_e)break}return!1},ct=function(e,t){for(var n=e;n>=0;){var r=t[n];if(r===_e)n--;else return r}return 0},lt=function(e,t,n,r,i){if(n[r]===0)return A;var a=r-1;if(Array.isArray(i)&&i[a]===!0)return A;var o=a-1,s=a+1,c=t[a],l=o>=0?t[o]:0,u=t[s];if(c===ue&&u===de)return A;if(et.indexOf(c)!==-1)return Ze;if(et.indexOf(u)!==-1||tt.indexOf(u)!==-1)return A;if(ct(a,t)===he)return Qe;if($e.get(e[a])===ve||(c===Re||c===ze)&&$e.get(e[s])===ve||c===me||u===me||c===ge||[_e,be,Se].indexOf(c)===-1&&u===ge||[we,Te,Ee,je,Pe].indexOf(u)!==-1||ct(a,t)===ke||st(Ae,ke,a,t)||st([we,Te],Oe,a,t)||st(ye,ye,a,t))return A;if(c===_e)return Qe;if(c===Ae||u===Ae)return A;if(u===Ce||c===Ce)return Qe;if([be,Se,Oe].indexOf(u)!==-1||c===xe||l===He&&at.indexOf(c)!==-1||c===Pe&&u===He||u===De||j.indexOf(u)!==-1&&c===k||j.indexOf(c)!==-1&&u===k||c===Ne&&[Ue,Re,ze].indexOf(u)!==-1||[Ue,Re,ze].indexOf(c)!==-1&&u===Me||j.indexOf(c)!==-1&&nt.indexOf(u)!==-1||nt.indexOf(c)!==-1&&j.indexOf(u)!==-1||[Ne,Me].indexOf(c)!==-1&&(u===k||[ke,Se].indexOf(u)!==-1&&t[s+1]===k)||[ke,Se].indexOf(c)!==-1&&u===k||c===k&&[k,Pe,je].indexOf(u)!==-1)return A;if([k,Pe,je,we,Te].indexOf(u)!==-1)for(var d=a;d>=0;){var f=t[d];if(f===k)return A;if([Pe,je].indexOf(f)!==-1)d--;else break}if([Ne,Me].indexOf(u)!==-1)for(var d=[we,Te].indexOf(c)===-1?a:o;d>=0;){var f=t[d];if(f===k)return A;if([Pe,je].indexOf(f)!==-1)d--;else break}if(We===c&&[We,Ge,Be,Ve].indexOf(u)!==-1||[Ge,Be].indexOf(c)!==-1&&[Ge,Ke].indexOf(u)!==-1||[Ke,Ve].indexOf(c)!==-1&&u===Ke||it.indexOf(c)!==-1&&[De,Me].indexOf(u)!==-1||it.indexOf(u)!==-1&&c===Ne||j.indexOf(c)!==-1&&j.indexOf(u)!==-1||c===je&&j.indexOf(u)!==-1||j.concat(k).indexOf(c)!==-1&&u===ke&&Xe.indexOf(e[s])===-1||j.concat(k).indexOf(u)!==-1&&c===Te)return A;if(c===qe&&u===qe){for(var p=n[a],m=1;p>0&&(p--,t[p]===qe);)m++;if(m%2!=0)return A}return c===Re&&u===ze?A:Qe},ut=function(e,t){t||={lineBreak:`normal`,wordBreak:`normal`};var n=ot(e,t.lineBreak),r=n[0],i=n[1],a=n[2];(t.wordBreak===`break-all`||t.wordBreak===`break-word`)&&(i=i.map(function(e){return[k,Ie,Je].indexOf(e)===-1?e:Ue}));var o=t.wordBreak===`keep-all`?a.map(function(t,n){return t&&e[n]>=19968&&e[n]<=40959}):void 0;return[r,i,o]},dt=function(){function e(e,t,n,r){this.codePoints=e,this.required=t===Ze,this.start=n,this.end=r}return e.prototype.slice=function(){return u.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),ft=function(e,t){var n=l(e),r=ut(n,t),i=r[0],a=r[1],o=r[2],s=n.length,c=0,u=0;return{next:function(){if(u>=s)return{done:!0,value:null};for(var e=A;u=rn&&e<=57},hn=function(e){return e>=55296&&e<=57343},gn=function(e){return P(e)||e>=un&&e<=fn||e>=an&&e<=sn},_n=function(e){return e>=an&&e<=ln},vn=function(e){return e>=un&&e<=mn},yn=function(e){return _n(e)||vn(e)},bn=function(e){return e>=Ut},xn=function(e){return e===_t||e===bt||e===xt},Sn=function(e){return yn(e)||bn(e)||e===At},Cn=function(e){return Sn(e)||P(e)||e===M},wn=function(e){return e>=Zt&&e<=Qt||e===$t||e>=en&&e<=tn||e===nn},Tn=function(e,t){return e===yt?t!==_t:!1},En=function(e,t,n){return e===M?Sn(t)||Tn(t,n):Sn(e)?!0:!!(e===yt&&Tn(e,t))},Dn=function(e,t,n){return e===Kt||e===M?P(t)?!0:t===Xt&&P(n):P(e===Xt?t:e)},On=function(e){var t=0,n=1;(e[t]===Kt||e[t]===M)&&(e[t]===M&&(n=-1),t++);for(var r=[];P(e[t]);)r.push(e[t++]);var i=r.length?parseInt(u.apply(void 0,r),10):0;e[t]===Xt&&t++;for(var a=[];P(e[t]);)a.push(e[t++]);var o=a.length,s=o?parseInt(u.apply(void 0,a),10):0;(e[t]===dn||e[t]===on)&&t++;var c=1;(e[t]===Kt||e[t]===M)&&(e[t]===M&&(c=-1),t++);for(var l=[];P(e[t]);)l.push(e[t++]);var d=l.length?parseInt(u.apply(void 0,l),10):0;return n*(i+s*10**-o)*10**(c*d)},kn={type:2},An={type:3},jn={type:4},Mn={type:13},Nn={type:8},Pn={type:21},Fn={type:9},In={type:10},Ln={type:11},Rn={type:12},zn={type:14},Bn={type:23},Vn={type:1},Hn={type:25},Un={type:24},Wn={type:26},Gn={type:27},Kn={type:28},qn={type:29},Jn={type:31},Yn={type:32},Xn=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(l(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==Yn;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case St:return this.consumeStringToken(St);case wt:var t=this.peekCodePoint(0),n=this.peekCodePoint(1),r=this.peekCodePoint(2);if(Cn(t)||Tn(n,r)){var i=En(t,n,r)?mt:pt,a=this.consumeName();return{type:5,value:a,flags:i}}break;case Tt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Mn;break;case Dt:return this.consumeStringToken(Dt);case Ot:return kn;case kt:return An;case Gt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),zn;break;case Kt:if(Dn(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case qt:return jn;case M:var o=e,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(Dn(o,s,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(En(o,s,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(s===M&&c===Nt)return this.consumeCodePoint(),this.consumeCodePoint(),Un;break;case Xt:if(Dn(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case vt:if(this.peekCodePoint(0)===Gt)for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(l===Gt&&(l=this.consumeCodePoint(),l===vt)||l===N)return this.consumeToken()}break;case Jt:return Wn;case Yt:return Gn;case Mt:if(this.peekCodePoint(0)===jt&&this.peekCodePoint(1)===M&&this.peekCodePoint(2)===M)return this.consumeCodePoint(),this.consumeCodePoint(),Hn;break;case Pt:if(En(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var a=this.consumeName();return{type:7,value:a}}break;case Ft:return Kn;case yt:if(Tn(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case It:return qn;case Lt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Nn;break;case Rt:return Ln;case Bt:return Rn;case cn:case pn:var d=this.peekCodePoint(0),f=this.peekCodePoint(1);return d===Kt&&(gn(f)||f===zt)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case Vt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Fn;if(this.peekCodePoint(0)===Vt)return this.consumeCodePoint(),Pn;break;case Ht:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),In;break;case N:return Yn}return xn(e)?(this.consumeWhiteSpace(),Jn):P(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):Sn(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:u(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return e===void 0?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();gn(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var n=!1;t===zt&&e.length<6;)e.push(t),t=this.consumeCodePoint(),n=!0;if(n){var r=parseInt(u.apply(void 0,e.map(function(e){return e===zt?rn:e})),16),i=parseInt(u.apply(void 0,e.map(function(e){return e===zt?fn:e})),16);return{type:30,start:r,end:i}}var a=parseInt(u.apply(void 0,e),16);if(this.peekCodePoint(0)===M&&gn(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var o=[];gn(t)&&o.length<6;)o.push(t),t=this.consumeCodePoint();var i=parseInt(u.apply(void 0,o),16);return{type:30,start:a,end:i}}else return{type:30,start:a,end:a}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()===`url`&&this.peekCodePoint(0)===Ot?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Ot?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===N)return{type:22,value:``};var t=this.peekCodePoint(0);if(t===Dt||t===St){var n=this.consumeStringToken(this.consumeCodePoint());return n.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===N||this.peekCodePoint(0)===kt)?(this.consumeCodePoint(),{type:22,value:n.value}):(this.consumeBadUrlRemnants(),Bn)}for(;;){var r=this.consumeCodePoint();if(r===N||r===kt)return{type:22,value:u.apply(void 0,e)};if(xn(r))return this.consumeWhiteSpace(),this.peekCodePoint(0)===N||this.peekCodePoint(0)===kt?(this.consumeCodePoint(),{type:22,value:u.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Bn);if(r===St||r===Dt||r===Ot||wn(r))return this.consumeBadUrlRemnants(),Bn;if(r===yt)if(Tn(r,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Bn;else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;xn(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===kt||e===N)return;Tn(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t=5e4,n=``;e>0;){var r=Math.min(t,e);n+=u.apply(void 0,this._value.splice(0,r)),e-=r}return this._value.shift(),n},e.prototype.consumeStringToken=function(e){var t=``,n=0;do{var r=this._value[n];if(r===N||r===void 0||r===e)return t+=this.consumeStringSlice(n),{type:0,value:t};if(r===_t)return this._value.splice(0,n),Vn;if(r===yt){var i=this._value[n+1];i!==N&&i!==void 0&&(i===_t?(t+=this.consumeStringSlice(n),n=-1,this._value.shift()):Tn(r,i)&&(t+=this.consumeStringSlice(n),t+=u(this.consumeEscapedCodePoint()),n=-1))}n++}while(!0)},e.prototype.consumeNumber=function(){var e=[],t=ht,n=this.peekCodePoint(0);for((n===Kt||n===M)&&e.push(this.consumeCodePoint());P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(n===Xt&&P(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=gt;P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0),r=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((n===dn||n===on)&&((r===Kt||r===M)&&P(i)||P(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=gt;P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[On(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],n=e[1],r=this.peekCodePoint(0);return En(r,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:t,flags:n,unit:this.consumeName()}:r===Et?(this.consumeCodePoint(),{type:16,number:t,flags:n}):{type:17,number:t,flags:n}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(gn(e)){for(var t=u(e);gn(this.peekCodePoint(0))&&t.length<6;)t+=u(this.consumeCodePoint());xn(this.peekCodePoint(0))&&this.consumeCodePoint();var n=parseInt(t,16);return n===0||hn(n)||n>1114111?Wt:n}return e===N?Wt:e},e.prototype.consumeName=function(){for(var e=``;;){var t=this.consumeCodePoint();if(Cn(t))e+=u(t);else if(Tn(t,this.peekCodePoint(0)))e+=u(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(t),e}},e}(),Zn=function(){function e(e){this._tokens=e}return e.create=function(t){var n=new Xn;return n.write(t),new e(n.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw SyntaxError(`Error parsing CSS component value, unexpected EOF`);this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return t;throw SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`)},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(t.type===32)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},n=this.consumeToken();;){if(n.type===32||ir(n,e))return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue()),n=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var n=this.consumeToken();if(n.type===32||n.type===3)return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return e===void 0?Yn:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Qn=function(e){return e.type===15},$n=function(e){return e.type===17},F=function(e){return e.type===20},er=function(e){return e.type===0},tr=function(e,t){return F(e)&&e.value===t},nr=function(e){return e.type!==31},rr=function(e){return e.type!==31&&e.type!==4},I=function(e){var t=[],n=[];return e.forEach(function(e){if(e.type===4){if(n.length===0)throw Error(`Error parsing function args, zero tokens for arg`);t.push(n),n=[];return}e.type!==31&&n.push(e)}),n.length&&t.push(n),t},ir=function(e,t){return t===11&&e.type===12||t===28&&e.type===29?!0:t===2&&e.type===3},ar=function(e){return e.type===17||e.type===15},L=function(e){return e.type===16||ar(e)},or=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},R={type:17,number:0,flags:ht},sr={type:16,number:50,flags:ht},cr={type:16,number:100,flags:ht},lr=function(e,t,n){var r=e[0],i=e[1];return[z(r,t),z(i===void 0?r:i,n)]},z=function(e,t){if(e.type===16)return e.number/100*t;if(Qn(e))switch(e.unit){case`rem`:case`em`:return 16*e.number;case`px`:default:return e.number}return e.number},ur=`deg`,dr=`grad`,fr=`rad`,pr=`turn`,mr={name:`angle`,parse:function(e,t){if(t.type===15)switch(t.unit){case ur:return Math.PI*t.number/180;case dr:return Math.PI/200*t.number;case fr:return t.number;case pr:return Math.PI*2*t.number}throw Error(`Unsupported angle type`)}},hr=function(e){return e.type===15&&(e.unit===ur||e.unit===dr||e.unit===fr||e.unit===pr)},gr=function(e){switch(e.filter(F).map(function(e){return e.value}).join(` `)){case`to bottom right`:case`to right bottom`:case`left top`:case`top left`:return[R,R];case`to top`:case`bottom`:return B(0);case`to bottom left`:case`to left bottom`:case`right top`:case`top right`:return[R,cr];case`to right`:case`left`:return B(90);case`to top left`:case`to left top`:case`right bottom`:case`bottom right`:return[cr,cr];case`to bottom`:case`top`:return B(180);case`to top right`:case`to right top`:case`left bottom`:case`bottom left`:return[cr,R];case`to left`:case`right`:return B(270)}return 0},B=function(e){return Math.PI*e/180},_r={name:`color`,parse:function(e,t){if(t.type===18){var n=wr[t.name];if(n===void 0)throw Error(`Attempting to parse an unsupported color function "`+t.name+`"`);return n(e,t.values)}if(t.type===5){if(t.value.length===3){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);return yr(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(t.value.length===4){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3),o=t.value.substring(3,4);return yr(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(o+o,16)/255)}if(t.value.length===6){var r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6);return yr(parseInt(r,16),parseInt(i,16),parseInt(a,16),1)}if(t.value.length===8){var r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6),o=t.value.substring(6,8);return yr(parseInt(r,16),parseInt(i,16),parseInt(a,16),parseInt(o,16)/255)}}if(t.type===20){var s=H[t.value.toUpperCase()];if(s!==void 0)return s}return H.TRANSPARENT}},vr=function(e){return(255&e)==0},V=function(e){var t=255&e,n=255&e>>8,r=255&e>>16,i=255&e>>24;return t<255?`rgba(`+i+`,`+r+`,`+n+`,`+t/255+`)`:`rgb(`+i+`,`+r+`,`+n+`)`},yr=function(e,t,n,r){return(e<<24|t<<16|n<<8|Math.round(r*255)<<0)>>>0},br=function(e,t){if(e.type===17)return e.number;if(e.type===16){var n=t===3?1:255;return t===3?e.number/100*n:Math.round(e.number/100*n)}return 0},xr=function(e,t){var n=t.filter(rr);if(n.length===3){var r=n.map(br),i=r[0],a=r[1],o=r[2];return yr(i,a,o,1)}if(n.length===4){var s=n.map(br),i=s[0],a=s[1],o=s[2],c=s[3];return yr(i,a,o,c)}return 0};function Sr(e,t,n){return n<0&&(n+=1),n>=1&&--n,n<1/6?(t-e)*n*6+e:n<1/2?t:n<2/3?(t-e)*6*(2/3-n)+e:e}var Cr=function(e,t){var n=t.filter(rr),r=n[0],i=n[1],a=n[2],o=n[3],s=(r.type===17?B(r.number):mr.parse(e,r))/(Math.PI*2),c=L(i)?i.number/100:0,l=L(a)?a.number/100:0,u=o!==void 0&&L(o)?z(o,1):1;if(c===0)return yr(l*255,l*255,l*255,1);var d=l<=.5?l*(c+1):l+c-l*c,f=l*2-d,p=Sr(f,d,s+1/3),m=Sr(f,d,s),h=Sr(f,d,s-1/3);return yr(p*255,m*255,h*255,u)},wr={hsl:Cr,hsla:Cr,rgb:xr,rgba:xr},Tr=function(e,t){return _r.parse(e,Zn.create(t).parseComponentValue())},H={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},Er={name:`background-clip`,initialValue:`border-box`,prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(F(e))switch(e.value){case`padding-box`:return 1;case`content-box`:return 2}return 0})}},Dr={name:`background-color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`},Or=function(e,t){var n=_r.parse(e,t[0]),r=t[1];return r&&L(r)?{color:n,stop:r}:{color:n,stop:null}},kr=function(e,t){var n=e[0],r=e[e.length-1];n.stop===null&&(n.stop=R),r.stop===null&&(r.stop=cr);for(var i=[],a=0,o=0;oa?i.push(c):i.push(a),a=c}else i.push(null)}for(var l=null,o=0;oe.optimumDistance)?{optimumCorner:t,optimumDistance:s}:e},{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},Nr=function(e,t,n,r,i){var a=0,o=0;switch(e.size){case 0:e.shape===0?a=o=Math.min(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):e.shape===1&&(a=Math.min(Math.abs(t),Math.abs(t-r)),o=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(e.shape===0)a=o=Math.min(U(t,n),U(t,n-i),U(t-r,n),U(t-r,n-i));else if(e.shape===1){var s=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(t),Math.abs(t-r)),c=Mr(r,i,t,n,!0),l=c[0],u=c[1];a=U(l-t,(u-n)/s),o=s*a}break;case 1:e.shape===0?a=o=Math.max(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):e.shape===1&&(a=Math.max(Math.abs(t),Math.abs(t-r)),o=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(e.shape===0)a=o=Math.max(U(t,n),U(t,n-i),U(t-r,n),U(t-r,n-i));else if(e.shape===1){var s=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(t),Math.abs(t-r)),d=Mr(r,i,t,n,!1),l=d[0],u=d[1];a=U(l-t,(u-n)/s),o=s*a}break}return Array.isArray(e.size)&&(a=z(e.size[0],r),o=e.size.length===2?z(e.size[1],i):a),[a,o]},Pr=function(e,t){var n=B(180),r=[];return I(t).forEach(function(t,i){if(i===0){var a=t[0];if(a.type===20&&a.value===`to`){n=gr(t);return}else if(hr(a)){n=mr.parse(e,a);return}}var o=Or(e,t);r.push(o)}),{angle:n,stops:r,type:1}},Fr=function(e,t){var n=B(180),r=[];return I(t).forEach(function(t,i){if(i===0){var a=t[0];if(a.type===20&&[`top`,`left`,`right`,`bottom`].indexOf(a.value)!==-1){n=gr(t);return}else if(hr(a)){n=(mr.parse(e,a)+B(270))%B(360);return}}var o=Or(e,t);r.push(o)}),{angle:n,stops:r,type:1}},Ir=function(e,t){var n=B(180),r=[],i=1;return I(t).forEach(function(t,n){var a=t[0];if(n===0){if(F(a)&&a.value===`linear`){i=1;return}else if(F(a)&&a.value===`radial`){i=2;return}}if(a.type===18){if(a.name===`from`){var o=_r.parse(e,a.values[0]);r.push({stop:R,color:o})}else if(a.name===`to`){var o=_r.parse(e,a.values[0]);r.push({stop:cr,color:o})}else if(a.name===`color-stop`){var s=a.values.filter(rr);if(s.length===2){var o=_r.parse(e,s[1]),c=s[0];$n(c)&&r.push({stop:{type:16,number:c.number*100,flags:c.flags},color:o})}}}}),i===1?{angle:(n+B(180))%B(360),stops:r,type:i}:{size:3,shape:0,stops:r,position:[],type:i}},Lr=`closest-side`,Rr=`farthest-side`,zr=`closest-corner`,Br=`farthest-corner`,Vr=`circle`,Hr=`ellipse`,Ur=`cover`,Wr=`contain`,Gr=function(e,t){var n=0,r=3,i=[],a=[];return I(t).forEach(function(t,o){var s=!0;if(o===0){var c=!1;s=t.reduce(function(e,t){if(c)if(F(t))switch(t.value){case`center`:return a.push(sr),e;case`top`:case`left`:return a.push(R),e;case`right`:case`bottom`:return a.push(cr),e}else (L(t)||ar(t))&&a.push(t);else if(F(t))switch(t.value){case Vr:return n=0,!1;case Hr:return n=1,!1;case`at`:return c=!0,!1;case Lr:return r=0,!1;case Ur:case Rr:return r=1,!1;case Wr:case zr:return r=2,!1;case Br:return r=3,!1}else if(ar(t)||L(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e},s)}if(s){var l=Or(e,t);i.push(l)}}),{size:r,shape:n,stops:i,position:a,type:2}},Kr=function(e,t){var n=0,r=3,i=[],a=[];return I(t).forEach(function(t,o){var s=!0;if(o===0?s=t.reduce(function(e,t){if(F(t))switch(t.value){case`center`:return a.push(sr),!1;case`top`:case`left`:return a.push(R),!1;case`right`:case`bottom`:return a.push(cr),!1}else if(L(t)||ar(t))return a.push(t),!1;return e},s):o===1&&(s=t.reduce(function(e,t){if(F(t))switch(t.value){case Vr:return n=0,!1;case Hr:return n=1,!1;case Wr:case Lr:return r=0,!1;case Rr:return r=1,!1;case zr:return r=2,!1;case Ur:case Br:return r=3,!1}else if(ar(t)||L(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e},s)),s){var c=Or(e,t);i.push(c)}}),{size:r,shape:n,stops:i,position:a,type:2}},qr=function(e){return e.type===1},Jr=function(e){return e.type===2},Yr={name:`image`,parse:function(e,t){if(t.type===22){var n={url:t.value,type:0};return e.cache.addImage(t.value),n}if(t.type===18){var r=Zr[t.name];if(r===void 0)throw Error(`Attempting to parse an unsupported image function "`+t.name+`"`);return r(e,t.values)}throw Error(`Unsupported image type `+t.type)}};function Xr(e){return!(e.type===20&&e.value===`none`)&&(e.type!==18||!!Zr[e.name])}var Zr={"linear-gradient":Pr,"-moz-linear-gradient":Fr,"-ms-linear-gradient":Fr,"-o-linear-gradient":Fr,"-webkit-linear-gradient":Fr,"radial-gradient":Gr,"-moz-radial-gradient":Kr,"-ms-radial-gradient":Kr,"-o-radial-gradient":Kr,"-webkit-radial-gradient":Kr,"-webkit-gradient":Ir},Qr={name:`background-image`,initialValue:`none`,type:1,prefix:!1,parse:function(e,t){if(t.length===0)return[];var n=t[0];return n.type===20&&n.value===`none`?[]:t.filter(function(e){return rr(e)&&Xr(e)}).map(function(t){return Yr.parse(e,t)})}},$r={name:`background-origin`,initialValue:`border-box`,prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(F(e))switch(e.value){case`padding-box`:return 1;case`content-box`:return 2}return 0})}},ei={name:`background-position`,initialValue:`0% 0%`,type:1,prefix:!1,parse:function(e,t){return I(t).map(function(e){return e.filter(L)}).map(or)}},ti={name:`background-repeat`,initialValue:`repeat`,prefix:!1,type:1,parse:function(e,t){return I(t).map(function(e){return e.filter(F).map(function(e){return e.value}).join(` `)}).map(ni)}},ni=function(e){switch(e){case`no-repeat`:return 1;case`repeat-x`:case`repeat no-repeat`:return 2;case`repeat-y`:case`no-repeat repeat`:return 3;case`repeat`:default:return 0}},ri;(function(e){e.AUTO=`auto`,e.CONTAIN=`contain`,e.COVER=`cover`})(ri||={});var ii={name:`background-size`,initialValue:`0`,prefix:!1,type:1,parse:function(e,t){return I(t).map(function(e){return e.filter(ai)})}},ai=function(e){return F(e)||L(e)},oi=function(e){return{name:`border-`+e+`-color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`}},si=oi(`top`),ci=oi(`right`),li=oi(`bottom`),ui=oi(`left`),di=function(e){return{name:`border-radius-`+e,initialValue:`0 0`,prefix:!1,type:1,parse:function(e,t){return or(t.filter(L))}}},fi=di(`top-left`),pi=di(`top-right`),mi=di(`bottom-right`),hi=di(`bottom-left`),gi=function(e){return{name:`border-`+e+`-style`,initialValue:`solid`,prefix:!1,type:2,parse:function(e,t){switch(t){case`none`:return 0;case`dashed`:return 2;case`dotted`:return 3;case`double`:return 4}return 1}}},_i=gi(`top`),vi=gi(`right`),yi=gi(`bottom`),bi=gi(`left`),xi=function(e){return{name:`border-`+e+`-width`,initialValue:`0`,type:0,prefix:!1,parse:function(e,t){return Qn(t)?t.number:0}}},Si=xi(`top`),Ci=xi(`right`),wi=xi(`bottom`),Ti=xi(`left`),Ei={name:`color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`},Di={name:`direction`,initialValue:`ltr`,prefix:!1,type:2,parse:function(e,t){switch(t){case`rtl`:return 1;case`ltr`:default:return 0}}},Oi={name:`display`,initialValue:`inline-block`,prefix:!1,type:1,parse:function(e,t){return t.filter(F).reduce(function(e,t){return e|ki(t.value)},0)}},ki=function(e){switch(e){case`block`:case`-webkit-box`:return 2;case`inline`:return 4;case`run-in`:return 8;case`flow`:return 16;case`flow-root`:return 32;case`table`:return 64;case`flex`:case`-webkit-flex`:return 128;case`grid`:case`-ms-grid`:return 256;case`ruby`:return 512;case`subgrid`:return 1024;case`list-item`:return 2048;case`table-row-group`:return 4096;case`table-header-group`:return 8192;case`table-footer-group`:return 16384;case`table-row`:return 32768;case`table-cell`:return 65536;case`table-column-group`:return 131072;case`table-column`:return 262144;case`table-caption`:return 524288;case`ruby-base`:return 1048576;case`ruby-text`:return 2097152;case`ruby-base-container`:return 4194304;case`ruby-text-container`:return 8388608;case`contents`:return 16777216;case`inline-block`:return 33554432;case`inline-list-item`:return 67108864;case`inline-table`:return 134217728;case`inline-flex`:return 268435456;case`inline-grid`:return 536870912}return 0},Ai={name:`float`,initialValue:`none`,prefix:!1,type:2,parse:function(e,t){switch(t){case`left`:return 1;case`right`:return 2;case`inline-start`:return 3;case`inline-end`:return 4}return 0}},ji={name:`letter-spacing`,initialValue:`0`,prefix:!1,type:0,parse:function(e,t){return t.type===20&&t.value===`normal`?0:t.type===17||t.type===15?t.number:0}},Mi;(function(e){e.NORMAL=`normal`,e.STRICT=`strict`})(Mi||={});var Ni={name:`line-break`,initialValue:`normal`,prefix:!1,type:2,parse:function(e,t){switch(t){case`strict`:return Mi.STRICT;case`normal`:default:return Mi.NORMAL}}},Pi={name:`line-height`,initialValue:`normal`,prefix:!1,type:4},Fi=function(e,t){return F(e)&&e.value===`normal`?1.2*t:e.type===17?t*e.number:L(e)?z(e,t):t},Ii={name:`list-style-image`,initialValue:`none`,type:0,prefix:!1,parse:function(e,t){return t.type===20&&t.value===`none`?null:Yr.parse(e,t)}},Li={name:`list-style-position`,initialValue:`outside`,prefix:!1,type:2,parse:function(e,t){switch(t){case`inside`:return 0;case`outside`:default:return 1}}},Ri={name:`list-style-type`,initialValue:`none`,prefix:!1,type:2,parse:function(e,t){switch(t){case`disc`:return 0;case`circle`:return 1;case`square`:return 2;case`decimal`:return 3;case`cjk-decimal`:return 4;case`decimal-leading-zero`:return 5;case`lower-roman`:return 6;case`upper-roman`:return 7;case`lower-greek`:return 8;case`lower-alpha`:return 9;case`upper-alpha`:return 10;case`arabic-indic`:return 11;case`armenian`:return 12;case`bengali`:return 13;case`cambodian`:return 14;case`cjk-earthly-branch`:return 15;case`cjk-heavenly-stem`:return 16;case`cjk-ideographic`:return 17;case`devanagari`:return 18;case`ethiopic-numeric`:return 19;case`georgian`:return 20;case`gujarati`:return 21;case`gurmukhi`:return 22;case`hebrew`:return 22;case`hiragana`:return 23;case`hiragana-iroha`:return 24;case`japanese-formal`:return 25;case`japanese-informal`:return 26;case`kannada`:return 27;case`katakana`:return 28;case`katakana-iroha`:return 29;case`khmer`:return 30;case`korean-hangul-formal`:return 31;case`korean-hanja-formal`:return 32;case`korean-hanja-informal`:return 33;case`lao`:return 34;case`lower-armenian`:return 35;case`malayalam`:return 36;case`mongolian`:return 37;case`myanmar`:return 38;case`oriya`:return 39;case`persian`:return 40;case`simp-chinese-formal`:return 41;case`simp-chinese-informal`:return 42;case`tamil`:return 43;case`telugu`:return 44;case`thai`:return 45;case`tibetan`:return 46;case`trad-chinese-formal`:return 47;case`trad-chinese-informal`:return 48;case`upper-armenian`:return 49;case`disclosure-open`:return 50;case`disclosure-closed`:return 51;case`none`:default:return-1}}},zi=function(e){return{name:`margin-`+e,initialValue:`0`,prefix:!1,type:4}},Bi=zi(`top`),Vi=zi(`right`),Hi=zi(`bottom`),Ui=zi(`left`),Wi={name:`overflow`,initialValue:`visible`,prefix:!1,type:1,parse:function(e,t){return t.filter(F).map(function(e){switch(e.value){case`hidden`:return 1;case`scroll`:return 2;case`clip`:return 3;case`auto`:return 4;case`visible`:default:return 0}})}},Gi={name:`overflow-wrap`,initialValue:`normal`,prefix:!1,type:2,parse:function(e,t){switch(t){case`break-word`:return`break-word`;case`normal`:default:return`normal`}}},Ki=function(e){return{name:`padding-`+e,initialValue:`0`,prefix:!1,type:3,format:`length-percentage`}},qi=Ki(`top`),Ji=Ki(`right`),Yi=Ki(`bottom`),Xi=Ki(`left`),Zi={name:`text-align`,initialValue:`left`,prefix:!1,type:2,parse:function(e,t){switch(t){case`right`:return 2;case`center`:case`justify`:return 1;case`left`:default:return 0}}},Qi={name:`position`,initialValue:`static`,prefix:!1,type:2,parse:function(e,t){switch(t){case`relative`:return 1;case`absolute`:return 2;case`fixed`:return 3;case`sticky`:return 4}return 0}},$i={name:`text-shadow`,initialValue:`none`,type:1,prefix:!1,parse:function(e,t){return t.length===1&&tr(t[0],`none`)?[]:I(t).map(function(t){for(var n={color:H.TRANSPARENT,offsetX:R,offsetY:R,blur:R},r=0,i=0;i1?1:0],this.overflowWrap=G(e,Gi,t.overflowWrap),this.paddingTop=G(e,qi,t.paddingTop),this.paddingRight=G(e,Ji,t.paddingRight),this.paddingBottom=G(e,Yi,t.paddingBottom),this.paddingLeft=G(e,Xi,t.paddingLeft),this.paintOrder=G(e,Ea,t.paintOrder),this.position=G(e,Qi,t.position),this.textAlign=G(e,Zi,t.textAlign),this.textDecorationColor=G(e,fa,t.textDecorationColor??t.color),this.textDecorationLine=G(e,pa,t.textDecorationLine??t.textDecoration),this.textShadow=G(e,$i,t.textShadow),this.textTransform=G(e,ea,t.textTransform),this.transform=G(e,ta,t.transform),this.transformOrigin=G(e,aa,t.transformOrigin),this.visibility=G(e,oa,t.visibility),this.webkitTextStrokeColor=G(e,Da,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=G(e,Oa,t.webkitTextStrokeWidth),this.wordBreak=G(e,ca,t.wordBreak),this.zIndex=G(e,la,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},e.prototype.isTransparent=function(){return vr(this.backgroundColor)},e.prototype.isTransformed=function(){return this.transform!==null},e.prototype.isPositioned=function(){return this.position!==0},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return this.float!==0},e.prototype.isInlineLevel=function(){return W(this.display,4)||W(this.display,33554432)||W(this.display,268435456)||W(this.display,536870912)||W(this.display,67108864)||W(this.display,134217728)},e}(),Aa=function(){function e(e,t){this.content=G(e,ya,t.content),this.quotes=G(e,Ca,t.quotes)}return e}(),ja=function(){function e(e,t){this.counterIncrement=G(e,ba,t.counterIncrement),this.counterReset=G(e,xa,t.counterReset)}return e}(),G=function(e,t,n){var r=new Xn,i=n==null?t.initialValue:n.toString();r.write(i);var a=new Zn(r.read());switch(t.type){case 2:var o=a.parseComponentValue();return t.parse(e,F(o)?o.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case`angle`:return mr.parse(e,a.parseComponentValue());case`color`:return _r.parse(e,a.parseComponentValue());case`image`:return Yr.parse(e,a.parseComponentValue());case`length`:var s=a.parseComponentValue();return ar(s)?s:R;case`length-percentage`:var c=a.parseComponentValue();return L(c)?c:R;case`time`:return ua.parse(e,a.parseComponentValue())}break}},Ma=`data-html2canvas-debug`,Na=function(e){switch(e.getAttribute(Ma)){case`all`:return 1;case`clone`:return 2;case`parse`:return 3;case`render`:return 4;default:return 0}},Pa=function(e,t){var n=Na(e);return n===1||t===n},K=function(){function e(e,t){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Pa(t,3))debugger;this.styles=new ka(e,window.getComputedStyle(t,null)),xs(t)&&(this.styles.animationDuration.some(function(e){return e>0})&&(t.style.animationDuration=`0s`),this.styles.transform!==null&&(t.style.transform=`none`)),this.bounds=s(this.context,t),Pa(t,4)&&(this.flags|=16)}return e}(),Fa=`AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=`,Ia=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,La=typeof Uint8Array>`u`?[]:new Uint8Array(256),Ra=0;Ra>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},Ba=function(e){for(var t=e.length,n=[],r=0;r>Ha,qa=(1<>Ha)+32,Ya=65536>>Ua,Xa=(1<=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>Ha],t=(t<>Ha)],t=(t<>Ua),t=this.index[t],t+=e>>Ha&Xa,t=this.index[t],t=(t<`u`?[]:new Uint8Array(256),ro=0;ro=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(r+1===t||n.length>16384)&&(i+=String.fromCharCode.apply(String,n),n.length=0)}return i},xo=$a(Fa),So=`×`,Co=`÷`,wo=function(e){return xo.get(e)},To=function(e,t,n){var r=n-2,i=t[r],a=t[n-1],o=t[n];if(a===ao&&o===oo)return So;if(a===ao||a===oo||a===so||o===ao||o===oo||o===so)return Co;if(a===uo&&[uo,fo,mo,ho].indexOf(o)!==-1||(a===mo||a===fo)&&(o===fo||o===po)||(a===ho||a===po)&&o===po||o===go||o===co||o===lo||a===io)return So;if(a===go&&o===_o){for(;i===co;)i=t[--r];if(i===_o)return So}if(a===vo&&o===vo){for(var s=0;i===vo;)s++,i=t[--r];if(s%2==0)return So}return Co},Eo=function(e){var t=yo(e),n=t.length,r=0,i=0,a=t.map(wo);return{next:function(){if(r>=n)return{done:!0,value:null};for(var e=So;ro.x||i.y>o.y;return o=i,t===0?!0:s});return e.body.removeChild(t),s},Ao=function(){return new Image().crossOrigin!==void 0},jo=function(){return typeof new XMLHttpRequest().responseType==`string`},Mo=function(e){var t=new Image,n=e.createElement(`canvas`),r=n.getContext(`2d`);if(!r)return!1;t.src=`data:image/svg+xml,`;try{r.drawImage(t,0,0),n.toDataURL()}catch{return!1}return!0},No=function(e){return e[0]===0&&e[1]===255&&e[2]===0&&e[3]===255},Po=function(e){var t=e.createElement(`canvas`),n=100;t.width=n,t.height=n;var r=t.getContext(`2d`);if(!r)return Promise.reject(!1);r.fillStyle=`rgb(0, 255, 0)`,r.fillRect(0,0,n,n);var i=new Image,a=t.toDataURL();i.src=a;var o=Fo(n,n,0,0,i);return r.fillStyle=`red`,r.fillRect(0,0,n,n),Io(o).then(function(t){r.drawImage(t,0,0);var i=r.getImageData(0,0,n,n).data;r.fillStyle=`red`,r.fillRect(0,0,n,n);var o=e.createElement(`div`);return o.style.backgroundImage=`url(`+a+`)`,o.style.height=n+`px`,No(i)?Io(Fo(n,n,0,0,o)):Promise.reject(!1)}).then(function(e){return r.drawImage(e,0,0),No(r.getImageData(0,0,n,n).data)}).catch(function(){return!1})},Fo=function(e,t,n,r,i){var a=`http://www.w3.org/2000/svg`,o=document.createElementNS(a,`svg`),s=document.createElementNS(a,`foreignObject`);return o.setAttributeNS(null,`width`,e.toString()),o.setAttributeNS(null,`height`,t.toString()),s.setAttributeNS(null,`width`,`100%`),s.setAttributeNS(null,`height`,`100%`),s.setAttributeNS(null,`x`,n.toString()),s.setAttributeNS(null,`y`,r.toString()),s.setAttributeNS(null,`externalResourcesRequired`,`true`),o.appendChild(s),s.appendChild(i),o},Io=function(e){return new Promise(function(t,n){var r=new Image;r.onload=function(){return t(r)},r.onerror=n,r.src=`data:image/svg+xml;charset=utf-8,`+encodeURIComponent(new XMLSerializer().serializeToString(e))})},q={get SUPPORT_RANGE_BOUNDS(){var e=Oo(document);return Object.defineProperty(q,`SUPPORT_RANGE_BOUNDS`,{value:e}),e},get SUPPORT_WORD_BREAKING(){var e=q.SUPPORT_RANGE_BOUNDS&&ko(document);return Object.defineProperty(q,`SUPPORT_WORD_BREAKING`,{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=Mo(document);return Object.defineProperty(q,`SUPPORT_SVG_DRAWING`,{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e=typeof Array.from==`function`&&typeof window.fetch==`function`?Po(document):Promise.resolve(!1);return Object.defineProperty(q,`SUPPORT_FOREIGNOBJECT_DRAWING`,{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=Ao();return Object.defineProperty(q,`SUPPORT_CORS_IMAGES`,{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e=jo();return Object.defineProperty(q,`SUPPORT_RESPONSE_TYPE`,{value:e}),e},get SUPPORT_CORS_XHR(){var e=`withCredentials`in new XMLHttpRequest;return Object.defineProperty(q,`SUPPORT_CORS_XHR`,{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!!(typeof Intl<`u`&&Intl.Segmenter);return Object.defineProperty(q,`SUPPORT_NATIVE_TEXT_SEGMENTATION`,{value:e}),e}},Lo=function(){function e(e,t){this.text=e,this.bounds=t}return e}(),Ro=function(e,t,n,r){var i=Uo(t,n),a=[],s=0;return i.forEach(function(t){if(n.textDecorationLine.length||t.trim().length>0)if(q.SUPPORT_RANGE_BOUNDS){var i=Bo(r,s,t.length).getClientRects();if(i.length>1){var c=Vo(t),l=0;c.forEach(function(t){a.push(new Lo(t,o.fromDOMRectList(e,Bo(r,l+s,t.length).getClientRects()))),l+=t.length})}else a.push(new Lo(t,o.fromDOMRectList(e,i)))}else{var u=r.splitText(t.length);a.push(new Lo(t,zo(e,r))),r=u}else q.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length}),a},zo=function(e,t){var n=t.ownerDocument;if(n){var r=n.createElement(`html2canvaswrapper`);r.appendChild(t.cloneNode(!0));var i=t.parentNode;if(i){i.replaceChild(r,t);var a=s(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),a}}return o.EMPTY},Bo=function(e,t,n){var r=e.ownerDocument;if(!r)throw Error(`Node has no owner document`);var i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},Vo=function(e){if(q.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:`grapheme`});return Array.from(t.segment(e)).map(function(e){return e.segment})}return Do(e)},Ho=function(e,t){if(q.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:`word`});return Array.from(n.segment(e)).map(function(e){return e.segment})}return Go(e,t)},Uo=function(e,t){return t.letterSpacing===0?Ho(e,t):Vo(e)},Wo=[32,160,4961,65792,65793,4153,4241],Go=function(e,t){for(var n=ft(e,{lineBreak:t.lineBreak,wordBreak:t.overflowWrap===`break-word`?`break-word`:t.wordBreak}),r=[],i,a=function(){if(i.value){var e=l(i.value.slice()),t=``;e.forEach(function(e){Wo.indexOf(e)===-1?t+=u(e):(t.length&&r.push(t),r.push(u(e)),t=``)}),t.length&&r.push(t)}};!(i=n.next()).done;)a();return r},Ko=function(){function e(e,t,n){this.text=qo(t.data,n.textTransform),this.textBounds=Ro(e,this.text,n,t)}return e}(),qo=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(Jo,Yo);case 2:return e.toUpperCase();default:return e}},Jo=/(^|\s|:|-|\(|\))([a-z])/g,Yo=function(e,t,n){return e.length>0?t+n.toUpperCase():e},Xo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.src=n.currentSrc||n.src,r.intrinsicWidth=n.naturalWidth,r.intrinsicHeight=n.naturalHeight,r.context.cache.addImage(r.src),r}return n}(K),Zo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.canvas=n,r.intrinsicWidth=n.width,r.intrinsicHeight=n.height,r}return n}(K),Qo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this,i=new XMLSerializer,a=s(t,n);return n.setAttribute(`width`,a.width+`px`),n.setAttribute(`height`,a.height+`px`),r.svg=`data:image/svg+xml,`+encodeURIComponent(i.serializeToString(n)),r.intrinsicWidth=n.width.baseVal.value,r.intrinsicHeight=n.height.baseVal.value,r.context.cache.addImage(r.svg),r}return n}(K),$o=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.value=n.value,r}return n}(K),es=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.start=n.start,r.reversed=typeof n.reversed==`boolean`&&n.reversed===!0,r}return n}(K),ts=[{type:15,flags:0,unit:`px`,number:3}],ns=[{type:16,flags:0,number:50}],rs=function(e){return e.width>e.height?new o(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width0)n.textNodes.push(new Ko(e,i,n.styles));else if(bs(i))if(Ls(i)&&i.assignedNodes)i.assignedNodes().forEach(function(t){return ms(e,t,n,r)});else{var o=hs(e,i);o.styles.isVisible()&&(_s(i,o,r)?o.flags|=4:vs(o.styles)&&(o.flags|=2),ps.indexOf(i.tagName)!==-1&&(o.flags|=8),n.elements.push(o),i.slot,i.shadowRoot?ms(e,i.shadowRoot,o,r):!Fs(i)&&!Ds(i)&&!Is(i)&&ms(e,i,o,r))}},hs=function(e,t){return js(t)?new Xo(e,t):ks(t)?new Zo(e,t):Ds(t)?new Qo(e,t):Cs(t)?new $o(e,t):ws(t)?new es(e,t):Ts(t)?new ls(e,t):Is(t)?new us(e,t):Fs(t)?new ds(e,t):Ms(t)?new fs(e,t):new K(e,t)},gs=function(e,t){var n=hs(e,t);return n.flags|=4,ms(e,t,n,n),n},_s=function(e,t,n){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Os(e)&&n.styles.isTransparent()},vs=function(e){return e.isPositioned()||e.isFloating()},ys=function(e){return e.nodeType===Node.TEXT_NODE},bs=function(e){return e.nodeType===Node.ELEMENT_NODE},xs=function(e){return bs(e)&&e.style!==void 0&&!Ss(e)},Ss=function(e){return typeof e.className==`object`},Cs=function(e){return e.tagName===`LI`},ws=function(e){return e.tagName===`OL`},Ts=function(e){return e.tagName===`INPUT`},Es=function(e){return e.tagName===`HTML`},Ds=function(e){return e.tagName===`svg`},Os=function(e){return e.tagName===`BODY`},ks=function(e){return e.tagName===`CANVAS`},As=function(e){return e.tagName===`VIDEO`},js=function(e){return e.tagName===`IMG`},Ms=function(e){return e.tagName===`IFRAME`},Ns=function(e){return e.tagName===`STYLE`},Ps=function(e){return e.tagName===`SCRIPT`},Fs=function(e){return e.tagName===`TEXTAREA`},Is=function(e){return e.tagName===`SELECT`},Ls=function(e){return e.tagName===`SLOT`},Rs=function(e){return e.tagName.indexOf(`-`)>0},zs=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var t=this;e.forEach(function(e){return t.counters[e].pop()})},e.prototype.parse=function(e){var t=this,n=e.counterIncrement,r=e.counterReset,i=!0;n!==null&&n.forEach(function(e){var n=t.counters[e.counter];n&&e.increment!==0&&(i=!1,n.length||n.push(1),n[Math.max(0,n.length-1)]+=e.increment)});var a=[];return i&&r.forEach(function(e){var n=t.counters[e.counter];a.push(e.counter),n||=t.counters[e.counter]=[],n.push(e.reset)}),a},e}(),Bs={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:[`M`,`CM`,`D`,`CD`,`C`,`XC`,`L`,`XL`,`X`,`IX`,`V`,`IV`,`I`]},Vs={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:`Ք.Փ.Ւ.Ց.Ր.Տ.Վ.Ս.Ռ.Ջ.Պ.Չ.Ո.Շ.Ն.Յ.Մ.Ճ.Ղ.Ձ.Հ.Կ.Ծ.Խ.Լ.Ի.Ժ.Թ.Ը.Է.Զ.Ե.Դ.Գ.Բ.Ա`.split(`.`)},Hs={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:`י׳.ט׳.ח׳.ז׳.ו׳.ה׳.ד׳.ג׳.ב׳.א׳.ת.ש.ר.ק.צ.פ.ע.ס.נ.מ.ל.כ.יט.יח.יז.טז.טו.י.ט.ח.ז.ו.ה.ד.ג.ב.א`.split(`.`)},Us={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:`ჵ.ჰ.ჯ.ჴ.ხ.ჭ.წ.ძ.ც.ჩ.შ.ყ.ღ.ქ.ფ.ჳ.ტ.ს.რ.ჟ.პ.ო.ჲ.ნ.მ.ლ.კ.ი.თ.ჱ.ზ.ვ.ე.დ.გ.ბ.ა`.split(`.`)},Ws=function(e,t,n,r,i,a){return en?nc(e,i,a.length>0):r.integers.reduce(function(t,n,i){for(;e>=n;)e-=n,t+=r.values[i];return t},``)+a},Gs=function(e,t,n,r){var i=``;do n||e--,i=r(e)+i,e/=t;while(e*t>=t);return i},J=function(e,t,n,r,i){var a=n-t+1;return(e<0?`-`:``)+(Gs(Math.abs(e),a,r,function(e){return u(Math.floor(e%a)+t)})+i)},Ks=function(e,t,n){n===void 0&&(n=`. `);var r=t.length;return Gs(Math.abs(e),r,!1,function(e){return t[Math.floor(e%r)]})+n},qs=1,Js=2,Ys=4,Xs=8,Zs=function(e,t,n,r,i,a){if(e<-9999||e>9999)return nc(e,4,i.length>0);var o=Math.abs(e),s=i;if(o===0)return t[0]+s;for(var c=0;o>0&&c<=4;c++){var l=o%10;l===0&&W(a,qs)&&s!==``?s=t[l]+s:l>1||l===1&&c===0||l===1&&c===1&&W(a,Js)||l===1&&c===1&&W(a,Ys)&&e>100||l===1&&c>1&&W(a,Xs)?s=t[l]+(c>0?n[c-1]:``)+s:l===1&&c>0&&(s=n[c-1]+s),o=Math.floor(o/10)}return(e<0?r:``)+s},Qs=`十百千萬`,$s=`拾佰仟萬`,ec=`マイナス`,tc=`마이너스`,nc=function(e,t,n){var r=n?`. `:``,i=n?`、`:``,a=n?`, `:``,o=n?` `:``;switch(t){case 0:return`•`+o;case 1:return`◦`+o;case 2:return`◾`+o;case 5:var s=J(e,48,57,!0,r);return s.length<4?`0`+s:s;case 4:return Ks(e,`〇一二三四五六七八九`,i);case 6:return Ws(e,1,3999,Bs,3,r).toLowerCase();case 7:return Ws(e,1,3999,Bs,3,r);case 8:return J(e,945,969,!1,r);case 9:return J(e,97,122,!1,r);case 10:return J(e,65,90,!1,r);case 11:return J(e,1632,1641,!0,r);case 12:case 49:return Ws(e,1,9999,Vs,3,r);case 35:return Ws(e,1,9999,Vs,3,r).toLowerCase();case 13:return J(e,2534,2543,!0,r);case 14:case 30:return J(e,6112,6121,!0,r);case 15:return Ks(e,`子丑寅卯辰巳午未申酉戌亥`,i);case 16:return Ks(e,`甲乙丙丁戊己庚辛壬癸`,i);case 17:case 48:return Zs(e,`零一二三四五六七八九`,Qs,`負`,i,Js|Ys|Xs);case 47:return Zs(e,`零壹貳參肆伍陸柒捌玖`,$s,`負`,i,qs|Js|Ys|Xs);case 42:return Zs(e,`零一二三四五六七八九`,Qs,`负`,i,Js|Ys|Xs);case 41:return Zs(e,`零壹贰叁肆伍陆柒捌玖`,$s,`负`,i,qs|Js|Ys|Xs);case 26:return Zs(e,`〇一二三四五六七八九`,`十百千万`,ec,i,0);case 25:return Zs(e,`零壱弐参四伍六七八九`,`拾百千万`,ec,i,qs|Js|Ys);case 31:return Zs(e,`영일이삼사오육칠팔구`,`십백천만`,tc,a,qs|Js|Ys);case 33:return Zs(e,`零一二三四五六七八九`,`十百千萬`,tc,a,0);case 32:return Zs(e,`零壹貳參四五六七八九`,`拾百千`,tc,a,qs|Js|Ys);case 18:return J(e,2406,2415,!0,r);case 20:return Ws(e,1,19999,Us,3,r);case 21:return J(e,2790,2799,!0,r);case 22:return J(e,2662,2671,!0,r);case 22:return Ws(e,1,10999,Hs,3,r);case 23:return Ks(e,`あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん`);case 24:return Ks(e,`いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす`);case 27:return J(e,3302,3311,!0,r);case 28:return Ks(e,`アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン`,i);case 29:return Ks(e,`イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス`,i);case 34:return J(e,3792,3801,!0,r);case 37:return J(e,6160,6169,!0,r);case 38:return J(e,4160,4169,!0,r);case 39:return J(e,2918,2927,!0,r);case 40:return J(e,1776,1785,!0,r);case 43:return J(e,3046,3055,!0,r);case 44:return J(e,3174,3183,!0,r);case 45:return J(e,3664,3673,!0,r);case 46:return J(e,3872,3881,!0,r);case 3:default:return J(e,48,57,!0,r)}},rc=`data-html2canvas-ignore`,ic=function(){function e(e,t,n){if(this.context=e,this.options=n,this.scrolledElements=[],this.referenceElement=t,this.counters=new zs,this.quoteDepth=0,!t.ownerDocument)throw Error(`Cloned element does not have an owner document`);this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var n=this,a=oc(e,t);if(!a.contentWindow)return Promise.reject(`Unable to find iframe window`);var o=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,c=a.contentWindow,l=c.document,u=lc(a).then(function(){return r(n,void 0,void 0,function(){var e,n;return i(this,function(r){switch(r.label){case 0:return this.scrolledElements.forEach(mc),c&&(c.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(c.scrollY!==t.top||c.scrollX!==t.left)&&(this.context.logger.warn(`Unable to restore scroll position for cloned document`),this.context.windowBounds=this.context.windowBounds.add(c.scrollX-t.left,c.scrollY-t.top,0,0))),e=this.options.onclone,n=this.clonedReferenceElement,n===void 0?[2,Promise.reject(`Error finding the `+this.referenceElement.nodeName+` in the cloned document`)]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,cc(l)]:[3,4];case 3:r.sent(),r.label=4;case 4:return typeof e==`function`?[2,Promise.resolve().then(function(){return e(l,n)}).then(function(){return a})]:[2,a]}})})});return l.open(),l.write(fc(document.doctype)+``),pc(this.referenceElement.ownerDocument,o,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),u},e.prototype.createElementClone=function(e){if(Pa(e,2))debugger;if(ks(e))return this.createCanvasClone(e);if(As(e))return this.createVideoClone(e);if(Ns(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return js(t)&&(js(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=``),t.loading===`lazy`&&(t.loading=`eager`)),Rs(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement(`html2canvascustomelement`);return dc(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var n=[].slice.call(t.cssRules,0).reduce(function(e,t){return t&&typeof t.cssText==`string`?e+t.cssText:e},``),r=e.cloneNode(!1);return r.textContent=n,r}}catch(e){if(this.context.logger.error(`Unable to access cssRules property`,e),e.name!==`SecurityError`)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement(`img`);try{return t.src=e.toDataURL(),t}catch{this.context.logger.info(`Unable to inline canvas contents, canvas is tainted`,e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var r=e.getContext(`2d`),i=n.getContext(`2d`);if(i)if(!this.options.allowTaint&&r)i.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var a=e.getContext(`webgl2`)??e.getContext(`webgl`);a&&a.getContextAttributes()?.preserveDrawingBuffer===!1&&this.context.logger.warn(`Unable to clone WebGL context as it has preserveDrawingBuffer=false`,e),i.drawImage(e,0,0)}return n}catch{this.context.logger.info(`Unable to clone canvas as it is tainted`,e)}return n},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement(`canvas`);t.width=e.offsetWidth,t.height=e.offsetHeight;var n=t.getContext(`2d`);try{return n&&(n.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||n.getImageData(0,0,t.width,t.height)),t}catch{this.context.logger.info(`Unable to clone video as it is tainted`,e)}var r=e.ownerDocument.createElement(`canvas`);return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,t,n){(!bs(t)||!Ps(t)&&!t.hasAttribute(rc)&&(typeof this.options.ignoreElements!=`function`||!this.options.ignoreElements(t)))&&(!this.options.copyStyles||!bs(t)||!Ns(t))&&e.appendChild(this.cloneNode(t,n))},e.prototype.cloneChildNodes=function(e,t,n){for(var r=this,i=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;i;i=i.nextSibling)if(bs(i)&&Ls(i)&&typeof i.assignedNodes==`function`){var a=i.assignedNodes();a.length&&a.forEach(function(e){return r.appendChildNode(t,e,n)})}else this.appendChildNode(t,i,n)},e.prototype.cloneNode=function(e,t){if(ys(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&bs(e)&&(xs(e)||Ss(e))){var r=this.createElementClone(e);r.style.transitionProperty=`none`;var i=n.getComputedStyle(e),a=n.getComputedStyle(e,`:before`),o=n.getComputedStyle(e,`:after`);this.referenceElement===e&&xs(r)&&(this.clonedReferenceElement=r),Os(r)&&bc(r);var s=this.counters.parse(new ja(this.context,i)),c=this.resolvePseudoContent(e,r,a,ac.BEFORE);Rs(e)&&(t=!0),As(e)||this.cloneChildNodes(e,r,t),c&&r.insertBefore(c,r.firstChild);var l=this.resolvePseudoContent(e,r,o,ac.AFTER);return l&&r.appendChild(l),this.counters.pop(s),(i&&(this.options.copyStyles||Ss(e))&&!Ms(e)||t)&&dc(i,r),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(Fs(e)||Is(e))&&(Fs(r)||Is(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,n,r){var i=this;if(n){var a=n.content,o=t.ownerDocument;if(!(!o||!a||a===`none`||a===`-moz-alt-content`||n.display===`none`)){this.counters.parse(new ja(this.context,n));var s=new Aa(this.context,n),c=o.createElement(`html2canvaspseudoelement`);dc(n,c),s.content.forEach(function(t){if(t.type===0)c.appendChild(o.createTextNode(t.value));else if(t.type===22){var n=o.createElement(`img`);n.src=t.value,n.style.opacity=`1`,c.appendChild(n)}else if(t.type===18){if(t.name===`attr`){var r=t.values.filter(F);r.length&&c.appendChild(o.createTextNode(e.getAttribute(r[0].value)||``))}else if(t.name===`counter`){var a=t.values.filter(rr),l=a[0],u=a[1];if(l&&F(l)){var d=i.counters.getCounterValue(l.value),f=u&&F(u)?Ri.parse(i.context,u.value):3;c.appendChild(o.createTextNode(nc(d,f,!1)))}}else if(t.name===`counters`){var p=t.values.filter(rr),l=p[0],m=p[1],u=p[2];if(l&&F(l)){var h=i.counters.getCounterValues(l.value),g=u&&F(u)?Ri.parse(i.context,u.value):3,_=m&&m.type===0?m.value:``,v=h.map(function(e){return nc(e,g,!1)}).join(_);c.appendChild(o.createTextNode(v))}}}else if(t.type===20)switch(t.value){case`open-quote`:c.appendChild(o.createTextNode(wa(s.quotes,i.quoteDepth++,!0)));break;case`close-quote`:c.appendChild(o.createTextNode(wa(s.quotes,--i.quoteDepth,!1)));break;default:c.appendChild(o.createTextNode(t.value))}}),c.className=_c+` `+vc;var l=r===ac.BEFORE?` `+_c:` `+vc;return Ss(t)?t.className.baseValue+=l:t.className+=l,c}}},e.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},e}(),ac;(function(e){e[e.BEFORE=0]=`BEFORE`,e[e.AFTER=1]=`AFTER`})(ac||={});var oc=function(e,t){var n=e.createElement(`iframe`);return n.className=`html2canvas-container`,n.style.visibility=`hidden`,n.style.position=`fixed`,n.style.left=`-10000px`,n.style.top=`0px`,n.style.border=`0`,n.width=t.width.toString(),n.height=t.height.toString(),n.scrolling=`no`,n.setAttribute(rc,`true`),e.body.appendChild(n),n},sc=function(e){return new Promise(function(t){if(e.complete){t();return}if(!e.src){t();return}e.onload=t,e.onerror=t})},cc=function(e){return Promise.all([].slice.call(e.images,0).map(sc))},lc=function(e){return new Promise(function(t,n){var r=e.contentWindow;if(!r)return n(`No window assigned for iframe`);var i=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval(function(){i.body.childNodes.length>0&&i.readyState===`complete`&&(clearInterval(n),t(e))},50)}})},uc=[`all`,`d`,`content`],dc=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e.item(n);uc.indexOf(r)===-1&&t.style.setProperty(r,e.getPropertyValue(r))}return t},fc=function(e){var t=``;return e&&(t+=``),t},pc=function(e,t,n){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||n!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,n)},mc=function(e){var t=e[0],n=e[1],r=e[2];t.scrollLeft=n,t.scrollTop=r},hc=`:before`,gc=`:after`,_c=`___html2canvas___pseudoelement_before`,vc=`___html2canvas___pseudoelement_after`,yc=`{ +import{mi as e}from"./index-DW_ZnoNU.js";var t=e(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.html2canvas=r())})(e,(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};function t(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}var n=function(){return n=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&a[a.length-1]))&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(r+1===t||n.length>16384)&&(i+=String.fromCharCode.apply(String,n),n.length=0)}return i},d=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,f=typeof Uint8Array>`u`?[]:new Uint8Array(256),p=0;p`u`?[]:new Uint8Array(256),g=0;g>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},v=function(e){for(var t=e.length,n=[],r=0;r>b,T=(1<>b)+32,D=65536>>x,O=(1<=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>b],t=(t<>b)],t=(t<>x),t=this.index[t],t+=e>>b&O,t=this.index[t],t=(t<`u`?[]:new Uint8Array(256),oe=0;oece?(i.push(!0),o-=ce):i.push(!1),[`normal`,`auto`,`loose`].indexOf(t)!==-1&&[8208,8211,12316,12448].indexOf(e)!==-1)return r.push(a),n.push(Ce);if(o===fe||o===ve){if(a===0)return r.push(a),n.push(Ie);var s=n[a-1];return rt.indexOf(s)===-1?(r.push(r[a-1]),n.push(s)):(r.push(a),n.push(Ie))}if(r.push(a),o===Le)return n.push(t===`strict`?Oe:Ue);if(o===Je||o===Fe)return n.push(Ie);if(o===Ye)return e>=131072&&e<=196605||e>=196608&&e<=262141?n.push(Ue):n.push(Ie);n.push(o)}),[r,n,i]},st=function(e,t,n,r){var i=r[n];if(Array.isArray(e)?e.indexOf(i)!==-1:e===i)for(var a=n;a<=r.length;){a++;var o=r[a];if(o===t)return!0;if(o!==_e)break}if(i===_e)for(var a=n;a>0;){a--;var s=r[a];if(Array.isArray(e)?e.indexOf(s)!==-1:e===s)for(var c=n;c<=r.length;){c++;var o=r[c];if(o===t)return!0;if(o!==_e)break}if(s!==_e)break}return!1},ct=function(e,t){for(var n=e;n>=0;){var r=t[n];if(r===_e)n--;else return r}return 0},lt=function(e,t,n,r,i){if(n[r]===0)return A;var a=r-1;if(Array.isArray(i)&&i[a]===!0)return A;var o=a-1,s=a+1,c=t[a],l=o>=0?t[o]:0,u=t[s];if(c===ue&&u===de)return A;if(et.indexOf(c)!==-1)return Ze;if(et.indexOf(u)!==-1||tt.indexOf(u)!==-1)return A;if(ct(a,t)===he)return Qe;if($e.get(e[a])===ve||(c===Re||c===ze)&&$e.get(e[s])===ve||c===me||u===me||c===ge||[_e,be,Se].indexOf(c)===-1&&u===ge||[we,Te,Ee,je,Pe].indexOf(u)!==-1||ct(a,t)===ke||st(Ae,ke,a,t)||st([we,Te],Oe,a,t)||st(ye,ye,a,t))return A;if(c===_e)return Qe;if(c===Ae||u===Ae)return A;if(u===Ce||c===Ce)return Qe;if([be,Se,Oe].indexOf(u)!==-1||c===xe||l===He&&at.indexOf(c)!==-1||c===Pe&&u===He||u===De||j.indexOf(u)!==-1&&c===k||j.indexOf(c)!==-1&&u===k||c===Ne&&[Ue,Re,ze].indexOf(u)!==-1||[Ue,Re,ze].indexOf(c)!==-1&&u===Me||j.indexOf(c)!==-1&&nt.indexOf(u)!==-1||nt.indexOf(c)!==-1&&j.indexOf(u)!==-1||[Ne,Me].indexOf(c)!==-1&&(u===k||[ke,Se].indexOf(u)!==-1&&t[s+1]===k)||[ke,Se].indexOf(c)!==-1&&u===k||c===k&&[k,Pe,je].indexOf(u)!==-1)return A;if([k,Pe,je,we,Te].indexOf(u)!==-1)for(var d=a;d>=0;){var f=t[d];if(f===k)return A;if([Pe,je].indexOf(f)!==-1)d--;else break}if([Ne,Me].indexOf(u)!==-1)for(var d=[we,Te].indexOf(c)===-1?a:o;d>=0;){var f=t[d];if(f===k)return A;if([Pe,je].indexOf(f)!==-1)d--;else break}if(We===c&&[We,Ge,Be,Ve].indexOf(u)!==-1||[Ge,Be].indexOf(c)!==-1&&[Ge,Ke].indexOf(u)!==-1||[Ke,Ve].indexOf(c)!==-1&&u===Ke||it.indexOf(c)!==-1&&[De,Me].indexOf(u)!==-1||it.indexOf(u)!==-1&&c===Ne||j.indexOf(c)!==-1&&j.indexOf(u)!==-1||c===je&&j.indexOf(u)!==-1||j.concat(k).indexOf(c)!==-1&&u===ke&&Xe.indexOf(e[s])===-1||j.concat(k).indexOf(u)!==-1&&c===Te)return A;if(c===qe&&u===qe){for(var p=n[a],m=1;p>0&&(p--,t[p]===qe);)m++;if(m%2!=0)return A}return c===Re&&u===ze?A:Qe},ut=function(e,t){t||={lineBreak:`normal`,wordBreak:`normal`};var n=ot(e,t.lineBreak),r=n[0],i=n[1],a=n[2];(t.wordBreak===`break-all`||t.wordBreak===`break-word`)&&(i=i.map(function(e){return[k,Ie,Je].indexOf(e)===-1?e:Ue}));var o=t.wordBreak===`keep-all`?a.map(function(t,n){return t&&e[n]>=19968&&e[n]<=40959}):void 0;return[r,i,o]},dt=function(){function e(e,t,n,r){this.codePoints=e,this.required=t===Ze,this.start=n,this.end=r}return e.prototype.slice=function(){return u.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),ft=function(e,t){var n=l(e),r=ut(n,t),i=r[0],a=r[1],o=r[2],s=n.length,c=0,u=0;return{next:function(){if(u>=s)return{done:!0,value:null};for(var e=A;u=rn&&e<=57},hn=function(e){return e>=55296&&e<=57343},gn=function(e){return P(e)||e>=un&&e<=fn||e>=an&&e<=sn},_n=function(e){return e>=an&&e<=ln},vn=function(e){return e>=un&&e<=mn},yn=function(e){return _n(e)||vn(e)},bn=function(e){return e>=Ut},xn=function(e){return e===_t||e===bt||e===xt},Sn=function(e){return yn(e)||bn(e)||e===At},Cn=function(e){return Sn(e)||P(e)||e===M},wn=function(e){return e>=Zt&&e<=Qt||e===$t||e>=en&&e<=tn||e===nn},Tn=function(e,t){return e===yt?t!==_t:!1},En=function(e,t,n){return e===M?Sn(t)||Tn(t,n):Sn(e)?!0:!!(e===yt&&Tn(e,t))},Dn=function(e,t,n){return e===Kt||e===M?P(t)?!0:t===Xt&&P(n):P(e===Xt?t:e)},On=function(e){var t=0,n=1;(e[t]===Kt||e[t]===M)&&(e[t]===M&&(n=-1),t++);for(var r=[];P(e[t]);)r.push(e[t++]);var i=r.length?parseInt(u.apply(void 0,r),10):0;e[t]===Xt&&t++;for(var a=[];P(e[t]);)a.push(e[t++]);var o=a.length,s=o?parseInt(u.apply(void 0,a),10):0;(e[t]===dn||e[t]===on)&&t++;var c=1;(e[t]===Kt||e[t]===M)&&(e[t]===M&&(c=-1),t++);for(var l=[];P(e[t]);)l.push(e[t++]);var d=l.length?parseInt(u.apply(void 0,l),10):0;return n*(i+s*10**-o)*10**(c*d)},kn={type:2},An={type:3},jn={type:4},Mn={type:13},Nn={type:8},Pn={type:21},Fn={type:9},In={type:10},Ln={type:11},Rn={type:12},zn={type:14},Bn={type:23},Vn={type:1},Hn={type:25},Un={type:24},Wn={type:26},Gn={type:27},Kn={type:28},qn={type:29},Jn={type:31},Yn={type:32},Xn=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(l(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==Yn;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case St:return this.consumeStringToken(St);case wt:var t=this.peekCodePoint(0),n=this.peekCodePoint(1),r=this.peekCodePoint(2);if(Cn(t)||Tn(n,r)){var i=En(t,n,r)?mt:pt,a=this.consumeName();return{type:5,value:a,flags:i}}break;case Tt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Mn;break;case Dt:return this.consumeStringToken(Dt);case Ot:return kn;case kt:return An;case Gt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),zn;break;case Kt:if(Dn(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case qt:return jn;case M:var o=e,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(Dn(o,s,c))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(En(o,s,c))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(s===M&&c===Nt)return this.consumeCodePoint(),this.consumeCodePoint(),Un;break;case Xt:if(Dn(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case vt:if(this.peekCodePoint(0)===Gt)for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(l===Gt&&(l=this.consumeCodePoint(),l===vt)||l===N)return this.consumeToken()}break;case Jt:return Wn;case Yt:return Gn;case Mt:if(this.peekCodePoint(0)===jt&&this.peekCodePoint(1)===M&&this.peekCodePoint(2)===M)return this.consumeCodePoint(),this.consumeCodePoint(),Hn;break;case Pt:if(En(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var a=this.consumeName();return{type:7,value:a}}break;case Ft:return Kn;case yt:if(Tn(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case It:return qn;case Lt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Nn;break;case Rt:return Ln;case Bt:return Rn;case cn:case pn:var d=this.peekCodePoint(0),f=this.peekCodePoint(1);return d===Kt&&(gn(f)||f===zt)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case Vt:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),Fn;if(this.peekCodePoint(0)===Vt)return this.consumeCodePoint(),Pn;break;case Ht:if(this.peekCodePoint(0)===Ct)return this.consumeCodePoint(),In;break;case N:return Yn}return xn(e)?(this.consumeWhiteSpace(),Jn):P(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):Sn(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:u(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return e===void 0?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();gn(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var n=!1;t===zt&&e.length<6;)e.push(t),t=this.consumeCodePoint(),n=!0;if(n){var r=parseInt(u.apply(void 0,e.map(function(e){return e===zt?rn:e})),16),i=parseInt(u.apply(void 0,e.map(function(e){return e===zt?fn:e})),16);return{type:30,start:r,end:i}}var a=parseInt(u.apply(void 0,e),16);if(this.peekCodePoint(0)===M&&gn(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var o=[];gn(t)&&o.length<6;)o.push(t),t=this.consumeCodePoint();var i=parseInt(u.apply(void 0,o),16);return{type:30,start:a,end:i}}else return{type:30,start:a,end:a}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return e.toLowerCase()===`url`&&this.peekCodePoint(0)===Ot?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Ot?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===N)return{type:22,value:``};var t=this.peekCodePoint(0);if(t===Dt||t===St){var n=this.consumeStringToken(this.consumeCodePoint());return n.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===N||this.peekCodePoint(0)===kt)?(this.consumeCodePoint(),{type:22,value:n.value}):(this.consumeBadUrlRemnants(),Bn)}for(;;){var r=this.consumeCodePoint();if(r===N||r===kt)return{type:22,value:u.apply(void 0,e)};if(xn(r))return this.consumeWhiteSpace(),this.peekCodePoint(0)===N||this.peekCodePoint(0)===kt?(this.consumeCodePoint(),{type:22,value:u.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Bn);if(r===St||r===Dt||r===Ot||wn(r))return this.consumeBadUrlRemnants(),Bn;if(r===yt)if(Tn(r,this.peekCodePoint(0)))e.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),Bn;else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;xn(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(e===kt||e===N)return;Tn(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t=5e4,n=``;e>0;){var r=Math.min(t,e);n+=u.apply(void 0,this._value.splice(0,r)),e-=r}return this._value.shift(),n},e.prototype.consumeStringToken=function(e){var t=``,n=0;do{var r=this._value[n];if(r===N||r===void 0||r===e)return t+=this.consumeStringSlice(n),{type:0,value:t};if(r===_t)return this._value.splice(0,n),Vn;if(r===yt){var i=this._value[n+1];i!==N&&i!==void 0&&(i===_t?(t+=this.consumeStringSlice(n),n=-1,this._value.shift()):Tn(r,i)&&(t+=this.consumeStringSlice(n),t+=u(this.consumeEscapedCodePoint()),n=-1))}n++}while(!0)},e.prototype.consumeNumber=function(){var e=[],t=ht,n=this.peekCodePoint(0);for((n===Kt||n===M)&&e.push(this.consumeCodePoint());P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(n===Xt&&P(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=gt;P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0),r=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((n===dn||n===on)&&((r===Kt||r===M)&&P(i)||P(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=gt;P(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[On(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],n=e[1],r=this.peekCodePoint(0);return En(r,this.peekCodePoint(1),this.peekCodePoint(2))?{type:15,number:t,flags:n,unit:this.consumeName()}:r===Et?(this.consumeCodePoint(),{type:16,number:t,flags:n}):{type:17,number:t,flags:n}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(gn(e)){for(var t=u(e);gn(this.peekCodePoint(0))&&t.length<6;)t+=u(this.consumeCodePoint());xn(this.peekCodePoint(0))&&this.consumeCodePoint();var n=parseInt(t,16);return n===0||hn(n)||n>1114111?Wt:n}return e===N?Wt:e},e.prototype.consumeName=function(){for(var e=``;;){var t=this.consumeCodePoint();if(Cn(t))e+=u(t);else if(Tn(t,this.peekCodePoint(0)))e+=u(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(t),e}},e}(),Zn=function(){function e(e){this._tokens=e}return e.create=function(t){var n=new Xn;return n.write(t),new e(n.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();e.type===31;)e=this.consumeToken();if(e.type===32)throw SyntaxError(`Error parsing CSS component value, unexpected EOF`);this.reconsumeToken(e);var t=this.consumeComponentValue();do e=this.consumeToken();while(e.type===31);if(e.type===32)return t;throw SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`)},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(t.type===32)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},n=this.consumeToken();;){if(n.type===32||ir(n,e))return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue()),n=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var n=this.consumeToken();if(n.type===32||n.type===3)return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return e===void 0?Yn:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Qn=function(e){return e.type===15},$n=function(e){return e.type===17},F=function(e){return e.type===20},er=function(e){return e.type===0},tr=function(e,t){return F(e)&&e.value===t},nr=function(e){return e.type!==31},rr=function(e){return e.type!==31&&e.type!==4},I=function(e){var t=[],n=[];return e.forEach(function(e){if(e.type===4){if(n.length===0)throw Error(`Error parsing function args, zero tokens for arg`);t.push(n),n=[];return}e.type!==31&&n.push(e)}),n.length&&t.push(n),t},ir=function(e,t){return t===11&&e.type===12||t===28&&e.type===29?!0:t===2&&e.type===3},ar=function(e){return e.type===17||e.type===15},L=function(e){return e.type===16||ar(e)},or=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},R={type:17,number:0,flags:ht},sr={type:16,number:50,flags:ht},cr={type:16,number:100,flags:ht},lr=function(e,t,n){var r=e[0],i=e[1];return[z(r,t),z(i===void 0?r:i,n)]},z=function(e,t){if(e.type===16)return e.number/100*t;if(Qn(e))switch(e.unit){case`rem`:case`em`:return 16*e.number;case`px`:default:return e.number}return e.number},ur=`deg`,dr=`grad`,fr=`rad`,pr=`turn`,mr={name:`angle`,parse:function(e,t){if(t.type===15)switch(t.unit){case ur:return Math.PI*t.number/180;case dr:return Math.PI/200*t.number;case fr:return t.number;case pr:return Math.PI*2*t.number}throw Error(`Unsupported angle type`)}},hr=function(e){return e.type===15&&(e.unit===ur||e.unit===dr||e.unit===fr||e.unit===pr)},gr=function(e){switch(e.filter(F).map(function(e){return e.value}).join(` `)){case`to bottom right`:case`to right bottom`:case`left top`:case`top left`:return[R,R];case`to top`:case`bottom`:return B(0);case`to bottom left`:case`to left bottom`:case`right top`:case`top right`:return[R,cr];case`to right`:case`left`:return B(90);case`to top left`:case`to left top`:case`right bottom`:case`bottom right`:return[cr,cr];case`to bottom`:case`top`:return B(180);case`to top right`:case`to right top`:case`left bottom`:case`bottom left`:return[cr,R];case`to left`:case`right`:return B(270)}return 0},B=function(e){return Math.PI*e/180},_r={name:`color`,parse:function(e,t){if(t.type===18){var n=wr[t.name];if(n===void 0)throw Error(`Attempting to parse an unsupported color function "`+t.name+`"`);return n(e,t.values)}if(t.type===5){if(t.value.length===3){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);return yr(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(t.value.length===4){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3),o=t.value.substring(3,4);return yr(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(o+o,16)/255)}if(t.value.length===6){var r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6);return yr(parseInt(r,16),parseInt(i,16),parseInt(a,16),1)}if(t.value.length===8){var r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6),o=t.value.substring(6,8);return yr(parseInt(r,16),parseInt(i,16),parseInt(a,16),parseInt(o,16)/255)}}if(t.type===20){var s=H[t.value.toUpperCase()];if(s!==void 0)return s}return H.TRANSPARENT}},vr=function(e){return(255&e)==0},V=function(e){var t=255&e,n=255&e>>8,r=255&e>>16,i=255&e>>24;return t<255?`rgba(`+i+`,`+r+`,`+n+`,`+t/255+`)`:`rgb(`+i+`,`+r+`,`+n+`)`},yr=function(e,t,n,r){return(e<<24|t<<16|n<<8|Math.round(r*255)<<0)>>>0},br=function(e,t){if(e.type===17)return e.number;if(e.type===16){var n=t===3?1:255;return t===3?e.number/100*n:Math.round(e.number/100*n)}return 0},xr=function(e,t){var n=t.filter(rr);if(n.length===3){var r=n.map(br),i=r[0],a=r[1],o=r[2];return yr(i,a,o,1)}if(n.length===4){var s=n.map(br),i=s[0],a=s[1],o=s[2],c=s[3];return yr(i,a,o,c)}return 0};function Sr(e,t,n){return n<0&&(n+=1),n>=1&&--n,n<1/6?(t-e)*n*6+e:n<1/2?t:n<2/3?(t-e)*6*(2/3-n)+e:e}var Cr=function(e,t){var n=t.filter(rr),r=n[0],i=n[1],a=n[2],o=n[3],s=(r.type===17?B(r.number):mr.parse(e,r))/(Math.PI*2),c=L(i)?i.number/100:0,l=L(a)?a.number/100:0,u=o!==void 0&&L(o)?z(o,1):1;if(c===0)return yr(l*255,l*255,l*255,1);var d=l<=.5?l*(c+1):l+c-l*c,f=l*2-d,p=Sr(f,d,s+1/3),m=Sr(f,d,s),h=Sr(f,d,s-1/3);return yr(p*255,m*255,h*255,u)},wr={hsl:Cr,hsla:Cr,rgb:xr,rgba:xr},Tr=function(e,t){return _r.parse(e,Zn.create(t).parseComponentValue())},H={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},Er={name:`background-clip`,initialValue:`border-box`,prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(F(e))switch(e.value){case`padding-box`:return 1;case`content-box`:return 2}return 0})}},Dr={name:`background-color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`},Or=function(e,t){var n=_r.parse(e,t[0]),r=t[1];return r&&L(r)?{color:n,stop:r}:{color:n,stop:null}},kr=function(e,t){var n=e[0],r=e[e.length-1];n.stop===null&&(n.stop=R),r.stop===null&&(r.stop=cr);for(var i=[],a=0,o=0;oa?i.push(c):i.push(a),a=c}else i.push(null)}for(var l=null,o=0;oe.optimumDistance)?{optimumCorner:t,optimumDistance:s}:e},{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},Nr=function(e,t,n,r,i){var a=0,o=0;switch(e.size){case 0:e.shape===0?a=o=Math.min(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):e.shape===1&&(a=Math.min(Math.abs(t),Math.abs(t-r)),o=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(e.shape===0)a=o=Math.min(U(t,n),U(t,n-i),U(t-r,n),U(t-r,n-i));else if(e.shape===1){var s=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(t),Math.abs(t-r)),c=Mr(r,i,t,n,!0),l=c[0],u=c[1];a=U(l-t,(u-n)/s),o=s*a}break;case 1:e.shape===0?a=o=Math.max(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):e.shape===1&&(a=Math.max(Math.abs(t),Math.abs(t-r)),o=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(e.shape===0)a=o=Math.max(U(t,n),U(t,n-i),U(t-r,n),U(t-r,n-i));else if(e.shape===1){var s=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(t),Math.abs(t-r)),d=Mr(r,i,t,n,!1),l=d[0],u=d[1];a=U(l-t,(u-n)/s),o=s*a}break}return Array.isArray(e.size)&&(a=z(e.size[0],r),o=e.size.length===2?z(e.size[1],i):a),[a,o]},Pr=function(e,t){var n=B(180),r=[];return I(t).forEach(function(t,i){if(i===0){var a=t[0];if(a.type===20&&a.value===`to`){n=gr(t);return}else if(hr(a)){n=mr.parse(e,a);return}}var o=Or(e,t);r.push(o)}),{angle:n,stops:r,type:1}},Fr=function(e,t){var n=B(180),r=[];return I(t).forEach(function(t,i){if(i===0){var a=t[0];if(a.type===20&&[`top`,`left`,`right`,`bottom`].indexOf(a.value)!==-1){n=gr(t);return}else if(hr(a)){n=(mr.parse(e,a)+B(270))%B(360);return}}var o=Or(e,t);r.push(o)}),{angle:n,stops:r,type:1}},Ir=function(e,t){var n=B(180),r=[],i=1;return I(t).forEach(function(t,n){var a=t[0];if(n===0){if(F(a)&&a.value===`linear`){i=1;return}else if(F(a)&&a.value===`radial`){i=2;return}}if(a.type===18){if(a.name===`from`){var o=_r.parse(e,a.values[0]);r.push({stop:R,color:o})}else if(a.name===`to`){var o=_r.parse(e,a.values[0]);r.push({stop:cr,color:o})}else if(a.name===`color-stop`){var s=a.values.filter(rr);if(s.length===2){var o=_r.parse(e,s[1]),c=s[0];$n(c)&&r.push({stop:{type:16,number:c.number*100,flags:c.flags},color:o})}}}}),i===1?{angle:(n+B(180))%B(360),stops:r,type:i}:{size:3,shape:0,stops:r,position:[],type:i}},Lr=`closest-side`,Rr=`farthest-side`,zr=`closest-corner`,Br=`farthest-corner`,Vr=`circle`,Hr=`ellipse`,Ur=`cover`,Wr=`contain`,Gr=function(e,t){var n=0,r=3,i=[],a=[];return I(t).forEach(function(t,o){var s=!0;if(o===0){var c=!1;s=t.reduce(function(e,t){if(c)if(F(t))switch(t.value){case`center`:return a.push(sr),e;case`top`:case`left`:return a.push(R),e;case`right`:case`bottom`:return a.push(cr),e}else (L(t)||ar(t))&&a.push(t);else if(F(t))switch(t.value){case Vr:return n=0,!1;case Hr:return n=1,!1;case`at`:return c=!0,!1;case Lr:return r=0,!1;case Ur:case Rr:return r=1,!1;case Wr:case zr:return r=2,!1;case Br:return r=3,!1}else if(ar(t)||L(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e},s)}if(s){var l=Or(e,t);i.push(l)}}),{size:r,shape:n,stops:i,position:a,type:2}},Kr=function(e,t){var n=0,r=3,i=[],a=[];return I(t).forEach(function(t,o){var s=!0;if(o===0?s=t.reduce(function(e,t){if(F(t))switch(t.value){case`center`:return a.push(sr),!1;case`top`:case`left`:return a.push(R),!1;case`right`:case`bottom`:return a.push(cr),!1}else if(L(t)||ar(t))return a.push(t),!1;return e},s):o===1&&(s=t.reduce(function(e,t){if(F(t))switch(t.value){case Vr:return n=0,!1;case Hr:return n=1,!1;case Wr:case Lr:return r=0,!1;case Rr:return r=1,!1;case zr:return r=2,!1;case Ur:case Br:return r=3,!1}else if(ar(t)||L(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e},s)),s){var c=Or(e,t);i.push(c)}}),{size:r,shape:n,stops:i,position:a,type:2}},qr=function(e){return e.type===1},Jr=function(e){return e.type===2},Yr={name:`image`,parse:function(e,t){if(t.type===22){var n={url:t.value,type:0};return e.cache.addImage(t.value),n}if(t.type===18){var r=Zr[t.name];if(r===void 0)throw Error(`Attempting to parse an unsupported image function "`+t.name+`"`);return r(e,t.values)}throw Error(`Unsupported image type `+t.type)}};function Xr(e){return!(e.type===20&&e.value===`none`)&&(e.type!==18||!!Zr[e.name])}var Zr={"linear-gradient":Pr,"-moz-linear-gradient":Fr,"-ms-linear-gradient":Fr,"-o-linear-gradient":Fr,"-webkit-linear-gradient":Fr,"radial-gradient":Gr,"-moz-radial-gradient":Kr,"-ms-radial-gradient":Kr,"-o-radial-gradient":Kr,"-webkit-radial-gradient":Kr,"-webkit-gradient":Ir},Qr={name:`background-image`,initialValue:`none`,type:1,prefix:!1,parse:function(e,t){if(t.length===0)return[];var n=t[0];return n.type===20&&n.value===`none`?[]:t.filter(function(e){return rr(e)&&Xr(e)}).map(function(t){return Yr.parse(e,t)})}},$r={name:`background-origin`,initialValue:`border-box`,prefix:!1,type:1,parse:function(e,t){return t.map(function(e){if(F(e))switch(e.value){case`padding-box`:return 1;case`content-box`:return 2}return 0})}},ei={name:`background-position`,initialValue:`0% 0%`,type:1,prefix:!1,parse:function(e,t){return I(t).map(function(e){return e.filter(L)}).map(or)}},ti={name:`background-repeat`,initialValue:`repeat`,prefix:!1,type:1,parse:function(e,t){return I(t).map(function(e){return e.filter(F).map(function(e){return e.value}).join(` `)}).map(ni)}},ni=function(e){switch(e){case`no-repeat`:return 1;case`repeat-x`:case`repeat no-repeat`:return 2;case`repeat-y`:case`no-repeat repeat`:return 3;case`repeat`:default:return 0}},ri;(function(e){e.AUTO=`auto`,e.CONTAIN=`contain`,e.COVER=`cover`})(ri||={});var ii={name:`background-size`,initialValue:`0`,prefix:!1,type:1,parse:function(e,t){return I(t).map(function(e){return e.filter(ai)})}},ai=function(e){return F(e)||L(e)},oi=function(e){return{name:`border-`+e+`-color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`}},si=oi(`top`),ci=oi(`right`),li=oi(`bottom`),ui=oi(`left`),di=function(e){return{name:`border-radius-`+e,initialValue:`0 0`,prefix:!1,type:1,parse:function(e,t){return or(t.filter(L))}}},fi=di(`top-left`),pi=di(`top-right`),mi=di(`bottom-right`),hi=di(`bottom-left`),gi=function(e){return{name:`border-`+e+`-style`,initialValue:`solid`,prefix:!1,type:2,parse:function(e,t){switch(t){case`none`:return 0;case`dashed`:return 2;case`dotted`:return 3;case`double`:return 4}return 1}}},_i=gi(`top`),vi=gi(`right`),yi=gi(`bottom`),bi=gi(`left`),xi=function(e){return{name:`border-`+e+`-width`,initialValue:`0`,type:0,prefix:!1,parse:function(e,t){return Qn(t)?t.number:0}}},Si=xi(`top`),Ci=xi(`right`),wi=xi(`bottom`),Ti=xi(`left`),Ei={name:`color`,initialValue:`transparent`,prefix:!1,type:3,format:`color`},Di={name:`direction`,initialValue:`ltr`,prefix:!1,type:2,parse:function(e,t){switch(t){case`rtl`:return 1;case`ltr`:default:return 0}}},Oi={name:`display`,initialValue:`inline-block`,prefix:!1,type:1,parse:function(e,t){return t.filter(F).reduce(function(e,t){return e|ki(t.value)},0)}},ki=function(e){switch(e){case`block`:case`-webkit-box`:return 2;case`inline`:return 4;case`run-in`:return 8;case`flow`:return 16;case`flow-root`:return 32;case`table`:return 64;case`flex`:case`-webkit-flex`:return 128;case`grid`:case`-ms-grid`:return 256;case`ruby`:return 512;case`subgrid`:return 1024;case`list-item`:return 2048;case`table-row-group`:return 4096;case`table-header-group`:return 8192;case`table-footer-group`:return 16384;case`table-row`:return 32768;case`table-cell`:return 65536;case`table-column-group`:return 131072;case`table-column`:return 262144;case`table-caption`:return 524288;case`ruby-base`:return 1048576;case`ruby-text`:return 2097152;case`ruby-base-container`:return 4194304;case`ruby-text-container`:return 8388608;case`contents`:return 16777216;case`inline-block`:return 33554432;case`inline-list-item`:return 67108864;case`inline-table`:return 134217728;case`inline-flex`:return 268435456;case`inline-grid`:return 536870912}return 0},Ai={name:`float`,initialValue:`none`,prefix:!1,type:2,parse:function(e,t){switch(t){case`left`:return 1;case`right`:return 2;case`inline-start`:return 3;case`inline-end`:return 4}return 0}},ji={name:`letter-spacing`,initialValue:`0`,prefix:!1,type:0,parse:function(e,t){return t.type===20&&t.value===`normal`?0:t.type===17||t.type===15?t.number:0}},Mi;(function(e){e.NORMAL=`normal`,e.STRICT=`strict`})(Mi||={});var Ni={name:`line-break`,initialValue:`normal`,prefix:!1,type:2,parse:function(e,t){switch(t){case`strict`:return Mi.STRICT;case`normal`:default:return Mi.NORMAL}}},Pi={name:`line-height`,initialValue:`normal`,prefix:!1,type:4},Fi=function(e,t){return F(e)&&e.value===`normal`?1.2*t:e.type===17?t*e.number:L(e)?z(e,t):t},Ii={name:`list-style-image`,initialValue:`none`,type:0,prefix:!1,parse:function(e,t){return t.type===20&&t.value===`none`?null:Yr.parse(e,t)}},Li={name:`list-style-position`,initialValue:`outside`,prefix:!1,type:2,parse:function(e,t){switch(t){case`inside`:return 0;case`outside`:default:return 1}}},Ri={name:`list-style-type`,initialValue:`none`,prefix:!1,type:2,parse:function(e,t){switch(t){case`disc`:return 0;case`circle`:return 1;case`square`:return 2;case`decimal`:return 3;case`cjk-decimal`:return 4;case`decimal-leading-zero`:return 5;case`lower-roman`:return 6;case`upper-roman`:return 7;case`lower-greek`:return 8;case`lower-alpha`:return 9;case`upper-alpha`:return 10;case`arabic-indic`:return 11;case`armenian`:return 12;case`bengali`:return 13;case`cambodian`:return 14;case`cjk-earthly-branch`:return 15;case`cjk-heavenly-stem`:return 16;case`cjk-ideographic`:return 17;case`devanagari`:return 18;case`ethiopic-numeric`:return 19;case`georgian`:return 20;case`gujarati`:return 21;case`gurmukhi`:return 22;case`hebrew`:return 22;case`hiragana`:return 23;case`hiragana-iroha`:return 24;case`japanese-formal`:return 25;case`japanese-informal`:return 26;case`kannada`:return 27;case`katakana`:return 28;case`katakana-iroha`:return 29;case`khmer`:return 30;case`korean-hangul-formal`:return 31;case`korean-hanja-formal`:return 32;case`korean-hanja-informal`:return 33;case`lao`:return 34;case`lower-armenian`:return 35;case`malayalam`:return 36;case`mongolian`:return 37;case`myanmar`:return 38;case`oriya`:return 39;case`persian`:return 40;case`simp-chinese-formal`:return 41;case`simp-chinese-informal`:return 42;case`tamil`:return 43;case`telugu`:return 44;case`thai`:return 45;case`tibetan`:return 46;case`trad-chinese-formal`:return 47;case`trad-chinese-informal`:return 48;case`upper-armenian`:return 49;case`disclosure-open`:return 50;case`disclosure-closed`:return 51;case`none`:default:return-1}}},zi=function(e){return{name:`margin-`+e,initialValue:`0`,prefix:!1,type:4}},Bi=zi(`top`),Vi=zi(`right`),Hi=zi(`bottom`),Ui=zi(`left`),Wi={name:`overflow`,initialValue:`visible`,prefix:!1,type:1,parse:function(e,t){return t.filter(F).map(function(e){switch(e.value){case`hidden`:return 1;case`scroll`:return 2;case`clip`:return 3;case`auto`:return 4;case`visible`:default:return 0}})}},Gi={name:`overflow-wrap`,initialValue:`normal`,prefix:!1,type:2,parse:function(e,t){switch(t){case`break-word`:return`break-word`;case`normal`:default:return`normal`}}},Ki=function(e){return{name:`padding-`+e,initialValue:`0`,prefix:!1,type:3,format:`length-percentage`}},qi=Ki(`top`),Ji=Ki(`right`),Yi=Ki(`bottom`),Xi=Ki(`left`),Zi={name:`text-align`,initialValue:`left`,prefix:!1,type:2,parse:function(e,t){switch(t){case`right`:return 2;case`center`:case`justify`:return 1;case`left`:default:return 0}}},Qi={name:`position`,initialValue:`static`,prefix:!1,type:2,parse:function(e,t){switch(t){case`relative`:return 1;case`absolute`:return 2;case`fixed`:return 3;case`sticky`:return 4}return 0}},$i={name:`text-shadow`,initialValue:`none`,type:1,prefix:!1,parse:function(e,t){return t.length===1&&tr(t[0],`none`)?[]:I(t).map(function(t){for(var n={color:H.TRANSPARENT,offsetX:R,offsetY:R,blur:R},r=0,i=0;i1?1:0],this.overflowWrap=G(e,Gi,t.overflowWrap),this.paddingTop=G(e,qi,t.paddingTop),this.paddingRight=G(e,Ji,t.paddingRight),this.paddingBottom=G(e,Yi,t.paddingBottom),this.paddingLeft=G(e,Xi,t.paddingLeft),this.paintOrder=G(e,Ea,t.paintOrder),this.position=G(e,Qi,t.position),this.textAlign=G(e,Zi,t.textAlign),this.textDecorationColor=G(e,fa,t.textDecorationColor??t.color),this.textDecorationLine=G(e,pa,t.textDecorationLine??t.textDecoration),this.textShadow=G(e,$i,t.textShadow),this.textTransform=G(e,ea,t.textTransform),this.transform=G(e,ta,t.transform),this.transformOrigin=G(e,aa,t.transformOrigin),this.visibility=G(e,oa,t.visibility),this.webkitTextStrokeColor=G(e,Da,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=G(e,Oa,t.webkitTextStrokeWidth),this.wordBreak=G(e,ca,t.wordBreak),this.zIndex=G(e,la,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},e.prototype.isTransparent=function(){return vr(this.backgroundColor)},e.prototype.isTransformed=function(){return this.transform!==null},e.prototype.isPositioned=function(){return this.position!==0},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return this.float!==0},e.prototype.isInlineLevel=function(){return W(this.display,4)||W(this.display,33554432)||W(this.display,268435456)||W(this.display,536870912)||W(this.display,67108864)||W(this.display,134217728)},e}(),Aa=function(){function e(e,t){this.content=G(e,ya,t.content),this.quotes=G(e,Ca,t.quotes)}return e}(),ja=function(){function e(e,t){this.counterIncrement=G(e,ba,t.counterIncrement),this.counterReset=G(e,xa,t.counterReset)}return e}(),G=function(e,t,n){var r=new Xn,i=n==null?t.initialValue:n.toString();r.write(i);var a=new Zn(r.read());switch(t.type){case 2:var o=a.parseComponentValue();return t.parse(e,F(o)?o.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case`angle`:return mr.parse(e,a.parseComponentValue());case`color`:return _r.parse(e,a.parseComponentValue());case`image`:return Yr.parse(e,a.parseComponentValue());case`length`:var s=a.parseComponentValue();return ar(s)?s:R;case`length-percentage`:var c=a.parseComponentValue();return L(c)?c:R;case`time`:return ua.parse(e,a.parseComponentValue())}break}},Ma=`data-html2canvas-debug`,Na=function(e){switch(e.getAttribute(Ma)){case`all`:return 1;case`clone`:return 2;case`parse`:return 3;case`render`:return 4;default:return 0}},Pa=function(e,t){var n=Na(e);return n===1||t===n},K=function(){function e(e,t){if(this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Pa(t,3))debugger;this.styles=new ka(e,window.getComputedStyle(t,null)),xs(t)&&(this.styles.animationDuration.some(function(e){return e>0})&&(t.style.animationDuration=`0s`),this.styles.transform!==null&&(t.style.transform=`none`)),this.bounds=s(this.context,t),Pa(t,4)&&(this.flags|=16)}return e}(),Fa=`AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=`,Ia=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,La=typeof Uint8Array>`u`?[]:new Uint8Array(256),Ra=0;Ra>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},Ba=function(e){for(var t=e.length,n=[],r=0;r>Ha,qa=(1<>Ha)+32,Ya=65536>>Ua,Xa=(1<=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>Ha],t=(t<>Ha)],t=(t<>Ua),t=this.index[t],t+=e>>Ha&Xa,t=this.index[t],t=(t<`u`?[]:new Uint8Array(256),ro=0;ro=55296&&i<=56319&&n>10)+55296,a%1024+56320)),(r+1===t||n.length>16384)&&(i+=String.fromCharCode.apply(String,n),n.length=0)}return i},xo=$a(Fa),So=`×`,Co=`÷`,wo=function(e){return xo.get(e)},To=function(e,t,n){var r=n-2,i=t[r],a=t[n-1],o=t[n];if(a===ao&&o===oo)return So;if(a===ao||a===oo||a===so||o===ao||o===oo||o===so)return Co;if(a===uo&&[uo,fo,mo,ho].indexOf(o)!==-1||(a===mo||a===fo)&&(o===fo||o===po)||(a===ho||a===po)&&o===po||o===go||o===co||o===lo||a===io)return So;if(a===go&&o===_o){for(;i===co;)i=t[--r];if(i===_o)return So}if(a===vo&&o===vo){for(var s=0;i===vo;)s++,i=t[--r];if(s%2==0)return So}return Co},Eo=function(e){var t=yo(e),n=t.length,r=0,i=0,a=t.map(wo);return{next:function(){if(r>=n)return{done:!0,value:null};for(var e=So;ro.x||i.y>o.y;return o=i,t===0?!0:s});return e.body.removeChild(t),s},Ao=function(){return new Image().crossOrigin!==void 0},jo=function(){return typeof new XMLHttpRequest().responseType==`string`},Mo=function(e){var t=new Image,n=e.createElement(`canvas`),r=n.getContext(`2d`);if(!r)return!1;t.src=`data:image/svg+xml,`;try{r.drawImage(t,0,0),n.toDataURL()}catch{return!1}return!0},No=function(e){return e[0]===0&&e[1]===255&&e[2]===0&&e[3]===255},Po=function(e){var t=e.createElement(`canvas`),n=100;t.width=n,t.height=n;var r=t.getContext(`2d`);if(!r)return Promise.reject(!1);r.fillStyle=`rgb(0, 255, 0)`,r.fillRect(0,0,n,n);var i=new Image,a=t.toDataURL();i.src=a;var o=Fo(n,n,0,0,i);return r.fillStyle=`red`,r.fillRect(0,0,n,n),Io(o).then(function(t){r.drawImage(t,0,0);var i=r.getImageData(0,0,n,n).data;r.fillStyle=`red`,r.fillRect(0,0,n,n);var o=e.createElement(`div`);return o.style.backgroundImage=`url(`+a+`)`,o.style.height=n+`px`,No(i)?Io(Fo(n,n,0,0,o)):Promise.reject(!1)}).then(function(e){return r.drawImage(e,0,0),No(r.getImageData(0,0,n,n).data)}).catch(function(){return!1})},Fo=function(e,t,n,r,i){var a=`http://www.w3.org/2000/svg`,o=document.createElementNS(a,`svg`),s=document.createElementNS(a,`foreignObject`);return o.setAttributeNS(null,`width`,e.toString()),o.setAttributeNS(null,`height`,t.toString()),s.setAttributeNS(null,`width`,`100%`),s.setAttributeNS(null,`height`,`100%`),s.setAttributeNS(null,`x`,n.toString()),s.setAttributeNS(null,`y`,r.toString()),s.setAttributeNS(null,`externalResourcesRequired`,`true`),o.appendChild(s),s.appendChild(i),o},Io=function(e){return new Promise(function(t,n){var r=new Image;r.onload=function(){return t(r)},r.onerror=n,r.src=`data:image/svg+xml;charset=utf-8,`+encodeURIComponent(new XMLSerializer().serializeToString(e))})},q={get SUPPORT_RANGE_BOUNDS(){var e=Oo(document);return Object.defineProperty(q,`SUPPORT_RANGE_BOUNDS`,{value:e}),e},get SUPPORT_WORD_BREAKING(){var e=q.SUPPORT_RANGE_BOUNDS&&ko(document);return Object.defineProperty(q,`SUPPORT_WORD_BREAKING`,{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=Mo(document);return Object.defineProperty(q,`SUPPORT_SVG_DRAWING`,{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e=typeof Array.from==`function`&&typeof window.fetch==`function`?Po(document):Promise.resolve(!1);return Object.defineProperty(q,`SUPPORT_FOREIGNOBJECT_DRAWING`,{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=Ao();return Object.defineProperty(q,`SUPPORT_CORS_IMAGES`,{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e=jo();return Object.defineProperty(q,`SUPPORT_RESPONSE_TYPE`,{value:e}),e},get SUPPORT_CORS_XHR(){var e=`withCredentials`in new XMLHttpRequest;return Object.defineProperty(q,`SUPPORT_CORS_XHR`,{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!!(typeof Intl<`u`&&Intl.Segmenter);return Object.defineProperty(q,`SUPPORT_NATIVE_TEXT_SEGMENTATION`,{value:e}),e}},Lo=function(){function e(e,t){this.text=e,this.bounds=t}return e}(),Ro=function(e,t,n,r){var i=Uo(t,n),a=[],s=0;return i.forEach(function(t){if(n.textDecorationLine.length||t.trim().length>0)if(q.SUPPORT_RANGE_BOUNDS){var i=Bo(r,s,t.length).getClientRects();if(i.length>1){var c=Vo(t),l=0;c.forEach(function(t){a.push(new Lo(t,o.fromDOMRectList(e,Bo(r,l+s,t.length).getClientRects()))),l+=t.length})}else a.push(new Lo(t,o.fromDOMRectList(e,i)))}else{var u=r.splitText(t.length);a.push(new Lo(t,zo(e,r))),r=u}else q.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length}),a},zo=function(e,t){var n=t.ownerDocument;if(n){var r=n.createElement(`html2canvaswrapper`);r.appendChild(t.cloneNode(!0));var i=t.parentNode;if(i){i.replaceChild(r,t);var a=s(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),a}}return o.EMPTY},Bo=function(e,t,n){var r=e.ownerDocument;if(!r)throw Error(`Node has no owner document`);var i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},Vo=function(e){if(q.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:`grapheme`});return Array.from(t.segment(e)).map(function(e){return e.segment})}return Do(e)},Ho=function(e,t){if(q.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:`word`});return Array.from(n.segment(e)).map(function(e){return e.segment})}return Go(e,t)},Uo=function(e,t){return t.letterSpacing===0?Ho(e,t):Vo(e)},Wo=[32,160,4961,65792,65793,4153,4241],Go=function(e,t){for(var n=ft(e,{lineBreak:t.lineBreak,wordBreak:t.overflowWrap===`break-word`?`break-word`:t.wordBreak}),r=[],i,a=function(){if(i.value){var e=l(i.value.slice()),t=``;e.forEach(function(e){Wo.indexOf(e)===-1?t+=u(e):(t.length&&r.push(t),r.push(u(e)),t=``)}),t.length&&r.push(t)}};!(i=n.next()).done;)a();return r},Ko=function(){function e(e,t,n){this.text=qo(t.data,n.textTransform),this.textBounds=Ro(e,this.text,n,t)}return e}(),qo=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(Jo,Yo);case 2:return e.toUpperCase();default:return e}},Jo=/(^|\s|:|-|\(|\))([a-z])/g,Yo=function(e,t,n){return e.length>0?t+n.toUpperCase():e},Xo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.src=n.currentSrc||n.src,r.intrinsicWidth=n.naturalWidth,r.intrinsicHeight=n.naturalHeight,r.context.cache.addImage(r.src),r}return n}(K),Zo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.canvas=n,r.intrinsicWidth=n.width,r.intrinsicHeight=n.height,r}return n}(K),Qo=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this,i=new XMLSerializer,a=s(t,n);return n.setAttribute(`width`,a.width+`px`),n.setAttribute(`height`,a.height+`px`),r.svg=`data:image/svg+xml,`+encodeURIComponent(i.serializeToString(n)),r.intrinsicWidth=n.width.baseVal.value,r.intrinsicHeight=n.height.baseVal.value,r.context.cache.addImage(r.svg),r}return n}(K),$o=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.value=n.value,r}return n}(K),es=function(e){t(n,e);function n(t,n){var r=e.call(this,t,n)||this;return r.start=n.start,r.reversed=typeof n.reversed==`boolean`&&n.reversed===!0,r}return n}(K),ts=[{type:15,flags:0,unit:`px`,number:3}],ns=[{type:16,flags:0,number:50}],rs=function(e){return e.width>e.height?new o(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width0)n.textNodes.push(new Ko(e,i,n.styles));else if(bs(i))if(Ls(i)&&i.assignedNodes)i.assignedNodes().forEach(function(t){return ms(e,t,n,r)});else{var o=hs(e,i);o.styles.isVisible()&&(_s(i,o,r)?o.flags|=4:vs(o.styles)&&(o.flags|=2),ps.indexOf(i.tagName)!==-1&&(o.flags|=8),n.elements.push(o),i.slot,i.shadowRoot?ms(e,i.shadowRoot,o,r):!Fs(i)&&!Ds(i)&&!Is(i)&&ms(e,i,o,r))}},hs=function(e,t){return js(t)?new Xo(e,t):ks(t)?new Zo(e,t):Ds(t)?new Qo(e,t):Cs(t)?new $o(e,t):ws(t)?new es(e,t):Ts(t)?new ls(e,t):Is(t)?new us(e,t):Fs(t)?new ds(e,t):Ms(t)?new fs(e,t):new K(e,t)},gs=function(e,t){var n=hs(e,t);return n.flags|=4,ms(e,t,n,n),n},_s=function(e,t,n){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Os(e)&&n.styles.isTransparent()},vs=function(e){return e.isPositioned()||e.isFloating()},ys=function(e){return e.nodeType===Node.TEXT_NODE},bs=function(e){return e.nodeType===Node.ELEMENT_NODE},xs=function(e){return bs(e)&&e.style!==void 0&&!Ss(e)},Ss=function(e){return typeof e.className==`object`},Cs=function(e){return e.tagName===`LI`},ws=function(e){return e.tagName===`OL`},Ts=function(e){return e.tagName===`INPUT`},Es=function(e){return e.tagName===`HTML`},Ds=function(e){return e.tagName===`svg`},Os=function(e){return e.tagName===`BODY`},ks=function(e){return e.tagName===`CANVAS`},As=function(e){return e.tagName===`VIDEO`},js=function(e){return e.tagName===`IMG`},Ms=function(e){return e.tagName===`IFRAME`},Ns=function(e){return e.tagName===`STYLE`},Ps=function(e){return e.tagName===`SCRIPT`},Fs=function(e){return e.tagName===`TEXTAREA`},Is=function(e){return e.tagName===`SELECT`},Ls=function(e){return e.tagName===`SLOT`},Rs=function(e){return e.tagName.indexOf(`-`)>0},zs=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){return this.counters[e]||[]},e.prototype.pop=function(e){var t=this;e.forEach(function(e){return t.counters[e].pop()})},e.prototype.parse=function(e){var t=this,n=e.counterIncrement,r=e.counterReset,i=!0;n!==null&&n.forEach(function(e){var n=t.counters[e.counter];n&&e.increment!==0&&(i=!1,n.length||n.push(1),n[Math.max(0,n.length-1)]+=e.increment)});var a=[];return i&&r.forEach(function(e){var n=t.counters[e.counter];a.push(e.counter),n||=t.counters[e.counter]=[],n.push(e.reset)}),a},e}(),Bs={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:[`M`,`CM`,`D`,`CD`,`C`,`XC`,`L`,`XL`,`X`,`IX`,`V`,`IV`,`I`]},Vs={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:`Ք.Փ.Ւ.Ց.Ր.Տ.Վ.Ս.Ռ.Ջ.Պ.Չ.Ո.Շ.Ն.Յ.Մ.Ճ.Ղ.Ձ.Հ.Կ.Ծ.Խ.Լ.Ի.Ժ.Թ.Ը.Է.Զ.Ե.Դ.Գ.Բ.Ա`.split(`.`)},Hs={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:`י׳.ט׳.ח׳.ז׳.ו׳.ה׳.ד׳.ג׳.ב׳.א׳.ת.ש.ר.ק.צ.פ.ע.ס.נ.מ.ל.כ.יט.יח.יז.טז.טו.י.ט.ח.ז.ו.ה.ד.ג.ב.א`.split(`.`)},Us={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:`ჵ.ჰ.ჯ.ჴ.ხ.ჭ.წ.ძ.ც.ჩ.შ.ყ.ღ.ქ.ფ.ჳ.ტ.ს.რ.ჟ.პ.ო.ჲ.ნ.მ.ლ.კ.ი.თ.ჱ.ზ.ვ.ე.დ.გ.ბ.ა`.split(`.`)},Ws=function(e,t,n,r,i,a){return en?nc(e,i,a.length>0):r.integers.reduce(function(t,n,i){for(;e>=n;)e-=n,t+=r.values[i];return t},``)+a},Gs=function(e,t,n,r){var i=``;do n||e--,i=r(e)+i,e/=t;while(e*t>=t);return i},J=function(e,t,n,r,i){var a=n-t+1;return(e<0?`-`:``)+(Gs(Math.abs(e),a,r,function(e){return u(Math.floor(e%a)+t)})+i)},Ks=function(e,t,n){n===void 0&&(n=`. `);var r=t.length;return Gs(Math.abs(e),r,!1,function(e){return t[Math.floor(e%r)]})+n},qs=1,Js=2,Ys=4,Xs=8,Zs=function(e,t,n,r,i,a){if(e<-9999||e>9999)return nc(e,4,i.length>0);var o=Math.abs(e),s=i;if(o===0)return t[0]+s;for(var c=0;o>0&&c<=4;c++){var l=o%10;l===0&&W(a,qs)&&s!==``?s=t[l]+s:l>1||l===1&&c===0||l===1&&c===1&&W(a,Js)||l===1&&c===1&&W(a,Ys)&&e>100||l===1&&c>1&&W(a,Xs)?s=t[l]+(c>0?n[c-1]:``)+s:l===1&&c>0&&(s=n[c-1]+s),o=Math.floor(o/10)}return(e<0?r:``)+s},Qs=`十百千萬`,$s=`拾佰仟萬`,ec=`マイナス`,tc=`마이너스`,nc=function(e,t,n){var r=n?`. `:``,i=n?`、`:``,a=n?`, `:``,o=n?` `:``;switch(t){case 0:return`•`+o;case 1:return`◦`+o;case 2:return`◾`+o;case 5:var s=J(e,48,57,!0,r);return s.length<4?`0`+s:s;case 4:return Ks(e,`〇一二三四五六七八九`,i);case 6:return Ws(e,1,3999,Bs,3,r).toLowerCase();case 7:return Ws(e,1,3999,Bs,3,r);case 8:return J(e,945,969,!1,r);case 9:return J(e,97,122,!1,r);case 10:return J(e,65,90,!1,r);case 11:return J(e,1632,1641,!0,r);case 12:case 49:return Ws(e,1,9999,Vs,3,r);case 35:return Ws(e,1,9999,Vs,3,r).toLowerCase();case 13:return J(e,2534,2543,!0,r);case 14:case 30:return J(e,6112,6121,!0,r);case 15:return Ks(e,`子丑寅卯辰巳午未申酉戌亥`,i);case 16:return Ks(e,`甲乙丙丁戊己庚辛壬癸`,i);case 17:case 48:return Zs(e,`零一二三四五六七八九`,Qs,`負`,i,Js|Ys|Xs);case 47:return Zs(e,`零壹貳參肆伍陸柒捌玖`,$s,`負`,i,qs|Js|Ys|Xs);case 42:return Zs(e,`零一二三四五六七八九`,Qs,`负`,i,Js|Ys|Xs);case 41:return Zs(e,`零壹贰叁肆伍陆柒捌玖`,$s,`负`,i,qs|Js|Ys|Xs);case 26:return Zs(e,`〇一二三四五六七八九`,`十百千万`,ec,i,0);case 25:return Zs(e,`零壱弐参四伍六七八九`,`拾百千万`,ec,i,qs|Js|Ys);case 31:return Zs(e,`영일이삼사오육칠팔구`,`십백천만`,tc,a,qs|Js|Ys);case 33:return Zs(e,`零一二三四五六七八九`,`十百千萬`,tc,a,0);case 32:return Zs(e,`零壹貳參四五六七八九`,`拾百千`,tc,a,qs|Js|Ys);case 18:return J(e,2406,2415,!0,r);case 20:return Ws(e,1,19999,Us,3,r);case 21:return J(e,2790,2799,!0,r);case 22:return J(e,2662,2671,!0,r);case 22:return Ws(e,1,10999,Hs,3,r);case 23:return Ks(e,`あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん`);case 24:return Ks(e,`いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす`);case 27:return J(e,3302,3311,!0,r);case 28:return Ks(e,`アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン`,i);case 29:return Ks(e,`イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス`,i);case 34:return J(e,3792,3801,!0,r);case 37:return J(e,6160,6169,!0,r);case 38:return J(e,4160,4169,!0,r);case 39:return J(e,2918,2927,!0,r);case 40:return J(e,1776,1785,!0,r);case 43:return J(e,3046,3055,!0,r);case 44:return J(e,3174,3183,!0,r);case 45:return J(e,3664,3673,!0,r);case 46:return J(e,3872,3881,!0,r);case 3:default:return J(e,48,57,!0,r)}},rc=`data-html2canvas-ignore`,ic=function(){function e(e,t,n){if(this.context=e,this.options=n,this.scrolledElements=[],this.referenceElement=t,this.counters=new zs,this.quoteDepth=0,!t.ownerDocument)throw Error(`Cloned element does not have an owner document`);this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var n=this,a=oc(e,t);if(!a.contentWindow)return Promise.reject(`Unable to find iframe window`);var o=e.defaultView.pageXOffset,s=e.defaultView.pageYOffset,c=a.contentWindow,l=c.document,u=lc(a).then(function(){return r(n,void 0,void 0,function(){var e,n;return i(this,function(r){switch(r.label){case 0:return this.scrolledElements.forEach(mc),c&&(c.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(c.scrollY!==t.top||c.scrollX!==t.left)&&(this.context.logger.warn(`Unable to restore scroll position for cloned document`),this.context.windowBounds=this.context.windowBounds.add(c.scrollX-t.left,c.scrollY-t.top,0,0))),e=this.options.onclone,n=this.clonedReferenceElement,n===void 0?[2,Promise.reject(`Error finding the `+this.referenceElement.nodeName+` in the cloned document`)]:l.fonts&&l.fonts.ready?[4,l.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,cc(l)]:[3,4];case 3:r.sent(),r.label=4;case 4:return typeof e==`function`?[2,Promise.resolve().then(function(){return e(l,n)}).then(function(){return a})]:[2,a]}})})});return l.open(),l.write(fc(document.doctype)+``),pc(this.referenceElement.ownerDocument,o,s),l.replaceChild(l.adoptNode(this.documentElement),l.documentElement),l.close(),u},e.prototype.createElementClone=function(e){if(Pa(e,2))debugger;if(ks(e))return this.createCanvasClone(e);if(As(e))return this.createVideoClone(e);if(Ns(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return js(t)&&(js(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=``),t.loading===`lazy`&&(t.loading=`eager`)),Rs(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement(`html2canvascustomelement`);return dc(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var n=[].slice.call(t.cssRules,0).reduce(function(e,t){return t&&typeof t.cssText==`string`?e+t.cssText:e},``),r=e.cloneNode(!1);return r.textContent=n,r}}catch(e){if(this.context.logger.error(`Unable to access cssRules property`,e),e.name!==`SecurityError`)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement(`img`);try{return t.src=e.toDataURL(),t}catch{this.context.logger.info(`Unable to inline canvas contents, canvas is tainted`,e)}}var n=e.cloneNode(!1);try{n.width=e.width,n.height=e.height;var r=e.getContext(`2d`),i=n.getContext(`2d`);if(i)if(!this.options.allowTaint&&r)i.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var a=e.getContext(`webgl2`)??e.getContext(`webgl`);a&&a.getContextAttributes()?.preserveDrawingBuffer===!1&&this.context.logger.warn(`Unable to clone WebGL context as it has preserveDrawingBuffer=false`,e),i.drawImage(e,0,0)}return n}catch{this.context.logger.info(`Unable to clone canvas as it is tainted`,e)}return n},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement(`canvas`);t.width=e.offsetWidth,t.height=e.offsetHeight;var n=t.getContext(`2d`);try{return n&&(n.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||n.getImageData(0,0,t.width,t.height)),t}catch{this.context.logger.info(`Unable to clone video as it is tainted`,e)}var r=e.ownerDocument.createElement(`canvas`);return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,t,n){(!bs(t)||!Ps(t)&&!t.hasAttribute(rc)&&(typeof this.options.ignoreElements!=`function`||!this.options.ignoreElements(t)))&&(!this.options.copyStyles||!bs(t)||!Ns(t))&&e.appendChild(this.cloneNode(t,n))},e.prototype.cloneChildNodes=function(e,t,n){for(var r=this,i=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;i;i=i.nextSibling)if(bs(i)&&Ls(i)&&typeof i.assignedNodes==`function`){var a=i.assignedNodes();a.length&&a.forEach(function(e){return r.appendChildNode(t,e,n)})}else this.appendChildNode(t,i,n)},e.prototype.cloneNode=function(e,t){if(ys(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&bs(e)&&(xs(e)||Ss(e))){var r=this.createElementClone(e);r.style.transitionProperty=`none`;var i=n.getComputedStyle(e),a=n.getComputedStyle(e,`:before`),o=n.getComputedStyle(e,`:after`);this.referenceElement===e&&xs(r)&&(this.clonedReferenceElement=r),Os(r)&&bc(r);var s=this.counters.parse(new ja(this.context,i)),c=this.resolvePseudoContent(e,r,a,ac.BEFORE);Rs(e)&&(t=!0),As(e)||this.cloneChildNodes(e,r,t),c&&r.insertBefore(c,r.firstChild);var l=this.resolvePseudoContent(e,r,o,ac.AFTER);return l&&r.appendChild(l),this.counters.pop(s),(i&&(this.options.copyStyles||Ss(e))&&!Ms(e)||t)&&dc(i,r),(e.scrollTop!==0||e.scrollLeft!==0)&&this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(Fs(e)||Is(e))&&(Fs(r)||Is(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,n,r){var i=this;if(n){var a=n.content,o=t.ownerDocument;if(!(!o||!a||a===`none`||a===`-moz-alt-content`||n.display===`none`)){this.counters.parse(new ja(this.context,n));var s=new Aa(this.context,n),c=o.createElement(`html2canvaspseudoelement`);dc(n,c),s.content.forEach(function(t){if(t.type===0)c.appendChild(o.createTextNode(t.value));else if(t.type===22){var n=o.createElement(`img`);n.src=t.value,n.style.opacity=`1`,c.appendChild(n)}else if(t.type===18){if(t.name===`attr`){var r=t.values.filter(F);r.length&&c.appendChild(o.createTextNode(e.getAttribute(r[0].value)||``))}else if(t.name===`counter`){var a=t.values.filter(rr),l=a[0],u=a[1];if(l&&F(l)){var d=i.counters.getCounterValue(l.value),f=u&&F(u)?Ri.parse(i.context,u.value):3;c.appendChild(o.createTextNode(nc(d,f,!1)))}}else if(t.name===`counters`){var p=t.values.filter(rr),l=p[0],m=p[1],u=p[2];if(l&&F(l)){var h=i.counters.getCounterValues(l.value),g=u&&F(u)?Ri.parse(i.context,u.value):3,_=m&&m.type===0?m.value:``,v=h.map(function(e){return nc(e,g,!1)}).join(_);c.appendChild(o.createTextNode(v))}}}else if(t.type===20)switch(t.value){case`open-quote`:c.appendChild(o.createTextNode(wa(s.quotes,i.quoteDepth++,!0)));break;case`close-quote`:c.appendChild(o.createTextNode(wa(s.quotes,--i.quoteDepth,!1)));break;default:c.appendChild(o.createTextNode(t.value))}}),c.className=_c+` `+vc;var l=r===ac.BEFORE?` `+_c:` `+vc;return Ss(t)?t.className.baseValue+=l:t.className+=l,c}}},e.destroy=function(e){return e.parentNode?(e.parentNode.removeChild(e),!0):!1},e}(),ac;(function(e){e[e.BEFORE=0]=`BEFORE`,e[e.AFTER=1]=`AFTER`})(ac||={});var oc=function(e,t){var n=e.createElement(`iframe`);return n.className=`html2canvas-container`,n.style.visibility=`hidden`,n.style.position=`fixed`,n.style.left=`-10000px`,n.style.top=`0px`,n.style.border=`0`,n.width=t.width.toString(),n.height=t.height.toString(),n.scrolling=`no`,n.setAttribute(rc,`true`),e.body.appendChild(n),n},sc=function(e){return new Promise(function(t){if(e.complete){t();return}if(!e.src){t();return}e.onload=t,e.onerror=t})},cc=function(e){return Promise.all([].slice.call(e.images,0).map(sc))},lc=function(e){return new Promise(function(t,n){var r=e.contentWindow;if(!r)return n(`No window assigned for iframe`);var i=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval(function(){i.body.childNodes.length>0&&i.readyState===`complete`&&(clearInterval(n),t(e))},50)}})},uc=[`all`,`d`,`content`],dc=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e.item(n);uc.indexOf(r)===-1&&t.style.setProperty(r,e.getPropertyValue(r))}return t},fc=function(e){var t=``;return e&&(t+=``),t},pc=function(e,t,n){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||n!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,n)},mc=function(e){var t=e[0],n=e[1],r=e[2];t.scrollLeft=n,t.scrollTop=r},hc=`:before`,gc=`:after`,_c=`___html2canvas___pseudoelement_before`,vc=`___html2canvas___pseudoelement_after`,yc=`{ content: "" !important; display: none !important; }`,bc=function(e){xc(e,`.`+_c+hc+yc+` diff --git a/dist/assets/index-BgUnq8XG.css b/dist/assets/index-BgUnq8XG.css deleted file mode 100644 index 2609a4092..000000000 --- a/dist/assets/index-BgUnq8XG.css +++ /dev/null @@ -1 +0,0 @@ -html,body,#root{width:100%;height:100%;margin:0;padding:0}@supports (height:100dvh){html,body,#root{height:100dvh}}@supports (min-height:100svh){html,body,#root{min-height:100svh}}body{display:block}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#02030a;--bg-1:#03091b;--bg-2:#040f24;--accent-cyan:#33f6ff;--accent-teal:#26ffc4;--accent-violet:#9b5bff;--accent-gold:#ffd979;--good:#26ffc4;--warn:#ffd979;--bad:#ff4d8d;--text-main:#f5f7ff;--text-subtle:#c3c7e6;--text-dim:#f5f7ffb8;--frame-border:#b0fff77a;--frame-bg:#060e23d9;--frame-inner-bg:#030818f5;--line-soft:#ffffff0f;--line-med:#ffffff1a;--glass-0:#0a14308c;--glass-1:#060e23b8;--glass-2:#030818e6;--shadow-soft:0 0 40px #000000a6;--shadow-halo:0 0 120px #33f6ff4d;--shadow-hard:0 24px 80px #000000b3;--radius-xl:32px;--radius-lg:24px;--radius-md:16px;--radius-sm:12px;--blur-strong:26px;--blur-soft:18px;--breath:5.236s;--breath-s:var(--breath);--transition-fast:.18s ease-out;--transition-med:.26s ease-out;--topbar-h:76px;--ring:0 0 0 3px #33f6ff3d,0 0 0 1px #ffffff1f inset;--grid-line:#75d3ff1f;--grid-glow:#5fb4ff2e;--safe-bottom:env(safe-area-inset-bottom,0px);--stage-pad:clamp(1.05rem,2.4vw,2.5rem);--frame-pad:clamp(1.05rem,2.1vw,2rem);--workspace-gap:.85rem;--bottom-actions-reserve:104px;--orbit-blur:40px;--glow-blur:32px;--font-base:clamp(12.91px,2.72vw,18.47px);--chakra-ink-0:#ff3b6b;--chakra-ark-0:#ff6aa6;--chakra-ink-1:#ff8a3d;--chakra-ark-1:#ffc07a;--chakra-ink-2:#ffd24a;--chakra-ark-2:#fff2a6;--chakra-ink-3:#26ffc4;--chakra-ark-3:#a6ffe9;--chakra-ink-4:#33f6ff;--chakra-ark-4:#a8fbff;--chakra-ink-5:#7e86ff;--chakra-ark-5:#c6c9ff;--chakra-ink-6:#c18bff;--chakra-ark-6:#ead8ff}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-0);font-size:var(--font-base)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){html,:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}input,textarea,select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{width:100%;min-width:0;height:100%;margin:0;padding:0}@supports (min-height:100svh){html,body,#root{min-height:100svh}}@supports (height:100dvh){html,body,#root{height:100dvh}}html{-webkit-text-size-adjust:100%}input,textarea,select,button{font-size:16px;font:inherit;color:inherit}body{color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:#33f6ff24;background:radial-gradient(circle at top,#050819 0%,#02030a 52%,#000);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,sans-serif;overflow:hidden}img,svg,canvas,video{max-width:100%;height:auto}:focus-visible{box-shadow:var(--ring);border-radius:10px;outline:none}a{color:var(--accent-cyan);text-decoration:none}a:hover{text-decoration:underline}.kai-splash{z-index:10000;color:var(--text-main);opacity:0;pointer-events:none;--phi-breath:var(--breath-s,5.236s);--phi-inhale-ratio:61.8%;background:radial-gradient(circle at 18% 20%,#33f6ff2e 0,#0000 34%),radial-gradient(circle at 78% 16%,#9b5bff38 0,#0000 40%),radial-gradient(circle at 50% 110%,#26ffc429 0,#0000 52%),linear-gradient(132deg,#00060f 0%,#041227 40%,#071c37 76%,#041229 100%);place-items:center;transition:opacity .42s,transform .62s;display:grid;position:fixed;inset:0;overflow:hidden;transform:scale(1.01)}.kai-splash[data-state=show]{opacity:1;pointer-events:auto;transform:scale(1)}.kai-splash[data-state=fade],.kai-splash[data-state=hidden]{opacity:0;pointer-events:none;transform:scale(1.012)}.kai-splash:before,.kai-splash:after{content:"";pointer-events:none;position:absolute;inset:-30%}.kai-splash:before{filter:blur(70px);opacity:.85;background:radial-gradient(circle at 50% 60%,#33f6ff29,#0000 55%)}.kai-splash:after{filter:blur(120px);mix-blend-mode:screen;opacity:.6;background:conic-gradient(from 120deg,#33f6ff1a,#9b5bff26,#26ffc41a,#33f6ff1a)}.kai-splash__grid{opacity:.18;background-image:linear-gradient(90deg,#0000 0 90%,#5fb4ff40 90% 100%),linear-gradient(#0000 0 90%,#5fb4ff33 90% 100%);background-size:120px 120px;position:absolute;inset:-8%;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 82%);mask-image:radial-gradient(circle,#000 20%,#0000 82%)}.kai-splash__halo{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.4;background:radial-gradient(circle at 50% 45%,#33f6ff0d,#0000 50%);border:1px solid #33f6ff33;border-radius:36px;position:absolute;inset:8%}.kai-splash__glow{mix-blend-mode:screen;filter:blur(90px);background:radial-gradient(circle,#00ffc41a,#0000 60%);position:absolute;inset:-14%}.kai-splash__content{z-index:1;width:min(540px,92vw);box-shadow:none;text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:26px;gap:clamp(.8rem,2vw,1.4rem);padding:clamp(1.25rem,3vw,2.5rem);display:grid;position:relative}@supports not ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.kai-splash__content{background:0 0}}.kai-splash__badge{aspect-ratio:1;isolation:isolate;filter:drop-shadow(0 0 32px #33f6ff2e);width:clamp(120px,20vw,180px);animation:kai-splash-hover var(--phi-breath)ease-in-out infinite;place-items:center;margin:0 auto;display:grid;position:relative}.kai-splash__badge-core{width:82%;height:82%;animation:kai-splash-breathe var(--phi-breath)ease-in-out infinite;background:radial-gradient(circle at 35% 30%,#ffffff1f,#fff0),radial-gradient(circle at 72% 70%,#33f6ff61,#33f6ff00),linear-gradient(200deg,#00ffc466,#03091be6);border:1px solid #a8f1ff73;border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 12px #33f6ff14,0 0 60px #26ffc440}.kai-splash__badge-core img{filter:drop-shadow(0 0 14px #33f6ffa6)drop-shadow(0 0 50px #26ffc473);width:58%}.kai-splash__badge-core-shine{mix-blend-mode:screen;filter:blur(28px);opacity:.65;animation:kai-splash-surge var(--phi-breath)ease-in-out infinite;background:radial-gradient(circle at 50% 35%,#ffffff42,#0000 52%);position:absolute;inset:-18%}.kai-splash__badge-core:after{content:"";mix-blend-mode:screen;filter:blur(18px);opacity:.7;animation:kai-splash-surge var(--phi-breath)ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#ffffff40,#0000 45%);position:absolute;inset:-8%}.kai-splash__badge-orb{mix-blend-mode:screen;background:radial-gradient(circle at 45% 35%,#fff3,#fff0);border-radius:50%;position:absolute;inset:18%}.kai-splash__ring{animation:kai-splash-pulse var(--phi-breath)ease-in-out infinite;border:1px solid #33f6ff59;border-radius:50%;position:absolute;inset:8%;box-shadow:0 0 0 10px #33f6ff1f,inset 0 0 0 1px #ffffff14}.kai-splash__ring--inner{animation:kai-splash-pulse var(--phi-breath)ease-in-out infinite reverse;border:1px solid #9b5bff59;inset:16%;box-shadow:0 0 0 8px #9b5bff29,inset 0 0 0 1px #ffffff0d}.kai-splash__rays{filter:blur(32px);mix-blend-mode:screen;opacity:.9;animation:kai-splash-rotate calc(var(--phi-breath)*3)linear infinite;background:conic-gradient(from 120deg,#33f6ff14,#9b5bff2e,#26ffc41f,#33f6ff14);border-radius:50%;position:absolute;inset:-40%}.kai-splash__flare{filter:blur(3px);opacity:.65;transform-origin:50%;height:4px;animation:kai-splash-flare calc(var(--phi-breath)*.5)ease-in-out infinite;background:linear-gradient(90deg,#0000,#fffc,#0000);position:absolute;inset:22% 6% auto;transform:translateY(-60px)scaleX(.4)}@keyframes kai-splash-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes kai-splash-surge{0%{opacity:.35;transform:scale(.92)}61.8%{opacity:.95;transform:scale(1.08)}to{opacity:.35;transform:scale(.92)}}@keyframes kai-splash-flare{0%{opacity:.15;transform:translateY(-70px)scaleX(.2)}61.8%{opacity:.82;transform:translateY(0)scaleX(1.04)}to{opacity:.12;transform:translateY(-70px)scaleX(.2)}}@keyframes kai-splash-hover{0%{transform:translateY(0)scale(1)}61.8%{transform:translateY(-6px)scale(1.015)}to{transform:translateY(0)scale(1)}}@keyframes kai-splash-breathe{0%,to{opacity:.55}50%{opacity:.78}}@keyframes kai-splash-pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}to{opacity:.8;transform:scale(1)}}@media (max-width:540px){.kai-splash__content{border-radius:18px;padding:1.15rem}.kai-splash__badge{width:clamp(110px,34vw,140px)}}@media (prefers-reduced-motion:reduce){.kai-splash,.kai-splash[data-state=fade],.kai-splash[data-state=show]{transition:opacity .18s,transform .2s}.kai-splash__rays,.kai-splash__ring,.kai-splash__badge-core:after,.kai-splash__flare{animation:none}}.skip-link{color:var(--text-main);z-index:9999;box-shadow:var(--shadow-soft);transition:transform var(--transition-fast);background:#0a1430eb;border:1px solid #aaf1ff59;border-radius:12px;padding:.6rem .85rem;position:absolute;top:.75rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.route-loader{z-index:99999;background:radial-gradient(circle at 25% 10%,#33f6ff14,#0000 48%),radial-gradient(circle at 75% 85%,#9b5bff1f,#0000 58%),linear-gradient(160deg,#02030af5,#060e23f5);place-items:center;padding:1.35rem;display:grid;position:fixed;inset:0}.route-loader__glow{filter:blur(14px);opacity:.6;background:radial-gradient(800px 520px,#33f6ff24,#0000 68%);position:absolute;inset:0}.route-loader__content{color:var(--text-main);letter-spacing:.01em;background:#030818e6;border:1px solid #aaf1ff47;border-radius:18px;align-items:center;gap:.75rem;padding:.92rem 1.05rem;font-weight:700;display:inline-flex;position:relative;box-shadow:0 18px 40px #0000008c,inset 0 0 0 1px #ffffff0f}.route-loader__dot{background:var(--accent-cyan);border-radius:999px;width:16px;height:16px;animation:1.05s ease-in-out infinite routeLoaderPulse;transform:translateZ(0);box-shadow:0 0 18px #33f6ff80,0 0 36px #9b5bff59}.route-loader__text{white-space:normal;max-width:min(320px,82vw);font-size:.96rem}@keyframes routeLoaderPulse{0%{opacity:.75;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}to{opacity:.75;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.route-loader__dot{animation:none}}.app-shell{width:100%;height:var(--vvh-px,100dvh);max-height:var(--vvh-px,100dvh);background:radial-gradient(circle at 10% -10%,#00ffc42e 0,transparent 55%),radial-gradient(circle at 90% 110%,#9b5bff3d 0,transparent 60%),radial-gradient(circle at -20% 70%,#008cff2e 0,transparent 60%),linear-gradient(145deg,var(--bg-0),var(--bg-1),var(--bg-2));color:var(--text-main);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.app-bg-grid{pointer-events:none;opacity:.35;background-image:linear-gradient(to right,transparent 0,transparent 92%,var(--grid-line)92%,var(--grid-line)100%),linear-gradient(to bottom,transparent 0,transparent 92%,var(--grid-line)92%,var(--grid-line)100%);mix-blend-mode:screen;z-index:0;background-size:72px 72px;position:fixed;inset:-40px;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 80%);mask-image:radial-gradient(circle,#000 0,#0000 80%)}.kx-x{appearance:none;border:1px solid var(--sx-border-strong,#ffffff38);color:#ffffffeb;letter-spacing:0;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#00000061;border-radius:999px;place-items:center;width:44px;height:44px;margin:0;padding:0;font-size:28px;font-weight:700;line-height:1;display:grid;transform:translateZ(0)}.kx-x:hover{background:#00000085}.kx-x:active{transform:translateZ(0)translateY(1px)}.kx-x:focus-visible{box-shadow:var(--sx-ring,0 0 0 2px #37ffe440,0 0 0 6px #37ffe41f);outline:none}.explorer-pop__panel,.klock-pop__panel{position:relative}.explorer-pop__close,.klock-pop__close{z-index:50;position:absolute;top:12px;right:12px}.app-bg-orbit{pointer-events:none;width:120vmin;height:120vmin;filter:blur(var(--orbit-blur));opacity:.65;z-index:0;backface-visibility:hidden;will-change:transform;background:radial-gradient(circle,#0000001a 0,#0000 60%),conic-gradient(from 220deg,#26ffc452,#33f6ff00,#9b5bff66,#ffd97933,#26ffc452);animation:64s linear infinite orbit-spin;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(0)}@keyframes orbit-spin{0%{transform:translate(-50%,-50%)rotate(0)translateZ(0)}to{transform:translate(-50%,-50%)rotate(360deg)translateZ(0)}}.app-bg-glow{pointer-events:none;opacity:.58;width:36vw;max-width:520px;height:140vh;filter:blur(var(--glow-blur));mix-blend-mode:screen;animation:golden-breath var(--breath)ease-in-out infinite;transform-origin:50% 30%;z-index:0;backface-visibility:hidden;will-change:transform,opacity;background:radial-gradient(circle at 50% 0,#ffffff61 0,#0000 40%),linear-gradient(#26ffc400,#26ffc48c,#9b5bff66,#ffd9791a,#0000);position:fixed;top:-10%;left:50%;transform:translate(-50%)translateZ(0)}@keyframes golden-breath{0%{opacity:.42;transform:translate(-50%)scaleY(.985)translateZ(0)}50%{opacity:.7;transform:translate(-50%)scaleY(1.04)translateZ(0)}to{opacity:.45;transform:translate(-50%)scaleY(.995)translateZ(0)}}@media (prefers-reduced-motion:reduce){.app-bg-orbit,.app-bg-glow{animation:none!important}}@media (max-width:650px){:root{--orbit-blur:28px;--glow-blur:22px}.app-bg-orbit{opacity:.55;animation-duration:92s}}.app-topbar{z-index:5;height:var(--topbar-h);-webkit-backdrop-filter:blur(var(--blur-soft))saturate(140%);background:radial-gradient(circle at 20% 0,#33f6ff1f,#0000 55%),radial-gradient(circle at 80% 100%,#9b5bff1a,#0000 60%),linear-gradient(#020612e0,#0206129e);border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:clamp(.4rem,1vw,.75rem);padding:.85rem clamp(1rem,2.5vw,1.75rem);display:flex;position:relative}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-topbar{background:#020612eb}}.topbar-left,.topbar-right{align-items:center;gap:.75rem;min-width:0;display:flex}.brand{-webkit-user-select:none;user-select:none;align-items:center;gap:.85rem;min-width:0;display:flex}.brand__mark{letter-spacing:.03em;color:#020612f2;background:radial-gradient(circle at 35% 25%,#ffffffd9 0,#ffd9798c 28%,#33f6ff73 55%,#9b5bff59 78%),linear-gradient(135deg,#26ffc4a6,#33f6ff8c);border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 10px 26px #0000008c,inset 0 0 0 1px #ffffff2e,0 0 40px #ffd97929}.brand__mark-img{filter:drop-shadow(0 8px 18px #00000073);width:26px;height:26px;display:block}.brand__mark:after{content:"";animation:brand-sheen calc(var(--breath)*2)ease-in-out infinite;opacity:.55;will-change:transform,opacity;background:linear-gradient(120deg,#0000 0%,#ffffff59 45%,#0000 70%);position:absolute;inset:-40%;transform:rotate(18deg)translate(-40%)}@keyframes brand-sheen{0%{opacity:0;transform:rotate(18deg)translate(-55%)}35%{opacity:.55}70%{opacity:0;transform:rotate(18deg)translate(55%)}to{opacity:0}}.brand__text{gap:.12rem;min-width:0;display:grid}.brand__title{letter-spacing:.018em;white-space:nowrap;text-overflow:ellipsis;color:#0000;-webkit-text-fill-color:transparent;text-shadow:0 0 .06em #ffffff52,0 0 .22em #78fff047,0 0 .55em #7882ff29;will-change:background-position;background-image:linear-gradient(115deg,#ff50befa 0%,#7882fffa 18%,#50dcfffa 36%,#78ffd2fa 54%,#fff578fa 72%,#ff8246fa 86%,#ff50befa 100%);background-position:0%;background-size:320% 320%;-webkit-background-clip:text;background-clip:text;max-width:min(52vw,360px);font-size:clamp(.96rem,.78rem + .7vw,1.28rem);font-weight:860;line-height:1.05;animation:13.09s linear infinite brandTextRainbow;overflow:hidden}@keyframes brandTextRainbow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@media (prefers-reduced-motion:reduce){.brand__title{animation:none}}.brand__subtitle{letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;-webkit-text-fill-color:transparent;opacity:.92;will-change:background-position;background-image:linear-gradient(105deg,#ffffffdb 0%,#a0fff4d6 28%,#96cdffc7 58%,#d2aaffb8 86%,#ffffffd1 100%);background-position:0%;background-size:240% 240%;-webkit-background-clip:text;background-clip:text;max-width:min(52vw,360px);font-size:clamp(.74rem,.66rem + .35vw,.92rem);font-weight:720;line-height:1.15;animation:10.472s linear infinite brandSubtitleDrift;overflow:hidden}@media (min-width:980px){.brand__subtitle{max-width:none;text-overflow:unset;overflow:visible}}@keyframes brandSubtitleDrift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@media (prefers-reduced-motion:reduce){.brand__subtitle{animation:none}}.topbar-live{appearance:none;-webkit-backdrop-filter:blur(10px);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:#0a0e1873;border:1px solid #00ffa038;border-radius:999px;align-items:center;gap:12px;padding:8px 12px;display:flex;transform:translateZ(0)}.topbar-live:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff24,0 0 0 6px #78dcff1a}.topbar-live{--kai-chakra:var(--chakra-ink-3);--kai-ark:var(--chakra-ark-3);--kai-month:var(--chakra-ink-2)}.kai-tag,.kai-sep{color:#f5f7ff9e}.kai-num{font-variant-numeric:tabular-nums}.kai-num--chakra{color:var(--kai-chakra);text-shadow:0 0 16px #0000008c}.kai-num--ark{color:var(--kai-ark);text-shadow:0 0 16px #0000008c}.kai-num--month{color:var(--kai-month);text-shadow:0 0 16px #0000008c}.live-orb{background:#00ffa0f2;border-radius:50%;width:12px;height:12px;position:relative;transform:translateZ(0);box-shadow:0 0 10px #00ffa08c}.live-orb:after{content:"";opacity:.55;animation:liveOrbBreath var(--breath-s)ease-in-out infinite;will-change:transform,opacity;pointer-events:none;background:radial-gradient(circle,#00ffa08c,#0000 62%);border-radius:999px;position:absolute;inset:-10px;transform:scale(.92)}@keyframes liveOrbBreath{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:.8;transform:scale(1.15)}}.live-text{flex-direction:column;line-height:1.05;display:flex}.live-title{letter-spacing:.12em;font-weight:800}.live-meta{opacity:.9;font-size:12px}.app-stage{z-index:1;width:100%;min-height:0;padding:var(--stage-pad);padding-bottom:calc(var(--stage-pad) + var(--safe-bottom));flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.app-frame{border-radius:var(--radius-xl);width:100%;max-width:1180px;height:100%;box-shadow:var(--shadow-hard),0 0 0 1px #ffffff0d,0 0 90px #33f6ff3d;-webkit-backdrop-filter:blur(var(--blur-strong))saturate(150%);background:radial-gradient(circle at 0 0,#33f6ff30,#0000 55%),radial-gradient(circle at 100% 0,#9b5bff29,#0000 52%),radial-gradient(circle at 50% 100%,#ffd9791a,#0000 60%),linear-gradient(145deg,#050e28f5,#010410fa);border:1px solid #9dfff499;position:relative;overflow:hidden}.app-frame:before,.app-frame:after{content:"";border-radius:calc(var(--radius-xl) - 2px);pointer-events:none;position:absolute;inset:1px}.app-frame:before{opacity:.85;border:1px solid #ffffff17}.app-frame:after{mix-blend-mode:soft-light;opacity:.32;background:linear-gradient(120deg,#ffffff1f,#0000 35% 65%,#33f6ff40)}.app-frame-inner{z-index:1;padding:var(--frame-pad);border-radius:calc(var(--radius-xl) - 6px);background:radial-gradient(circle at 10% 0%,#ffffff0f,transparent 55%),radial-gradient(circle at 90% 100%,#33f6ff26,transparent 60%),radial-gradient(circle at 0% 100%,#9b5bff2e,transparent 65%),linear-gradient(160deg,var(--frame-inner-bg),#010410fa);min-width:0;height:100%;position:relative;overflow:hidden}.app-workspace{gap:var(--workspace-gap);grid-template-rows:auto minmax(0,1fr);grid-template-columns:320px 1fr;min-width:0;height:100%;min-height:0;display:grid}.workspace-topbar{border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 0,#33f6ff1f,#0000 58%),radial-gradient(circle at 82% 100%,#9b5bff1a,#0000 60%),linear-gradient(145deg,#060e239e,#030818eb);border:1px solid #aaf1ff38;grid-column:1/-1;padding:.68rem .75rem .75rem;position:relative;overflow:visible;box-shadow:0 18px 50px #0000008c,inset 0 0 0 1px #ffffff0a}.workspace-topbar>*{width:100%;min-width:0}.app-nav{border-radius:var(--radius-lg);background:radial-gradient(circle at 30% 20%,#33f6ff1a,#0000 55%),linear-gradient(145deg,#060e23b8,#030818eb);border:1px solid #aaf1ff38;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 50px #0000008c,inset 0 0 0 1px #ffffff0a}.nav-head{background:radial-gradient(circle at 20% 0,#ffd97917,#0000 55%),linear-gradient(#0a14304d,#0a143000);border-bottom:1px solid #ffffff0f;padding:.95rem 1rem .78rem}.nav-head__title{letter-spacing:.12em;text-transform:uppercase;color:#f5f7ffeb;font-size:.92rem;font-weight:900}.nav-head__sub{color:#f5f7ffad;margin-top:.22rem;font-size:.82rem}.nav-list{gap:.5rem;padding:.7rem;display:grid;overflow:hidden}.nav-item{transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);background:radial-gradient(circle at 14% 20%,#33f6ff14,#0000 55%),linear-gradient(145deg,#0a143040,#0a14301a);border:1px solid #ffffff14;border-radius:16px;padding:.78rem .8rem;transform:translateZ(0);box-shadow:0 10px 22px #00000059,inset 0 0 0 1px #ffffff08}.nav-item__label{letter-spacing:.03em;font-weight:900}.nav-item__desc{color:#f5f7ffad;margin-top:.16rem;font-size:.82rem}.nav-item--button{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--accent-cyan);appearance:none}.nav-item:hover{background:radial-gradient(circle at 14% 20%,#33f6ff1f,#0000 55%),linear-gradient(145deg,#0a143057,#0a143024);border-color:#33f6ff47;text-decoration:none;transform:translateY(-1px)translateZ(0);box-shadow:0 16px 30px #00000080,inset 0 0 0 1px #33f6ff14,0 0 30px #33f6ff14}.nav-item--active{background:radial-gradient(circle at 20% 0,#ffd97929,#0000 62%),radial-gradient(circle at 14% 20%,#33f6ff24,#0000 55%),linear-gradient(145deg,#0a14306b,#0a14302e);border-color:#ffd9796b;box-shadow:0 18px 34px #0000008c,inset 0 0 0 1px #ffd9791a,0 0 46px #ffd97914}.nav-foot{background:linear-gradient(#0a143000,#0a143038);border-top:1px solid #ffffff0f;margin-top:auto;padding:.8rem 1rem .9rem}.nav-foot__line{color:#f5f7ffb8;font-size:.78rem;line-height:1.35}.nav-foot__line+.nav-foot__line{margin-top:.35rem}.app-panel{border-radius:var(--radius-lg);background:radial-gradient(circle at 70% 20%,#33f6ff1a,#0000 55%),radial-gradient(circle at 10% 0,#9b5bff1a,#0000 62%),linear-gradient(145deg,#060e23b8,#030818eb);border:1px solid #aaf1ff38;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 60px #0000009e,inset 0 0 0 1px #ffffff0a}.panel-head{background:radial-gradient(circle at 50% 0,#ffd9791a,#0000 56%),linear-gradient(#0a14305c,#0a143000);border-bottom:1px solid #ffffff0f;padding:.95rem 1.1rem}.panel-head__title{letter-spacing:.02em;font-size:1.05rem;font-weight:900}.panel-head__meta{flex-wrap:wrap;gap:.42rem;margin-top:.48rem;display:flex}.meta-chip{color:#f5f7ffd6;letter-spacing:.08em;text-transform:uppercase;background:#0a143057;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.72rem;display:inline-flex}.panel-body{min-height:0;padding:.92rem 1.1rem calc(1.05rem + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-padding-bottom:calc(1.05rem + var(--safe-bottom));scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:#aaf1ff2e transparent;flex:auto;position:relative;overflow:hidden auto}.panel-body::-webkit-scrollbar{width:10px}.panel-body::-webkit-scrollbar-track{background:0 0}.panel-body::-webkit-scrollbar-thumb{background:#aaf1ff2e padding-box padding-box;border:2px solid #0000;border-radius:999px}.panel-body::-webkit-scrollbar-thumb:hover{background:#aaf1ff47}.app-shell[data-panel-scroll="1"] .panel-body:after{content:"";height:var(--bottom-actions-reserve);width:100%;display:block}.panel-center{width:100%;min-width:0;min-height:100%;display:flex}.panel-center>*{width:100%;min-width:0;max-width:920px;min-height:0;max-height:none;margin:auto}.panel-foot{padding:.72rem 1.1rem calc(.72rem + var(--safe-bottom));color:#f5f7ff9e;z-index:4;background:linear-gradient(#0a143000,#0a143038);border-top:1px solid #ffffff0f;flex:none;justify-content:space-between;align-items:center;font-size:.78rem;display:flex;position:relative}.notfound{border-radius:var(--radius-md);background:radial-gradient(circle at 30% 10%,#ff4d8d1a,#0000 60%),radial-gradient(circle at 70% 0,#33f6ff1a,#0000 60%),linear-gradient(145deg,#0a143059,#0a143024);border:1px solid #ffffff1a;padding:2.25rem 1.25rem;box-shadow:0 20px 70px #000000a6}.notfound__code{letter-spacing:.05em;font-size:3.25rem;font-weight:950;line-height:1}.notfound__title{margin-top:.35rem;font-size:1.1rem;font-weight:900}.notfound__hint{color:#f5f7ffb8;margin-top:.5rem}.notfound__actions{margin-top:1.15rem}.notfound__cta{letter-spacing:.06em;text-transform:uppercase;color:#020612f2;transition:transform var(--transition-fast),box-shadow var(--transition-fast);background:radial-gradient(circle at 35% 25%,#ffffffd9 0,#ffd9798c 26%,#33f6ff66 58%),linear-gradient(135deg,#26ffc4a6,#33f6ff8c);border:1px solid #ffffff29;border-radius:14px;justify-content:center;align-items:center;padding:.75rem .95rem;font-weight:900;display:inline-flex;box-shadow:0 16px 34px #0000008c,inset 0 0 0 1px #ffffff1a}.notfound__cta:hover{text-decoration:none;transform:translateY(-1px)translateZ(0);box-shadow:0 20px 46px #0000009e,inset 0 0 0 1px #ffffff24,0 0 36px #ffd9791a}@media (max-width:980px){:root{--workspace-gap:.78rem}.app-stage{padding:.95rem;padding-bottom:calc(.95rem + var(--safe-bottom))}.app-frame{border-radius:24px}.app-frame-inner{padding:.95rem}.app-workspace{gap:var(--workspace-gap);grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr;height:100%;min-height:0}.app-nav{height:auto;min-height:0}.nav-list{padding:.7rem;padding-bottom:calc(.85rem + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;isolation:isolate;touch-action:pan-x;flex-wrap:nowrap;align-items:stretch;gap:.5rem;scroll-padding-left:.7rem;scroll-padding-right:.7rem;display:flex;position:relative;overflow:auto hidden}.nav-list::-webkit-scrollbar{height:0}.nav-list:before,.nav-list:after{content:"";pointer-events:none;z-index:2;width:22px;position:absolute;top:.55rem;bottom:.55rem}.nav-list:before{background:linear-gradient(90deg,#060e23eb,#060e2300);left:0}.nav-list:after{letter-spacing:.08em;text-transform:uppercase;color:#f5f7ffc7;text-shadow:0 0 8px #33f6ff6b;content:"Swipe →";background:linear-gradient(270deg,#060e23eb,#060e2300);justify-content:flex-end;align-items:center;gap:.2rem;padding-right:.28rem;font-size:.72rem;font-weight:800;animation:3.6s ease-in-out infinite nav-swipe-hint;display:flex;right:0}.nav-item{scroll-snap-align:start;scroll-snap-stop:always;white-space:normal;flex-direction:column;flex:0 0 clamp(130px,38vw,170px);justify-content:center;gap:.3rem;min-width:0;height:auto;padding:.62rem .66rem;display:flex}.panel-center>*{max-width:100%}.workspace-topbar{padding:.62rem .65rem .68rem}}@media (max-width:650px){:root{--topbar-h:72px;--bottom-actions-reserve:112px;--workspace-gap:.72rem}.app-frame{border-radius:20px}.app-frame-inner{border-radius:16px;padding:.85rem}.brand__subtitle{display:none}.panel-head{padding:.82rem .95rem}.panel-body{padding:.78rem .95rem calc(.95rem + var(--safe-bottom));scroll-padding-bottom:calc(.95rem + var(--safe-bottom))}.panel-foot{padding:.62rem .95rem calc(.62rem + var(--safe-bottom));font-size:.72rem}.nav-head{padding:.85rem .9rem .7rem}.nav-foot{padding:.7rem .9rem .8rem}.nav-foot__line{font-size:.72rem;line-height:1.25}.workspace-topbar{padding:.58rem .58rem .64rem}}@media (max-width:520px){:root{--topbar-h:68px;--stage-pad:clamp(.78rem,2vw,1.05rem);--frame-pad:clamp(.7rem,2vw,1.05rem);--workspace-gap:.6rem}.app-topbar{padding:.7rem clamp(.7rem,3vw,1.1rem)}.brand__mark{width:38px;height:38px}.brand__title,.brand__subtitle{max-width:min(64vw,300px)}.app-frame{border-radius:14px}.app-frame-inner{border-radius:12px;padding:.7rem}.app-panel,.app-nav,.workspace-topbar{border-radius:14px}.panel-head{padding:.7rem .85rem}.panel-body{padding:.7rem .85rem calc(.85rem + var(--safe-bottom));scroll-padding-bottom:calc(.85rem + var(--safe-bottom))}.panel-foot{padding:.55rem .85rem calc(.7rem + var(--safe-bottom));font-size:.72rem}.nav-list{padding:.6rem;padding-bottom:calc(.75rem + var(--safe-bottom));gap:.45rem}.nav-item{flex:0 0 clamp(120px,48vw,158px);height:auto}}@media (max-width:380px){:root{--topbar-h:64px;--workspace-gap:.52rem;--bottom-actions-reserve:88px}.app-topbar{gap:.4rem;padding:.6rem clamp(.6rem,3vw,.9rem)}.brand__mark{width:34px;height:34px}.brand__title,.brand__subtitle{max-width:min(68vw,240px)}.nav-item{flex:0 0 clamp(112px,60vw,148px);height:auto}.nav-head,.panel-head{padding:.64rem .78rem}.panel-body{padding:.62rem .78rem calc(.78rem + var(--safe-bottom))}.panel-foot{padding:.5rem .78rem calc(.62rem + var(--safe-bottom))}}@keyframes nav-swipe-hint{0%{opacity:0;transform:translate(0)}15%{opacity:.9}55%{opacity:.9;transform:translate(-5px)}to{opacity:0;transform:translate(0)}}@media (max-height:820px){:root{--workspace-gap:.7rem;--stage-pad:.9rem;--frame-pad:.9rem}.app-topbar{padding:.75rem 1rem}.workspace-topbar{padding:.56rem .6rem .62rem}.nav-head__sub{display:none}}@media (max-height:740px){:root{--topbar-h:68px;--workspace-gap:.64rem;--bottom-actions-reserve:96px}.app-stage{padding:.8rem;padding-bottom:calc(.8rem + var(--safe-bottom))}.app-frame-inner{padding:.8rem}.nav-foot{display:none}.nav-list{gap:.45rem;padding:.62rem}.nav-item{padding:.7rem .72rem}.panel-head{padding:.78rem .9rem}.panel-body{padding:.7rem .9rem calc(.9rem + var(--safe-bottom));scroll-padding-bottom:calc(.9rem + var(--safe-bottom))}.panel-foot{padding:.55rem .9rem calc(.55rem + var(--safe-bottom))}}.explorer-pop{z-index:999999;-webkit-backdrop-filter:blur(14px)saturate(130%);overscroll-behavior:contain;isolation:isolate;contain:layout paint;backface-visibility:hidden;background:radial-gradient(1200px 900px at 18% 10%,#33f6ff1f,#0000 55%),radial-gradient(1000px 800px at 85% 95%,#9b5bff1f,#0000 60%),#0000009e;place-items:stretch stretch;padding:0;display:grid;position:fixed;inset:0;transform:translateZ(0)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.explorer-pop{background:#000000c7}}.explorer-pop__panel{-webkit-backdrop-filter:blur(18px)saturate(150%);contain:layout paint;backface-visibility:hidden;background:radial-gradient(900px 420px at 18% 0,#33f6ff1a,#0000 60%),radial-gradient(820px 520px at 92% 110%,#9b5bff24,#0000 62%),linear-gradient(#0a1024f0,#030610f5);border:1px solid #33f6ff38;border-radius:0;grid-template-rows:1fr;width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 30px 90px #00000094,inset 0 0 0 1px #ffffff0f,0 0 70px #33f6ff1f}.explorer-pop__panel:before{content:"";pointer-events:none;opacity:.75;border:1px solid #ffffff1a;position:absolute;inset:1px}.explorer-pop__panel:after{content:"";pointer-events:none;animation:explorerSheen calc(var(--breath)*2)ease-in-out infinite;opacity:.45;mix-blend-mode:soft-light;will-change:transform,opacity;background:linear-gradient(120deg,#0000 0%,#ffffff29 45%,#0000 70%);position:absolute;inset:-30%;transform:rotate(18deg)translate(-40%)translateZ(0)}@keyframes explorerSheen{0%{opacity:0;transform:rotate(18deg)translate(-58%)translateZ(0)}35%{opacity:.42}70%{opacity:0;transform:rotate(18deg)translate(58%)translateZ(0)}to{opacity:0}}.explorer-pop__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;height:100%;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);scroll-padding-bottom:env(safe-area-inset-bottom,0px);scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:#aaf1ff2e transparent;position:relative;overflow:auto}.explorer-pop__body::-webkit-scrollbar{width:10px}.explorer-pop__body::-webkit-scrollbar-track{background:0 0}.explorer-pop__body::-webkit-scrollbar-thumb{background:#aaf1ff2e padding-box padding-box;border:2px solid #0000;border-radius:999px}.explorer-pop__body::-webkit-scrollbar-thumb:hover{background:#aaf1ff47}.explorer-pop__close{--x-size:44px;--x-pad:14px;--x-top:calc(var(--x-pad) + env(safe-area-inset-top,0px));--x-right:calc(var(--x-pad) + env(safe-area-inset-right,0px));--x-border:#aaf1ff42;--x-border-hot:#33f6ff6b;--x-ink:#f5f7ffeb;top:var(--x-top);right:var(--x-right);width:var(--x-size);height:var(--x-size);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#33f6ff2e;touch-action:manipulation;border:1px solid var(--x-border);-webkit-backdrop-filter:blur(14px)saturate(160%);z-index:20;isolation:isolate;color:var(--x-ink);letter-spacing:-.03em;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;text-shadow:0 12px 28px #000000ad,0 0 18px #33f6ff38,0 0 36px #9b5bff1f;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),filter var(--transition-fast);background:radial-gradient(18px 18px at 28% 22%,#ffffff2e,#0000 62%),radial-gradient(28px 26px at 78% 84%,#33f6ff24,#0000 64%),linear-gradient(#0a1430c7,#030610d6);border-radius:999px;place-items:center;font-size:19px;font-weight:950;line-height:1;display:grid;position:absolute;transform:translateZ(0);box-shadow:0 18px 44px #0000009e,inset 0 0 0 1px #ffffff0f}.explorer-pop__close>span{line-height:1;display:block;transform:translateY(-.5px)}.explorer-pop__close:before{content:"";pointer-events:none;filter:blur(10px);opacity:.58;mix-blend-mode:screen;animation:xOrbit calc(var(--breath)*6)linear infinite;will-change:transform;background:conic-gradient(from 220deg,#26ffc44d,#33f6ff05,#9b5bff52,#ffd9792e,#26ffc44d);border-radius:999px;position:absolute;inset:-8px}.explorer-pop__close:after{content:"";pointer-events:none;opacity:.38;mix-blend-mode:soft-light;animation:xSheen calc(var(--breath)*2)ease-in-out infinite;will-change:opacity;background:linear-gradient(120deg,#ffffff38,#0000 38% 66%,#33f6ff24);border-radius:999px;position:absolute;inset:1px}@keyframes xOrbit{0%{transform:rotate(0)translateZ(0)}to{transform:rotate(360deg)translateZ(0)}}@keyframes xSheen{0%,to{opacity:.3}50%{opacity:.52}}.explorer-pop__close:hover{border-color:var(--x-border-hot);filter:brightness(1.08);transform:translateZ(0)translateY(-1px);box-shadow:0 24px 60px #000000b3,inset 0 0 0 1px #33f6ff1f}.explorer-pop__close:active{transform:translateZ(0)scale(.98)}.explorer-pop__close:focus-visible{box-shadow:var(--ring),0 24px 60px #000000b3;outline:none}@media (hover:none) and (pointer:coarse){.explorer-pop__close:hover{transform:translateZ(0)}}@media (prefers-reduced-motion:reduce){.explorer-pop__panel:after,.explorer-pop__close:before,.explorer-pop__close:after{animation:none!important}.explorer-pop__close{transition:none!important}}@media (max-width:520px){.explorer-pop__close{--x-size:46px;--x-pad:12px;font-size:20px}}.fullpage-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;width:100%;height:100dvh;max-height:100dvh;padding:clamp(1rem,2.6vw,2rem);padding-bottom:calc(clamp(1rem,2.6vw,2rem) + var(--safe-bottom));scroll-padding-bottom:calc(clamp(1rem,2.6vw,2rem) + var(--safe-bottom));background:radial-gradient(circle at 10% -10%,#00ffc424 0,transparent 55%),radial-gradient(circle at 90% 110%,#9b5bff2e 0,transparent 60%),linear-gradient(145deg,var(--bg-0),var(--bg-1),var(--bg-2));color:var(--text-main);position:fixed;inset:0;overflow:auto}@supports not (height:100dvh){.fullpage-scroll{height:100vh;max-height:100vh}}.fullpage-scroll>*{max-width:1180px;margin:0 auto}.fullpage-scroll::-webkit-scrollbar{width:10px}.fullpage-scroll::-webkit-scrollbar-track{background:0 0}.fullpage-scroll::-webkit-scrollbar-thumb{background:#aaf1ff2e padding-box padding-box;border:2px solid #0000;border-radius:999px}.fullpage-scroll::-webkit-scrollbar-thumb:hover{background:#aaf1ff47}@media (max-width:980px),(max-height:720px){.nav-foot{visibility:visible!important;opacity:1!important;pointer-events:auto!important;margin-top:6px!important;margin-bottom:calc(2px + var(--safe-bottom,0px))!important;z-index:auto!important;display:block!important;position:static!important}.nav-foot__toggle{width:min(720px,100%);margin:0 auto}.app-nav{-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:calc(4px + var(--safe-bottom,0px) + 2px)!important;min-height:0!important;overflow:hidden auto!important}.app-workspace,.app-frame,.app-frame-inner{min-height:0!important}.app-nav,.app-workspace,.app-frame,.app-frame-inner{overflow-x:visible!important}}@media (max-width:380px),(max-height:640px){.nav-foot__toggle{border-radius:13px!important;padding:6px 9px!important}.nav-foot__badge{width:26px!important;height:26px!important}.nav-foot__summary{font-size:9px!important;line-height:1.08!important}.nav-foot__chev{padding:2px 5px!important;font-size:7.75px!important}}.route-loader{--breath-s:var(--breath,5.236s);--rl-cyan:51,246,255;--rl-teal:38,255,196;--rl-violet:155,91,255;--rl-gold:255,217,121;z-index:99999;width:100vw;height:100dvh;height:100svh;padding:clamp(14px,2.2vw,20px);padding-top:calc(clamp(14px,2.2vw,20px) + env(safe-area-inset-top,0px));padding-right:calc(clamp(14px,2.2vw,20px) + env(safe-area-inset-right,0px));padding-bottom:calc(clamp(14px,2.2vw,20px) + env(safe-area-inset-bottom,0px));padding-left:calc(clamp(14px,2.2vw,20px) + env(safe-area-inset-left,0px));isolation:isolate;background:radial-gradient(circle at 18% 20%,rgba(var(--rl-cyan),.12)0,transparent 38%),radial-gradient(circle at 78% 16%,rgba(var(--rl-violet),.14)0,transparent 44%),radial-gradient(circle at 50% 110%,rgba(var(--rl-teal),.1)0,transparent 56%),linear-gradient(145deg,var(--bg-0),var(--bg-1),var(--bg-2));color:var(--text-main);contain:layout paint;backface-visibility:hidden;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.route-loader__bg{pointer-events:none;background:radial-gradient(circle at 50% 40%,rgba(var(--rl-teal),.11),transparent 58%),radial-gradient(circle at 50% 60%,rgba(var(--rl-violet),.1),transparent 62%),radial-gradient(circle at 50% 75%,rgba(var(--rl-gold),.08),transparent 68%);opacity:.72;filter:blur(44px);animation:rl-breath var(--breath-s)ease-in-out infinite;will-change:transform,opacity;position:absolute;inset:-18%;transform:translateZ(0)}.route-loader__grid{pointer-events:none;opacity:.22;mix-blend-mode:screen;animation:rl-drift calc(var(--breath-s)*3.236)ease-in-out infinite;will-change:transform,opacity;background-image:linear-gradient(90deg,#0000 0 92%,#5fb4ff33 92% 100%),linear-gradient(#0000 0 92%,#5fb4ff29 92% 100%);background-size:72px 72px;position:absolute;inset:-40px;transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#000 0,#0000 74%);mask-image:radial-gradient(circle,#000 0,#0000 74%)}.route-loader__halo{pointer-events:none;background:radial-gradient(circle at 45% 40%,rgba(var(--rl-cyan),.1),transparent 60%),radial-gradient(circle at 62% 66%,rgba(var(--rl-violet),.1),transparent 64%),radial-gradient(circle at 50% 78%,rgba(var(--rl-gold),.06),transparent 70%);filter:blur(70px);opacity:.62;animation:rl-halo calc(var(--breath-s)*1.618)ease-in-out infinite;will-change:transform,opacity;position:absolute;inset:-20%;transform:translateZ(0)}.route-loader__stage{width:min(540px,92vw);height:min(720px,92dvh);border-radius:var(--radius-xl);background:radial-gradient(900px 420px at 18% 0%,rgba(var(--rl-cyan),.1),transparent 60%),radial-gradient(820px 520px at 92% 110%,rgba(var(--rl-violet),.12),transparent 62%),linear-gradient(180deg,#0a1024eb,#030610f5);height:min(720px,92svh);box-shadow:0 30px 90px #0000009e,0 0 0 1px #ffffff0f inset,0 0 70px rgba(var(--rl-cyan),.1);-webkit-backdrop-filter:blur(var(--blur-strong))saturate(150%);isolation:isolate;border:1px solid #aaf1ff42;place-items:center;display:grid;position:relative;overflow:hidden;transform:translateZ(0)}.route-loader__stage:before{content:"";border-radius:calc(var(--radius-xl) - 2px);pointer-events:none;opacity:.78;border:1px solid #ffffff17;position:absolute;inset:1px}.route-loader__stage:after{content:"";pointer-events:none;opacity:0;animation:rl-sheen calc(var(--breath-s)*2)ease-in-out infinite;mix-blend-mode:soft-light;will-change:transform,opacity;background:linear-gradient(120deg,#0000 0%,#ffffff29 45%,#0000 70%);position:absolute;inset:-30%;transform:rotate(18deg)translate(-58%)translateZ(0)}.route-loader__orb{aspect-ratio:1;width:min(210px,54vw);filter:drop-shadow(0 0 32px rgba(var(--rl-cyan),.14));isolation:isolate;border-radius:999px;place-items:center;display:grid;position:relative;transform:translateZ(0)}.route-loader__orb:before{content:"";pointer-events:none;background:radial-gradient(circle at 35% 30%,#ffffff1f,transparent 54%),radial-gradient(circle at 50% 70%,rgba(var(--rl-teal),.16),transparent 62%),radial-gradient(circle at 70% 60%,rgba(var(--rl-violet),.12),transparent 66%);opacity:.75;filter:blur(22px);animation:rl-breath var(--breath-s)ease-in-out infinite;will-change:transform,opacity;border-radius:999px;position:absolute;inset:-18%}.route-loader__orb-core{background:radial-gradient(circle at 35% 30%,#ffffff24,transparent 55%),radial-gradient(circle at 72% 70%,rgba(var(--rl-cyan),.38),transparent 60%),linear-gradient(200deg,rgba(var(--rl-teal),.34),#03091beb);width:78%;height:78%;box-shadow:0 0 0 12px rgba(var(--rl-cyan),.08),0 0 60px rgba(var(--rl-teal),.18);animation:rl-core calc(var(--breath-s)*1)ease-in-out infinite;will-change:transform,opacity;border:1px solid #a8f1ff6b;border-radius:999px;overflow:hidden}.route-loader__orb-ring{border:1px solid rgba(var(--rl-cyan),.32);box-shadow:0 0 0 10px rgba(var(--rl-cyan),.1),0 0 0 1px #ffffff0f inset;opacity:.88;will-change:transform;border-radius:999px;position:absolute;inset:6%;transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#0000 0%,#000 34% 72%,#0000 100%);mask-image:radial-gradient(circle,#0000 0%,#000 34% 72%,#0000 100%)}.route-loader__orb-ring--a{animation:rl-rotate calc(var(--breath-s)*3.236)linear infinite}.route-loader__orb-ring--b{border-color:rgba(var(--rl-violet),.26);box-shadow:0 0 0 8px rgba(var(--rl-violet),.1),0 0 0 1px #ffffff0a inset;animation:rl-rotate calc(var(--breath-s)*5.236)linear infinite reverse;inset:-6%}.route-loader__orb-ring--c{border-color:rgba(var(--rl-gold),.18);box-shadow:0 0 0 6px rgba(var(--rl-gold),.08);animation:rl-rotate calc(var(--breath-s)*8.472)linear infinite;inset:-18%}.route-loader__spark{width:9px;height:9px;box-shadow:0 0 0 2px rgba(var(--rl-cyan),.14),0 0 26px rgba(var(--rl-cyan),.2),0 0 52px rgba(var(--rl-gold),.08);opacity:.78;will-change:transform,opacity;background:#ffffffe0;border-radius:999px;position:absolute;transform:translateZ(0)}.route-loader__spark--a{animation:rl-spark calc(var(--breath-s)*1.618)ease-in-out infinite;top:12%;left:18%}.route-loader__spark--b{animation:rl-spark calc(var(--breath-s)*2.236)ease-in-out infinite;bottom:14%;right:20%}.route-loader__content{z-index:6;pointer-events:none;place-items:center;padding:0 18px;display:grid;position:absolute;inset:0}.route-loader__content-inner{justify-items:center;gap:12px;display:grid}.route-loader__dot{background:var(--accent-cyan);width:12px;height:12px;box-shadow:0 0 18px rgba(var(--rl-cyan),.5),0 0 36px rgba(var(--rl-violet),.32);animation:rl-dot var(--breath-s)ease-in-out infinite;will-change:transform,opacity;border-radius:999px;transform:translateZ(0)}.route-loader__text{letter-spacing:.28em;text-transform:uppercase;text-align:center;color:#0000;-webkit-text-fill-color:transparent;text-shadow:0 0 .22em #78fff038,0 0 .55em #7882ff1f;animation:rl-text calc(var(--breath-s)*2)ease-in-out infinite;will-change:transform,opacity,background-position;background-image:linear-gradient(105deg,#ffffffe0 0%,#a0fff4db 28%,#96cdffc7 58%,#d2aaffbd 86%,#ffffffd6 100%);background-position:0%;background-size:240% 240%;-webkit-background-clip:text;background-clip:text;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,SF Mono,Liberation Mono,Courier New,monospace;font-size:clamp(13px,1.9vw,16px)}.route-loader__sub{letter-spacing:.22em;text-transform:uppercase;opacity:.72;color:#f5f7ffb3;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,SF Mono,Liberation Mono,Courier New,monospace;font-size:clamp(11px,1.6vw,13px)}@keyframes rl-breath{0%,to{opacity:.62;transform:scale(.985)translateZ(0)}50%{opacity:.82;transform:scale(1.02)translateZ(0)}}@keyframes rl-halo{0%,to{opacity:.52;transform:scale(1)translateZ(0)}50%{opacity:.72;transform:scale(1.04)translateZ(0)}}@keyframes rl-drift{0%{transform:translate(0,0)}50%{transform:translateY(-10px)}to{transform:translate(0,0)}}@keyframes rl-rotate{to{transform:rotate(360deg)translateZ(0)}}@keyframes rl-core{0%,to{opacity:.92;transform:scale(1)translateZ(0)}50%{opacity:1;transform:scale(1.035)translateZ(0)}}@keyframes rl-dot{0%,to{opacity:.72;transform:scale(.86)translateZ(0)}50%{opacity:1;transform:scale(1.18)translateZ(0)}}@keyframes rl-spark{0%,to{opacity:.52;transform:translate(0,0)}50%{opacity:.98;transform:translateY(-9px)}}@keyframes rl-text{0%,to{opacity:.88;background-position:0%;transform:translateY(1px)}50%{opacity:1;background-position:100%;transform:translateY(-1px)}}@keyframes rl-sheen{0%{opacity:0;transform:rotate(18deg)translate(-58%)translateZ(0)}35%{opacity:.42}70%{opacity:0;transform:rotate(18deg)translate(58%)translateZ(0)}to{opacity:0}}@media (prefers-reduced-motion:reduce){.route-loader__bg,.route-loader__grid,.route-loader__halo,.route-loader__orb:before,.route-loader__orb-core,.route-loader__orb-ring,.route-loader__dot,.route-loader__spark,.route-loader__text,.route-loader__stage:after{animation:none!important}}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.route-loader__stage{background:radial-gradient(900px 420px at 18% 0%,rgba(var(--rl-cyan),.1),transparent 60%),radial-gradient(820px 520px at 92% 110%,rgba(var(--rl-violet),.12),transparent 62%),linear-gradient(180deg,#060e23eb,#030818f5)}}.klock-pop{z-index:999999;-webkit-backdrop-filter:blur(14px);overscroll-behavior:contain;isolation:isolate;contain:layout paint;backface-visibility:hidden;background:radial-gradient(1400px 900px at 18% 8%,#ffdc8c2e,#0000 64%),radial-gradient(1200px 820px at 82% 16%,#78dcff29,#0000 62%),radial-gradient(900px 700px at 50% 110%,#be82ff1a,#0000 60%),#020408b8;place-items:stretch stretch;width:100vw;height:100vh;padding:0;display:grid;position:fixed;inset:0;transform:translateZ(0)}@supports (height:100dvh){.klock-pop{height:100dvh}}.klock-pop__panel{contain:layout paint;backface-visibility:hidden;background:radial-gradient(1600px 900px at 12% 6%,#ffd27829,#0000 68%),radial-gradient(1400px 900px at 88% 10%,#78dcff1f,#0000 66%),linear-gradient(#ffffff14,#ffffff05);border:1px solid #ffffff1a;border-radius:0;width:100%;height:100%;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:inset 0 0 0 1px #ffd8781a,inset 0 0 0 2px #78dcff0f,0 40px 120px #0000008c}.klock-pop__panel:before{content:"";pointer-events:none;opacity:.9;animation:klock-breathe var(--klock-breath,var(--breath-s))ease-in-out infinite;will-change:transform,opacity;background:radial-gradient(closest-side at 30% 30%,#ffe7a029,#0000 62%),radial-gradient(closest-side at 70% 40%,#78dcff1f,#0000 60%);position:absolute;inset:-25%;transform:translateZ(0)}.klock-pop__panel:after{content:"";pointer-events:none;opacity:.35;mix-blend-mode:overlay;background:linear-gradient(#0000,#ffffff0d),repeating-linear-gradient(0deg,#ffffff0d 0 1px,#0000 1px 36px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,#0000 1px 44px);position:absolute;inset:0}@keyframes klock-breathe{0%{opacity:.82;transform:translate(0,0)scale(1)}50%{opacity:.98;transform:translateY(-1.2%)scale(1.03)}to{opacity:.86;transform:translate(0,0)scale(1)}}.klock-pop__close{top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:#ffe1961f;border:1px solid var(--klock-border-strong,#ffe7a09e);color:#f0f6fff5;-webkit-backdrop-filter:blur(10px);z-index:50;background:#080c1475;border-radius:999px;place-items:center;width:54px;height:54px;display:grid;position:absolute;transform:translateZ(0);box-shadow:0 18px 60px #0000008c,inset 0 0 0 1px #ffffff1a}.klock-pop__close:focus-visible{box-shadow:var(--klock-ring,0 0 0 2px #ffe19638),0 18px 60px #0000008c;outline:none}.klock-pop__body{z-index:1;justify-content:center;align-items:center;height:100%;padding:0;display:flex;position:relative;overflow:hidden}.klock-stage{width:100%;height:100%;padding:calc(18px + env(safe-area-inset-top,0px))calc(18px + env(safe-area-inset-right,0px))calc(18px + env(safe-area-inset-bottom,0px))calc(18px + env(safe-area-inset-left,0px));place-items:center;display:grid}.klock-stage__inner{aspect-ratio:1;filter:drop-shadow(0 30px 90px #0000008c);place-items:center;width:min(98vmin,1280px);height:min(98vmin,1280px);margin:0 auto;display:grid}.klock-stage__inner>*{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important}.klock-stage__inner :where(svg,canvas,img){display:block;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important}.klock-stage__inner :where(.wrap,.container,.root){height:100%!important}@media (max-width:720px){.klock-stage{padding:calc(12px + env(safe-area-inset-top,0px))calc(12px + env(safe-area-inset-right,0px))calc(12px + env(safe-area-inset-bottom,0px))calc(12px + env(safe-area-inset-left,0px))}.klock-stage__inner{width:min(98vmin,1280px);height:min(98vmin,1280px)}}.klock-pop .kai-klock-shell{width:clamp(360px,88vmin,1400px);max-width:none}@media (prefers-reduced-motion:reduce){.klock-pop__panel:before{animation:none}}.kk-pop{z-index:999999;padding:max(14px,env(safe-area-inset-top,0px))max(12px,env(safe-area-inset-right,0px))max(14px,env(safe-area-inset-bottom,0px))max(12px,env(safe-area-inset-left,0px));contain:layout paint;backface-visibility:hidden;place-items:center;display:grid;position:fixed;inset:0;transform:translateZ(0)}.kk-pop__backdrop{-webkit-backdrop-filter:blur(10px);background:radial-gradient(1200px 700px at 30% 10%,#78dcff24,#000000b8 55%,#000000db);border:0;position:absolute;inset:0}.kk-pop__panel{backface-visibility:hidden;contain:layout paint;will-change:transform,opacity;background:linear-gradient(#ffffff14,#ffffff08) padding-box padding-box,radial-gradient(1200px 500px at 20% 0,#ffdc782e,#78dcff1f,#0000 70%) border-box;border:1px solid #ffffff24;border-radius:26px;width:min(520px,92vw);position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 22px 80px #0000008c,inset 0 0 0 1px #ffffff0f}.kk-pop__head{justify-content:space-between;align-items:center;padding:12px 14px 8px;display:flex}.kk-pop__title{letter-spacing:.3px;color:#f0f6fff5;text-shadow:0 0 18px #ffdc782e;font-weight:900}.kk-pop__close{color:#f0f6ffeb;cursor:pointer;background:#ffffff0f;border:0;border-radius:12px;padding:8px 10px;font-weight:700}.kk-pop__close:hover{background:#ffffff1a}.kk-pop__meta{flex-wrap:wrap;gap:8px;padding:0 14px 10px;display:flex}.kk-pop__pill{color:#e6f0ffeb;background:#00000038;border:1px solid #ffffff1f;border-radius:999px;padding:6px 10px;font-size:12px}.kk-pop__dial{place-items:center;padding:10px 14px 14px;display:grid}.kk-pop__dial>*{width:min(360px,70vw);max-width:360px;animation:kk-dial-breath var(--breath-s)ease-in-out infinite;transform-origin:50%;will-change:transform,opacity}@keyframes kk-dial-breath{0%,to{opacity:.98;transform:translateZ(0)scale(1)}50%{opacity:1;transform:translateZ(0)scale(1.02)}}.kk-pop__foot{justify-content:center;padding:0 14px 14px;display:flex}.kk-pop__hint{color:#c6d4ebc7;text-align:center;font-size:12px}@media (prefers-reduced-motion:reduce){.kk-pop__dial>*{animation:none}}.panel-foot{white-space:nowrap;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;font-size:clamp(8px,2.15vw,12px);line-height:1;display:flex;overflow:visible}.panel-foot__left{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:visible}.panel-foot__right{white-space:nowrap;flex:none}.dns-copy{--kai-gold:255,213,74;--kai-neon:70,211,255;--kai-violet:193,139,255;--kai-glass:255,255,255;min-height:16px;line-height:1;font-size:inherit;letter-spacing:-.01em;font-variant-numeric:tabular-nums;background: radial-gradient(120% 220% at 15% 40%,rgba(var(--kai-gold),.14),transparent 55%),radial-gradient(120% 220% at 85% 60%,rgba(var(--kai-neon),.12),transparent 55%),rgba(var(--kai-glass),.028)padding-box,linear-gradient(90deg,rgba(var(--kai-gold),.45),rgba(var(--kai-neon),.34),rgba(var(--kai-violet),.3))border-box;-webkit-backdrop-filter:blur(10px);color:inherit;opacity:.92;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:0 0 0 1px #ffffff0f,0 8px 22px #0000002e,0 0 14px rgba(var(--kai-gold),.1),0 0 16px rgba(var(--kai-neon),.08);will-change:box-shadow,filter,transform;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:0 6px;transition:transform .12s,opacity .14s,box-shadow .18s,background .18s,filter .18s;animation:5.236s ease-in-out infinite dns-breath;display:inline-flex;position:relative}.dns-copy:hover{opacity:1;filter:brightness(1.06);box-shadow:0 0 0 1px #ffffff14,0 10px 26px #0003,0 0 18px rgba(var(--kai-gold),.14),0 0 20px rgba(var(--kai-neon),.11)}.dns-copy:active{transform:translateY(.5px)scale(.995)}.dns-copy:focus-visible{outline:2px solid rgba(var(--kai-neon),.28);outline-offset:2px}.dns-copy:before{content:"⧉";opacity:.62;width:10px;text-shadow:0 0 10px rgba(var(--kai-neon),.18),0 0 10px rgba(var(--kai-gold),.14);justify-content:center;align-items:center;font-size:.95em;line-height:1;display:inline-flex;transform:translateY(-.5px)}.dns-copy:after{content:"Remembered";pointer-events:none;letter-spacing:0;background:radial-gradient(140% 180% at 20% 30%,rgba(var(--kai-gold),.22),transparent 60%),#00000075;-webkit-backdrop-filter:blur(12px);opacity:0;box-shadow:0 0 0 1px #ffffff0d,0 10px 26px #00000038,0 0 18px rgba(var(--kai-gold),.12),0 0 18px rgba(var(--kai-neon),.1);border:1px solid #ffffff24;border-radius:999px;padding:2px 7px;font-size:.9em;line-height:1;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)}.dns-copy.is-copied,.dns-copy[data-copied="1"]{opacity:1;filter:brightness(1.08);box-shadow:0 0 0 1px #ffffff17,0 10px 28px #00000038,0 0 22px rgba(var(--kai-gold),.18),0 0 24px rgba(var(--kai-neon),.14)}.dns-copy.is-copied:before,.dns-copy[data-copied="1"]:before{content:"✓";opacity:.92;text-shadow:0 0 12px rgba(var(--kai-gold),.22),0 0 14px rgba(var(--kai-neon),.18)}.dns-copy.is-copied:after,.dns-copy[data-copied="1"]:after{opacity:1;transform:translate(-50%)translateY(0)}@keyframes dns-breath{0%,to{filter:brightness();box-shadow:0 0 0 1px #ffffff0f,0 8px 22px #0000002e,0 0 14px rgba(var(--kai-gold),.1),0 0 16px rgba(var(--kai-neon),.08)}50%{filter:brightness(1.05);box-shadow:0 0 0 1px #ffffff14,0 10px 26px #0003,0 0 18px rgba(var(--kai-gold),.16),0 0 20px rgba(var(--kai-neon),.12)}}@media (prefers-reduced-motion:reduce){.dns-copy{animation:none}}@media (max-width:420px){.panel-foot{gap:8px;font-size:clamp(7.5px,2.35vw,11px)}.panel-foot__left{gap:5px}.dns-copy{gap:4px;min-height:15px;padding:0 5px}}html[data-perf=low]{--blur-soft:10px;--blur-strong:12px;--shadow-halo:0 0 0 #0000}@media (prefers-reduced-motion:reduce),(prefers-reduced-transparency:reduce),(prefers-reduced-data:reduce),(update:slow){:root{--blur-soft:10px;--blur-strong:12px;--shadow-halo:0 0 0 #0000}.app-bg-orbit,.app-bg-glow,.brand__title,.brand__subtitle,.live-orb{animation:none!important}.app-bg-grid{mix-blend-mode:normal!important;opacity:.22!important}.app-bg-orbit{filter:blur(24px)!important;opacity:.35!important}.app-bg-glow{filter:blur(20px)!important;opacity:.38!important}.explorer-pop__panel:after,.klock-pop__panel:before,.explorer-pop__close:before,.explorer-pop__close:after{opacity:.22!important;animation:none!important}.app-topbar,.app-frame,.workspace-topbar,.app-nav,.app-panel,.explorer-pop,.explorer-pop__panel,.klock-pop,.klock-pop__panel,.kk-pop__backdrop,.kk-pop__panel{-webkit-backdrop-filter:none!important}.app-topbar{background:#020612eb!important}.app-frame{box-shadow:0 24px 80px #000000ad!important}.workspace-topbar,.app-nav,.app-panel{box-shadow:0 18px 50px #0009!important}}html[data-perf=low] .app-bg-orbit,html[data-perf=low] .app-bg-glow,html[data-perf=low] .brand__title,html[data-perf=low] .brand__subtitle,html[data-perf=low] .live-orb{animation:none!important}html[data-perf=low] .explorer-pop__panel:after,html[data-perf=low] .klock-pop__panel:before,html[data-perf=low] .explorer-pop__close:before,html[data-perf=low] .explorer-pop__close:after{opacity:.22!important;animation:none!important}html[data-perf=low] .app-topbar,html[data-perf=low] .app-frame,html[data-perf=low] .workspace-topbar,html[data-perf=low] .app-nav,html[data-perf=low] .app-panel,html[data-perf=low] .explorer-pop,html[data-perf=low] .explorer-pop__panel,html[data-perf=low] .klock-pop,html[data-perf=low] .klock-pop__panel,html[data-perf=low] .kk-pop__backdrop,html[data-perf=low] .kk-pop__panel{-webkit-backdrop-filter:none!important}:where(.explorer-pop,.klock-pop,.kk-pop,.explorer-pop__panel,.klock-pop__panel,.kk-pop__panel,.explorer-pop__close,.klock-pop__close,.kk-pop__close){transition-delay:0s!important;animation-delay:0s!important}.topbar-live{justify-content:flex-end;align-items:center;gap:clamp(6px,1.8vw,12px);width:max-content;max-width:76vw;min-height:38px;padding:clamp(4px,1.2vw,6px) clamp(8px,2.2vw,12px);display:inline-flex;min-width:0!important}.live-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-behavior:smooth;align-items:center;min-width:0;max-width:100%;padding-bottom:2px;display:inline-flex;overflow:auto hidden}.live-scroll::-webkit-scrollbar{height:6px}.live-scroll::-webkit-scrollbar-thumb{background:#78dcff59;border-radius:999px}.live-scroll::-webkit-scrollbar-track{background:0 0}.live-orb{flex:none}.live-text{white-space:nowrap;gap:clamp(6px,1.8vw,12px);min-width:0;line-height:1;display:inline-flex;overflow:hidden;flex-direction:row!important;align-items:baseline!important}.live-title,.live-meta{white-space:nowrap;font-variant-numeric:tabular-nums;text-transform:uppercase;align-items:baseline;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,SF Mono,Consolas,Liberation Mono,Courier New,monospace;line-height:1;display:inline-flex}.live-title{letter-spacing:clamp(.08em,.6vw,.14em);font-size:clamp(10px,2.2vw,13px)}.live-meta{letter-spacing:clamp(.06em,.55vw,.12em);opacity:.86;font-size:clamp(9px,2vw,12px)}@media (max-width:560px){.topbar-live{max-width:84vw}.live-scroll{margin-right:-2px}}.live-meta{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (max-width:420px){.topbar-live{gap:8px;max-width:70vw}.live-text{gap:8px}}:root{--nav-max-h-mobile:clamp(220px,40svh,380px);--writ-max-h-mobile:clamp(72px,14svh,140px)}@supports not (height:1svh){:root{--nav-max-h-mobile:clamp(220px,40vh,380px);--writ-max-h-mobile:clamp(72px,14vh,140px)}}.nav-writ-slot{background:linear-gradient(#0a143000,#0a14302e);border-top:1px solid #ffffff0f;flex:none;width:100%;min-width:0;min-height:0}@media (max-width:980px){.app-workspace{grid-template-rows:auto max-content minmax(0,1fr)}.app-nav{height:auto;max-height:var(--nav-max-h-mobile);align-self:start;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:0!important;overflow:hidden auto!important}.nav-list{flex:none;padding-bottom:.7rem!important}.nav-writ-slot{max-height:var(--writ-max-h-mobile);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow:auto}.nav-writ-slot .nav-foot{margin-top:0!important;margin-bottom:0!important;padding:.68rem .9rem .78rem!important}.nav-writ-slot .nav-foot__line{font-size:.74rem;line-height:1.25}.app-panel{align-self:stretch;height:100%;min-height:0}}.nav-writ-slot{flex-direction:column;min-height:0;display:flex}.nav-writ-slot .nav-foot{background:0 0;border-top:0;margin-top:0}@media (min-width:981px){.nav-writ-slot{margin-top:auto}.nav-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#aaf1ff2e transparent;flex:auto;min-height:0;overflow:auto}.nav-list::-webkit-scrollbar{width:10px}.nav-list::-webkit-scrollbar-track{background:0 0}.nav-list::-webkit-scrollbar-thumb{background:#aaf1ff2e padding-box padding-box;border:2px solid #0000;border-radius:999px}.nav-list::-webkit-scrollbar-thumb:hover{background:#aaf1ff47}}@media (max-width:980px){.nav-writ-slot{margin-top:0}}@media (max-width:980px) and (max-height:740px){:root{--nav-max-h-mobile:clamp(190px,36svh,320px);--writ-max-h-mobile:clamp(64px,12svh,120px)}}@supports not (height:1svh){@media (max-width:980px) and (max-height:740px){:root{--nav-max-h-mobile:clamp(190px,36vh,320px);--writ-max-h-mobile:clamp(64px,12vh,120px)}}}@media (min-width:981px){.app-shell[data-roomy="1"] .app-nav{align-self:start;height:auto;max-height:none}}.kai-splash{z-index:2147483646;width:100dvw;height:100dvh;padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);background:radial-gradient(900px circle at 50% 42%,#78d2ff1f,#0000 62%),radial-gradient(1200px circle at 50% 55%,#aa78ff1a,#0000 70%),var(--bg-0,#040f24);-webkit-font-smoothing:antialiased;isolation:isolate;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.kai-splash[data-state=show]{opacity:1}.kai-splash[data-state=fade]{opacity:0;pointer-events:none;transition:opacity .26s}.kai-splash[data-state=hidden]{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.kai-splash[data-state=fade]{transition-duration:.14s}}.kai-splash__grid{opacity:.18;pointer-events:none;background-image:linear-gradient(90deg,#ffffff0e 1px,#0000 1px),linear-gradient(#ffffff0e 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0 55%,#0000 72%);mask-image:radial-gradient(circle at 50% 45%,#000 0 55%,#0000 72%)}.kai-splash__content{aspect-ratio:1;place-items:center;width:min(84vw,320px);display:grid;position:relative}.kai-splash__badge{aspect-ratio:1;isolation:isolate;border-radius:9999px;place-items:center;width:clamp(160px,44vw,240px);display:grid;position:relative}.kai-splash__badge-halo,.kai-splash__badge-glow{pointer-events:none;border-radius:9999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(0)}.kai-splash__badge-halo{opacity:.85;background:radial-gradient(circle,#78d2ff42 0%,#78d2ff1a 34%,#0000 68%);width:138%;height:138%}.kai-splash__badge-glow{opacity:.65;mix-blend-mode:screen;background:radial-gradient(circle,#aa78ff38 0%,#aa78ff14 38%,#0000 70%);width:110%;height:110%}.kai-splash__rays{opacity:.35;background:conic-gradient(#ffffff2e,#fff0 14%,#ffffff1f 28%,#fff0 42%,#ffffff29 56%,#fff0 70%,#ffffff1f 84%,#fff0 100%);border-radius:9999px;position:absolute;inset:-12%;-webkit-mask-image:radial-gradient(circle,#0000 0 55%,#000 60% 72%,#0000 78%);mask-image:radial-gradient(circle,#0000 0 55%,#000 60% 72%,#0000 78%)}.kai-splash__badge-core{aspect-ratio:1;background:radial-gradient(circle at 30% 30%,#ffffff1f,#ffffff08 50%,#0003 100%);border:1px solid #ffffff24;border-radius:9999px;place-items:center;width:56%;display:grid;position:relative;box-shadow:0 10px 30px #00000047}.kai-splash__phi{filter:drop-shadow(0 0 10px #78d2ff8c)drop-shadow(0 0 22px #aa78ff38);width:62%;height:auto;display:block;transform:translateZ(0)}.kai-splash__badge-orb{aspect-ratio:1;opacity:.9;background:radial-gradient(circle,#ffffff38,#fff0 62%);border-radius:9999px;width:22%;position:absolute;top:26%;left:62%}.kai-splash__badge-core-shine{pointer-events:none;background:radial-gradient(circle at 30% 22%,#ffffff38,#fff0 58%);border-radius:9999px;position:absolute;inset:0}.kai-splash__ring{opacity:.55;border:1px solid #ffffff24;border-radius:9999px;position:absolute;inset:-6%}.kai-splash__ring--inner{opacity:.45;border-color:#ffffff1a;inset:6%}.kai-splash__flare{opacity:.35;background:radial-gradient(circle at 50% 45%,#ffffff29,#0000 62%);border-radius:9999px;position:absolute;inset:-18%;-webkit-mask-image:radial-gradient(circle,#000 0 62%,#0000 78%);mask-image:radial-gradient(circle,#000 0 62%,#0000 78%)}@media (prefers-reduced-motion:no-preference){.kai-splash__rays{animation:3.6s linear infinite kai-splash-spin}.kai-splash__badge-glow{animation:2.2s ease-in-out infinite kai-splash-breathe}}@keyframes kai-splash-spin{to{transform:translateZ(0)rotate(360deg)}}.kai-splash__grid{-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0 55%,#0000 72%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.kai-splash__rays{will-change:transform;overflow:hidden;transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#0000 0 55%,#000 60% 72%,#0000 78%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.kai-splash__flare{overflow:hidden;transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#000 0 62%,#0000 78%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@supports (-webkit-touch-callout:none){.kai-splash__badge-glow{mix-blend-mode:normal}.kai-splash__phi{filter:none!important}.kai-splash__badge-core{box-shadow:0 10px 30px #00000047,0 0 18px #78d2ff57,0 0 44px #aa78ff2e}}:root{--kai-breath:5.236s;--kai-breath-ease:cubic-bezier(.37,0,.63,1);--kai-ink:var(--ink,#e9fbff);--kai-bg-0:var(--bg-0,#02030a);--kai-bg-1:var(--bg-1,#03091b);--kai-bg-2:var(--bg-2,#040f24);--kai-cyan:var(--accent-cyan,#33f6ff);--kai-teal:var(--accent-teal,#26ffc4);--kai-violet:var(--accent-violet,#9b5bff);--kai-safe-bottom:env(safe-area-inset-bottom,0px);--kai-safe-top:env(safe-area-inset-top,0px)}.mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.nav-foot{margin-top:6px}.nav-foot__toggle{width:100%;color:var(--kai-ink);cursor:pointer;isolation:isolate;will-change:transform,box-shadow,border-color;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:radial-gradient(820px 210px at 24% 0,#33f6ff2e,#0000 60%),radial-gradient(760px 240px at 92% 18%,#9b5bff1a,#0000 62%),linear-gradient(#0c1430d6,#030610e0);border:1px solid #78dcff38;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:7px 10px;transition:border-color .18s,box-shadow .18s,transform .12s;display:grid;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 14px 46px #0009,inset 0 1px #ffffff0f}.nav-foot__toggle:before{content:"";filter:blur(10px);opacity:.56;z-index:0;pointer-events:none;will-change:opacity,transform;animation:navAuroraSpin 26.18s linear infinite,navBreathAurora var(--kai-breath)var(--kai-breath-ease)infinite;background:conic-gradient(from 180deg,#33f6ff00,#33f6ff42,#26ffc429,#9b5bff38,#33f6ff00);border-radius:18px;position:absolute;inset:-2px;transform:translateZ(0)}.nav-foot__toggle:after{content:"";opacity:.12;z-index:1;pointer-events:none;will-change:opacity,transform;animation:navBreathSheen var(--kai-breath)var(--kai-breath-ease)infinite;background:linear-gradient(110deg,#fff0 0%,#ffffff1a 18%,#33f6ff1a 26%,#fff0 44%);border-radius:13px;position:absolute;inset:0;transform:translateZ(0)translate(-62%)skew(-14deg)}.nav-foot__toggle:hover{border-color:#78dcff61;box-shadow:0 18px 58px #000000a8,0 0 0 1px #33f6ff1f,inset 0 1px #ffffff12}.nav-foot__toggle:hover:after{animation:.9s ease-out forwards navShimmer}.nav-foot__toggle:active{transform:translateY(1px)translateZ(0)}.nav-foot__toggle:focus-visible{outline-offset:3px;outline:2px solid #33f6ffeb}.nav-foot__badge{z-index:2;will-change:box-shadow;width:28px;height:28px;animation:navBreathBadge var(--kai-breath)var(--kai-breath-ease)infinite;background:radial-gradient(circle at 30% 30%,#33f6ff3d,#0000 62%),linear-gradient(#0a0e20c2,#00000038);border:1px solid #33f6ff42;border-radius:11px;place-items:center;display:grid;position:relative;transform:translateZ(0);box-shadow:0 10px 26px #0000007a,inset 0 1px #ffffff14}.nav-foot__badge:after{content:"";opacity:.9;pointer-events:none;border:1px solid #9b5bff33;border-radius:9px;position:absolute;inset:4px}.nav-foot__main{z-index:2;gap:1px;min-width:0;display:grid}.nav-foot__kicker{letter-spacing:.18em;text-transform:uppercase;opacity:.92;font-size:9px;line-height:1}.nav-foot__summary{opacity:.82;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:normal;min-width:0;font-size:11.25px;line-height:1.08;overflow:visible}.nav-foot__chev{z-index:2;letter-spacing:.1em;text-transform:uppercase;opacity:.95;background:radial-gradient(220px 54px at 30% 0,#9b5bff2e,#0000 70%),linear-gradient(#9b5bff1a,#0000);border:1px solid #9b5bff3d;border-radius:12px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:inline-flex;box-shadow:0 10px 24px #00000075,inset 0 1px #ffffff0f}.nav-foot__chevIcon{opacity:.92;place-items:center;display:grid}.nav-foot__chevIcon svg{width:14px;height:14px}.nav-foot__toggle:hover .nav-foot__chevIcon{transition:transform .16s;transform:translate(1px)}@media (max-width:380px){.nav-foot__toggle{gap:8px;padding:6px 9px}.nav-foot__badge{width:26px;height:26px}.nav-foot__kicker{font-size:8.5px}.nav-foot__summary{font-size:11px}.nav-foot__chev{padding:4px 7px;font-size:9.75px}}.nav-footSheet{z-index:90;overscroll-behavior:none;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.nav-footSheet__backdrop{opacity:.96;will-change:opacity;animation:navBreathBackdrop var(--kai-breath)var(--kai-breath-ease)infinite;cursor:default;background:radial-gradient(1400px 900px at 50% 18%,#33f6ff1a,#0000 58%),radial-gradient(900px 650px at 70% 30%,#9b5bff14,#0000 62%),#000000a8;border:0;margin:0;padding:0;position:absolute;inset:0;transform:translateZ(0)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav-footSheet__backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.nav-footSheet__panel{opacity:0;will-change:transform,opacity,box-shadow,border-color;width:min(780px,92vw);max-height:min(78dvh,820px);animation:navVaultIn .22s cubic-bezier(.2,.9,.2,1)forwards,navBreathPanel var(--kai-breath)var(--kai-breath-ease).22s infinite;isolation:isolate;background:radial-gradient(1100px 520px at 18% 0,#33f6ff29,#0000 60%),radial-gradient(940px 420px at 92% 18%,#9b5bff1f,#0000 62%),linear-gradient(#0a0e20f0,#02030af2);border:1px solid #78dcff38;border-radius:22px;position:relative;overflow:hidden;transform:translateY(10px)scale(.985)translateZ(0);box-shadow:0 34px 120px #000000bd,0 0 0 1px #33f6ff1a,inset 0 1px #ffffff0f}.nav-footSheet__panel:before{content:"";filter:blur(20px);opacity:.8;z-index:0;pointer-events:none;will-change:opacity,transform;animation:navAuroraSpin 26.18s linear infinite,navBreathAurora var(--kai-breath)var(--kai-breath-ease)infinite;background:conic-gradient(from 180deg,#33f6ff00,#33f6ff38,#26ffc424,#9b5bff33,#33f6ff00);border-radius:24px;position:absolute;inset:-2px;transform:translateZ(0)}.nav-footSheet__panel:after{content:"";z-index:1;pointer-events:none;opacity:.58;mix-blend-mode:screen;will-change:opacity;animation:navBreathGrid var(--kai-breath)var(--kai-breath-ease)infinite;background:linear-gradient(#33f6ff0f 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#9b5bff0d 1px,#0000 1px) 0 0/28px 28px,repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 3px 7px),linear-gradient(#fff0 0%,#33f6ff1a 46%,#fff0 70%) 0 -120%/100% 220%;border-radius:22px;position:absolute;inset:0;transform:translateZ(0)}.nav-footSheet__head{z-index:2;background:radial-gradient(700px 90px at 20% 0,#33f6ff1a,#0000 70%),linear-gradient(#ffffff0a,#0000);border-bottom:1px solid #78dcff24;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.nav-footSheet__title{letter-spacing:.18em;text-transform:uppercase;color:var(--kai-ink);opacity:.98;align-items:center;gap:8px;font-size:12px;display:inline-flex}.nav-footSheet__sub{opacity:.78;color:var(--kai-ink);overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:1.25}.nav-footSheet__close{width:40px;height:40px;color:var(--kai-ink);cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;will-change:transform,box-shadow,border-color;animation:navXBreath var(--kai-breath)var(--kai-breath-ease)infinite,navXSheen calc(var(--kai-breath)*2)linear infinite;background:radial-gradient(220px 60px at 30% 0,#33f6ff24,#0000 72%),radial-gradient(180px 80px at 90% 30%,#9b5bff1f,#0000 70%),conic-gradient(from 180deg,#33f6ff00,#33f6ff24,#26ffc41a,#9b5bff24,#33f6ff00),linear-gradient(#ffffff0f,#0000002e),linear-gradient(110deg,#fff0 0%,#ffffff1f 22%,#33f6ff1a 30%,#fff0 46%) 0 55%/220% 220%;border:1px solid #78dcff29;border-radius:15px;place-items:center;display:grid;position:relative;transform:translateZ(0);box-shadow:0 14px 34px #00000094,0 0 0 1px #33f6ff14,inset 0 1px #ffffff12}.nav-footSheet__close:before,.nav-footSheet__close:after{content:"";transform-origin:50%;opacity:.92;filter:drop-shadow(0 0 10px #33f6ff33)drop-shadow(0 0 18px #9b5bff24);will-change:opacity;width:18px;height:2px;animation:navXLines var(--kai-breath)var(--kai-breath-ease)infinite;background:linear-gradient(90deg,#fff3,#33f6ffeb,#9b5bffdb,#fff3);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.nav-footSheet__close:after{transform:translate(-50%,-50%)rotate(-45deg)}.nav-footSheet__close:hover{filter:saturate(1.06)brightness(1.04);border-color:#78dcff47;transform:translateY(-1px)rotate(.35deg)translateZ(0);box-shadow:0 18px 44px #000000a8,0 0 46px #33f6ff14,0 0 36px #9b5bff0f,inset 0 1px #ffffff14}.nav-footSheet__close:hover:before{transform:translate(-50%,-50%)rotate(49deg)}.nav-footSheet__close:hover:after{transform:translate(-50%,-50%)rotate(-49deg)}.nav-footSheet__close:active{filter:brightness(1.02);transform:translateY(0)rotate(0)translateZ(0)}.nav-footSheet__close:focus-visible{outline-offset:3px;outline:2px solid #33f6ffeb}.nav-footSheet__body{z-index:2;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#33f6ff38 #0003;gap:12px;max-height:calc(min(78dvh,820px) - 120px);padding:16px;display:grid;position:relative;overflow:auto}.nav-footSheet__body::-webkit-scrollbar{width:10px}.nav-footSheet__body::-webkit-scrollbar-track{background:#0000002e;border-radius:12px}.nav-footSheet__body::-webkit-scrollbar-thumb{background:linear-gradient(#33f6ff47,#9b5bff2e);border:2px solid #00000040;border-radius:12px}.nav-foot__line{color:var(--kai-ink);opacity:.95;will-change:border-color;animation:navBreathCard var(--kai-breath)var(--kai-breath-ease)infinite;background:radial-gradient(560px 170px at 22% 0,#33f6ff1c,#0000 72%),radial-gradient(520px 150px at 92% 12%,#9b5bff12,#0000 76%),linear-gradient(#ffffff08,#0000);border:1px solid #78dcff24;border-radius:16px;margin:0;padding:12px;font-size:13.5px;line-height:1.5;transform:translateZ(0);box-shadow:0 14px 34px #00000070,inset 0 1px #ffffff0d}.nav-foot__line--fine{opacity:.8;font-size:12.5px}.nav-footSheet__divider{opacity:.75;background:linear-gradient(90deg,#33f6ff00,#33f6ff2e,#9b5bff29,#33f6ff00);border-radius:999px;height:1px;margin:2px}.nav-footSheet__foot{z-index:2;padding:12px 16px calc(16px + var(--kai-safe-bottom));background:radial-gradient(700px 90px at 30% 0,#33f6ff14,#0000 70%),linear-gradient(#0000,#ffffff0a);border-top:1px solid #78dcff24;justify-content:flex-end;gap:10px;display:flex;position:relative}.nav-footSheet__cta{cursor:pointer;color:var(--kai-ink);animation:navBreathCTA var(--kai-breath)var(--kai-breath-ease)infinite;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:radial-gradient(360px 70px at 20% 0,#33f6ff2e,#0000 72%),linear-gradient(#33f6ff1a,#0000);border:1px solid #33f6ff42;border-radius:16px;padding:10px 14px;transition:border-color .16s,transform .12s,box-shadow .16s;box-shadow:0 16px 38px #0000008f,inset 0 1px #ffffff0f}.nav-footSheet__cta:hover{border-color:#33f6ff70;box-shadow:0 18px 46px #0000009e,0 0 46px #33f6ff14,inset 0 1px #ffffff0f}.nav-footSheet__cta:active{transform:translateY(1px)}.nav-footSheet__cta:focus-visible{outline-offset:3px;outline:2px solid #33f6ffeb}@media (max-width:520px){.nav-footSheet{padding:14px}.nav-footSheet__panel{width:min(780px,96vw);max-height:min(82dvh,820px)}.nav-footSheet__body{max-height:calc(min(82dvh,820px) - 120px);padding:14px}.nav-foot__line{padding:11px;font-size:13px}}@keyframes navVaultIn{to{opacity:1;transform:translateY(0)scale(1)translateZ(0)}}@keyframes navAuroraSpin{to{transform:rotate(360deg)translateZ(0)}}@keyframes navShimmer{0%{opacity:0;transform:translate(-70%)skew(-14deg)}20%{opacity:.75}to{opacity:0;transform:translate(140%)skew(-14deg)}}@keyframes navBreathPanel{0%{border-color:#78dcff2e;box-shadow:0 34px 120px #000000bd,0 0 0 1px #33f6ff14,inset 0 1px #ffffff0f}50%{border-color:#78dcff4d;box-shadow:0 40px 140px #000c,0 0 0 1px #33f6ff29,0 0 70px #33f6ff1a,inset 0 1px #ffffff14}to{border-color:#78dcff2e;box-shadow:0 34px 120px #000000bd,0 0 0 1px #33f6ff14,inset 0 1px #ffffff0f}}@keyframes navBreathAurora{0%{opacity:.7}50%{opacity:.98}to{opacity:.7}}@keyframes navBreathGrid{0%{opacity:.46}50%{opacity:.72}to{opacity:.46}}@keyframes navBreathSheen{0%{opacity:.06;transform:translate(-62%)skew(-14deg)}50%{opacity:.14;transform:translate(-40%)skew(-14deg)}to{opacity:.06;transform:translate(-62%)skew(-14deg)}}@keyframes navBreathBadge{0%{box-shadow:0 10px 26px #0000007a,inset 0 1px #ffffff14}50%{box-shadow:0 14px 34px #00000094,0 0 30px #33f6ff1f,inset 0 1px #ffffff1a}to{box-shadow:0 10px 26px #0000007a,inset 0 1px #ffffff14}}@keyframes navBreathCard{0%{border-color:#78dcff1f}50%{border-color:#78dcff2e}to{border-color:#78dcff1f}}@keyframes navBreathCTA{0%{box-shadow:0 16px 38px #0000008f,inset 0 1px #ffffff0f}50%{box-shadow:0 18px 44px #0000009e,0 0 24px #33f6ff33,inset 0 1px #ffffff14}to{box-shadow:0 16px 38px #0000008f,inset 0 1px #ffffff0f}}@keyframes navBreathBackdrop{0%{opacity:.94}50%{opacity:1}to{opacity:.94}}@keyframes navScanline{0%{background-position:0 0,0 0,0 0,0 -120%}50%{background-position:0 0,0 0,0 0,0 20%}to{background-position:0 0,0 0,0 0,0 140%}}@keyframes navXBreath{0%{border-color:#78dcff24;box-shadow:0 14px 34px #00000094,0 0 0 1px #33f6ff0f,inset 0 1px #ffffff12}50%{border-color:#78dcff3d;box-shadow:0 18px 44px #000000a8,0 0 52px #33f6ff1a,0 0 36px #9b5bff14,inset 0 1px #ffffff17}to{border-color:#78dcff24;box-shadow:0 14px 34px #00000094,0 0 0 1px #33f6ff0f,inset 0 1px #ffffff12}}@keyframes navXSheen{0%{background-position:0 0,0 0,0 0,0 0,0 55%}50%{background-position:0 0,0 0,0 0,0 0,120% 35%}to{background-position:0 0,0 0,0 0,0 0,240% 55%}}@keyframes navXLines{0%{opacity:.84}50%{opacity:1}to{opacity:.84}}@media (prefers-reduced-motion:reduce){.nav-footSheet__panel,.nav-foot__toggle:before,.nav-foot__toggle:after,.nav-footSheet__panel:before,.nav-footSheet__panel:after,.nav-foot__badge,.nav-foot__line,.nav-footSheet__cta,.nav-footSheet__backdrop,.nav-footSheet__close,.nav-footSheet__close:before,.nav-footSheet__close:after{animation:none!important}.nav-footSheet__panel{opacity:1;transform:none}.nav-foot__toggle:hover:after{animation:none!important}.nav-footSheet__close:hover{transform:none}}.nav-foot__phiLogo{width:18px;height:18px;display:block}.nav-footSheet__phiLogo{vertical-align:-3px;width:18px;height:18px;display:inline-block}.hp-price-card{-webkit-tap-highlight-color:transparent;background:linear-gradient(#0a1214cc,#0a121499);border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:4px;padding:5px;transition:transform .18s,box-shadow .18s,border-color .18s,filter .18s;display:flex;position:relative;box-shadow:0 10px 30px #00000038,inset 0 0 0 1px #ffffff08}.hp-price-card:focus-within{border-color:#37ffe447;box-shadow:0 16px 44px #37ffe424,inset 0 0 0 1px #37ffe438}.hp-head{align-items:center;gap:4px;min-height:22px;display:flex}.hp-title{letter-spacing:.01em;align-items:center;gap:4px;font-size:.7rem;font-weight:700;line-height:1;display:flex}.hp-spacer{flex:1}.hp-cta{opacity:.95;cursor:pointer;background:#37ffe414;border:1px solid #37ffe447;border-radius:6px;padding:2px 6px;font-size:.72rem;font-weight:700;line-height:1}.hp-cta:disabled{opacity:.6;cursor:not-allowed}.hp-chart{background:linear-gradient(#080e10a6,#080e1073);border:1px dashed #37ffe433;border-radius:6px;overflow:hidden}.hp-chart:focus{outline:none}.hp-foot{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hp-caption{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.hp-caption .dim{opacity:.8;font-size:10px}.chip{font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;padding:2px 6px;font-size:.82rem;line-height:1.1}.chip.active{background:#37ffe41a;border-color:#37ffe461}.chip.ghost{border-style:dashed}.hp-note{opacity:.8;margin-left:auto;font-size:10px}.hp-error{color:#ffb4b4;background:#ff000014;border:1px solid #ff000040;border-radius:6px;margin-top:4px;padding:6px;font-size:.86rem}.hp-toast{background:#37ffe414;border:1px solid #37ffe447;border-radius:8px;align-items:center;gap:6px;margin-top:6px;padding:6px;font-size:.9rem;display:flex}.hp-dot{background:#37ffe4;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 12px #37ffe4b3}.hp-checkout{background:linear-gradient(#080e10bf,#080e1099);border:1px solid #ffffff1f;border-radius:10px;margin-top:6px;box-shadow:0 12px 36px #0000003d,inset 0 0 0 1px #ffffff05}.hp-checkout-head{border-bottom:1px dashed #37ffe440;align-items:center;gap:6px;padding:6px 8px;display:flex}.hp-checkout-title{letter-spacing:.01em;font-size:.88rem;font-weight:700;line-height:1}.hp-x{color:#e8fbf8;cursor:pointer;opacity:.85;background:0 0;border:0;border-radius:6px;margin-left:auto;padding:1px 4px;font-size:15px;line-height:1}.hp-x:hover{opacity:1;background:#ffffff0f}.hp-checkout-body{padding:8px}.hp-payment{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:8px}.hp-primary{cursor:pointer;background:#37ffe41a;border:1px solid #37ffe452;border-radius:8px;padding:6px 10px;font-weight:700}.hp-primary:disabled{opacity:.65;cursor:not-allowed}.hp-secondary{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:8px;padding:6px 10px}.hp-fine{opacity:.85;margin-top:6px;font-size:10px}.hp-price-card{gap:2px;padding:4px}.hp-head{gap:3px;min-height:18px;margin-bottom:2px}.hp-title{letter-spacing:.005em;gap:3px;font-size:.62rem;line-height:1}.hp-cta{border-radius:6px;padding:1px 6px;font-size:.68rem}.hp-chart{border-width:1px;border-radius:6px;margin-top:2px}.hp-foot{gap:4px}.hp-caption{gap:3px}.hp-caption .dim{font-size:9.5px}.chip{padding:2px 5px;font-size:.78rem;line-height:1.05}.hp-error{padding:5px;font-size:.82rem}.hp-toast{gap:5px;padding:5px;font-size:.86rem}.hp-dot{width:6px;height:6px}.hp-chart .kpc-live-strip,.hp-chart .kpc-header,.hp-chart .kpc-legend{gap:4px;margin-top:-2px}.hp-chart .kpc-price,.hp-chart .kpc-price-amount,.hp-chart .kpc-price-badge{border-radius:8px;padding:2px 6px;font-size:.9rem;line-height:1}.hp-chart .kpc-delta,.hp-chart .kpc-percent,.hp-chart .kpc-pulse,.hp-chart .kpc-subtle{opacity:.9;font-size:.72rem}.hp-chart .kpc-tooltip,.hp-chart .kpc-value-bubble{border-radius:10px;padding:4px 6px;font-size:.82rem;transform:translateY(-2px)}.hp-chart .kpc-axis,.hp-chart .kpc-tick,.hp-chart .kpc-grid-label{opacity:.85;font-size:10px}.hp-checkout{margin-top:6px}@media (max-width:680px){.hp-note{display:none}}.hp-card{--ink:#e8fbf8;--dim:#aee8df;--line:#ffffff1f;--line-strong:#fff3;--up:#28c76f;--down:#ff4d4f;--accent:#37ffe4;--accent-2:#a78bfa;--bg:#070b0e;--bg2:#0a0f12;color:var(--ink);-webkit-user-select:none;user-select:none;background:0 0;border-radius:12px;overflow:visible}.hp-ticker{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:linear-gradient(#ffffff0f,#ffffff05);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 12px;transition:border-color .2s,background .2s,transform .1s;display:flex}.hp-ticker:hover{border-color:var(--line-strong)}.hp-ticker:active{transform:translateY(1px)}.hp-left{align-items:center;gap:8px;display:flex}.hp-title{letter-spacing:.15px;opacity:.9;font-weight:600}.phi-badge{justify-content:center;align-items:center;display:inline-flex}.hp-right{align-items:baseline;gap:10px;display:flex}.hp-price{font-variant-numeric:tabular-nums;font-weight:700}.hp-pct{font-variant-numeric:tabular-nums;opacity:.9;font-weight:600}.hp-pct.hp-up{color:var(--up)}.hp-pct.hp-down{color:var(--down)}.hp-expand{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#080e10bf,#080e108c);border-radius:12px;margin-top:10px;padding:12px}.hp-chart{width:100%}.hp-controls{grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:10px;display:grid}.hp-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dim{color:var(--dim);margin-right:4px;font-size:12px}.chip{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:6px 10px;font-size:12px}.chip:hover{border-color:var(--line-strong)}.chip.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)inset}.chip.ghost{opacity:.9}.hp-actions-row{gap:8px;display:flex}.hp-primary{cursor:pointer;background:radial-gradient(120% 140% at 0% 0%,var(--accent)0%,#37ffe433 60%,transparent 100%),linear-gradient(90deg,#37ffe440,#a78bfa40);color:#031a17;border:0;border-radius:10px;padding:8px 14px;font-weight:700}.hp-primary:hover{filter:brightness(1.08)}.hp-min{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff08;border-radius:10px;padding:8px 12px}.hp-min:hover{border-color:var(--line-strong)}.hp-popover{border:1px solid var(--line);background:linear-gradient(#080e10e6,#080e10bf);border-radius:12px;margin-top:10px;padding:10px;position:relative}.hp-pop-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.hp-pop-title{font-weight:700}.hp-x{appearance:none;color:var(--ink);cursor:pointer;opacity:.8;background:0 0;border:0;font-size:20px;line-height:1}.hp-x:hover{opacity:1}.hp-payment{margin:8px 0}.hp-actions{gap:8px;margin-top:8px;display:flex}.hp-secondary{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff08;border-radius:10px;padding:8px 12px}.hp-secondary:hover{border-color:var(--line-strong)}.hp-error{color:#ffb4b4;margin-top:8px;font-size:12px}.hp-fine{color:var(--dim);margin-top:6px;font-size:11.5px}.hp-toast{color:var(--ink);opacity:.95;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:inline-flex}.hp-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%}@media (max-width:520px){.hp-controls{grid-template-columns:1fr}.hp-actions-row{justify-content:flex-start}}.hp-ticker .phi-logo{--phi-s:5.236s;--phi-size:18px;--halo:.35;width:var(--phi-size);height:var(--phi-size);vertical-align:-2px;isolation:isolate;margin-right:8px;display:inline-block;position:relative}.hp-ticker .phi-logo .phi-core,.hp-ticker .phi-logo .phi-glow{pointer-events:none;display:block;position:absolute;inset:0}.hp-ticker .phi-logo .phi-core{filter:saturate(1.05)brightness(1.05)contrast(1.02)hue-rotate();opacity:.92;animation:phiHue 120s linear infinite,phiBreathe var(--phi-s)ease-in-out infinite alternate;background:conic-gradient(#f36,#ff9a00,#ffe600,#1dd07a,#00b8ff,#7a4dff,#ff33d1,#f36);transform:scale(1);-webkit-mask-image:url(/assets/phi.svg);mask-image:url(/assets/phi.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hp-ticker .phi-logo .phi-glow{filter:blur(1.2px);opacity:var(--halo);animation:phiGlow var(--phi-s)ease-in-out infinite alternate;background:radial-gradient(50% 50%,#37ffe426 0%,#a78bfa1a 35%,#0000 70%);transform:scale(.98)}.hp-ticker .phi-logo .phi-fallback{width:var(--phi-size);height:var(--phi-size);opacity:.92;display:inline-block}@supports ((-webkit-mask:url("")) or (mask:url(""))){.hp-ticker .phi-logo .phi-fallback{display:none}}@media (prefers-reduced-motion:reduce){.hp-ticker .phi-logo .phi-core,.hp-ticker .phi-logo .phi-glow{animation:none}}@keyframes phiBreathe{0%{transform:scale(.985)}to{transform:scale(1.015)}}@keyframes phiGlow{0%{opacity:calc(var(--halo)*.85)}to{opacity:calc(var(--halo)*1.05)}}@keyframes phiHue{0%{filter:saturate(1.05)brightness(1.05)contrast(1.02)hue-rotate()}to{filter:saturate(1.05)brightness(1.05)contrast(1.02)hue-rotate(1turn)}}.hp-ticker .hp-left{align-items:center;gap:8px;display:inline-flex}.hp-chart{padding-bottom:10px;overflow:visible!important}.hp-chart svg{overflow:visible!important}.hp-chart .kpc-axis,.hp-chart .kpc-tick,.hp-chart .kpc-grid-label,.hp-chart .recharts-cartesian-axis-tick text{font-variant-numeric:tabular-nums;letter-spacing:.06em;paint-order:stroke fill;stroke:#030818d9;stroke-width:3px;stroke-linejoin:round}@media (max-width:520px){.hp-chart{padding-bottom:14px}.hp-chart .kpc-axis,.hp-chart .kpc-tick,.hp-chart .kpc-grid-label,.hp-chart .recharts-cartesian-axis-tick text{opacity:.92;font-size:10px!important}.hp-chart .recharts-cartesian-axis-tick:nth-child(odd){display:none!important}.hp-chart .recharts-cartesian-axis-tick:last-child{display:block!important}.hp-chart .kpc-tick:nth-child(odd){display:none!important}.hp-chart .kpc-tick:last-child{display:inline!important}}.hp-phi-icon{vertical-align:-.12em;filter:drop-shadow(0 0 10px #37ffe438);width:20px;height:20px;margin-left:2px;display:inline-block}.hp-price-row{align-items:center;gap:4px;display:inline-flex}.hp-price-slash{opacity:.9}.hp-title{letter-spacing:.02em;isolation:isolate;align-items:baseline;font-weight:860;line-height:1.05;display:inline-flex;position:relative}.hp-titleText{color:#0000;-webkit-text-fill-color:transparent;background-blend-mode:overlay;text-shadow:0 0 .06em #ffffff47,0 0 .22em #78fff042,0 0 .58em #7882ff29;filter:saturate(1.55)brightness(1.05)drop-shadow(0 0 .36em #78fff029)drop-shadow(0 0 .72em #7882ff1f)drop-shadow(0 0 1.02em #ff50be1a);transform-origin:0;will-change:background-position,filter,text-shadow,transform;background-image:repeating-linear-gradient(115deg,#ffffff24 0 1px,#fff0 1px 8px),linear-gradient(115deg,#ff50befa 0%,#7882fffa 18%,#50dcfffa 36%,#78ffd2fa 54%,#fff578f5 72%,#ff8246f5 86%,#ff50befa 100%);background-position:0 0,0%;background-size:120% 120%,320% 320%;-webkit-background-clip:text;background-clip:text;animation:5.236s ease-in-out infinite hpTitleBreath,13.09s linear infinite hpTitleDrift;display:inline-block}@keyframes hpTitleBreath{0%{filter:saturate(1.45)brightness(1.02)drop-shadow(0 0 .3em #78fff01f)drop-shadow(0 0 .62em #7882ff1a);transform:translateZ(0)scale(1)}38.2%{filter:saturate(1.62)brightness(1.1)drop-shadow(0 0 .42em #78fff02e)drop-shadow(0 0 .86em #7882ff24);transform:translateZ(0)scale(1.01)}61.8%{filter:saturate(1.76)brightness(1.16)drop-shadow(0 0 .54em #78fff038)drop-shadow(0 0 1.02em #7882ff2e);transform:translateZ(0)scale(1.016)}to{filter:saturate(1.45)brightness(1.02)drop-shadow(0 0 .3em #78fff01f)drop-shadow(0 0 .62em #7882ff1a);transform:translateZ(0)scale(1)}}@keyframes hpTitleDrift{0%{background-position:0 0,0%}50%{background-position:0 0,100%}to{background-position:0 0,0%}}.hp-ticker:hover .hp-titleText,.hp-ticker:focus-visible .hp-titleText{filter:saturate(1.75)brightness(1.1)drop-shadow(0 0 .48em #78fff033)drop-shadow(0 0 .92em #7882ff29)drop-shadow(0 0 1.12em #ff50be1f)}@media (prefers-reduced-motion:reduce){.hp-titleText{animation:none}}*,:before,:after{box-sizing:border-box}:root{--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{min-height:100dvh;color:var(--ink);-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-y;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1200px 800px at 10% 0,#0b0f2a 0%,#05060a 55%) fixed;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto;display:block}:root{--seal-text:#e8fbf8;--seal-text-dim:#aee8df;--seal-core:#37ffe4;--seal-aura:#11d7ff;--seal-accent-2:#a78bfa;--seal-accent-3:#5ce1ff;--bg:#05060a;--card:#10121ca8;--glass:#121622b8;--border:#ffffff14;--ink:var(--seal-text,#e8ecff);--ink-dim:color-mix(in srgb,var(--seal-text-dim,#aab1d4)92%,#90a7c2 8%);--accent:color-mix(in srgb,var(--seal-core,#78f7ff)100%,transparent);--accent-2:color-mix(in srgb,var(--seal-accent-2,#b98bff)100%,transparent);--accent-3:color-mix(in srgb,var(--seal-accent-3,#4cffb3)100%,transparent);--error:#ff6b7a;--warn:#ffd166;--ok:#4ee89a;--shadow:0 6px 24px #00000073,inset 0 0 0 1px var(--border);--radius:14px;--radius-lg:24px;--pill:999px;--page-pad:clamp(10px,4vw,16px);--modal-pad:clamp(10px,3.5vw,16px);--topbar-h:48px;--kai-pulse:5.236s;--chip-size:clamp(42px,6.7vw,54px);--chip-blur:10px;--chip-badge-h:18px;--chip-badge-pad-x:5px;--chip-tip-bg:#0a0e14e6;--chip-tip-fg:#eaf2ff;--chip-tip-radius:8px;--trend:var(--ink-dim);--trend-up:var(--ok);--trend-down:var(--error);--trend-flat:color-mix(in srgb,var(--ink)66%,transparent);--breath:5.236s;--breath-ease:cubic-bezier(.4,0,.2,1);--phi-c1:#86f0ff;--phi-c2:#a78bfa;--phi-c3:#f0abfc;--phi-focus:0 0 0 2px #ffffff40,0 0 0 8px color-mix(in oklab,var(--phi-c2)45%,var(--phi-c3)35%,white 20%);--phi-shadow:0 10px 28px -14px #000000a6,0 2px 6px -3px #00000080;--badge-neon-1:#00ffc6;--badge-neon-2:#6fe7ff;--badge-neon-3:#19bfff;--badge-ink:#061012}.scroll-x-no-truncate{white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow:auto hidden}.scroll-x-no-truncate::-webkit-scrollbar{display:none}.wrap-anywhere{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.mono{font-variant-numeric:tabular-nums lining-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.verifier-stamper{width:100%;max-width:1100px;padding-inline:var(--page-pad);margin:24px auto 64px;overflow:clip}.toolbar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(#0a0c14a6,#0a0c1440);justify-content:space-between;align-items:center;gap:12px;max-width:100%;margin:0 0 18px;padding:10px 12px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-lockup .glyph{background:conic-gradient(from 0deg at 50% 50%,var(--accent),var(--accent-2),var(--accent-3),var(--accent));width:28px;height:28px;box-shadow:0 0 24px color-mix(in srgb,var(--accent)35%,transparent);border-radius:6px}.toolbar h1{text-transform:uppercase;letter-spacing:.08em;color:#0000;background:conic-gradient(from 180deg at 50% 50%,var(--accent),var(--accent-2),var(--accent-3),var(--accent)),radial-gradient(120% 180% at 10% 0%,color-mix(in srgb,var(--accent)35%,transparent),transparent 60%);-webkit-text-stroke:.55px #ffffff47;text-shadow:0 0 .5px #ffffff59,0 6px 22px color-mix(in srgb,var(--accent)26%,transparent);white-space:nowrap;text-overflow:ellipsis;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(18px,1.4vw + .8rem,26px);font-weight:800;line-height:1.05;animation:14s linear infinite holoShift;overflow:hidden}.toolbar h1:after{content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent)60%,transparent),color-mix(in srgb,var(--accent-2)50%,transparent),transparent);filter:blur(.25px);opacity:.7;width:52%;height:1px;margin-top:4px;display:block}@keyframes holoShift{0%{background-position:0%}to{background-position:200%}}@media (prefers-reduced-motion:reduce){.toolbar h1{animation:none}}.toolbar-actions{border-radius:var(--pill);background:linear-gradient(180deg,#ffffff0f,#ffffff08),radial-gradient(120% 180% at 80% -20%,color-mix(in srgb,var(--accent)14%,transparent),transparent 60%);-webkit-backdrop-filter:blur(10px)saturate(1.15);backdrop-filter:blur(10px)saturate(1.15);border:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:clamp(6px,1vw,10px);padding:4px;display:flex;box-shadow:0 8px 24px #00000059,inset 0 0 0 1px #ffffff0a}.toolbar-actions>*{white-space:nowrap;height:34px;box-shadow:none;border-radius:999px;align-items:center;gap:6px;max-width:100%;display:inline-flex}.toolbar-actions button,.toolbar-actions a{padding:7px 10px;font-size:.78rem;line-height:1}button{appearance:none;cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:10px;padding:10px 14px;font-weight:600;transition:transform 80ms,box-shadow .2s,background .2s,filter .2s}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent)65%,transparent);outline-offset:2px}button.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent)92%,white 0%),color-mix(in srgb,var(--accent)70%,white 0%)40%,color-mix(in srgb,var(--accent-2)70%,white 0%)100%);color:#06121a;text-shadow:0 1px #ffffff59;box-shadow:0 6px 16px color-mix(in srgb,var(--accent)35%,transparent);padding-inline:14px}button.primary:hover{box-shadow:0 10px 22px color-mix(in srgb,var(--accent)45%,transparent);filter:brightness(1.05)}button.secondary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent).16,transparent),color-mix(in srgb,var(--accent-2).14,transparent));border:1px solid color-mix(in srgb,var(--accent)35%,transparent);color:var(--ink);padding-inline:14px}button.secondary:hover{background:color-mix(in srgb,var(--accent).18,transparent);filter:brightness(1.05)}dialog.glass-modal{box-sizing:border-box;inline-size:min(1000px,calc(100vw - (var(--modal-pad)*2)));max-inline-size:calc(100vw - (var(--modal-pad)*2));border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--glass),#0a0c14b3);max-height:calc(100vh - 2*clamp(8px,6vh,24px));box-shadow:0 24px 64px #00000080,inset 0 0 0 1px var(--border);color:var(--ink);border:0;margin-block:clamp(8px,6vh,24px);margin-inline:auto;padding:0;overflow:hidden}dialog.glass-modal::backdrop{background:radial-gradient(900px 600px at 80% -10%,color-mix(in srgb,var(--accent)25%,transparent),transparent 40%),radial-gradient(900px 600px at 10% 110%,color-mix(in srgb,var(--accent-2)18%,transparent),transparent 40%),#00000a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog.glass-modal.fullscreen[data-open=true]{animation:.18s ease-out pop-in}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@supports (width:100dvw){dialog.glass-modal{inline-size:min(1000px,calc(100dvw - (var(--modal-pad)*2)));max-inline-size:calc(100dvw - (var(--modal-pad)*2));max-height:calc(100dvh - 2*clamp(8px,6vh,24px))}}.modal-viewport{flex-direction:column;width:100%;max-width:100%;height:100%;display:flex;overflow:hidden}.modal-topbar{z-index:2;min-height:var(--topbar-h);border-bottom:1px solid var(--border);background:linear-gradient(#0a0c14e6,#0a0c14b3);grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid;position:sticky;top:0}.modal-topbar .close-btn,.explorer-topbar .close-btn{border:1px solid var(--border);color:#e5e7eb;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:36px;min-width:36px;height:36px;min-height:36px;text-shadow:none;background:radial-gradient(circle at 30% 0,#ffffff38,#0000 55%),#0f172afa;border-radius:999px;justify-content:center;align-items:center;margin:2px 8px 4px;font-size:18px;font-weight:700;line-height:1;transition:transform .12s,box-shadow .18s,background .18s,color .18s;display:flex;position:relative;box-shadow:0 4px 16px #000000a6}.modal-topbar .close-btn:before,.modal-topbar .close-btn:after,.explorer-topbar .close-btn:before,.explorer-topbar .close-btn:after{content:none!important}.modal-topbar .close-btn:hover,.explorer-topbar .close-btn:hover{background:radial-gradient(circle at 30% 0,#ffffff47,#0000 55%),#0f172a;transform:translateY(-1px);box-shadow:0 7px 20px #000000b8}.modal-topbar .close-btn:active,.explorer-topbar .close-btn:active{transform:translateY(1px);box-shadow:0 3px 10px #000000a6}.modal-topbar .close-btn:focus-visible,.explorer-topbar .close-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent)75%,transparent);outline-offset:2px}.status-strip{white-space:nowrap;scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding:8px 10px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 18px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 18px calc(100% - 18px),#0000 100%)}.status-strip::-webkit-scrollbar{display:none}.status-strip>*{scroll-snap-align:start}.chip{letter-spacing:.02em;border:1px solid var(--border);color:var(--ink);background:#ffffff0a;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.chip.info{border-color:color-mix(in srgb,var(--accent)25%,transparent);color:var(--accent)}.chip.ok{color:var(--ok);border-color:#4ee89a59}.chip.err{color:var(--error);border-color:#ff6b7a66}.modal-header{grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:12px 16px;display:grid}.modal-header img{width:64px;height:64px;box-shadow:0 6px 18px #00000059,inset 0 0 0 1px var(--border);background:radial-gradient(80% 80% at 50% 30%,color-mix(in srgb,var(--accent)25%,transparent),transparent);border-radius:10px}.header-fields{flex-direction:column;gap:6px;min-width:0;display:flex}.header-fields .value-strip{order:0;margin:8px 0 0}.header-fields h2{overflow-wrap:anywhere;margin:0;font-size:18px}.header-fields p{color:var(--ink-dim);margin:0}.header-fields span{overflow-wrap:anywhere}.header-keys{flex-wrap:wrap;gap:6px;min-width:0;margin-top:6px;display:flex}.header-keys .field{border:1px solid var(--border);background:#ffffff0a;border-radius:10px;min-width:0;padding:6px 8px;font-size:clamp(11px,1.9vw,12px)}.header-keys .field.phikey{margin-top:-20px}@media (min-width:640px){.header-keys .field.phikey{margin-top:-3px}}.header-keys .field.kai-signature,.header-keys .field.kai-signature *{-webkit-mask-image:none!important;mask-image:none!important}.header-keys .field.kai-signature{overflow-wrap:anywhere;word-break:break-word;white-space:normal;flex:auto;align-items:center;gap:6px;min-width:0;display:inline-flex}.header-keys .field.warn{color:var(--warn);border-color:#ffd16659}.value-strip{scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:stretch;gap:10px;width:100%;padding:2px 2px 4px;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 10px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 10px),#0000 100%)}.value-strip::-webkit-scrollbar{display:none}.value-chip{scroll-snap-align:start;border:1px solid var(--border);background:linear-gradient(#ffffff0d,#ffffff06);border-radius:14px;flex-direction:column;flex:1 0 calc(50% - 5px);justify-content:center;align-items:flex-start;gap:4px;min-width:0;padding:10px 12px;display:flex;box-shadow:0 10px 28px #00000052,inset 0 0 0 1px #ffffff05;container:valuechip/inline-size}.value-chip *{max-width:100%}.value-chip .label{letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb,var(--ink)62%,transparent);white-space:nowrap;order:2;font-size:10px;line-height:1.1}.value-chip .amount{letter-spacing:.01em;white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;order:1;align-items:baseline;gap:.45ch;width:100%;min-width:0;font-size:clamp(18px,13.5cqi,30px);font-weight:950;line-height:1.02;display:inline-flex;overflow:auto hidden}.value-chip .amount::-webkit-scrollbar{display:none}@container valuechip (inline-size<220px){.value-chip .amount{font-size:clamp(16px,12.8cqi,26px)}}@container valuechip (inline-size<190px){.value-chip .amount{font-size:clamp(15px,11.5cqi,24px)}}@supports not (container-type:inline-size){.value-chip .amount{font-size:clamp(18px,6.4vw,28px)}}.value-chip.phi{border-color:color-mix(in srgb,var(--accent)34%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent)12%,transparent),transparent 60%),linear-gradient(180deg,#ffffff0b,#ffffff05)}.value-chip.usd{border-color:color-mix(in srgb,var(--ok)34%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--ok)10%,transparent),transparent 60%),linear-gradient(180deg,#ffffff0b,#ffffff05)}.value-chip .amount .sym{opacity:.92;transform-origin:0;color:inherit;-webkit-text-fill-color:inherit;margin-right:.2ch;font-weight:800;display:inline-block;transform:translateY(.5px)scale(.98)}.value-chip.up,.value-chip[data-trend=up]{--trend:var(--trend-up)}.value-chip.down,.value-chip[data-trend=down]{--trend:var(--trend-down)}.value-chip.flat,.value-chip[data-trend=flat]{--trend:var(--trend-flat)}.value-chip .amount:before{content:"";color:currentColor;-webkit-text-fill-color:currentColor;width:0;margin-right:0;font-size:.86em;font-weight:950;transition:color .22s,transform .22s,width .22s,margin .22s;display:inline-block;transform:translateY(-.02em)}.value-chip.up .amount:before,.value-chip[data-trend=up] .amount:before{content:"▲";width:1.05ch;color:var(--trend-up);margin-right:.15ch}.value-chip.down .amount:before,.value-chip[data-trend=down] .amount:before{content:"▼";width:1.05ch;color:var(--trend-down);margin-right:.15ch}.value-chip.flat .amount:before,.value-chip[data-trend=flat] .amount:before{content:"";width:0;margin-right:0}.value-chip.phi .amount{background-image:linear-gradient(180deg,#fffffff5 0 10%,#ffffff8c 10% 18%,#fff0 24%),linear-gradient(180deg,color-mix(in srgb,var(--accent)92%,white 0%),color-mix(in srgb,var(--accent-2)55%,white 0%));color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.value-chip.usd .amount{background:linear-gradient(180deg,color-mix(in srgb,var(--accent)85%,white 0%),color-mix(in srgb,var(--accent-2)55%,white 0%));color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.value-chip .delta{letter-spacing:.02em;color:#031216;white-space:nowrap;background:linear-gradient(180deg,#ffffffd9 0%,#fff9 8%,#fff0 14%),linear-gradient(90deg,color-mix(in srgb,var(--trend)65%,white 0%),color-mix(in srgb,var(--trend)35%,white 0%));border:1px solid #0000002e;border-radius:999px;place-items:center;min-width:34px;height:18px;margin-left:.45ch;padding:0 8px;font:900 11px/18px ui-sans-serif,system-ui,-apple-system,Inter,SF Pro Text;display:inline-grid;box-shadow:0 2px 6px #00000059,inset 0 1px #ffffffbf}@keyframes valueFlash{0%{filter:brightness(1.35)}to{filter:brightness()}}.value-chip.is-flashing{animation:.42s ease-out valueFlash}.value-chip.trend-up{box-shadow:0 10px 28px #00000052,0 0 20px color-mix(in srgb,var(--ok)26%,transparent),inset 0 0 0 1px #ffffff05}.value-chip.trend-down{box-shadow:0 10px 28px #00000052,0 0 20px color-mix(in srgb,var(--error)26%,transparent),inset 0 0 0 1px #ffffff05}@keyframes phiUsdBreath{0%,to{opacity:.82;text-shadow:0 0 .4px #ffffff73,0 0 10px color-mix(in srgb,var(--accent)35%,transparent)}50%{opacity:1;text-shadow:0 0 .7px #ffffffe6,0 0 18px color-mix(in srgb,var(--accent-2)50%,transparent)}}.value-chip.phi .amount,.value-chip.usd .amount{animation:phiUsdBreath var(--kai-pulse)ease-in-out infinite!important}.tabs{border-top:1px solid var(--border);border-bottom:1px solid var(--border);top:var(--topbar-h);z-index:1;background:linear-gradient(#0a0c14d9,#0a0c14a6);gap:4px;padding:4px 6px 6px;display:flex;position:sticky}.tabs button{border-radius:var(--pill);color:var(--ink-dim);border:1px solid #0000;flex:none;padding:8px 12px;font-size:.58rem;line-height:1.05}.tabs button:hover{color:var(--ink)}.tabs button.active{color:#06121a;background:linear-gradient(180deg,color-mix(in srgb,var(--accent)100%,white 0%),color-mix(in srgb,var(--accent-2)80%,white 0%));border-color:#0000}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;content-visibility:auto;contain:layout paint style;contain-intrinsic-size:800px 600px;max-height:calc(90vh - 260px);padding:14px 16px 6px;overflow:hidden auto}@supports (height:100dvh){.modal-body{max-height:calc(100dvh - 260px)}}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (max-width:520px){.summary-grid{grid-template-columns:1fr}}.summary-grid .kv{border-radius:var(--radius);background:var(--card);border:1px solid var(--border);grid-template-columns:minmax(96px,140px) minmax(0,1fr);gap:8px;min-width:0;padding:10px 12px;display:grid}.summary-grid .kv.wide{grid-column:1/-1}.kv .v{color:var(--ink);white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;overflow:auto hidden}.kv .v::-webkit-scrollbar{display:none}.kv .v.mono{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.transfers{gap:10px;margin:0;padding:0;list-style:none;display:grid}.transfer{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(#ffffff09,#ffffff05);padding:10px 12px}.transfer header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.transfer .index{color:var(--ink);font-weight:700}.transfer .state.open{color:var(--warn)}.transfer .state.closed{color:var(--ok)}.transfer .row{border-top:1px dashed var(--border);grid-template-columns:140px 1fr;gap:8px;padding:4px 0;display:grid}.transfer .row:first-of-type{border-top:0}.transfer .row .v{white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;overflow:auto hidden}.transfer .row .v::-webkit-scrollbar{display:none}.transfer .row .v.mono{white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.payload summary{cursor:pointer;color:var(--accent)}.payload .row{grid-template-columns:100px 1fr}.raw-json{white-space:pre-wrap;border-radius:var(--radius);border:1px solid var(--border);background:#0d1020;max-height:46vh;padding:12px;overflow:auto}.tooltip-container{cursor:help;display:inline-block;position:relative}.tooltip-trigger{cursor:help;padding-left:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tooltip{visibility:hidden;color:var(--ink);text-align:left;z-index:1000;opacity:0;border:1px solid var(--border);background-color:#0f172af5;border-radius:8px;width:240px;padding:8px 10px;font-size:11px;transition:opacity .18s,transform .18s;position:absolute;bottom:125%;left:0;transform:translateY(4px);box-shadow:0 10px 22px #0006}.tooltip-container:hover .tooltip,.tooltip-trigger:hover+.tooltip{visibility:visible;opacity:1;transform:translateY(0)}.modal-footer{width:100%;padding:clamp(6px,1dvh,8px)clamp(12px,2vw,16px)calc(clamp(6px,1dvh,8px) + var(--safe-bottom));background:radial-gradient(circle at 12% -10%,color-mix(in srgb,var(--accent)22%,transparent)0%,transparent 70%),linear-gradient(to top,#0009 0%,#0000 60%);border-top:1px solid color-mix(in srgb,var(--accent)60%,#ffffff0a);box-shadow:0 -.5px 0 #ffffff0f inset,0 -16px 32px #000000e6,0 -2px 28px color-mix(in srgb,var(--accent)35%,transparent);-webkit-backdrop-filter:blur(12px)saturate(180%);isolation:isolate;z-index:9999;flex-direction:column;gap:6px;display:flex;position:sticky;bottom:0;left:0;right:0;overflow:visible}.modal-footer:before{content:"";border-top:1px solid color-mix(in srgb,var(--accent)80%,transparent);pointer-events:none;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent)60%,transparent));opacity:.6;border-radius:.0001px;animation:5.236s ease-in-out infinite kaiBreath;position:absolute;inset:0}.status.error{color:var(--error);text-shadow:0 0 4px #f006;padding-left:2px;font-size:.72rem;font-weight:500;line-height:1.2}.footer-actions{flex-wrap:nowrap;justify-content:space-between;align-items:stretch;gap:8px;width:100%;min-width:0;min-height:clamp(40px,4.8dvh,48px);display:flex}.footer-btn{min-width:0;min-height:clamp(40px,4.8dvh,48px);color:var(--ink);text-align:center;cursor:pointer;background-color:#0006;background-image:radial-gradient(ellipse at 50% -10%,#ffffff24 0%,#fff0 60%),radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--accent)35%,transparent)0%,#0000 70%),linear-gradient(to bottom right,#ffffff0f 0%,#fff0 60%);border:1px solid #ffffff14;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;padding:0 12px;font-family:ui-sans-serif,system-ui,-apple-system,Inter,Roboto,Arial;line-height:1.2;display:flex;position:relative;box-shadow:0 0 8px #000000e6,0 8px 24px #000c}.aura-btn .btn-glow{border-radius:inherit;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent)60%,transparent)0%,transparent 70%);mix-blend-mode:screen;filter:blur(12px);opacity:.5;pointer-events:none;animation:5.236s ease-in-out infinite kaiBreath;position:absolute;inset:-1px}.btn-inner{z-index:2;flex-direction:column;min-width:0;max-width:100%;display:flex;position:relative}.icon-only{flex-direction:row;justify-content:center;align-items:center}.btn-label-main,.btn-label-sub,.balance-line{white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow:auto hidden}.btn-label-main::-webkit-scrollbar{display:none}.btn-label-sub::-webkit-scrollbar{display:none}.balance-line::-webkit-scrollbar{display:none}.btn-label-main{color:var(--ink);text-shadow:0 0 6px color-mix(in srgb,var(--accent)70%,transparent),0 0 1px #ffffffe6;font-size:.8rem;font-weight:600}.btn-label-sub{color:color-mix(in srgb,var(--ink)70%,var(--accent)30%);text-shadow:0 0 4px color-mix(in srgb,var(--accent)60%,transparent),0 0 1px #000000e6;flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:4px;min-width:0;font-size:.62rem;font-weight:500;line-height:1.1;display:flex}.balance-line{flex-flow:row;gap:4px;min-width:0;display:flex}.balance-line .phi-amount{color:var(--ink);font-weight:600}.balance-line .phi-balance{opacity:.8;color:color-mix(in srgb,var(--ink)70%,var(--accent)30%);font-weight:500}.balance-line .divider{opacity:.4}.seal-btn{border-color:color-mix(in srgb,var(--accent)60%,#ffffff1a);box-shadow:0 0 12px color-mix(in srgb,var(--accent)40%,transparent),0 16px 32px #000000e6;background-color:#00000073}.attach-btn{border-color:#ffffff14;flex:none;justify-content:center;align-items:center;min-width:clamp(40px,4.8dvh,48px);max-width:clamp(44px,5.2dvh,52px);padding:0;display:flex}.attach-btn svg{stroke-width:1.5px;width:18px;height:18px;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent)70%,transparent))drop-shadow(0 0 1px #fffc);color:var(--ink)}.send-btn{border-color:color-mix(in srgb,var(--accent)70%,#ffffff26);box-shadow:0 0 16px color-mix(in srgb,var(--accent)60%,transparent),0 20px 36px #000000e6;background-color:#00000080}.footer-btn:not(:disabled):hover,.footer-btn:not(:disabled):focus-visible{box-shadow:0 0 20px color-mix(in srgb,var(--accent)80%,transparent),0 24px 40px #000000f2;border-color:color-mix(in srgb,var(--accent)85%,#fff3);outline:none}.footer-btn:not(:disabled):active{box-shadow:0 0 10px color-mix(in srgb,var(--accent)60%,transparent),0 10px 20px #000000e6;transition:transform 60ms;transform:translateY(.5px)scale(.995)}.footer-btn:disabled{cursor:not-allowed;opacity:.38;filter:grayscale(.6)brightness(.8);text-shadow:none;border-color:#ffffff0f!important;box-shadow:0 0 4px #000000e6,0 8px 16px #000c!important}.footer-btn:disabled .btn-label-main,.footer-btn:disabled .btn-label-sub{text-shadow:none;color:#fff6}.footer-btn:disabled .phi-amount,.footer-btn:disabled .phi-balance{color:#fff6}.footer-btn:disabled .btn-glow{opacity:0;animation:none}@keyframes kaiBreath{0%{opacity:.35;filter:blur(10px)drop-shadow(0 0 2px color-mix(in srgb,var(--accent)60%,transparent))}50%{opacity:.7;filter:blur(14px)drop-shadow(0 0 6px color-mix(in srgb,var(--accent)80%,transparent))}to{opacity:.35;filter:blur(10px)drop-shadow(0 0 2px color-mix(in srgb,var(--accent)60%,transparent))}}.explorer-dialog{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);background:linear-gradient(180deg,var(--glass),#0a0c14b3);box-shadow:0 24px 64px #00000080,inset 0 0 0 1px var(--border);border:0;border-radius:0;margin:0;padding:0;overflow:hidden}.explorer-dialog::backdrop{background:radial-gradient(900px 600px at 70% -10%,color-mix(in srgb,var(--accent)25%,transparent),transparent 40%),radial-gradient(900px 600px at 15% 110%,color-mix(in srgb,var(--accent-2)18%,transparent),transparent 40%),#00000a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.explorer-chrome{flex-direction:column;max-width:100%;height:100%;display:flex;overflow:hidden}.explorer-topbar{border-bottom:1px solid var(--border);background:linear-gradient(#0a0c14e6,#0a0c14b3);grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:8px 10px;display:grid}.explorer-title{letter-spacing:.06em;text-transform:uppercase;color:#0000;background:conic-gradient(from 180deg at 50% 50%,var(--accent),var(--accent-2),var(--accent-3),var(--accent)),radial-gradient(120% 180% at 10% 0%,color-mix(in srgb,var(--accent)35%,transparent),transparent 60%);-webkit-text-stroke:.55px #ffffff47;text-shadow:0 0 .5px #ffffff59,0 6px 22px color-mix(in srgb,var(--accent)26%,transparent);white-space:nowrap;text-overflow:ellipsis;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:16px;font-weight:700;animation:14s linear infinite holoShift;overflow:hidden}@media (prefers-reduced-motion:reduce){.explorer-title{animation:none}}.explorer-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;content-visibility:auto;contain:layout paint style;contain-intrinsic-size:800px 600px;flex:auto;min-height:0;padding:10px 12px 16px;overflow:hidden auto}@media (min-width:960px){.explorer-dialog{border-radius:20px 0 0 20px;width:clamp(380px,34vw,520px);height:100dvh;margin:0 0 0 auto}}.explorer-body .meta-row{grid-template-columns:1fr auto;align-items:center;gap:10px;min-width:0;display:grid}.chip.icon{width:var(--chip-size);height:var(--chip-size);flex:0 0 var(--chip-size);-webkit-backdrop-filter:saturate(125%)blur(var(--chip-blur));color:#a7c7ff;background:radial-gradient(120% 120% at 30% 25%,#ffffff38 0%,#ffffff14 40%,#ffffff05 60%,#0000 100%),#ffffff0f;border:1px solid #ffffff24;border-radius:999px;outline:none;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background .18s,color .18s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #ffffff0f,0 8px 22px #0000008c}.chip.icon .ico,.chip.icon svg{z-index:1;stroke-width:2.2px;width:52%;height:52%;display:block;position:relative}@media (hover:hover){.chip.icon:hover{transform:translateY(-1px)scale(1.03)}}.chip.icon:active{transform:translateY(0)scale(.97)}@media (prefers-reduced-motion:reduce){.chip.icon,.chip.icon:before{transition:none!important;animation:none!important}}.chip.icon:before{content:"";border-radius:inherit;background:conic-gradient(from 0deg,transparent 0 40%,currentColor 47% 53%,transparent 60% 100%);filter:blur(7px)saturate(140%);opacity:.35;z-index:0;animation:12s linear infinite chipSpin;position:absolute;inset:-2px}@keyframes chipSpin{to{transform:rotate(360deg)}}.chip.icon.ok{color:#35e49a;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #35e49a1a,0 8px 22px #35e49a40}.chip.icon.warn{color:#ffd64d;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #ffd64d1a,0 8px 22px #ffd64d40}.chip.icon.err{color:#ff6b6b;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #ff6b6b1a,0 8px 22px #ff6b6b47}.chip.icon.info{color:#7ab8ff;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #7ab8ff1a,0 8px 22px #7ab8ff40}.chip.icon.ok:after{content:"";border-radius:inherit;opacity:.2;filter:blur(12px);z-index:0;background:radial-gradient(60% 60%,currentColor 0%,#0000 60%);animation:5.236s ease-in-out infinite breathe;position:absolute;inset:-8px}@keyframes breathe{0%,to{opacity:.16;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}.brand-lockup .glyph{animation:glyphBreath var(--kai-pulse)ease-in-out infinite;will-change:transform,filter,box-shadow}@keyframes glyphBreath{0%,to{filter:brightness(.92)saturate(1.05);box-shadow:0 0 24px color-mix(in srgb,var(--accent)35%,transparent);transform:translateZ(0)scale(1)}50%{filter:brightness(1.08)saturate(1.22);box-shadow:0 0 34px color-mix(in srgb,var(--accent)50%,transparent),0 0 22px color-mix(in srgb,var(--accent-2)35%,transparent);transform:translateZ(0)scale(1.06)}}@media (prefers-reduced-motion:reduce){.brand-lockup .glyph{animation:none}}.chip.icon[data-badge]:not([data-tip]):after{content:attr(data-badge);min-width:var(--chip-badge-h);height:var(--chip-badge-h);padding:0 var(--chip-badge-pad-x);font:900 12px/var(--chip-badge-h)ui-sans-serif,system-ui,-apple-system,"SF Pro Text",Inter,Roboto,"Segoe UI","Helvetica Neue",Arial;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;color:var(--badge-ink);-webkit-text-stroke:.5px #00000059;text-shadow:0 0 8px #6fe7ff8c;background:radial-gradient(140% 170% at 28% 12%,#fffffff2 0%,#ffffff40 28%,transparent 52%),linear-gradient(180deg,#fffc 0%,#ffffff8c 8%,#fff0 14%),linear-gradient(90deg,var(--badge-neon-1)0%,var(--badge-neon-2)50%,var(--badge-neon-3)100%);will-change:background-position,filter;background-position:0 0,0 0,0 0;background-size:auto,auto,200% 100%;border:1px solid #00000038;border-radius:999px;animation:5.236s ease-in-out infinite badgeGlow,8s linear infinite badgeShimmer;position:absolute;top:-6px;right:-4px;box-shadow:inset 0 1px #ffffffbf,inset 0 -1px 8px #0000002e,0 2px 4px #00000059,0 0 10px #19bfff8c,0 0 22px #6fe7ff73}@keyframes badgeGlow{0%,to{filter:saturate(115%)brightness();background-position:0 0,0 0,0 0}50%{filter:saturate(135%)brightness(1.06);background-position:0 0,0 0,100% 0}}@keyframes badgeShimmer{0%{background-position:0 0,0 0,0 0}50%{background-position:0 0,0 0,100% 0}to{background-position:0 0,0 0,0 0}}@media (prefers-reduced-motion:reduce){.chip.icon[data-badge]:not([data-tip]):after{background-position:0 0,0 0,50% 0;animation:none}}.chip.icon[data-tip]{--tip-offset:10px}.chip.icon[data-tip]:before,.chip.icon[data-tip]:after{pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;position:absolute;transform:translateY(4px)}.chip.icon[data-tip]:before{content:attr(data-tip);bottom:calc(100% + var(--tip-offset));background:var(--chip-tip-bg);color:var(--chip-tip-fg);border-radius:var(--chip-tip-radius);white-space:nowrap;z-index:30;padding:7px 9px;font:600 11px/1.2 ui-sans-serif,system-ui,-apple-system,SF Pro Text,Inter,Roboto,Segoe UI,Helvetica Neue,Arial;left:50%;translate:-50%;box-shadow:0 8px 22px #00000073,inset 0 1px #ffffff0f}.chip.icon[data-tip]:after{content:"";bottom:calc(100% + var(--tip-offset) - 5px);background:var(--chip-tip-bg);z-index:29;border-radius:2px;width:8px;height:8px;left:50%;transform:rotate(45deg);box-shadow:0 4px 12px #00000059}@media (hover:hover){.chip.icon[data-tip]:hover:before,.chip.icon[data-tip]:hover:after{opacity:1;transform:translateY(0)}}.chip.icon[data-tip]:focus-visible:before,.chip.icon[data-tip]:focus-visible:after{opacity:1;transform:translateY(0)}.valuation-inline{grid-template-columns:1fr auto;grid-auto-rows:auto;align-items:center;gap:8px 14px;min-width:0;margin-top:8px;display:grid}.valuation-inline .dot{background:radial-gradient(circle at 30% 30%,#fff 0 25%,#0000 60%),radial-gradient(circle at 70% 70%,#fff9 0,#0000 70%),linear-gradient(135deg,#f97316,#facc15,#22c55e);border-radius:999px;flex-shrink:0;width:7px;height:7px;margin-top:3px;margin-right:6px;display:inline-block;box-shadow:0 0 0 1px #ffffff38,0 0 8px #facc15d9}.valuation-inline-left{flex-direction:column;gap:2px;min-width:0;display:flex}.valuation-inline-label{letter-spacing:.02em;text-transform:uppercase;color:#f8fafce0;align-items:center;min-width:0;font-size:.78rem;display:flex}.valuation-inline-sublabel{color:#94a3b8f2;font-size:.72rem}.valuation-inline-right{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;text-overflow:clip;flex-direction:row;justify-content:flex-end;align-items:baseline;gap:10px;min-width:0;display:flex;overflow:auto hidden}.valuation-inline-right::-webkit-scrollbar{display:none}.valuation-inline-value-main{letter-spacing:.01em;color:#e5e7eb;white-space:nowrap;font-size:.95rem;font-weight:700}.valuation-inline-value-sub{color:#94a3b8f2;white-space:nowrap;font-size:.82rem}.valuation-inline-value-main .phi-unit{color:#facc15;font-weight:800}.valuation-inline-value-sub .usd-unit{color:#bef264f5}.live-pulse{background:radial-gradient(circle at 35% 20%,color-mix(in srgb,var(--accent)35%,transparent)0%,transparent 65%),#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff0d,0 0 18px #00000073,0 0 22px color-mix(in srgb,var(--accent)22%,transparent);letter-spacing:.06em;white-space:nowrap;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.74rem;font-weight:700;animation:5.236s ease-in-out infinite livePulseBreath;display:inline-flex}.live-pulse:before{content:"";background:radial-gradient(circle at 40% 40%,#fff 0%,#fff 25%,transparent 70%),radial-gradient(circle at 70% 70%,color-mix(in srgb,var(--accent)50%,transparent)0%,transparent 70%);width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb,var(--accent)60%,transparent),0 0 14px color-mix(in srgb,var(--accent-2)40%,transparent);border-radius:999px;animation:5.236s ease-in-out infinite livePulseDot}.live-pulse .now{color:var(--accent);text-shadow:0 0 6px color-mix(in srgb,var(--accent)65%,transparent),0 0 12px color-mix(in srgb,var(--accent-2)45%,transparent);font-weight:800}.live-pulse .pulse-number{color:var(--ink);opacity:.92;font-variant-numeric:tabular-nums;font-weight:700}@keyframes livePulseBreath{0%,to{filter:brightness(.88);box-shadow:inset 0 0 0 1px #ffffff0f,0 0 16px #00000073,0 0 14px color-mix(in srgb,var(--accent)20%,transparent)}50%{filter:brightness(1.06);box-shadow:inset 0 0 0 1px #ffffff14,0 0 18px #00000080,0 0 26px color-mix(in srgb,var(--accent-3)40%,transparent)}}@keyframes livePulseDot{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}@media (max-width:640px){.valuation-inline{gap:6px 10px;margin-top:6px}.valuation-inline-value-main{font-size:.9rem}.valuation-inline-value-sub{font-size:.78rem}.valuation-inline-label{font-size:.74rem}}.toolbar-actions{justify-content:center;align-self:center;width:fit-content;max-width:100%;padding:2px}@media (max-width:720px){.toolbar{flex-wrap:wrap;justify-content:center}.brand-lockup{justify-content:center;width:100%}.toolbar-actions{margin-inline:auto}}.footer-actions>.footer-btn:only-child{flex:none;width:fit-content;max-width:100%;margin-inline:auto;padding-inline:16px}.toolbar-actions .upload-phikey{align-items:center;gap:10px;display:inline-flex}.toolbar-actions .upload-phikey .phi-iconbox{background:radial-gradient(120% 120% at 30% 20%,#ffffff38 0%,#ffffff0f 45%,transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--accent)18%,transparent),#00000038);width:22px;height:22px;box-shadow:inset 0 1px 0 #ffffff29,0 8px 18px #00000059,0 0 16px color-mix(in srgb,var(--accent)22%,transparent);border:1px solid #ffffff2e;border-radius:7px;flex:0 0 22px;place-items:center;display:grid}.toolbar-actions .upload-phikey .phi-mark{opacity:.95;width:14px;height:14px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent)60%,transparent))drop-shadow(0 0 10px color-mix(in srgb,var(--accent-2)35%,transparent));display:block}.phikey-label{align-items:center;gap:0;min-width:0;line-height:1;display:inline-flex}.phikey-mark{opacity:.95;width:14px;height:14px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent)60%,transparent))drop-shadow(0 0 10px color-mix(in srgb,var(--accent-2)35%,transparent));margin-right:-1px;display:inline-block;transform:translateY(0)}.phikey-text{letter-spacing:-.01em;font-weight:800;line-height:1}.ico{filter:drop-shadow(0 0 10px color-mix(in srgb,currentColor 35%,transparent))}.phi-send-field{isolation:isolate;width:100%;min-width:0;max-width:100%;color:var(--ink);flex-direction:column;flex:auto;gap:4px;margin-top:auto;display:flex}.phi-send-field[data-state=focus] .phi-send-inputShell{border-color:color-mix(in srgb,var(--accent)60%,#ffffff40);box-shadow:0 0 10px color-mix(in srgb,var(--accent)55%,transparent),0 14px 28px #000000e6}.phi-send-label{text-shadow:0 0 6px color-mix(in srgb,var(--accent)70%,transparent),0 0 1px #fffc;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;min-width:0;font-family:ui-sans-serif,system-ui,-apple-system,Inter,SF Pro Text,Roboto,Arial;line-height:1.2;display:flex}.phi-send-label .label-main{color:var(--ink);white-space:nowrap;font-size:.75rem;font-weight:600}.phi-send-label .label-sub{color:color-mix(in srgb,var(--ink)70%,var(--accent)30%);text-shadow:0 0 4px color-mix(in srgb,var(--accent)60%,transparent),0 0 1px #000c;white-space:nowrap;opacity:.9;text-overflow:ellipsis;max-width:100%;font-size:.68rem;font-weight:500;overflow:hidden}.phi-send-bar{flex-wrap:nowrap;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.phi-send-inputShell{-webkit-backdrop-filter:blur(12px)saturate(180%);box-shadow:0 0 8px #000000e6,0 12px 24px #000c,0 0 24px color-mix(in srgb,var(--accent)50%,transparent);background:#00000059;border:1px solid #ffffff14;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:0;min-height:40px;padding:8px 10px;display:flex;position:relative}.phi-prefix{color:var(--ink);text-shadow:0 0 6px color-mix(in srgb,var(--accent)70%,transparent),0 0 1px #ffffffe6;flex-shrink:0;font-size:.8rem;font-weight:600;line-height:1}.phi-send-input{appearance:none;color:var(--ink);min-width:0;text-shadow:0 0 8px color-mix(in srgb,var(--accent)60%,transparent),0 0 1px #fff;caret-color:color-mix(in srgb,var(--accent)90%,white 10%);touch-action:manipulation;-webkit-text-size-adjust:100%;background:0 0;border:0;outline:0;flex:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:16px;font-weight:600;line-height:1.2}.phi-send-input::-webkit-outer-spin-button{appearance:none;margin:0}.phi-send-input::-webkit-inner-spin-button{appearance:none;margin:0}.phi-input-glow{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent)75%,transparent)0%,transparent 70%);height:1px;box-shadow:0 0 6px color-mix(in srgb,var(--accent)70%,transparent),0 0 2px #ffffffe6;pointer-events:none;border-radius:999px;animation:5.236s ease-in-out infinite phiInputBreath;position:absolute;bottom:6px;left:10px;right:10px}.phi-conv-right,.convert-readout{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);text-overflow:ellipsis;text-align:right;flex:none;font-size:.72rem;overflow:hidden}.phi-send-controls{flex:none;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:inline-flex}.phi-mode-toggle{border:1px solid var(--border,#ffffff2e);box-shadow:0 2px 10px #00000059,0 0 18px color-mix(in srgb,var(--accent)18%,transparent);background:linear-gradient(#fff3,#ffffff0d);border-radius:999px;flex:none;gap:4px;padding:2px;display:inline-flex}.phi-mode-btn{min-width:30px;height:26px;color:var(--ink);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.75rem;font-weight:600;transition:opacity .236s,transform .145s;display:inline-flex}.phi-mode-btn.is-active{opacity:1;background:color-mix(in srgb,var(--accent)35%,#0009);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)45%,transparent),0 0 12px color-mix(in srgb,var(--accent)40%,transparent)}.phi-mode-btn:hover{opacity:1}.phi-mode-btn:active{transform:translateY(.5px)scale(.97)}.phi-attach-btn{height:26px;color:var(--ink);cursor:pointer;box-shadow:0 2px 8px #0000008c,0 0 12px color-mix(in srgb,var(--accent)20%,transparent);opacity:.88;white-space:nowrap;background:radial-gradient(circle at 0 0,#00ffff29,#0000 60%),linear-gradient(#000000e6,#000000bf);border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:.7rem;font-weight:600;transition:opacity .236s,transform .145s;display:inline-flex}.phi-attach-btn:hover{opacity:1}.phi-attach-btn:active{transform:translateY(.5px)scale(.97)}.phi-attach-btn.is-active{border-color:color-mix(in srgb,var(--accent)60%,#fff3);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)50%,transparent),0 0 18px color-mix(in srgb,var(--accent)40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent)42%,#000000e6),#000000e6)}.phi-attach-icon{font-size:.8rem;line-height:1}.phi-attach-label{font-size:.7rem;font-weight:600}@keyframes phiInputBreath{0%{opacity:.4;filter:blur(6px)drop-shadow(0 0 2px color-mix(in srgb,var(--accent)60%,transparent))}50%{opacity:.9;filter:blur(8px)drop-shadow(0 0 6px color-mix(in srgb,var(--accent)80%,transparent))}to{opacity:.4;filter:blur(6px)drop-shadow(0 0 2px color-mix(in srgb,var(--accent)60%,transparent))}}@media (max-width:380px){.phi-send-inputShell{min-height:40px;padding:8px 10px}.phi-prefix{font-size:.75rem}.phi-send-input{font-size:16px}.phi-send-label .label-main{font-size:.7rem}.phi-send-label .label-sub{font-size:.62rem}.phi-mode-toggle{transform:scale(.9)}}@supports (-webkit-touch-callout:none){.phi-send-input{font-size:16px}}.phi-error-toast{z-index:1000;pointer-events:none;animation:.236s ease-out phiToastIn;position:fixed;bottom:86px;left:50%;transform:translate(-50%)}.phi-error-card{background:linear-gradient(180deg,color-mix(in srgb,var(--error,#ff4d4f)18%,#0000)0%,#0000008c 100%);-webkit-backdrop-filter:blur(14px)saturate(180%);border:1px solid color-mix(in srgb,var(--error,#ff4d4f)30%,#ffffff24);box-shadow:0 2px 8px #00000059,0 18px 36px #00000073,0 0 28px color-mix(in srgb,var(--error,#ff4d4f)36%,transparent);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.phi-error-card .badge{letter-spacing:.06em;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 14px color-mix(in srgb,var(--error,#ff4d4f)40%,transparent);background:linear-gradient(#ffffff3d,#ffffff14);border:1px solid #ffffff38;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:700}.phi-error-card .phi-error-text{color:#fff;text-shadow:0 0 8px #000000b3,0 0 1px #ffffffe6;margin:0;font-size:12.5px;font-weight:600}@keyframes phiToastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.phi-send-success-overlay{z-index:1100;pointer-events:auto;-webkit-backdrop-filter:blur(22px)saturate(180%);background:radial-gradient(circle at 8% 0,#0ff3,#0000 60%),radial-gradient(circle at 90% 100%,#9b52ff40,#000000e6);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.phi-send-success-card{width:100%;max-width:min(420px,100%);box-shadow:0 18px 40px #000000d9,0 0 32px color-mix(in srgb,var(--accent,#0ff)40%,transparent);color:var(--ink,#f9feff);background:linear-gradient(145deg,#000000d9,#000014fa);border:1px solid #ffffff2e;border-radius:18px;padding:20px 18px 16px;animation:.382s ease-out phiSuccessIn;position:relative;overflow:hidden}.phi-success-orb{opacity:.7;mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle at 30% 20%,#00ffff52,#0000 60%),radial-gradient(circle at 80% 80%,#9b52ff61,#0000 65%);position:absolute;inset:-40%}.phi-success-orb-inner{opacity:.9;border-radius:999px;animation:1.618s ease-in-out infinite phiSuccessHeartbeat;position:absolute;inset:18%;box-shadow:0 0 40px #00ffff59,0 0 80px #9b52ff59}.phi-success-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex;position:relative}.phi-success-pill{letter-spacing:.12em;text-transform:uppercase;color:#fdfdfd;z-index:1;background:linear-gradient(#ffffff38,#ffffff0f);border:1px solid #ffffff42;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700;position:relative;box-shadow:0 0 16px #0ff6,inset 0 0 0 1px #0009}.phi-success-close{z-index:1;color:#fefefe;cursor:pointer;opacity:.7;background:0 0;border:none;outline:none;padding:2px 4px;font-size:14px;position:relative}.phi-success-close:hover{opacity:1}.phi-success-title{z-index:1;letter-spacing:.03em;text-shadow:0 0 12px #000000d9,0 0 1px #ffffffe6;margin:0 0 4px;font-size:1.1rem;font-weight:700;position:relative}.phi-success-amount{z-index:1;opacity:.92;margin:0 0 4px;font-size:.9rem;position:relative}.phi-success-amount .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.phi-success-body{z-index:1;opacity:.96;margin:0 0 14px;font-size:.82rem;line-height:1.45;position:relative}.phi-send-success-download{z-index:1;color:#fdfdfd;background:radial-gradient(circle at 0 0,#00ffff3d,#0000 60%),linear-gradient(#0a0a1ee6,#000000f2);border:1px solid #ffffff52;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-bottom:10px;padding:8px 12px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;box-shadow:0 3px 14px #000000b3,0 0 20px #00ffff59}.phi-send-success-download-icon{font-size:.9rem}.phi-send-success-download-text{white-space:nowrap}.phi-success-ok{z-index:1;cursor:pointer;width:100%;color:var(--ink,#fdfdfd);background:linear-gradient(135deg,#000000e6,#000000b3);border:none;border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:600;position:relative;box-shadow:0 2px 10px #0009,0 0 16px #00ffff47}.phi-success-ok:active{transform:translateY(.5px)scale(.99)}@keyframes phiSuccessIn{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes phiSuccessHeartbeat{0%{opacity:.6;transform:scale(.96)}30%{opacity:.95;transform:scale(1.02)}55%{opacity:.8;transform:scale(.98)}80%{opacity:1;transform:scale(1.03)}to{opacity:.6;transform:scale(.96)}}:root{--seal-z:9999;--seal-veil:radial-gradient(1200px 800px at 50% 20%,#00ffde1a,transparent 60%),radial-gradient(800px 600px at 10% 90%,#00b4ff1a,transparent 60%),radial-gradient(900px 700px at 90% 80%,#af6eff1a,transparent 60%);--seal-bg:#0a1012b8;--seal-bg-tint:linear-gradient(180deg,#132024a6,#0a1012a6);--seal-border:#3cdccd59;--seal-border-strong:#37ffe48c;--seal-text:#e8fbf8;--seal-text-dim:#aee8df;--seal-accent:#37ffe4;--seal-accent-2:#a78bfa;--seal-accent-3:#5ce1ff;--seal-shadow:0 30px 80px #0000008c,inset 0 1px 0 #ffffff0a;--ring-shadow:0 0 0 2px #37ffe440,0 0 0 6px #37ffe41f;--focus:0 0 0 2px #37ffe4e6,0 0 0 6px #37ffe42e;--radius:18px}.seal-overlay{z-index:var(--seal-z);-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);pointer-events:auto;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(1200px 800px at 50% -10%,#0009,#000000a6 60%),#0009;place-items:center;animation:.28s ease-out both seal-overlay-fade;display:grid;position:fixed;inset:0;overflow:hidden}.seal-veil{z-index:0;background:var(--seal-veil);filter:blur(24px)saturate(130%);opacity:.9;pointer-events:none;animation:18s ease-in-out infinite alternate aurora-drift;position:absolute;inset:-10%}.seal-card{z-index:1;width:min(720px,92vw);color:var(--seal-text);border-radius:var(--radius);background:linear-gradient(to bottom right,#ffffff0f,#ffffff05)border-box,var(--seal-bg-tint),var(--seal-bg);border:1px solid var(--seal-border);box-shadow:var(--seal-shadow);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);pointer-events:auto;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:22px 18px 18px;animation:.33s cubic-bezier(.2,.8,.2,1) forwards card-in;position:relative;overflow:clip;transform:translateY(6px)scale(.985)}.seal-ornament{filter:blur(10px);mix-blend-mode:screen;opacity:.35;pointer-events:none;background:conic-gradient(from 180deg,#37ffe4cc,#a78bfa99,#5ce1ffb3,#37ffe4cc);border-radius:50%;width:120px;height:120px;animation:16s linear infinite rune-spin;position:absolute}.seal-ornament--tl{top:-30px;left:-30px}.seal-ornament--tr{animation-direction:reverse;top:-30px;right:-30px}.seal-ornament--bl{bottom:-30px;left:-30px}.seal-ornament--br{animation-direction:reverse;bottom:-30px;right:-30px}.seal-header{border-bottom:1px dashed #ffffff14;gap:4px;margin-bottom:12px;padding:6px 8px 12px;display:grid}.seal-title{letter-spacing:.4px;text-shadow:0 0 18px #37ffe440;margin:0;font-size:clamp(20px,2.1vw,26px);font-weight:700}.seal-subtitle{color:var(--seal-text-dim);opacity:.9;margin:0;font-size:13px}.seal-close{width:38px;height:38px;color:var(--seal-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff1f;border-radius:12px;place-items:center;transition:transform .15s,box-shadow .2s,border-color .2s;display:grid;position:absolute;top:10px;right:10px;box-shadow:inset 0 0 0 1px #37ffe41f,0 6px 18px #00000059}.seal-close:hover{border-color:var(--seal-border-strong);transform:translateY(-1px)}.seal-close:focus-visible{box-shadow:var(--focus);outline:none}.seal-close-ico{width:20px;height:20px}.field{margin:14px 0 12px;display:block}.field-label{letter-spacing:.3px;color:var(--seal-text-dim);margin:2px 0 6px;font-size:12px;display:block}.row{align-items:center;gap:10px;display:flex}.hash{letter-spacing:.2px;word-break:break-all;color:#dffff8;background:#00000059;border:1px solid #ffffff14;border-radius:12px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;box-shadow:inset 0 1px #ffffff0f}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.url-input{color:#e9fffb;background:#070c0e99;border:1px solid #ffffff1a;border-radius:12px;flex:1;min-width:0;padding:10px 12px;font-size:14px;box-shadow:inset 0 1px #ffffff0d}.url-input:focus-visible{box-shadow:var(--ring-shadow);border-color:var(--seal-border-strong);outline:none}.icon-btn,.open-link{min-width:40px;height:40px;color:var(--seal-text);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff1f;border-radius:12px;place-items:center;padding:0 10px;text-decoration:none;transition:transform .15s,box-shadow .2s,border-color .2s,color .15s;display:grid;box-shadow:inset 0 0 0 1px #ffffff0a,0 6px 18px #00000059}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn:hover:not(:disabled),.open-link:hover{border-color:var(--seal-border-strong);color:var(--seal-accent);transform:translateY(-1px)}.icon-btn:focus-visible,.open-link:focus-visible{box-shadow:var(--focus);outline:none}.ico{width:18px;height:18px}.cta-row{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.cta{letter-spacing:.2px;cursor:pointer;will-change:transform;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-weight:600;transition:transform .15s,box-shadow .2s,border-color .2s,background .2s;display:inline-flex}.cta:disabled{opacity:.6;cursor:not-allowed}.primary{border-color:var(--seal-border-strong);color:#081917;text-shadow:0 1px #ffffff40;background:radial-gradient(120% 160% at 0 0,#37ffe440,#0000 40%),linear-gradient(#37ffe42e,#37ffe414);box-shadow:0 12px 30px #37ffe438,inset 0 1px #ffffff40}.primary:hover{transform:translateY(-1px);box-shadow:0 18px 40px #37ffe447,inset 0 1px #ffffff4d}.primary:focus-visible{box-shadow:var(--focus),0 12px 30px #37ffe438;outline:none}.secondary{color:#f5f0ff;text-shadow:0 1px #00000040;background:linear-gradient(#a78bfa2e,#a78bfa12);border-color:#a78bfa8c;box-shadow:0 12px 30px #a78bfa38,inset 0 1px #ffffff2e}.secondary:hover{transform:translateY(-1px);box-shadow:0 18px 40px #a78bfa47,inset 0 1px #ffffff38}.secondary:focus-visible{outline:none;box-shadow:0 0 0 2px #a78bfae6,0 0 0 6px #a78bfa33}.fine{color:var(--seal-text-dim);opacity:.8;margin-top:12px;font-size:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes seal-overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes card-in{0%{opacity:0;transform:translateY(14px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes aurora-drift{0%{filter:blur(24px)saturate(130%);transform:translateY(-2%)translate(0)scale(1.02)}50%{filter:blur(26px)saturate(145%);transform:translateY(1.5%)translate(1%)scale(1.06)}to{filter:blur(24px)saturate(130%);transform:translateY(0)translate(-1%)scale(1.03)}}@keyframes rune-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.seal-overlay,.seal-card,.seal-veil,.seal-ornament{animation:none!important}.icon-btn,.open-link,.cta{transition:none!important}}@media (max-width:420px){.row{gap:8px}.icon-btn,.open-link{min-width:38px;height:38px}.cta{justify-content:center;width:100%}.seal-close{top:8px;right:8px}}:root{--pulse:5.236s;--ease-breath:cubic-bezier(.33,.01,.24,1);--seal-text:#e8fbf8;--seal-text-dim:#aee8df;--seal-core:#37ffe4;--seal-aura:#11d7ff;--seal-accent-2:#a78bfa;--seal-accent-3:#5ce1ff;--ink:var(--seal-text);--ink-dim:color-mix(in srgb,var(--seal-text-dim)92%,#90a7c2 8%);--border:#ffffff1a;--ok:#4ee89a;--warn:#ffd166;--error:#ff6b7a;--money:#00d09c;--header-h:56px;--footer-h:64px;--content-max-h:70vh;--ring:color-mix(in srgb,var(--seal-core)65%,transparent);--glow:color-mix(in srgb,var(--seal-core)30%,transparent);--aside-w:340px;--aside-sticky-top:12px}html,body{height:100%;margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.valuation-modal,.fallback-sheet,.val-chrome{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}dialog.valuation-modal{color:var(--ink);inline-size:min(980px,96vw);max-height:min(92dvh,980px);box-shadow:0 24px 64px #0009,inset 0 0 0 1px var(--border),0 0 0 1px color-mix(in srgb,var(--seal-core)12%,transparent);left:50%;top:max(8px,env(safe-area-inset-top));will-change:transform;z-index:2147483646;background:linear-gradient(#101620eb,#080a12d6);border:0;border-radius:22px;margin:0 auto auto;padding:0;position:fixed;overflow:hidden;transform:translate(-50%)translateZ(0)}dialog.valuation-modal::backdrop{background:radial-gradient(900px 600px at 75% -10%,color-mix(in srgb,var(--seal-accent-2)24%,transparent),transparent 40%),radial-gradient(900px 600px at 10% 110%,color-mix(in srgb,var(--seal-aura)20%,transparent),transparent 40%),#00000a8c;-webkit-backdrop-filter:blur(8px)saturate(1.1);backdrop-filter:blur(8px)saturate(1.1)}@supports (height:100dvh){dialog.valuation-modal{max-height:92dvh}}@media (max-width:560px){dialog.valuation-modal{inline-size:100vw;max-height:calc(var(--vh,1vh)*100);top:env(safe-area-inset-top);border-radius:0;margin:0 auto auto;transform:translate(-50%)translateZ(0)}}.valuation-modal.fallback-backdrop{z-index:2147483647;-webkit-backdrop-filter:blur(8px)saturate(1.1);backdrop-filter:blur(8px)saturate(1.1);padding:env(safe-area-inset-top)14px calc(14px + env(safe-area-inset-bottom));background:radial-gradient(1200px 900px at 80% -10%,#00ffd01a,#0000 55%),radial-gradient(900px 700px at 0 110%,#40a0ff1a,#0000 60%),#00000a8a;place-items:end center;display:grid;position:fixed;inset:0}.fallback-sheet{border:1px solid var(--border);width:min(980px,100%);max-height:min(92dvh,980px);box-shadow:0 24px 64px #0009,inset 0 0 0 1px var(--border),0 0 0 1px color-mix(in srgb,var(--seal-core)12%,transparent);will-change:transform,opacity;background:linear-gradient(#101620f5,#080a12e6);border-radius:18px 18px 0 0;animation:.18s ease-out forwards sheet-in;position:relative;overflow:hidden;transform:none}.fallback-sheet:before{content:"";background:#ffffff47;border-radius:999px;width:48px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}@keyframes sheet-in{0%{opacity:.96}to{opacity:1}}.val-chrome{isolation:isolate;flex-direction:column;height:100%;display:flex;position:relative}.val-aura{z-index:0;pointer-events:none;opacity:.8;filter:blur(52px)saturate(1.06);background:radial-gradient(40% 35% at 20% 15%,color-mix(in srgb,var(--seal-core)20%,transparent),transparent 70%),radial-gradient(40% 35% at 80% 85%,color-mix(in srgb,var(--seal-accent-2)16%,transparent),transparent 70%),radial-gradient(35% 30% at 60% 30%,color-mix(in srgb,var(--seal-accent-3)16%,transparent),transparent 70%);animation:aura-breathe var(--pulse)var(--ease-breath)infinite;will-change:transform,opacity,filter;backface-visibility:hidden;position:absolute;inset:-25% -30%;transform:translateZ(0)}@keyframes aura-breathe{0%,to{opacity:.78;filter:blur(52px)saturate(1.06);transform:scale(1)translateZ(0)}50%{opacity:.92;filter:blur(58px)saturate(1.1);transform:scale(1.02)translateZ(0)}}.val-topbar{z-index:2;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);will-change:transform;contain:paint;background:linear-gradient(#0a0c14f0,#0a0c14b3);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 14px;display:grid;position:sticky;top:0;transform:translateZ(0)}.val-title{letter-spacing:.08em;text-transform:uppercase;color:#0000;background:conic-gradient(from 180deg at 50% 50%,var(--seal-core),var(--seal-accent-2),var(--seal-accent-3),var(--seal-core)),radial-gradient(120% 180% at 10% 0%,color-mix(in srgb,var(--seal-core)38%,transparent),transparent 60%);-webkit-text-stroke:.55px #ffffff47;text-shadow:0 0 .5px #ffffff59,0 6px 22px color-mix(in srgb,var(--seal-core)28%,transparent);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.6rem;margin:0;font-size:clamp(16px,1.2vw + 1rem,22px);font-weight:900;animation:14s linear infinite holoShift;display:flex}.val-title .phi{font-size:1.25em;font-weight:900}@media (prefers-reduced-motion:reduce){.val-title{animation:none}}.val-top-actions{overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;align-items:center;gap:8px;display:flex;overflow-x:auto}.val-top-actions::-webkit-scrollbar{display:none}.btn{appearance:none;cursor:pointer;color:var(--ink);white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;min-height:40px;padding:10px 12px;font-weight:700;transition:transform 80ms,filter .18s,box-shadow .18s,opacity .18s;display:inline-flex;position:relative;overflow:hidden}.btn:hover{filter:brightness(1.07)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--money)90%,white 0%),color-mix(in srgb,var(--seal-accent-2)72%,white 0%));color:#06121a;text-shadow:0 1px #ffffff59;box-shadow:0 6px 16px color-mix(in srgb,var(--money)35%,transparent)}.btn.secondary{background:linear-gradient(180deg,color-mix(in srgb,var(--seal-core).16,transparent),color-mix(in srgb,var(--seal-accent-2).14,transparent));border:1px solid color-mix(in srgb,var(--seal-core)34%,transparent)}.btn.ghost{border:1px solid var(--border);background:#ffffff0d}.close-btn{border-radius:12px;width:42px;height:42px;font-size:22px;line-height:1}.close-btn.holo{background:radial-gradient(120% 120% at 30% 20%,color-mix(in srgb,var(--seal-core)22%,transparent),color-mix(in srgb,var(--seal-accent-2)18%,transparent)50%,#ffffff0a 70%,transparent 100%),#ffffff0f;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px)saturate(1.15);backdrop-filter:blur(10px)saturate(1.15);box-shadow:0 8px 22px #00000073,0 0 24px color-mix(in srgb,var(--seal-core)22%,transparent)}.attach-btn{box-shadow:0 10px 24px color-mix(in srgb,var(--money)35%,transparent),0 0 0 1px color-mix(in srgb,var(--money)25%,transparent)inset;order:999;padding-inline:14px}.attach-btn:hover{filter:brightness(1.08)saturate(1.02)}.attach-btn:active{transform:translateY(1px)}.btn:active:after{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(240px 160px at var(--x,50%)var(--y,50%),#ffffff2e,transparent 60%);will-change:opacity;animation:.45s ease-out forwards ripple;position:absolute;inset:0}@keyframes ripple{0%{opacity:.35}to{opacity:0}}.ticker-price{flex-wrap:wrap;align-items:baseline;gap:12px;line-height:1.05;display:flex}.ticker-price .phi-mark{opacity:.9;margin-right:4px;font-weight:600;transform:translateY(-2px)}.ticker-price .phi-int{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:clamp(28px,8vw,44px);font-weight:700}.ticker-price .phi-frac{font-variant-numeric:tabular-nums;opacity:.9;margin-left:1px;font-size:clamp(18px,6vw,28px);font-weight:600}.ticker-price .usd-inline{opacity:.75;letter-spacing:.01em;white-space:nowrap;font-size:.9rem;font-weight:600}.kpi-subline{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.kpi-subline .dot{opacity:.5}.ticker-price .phi-mark{font-size:clamp(18px,5vw,24px)}@media (max-width:760px){.ticker-price{gap:8px}.ticker-price .usd-inline{order:2;width:100%}}.val-body{min-height:0;max-height:var(--content-max-h);padding:14px 16px 10px;padding-bottom:calc(var(--footer-h) + env(safe-area-inset-bottom));overscroll-behavior-y:contain;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:0 0;flex:auto;overflow:auto}dialog.valuation-modal .val-body,.valuation-modal.fallback-backdrop .val-body{content-visibility:visible!important;contain:none!important}@media (hover:hover) and (min-width:1024px){.val-body{content-visibility:auto;contain:layout paint style;contain-intrinsic-size:800px 600px}}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.hide-xs{display:inline}@media (max-width:560px){.hide-xs{display:none}}.card{border:1px solid var(--border);background:linear-gradient(#ffffff0b,#ffffff05);border-radius:16px;margin-bottom:10px;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 8px 24px #00000059}.card-hd{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.card-bd{padding:10px 12px}.hd-left{align-items:center;gap:8px;display:flex}.figure-xl{letter-spacing:.01em;font-size:clamp(28px,3.8vw + 1rem,56px);font-weight:900}.card[aria-busy=true] .figure-xl{will-change:background-position;background:linear-gradient(90deg,#ffffff0f,#ffffff1f,#ffffff0f);border-radius:10px;width:60%;height:1.2em;animation:1.2s linear infinite shimmer;position:relative}@keyframes shimmer{0%{background-position:-160px 0}to{background-position:160px 0}}.badge{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 10px;display:inline-flex}.badge.dim{color:var(--ink-dim)}.badge.ok{color:var(--ok);border-color:#4ee89a80}.kpi-card .kpi-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.kpi-card .kpi-main{flex:260px;min-width:220px}.kpi-card .kpi-spark{flex:360px;min-width:260px;position:relative}.kpi-subline .gain{color:#39e29e}.kpi-subline .loss{color:#ff6b7a}.live-chip{border:1px solid color-mix(in srgb,var(--ok)40%,transparent);height:32px;color:var(--ok);letter-spacing:.02em;box-shadow:0 0 0 1px color-mix(in srgb,var(--ok)12%,transparent)inset;background:#4ee89a14;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.live-dot{background:var(--ok);will-change:box-shadow;border-radius:50%;width:8px;height:8px;animation:1.6s ease-out infinite pulseDot;box-shadow:0 0 #4ee89ab3}@keyframes pulseDot{0%{box-shadow:0 0 #4ee89ab3}70%{box-shadow:0 0 0 10px #4ee89a00}to{box-shadow:0 0 #4ee89a00}}.ticker-price{transition:color .18s,text-shadow .18s}.flash-up{text-shadow:0 0 10px #49f3b559;color:#49f3b5!important}.flash-down{text-shadow:0 0 10px #ff7a8a59;color:#ff7a8a!important}.live-chart{border:1px solid var(--border);will-change:transform,opacity;background:linear-gradient(#ffffff08,#ffffff04);border-radius:12px;padding:6px 6px 2px;position:relative;transform:translateZ(0);box-shadow:inset 0 0 0 1px #ffffff05,0 6px 18px #00000040}.live-chart:after{content:"";pointer-events:none;background:radial-gradient(50% 50% at 85% 20%,color-mix(in srgb,var(--glow)80%,transparent),transparent 60%);opacity:.07;animation:chart-breathe var(--pulse)var(--ease-breath)infinite;will-change:opacity,transform;backface-visibility:hidden;border-radius:12px;position:absolute;inset:-2px;transform:translateZ(0)}@keyframes chart-breathe{0%,to{opacity:.05;transform:scale(1)translateZ(0)}50%{opacity:.12;transform:scale(1.01)translateZ(0)}}.spark-meta{align-items:center;gap:8px;margin:0 0 6px 2px;display:flex}.kpi-donut{pointer-events:none;opacity:.92;filter:drop-shadow(0 6px 18px #00000059);place-items:center;width:120px;height:120px;display:grid;position:absolute;bottom:4px;right:6px}@media (max-width:980px){.kpi-donut{display:none}}.section{margin-top:10px}.section-title{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;margin:6px 0 8px;font-weight:800;display:flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grid .wide{grid-column:1/-1}@media (max-width:760px){.grid{grid-template-columns:1fr}}.tile{border:1px solid var(--border);background:#ffffff0a;border-radius:12px;grid-template-columns:140px 1fr;align-items:baseline;gap:8px;padding:10px 12px;display:grid}.tile strong{color:var(--seal-core)}.val-footer{z-index:1;border-top:1px solid var(--border);background:linear-gradient(0deg,color-mix(in srgb,var(--seal-core)6%,transparent),transparent 40%);padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;bottom:0;transform:translateZ(0)}.footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tt-card{border:1px solid var(--border);color:var(--ink);background:#0a0c14f5;border-radius:12px;min-width:180px;padding:10px 12px;box-shadow:0 8px 24px #00000059}.tt-row{justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;display:flex}.tt-row+.tt-row{border-top:1px dashed #ffffff14}.tt-row strong{color:var(--seal-core);font-weight:900}.tt-row strong.gain{color:#39e29e}.tt-row strong.loss{color:#ff6b7a}.tt-phi-icon{vertical-align:-2px;opacity:.95;width:12px;height:12px;margin:0 6px 0 0;display:inline-block}.chart-hint{text-align:center;color:var(--ink-dim);opacity:.9;margin-top:6px}.live-chart text{paint-order:stroke fill;stroke:#00000059;stroke-width:.6px}.val-body::-webkit-scrollbar{width:10px;height:10px}.val-body::-webkit-scrollbar-thumb{background:linear-gradient(#ffffff24,#ffffff14) padding-box padding-box;border:2px solid #0000;border-radius:999px}.val-body::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.val-layout{grid-template-columns:minmax(0,1fr)minmax(var(--aside-w),30%);align-items:start;gap:12px;display:grid}.val-main{min-width:0}.val-aside{top:calc(var(--aside-sticky-top) + 48px);will-change:transform;align-self:start;position:sticky;transform:translateZ(0)}@media (max-width:980px){.val-layout{grid-template-columns:1fr}.val-aside{position:relative;top:auto}}.drivers-card{background:linear-gradient(#ffffff0d,#ffffff06);flex-direction:column;max-height:min(72vh,680px);display:flex;transform:translateZ(0)}.drivers-search{z-index:1;border-bottom:1px dashed var(--border);will-change:transform;background:linear-gradient(#0a0c14f5,#0a0c14d9);padding:8px 10px 0;position:sticky;top:0;transform:translateZ(0)}.drivers-input{appearance:none;border:1px solid var(--border);width:100%;color:var(--ink);background:radial-gradient(90% 120% at 0 0,#ffffff14,#0000 60%),#ffffff0f;border-radius:12px;padding:10px 12px 10px 36px;font-weight:600;transition:box-shadow .18s,border-color .18s,background .18s;box-shadow:inset 0 0 0 1px #ffffff0a}.drivers-input::placeholder{color:color-mix(in srgb,var(--seal-text-dim)72%,#8aa0b5 28%)}.drivers-input:focus{border-color:color-mix(in srgb,var(--seal-core)35%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--seal-core)18%,transparent);outline:none}.drivers-search:before{content:"";opacity:.55;pointer-events:none;background-color:#0000;background-image:radial-gradient(circle at 6px 6px,#ffffffe6 0 3px,#0000 3px),linear-gradient(90deg,#ffffffe6 0 100%);background-position:0 0,9px 10px;background-repeat:no-repeat;background-size:12px 12px,10px 2px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:16px;height:16px;position:absolute;top:calc(50% + 2px);left:18px;transform:translateY(-50%)}.drivers-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;contain:layout paint style;touch-action:pan-y;padding:8px 10px 10px;overflow:auto}.drivers-section+.drivers-section{margin-top:10px}.drivers-title{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:var(--seal-text);border-bottom:1px dashed var(--border);will-change:transform;background:linear-gradient(#080a12fa,#080a12db);margin:0 -10px;padding:8px 10px;font-size:.85rem;font-weight:900;position:sticky;top:0;transform:translateZ(0);box-shadow:0 12px 18px -14px #0000008c}.drivers-grid{grid-template-columns:160px minmax(0,1fr);gap:8px;padding:8px 0 2px;display:grid}@media (max-width:420px){.drivers-grid{grid-template-columns:130px minmax(0,1fr)}}.drivers-row{display:contents}.drivers-k{color:var(--ink-dim);letter-spacing:.01em;border:1px dashed var(--border);background:#ffffff09;border-radius:10px;align-self:center;padding:8px 10px;font-weight:700}.drivers-v{border:1px solid var(--border);color:var(--seal-core);word-break:break-word;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:#ffffff0f;border-radius:10px;padding:8px 10px;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff05}.drivers-v.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.drivers-grid .drivers-k:hover,.drivers-grid .drivers-v:hover{box-shadow:0 6px 18px #00000040,0 0 0 1px color-mix(in srgb,var(--seal-core)10%,transparent)inset;filter:brightness(1.02)}.drivers-grid .drivers-k,.drivers-grid .drivers-v{position:relative}.drivers-grid .drivers-k:after,.drivers-grid .drivers-v:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);height:1px;position:absolute;bottom:-5px;left:10px;right:10px}.drivers-panel::-webkit-scrollbar{width:10px}.drivers-panel::-webkit-scrollbar-thumb{background:linear-gradient(#ffffff29,#ffffff14) padding-box padding-box;border:2px solid #0000;border-radius:999px}.drivers-panel::-webkit-scrollbar-track{background:0 0}.val-aside .drivers-card{max-height:calc(100vh - 180px)}@media (max-width:560px){.val-layout{grid-template-columns:1fr}.val-aside{position:relative;top:auto}.drivers-card{max-height:none}.drivers-card.mobile-inline{max-height:clamp(260px,calc(var(--vh,1vh)*56),72vh);flex-direction:column;display:flex}.drivers-card.mobile-inline .drivers-panel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;contain:layout paint style;touch-action:pan-y;padding-bottom:10px;overflow:auto!important}.drivers-card.mobile-inline .drivers-search{z-index:2;position:sticky;top:0}}.mobile-actions.actions-card{border:1px solid var(--border);background:linear-gradient(#ffffff0d,#ffffff06);border-radius:14px;margin-top:8px;box-shadow:0 10px 24px #00000059}.mobile-actions .card-bd{padding:10px 12px}.actions-balance-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.balance-chip{height:34px;color:var(--ok);border:1px solid color-mix(in srgb,var(--ok)45%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok)16%,transparent)inset;letter-spacing:.02em;background:#4ee89a1a;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.actions-grid{grid-template-columns:1fr 130px;gap:8px;margin-top:8px;display:grid}.btn-full{width:100%}.send-amt-input{appearance:none;color:#fffffff2;font-variant-numeric:tabular-nums;background:#00000059;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;height:38px;padding:8px 12px;transition:border-color .16s,box-shadow .16s,background .16s}.send-amt-input::placeholder{color:#ffffff73}.send-amt-input:focus{background:#0000006b;border-color:#37ffe4bf;box-shadow:0 0 0 3px #37ffe42e}@media (max-width:400px){.actions-grid{grid-template-columns:1fr 112px}}@media (max-width:560px){.val-top-actions{gap:8px}}.card.donors-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;overflow:hidden}.donors-bd{padding:12px 14px 16px}.donors-grid{grid-template-columns:1fr;gap:10px;display:grid}.donor-row{grid-template-columns:minmax(240px,1fr) 140px auto;align-items:center;gap:10px;display:grid}@media (max-width:760px){.donor-row{grid-template-columns:1fr 1fr auto}}.donor-url,.donor-amt{appearance:none;color:#fffffff2;background:#00000059;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;height:38px;padding:8px 12px;transition:border-color .16s,box-shadow .16s,background .16s}.donor-url::placeholder,.donor-amt::placeholder{color:#ffffff73}.donor-url:focus,.donor-amt:focus{background:#0000006b;border-color:#37ffe4bf;box-shadow:0 0 0 3px #37ffe42e}.donor-amt{text-align:right;font-variant-numeric:tabular-nums}.donors-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.donors-actions .btn{position:relative;overflow:hidden}.donors-actions .btn:after{content:"";background:radial-gradient(circle at var(--x,50%)var(--y,50%),#37ffe440,transparent 45%);opacity:0;pointer-events:none;transition:opacity .22s;position:absolute;inset:0}.donors-actions .btn:active:after{opacity:1}.card.donors-card .small.subtle{opacity:.8}@media (max-width:560px){.val-topbar{padding:8px 10px}.val-title{letter-spacing:.06em;-webkit-text-stroke:.45px #ffffff40;font-size:clamp(15px,.9rem + 1vw,18px)}.btn{min-height:36px;padding:8px 10px}.btn.small{min-height:32px;padding:7px 9px}.close-btn{width:36px;height:36px;font-size:20px}.live-chip{height:26px;padding:0 10px}.card-hd,.card-bd{padding:8px 10px}.kpi-card .kpi-row{gap:8px}.kpi-card .kpi-main{min-width:200px}.kpi-card .kpi-spark{min-width:220px}.figure-xl{font-size:clamp(24px,3.1vw + 1rem,40px)}.kpi-subline{text-overflow:ellipsis;white-space:nowrap;opacity:.95;display:block;overflow:hidden}.live-chart{padding:4px 4px 0}.spark-meta{opacity:.9;margin:0 0 4px 2px}.kpi-donut{display:none!important}.section-title{margin:6px 0}.drivers-grid{grid-template-columns:120px minmax(0,1fr);gap:6px}.drivers-k,.drivers-v{padding:7px 9px}}.val-chrome[data-compact="1"] .kpi-donut{display:none!important}.glyph-import-backdrop,.glyph-import-modal{--phi:1.61803;--bg-0:#040607;--bg-1:#0a1012;--glass:#141c1f8c;--line:#00ffd047;--line-strong:#00ffd0a8;--accent:#d63e00;--accent-2:#00ffd0;--ok:#21d19f;--warn:#f6c453;--err:#ff5d5d;--txt:#e6f3ef;--muted:#9fb7b1;--mono:#8ee9d2;--radius:24px;--gap:clamp(12px,2.8vmin,22px);--panel:linear-gradient(180deg,#060a0cb3,#060a0c8c);--ring:0 0 0 2px var(--line-strong);--shadow-1:0 8px 32px #00000073;--shadow-2:0 0 32px #00ffd01f,inset 0 0 32px #00ffd00f}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.glyph-import-modal,.glyph-import-modal *{box-sizing:border-box}.glyph-import-backdrop{background:radial-gradient(1200px 900px at 20% -10%,#00ffd014,transparent 60%),radial-gradient(1000px 800px at 120% 110%,#ff501e0f,transparent 60%),linear-gradient(180deg,var(--bg-0),var(--bg-1));z-index:1000;overscroll-behavior:contain;place-items:center;padding:4vmin;display:grid;position:fixed;inset:0}.glyph-import-modal{color:var(--txt);background:var(--panel);-webkit-backdrop-filter:blur(16px)saturate(1.02);backdrop-filter:blur(16px)saturate(1.02);width:min(880px,100vw);max-width:100vw;max-height:min(92dvh,760px);box-shadow:var(--shadow-1),var(--shadow-2);border-radius:var(--radius);-webkit-overflow-scrolling:touch;gap:var(--gap);touch-action:manipulation;border:1px solid #00ffd02e;flex-direction:column;padding:clamp(16px,3vmin,28px);display:flex;overflow:hidden auto}@media (max-width:640px){.glyph-import-modal{width:100vw;height:100dvh;max-height:100dvh;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-top:calc(max(16px,env(safe-area-inset-top)) + 4px);padding-bottom:calc(max(16px,env(safe-area-inset-bottom)) + 4px);border-radius:0}}.close-button{z-index:2;width:44px;height:44px;color:var(--muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-self:flex-end;place-items:center;transition:all .16s;display:grid;position:sticky;top:8px}.close-button:hover{color:var(--txt);border-color:#ffffff29;transform:translateY(-1px)}.modal-header{text-align:center;padding-inline:2px}.modal-title{letter-spacing:.02em;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent));color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:clamp(20px,5vw,32px);font-weight:800;line-height:1.15;animation:8s linear infinite title-glow}@keyframes title-glow{to{background-position:200%}}.modal-sub{color:var(--muted);letter-spacing:.03em;margin-top:6px}.upload-section{border-radius:calc(var(--radius)*.75);border:1px dashed var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#00ffd00d,#00ffd005),radial-gradient(120% 140% at 50% 0,#ff501e0d,#0000 50%);place-items:center;gap:8px;padding:clamp(14px,4.5vmin,22px);transition:all .2s;display:grid;position:relative}.upload-section:hover{border-color:var(--line-strong);transform:translateY(-1px)}.upload-section svg{opacity:.9;filter:drop-shadow(0 0 12px #00ffd040)}.upload-title{letter-spacing:.02em;font-weight:600}.upload-sub{color:var(--muted);font-size:.95rem}.file-name{color:var(--mono);opacity:.9;word-break:break-all;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.import-status{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:10px;padding:10px 14px;display:flex}.import-status.ok{border-color:#21d19f42}.import-status.warn{border-color:#f6c45342}.import-status.err{border-color:#ff5d5d42}.import-status .label{letter-spacing:.02em;font-weight:600}.success-icon{color:var(--ok)}.import-preview{border-radius:calc(var(--radius)*.75);background:linear-gradient(#000a0859,#000a0826);border:1px solid #00ffd02e;padding:clamp(12px,3.8vmin,18px);box-shadow:inset 0 0 24px #00ffd012}.kv{border-bottom:1px dashed #ffffff0f;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:8px 14px;padding:8px 0;display:grid}.kv:last-child{border-bottom:0}.kv .k,.kv .v{min-width:0}.kv .k{color:var(--muted)}.kv .v{font-weight:600}.mono{overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chip{height:28px;color:var(--txt);letter-spacing:.02em;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.chip.warn{color:var(--warn);border-color:#f6c45359}.phi-credit{margin-top:12px}.phi-credit label{color:var(--muted);margin-bottom:8px;display:block}.phi-credit em{color:var(--txt);opacity:.9;font-style:normal}.credit-row{grid-template-columns:minmax(0,1fr) repeat(4,minmax(0,max-content));gap:10px;display:grid}@media (max-width:420px){.credit-row{grid-template-columns:1fr 1fr 1fr}.credit-row .chip.quick:nth-last-child(2){grid-column:span 2}}.phi-credit input[type=number]{width:100%;color:var(--txt);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;outline:none;padding:14px;font-size:16px}.phi-credit input[type=number]:focus{box-shadow:var(--ring)}.chip.quick{cursor:pointer;transition:all .16s}.chip.quick:hover{border-color:var(--line-strong);transform:translateY(-1px)}.helper{color:var(--muted);margin-top:8px}.helper.error{color:var(--err)}.import-confirm{width:100%;color:var(--txt);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.03em;cursor:pointer;background:radial-gradient(120% 120% at 80% 0,#00ffd01f,#0000 40%),linear-gradient(#00ffd040,#00ffd01f);border:1px solid #00ffd059;border-radius:14px;margin-top:12px;padding:14px 16px;font-weight:800;transition:all .2s;box-shadow:0 10px 24px #00ffd026}.import-confirm:hover{transform:translateY(-1px);box-shadow:0 16px 36px #00ffd040}.import-confirm:disabled{opacity:.55;cursor:not-allowed}.import-error{color:var(--err);background:#ff5d5d0f;border:1px solid #ff5d5d40;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.modal-footer{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--muted);background:linear-gradient(#060a0c00,#060a0c8c);border-top:1px solid #ffffff0f;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex;position:sticky;bottom:0}.modal-footer .seal{color:var(--accent);filter:drop-shadow(0 0 6px #ff501e59);font-weight:900}@media (pointer:coarse){.chip,.import-confirm,.close-button{min-height:44px}.upload-section{padding:18px}}:root{--pulse:5.236s;--ease-breath:cubic-bezier(.33,.01,.24,1);--seal-text:#e8fbf8;--seal-text-dim:#aee8df;--seal-core:#37ffe4;--seal-aura:#11d7ff;--seal-accent-2:#a78bfa;--seal-accent-3:#5ce1ff;--border:#ffffff1f;--ok:#4ee89a;--warn:#ffd166;--error:#ff6b7a;--money:#00d09c;--ring:color-mix(in srgb,var(--seal-core)65%,transparent)}::selection{background:color-mix(in srgb,var(--seal-core)35%,#0b1620);color:#041017}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-overlay{z-index:2147483000;padding:env(safe-area-inset-top)14px calc(14px + env(safe-area-inset-bottom));background:radial-gradient(1200px 900px at 75% -10%,color-mix(in srgb,var(--seal-accent-2)18%,transparent),transparent 55%),radial-gradient(1000px 800px at 10% 110%,color-mix(in srgb,var(--seal-aura)18%,transparent),transparent 60%),#00000a8c;-webkit-backdrop-filter:blur(8px)saturate(1.12);backdrop-filter:blur(8px)saturate(1.12);place-items:center;animation:.22s ease-out both overlayIn;display:grid;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:.92}to{opacity:1}}.send-sigil-modal{width:100%;max-width:480px;color:var(--seal-text);border:1px solid var(--border);box-shadow:0 24px 64px #0000008c,inset 0 0 0 1px #ffffff0f,0 0 0 1px color-mix(in srgb,var(--seal-core)12%,transparent);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:linear-gradient(#101620f5,#080a12e6);border-radius:18px;padding:16px 16px 14px;animation:.22s ease-out both fadeIn;position:relative;overflow:hidden;transform:translateZ(0)}.send-sigil-modal:before{content:"";z-index:0;pointer-events:none;opacity:.9;filter:blur(52px)saturate(1.06);background:radial-gradient(40% 35% at 20% 15%,color-mix(in srgb,var(--seal-core)22%,transparent),transparent 70%),radial-gradient(40% 35% at 80% 85%,color-mix(in srgb,var(--seal-accent-2)18%,transparent),transparent 70%),radial-gradient(35% 30% at 60% 30%,color-mix(in srgb,var(--seal-accent-3)16%,transparent),transparent 70%);animation:auraBreathe var(--pulse)var(--ease-breath)infinite;position:absolute;inset:-25% -30%}@keyframes auraBreathe{0%,to{opacity:.78;filter:blur(52px)saturate(1.06);transform:scale(1)translateZ(0)}50%{opacity:.95;filter:blur(58px)saturate(1.1);transform:scale(1.02)translateZ(0)}}.send-sigil-modal h2{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:#0000;background:conic-gradient(from 180deg at 50% 50%,var(--seal-core),var(--seal-accent-2),var(--seal-accent-3),var(--seal-core)),radial-gradient(120% 180% at 10% 0%,color-mix(in srgb,var(--seal-core)38%,transparent),transparent 60%);-webkit-text-stroke:.5px #ffffff47;text-shadow:0 0 .5px #ffffff59,0 6px 22px color-mix(in srgb,var(--seal-core)22%,transparent);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;padding-right:42px;font-size:clamp(16px,1.1rem + .4vw,20px);font-weight:900;animation:14s linear infinite holoShift;position:relative}.close-btn{z-index:2;border:1px solid var(--border);background:radial-gradient(120% 120% at 30% 20%,color-mix(in srgb,var(--seal-core)18%,transparent),color-mix(in srgb,var(--seal-accent-2)14%,transparent)50%,#ffffff0a 70%,transparent 100%),#ffffff0f;-webkit-backdrop-filter:blur(8px)saturate(1.12);backdrop-filter:blur(8px)saturate(1.12);width:38px;height:38px;box-shadow:0 10px 24px #00000073,0 0 22px color-mix(in srgb,var(--seal-core)18%,transparent);color:var(--seal-text);cursor:pointer;border-radius:12px;place-items:center;transition:filter .18s,transform 80ms;display:grid;position:absolute;top:10px;right:10px}.close-btn:hover{filter:brightness(1.07)}.field-group{z-index:1;flex-direction:column;gap:6px;margin:12px 0;display:flex;position:relative}.field-group label{color:color-mix(in srgb,var(--seal-text-dim)92%,#8aa0b5 8%);letter-spacing:.02em;font-size:.9rem;font-weight:700}.field-group input{appearance:none;border:1px solid var(--border);color:#e8fbf8fa;background:radial-gradient(90% 120% at 0 0,#ffffff14,#0000 60%),#0f121c;border-radius:10px;height:40px;padding:10px 12px;font-size:1rem;font-weight:600;transition:box-shadow .18s,border-color .18s,background .18s;box-shadow:inset 0 0 0 1px #ffffff0a}.field-group input::placeholder{color:color-mix(in srgb,var(--seal-text-dim)72%,#8aa0b5 28%)}.field-group input:focus{border-color:color-mix(in srgb,var(--seal-core)38%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--seal-core)18%,transparent);outline:none}.balance-hint{color:var(--seal-text-dim);opacity:.9;margin-top:4px;font-size:.78rem}.error-msg{color:var(--error);border-left:2px solid color-mix(in srgb,var(--error)60%,transparent);margin-top:.5rem;padding-left:8px;font-size:.9rem}.send-btn{cursor:pointer;color:#04121a;text-shadow:0 1px #ffffff59;background:linear-gradient(180deg,color-mix(in srgb,var(--money)92%,white 0%),color-mix(in srgb,var(--seal-accent-2)70%,white 0%));min-height:40px;box-shadow:0 10px 26px color-mix(in srgb,var(--money)35%,transparent),0 0 0 1px color-mix(in srgb,var(--money)22%,transparent)inset;border:none;border-radius:12px;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-weight:800;transition:transform 80ms,filter .16s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden}.send-btn:hover{filter:brightness(1.06)saturate(1.02)}.send-btn:active{transform:translateY(1px)}.send-btn:active:after{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(220px 160px,#ffffff40,#0000 60%);animation:.45s ease-out forwards ripple;position:absolute;inset:0}.send-btn:disabled{filter:grayscale(.2)saturate(.7)opacity(.8);cursor:not-allowed;box-shadow:0 6px 18px #0000004d,inset 0 0 0 1px #ffffff0f}.small{font-size:.82rem}.subtle{color:color-mix(in srgb,var(--seal-text-dim)92%,#90a7c2 8%)}@keyframes fadeIn{0%{opacity:.96;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.send-sigil-modal{width:100%;max-width:100vw;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:16px}.close-btn{border-radius:12px;width:36px;height:36px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.modal-overlay{z-index:1000;background:#0003;place-items:center;padding:8px;display:grid;position:fixed;inset:0}.send-sigil-modal{color:#e6e7eb;background:#0b0c10;border:none;border-radius:14px;width:min(920px,100vw);height:auto;max-height:100dvh;margin:0;padding:0;overflow:hidden;box-shadow:0 10px 30px #00000073,0 2px 8px #00000059}@media (max-width:720px){.send-sigil-modal{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}}.modal-viewport{flex-direction:column;height:100%;max-height:100dvh;display:flex}.modal-topbar{z-index:2;background:linear-gradient(#ffffff0a,#0000);border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:14px 16px;display:grid;position:sticky;top:0}.modal-title{overflow-wrap:anywhere;margin:0;padding:0;font-size:1.1rem;font-weight:600;line-height:1.2}.close-btn{color:#e6e7eb;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;place-items:center;width:34px;height:34px;transition:transform .12s,background .12s,border-color .12s;display:inline-grid}.close-btn:hover{background:#ffffff14;border-color:#ffffff38}.close-btn:active{transform:scale(.98)}.modal-body{flex:auto;min-height:0;padding:12px 16px;overflow:auto;container-type:inline-size}.modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:2;background:linear-gradient(#0000,#ffffff0a);border-top:1px solid #ffffff14;grid-template-columns:auto 1fr;align-items:center;gap:12px;display:grid;position:sticky;bottom:0}.send-btn{appearance:none;color:#e6e7eb;letter-spacing:.2px;cursor:pointer;background:radial-gradient(100% 100% at 0 0,#ffffff1a,#ffffff0a);border:1px solid #ffffff2e;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-weight:600;transition:transform .12s,background .12s,border-color .12s,opacity .12s;display:inline-flex}.send-btn:hover{background:radial-gradient(100% 100% at 0 0,#ffffff24,#ffffff0f);border-color:#ffffff42}.send-btn:disabled{opacity:.6;cursor:default}.send-btn:active:not(:disabled){transform:translateY(1px)}.ico-exhale{font-size:18px;line-height:1;display:inline-block;transform:translateY(1px)}.status-line{opacity:.8;overflow-wrap:anywhere;margin:0;font-size:.85rem}.error-msg{color:#ffd9d9;background:#ff47471f;border:1px solid #ff47474d;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:.95rem}.small.subtle{opacity:.8;font-size:.85rem}.send-sigil-modal::backdrop{background:0 0}@container (width<=560px){.modal-body{padding:10px}}.modal-body,.send-sigil-modal{overscroll-behavior:contain}:root{--kk-bg:#0d0f12;--kk-surface:#12151b;--kk-surface-2:#171b22;--kk-text:#eaf1ff;--kk-text-dim:#b9c4d9;--kk-text-mute:#8592aa;--kk-accent:#56ffe3;--kk-accent-2:#9ef7ff;--kk-gold:#f5d98d;--kk-amber:#ffdba6;--kk-emerald:#3de1a7;--kk-crystal:#ffffff0f;--kk-border:#ffffff17;--kk-ring:#96ffe473;--kk-font-ui:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans","Apple Color Emoji","Segoe UI Emoji";--kk-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--kk-radius-sm:10px;--kk-radius:14px;--kk-radius-lg:18px;--kk-shadow-1:0 10px 30px #00000040,inset 0 1px 0 #ffffff08;--kk-shadow-2:0 18px 44px #0000005c,inset 0 1px 0 #ffffff0d;--kk-grad-hero:radial-gradient(1200px 800px at 85% -10%,#56ffe31f,transparent 55%),radial-gradient(900px 700px at -20% 120%,#9ff7ff1a,transparent 45%),linear-gradient(180deg,#ffffff04,transparent);--kk-chip-live:linear-gradient(180deg,#3de1a740,#3de1a726);--kk-chip-locked:linear-gradient(180deg,#f5d98d47,#f5d98d29);--kk-btn-grad:linear-gradient(180deg,#93ffe9,#49ffd7);--kk-btn-grad-press:linear-gradient(180deg,#7dffe3,#2ef8c7);--kk-focus:0 0 0 3px var(--kk-ring),0 0 24px #56ffe340}.kk-note{font-family:var(--kk-font-ui);color:var(--kk-text);background:var(--kk-bg);border:1px solid var(--kk-border);border-radius:var(--kk-radius-lg);box-shadow:var(--kk-shadow-2);padding:18px;overflow:hidden}.kk-note *{box-sizing:border-box}.kk-bar{background:linear-gradient(180deg,var(--kk-surface-2),transparent);border:1px solid var(--kk-border);border-radius:var(--kk-radius);box-shadow:var(--kk-shadow-1);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.kk-brand{letter-spacing:.4px;text-transform:uppercase;color:var(--kk-text);font-weight:700}.kk-legal-pill{white-space:nowrap;font-variant-numeric:slashed-zero;border:1px solid var(--kk-border);color:var(--kk-text-dim);background:linear-gradient(#ffffff0d,#ffffff05);border-radius:999px;padding:6px 10px;font-size:12px}.kk-hero{background:var(--kk-surface);background-image:var(--kk-grad-hero);border:1px solid var(--kk-border);border-radius:var(--kk-radius-lg);box-shadow:var(--kk-shadow-2);isolation:isolate;margin-top:16px;padding:18px 18px 14px;position:relative;overflow:hidden}.kk-hero:before{content:"";pointer-events:none;mix-blend-mode:overlay;opacity:.7;background:conic-gradient(from 180deg at 50% 0,#56ffe31f,#0000 30% 70%,#f5d98d1a),radial-gradient(800px 300px at 50% -10%,#ffffff0d,#0000 60%);position:absolute;inset:0}.kk-hero.is-live{outline:1px solid #3de1a733}.kk-hero.is-locked{outline:1px solid #f5d98d33}.kk-status{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.kk-chip{color:var(--kk-text);border:1px solid var(--kk-border);letter-spacing:.3px;background:linear-gradient(#ffffff0a,#ffffff05);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.kk-chip-pulse{font-variant-numeric:tabular-nums}.chip-live{background:var(--kk-chip-live);border-color:#3de1a759;animation:2.6s ease-in-out infinite kkPulse;box-shadow:0 0 #3de1a752}.chip-locked{background:var(--kk-chip-locked);border-color:#f5d98d61}@keyframes kkPulse{0%{box-shadow:0 0 #3de1a761}70%{box-shadow:0 0 0 10px #3de1a700}to{box-shadow:0 0 #3de1a700}}.kk-value-row{grid-template-columns:1fr minmax(280px,38%);align-items:center;gap:16px;display:grid}@media (max-width:980px){.kk-value-row{grid-template-columns:1fr}}.kk-value-block{background:linear-gradient(180deg,var(--kk-crystal),transparent 60%);border:1px solid var(--kk-border);border-radius:var(--kk-radius);box-shadow:var(--kk-shadow-1);padding:14px 16px}.kk-value-label{letter-spacing:3px;text-transform:uppercase;color:var(--kk-text-mute);margin-bottom:6px;font-size:12px}.kk-value{align-items:flex-end;gap:10px;line-height:1;display:flex}.kk-value-sigil{letter-spacing:-.02em;background:linear-gradient(180deg,var(--kk-accent),var(--kk-accent-2));color:#0000;filter:drop-shadow(0 6px 22px #56ffe340);-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,5vw,44px);font-weight:800}.kk-value-int{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:-.02em;font-size:clamp(40px,8vw,68px);font-weight:800}.kk-value-frac{font-variant-numeric:tabular-nums;color:var(--kk-text-dim);padding-bottom:4px;font-size:clamp(18px,3.2vw,28px)}.kk-value-usd{color:var(--kk-text-mute);margin-top:6px;font-size:14px}.kk-cta{align-content:start;gap:10px;display:grid}.kk-locked-banner{border-radius:var(--kk-radius);background:linear-gradient(#f5d98d1a,#f5d98d0f);border:1px dashed #f5d98d80;padding:10px 12px}.kk-locked-title{color:var(--kk-gold);letter-spacing:.3px;font-weight:700}.kk-locked-sub{color:var(--kk-text-dim);font-size:13px;font-family:var(--kk-font-mono);word-break:break-word;margin-top:2px}.kk-btn{appearance:none;border:1px solid var(--kk-border);color:var(--kk-text);letter-spacing:.2px;cursor:pointer;box-shadow:var(--kk-shadow-1);background:linear-gradient(#ffffff0a,#ffffff05);border-radius:12px;padding:10px 14px;font-weight:600;transition:transform .12s,box-shadow .12s,border-color .12s}.kk-btn:hover{border-color:#fff3;transform:translateY(-1px)}.kk-btn:active{transform:translateY(0);box-shadow:inset 0 6px 14px #00000029}.kk-btn[disabled]{opacity:.6;cursor:not-allowed}.kk-btn-primary{background:var(--kk-btn-grad);color:#00241e;border-color:#56ffe380;box-shadow:0 16px 36px #56ffe340,inset 0 1px #fff6}.kk-btn-primary:hover{box-shadow:0 20px 44px #56ffe352,inset 0 1px #ffffff80}.kk-btn-primary:active{background:var(--kk-btn-grad-press)}.kk-btn-ghost{background:0 0;border-color:#ffffff29}.kk-btn-xl{border-radius:14px;padding:14px 18px;font-size:16px}.kk-row{grid-template-columns:160px 1fr;align-items:center;gap:12px;margin-top:14px;display:grid}@media (max-width:700px){.kk-row{grid-template-columns:1fr}}.kk-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:900px){.kk-grid{grid-template-columns:1fr}}.kk-stack{gap:12px;display:grid}.kk-row>label{color:var(--kk-text-mute);letter-spacing:.2px;font-size:13px}.kk-row input,.kk-row textarea{width:100%;color:var(--kk-text);background:var(--kk-surface-2);border:1px solid var(--kk-border);border-radius:12px;outline:none;padding:10px 12px;transition:box-shadow .12s,border-color .12s,background .12s;box-shadow:inset 0 1px #ffffff08}.kk-row textarea{resize:vertical;min-height:120px}.kk-row input::placeholder,.kk-row textarea::placeholder{color:var(--kk-text-mute)}.kk-row input:focus,.kk-row textarea:focus{box-shadow:var(--kk-focus);background:linear-gradient(180deg,#56ffe30d,var(--kk-surface-2));border-color:#56ffe399}.kk-row input[disabled],.kk-row textarea[disabled]{opacity:.7;filter:saturate(.85);cursor:not-allowed}.kk-out{font-family:var(--kk-font-mono);background:linear-gradient(#ffffff08,#ffffff05)}.kk-actions{margin-top:12px}.kk-flex{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.kk-note-preview{border-radius:var(--kk-radius-lg);border:1px solid var(--kk-border);background:repeating-linear-gradient(45deg,#ffffff04,#ffffff04 8px,#00000005 8px,#00000005 16px),var(--kk-surface);min-height:280px;box-shadow:var(--kk-shadow-2);margin-top:16px;position:relative;overflow:hidden}.kk-note-preview:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 40%,#ffffff0f,#0000 60%);animation:3.8s ease-in-out infinite kkGlint;position:absolute;inset:0;transform:translate(-100%)}@keyframes kkGlint{0%{transform:translate(-120%)}45%{transform:translate(0%)}to{transform:translate(120%)}}.kk-btn:focus-visible,.kk-row input:focus-visible,.kk-row textarea:focus-visible{box-shadow:var(--kk-focus);outline:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.kk-note,.kk-bar,.kk-hero,.kk-row,.kk-grid,.kk-stack,.kk-actions,.kk-note-preview{display:none!important}#print-root{display:block!important}body{background:#fff!important}}::selection{background:#56ffe340}.kk-hero .kk-status+.kk-value-row{border-top:1px dashed var(--kk-border);padding-top:14px}input[readonly],textarea[readonly]{font-family:var(--kk-font-mono);letter-spacing:.2px} diff --git a/dist/assets/index-DIbPwWUC.css b/dist/assets/index-DIbPwWUC.css new file mode 100644 index 000000000..68df7c33c --- /dev/null +++ b/dist/assets/index-DIbPwWUC.css @@ -0,0 +1 @@ +html,body,#root{width:100%;height:100%;margin:0;padding:0}@supports (height:100dvh){html,body,#root{height:100dvh}}@supports (min-height:100svh){html,body,#root{min-height:100svh}}body{display:block}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#02030a;--bg-1:#03091b;--bg-2:#040f24;--accent-cyan:#33f6ff;--accent-teal:#26ffc4;--accent-violet:#9b5bff;--accent-gold:#ffd979;--good:#26ffc4;--warn:#ffd979;--bad:#ff4d8d;--text-main:#f5f7ff;--text-subtle:#c3c7e6;--text-dim:#f5f7ffb8;--frame-border:#b0fff77a;--frame-bg:#060e23d9;--frame-inner-bg:#030818f5;--line-soft:#ffffff0f;--line-med:#ffffff1a;--glass-0:#0a14308c;--glass-1:#060e23b8;--glass-2:#030818e6;--shadow-soft:0 0 40px #000000a6;--shadow-halo:0 0 120px #33f6ff4d;--shadow-hard:0 24px 80px #000000b3;--radius-xl:32px;--radius-lg:24px;--radius-md:16px;--radius-sm:12px;--blur-strong:26px;--blur-soft:18px;--breath:5.236s;--breath-s:var(--breath);--transition-fast:.18s ease-out;--transition-med:.26s ease-out;--topbar-h:76px;--ring:0 0 0 3px #33f6ff3d,0 0 0 1px #ffffff1f inset;--grid-line:#75d3ff1f;--grid-glow:#5fb4ff2e;--safe-bottom:env(safe-area-inset-bottom,0px);--stage-pad:clamp(1.05rem,2.4vw,2.5rem);--frame-pad:clamp(1.05rem,2.1vw,2rem);--workspace-gap:.85rem;--bottom-actions-reserve:104px;--orbit-blur:40px;--glow-blur:32px;--font-base:clamp(12.91px,2.72vw,18.47px);--chakra-ink-0:#ff3b6b;--chakra-ark-0:#ff6aa6;--chakra-ink-1:#ff8a3d;--chakra-ark-1:#ffc07a;--chakra-ink-2:#ffd24a;--chakra-ark-2:#fff2a6;--chakra-ink-3:#26ffc4;--chakra-ark-3:#a6ffe9;--chakra-ink-4:#33f6ff;--chakra-ark-4:#a8fbff;--chakra-ink-5:#7e86ff;--chakra-ark-5:#c6c9ff;--chakra-ink-6:#c18bff;--chakra-ark-6:#ead8ff}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-0);font-size:var(--font-base)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){html,:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}input,textarea,select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{width:100%;min-width:0;height:100%;margin:0;padding:0}@supports (min-height:100svh){html,body,#root{min-height:100svh}}@supports (height:100dvh){html,body,#root{height:100dvh}}html{-webkit-text-size-adjust:100%}input,textarea,select,button{font-size:16px;font:inherit;color:inherit}body{color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:#33f6ff24;background:radial-gradient(circle at top,#050819 0%,#02030a 52%,#000);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,sans-serif;overflow:hidden}img,svg,canvas,video{max-width:100%;height:auto}:focus-visible{box-shadow:var(--ring);border-radius:10px;outline:none}a{color:var(--accent-cyan);text-decoration:none}a:hover{text-decoration:underline}.kai-splash{z-index:10000;color:var(--text-main);opacity:0;pointer-events:none;--phi-breath:var(--breath-s,5.236s);--phi-inhale-ratio:61.8%;background:radial-gradient(circle at 18% 20%,#33f6ff2e 0,#0000 34%),radial-gradient(circle at 78% 16%,#9b5bff38 0,#0000 40%),radial-gradient(circle at 50% 110%,#26ffc429 0,#0000 52%),linear-gradient(132deg,#00060f 0%,#041227 40%,#071c37 76%,#041229 100%);place-items:center;transition:opacity .42s,transform .62s;display:grid;position:fixed;inset:0;overflow:hidden;transform:scale(1.01)}.kai-splash[data-state=show]{opacity:1;pointer-events:auto;transform:scale(1)}.kai-splash[data-state=fade],.kai-splash[data-state=hidden]{opacity:0;pointer-events:none;transform:scale(1.012)}.kai-splash:before,.kai-splash:after{content:"";pointer-events:none;position:absolute;inset:-30%}.kai-splash:before{filter:blur(70px);opacity:.85;background:radial-gradient(circle at 50% 60%,#33f6ff29,#0000 55%)}.kai-splash:after{filter:blur(120px);mix-blend-mode:screen;opacity:.6;background:conic-gradient(from 120deg,#33f6ff1a,#9b5bff26,#26ffc41a,#33f6ff1a)}.kai-splash__grid{opacity:.18;background-image:linear-gradient(90deg,#0000 0 90%,#5fb4ff40 90% 100%),linear-gradient(#0000 0 90%,#5fb4ff33 90% 100%);background-size:120px 120px;position:absolute;inset:-8%;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 82%);mask-image:radial-gradient(circle,#000 20%,#0000 82%)}.kai-splash__halo{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.4;background:radial-gradient(circle at 50% 45%,#33f6ff0d,#0000 50%);border:1px solid #33f6ff33;border-radius:36px;position:absolute;inset:8%}.kai-splash__glow{mix-blend-mode:screen;filter:blur(90px);background:radial-gradient(circle,#00ffc41a,#0000 60%);position:absolute;inset:-14%}.kai-splash__content{z-index:1;width:min(540px,92vw);box-shadow:none;text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:26px;gap:clamp(.8rem,2vw,1.4rem);padding:clamp(1.25rem,3vw,2.5rem);display:grid;position:relative}@supports not ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.kai-splash__content{background:0 0}}.kai-splash__badge{aspect-ratio:1;isolation:isolate;filter:drop-shadow(0 0 32px #33f6ff2e);width:clamp(120px,20vw,180px);animation:kai-splash-hover var(--phi-breath)ease-in-out infinite;place-items:center;margin:0 auto;display:grid;position:relative}.kai-splash__badge-core{width:82%;height:82%;animation:kai-splash-breathe var(--phi-breath)ease-in-out infinite;background:radial-gradient(circle at 35% 30%,#ffffff1f,#fff0),radial-gradient(circle at 72% 70%,#33f6ff61,#33f6ff00),linear-gradient(200deg,#00ffc466,#03091be6);border:1px solid #a8f1ff73;border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 12px #33f6ff14,0 0 60px #26ffc440}.kai-splash__badge-core img{filter:drop-shadow(0 0 14px #33f6ffa6)drop-shadow(0 0 50px #26ffc473);width:58%}.kai-splash__badge-core-shine{mix-blend-mode:screen;filter:blur(28px);opacity:.65;animation:kai-splash-surge var(--phi-breath)ease-in-out infinite;background:radial-gradient(circle at 50% 35%,#ffffff42,#0000 52%);position:absolute;inset:-18%}.kai-splash__badge-core:after{content:"";mix-blend-mode:screen;filter:blur(18px);opacity:.7;animation:kai-splash-surge var(--phi-breath)ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#ffffff40,#0000 45%);position:absolute;inset:-8%}.kai-splash__badge-orb{mix-blend-mode:screen;background:radial-gradient(circle at 45% 35%,#fff3,#fff0);border-radius:50%;position:absolute;inset:18%}.kai-splash__ring{animation:kai-splash-pulse var(--phi-breath)ease-in-out infinite;border:1px solid #33f6ff59;border-radius:50%;position:absolute;inset:8%;box-shadow:0 0 0 10px #33f6ff1f,inset 0 0 0 1px #ffffff14}.kai-splash__ring--inner{animation:kai-splash-pulse var(--phi-breath)ease-in-out infinite reverse;border:1px solid #9b5bff59;inset:16%;box-shadow:0 0 0 8px #9b5bff29,inset 0 0 0 1px #ffffff0d}.kai-splash__rays{filter:blur(32px);mix-blend-mode:screen;opacity:.9;animation:kai-splash-rotate calc(var(--phi-breath)*3)linear infinite;background:conic-gradient(from 120deg,#33f6ff14,#9b5bff2e,#26ffc41f,#33f6ff14);border-radius:50%;position:absolute;inset:-40%}.kai-splash__flare{filter:blur(3px);opacity:.65;transform-origin:50%;height:4px;animation:kai-splash-flare calc(var(--phi-breath)*.5)ease-in-out infinite;background:linear-gradient(90deg,#0000,#fffc,#0000);position:absolute;inset:22% 6% auto;transform:translateY(-60px)scaleX(.4)}@keyframes kai-splash-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes kai-splash-surge{0%{opacity:.35;transform:scale(.92)}61.8%{opacity:.95;transform:scale(1.08)}to{opacity:.35;transform:scale(.92)}}@keyframes kai-splash-flare{0%{opacity:.15;transform:translateY(-70px)scaleX(.2)}61.8%{opacity:.82;transform:translateY(0)scaleX(1.04)}to{opacity:.12;transform:translateY(-70px)scaleX(.2)}}@keyframes kai-splash-hover{0%{transform:translateY(0)scale(1)}61.8%{transform:translateY(-6px)scale(1.015)}to{transform:translateY(0)scale(1)}}@keyframes kai-splash-breathe{0%,to{opacity:.55}50%{opacity:.78}}@keyframes kai-splash-pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}to{opacity:.8;transform:scale(1)}}@media (max-width:540px){.kai-splash__content{border-radius:18px;padding:1.15rem}.kai-splash__badge{width:clamp(110px,34vw,140px)}}@media (prefers-reduced-motion:reduce){.kai-splash,.kai-splash[data-state=fade],.kai-splash[data-state=show]{transition:opacity .18s,transform .2s}.kai-splash__rays,.kai-splash__ring,.kai-splash__badge-core:after,.kai-splash__flare{animation:none}}.skip-link{color:var(--text-main);z-index:9999;box-shadow:var(--shadow-soft);transition:transform var(--transition-fast);background:#0a1430eb;border:1px solid #aaf1ff59;border-radius:12px;padding:.6rem .85rem;position:absolute;top:.75rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.route-loader{z-index:99999;background:radial-gradient(circle at 25% 10%,#33f6ff14,#0000 48%),radial-gradient(circle at 75% 85%,#9b5bff1f,#0000 58%),linear-gradient(160deg,#02030af5,#060e23f5);place-items:center;padding:1.35rem;display:grid;position:fixed;inset:0}.route-loader__glow{filter:blur(14px);opacity:.6;background:radial-gradient(800px 520px,#33f6ff24,#0000 68%);position:absolute;inset:0}.route-loader__content{color:var(--text-main);letter-spacing:.01em;background:#030818e6;border:1px solid #aaf1ff47;border-radius:18px;align-items:center;gap:.75rem;padding:.92rem 1.05rem;font-weight:700;display:inline-flex;position:relative;box-shadow:0 18px 40px #0000008c,inset 0 0 0 1px #ffffff0f}.route-loader__dot{background:var(--accent-cyan);border-radius:999px;width:16px;height:16px;animation:1.05s ease-in-out infinite routeLoaderPulse;transform:translateZ(0);box-shadow:0 0 18px #33f6ff80,0 0 36px #9b5bff59}.route-loader__text{white-space:normal;max-width:min(320px,82vw);font-size:.96rem}@keyframes routeLoaderPulse{0%{opacity:.75;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}to{opacity:.75;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.route-loader__dot{animation:none}}.app-shell{width:100%;height:var(--vvh-px,100dvh);max-height:var(--vvh-px,100dvh);background:radial-gradient(circle at 10% -10%,#00ffc42e 0,transparent 55%),radial-gradient(circle at 90% 110%,#9b5bff3d 0,transparent 60%),radial-gradient(circle at -20% 70%,#008cff2e 0,transparent 60%),linear-gradient(145deg,var(--bg-0),var(--bg-1),var(--bg-2));color:var(--text-main);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.app-bg-grid{pointer-events:none;opacity:.35;background-image:linear-gradient(to right,transparent 0,transparent 92%,var(--grid-line)92%,var(--grid-line)100%),linear-gradient(to bottom,transparent 0,transparent 92%,var(--grid-line)92%,var(--grid-line)100%);mix-blend-mode:screen;z-index:0;background-size:72px 72px;position:fixed;inset:-40px;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 80%);mask-image:radial-gradient(circle,#000 0,#0000 80%)}.kx-x{appearance:none;border:1px solid var(--sx-border-strong,#ffffff38);color:#ffffffeb;letter-spacing:0;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#00000061;border-radius:999px;place-items:center;width:44px;height:44px;margin:0;padding:0;font-size:28px;font-weight:700;line-height:1;display:grid;transform:translateZ(0)}.kx-x:hover{background:#00000085}.kx-x:active{transform:translateZ(0)translateY(1px)}.kx-x:focus-visible{box-shadow:var(--sx-ring,0 0 0 2px #37ffe440,0 0 0 6px #37ffe41f);outline:none}.explorer-pop__panel,.klock-pop__panel{position:relative}.explorer-pop__close,.klock-pop__close{z-index:50;position:absolute;top:12px;right:12px}.app-bg-orbit{pointer-events:none;width:120vmin;height:120vmin;filter:blur(var(--orbit-blur));opacity:.65;z-index:0;backface-visibility:hidden;will-change:transform;background:radial-gradient(circle,#0000001a 0,#0000 60%),conic-gradient(from 220deg,#26ffc452,#33f6ff00,#9b5bff66,#ffd97933,#26ffc452);animation:64s linear infinite orbit-spin;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(0)}@keyframes orbit-spin{0%{transform:translate(-50%,-50%)rotate(0)translateZ(0)}to{transform:translate(-50%,-50%)rotate(360deg)translateZ(0)}}.app-bg-glow{pointer-events:none;opacity:.58;width:36vw;max-width:520px;height:140vh;filter:blur(var(--glow-blur));mix-blend-mode:screen;animation:golden-breath var(--breath)ease-in-out infinite;transform-origin:50% 30%;z-index:0;backface-visibility:hidden;will-change:transform,opacity;background:radial-gradient(circle at 50% 0,#ffffff61 0,#0000 40%),linear-gradient(#26ffc400,#26ffc48c,#9b5bff66,#ffd9791a,#0000);position:fixed;top:-10%;left:50%;transform:translate(-50%)translateZ(0)}@keyframes golden-breath{0%{opacity:.42;transform:translate(-50%)scaleY(.985)translateZ(0)}50%{opacity:.7;transform:translate(-50%)scaleY(1.04)translateZ(0)}to{opacity:.45;transform:translate(-50%)scaleY(.995)translateZ(0)}}@media (prefers-reduced-motion:reduce){.app-bg-orbit,.app-bg-glow{animation:none!important}}@media (max-width:650px){:root{--orbit-blur:28px;--glow-blur:22px}.app-bg-orbit{opacity:.55;animation-duration:92s}}.app-topbar{z-index:5;height:var(--topbar-h);-webkit-backdrop-filter:blur(var(--blur-soft))saturate(140%);background:radial-gradient(circle at 20% 0,#33f6ff1f,#0000 55%),radial-gradient(circle at 80% 100%,#9b5bff1a,#0000 60%),linear-gradient(#020612e0,#0206129e);border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:clamp(.4rem,1vw,.75rem);padding:.85rem clamp(1rem,2.5vw,1.75rem);display:flex;position:relative}@media (max-width:520px){.app-topbar{gap:clamp(.35rem,1.2vw,.6rem);padding:.7rem clamp(.7rem,3vw,1.1rem)}.brand__mark{border-radius:12px;width:36px;height:36px}.brand__mark-img{width:22px;height:22px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-topbar{background:#020612eb}}.topbar-left,.topbar-right{align-items:center;gap:.75rem;min-width:0;display:flex}.topbar-left{flex:auto}.topbar-right{flex:0 auto}.brand{-webkit-user-select:none;user-select:none;align-items:center;gap:.85rem;min-width:0;display:flex}.brand__mark{letter-spacing:.03em;color:#020612f2;background:radial-gradient(circle at 35% 25%,#ffffffd9 0,#ffd9798c 28%,#33f6ff73 55%,#9b5bff59 78%),linear-gradient(135deg,#26ffc4a6,#33f6ff8c);border-radius:14px;place-items:center;width:44px;height:44px;font-weight:800;display:grid;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 10px 26px #0000008c,inset 0 0 0 1px #ffffff2e,0 0 40px #ffd97929}.brand__mark-img{filter:drop-shadow(0 8px 18px #00000073);width:26px;height:26px;display:block}.brand__mark:after{content:"";animation:brand-sheen calc(var(--breath)*2)ease-in-out infinite;opacity:.55;will-change:transform,opacity;background:linear-gradient(120deg,#0000 0%,#ffffff59 45%,#0000 70%);position:absolute;inset:-40%;transform:rotate(18deg)translate(-40%)}@keyframes brand-sheen{0%{opacity:0;transform:rotate(18deg)translate(-55%)}35%{opacity:.55}70%{opacity:0;transform:rotate(18deg)translate(55%)}to{opacity:0}}.brand__text{flex:auto;gap:.12rem;min-width:0;display:grid}.brand__title{letter-spacing:clamp(.01em,.4vw,.018em);white-space:nowrap;text-overflow:unset;color:#0000;-webkit-text-fill-color:transparent;text-shadow:0 0 .06em #ffffff52,0 0 .22em #78fff047,0 0 .55em #7882ff29;will-change:background-position;background-image:linear-gradient(115deg,#ff50befa 0%,#7882fffa 18%,#50dcfffa 36%,#78ffd2fa 54%,#fff578fa 72%,#ff8246fa 86%,#ff50befa 100%);background-position:0%;background-size:320% 320%;-webkit-background-clip:text;background-clip:text;max-width:100%;font-size:clamp(.62rem,2.3vw,1.28rem);font-weight:860;line-height:1.05;animation:13.09s linear infinite brandTextRainbow;overflow:visible}@keyframes brandTextRainbow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@media (prefers-reduced-motion:reduce){.brand__title{animation:none}}.brand__subtitle{letter-spacing:clamp(.03em,.9vw,.11em);text-transform:uppercase;white-space:nowrap;text-overflow:unset;-webkit-text-fill-color:transparent;opacity:.92;will-change:background-position;background-image:linear-gradient(105deg,#ffffffdb 0%,#a0fff4d6 28%,#96cdffc7 58%,#d2aaffb8 86%,#ffffffd1 100%);background-position:0%;background-size:240% 240%;-webkit-background-clip:text;background-clip:text;max-width:100%;font-size:clamp(.54rem,2vw,.92rem);font-weight:720;line-height:1.15;animation:10.472s linear infinite brandSubtitleDrift;overflow:visible}@media (min-width:980px){.brand__subtitle{max-width:none;text-overflow:unset;overflow:visible}}@keyframes brandSubtitleDrift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@media (prefers-reduced-motion:reduce){.brand__subtitle{animation:none}}.topbar-live{appearance:none;-webkit-backdrop-filter:blur(10px);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:#0a0e1873;border:1px solid #00ffa038;border-radius:999px;align-items:center;gap:12px;padding:8px 12px;display:flex;transform:translateZ(0)}.topbar-live:focus-visible{outline:none;box-shadow:0 0 0 2px #ffffff24,0 0 0 6px #78dcff1a}.topbar-live{--kai-chakra:var(--chakra-ink-3);--kai-ark:var(--chakra-ark-3);--kai-month:var(--chakra-ink-2)}.kai-tag,.kai-sep{color:#f5f7ff9e}.kai-num{font-variant-numeric:tabular-nums}.kai-num--chakra{color:var(--kai-chakra);text-shadow:0 0 16px #0000008c}.kai-num--ark{color:var(--kai-ark);text-shadow:0 0 16px #0000008c}.kai-num--month{color:var(--kai-month);text-shadow:0 0 16px #0000008c}.live-orb{background:#00ffa0f2;border-radius:50%;width:12px;height:12px;position:relative;transform:translateZ(0);box-shadow:0 0 10px #00ffa08c}.live-orb:after{content:"";opacity:.55;animation:liveOrbBreath var(--breath-s)ease-in-out infinite;will-change:transform,opacity;pointer-events:none;background:radial-gradient(circle,#00ffa08c,#0000 62%);border-radius:999px;position:absolute;inset:-10px;transform:scale(.92)}@keyframes liveOrbBreath{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:.8;transform:scale(1.15)}}.live-text{flex-direction:column;line-height:1.05;display:flex}.live-title{letter-spacing:.12em;font-weight:800}.live-meta{opacity:.9;font-size:12px}.app-stage{z-index:1;width:100%;min-height:0;padding:var(--stage-pad);padding-bottom:calc(var(--stage-pad) + var(--safe-bottom));flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.app-frame{border-radius:var(--radius-xl);width:100%;max-width:1180px;height:100%;box-shadow:var(--shadow-hard),0 0 0 1px #ffffff0d,0 0 90px #33f6ff3d;-webkit-backdrop-filter:blur(var(--blur-strong))saturate(150%);background:radial-gradient(circle at 0 0,#33f6ff30,#0000 55%),radial-gradient(circle at 100% 0,#9b5bff29,#0000 52%),radial-gradient(circle at 50% 100%,#ffd9791a,#0000 60%),linear-gradient(145deg,#050e28f5,#010410fa);border:1px solid #9dfff499;position:relative;overflow:hidden}.app-frame:before,.app-frame:after{content:"";border-radius:calc(var(--radius-xl) - 2px);pointer-events:none;position:absolute;inset:1px}.app-frame:before{opacity:.85;border:1px solid #ffffff17}.app-frame:after{mix-blend-mode:soft-light;opacity:.32;background:linear-gradient(120deg,#ffffff1f,#0000 35% 65%,#33f6ff40)}.app-frame-inner{z-index:1;padding:var(--frame-pad);border-radius:calc(var(--radius-xl) - 6px);background:radial-gradient(circle at 10% 0%,#ffffff0f,transparent 55%),radial-gradient(circle at 90% 100%,#33f6ff26,transparent 60%),radial-gradient(circle at 0% 100%,#9b5bff2e,transparent 65%),linear-gradient(160deg,var(--frame-inner-bg),#010410fa);min-width:0;height:100%;position:relative;overflow:hidden}.app-workspace{gap:var(--workspace-gap);grid-template-rows:auto minmax(0,1fr);grid-template-columns:320px 1fr;min-width:0;height:100%;min-height:0;display:grid}.workspace-topbar{border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 0,#33f6ff1f,#0000 58%),radial-gradient(circle at 82% 100%,#9b5bff1a,#0000 60%),linear-gradient(145deg,#060e239e,#030818eb);border:1px solid #aaf1ff38;grid-column:1/-1;padding:.68rem .75rem .75rem;position:relative;overflow:visible;box-shadow:0 18px 50px #0000008c,inset 0 0 0 1px #ffffff0a}.workspace-topbar>*{width:100%;min-width:0}.app-nav{border-radius:var(--radius-lg);background:radial-gradient(circle at 30% 20%,#33f6ff1a,#0000 55%),linear-gradient(145deg,#060e23b8,#030818eb);border:1px solid #aaf1ff38;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 50px #0000008c,inset 0 0 0 1px #ffffff0a}.nav-head{background:radial-gradient(circle at 20% 0,#ffd97917,#0000 55%),linear-gradient(#0a14304d,#0a143000);border-bottom:1px solid #ffffff0f;padding:.95rem 1rem .78rem}.nav-head__title{letter-spacing:.12em;text-transform:uppercase;color:#f5f7ffeb;font-size:.92rem;font-weight:900}.nav-head__sub{color:#f5f7ffad;margin-top:.22rem;font-size:.82rem}.nav-list{gap:.5rem;padding:.7rem;display:grid;overflow:hidden}.nav-item{transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);background:radial-gradient(circle at 14% 20%,#33f6ff14,#0000 55%),linear-gradient(145deg,#0a143040,#0a14301a);border:1px solid #ffffff14;border-radius:16px;padding:.78rem .8rem;transform:translateZ(0);box-shadow:0 10px 22px #00000059,inset 0 0 0 1px #ffffff08}.nav-item__label{letter-spacing:.03em;font-weight:900}.nav-item__desc{color:#f5f7ffad;margin-top:.16rem;font-size:.82rem}.nav-item--button{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--accent-cyan);appearance:none}.nav-item:hover{background:radial-gradient(circle at 14% 20%,#33f6ff1f,#0000 55%),linear-gradient(145deg,#0a143057,#0a143024);border-color:#33f6ff47;text-decoration:none;transform:translateY(-1px)translateZ(0);box-shadow:0 16px 30px #00000080,inset 0 0 0 1px #33f6ff14,0 0 30px #33f6ff14}.nav-item--active{background:radial-gradient(circle at 20% 0,#ffd97929,#0000 62%),radial-gradient(circle at 14% 20%,#33f6ff24,#0000 55%),linear-gradient(145deg,#0a14306b,#0a14302e);border-color:#ffd9796b;box-shadow:0 18px 34px #0000008c,inset 0 0 0 1px #ffd9791a,0 0 46px #ffd97914}.nav-foot{background:linear-gradient(#0a143000,#0a143038);border-top:1px solid #ffffff0f;margin-top:auto;padding:.8rem 1rem .9rem}.nav-foot__line{color:#f5f7ffb8;font-size:.78rem;line-height:1.35}.nav-foot__line+.nav-foot__line{margin-top:.35rem}.app-panel{border-radius:var(--radius-lg);background:radial-gradient(circle at 70% 20%,#33f6ff1a,#0000 55%),radial-gradient(circle at 10% 0,#9b5bff1a,#0000 62%),linear-gradient(145deg,#060e23b8,#030818eb);border:1px solid #aaf1ff38;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 60px #0000009e,inset 0 0 0 1px #ffffff0a}.panel-head{background:radial-gradient(circle at 50% 0,#ffd9791a,#0000 56%),linear-gradient(#0a14305c,#0a143000);border-bottom:1px solid #ffffff0f;padding:.95rem 1.1rem}.panel-head__title{letter-spacing:.02em;font-size:1.05rem;font-weight:900}.panel-head__meta{flex-wrap:wrap;gap:.42rem;margin-top:.48rem;display:flex}.meta-chip{color:#f5f7ffd6;letter-spacing:.08em;text-transform:uppercase;background:#0a143057;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.72rem;display:inline-flex}.panel-body{min-height:0;padding:.92rem 1.1rem calc(1.05rem + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-padding-bottom:calc(1.05rem + var(--safe-bottom));scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:#aaf1ff2e transparent;flex:auto;position:relative;overflow:hidden auto}.panel-body::-webkit-scrollbar{width:10px}.panel-body::-webkit-scrollbar-track{background:0 0}.panel-body::-webkit-scrollbar-thumb{background:#aaf1ff2e padding-box padding-box;border:2px solid #0000;border-radius:999px}.panel-body::-webkit-scrollbar-thumb:hover{background:#aaf1ff47}.app-shell[data-panel-scroll="1"] .panel-body:after{content:"";height:var(--bottom-actions-reserve);width:100%;display:block}.panel-center{width:100%;min-width:0;min-height:100%;display:flex}.panel-center>*{width:100%;min-width:0;max-width:920px;min-height:0;max-height:none;margin:auto}.panel-foot{padding:.72rem 1.1rem calc(.72rem + var(--safe-bottom));color:#f5f7ff9e;z-index:4;background:linear-gradient(#0a143000,#0a143038);border-top:1px solid #ffffff0f;flex:none;justify-content:space-between;align-items:center;font-size:.78rem;display:flex;position:relative}.notfound{border-radius:var(--radius-md);background:radial-gradient(circle at 30% 10%,#ff4d8d1a,#0000 60%),radial-gradient(circle at 70% 0,#33f6ff1a,#0000 60%),linear-gradient(145deg,#0a143059,#0a143024);border:1px solid #ffffff1a;padding:2.25rem 1.25rem;box-shadow:0 20px 70px #000000a6}.notfound__code{letter-spacing:.05em;font-size:3.25rem;font-weight:950;line-height:1}.notfound__title{margin-top:.35rem;font-size:1.1rem;font-weight:900}.notfound__hint{color:#f5f7ffb8;margin-top:.5rem}.notfound__actions{margin-top:1.15rem}.notfound__cta{letter-spacing:.06em;text-transform:uppercase;color:#020612f2;transition:transform var(--transition-fast),box-shadow var(--transition-fast);background:radial-gradient(circle at 35% 25%,#ffffffd9 0,#ffd9798c 26%,#33f6ff66 58%),linear-gradient(135deg,#26ffc4a6,#33f6ff8c);border:1px solid #ffffff29;border-radius:14px;justify-content:center;align-items:center;padding:.75rem .95rem;font-weight:900;display:inline-flex;box-shadow:0 16px 34px #0000008c,inset 0 0 0 1px #ffffff1a}.notfound__cta:hover{text-decoration:none;transform:translateY(-1px)translateZ(0);box-shadow:0 20px 46px #0000009e,inset 0 0 0 1px #ffffff24,0 0 36px #ffd9791a}@media (max-width:980px){:root{--workspace-gap:.78rem}.app-stage{padding:.95rem;padding-bottom:calc(.95rem + var(--safe-bottom))}.app-frame{border-radius:24px}.app-frame-inner{padding:.95rem}.app-workspace{gap:var(--workspace-gap);grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr;height:100%;min-height:0}.app-nav{height:auto;min-height:0}.nav-list{padding:.7rem;padding-bottom:calc(.85rem + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;isolation:isolate;touch-action:pan-x;flex-wrap:nowrap;align-items:stretch;gap:.5rem;scroll-padding-left:.7rem;scroll-padding-right:.7rem;display:flex;position:relative;overflow:auto hidden}.nav-list::-webkit-scrollbar{height:0}.nav-list:before,.nav-list:after{content:"";pointer-events:none;z-index:2;width:22px;position:absolute;top:.55rem;bottom:.55rem}.nav-list:before{background:linear-gradient(90deg,#060e23eb,#060e2300);left:0}.nav-list:after{letter-spacing:.08em;text-transform:uppercase;color:#f5f7ffc7;text-shadow:0 0 8px #33f6ff6b;content:"Swipe →";background:linear-gradient(270deg,#060e23eb,#060e2300);justify-content:flex-end;align-items:center;gap:.2rem;padding-right:.28rem;font-size:.72rem;font-weight:800;animation:3.6s ease-in-out infinite nav-swipe-hint;display:flex;right:0}.nav-item{scroll-snap-align:start;scroll-snap-stop:always;white-space:normal;flex-direction:column;flex:0 0 clamp(130px,38vw,170px);justify-content:center;gap:.3rem;min-width:0;height:auto;padding:.62rem .66rem;display:flex}.panel-center>*{max-width:100%}.workspace-topbar{padding:.62rem .65rem .68rem}}@media (max-width:650px){:root{--topbar-h:72px;--bottom-actions-reserve:112px;--workspace-gap:.72rem}.app-frame{border-radius:20px}.app-frame-inner{border-radius:16px;padding:.85rem}.brand__subtitle{display:none}.panel-head{padding:.82rem .95rem}.panel-body{padding:.78rem .95rem calc(.95rem + var(--safe-bottom));scroll-padding-bottom:calc(.95rem + var(--safe-bottom))}.panel-foot{padding:.62rem .95rem calc(.62rem + var(--safe-bottom));font-size:.72rem}.nav-head{padding:.85rem .9rem .7rem}.nav-foot{padding:.7rem .9rem .8rem}.nav-foot__line{font-size:.72rem;line-height:1.25}.workspace-topbar{padding:.58rem .58rem .64rem}}@media (max-width:520px){:root{--topbar-h:68px;--stage-pad:clamp(.78rem,2vw,1.05rem);--frame-pad:clamp(.7rem,2vw,1.05rem);--workspace-gap:.6rem}.app-topbar{padding:.7rem clamp(.7rem,3vw,1.1rem)}.brand__mark{width:38px;height:38px}.brand__title,.brand__subtitle{max-width:min(64vw,300px)}.app-frame{border-radius:14px}.app-frame-inner{border-radius:12px;padding:.7rem}.app-panel,.app-nav,.workspace-topbar{border-radius:14px}.panel-head{padding:.7rem .85rem}.panel-body{padding:.7rem .85rem calc(.85rem + var(--safe-bottom));scroll-padding-bottom:calc(.85rem + var(--safe-bottom))}.panel-foot{padding:.55rem .85rem calc(.7rem + var(--safe-bottom));font-size:.72rem}.nav-list{padding:.6rem;padding-bottom:calc(.75rem + var(--safe-bottom));gap:.45rem}.nav-item{flex:0 0 clamp(120px,48vw,158px);height:auto}}@media (max-width:380px){:root{--topbar-h:64px;--workspace-gap:.52rem;--bottom-actions-reserve:88px}.app-topbar{gap:.4rem;padding:.6rem clamp(.6rem,3vw,.9rem)}.brand__mark{width:34px;height:34px}.brand__title,.brand__subtitle{max-width:min(68vw,240px)}.nav-item{flex:0 0 clamp(112px,60vw,148px);height:auto}.nav-head,.panel-head{padding:.64rem .78rem}.panel-body{padding:.62rem .78rem calc(.78rem + var(--safe-bottom))}.panel-foot{padding:.5rem .78rem calc(.62rem + var(--safe-bottom))}}@keyframes nav-swipe-hint{0%{opacity:0;transform:translate(0)}15%{opacity:.9}55%{opacity:.9;transform:translate(-5px)}to{opacity:0;transform:translate(0)}}@media (max-height:820px){:root{--workspace-gap:.7rem;--stage-pad:.9rem;--frame-pad:.9rem}.app-topbar{padding:.75rem 1rem}.workspace-topbar{padding:.56rem .6rem .62rem}.nav-head__sub{display:none}}@media (max-height:740px){:root{--topbar-h:68px;--workspace-gap:.64rem;--bottom-actions-reserve:96px}.app-stage{padding:.8rem;padding-bottom:calc(.8rem + var(--safe-bottom))}.app-frame-inner{padding:.8rem}.nav-foot{display:none}.nav-list{gap:.45rem;padding:.62rem}.nav-item{padding:.7rem .72rem}.panel-head{padding:.78rem .9rem}.panel-body{padding:.7rem .9rem calc(.9rem + var(--safe-bottom));scroll-padding-bottom:calc(.9rem + var(--safe-bottom))}.panel-foot{padding:.55rem .9rem calc(.55rem + var(--safe-bottom))}}.explorer-pop{z-index:999999;-webkit-backdrop-filter:blur(14px)saturate(130%);overscroll-behavior:contain;isolation:isolate;contain:layout paint;backface-visibility:hidden;background:radial-gradient(1200px 900px at 18% 10%,#33f6ff1f,#0000 55%),radial-gradient(1000px 800px at 85% 95%,#9b5bff1f,#0000 60%),#0000009e;place-items:stretch stretch;padding:0;display:grid;position:fixed;inset:0;transform:translateZ(0)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.explorer-pop{background:#000000c7}}.explorer-pop__panel{-webkit-backdrop-filter:blur(18px)saturate(150%);contain:layout paint;backface-visibility:hidden;background:radial-gradient(900px 420px at 18% 0,#33f6ff1a,#0000 60%),radial-gradient(820px 520px at 92% 110%,#9b5bff24,#0000 62%),linear-gradient(#0a1024f0,#030610f5);border:1px solid #33f6ff38;border-radius:0;grid-template-rows:1fr;width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 30px 90px #00000094,inset 0 0 0 1px #ffffff0f,0 0 70px #33f6ff1f}.explorer-pop__panel:before{content:"";pointer-events:none;opacity:.75;border:1px solid #ffffff1a;position:absolute;inset:1px}.explorer-pop__panel:after{content:"";pointer-events:none;animation:explorerSheen calc(var(--breath)*2)ease-in-out infinite;opacity:.45;mix-blend-mode:soft-light;will-change:transform,opacity;background:linear-gradient(120deg,#0000 0%,#ffffff29 45%,#0000 70%);position:absolute;inset:-30%;transform:rotate(18deg)translate(-40%)translateZ(0)}@keyframes explorerSheen{0%{opacity:0;transform:rotate(18deg)translate(-58%)translateZ(0)}35%{opacity:.42}70%{opacity:0;transform:rotate(18deg)translate(58%)translateZ(0)}to{opacity:0}}.explorer-pop__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;height:100%;min-height:0;padding-bottom:env(safe-area-inset-bottom,0px);scroll-padding-bottom:env(safe-area-inset-bottom,0px);scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:#aaf1ff2e transparent;position:relative;overflow:auto}.explorer-pop__body::-webkit-scrollbar{width:10px}.explorer-pop__body::-webkit-scrollbar-track{background:0 0}.explorer-pop__body::-webkit-scrollbar-thumb{background:#aaf1ff2e padding-box padding-box;border:2px solid #0000;border-radius:999px}.explorer-pop__body::-webkit-scrollbar-thumb:hover{background:#aaf1ff47}.explorer-pop__close{--x-size:44px;--x-pad:14px;--x-top:calc(var(--x-pad) + env(safe-area-inset-top,0px));--x-right:calc(var(--x-pad) + env(safe-area-inset-right,0px));--x-border:#aaf1ff42;--x-border-hot:#33f6ff6b;--x-ink:#f5f7ffeb;top:var(--x-top);right:var(--x-right);width:var(--x-size);height:var(--x-size);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#33f6ff2e;touch-action:manipulation;border:1px solid var(--x-border);-webkit-backdrop-filter:blur(14px)saturate(160%);z-index:20;isolation:isolate;color:var(--x-ink);letter-spacing:-.03em;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;text-shadow:0 12px 28px #000000ad,0 0 18px #33f6ff38,0 0 36px #9b5bff1f;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),filter var(--transition-fast);background:radial-gradient(18px 18px at 28% 22%,#ffffff2e,#0000 62%),radial-gradient(28px 26px at 78% 84%,#33f6ff24,#0000 64%),linear-gradient(#0a1430c7,#030610d6);border-radius:999px;place-items:center;font-size:19px;font-weight:950;line-height:1;display:grid;position:absolute;transform:translateZ(0);box-shadow:0 18px 44px #0000009e,inset 0 0 0 1px #ffffff0f}.explorer-pop__close>span{line-height:1;display:block;transform:translateY(-.5px)}.explorer-pop__close:before{content:"";pointer-events:none;filter:blur(10px);opacity:.58;mix-blend-mode:screen;animation:xOrbit calc(var(--breath)*6)linear infinite;will-change:transform;background:conic-gradient(from 220deg,#26ffc44d,#33f6ff05,#9b5bff52,#ffd9792e,#26ffc44d);border-radius:999px;position:absolute;inset:-8px}.explorer-pop__close:after{content:"";pointer-events:none;opacity:.38;mix-blend-mode:soft-light;animation:xSheen calc(var(--breath)*2)ease-in-out infinite;will-change:opacity;background:linear-gradient(120deg,#ffffff38,#0000 38% 66%,#33f6ff24);border-radius:999px;position:absolute;inset:1px}@keyframes xOrbit{0%{transform:rotate(0)translateZ(0)}to{transform:rotate(360deg)translateZ(0)}}@keyframes xSheen{0%,to{opacity:.3}50%{opacity:.52}}.explorer-pop__close:hover{border-color:var(--x-border-hot);filter:brightness(1.08);transform:translateZ(0)translateY(-1px);box-shadow:0 24px 60px #000000b3,inset 0 0 0 1px #33f6ff1f}.explorer-pop__close:active{transform:translateZ(0)scale(.98)}.explorer-pop__close:focus-visible{box-shadow:var(--ring),0 24px 60px #000000b3;outline:none}@media (hover:none) and (pointer:coarse){.explorer-pop__close:hover{transform:translateZ(0)}}@media (prefers-reduced-motion:reduce){.explorer-pop__panel:after,.explorer-pop__close:before,.explorer-pop__close:after{animation:none!important}.explorer-pop__close{transition:none!important}}@media (max-width:520px){.explorer-pop__close{--x-size:46px;--x-pad:12px;font-size:20px}}.fullpage-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;width:100%;height:100dvh;max-height:100dvh;padding:clamp(1rem,2.6vw,2rem);padding-bottom:calc(clamp(1rem,2.6vw,2rem) + var(--safe-bottom));scroll-padding-bottom:calc(clamp(1rem,2.6vw,2rem) + var(--safe-bottom));background:radial-gradient(circle at 10% -10%,#00ffc424 0,transparent 55%),radial-gradient(circle at 90% 110%,#9b5bff2e 0,transparent 60%),linear-gradient(145deg,var(--bg-0),var(--bg-1),var(--bg-2));color:var(--text-main);position:fixed;inset:0;overflow:auto}@supports not (height:100dvh){.fullpage-scroll{height:100vh;max-height:100vh}}.fullpage-scroll>*{max-width:1180px;margin:0 auto}.fullpage-scroll::-webkit-scrollbar{width:10px}.fullpage-scroll::-webkit-scrollbar-track{background:0 0}.fullpage-scroll::-webkit-scrollbar-thumb{background:#aaf1ff2e padding-box padding-box;border:2px solid #0000;border-radius:999px}.fullpage-scroll::-webkit-scrollbar-thumb:hover{background:#aaf1ff47}@media (max-width:980px),(max-height:720px){.nav-foot{visibility:visible!important;opacity:1!important;pointer-events:auto!important;margin-top:6px!important;margin-bottom:calc(2px + var(--safe-bottom,0px))!important;z-index:auto!important;display:block!important;position:static!important}.nav-foot__toggle{width:min(720px,100%);margin:0 auto}.app-nav{-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:calc(4px + var(--safe-bottom,0px) + 2px)!important;min-height:0!important;overflow:hidden auto!important}.app-workspace,.app-frame,.app-frame-inner{min-height:0!important}.app-nav,.app-workspace,.app-frame,.app-frame-inner{overflow-x:visible!important}}@media (max-width:380px),(max-height:640px){.nav-foot__toggle{border-radius:13px!important;padding:6px 9px!important}.nav-foot__badge{width:26px!important;height:26px!important}.nav-foot__summary{font-size:9px!important;line-height:1.08!important}.nav-foot__chev{padding:2px 5px!important;font-size:7.75px!important}}.route-loader{--breath-s:var(--breath,5.236s);--rl-cyan:51,246,255;--rl-teal:38,255,196;--rl-violet:155,91,255;--rl-gold:255,217,121;z-index:99999;width:100vw;height:100dvh;height:100svh;padding:clamp(14px,2.2vw,20px);padding-top:calc(clamp(14px,2.2vw,20px) + env(safe-area-inset-top,0px));padding-right:calc(clamp(14px,2.2vw,20px) + env(safe-area-inset-right,0px));padding-bottom:calc(clamp(14px,2.2vw,20px) + env(safe-area-inset-bottom,0px));padding-left:calc(clamp(14px,2.2vw,20px) + env(safe-area-inset-left,0px));isolation:isolate;background:radial-gradient(circle at 18% 20%,rgba(var(--rl-cyan),.12)0,transparent 38%),radial-gradient(circle at 78% 16%,rgba(var(--rl-violet),.14)0,transparent 44%),radial-gradient(circle at 50% 110%,rgba(var(--rl-teal),.1)0,transparent 56%),linear-gradient(145deg,var(--bg-0),var(--bg-1),var(--bg-2));color:var(--text-main);contain:layout paint;backface-visibility:hidden;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.route-loader__bg{pointer-events:none;background:radial-gradient(circle at 50% 40%,rgba(var(--rl-teal),.11),transparent 58%),radial-gradient(circle at 50% 60%,rgba(var(--rl-violet),.1),transparent 62%),radial-gradient(circle at 50% 75%,rgba(var(--rl-gold),.08),transparent 68%);opacity:.72;filter:blur(44px);animation:rl-breath var(--breath-s)ease-in-out infinite;will-change:transform,opacity;position:absolute;inset:-18%;transform:translateZ(0)}.route-loader__grid{pointer-events:none;opacity:.22;mix-blend-mode:screen;animation:rl-drift calc(var(--breath-s)*3.236)ease-in-out infinite;will-change:transform,opacity;background-image:linear-gradient(90deg,#0000 0 92%,#5fb4ff33 92% 100%),linear-gradient(#0000 0 92%,#5fb4ff29 92% 100%);background-size:72px 72px;position:absolute;inset:-40px;transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#000 0,#0000 74%);mask-image:radial-gradient(circle,#000 0,#0000 74%)}.route-loader__halo{pointer-events:none;background:radial-gradient(circle at 45% 40%,rgba(var(--rl-cyan),.1),transparent 60%),radial-gradient(circle at 62% 66%,rgba(var(--rl-violet),.1),transparent 64%),radial-gradient(circle at 50% 78%,rgba(var(--rl-gold),.06),transparent 70%);filter:blur(70px);opacity:.62;animation:rl-halo calc(var(--breath-s)*1.618)ease-in-out infinite;will-change:transform,opacity;position:absolute;inset:-20%;transform:translateZ(0)}.route-loader__stage{width:min(540px,92vw);height:min(720px,92dvh);border-radius:var(--radius-xl);background:radial-gradient(900px 420px at 18% 0%,rgba(var(--rl-cyan),.1),transparent 60%),radial-gradient(820px 520px at 92% 110%,rgba(var(--rl-violet),.12),transparent 62%),linear-gradient(180deg,#0a1024eb,#030610f5);height:min(720px,92svh);box-shadow:0 30px 90px #0000009e,0 0 0 1px #ffffff0f inset,0 0 70px rgba(var(--rl-cyan),.1);-webkit-backdrop-filter:blur(var(--blur-strong))saturate(150%);isolation:isolate;border:1px solid #aaf1ff42;place-items:center;display:grid;position:relative;overflow:hidden;transform:translateZ(0)}.route-loader__stage:before{content:"";border-radius:calc(var(--radius-xl) - 2px);pointer-events:none;opacity:.78;border:1px solid #ffffff17;position:absolute;inset:1px}.route-loader__stage:after{content:"";pointer-events:none;opacity:0;animation:rl-sheen calc(var(--breath-s)*2)ease-in-out infinite;mix-blend-mode:soft-light;will-change:transform,opacity;background:linear-gradient(120deg,#0000 0%,#ffffff29 45%,#0000 70%);position:absolute;inset:-30%;transform:rotate(18deg)translate(-58%)translateZ(0)}.route-loader__orb{aspect-ratio:1;width:min(210px,54vw);filter:drop-shadow(0 0 32px rgba(var(--rl-cyan),.14));isolation:isolate;border-radius:999px;place-items:center;display:grid;position:relative;transform:translateZ(0)}.route-loader__orb:before{content:"";pointer-events:none;background:radial-gradient(circle at 35% 30%,#ffffff1f,transparent 54%),radial-gradient(circle at 50% 70%,rgba(var(--rl-teal),.16),transparent 62%),radial-gradient(circle at 70% 60%,rgba(var(--rl-violet),.12),transparent 66%);opacity:.75;filter:blur(22px);animation:rl-breath var(--breath-s)ease-in-out infinite;will-change:transform,opacity;border-radius:999px;position:absolute;inset:-18%}.route-loader__orb-core{background:radial-gradient(circle at 35% 30%,#ffffff24,transparent 55%),radial-gradient(circle at 72% 70%,rgba(var(--rl-cyan),.38),transparent 60%),linear-gradient(200deg,rgba(var(--rl-teal),.34),#03091beb);width:78%;height:78%;box-shadow:0 0 0 12px rgba(var(--rl-cyan),.08),0 0 60px rgba(var(--rl-teal),.18);animation:rl-core calc(var(--breath-s)*1)ease-in-out infinite;will-change:transform,opacity;border:1px solid #a8f1ff6b;border-radius:999px;overflow:hidden}.route-loader__orb-ring{border:1px solid rgba(var(--rl-cyan),.32);box-shadow:0 0 0 10px rgba(var(--rl-cyan),.1),0 0 0 1px #ffffff0f inset;opacity:.88;will-change:transform;border-radius:999px;position:absolute;inset:6%;transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#0000 0%,#000 34% 72%,#0000 100%);mask-image:radial-gradient(circle,#0000 0%,#000 34% 72%,#0000 100%)}.route-loader__orb-ring--a{animation:rl-rotate calc(var(--breath-s)*3.236)linear infinite}.route-loader__orb-ring--b{border-color:rgba(var(--rl-violet),.26);box-shadow:0 0 0 8px rgba(var(--rl-violet),.1),0 0 0 1px #ffffff0a inset;animation:rl-rotate calc(var(--breath-s)*5.236)linear infinite reverse;inset:-6%}.route-loader__orb-ring--c{border-color:rgba(var(--rl-gold),.18);box-shadow:0 0 0 6px rgba(var(--rl-gold),.08);animation:rl-rotate calc(var(--breath-s)*8.472)linear infinite;inset:-18%}.route-loader__spark{width:9px;height:9px;box-shadow:0 0 0 2px rgba(var(--rl-cyan),.14),0 0 26px rgba(var(--rl-cyan),.2),0 0 52px rgba(var(--rl-gold),.08);opacity:.78;will-change:transform,opacity;background:#ffffffe0;border-radius:999px;position:absolute;transform:translateZ(0)}.route-loader__spark--a{animation:rl-spark calc(var(--breath-s)*1.618)ease-in-out infinite;top:12%;left:18%}.route-loader__spark--b{animation:rl-spark calc(var(--breath-s)*2.236)ease-in-out infinite;bottom:14%;right:20%}.route-loader__content{z-index:6;pointer-events:none;place-items:center;padding:0 18px;display:grid;position:absolute;inset:0}.route-loader__content-inner{justify-items:center;gap:12px;display:grid}.route-loader__dot{background:var(--accent-cyan);width:12px;height:12px;box-shadow:0 0 18px rgba(var(--rl-cyan),.5),0 0 36px rgba(var(--rl-violet),.32);animation:rl-dot var(--breath-s)ease-in-out infinite;will-change:transform,opacity;border-radius:999px;transform:translateZ(0)}.route-loader__text{letter-spacing:.28em;text-transform:uppercase;text-align:center;color:#0000;-webkit-text-fill-color:transparent;text-shadow:0 0 .22em #78fff038,0 0 .55em #7882ff1f;animation:rl-text calc(var(--breath-s)*2)ease-in-out infinite;will-change:transform,opacity,background-position;background-image:linear-gradient(105deg,#ffffffe0 0%,#a0fff4db 28%,#96cdffc7 58%,#d2aaffbd 86%,#ffffffd6 100%);background-position:0%;background-size:240% 240%;-webkit-background-clip:text;background-clip:text;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,SF Mono,Liberation Mono,Courier New,monospace;font-size:clamp(13px,1.9vw,16px)}.route-loader__sub{letter-spacing:.22em;text-transform:uppercase;opacity:.72;color:#f5f7ffb3;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,SF Mono,Liberation Mono,Courier New,monospace;font-size:clamp(11px,1.6vw,13px)}@keyframes rl-breath{0%,to{opacity:.62;transform:scale(.985)translateZ(0)}50%{opacity:.82;transform:scale(1.02)translateZ(0)}}@keyframes rl-halo{0%,to{opacity:.52;transform:scale(1)translateZ(0)}50%{opacity:.72;transform:scale(1.04)translateZ(0)}}@keyframes rl-drift{0%{transform:translate(0,0)}50%{transform:translateY(-10px)}to{transform:translate(0,0)}}@keyframes rl-rotate{to{transform:rotate(360deg)translateZ(0)}}@keyframes rl-core{0%,to{opacity:.92;transform:scale(1)translateZ(0)}50%{opacity:1;transform:scale(1.035)translateZ(0)}}@keyframes rl-dot{0%,to{opacity:.72;transform:scale(.86)translateZ(0)}50%{opacity:1;transform:scale(1.18)translateZ(0)}}@keyframes rl-spark{0%,to{opacity:.52;transform:translate(0,0)}50%{opacity:.98;transform:translateY(-9px)}}@keyframes rl-text{0%,to{opacity:.88;background-position:0%;transform:translateY(1px)}50%{opacity:1;background-position:100%;transform:translateY(-1px)}}@keyframes rl-sheen{0%{opacity:0;transform:rotate(18deg)translate(-58%)translateZ(0)}35%{opacity:.42}70%{opacity:0;transform:rotate(18deg)translate(58%)translateZ(0)}to{opacity:0}}@media (prefers-reduced-motion:reduce){.route-loader__bg,.route-loader__grid,.route-loader__halo,.route-loader__orb:before,.route-loader__orb-core,.route-loader__orb-ring,.route-loader__dot,.route-loader__spark,.route-loader__text,.route-loader__stage:after{animation:none!important}}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.route-loader__stage{background:radial-gradient(900px 420px at 18% 0%,rgba(var(--rl-cyan),.1),transparent 60%),radial-gradient(820px 520px at 92% 110%,rgba(var(--rl-violet),.12),transparent 62%),linear-gradient(180deg,#060e23eb,#030818f5)}}.klock-pop{z-index:999999;-webkit-backdrop-filter:blur(14px);overscroll-behavior:contain;isolation:isolate;contain:layout paint;backface-visibility:hidden;background:radial-gradient(1400px 900px at 18% 8%,#ffdc8c2e,#0000 64%),radial-gradient(1200px 820px at 82% 16%,#78dcff29,#0000 62%),radial-gradient(900px 700px at 50% 110%,#be82ff1a,#0000 60%),#020408b8;place-items:stretch stretch;width:100vw;height:100vh;padding:0;display:grid;position:fixed;inset:0;transform:translateZ(0)}@supports (height:100dvh){.klock-pop{height:100dvh}}.klock-pop__panel{contain:layout paint;backface-visibility:hidden;background:radial-gradient(1600px 900px at 12% 6%,#ffd27829,#0000 68%),radial-gradient(1400px 900px at 88% 10%,#78dcff1f,#0000 66%),linear-gradient(#ffffff14,#ffffff05);border:1px solid #ffffff1a;border-radius:0;width:100%;height:100%;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:inset 0 0 0 1px #ffd8781a,inset 0 0 0 2px #78dcff0f,0 40px 120px #0000008c}.klock-pop__panel:before{content:"";pointer-events:none;opacity:.9;animation:klock-breathe var(--klock-breath,var(--breath-s))ease-in-out infinite;will-change:transform,opacity;background:radial-gradient(closest-side at 30% 30%,#ffe7a029,#0000 62%),radial-gradient(closest-side at 70% 40%,#78dcff1f,#0000 60%);position:absolute;inset:-25%;transform:translateZ(0)}.klock-pop__panel:after{content:"";pointer-events:none;opacity:.35;mix-blend-mode:overlay;background:linear-gradient(#0000,#ffffff0d),repeating-linear-gradient(0deg,#ffffff0d 0 1px,#0000 1px 36px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,#0000 1px 44px);position:absolute;inset:0}@keyframes klock-breathe{0%{opacity:.82;transform:translate(0,0)scale(1)}50%{opacity:.98;transform:translateY(-1.2%)scale(1.03)}to{opacity:.86;transform:translate(0,0)scale(1)}}.klock-pop__close{top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:#ffe1961f;border:1px solid var(--klock-border-strong,#ffe7a09e);color:#f0f6fff5;-webkit-backdrop-filter:blur(10px);z-index:50;background:#080c1475;border-radius:999px;place-items:center;width:54px;height:54px;display:grid;position:absolute;transform:translateZ(0);box-shadow:0 18px 60px #0000008c,inset 0 0 0 1px #ffffff1a}.klock-pop__close:focus-visible{box-shadow:var(--klock-ring,0 0 0 2px #ffe19638),0 18px 60px #0000008c;outline:none}.klock-pop__body{z-index:1;justify-content:center;align-items:center;height:100%;padding:0;display:flex;position:relative;overflow:hidden}.klock-stage{width:100%;height:100%;padding:calc(18px + env(safe-area-inset-top,0px))calc(18px + env(safe-area-inset-right,0px))calc(18px + env(safe-area-inset-bottom,0px))calc(18px + env(safe-area-inset-left,0px));place-items:center;display:grid}.klock-stage__inner{aspect-ratio:1;filter:drop-shadow(0 30px 90px #0000008c);place-items:center;width:min(98vmin,1280px);height:min(98vmin,1280px);margin:0 auto;display:grid}.klock-stage__inner>*{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important}.klock-stage__inner :where(svg,canvas,img){display:block;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important}.klock-stage__inner :where(.wrap,.container,.root){height:100%!important}@media (max-width:720px){.klock-stage{padding:calc(12px + env(safe-area-inset-top,0px))calc(12px + env(safe-area-inset-right,0px))calc(12px + env(safe-area-inset-bottom,0px))calc(12px + env(safe-area-inset-left,0px))}.klock-stage__inner{width:min(98vmin,1280px);height:min(98vmin,1280px)}}.klock-pop .kai-klock-shell{width:clamp(360px,88vmin,1400px);max-width:none}@media (prefers-reduced-motion:reduce){.klock-pop__panel:before{animation:none}}.kk-pop{z-index:999999;padding:max(14px,env(safe-area-inset-top,0px))max(12px,env(safe-area-inset-right,0px))max(14px,env(safe-area-inset-bottom,0px))max(12px,env(safe-area-inset-left,0px));contain:layout paint;backface-visibility:hidden;place-items:center;display:grid;position:fixed;inset:0;transform:translateZ(0)}.kk-pop__backdrop{-webkit-backdrop-filter:blur(10px);background:radial-gradient(1200px 700px at 30% 10%,#78dcff24,#000000b8 55%,#000000db);border:0;position:absolute;inset:0}.kk-pop__panel{backface-visibility:hidden;contain:layout paint;will-change:transform,opacity;background:linear-gradient(#ffffff14,#ffffff08) padding-box padding-box,radial-gradient(1200px 500px at 20% 0,#ffdc782e,#78dcff1f,#0000 70%) border-box;border:1px solid #ffffff24;border-radius:26px;width:min(520px,92vw);position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 22px 80px #0000008c,inset 0 0 0 1px #ffffff0f}.kk-pop__head{justify-content:space-between;align-items:center;padding:12px 14px 8px;display:flex}.kk-pop__title{letter-spacing:.3px;color:#f0f6fff5;text-shadow:0 0 18px #ffdc782e;font-weight:900}.kk-pop__close{color:#f0f6ffeb;cursor:pointer;background:#ffffff0f;border:0;border-radius:12px;padding:8px 10px;font-weight:700}.kk-pop__close:hover{background:#ffffff1a}.kk-pop__meta{flex-wrap:wrap;gap:8px;padding:0 14px 10px;display:flex}.kk-pop__pill{color:#e6f0ffeb;background:#00000038;border:1px solid #ffffff1f;border-radius:999px;padding:6px 10px;font-size:12px}.kk-pop__dial{place-items:center;padding:10px 14px 14px;display:grid}.kk-pop__dial>*{width:min(360px,70vw);max-width:360px;animation:kk-dial-breath var(--breath-s)ease-in-out infinite;transform-origin:50%;will-change:transform,opacity}@keyframes kk-dial-breath{0%,to{opacity:.98;transform:translateZ(0)scale(1)}50%{opacity:1;transform:translateZ(0)scale(1.02)}}.kk-pop__foot{justify-content:center;padding:0 14px 14px;display:flex}.kk-pop__hint{color:#c6d4ebc7;text-align:center;font-size:12px}@media (prefers-reduced-motion:reduce){.kk-pop__dial>*{animation:none}}.panel-foot{white-space:nowrap;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:10px;font-size:clamp(8px,2.15vw,12px);line-height:1;display:flex;overflow:visible}.panel-foot__left{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:visible}.panel-foot__right{white-space:nowrap;flex:none}.dns-copy{--kai-gold:255,213,74;--kai-neon:70,211,255;--kai-violet:193,139,255;--kai-glass:255,255,255;min-height:16px;line-height:1;font-size:inherit;letter-spacing:-.01em;font-variant-numeric:tabular-nums;background: radial-gradient(120% 220% at 15% 40%,rgba(var(--kai-gold),.14),transparent 55%),radial-gradient(120% 220% at 85% 60%,rgba(var(--kai-neon),.12),transparent 55%),rgba(var(--kai-glass),.028)padding-box,linear-gradient(90deg,rgba(var(--kai-gold),.45),rgba(var(--kai-neon),.34),rgba(var(--kai-violet),.3))border-box;-webkit-backdrop-filter:blur(10px);color:inherit;opacity:.92;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:0 0 0 1px #ffffff0f,0 8px 22px #0000002e,0 0 14px rgba(var(--kai-gold),.1),0 0 16px rgba(var(--kai-neon),.08);will-change:box-shadow,filter,transform;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:0 6px;transition:transform .12s,opacity .14s,box-shadow .18s,background .18s,filter .18s;animation:5.236s ease-in-out infinite dns-breath;display:inline-flex;position:relative}.dns-copy:hover{opacity:1;filter:brightness(1.06);box-shadow:0 0 0 1px #ffffff14,0 10px 26px #0003,0 0 18px rgba(var(--kai-gold),.14),0 0 20px rgba(var(--kai-neon),.11)}.dns-copy:active{transform:translateY(.5px)scale(.995)}.dns-copy:focus-visible{outline:2px solid rgba(var(--kai-neon),.28);outline-offset:2px}.dns-copy:before{content:"⧉";opacity:.62;width:10px;text-shadow:0 0 10px rgba(var(--kai-neon),.18),0 0 10px rgba(var(--kai-gold),.14);justify-content:center;align-items:center;font-size:.95em;line-height:1;display:inline-flex;transform:translateY(-.5px)}.dns-copy:after{content:"Remembered";pointer-events:none;letter-spacing:0;background:radial-gradient(140% 180% at 20% 30%,rgba(var(--kai-gold),.22),transparent 60%),#00000075;-webkit-backdrop-filter:blur(12px);opacity:0;box-shadow:0 0 0 1px #ffffff0d,0 10px 26px #00000038,0 0 18px rgba(var(--kai-gold),.12),0 0 18px rgba(var(--kai-neon),.1);border:1px solid #ffffff24;border-radius:999px;padding:2px 7px;font-size:.9em;line-height:1;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)}.dns-copy.is-copied,.dns-copy[data-copied="1"]{opacity:1;filter:brightness(1.08);box-shadow:0 0 0 1px #ffffff17,0 10px 28px #00000038,0 0 22px rgba(var(--kai-gold),.18),0 0 24px rgba(var(--kai-neon),.14)}.dns-copy.is-copied:before,.dns-copy[data-copied="1"]:before{content:"✓";opacity:.92;text-shadow:0 0 12px rgba(var(--kai-gold),.22),0 0 14px rgba(var(--kai-neon),.18)}.dns-copy.is-copied:after,.dns-copy[data-copied="1"]:after{opacity:1;transform:translate(-50%)translateY(0)}@keyframes dns-breath{0%,to{filter:brightness();box-shadow:0 0 0 1px #ffffff0f,0 8px 22px #0000002e,0 0 14px rgba(var(--kai-gold),.1),0 0 16px rgba(var(--kai-neon),.08)}50%{filter:brightness(1.05);box-shadow:0 0 0 1px #ffffff14,0 10px 26px #0003,0 0 18px rgba(var(--kai-gold),.16),0 0 20px rgba(var(--kai-neon),.12)}}@media (prefers-reduced-motion:reduce){.dns-copy{animation:none}}@media (max-width:420px){.panel-foot{gap:8px;font-size:clamp(7.5px,2.35vw,11px)}.panel-foot__left{gap:5px}.dns-copy{gap:4px;min-height:15px;padding:0 5px}}html[data-perf=low]{--blur-soft:10px;--blur-strong:12px;--shadow-halo:0 0 0 #0000}@media (prefers-reduced-motion:reduce),(prefers-reduced-transparency:reduce),(prefers-reduced-data:reduce),(update:slow){:root{--blur-soft:10px;--blur-strong:12px;--shadow-halo:0 0 0 #0000}.app-bg-orbit,.app-bg-glow,.brand__title,.brand__subtitle,.live-orb{animation:none!important}.app-bg-grid{mix-blend-mode:normal!important;opacity:.22!important}.app-bg-orbit{filter:blur(24px)!important;opacity:.35!important}.app-bg-glow{filter:blur(20px)!important;opacity:.38!important}.explorer-pop__panel:after,.klock-pop__panel:before,.explorer-pop__close:before,.explorer-pop__close:after{opacity:.22!important;animation:none!important}.app-topbar,.app-frame,.workspace-topbar,.app-nav,.app-panel,.explorer-pop,.explorer-pop__panel,.klock-pop,.klock-pop__panel,.kk-pop__backdrop,.kk-pop__panel{-webkit-backdrop-filter:none!important}.app-topbar{background:#020612eb!important}.app-frame{box-shadow:0 24px 80px #000000ad!important}.workspace-topbar,.app-nav,.app-panel{box-shadow:0 18px 50px #0009!important}}html[data-perf=low] .app-bg-orbit,html[data-perf=low] .app-bg-glow,html[data-perf=low] .brand__title,html[data-perf=low] .brand__subtitle,html[data-perf=low] .live-orb{animation:none!important}html[data-perf=low] .explorer-pop__panel:after,html[data-perf=low] .klock-pop__panel:before,html[data-perf=low] .explorer-pop__close:before,html[data-perf=low] .explorer-pop__close:after{opacity:.22!important;animation:none!important}html[data-perf=low] .app-topbar,html[data-perf=low] .app-frame,html[data-perf=low] .workspace-topbar,html[data-perf=low] .app-nav,html[data-perf=low] .app-panel,html[data-perf=low] .explorer-pop,html[data-perf=low] .explorer-pop__panel,html[data-perf=low] .klock-pop,html[data-perf=low] .klock-pop__panel,html[data-perf=low] .kk-pop__backdrop,html[data-perf=low] .kk-pop__panel{-webkit-backdrop-filter:none!important}:where(.explorer-pop,.klock-pop,.kk-pop,.explorer-pop__panel,.klock-pop__panel,.kk-pop__panel,.explorer-pop__close,.klock-pop__close,.kk-pop__close){transition-delay:0s!important;animation-delay:0s!important}.topbar-live{justify-content:flex-end;align-items:center;gap:clamp(6px,1.8vw,12px);width:max-content;max-width:76vw;min-height:38px;padding:clamp(4px,1.2vw,6px) clamp(8px,2.2vw,12px);display:inline-flex;min-width:0!important}.live-scroll{-webkit-overflow-scrolling:auto;scrollbar-width:none;scroll-behavior:auto;align-items:center;min-width:0;max-width:100%;display:inline-flex;overflow:visible}.live-orb{flex:none}.live-text{white-space:nowrap;gap:clamp(6px,1.8vw,12px);min-width:0;line-height:1;display:inline-flex;overflow:visible;flex-direction:row!important;align-items:baseline!important}.live-title,.live-meta{white-space:nowrap;font-variant-numeric:tabular-nums;text-transform:uppercase;align-items:baseline;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,SF Mono,Consolas,Liberation Mono,Courier New,monospace;line-height:1;display:inline-flex}.live-title{letter-spacing:clamp(.04em,.55vw,.14em);font-size:clamp(7px,1.9vw,13px)}.live-meta{letter-spacing:clamp(.03em,.5vw,.12em);opacity:.86;font-size:clamp(6px,1.7vw,12px)}@media (max-width:560px){.topbar-live{max-width:84vw}.live-scroll{margin-right:-2px}}.live-meta{min-width:0;text-overflow:unset;overflow:visible}@media (max-width:420px){.topbar-live{gap:8px;max-width:70vw}.live-text{gap:8px}}:root{--nav-max-h-mobile:clamp(220px,40svh,380px);--writ-max-h-mobile:clamp(72px,14svh,140px)}@supports not (height:1svh){:root{--nav-max-h-mobile:clamp(220px,40vh,380px);--writ-max-h-mobile:clamp(72px,14vh,140px)}}.nav-writ-slot{background:linear-gradient(#0a143000,#0a14302e);border-top:1px solid #ffffff0f;flex:none;width:100%;min-width:0;min-height:0}@media (max-width:980px){.app-workspace{grid-template-rows:auto max-content minmax(0,1fr)}.app-nav{height:auto;max-height:var(--nav-max-h-mobile);align-self:start;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:0!important;overflow:hidden auto!important}.nav-list{flex:none;padding-bottom:.7rem!important}.nav-writ-slot{max-height:var(--writ-max-h-mobile);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow:auto}.nav-writ-slot .nav-foot{margin-top:0!important;margin-bottom:0!important;padding:.68rem .9rem .78rem!important}.nav-writ-slot .nav-foot__line{font-size:.74rem;line-height:1.25}.app-panel{align-self:stretch;height:100%;min-height:0}}.nav-writ-slot{flex-direction:column;min-height:0;display:flex}.nav-writ-slot .nav-foot{background:0 0;border-top:0;margin-top:0}@media (min-width:981px){.nav-writ-slot{margin-top:auto}.nav-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#aaf1ff2e transparent;flex:auto;min-height:0;overflow:auto}.nav-list::-webkit-scrollbar{width:10px}.nav-list::-webkit-scrollbar-track{background:0 0}.nav-list::-webkit-scrollbar-thumb{background:#aaf1ff2e padding-box padding-box;border:2px solid #0000;border-radius:999px}.nav-list::-webkit-scrollbar-thumb:hover{background:#aaf1ff47}}@media (max-width:980px){.nav-writ-slot{margin-top:0}}@media (max-width:980px) and (max-height:740px){:root{--nav-max-h-mobile:clamp(190px,36svh,320px);--writ-max-h-mobile:clamp(64px,12svh,120px)}}@supports not (height:1svh){@media (max-width:980px) and (max-height:740px){:root{--nav-max-h-mobile:clamp(190px,36vh,320px);--writ-max-h-mobile:clamp(64px,12vh,120px)}}}@media (min-width:981px){.app-shell[data-roomy="1"] .app-nav{align-self:start;height:auto;max-height:none}}.kai-splash{z-index:2147483646;width:100dvw;height:100dvh;padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);background:radial-gradient(900px circle at 50% 42%,#78d2ff1f,#0000 62%),radial-gradient(1200px circle at 50% 55%,#aa78ff1a,#0000 70%),var(--bg-0,#040f24);-webkit-font-smoothing:antialiased;isolation:isolate;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.kai-splash[data-state=show]{opacity:1}.kai-splash[data-state=fade]{opacity:0;pointer-events:none;transition:opacity .26s}.kai-splash[data-state=hidden]{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.kai-splash[data-state=fade]{transition-duration:.14s}}.kai-splash__grid{opacity:.18;pointer-events:none;background-image:linear-gradient(90deg,#ffffff0e 1px,#0000 1px),linear-gradient(#ffffff0e 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0 55%,#0000 72%);mask-image:radial-gradient(circle at 50% 45%,#000 0 55%,#0000 72%)}.kai-splash__content{aspect-ratio:1;place-items:center;width:min(84vw,320px);display:grid;position:relative}.kai-splash__badge{aspect-ratio:1;isolation:isolate;border-radius:9999px;place-items:center;width:clamp(160px,44vw,240px);display:grid;position:relative}.kai-splash__badge-halo,.kai-splash__badge-glow{pointer-events:none;border-radius:9999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(0)}.kai-splash__badge-halo{opacity:.85;background:radial-gradient(circle,#78d2ff42 0%,#78d2ff1a 34%,#0000 68%);width:138%;height:138%}.kai-splash__badge-glow{opacity:.65;mix-blend-mode:screen;background:radial-gradient(circle,#aa78ff38 0%,#aa78ff14 38%,#0000 70%);width:110%;height:110%}.kai-splash__rays{opacity:.35;background:conic-gradient(#ffffff2e,#fff0 14%,#ffffff1f 28%,#fff0 42%,#ffffff29 56%,#fff0 70%,#ffffff1f 84%,#fff0 100%);border-radius:9999px;position:absolute;inset:-12%;-webkit-mask-image:radial-gradient(circle,#0000 0 55%,#000 60% 72%,#0000 78%);mask-image:radial-gradient(circle,#0000 0 55%,#000 60% 72%,#0000 78%)}.kai-splash__badge-core{aspect-ratio:1;background:radial-gradient(circle at 30% 30%,#ffffff1f,#ffffff08 50%,#0003 100%);border:1px solid #ffffff24;border-radius:9999px;place-items:center;width:56%;display:grid;position:relative;box-shadow:0 10px 30px #00000047}.kai-splash__phi{filter:drop-shadow(0 0 10px #78d2ff8c)drop-shadow(0 0 22px #aa78ff38);width:62%;height:auto;display:block;transform:translateZ(0)}.kai-splash__badge-orb{aspect-ratio:1;opacity:.9;background:radial-gradient(circle,#ffffff38,#fff0 62%);border-radius:9999px;width:22%;position:absolute;top:26%;left:62%}.kai-splash__badge-core-shine{pointer-events:none;background:radial-gradient(circle at 30% 22%,#ffffff38,#fff0 58%);border-radius:9999px;position:absolute;inset:0}.kai-splash__ring{opacity:.55;border:1px solid #ffffff24;border-radius:9999px;position:absolute;inset:-6%}.kai-splash__ring--inner{opacity:.45;border-color:#ffffff1a;inset:6%}.kai-splash__flare{opacity:.35;background:radial-gradient(circle at 50% 45%,#ffffff29,#0000 62%);border-radius:9999px;position:absolute;inset:-18%;-webkit-mask-image:radial-gradient(circle,#000 0 62%,#0000 78%);mask-image:radial-gradient(circle,#000 0 62%,#0000 78%)}@media (prefers-reduced-motion:no-preference){.kai-splash__rays{animation:3.6s linear infinite kai-splash-spin}.kai-splash__badge-glow{animation:2.2s ease-in-out infinite kai-splash-breathe}}@keyframes kai-splash-spin{to{transform:translateZ(0)rotate(360deg)}}.kai-splash__grid{-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0 55%,#0000 72%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.kai-splash__rays{will-change:transform;overflow:hidden;transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#0000 0 55%,#000 60% 72%,#0000 78%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.kai-splash__flare{overflow:hidden;transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#000 0 62%,#0000 78%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@supports (-webkit-touch-callout:none){.kai-splash__badge-glow{mix-blend-mode:normal}.kai-splash__phi{filter:none!important}.kai-splash__badge-core{box-shadow:0 10px 30px #00000047,0 0 18px #78d2ff57,0 0 44px #aa78ff2e}}:root{--kai-breath:5.236s;--kai-breath-ease:cubic-bezier(.37,0,.63,1);--kai-ink:var(--ink,#e9fbff);--kai-bg-0:var(--bg-0,#02030a);--kai-bg-1:var(--bg-1,#03091b);--kai-bg-2:var(--bg-2,#040f24);--kai-cyan:var(--accent-cyan,#33f6ff);--kai-teal:var(--accent-teal,#26ffc4);--kai-violet:var(--accent-violet,#9b5bff);--kai-safe-bottom:env(safe-area-inset-bottom,0px);--kai-safe-top:env(safe-area-inset-top,0px)}.mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.nav-foot{margin-top:6px}.nav-foot__toggle{width:100%;color:var(--kai-ink);cursor:pointer;isolation:isolate;will-change:transform,box-shadow,border-color;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:radial-gradient(820px 210px at 24% 0,#33f6ff2e,#0000 60%),radial-gradient(760px 240px at 92% 18%,#9b5bff1a,#0000 62%),linear-gradient(#0c1430d6,#030610e0);border:1px solid #78dcff38;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:7px 10px;transition:border-color .18s,box-shadow .18s,transform .12s;display:grid;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 14px 46px #0009,inset 0 1px #ffffff0f}.nav-foot__toggle:before{content:"";filter:blur(10px);opacity:.56;z-index:0;pointer-events:none;will-change:opacity,transform;animation:navAuroraSpin 26.18s linear infinite,navBreathAurora var(--kai-breath)var(--kai-breath-ease)infinite;background:conic-gradient(from 180deg,#33f6ff00,#33f6ff42,#26ffc429,#9b5bff38,#33f6ff00);border-radius:18px;position:absolute;inset:-2px;transform:translateZ(0)}.nav-foot__toggle:after{content:"";opacity:.12;z-index:1;pointer-events:none;will-change:opacity,transform;animation:navBreathSheen var(--kai-breath)var(--kai-breath-ease)infinite;background:linear-gradient(110deg,#fff0 0%,#ffffff1a 18%,#33f6ff1a 26%,#fff0 44%);border-radius:13px;position:absolute;inset:0;transform:translateZ(0)translate(-62%)skew(-14deg)}.nav-foot__toggle:hover{border-color:#78dcff61;box-shadow:0 18px 58px #000000a8,0 0 0 1px #33f6ff1f,inset 0 1px #ffffff12}.nav-foot__toggle:hover:after{animation:.9s ease-out forwards navShimmer}.nav-foot__toggle:active{transform:translateY(1px)translateZ(0)}.nav-foot__toggle:focus-visible{outline-offset:3px;outline:2px solid #33f6ffeb}.nav-foot__badge{z-index:2;will-change:box-shadow;width:28px;height:28px;animation:navBreathBadge var(--kai-breath)var(--kai-breath-ease)infinite;background:radial-gradient(circle at 30% 30%,#33f6ff3d,#0000 62%),linear-gradient(#0a0e20c2,#00000038);border:1px solid #33f6ff42;border-radius:11px;place-items:center;display:grid;position:relative;transform:translateZ(0);box-shadow:0 10px 26px #0000007a,inset 0 1px #ffffff14}.nav-foot__badge:after{content:"";opacity:.9;pointer-events:none;border:1px solid #9b5bff33;border-radius:9px;position:absolute;inset:4px}.nav-foot__main{z-index:2;gap:1px;min-width:0;display:grid}.nav-foot__kicker{letter-spacing:.18em;text-transform:uppercase;opacity:.92;font-size:9px;line-height:1}.nav-foot__summary{opacity:.82;white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:normal;min-width:0;font-size:11.25px;line-height:1.08;overflow:visible}.nav-foot__chev{z-index:2;letter-spacing:.1em;text-transform:uppercase;opacity:.95;background:radial-gradient(220px 54px at 30% 0,#9b5bff2e,#0000 70%),linear-gradient(#9b5bff1a,#0000);border:1px solid #9b5bff3d;border-radius:12px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:inline-flex;box-shadow:0 10px 24px #00000075,inset 0 1px #ffffff0f}.nav-foot__chevIcon{opacity:.92;place-items:center;display:grid}.nav-foot__chevIcon svg{width:14px;height:14px}.nav-foot__toggle:hover .nav-foot__chevIcon{transition:transform .16s;transform:translate(1px)}@media (max-width:380px){.nav-foot__toggle{gap:8px;padding:6px 9px}.nav-foot__badge{width:26px;height:26px}.nav-foot__kicker{font-size:8.5px}.nav-foot__summary{font-size:11px}.nav-foot__chev{padding:4px 7px;font-size:9.75px}}.nav-footSheet{z-index:90;overscroll-behavior:none;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.nav-footSheet__backdrop{opacity:.96;will-change:opacity;animation:navBreathBackdrop var(--kai-breath)var(--kai-breath-ease)infinite;cursor:default;background:radial-gradient(1400px 900px at 50% 18%,#33f6ff1a,#0000 58%),radial-gradient(900px 650px at 70% 30%,#9b5bff14,#0000 62%),#000000a8;border:0;margin:0;padding:0;position:absolute;inset:0;transform:translateZ(0)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav-footSheet__backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.nav-footSheet__panel{opacity:0;will-change:transform,opacity,box-shadow,border-color;width:min(780px,92vw);max-height:min(78dvh,820px);animation:navVaultIn .22s cubic-bezier(.2,.9,.2,1)forwards,navBreathPanel var(--kai-breath)var(--kai-breath-ease).22s infinite;isolation:isolate;background:radial-gradient(1100px 520px at 18% 0,#33f6ff29,#0000 60%),radial-gradient(940px 420px at 92% 18%,#9b5bff1f,#0000 62%),linear-gradient(#0a0e20f0,#02030af2);border:1px solid #78dcff38;border-radius:22px;position:relative;overflow:hidden;transform:translateY(10px)scale(.985)translateZ(0);box-shadow:0 34px 120px #000000bd,0 0 0 1px #33f6ff1a,inset 0 1px #ffffff0f}.nav-footSheet__panel:before{content:"";filter:blur(20px);opacity:.8;z-index:0;pointer-events:none;will-change:opacity,transform;animation:navAuroraSpin 26.18s linear infinite,navBreathAurora var(--kai-breath)var(--kai-breath-ease)infinite;background:conic-gradient(from 180deg,#33f6ff00,#33f6ff38,#26ffc424,#9b5bff33,#33f6ff00);border-radius:24px;position:absolute;inset:-2px;transform:translateZ(0)}.nav-footSheet__panel:after{content:"";z-index:1;pointer-events:none;opacity:.58;mix-blend-mode:screen;will-change:opacity;animation:navBreathGrid var(--kai-breath)var(--kai-breath-ease)infinite;background:linear-gradient(#33f6ff0f 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#9b5bff0d 1px,#0000 1px) 0 0/28px 28px,repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 3px 7px),linear-gradient(#fff0 0%,#33f6ff1a 46%,#fff0 70%) 0 -120%/100% 220%;border-radius:22px;position:absolute;inset:0;transform:translateZ(0)}.nav-footSheet__head{z-index:2;background:radial-gradient(700px 90px at 20% 0,#33f6ff1a,#0000 70%),linear-gradient(#ffffff0a,#0000);border-bottom:1px solid #78dcff24;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.nav-footSheet__title{letter-spacing:.18em;text-transform:uppercase;color:var(--kai-ink);opacity:.98;align-items:center;gap:8px;font-size:12px;display:inline-flex}.nav-footSheet__sub{opacity:.78;color:var(--kai-ink);overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:1.25}.nav-footSheet__close{width:40px;height:40px;color:var(--kai-ink);cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;will-change:transform,box-shadow,border-color;animation:navXBreath var(--kai-breath)var(--kai-breath-ease)infinite,navXSheen calc(var(--kai-breath)*2)linear infinite;background:radial-gradient(220px 60px at 30% 0,#33f6ff24,#0000 72%),radial-gradient(180px 80px at 90% 30%,#9b5bff1f,#0000 70%),conic-gradient(from 180deg,#33f6ff00,#33f6ff24,#26ffc41a,#9b5bff24,#33f6ff00),linear-gradient(#ffffff0f,#0000002e),linear-gradient(110deg,#fff0 0%,#ffffff1f 22%,#33f6ff1a 30%,#fff0 46%) 0 55%/220% 220%;border:1px solid #78dcff29;border-radius:15px;place-items:center;display:grid;position:relative;transform:translateZ(0);box-shadow:0 14px 34px #00000094,0 0 0 1px #33f6ff14,inset 0 1px #ffffff12}.nav-footSheet__close:before,.nav-footSheet__close:after{content:"";transform-origin:50%;opacity:.92;filter:drop-shadow(0 0 10px #33f6ff33)drop-shadow(0 0 18px #9b5bff24);will-change:opacity;width:18px;height:2px;animation:navXLines var(--kai-breath)var(--kai-breath-ease)infinite;background:linear-gradient(90deg,#fff3,#33f6ffeb,#9b5bffdb,#fff3);border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.nav-footSheet__close:after{transform:translate(-50%,-50%)rotate(-45deg)}.nav-footSheet__close:hover{filter:saturate(1.06)brightness(1.04);border-color:#78dcff47;transform:translateY(-1px)rotate(.35deg)translateZ(0);box-shadow:0 18px 44px #000000a8,0 0 46px #33f6ff14,0 0 36px #9b5bff0f,inset 0 1px #ffffff14}.nav-footSheet__close:hover:before{transform:translate(-50%,-50%)rotate(49deg)}.nav-footSheet__close:hover:after{transform:translate(-50%,-50%)rotate(-49deg)}.nav-footSheet__close:active{filter:brightness(1.02);transform:translateY(0)rotate(0)translateZ(0)}.nav-footSheet__close:focus-visible{outline-offset:3px;outline:2px solid #33f6ffeb}.nav-footSheet__body{z-index:2;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#33f6ff38 #0003;gap:12px;max-height:calc(min(78dvh,820px) - 120px);padding:16px;display:grid;position:relative;overflow:auto}.nav-footSheet__body::-webkit-scrollbar{width:10px}.nav-footSheet__body::-webkit-scrollbar-track{background:#0000002e;border-radius:12px}.nav-footSheet__body::-webkit-scrollbar-thumb{background:linear-gradient(#33f6ff47,#9b5bff2e);border:2px solid #00000040;border-radius:12px}.nav-foot__line{color:var(--kai-ink);opacity:.95;will-change:border-color;animation:navBreathCard var(--kai-breath)var(--kai-breath-ease)infinite;background:radial-gradient(560px 170px at 22% 0,#33f6ff1c,#0000 72%),radial-gradient(520px 150px at 92% 12%,#9b5bff12,#0000 76%),linear-gradient(#ffffff08,#0000);border:1px solid #78dcff24;border-radius:16px;margin:0;padding:12px;font-size:13.5px;line-height:1.5;transform:translateZ(0);box-shadow:0 14px 34px #00000070,inset 0 1px #ffffff0d}.nav-foot__line--fine{opacity:.8;font-size:12.5px}.nav-footSheet__divider{opacity:.75;background:linear-gradient(90deg,#33f6ff00,#33f6ff2e,#9b5bff29,#33f6ff00);border-radius:999px;height:1px;margin:2px}.nav-footSheet__foot{z-index:2;padding:12px 16px calc(16px + var(--kai-safe-bottom));background:radial-gradient(700px 90px at 30% 0,#33f6ff14,#0000 70%),linear-gradient(#0000,#ffffff0a);border-top:1px solid #78dcff24;justify-content:flex-end;gap:10px;display:flex;position:relative}.nav-footSheet__cta{cursor:pointer;color:var(--kai-ink);animation:navBreathCTA var(--kai-breath)var(--kai-breath-ease)infinite;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:radial-gradient(360px 70px at 20% 0,#33f6ff2e,#0000 72%),linear-gradient(#33f6ff1a,#0000);border:1px solid #33f6ff42;border-radius:16px;padding:10px 14px;transition:border-color .16s,transform .12s,box-shadow .16s;box-shadow:0 16px 38px #0000008f,inset 0 1px #ffffff0f}.nav-footSheet__cta:hover{border-color:#33f6ff70;box-shadow:0 18px 46px #0000009e,0 0 46px #33f6ff14,inset 0 1px #ffffff0f}.nav-footSheet__cta:active{transform:translateY(1px)}.nav-footSheet__cta:focus-visible{outline-offset:3px;outline:2px solid #33f6ffeb}@media (max-width:520px){.nav-footSheet{padding:14px}.nav-footSheet__panel{width:min(780px,96vw);max-height:min(82dvh,820px)}.nav-footSheet__body{max-height:calc(min(82dvh,820px) - 120px);padding:14px}.nav-foot__line{padding:11px;font-size:13px}}@keyframes navVaultIn{to{opacity:1;transform:translateY(0)scale(1)translateZ(0)}}@keyframes navAuroraSpin{to{transform:rotate(360deg)translateZ(0)}}@keyframes navShimmer{0%{opacity:0;transform:translate(-70%)skew(-14deg)}20%{opacity:.75}to{opacity:0;transform:translate(140%)skew(-14deg)}}@keyframes navBreathPanel{0%{border-color:#78dcff2e;box-shadow:0 34px 120px #000000bd,0 0 0 1px #33f6ff14,inset 0 1px #ffffff0f}50%{border-color:#78dcff4d;box-shadow:0 40px 140px #000c,0 0 0 1px #33f6ff29,0 0 70px #33f6ff1a,inset 0 1px #ffffff14}to{border-color:#78dcff2e;box-shadow:0 34px 120px #000000bd,0 0 0 1px #33f6ff14,inset 0 1px #ffffff0f}}@keyframes navBreathAurora{0%{opacity:.7}50%{opacity:.98}to{opacity:.7}}@keyframes navBreathGrid{0%{opacity:.46}50%{opacity:.72}to{opacity:.46}}@keyframes navBreathSheen{0%{opacity:.06;transform:translate(-62%)skew(-14deg)}50%{opacity:.14;transform:translate(-40%)skew(-14deg)}to{opacity:.06;transform:translate(-62%)skew(-14deg)}}@keyframes navBreathBadge{0%{box-shadow:0 10px 26px #0000007a,inset 0 1px #ffffff14}50%{box-shadow:0 14px 34px #00000094,0 0 30px #33f6ff1f,inset 0 1px #ffffff1a}to{box-shadow:0 10px 26px #0000007a,inset 0 1px #ffffff14}}@keyframes navBreathCard{0%{border-color:#78dcff1f}50%{border-color:#78dcff2e}to{border-color:#78dcff1f}}@keyframes navBreathCTA{0%{box-shadow:0 16px 38px #0000008f,inset 0 1px #ffffff0f}50%{box-shadow:0 18px 44px #0000009e,0 0 24px #33f6ff33,inset 0 1px #ffffff14}to{box-shadow:0 16px 38px #0000008f,inset 0 1px #ffffff0f}}@keyframes navBreathBackdrop{0%{opacity:.94}50%{opacity:1}to{opacity:.94}}@keyframes navScanline{0%{background-position:0 0,0 0,0 0,0 -120%}50%{background-position:0 0,0 0,0 0,0 20%}to{background-position:0 0,0 0,0 0,0 140%}}@keyframes navXBreath{0%{border-color:#78dcff24;box-shadow:0 14px 34px #00000094,0 0 0 1px #33f6ff0f,inset 0 1px #ffffff12}50%{border-color:#78dcff3d;box-shadow:0 18px 44px #000000a8,0 0 52px #33f6ff1a,0 0 36px #9b5bff14,inset 0 1px #ffffff17}to{border-color:#78dcff24;box-shadow:0 14px 34px #00000094,0 0 0 1px #33f6ff0f,inset 0 1px #ffffff12}}@keyframes navXSheen{0%{background-position:0 0,0 0,0 0,0 0,0 55%}50%{background-position:0 0,0 0,0 0,0 0,120% 35%}to{background-position:0 0,0 0,0 0,0 0,240% 55%}}@keyframes navXLines{0%{opacity:.84}50%{opacity:1}to{opacity:.84}}@media (prefers-reduced-motion:reduce){.nav-footSheet__panel,.nav-foot__toggle:before,.nav-foot__toggle:after,.nav-footSheet__panel:before,.nav-footSheet__panel:after,.nav-foot__badge,.nav-foot__line,.nav-footSheet__cta,.nav-footSheet__backdrop,.nav-footSheet__close,.nav-footSheet__close:before,.nav-footSheet__close:after{animation:none!important}.nav-footSheet__panel{opacity:1;transform:none}.nav-foot__toggle:hover:after{animation:none!important}.nav-footSheet__close:hover{transform:none}}.nav-foot__phiLogo{width:18px;height:18px;display:block}.nav-footSheet__phiLogo{vertical-align:-3px;width:18px;height:18px;display:inline-block}.hp-price-card{-webkit-tap-highlight-color:transparent;background:linear-gradient(#0a1214cc,#0a121499);border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:4px;padding:5px;transition:transform .18s,box-shadow .18s,border-color .18s,filter .18s;display:flex;position:relative;box-shadow:0 10px 30px #00000038,inset 0 0 0 1px #ffffff08}.hp-price-card:focus-within{border-color:#37ffe447;box-shadow:0 16px 44px #37ffe424,inset 0 0 0 1px #37ffe438}.hp-head{align-items:center;gap:4px;min-height:22px;display:flex}.hp-title{letter-spacing:.01em;align-items:center;gap:4px;font-size:.7rem;font-weight:700;line-height:1;display:flex}.hp-spacer{flex:1}.hp-cta{opacity:.95;cursor:pointer;background:#37ffe414;border:1px solid #37ffe447;border-radius:6px;padding:2px 6px;font-size:.72rem;font-weight:700;line-height:1}.hp-cta:disabled{opacity:.6;cursor:not-allowed}.hp-chart{background:linear-gradient(#080e10a6,#080e1073);border:1px dashed #37ffe433;border-radius:6px;overflow:hidden}.hp-chart:focus{outline:none}.hp-foot{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hp-caption{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.hp-caption .dim{opacity:.8;font-size:10px}.chip{font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;padding:2px 6px;font-size:.82rem;line-height:1.1}.chip.active{background:#37ffe41a;border-color:#37ffe461}.chip.ghost{border-style:dashed}.hp-note{opacity:.8;margin-left:auto;font-size:10px}.hp-error{color:#ffb4b4;background:#ff000014;border:1px solid #ff000040;border-radius:6px;margin-top:4px;padding:6px;font-size:.86rem}.hp-toast{background:#37ffe414;border:1px solid #37ffe447;border-radius:8px;align-items:center;gap:6px;margin-top:6px;padding:6px;font-size:.9rem;display:flex}.hp-dot{background:#37ffe4;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 12px #37ffe4b3}.hp-checkout{background:linear-gradient(#080e10bf,#080e1099);border:1px solid #ffffff1f;border-radius:10px;margin-top:6px;box-shadow:0 12px 36px #0000003d,inset 0 0 0 1px #ffffff05}.hp-checkout-head{border-bottom:1px dashed #37ffe440;align-items:center;gap:6px;padding:6px 8px;display:flex}.hp-checkout-title{letter-spacing:.01em;font-size:.88rem;font-weight:700;line-height:1}.hp-x{color:#e8fbf8;cursor:pointer;opacity:.85;background:0 0;border:0;border-radius:6px;margin-left:auto;padding:1px 4px;font-size:15px;line-height:1}.hp-x:hover{opacity:1;background:#ffffff0f}.hp-checkout-body{padding:8px}.hp-payment{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:8px}.hp-primary{cursor:pointer;background:#37ffe41a;border:1px solid #37ffe452;border-radius:8px;padding:6px 10px;font-weight:700}.hp-primary:disabled{opacity:.65;cursor:not-allowed}.hp-secondary{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:8px;padding:6px 10px}.hp-fine{opacity:.85;margin-top:6px;font-size:10px}.hp-price-card{gap:2px;padding:4px}.hp-head{gap:3px;min-height:18px;margin-bottom:2px}.hp-title{letter-spacing:.005em;gap:3px;font-size:.62rem;line-height:1}.hp-cta{border-radius:6px;padding:1px 6px;font-size:.68rem}.hp-chart{border-width:1px;border-radius:6px;margin-top:2px}.hp-foot{gap:4px}.hp-caption{gap:3px}.hp-caption .dim{font-size:9.5px}.chip{padding:2px 5px;font-size:.78rem;line-height:1.05}.hp-error{padding:5px;font-size:.82rem}.hp-toast{gap:5px;padding:5px;font-size:.86rem}.hp-dot{width:6px;height:6px}.hp-chart .kpc-live-strip,.hp-chart .kpc-header,.hp-chart .kpc-legend{gap:4px;margin-top:-2px}.hp-chart .kpc-price,.hp-chart .kpc-price-amount,.hp-chart .kpc-price-badge{border-radius:8px;padding:2px 6px;font-size:.9rem;line-height:1}.hp-chart .kpc-delta,.hp-chart .kpc-percent,.hp-chart .kpc-pulse,.hp-chart .kpc-subtle{opacity:.9;font-size:.72rem}.hp-chart .kpc-tooltip,.hp-chart .kpc-value-bubble{border-radius:10px;padding:4px 6px;font-size:.82rem;transform:translateY(-2px)}.hp-chart .kpc-axis,.hp-chart .kpc-tick,.hp-chart .kpc-grid-label{opacity:.85;font-size:10px}.hp-checkout{margin-top:6px}@media (max-width:680px){.hp-note{display:none}}.hp-card{--ink:#e8fbf8;--dim:#aee8df;--line:#ffffff1f;--line-strong:#fff3;--up:#28c76f;--down:#ff4d4f;--accent:#37ffe4;--accent-2:#a78bfa;--bg:#070b0e;--bg2:#0a0f12;color:var(--ink);-webkit-user-select:none;user-select:none;background:0 0;border-radius:12px;overflow:visible}.hp-ticker{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:linear-gradient(#ffffff0f,#ffffff05);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 12px;transition:border-color .2s,background .2s,transform .1s;display:flex}.hp-ticker:hover{border-color:var(--line-strong)}.hp-ticker:active{transform:translateY(1px)}.hp-left{align-items:center;gap:8px;display:flex}.hp-title{letter-spacing:.15px;opacity:.9;font-weight:600}.phi-badge{justify-content:center;align-items:center;display:inline-flex}.hp-right{align-items:baseline;gap:10px;display:flex}.hp-price{font-variant-numeric:tabular-nums;font-weight:700}.hp-pct{font-variant-numeric:tabular-nums;opacity:.9;font-weight:600}.hp-pct.hp-up{color:var(--up)}.hp-pct.hp-down{color:var(--down)}.hp-expand{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#080e10bf,#080e108c);border-radius:12px;margin-top:10px;padding:12px}.hp-chart{width:100%}.hp-controls{grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:10px;display:grid}.hp-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dim{color:var(--dim);margin-right:4px;font-size:12px}.chip{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:999px;padding:6px 10px;font-size:12px}.chip:hover{border-color:var(--line-strong)}.chip.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)inset}.chip.ghost{opacity:.9}.hp-actions-row{gap:8px;display:flex}.hp-primary{cursor:pointer;background:radial-gradient(120% 140% at 0% 0%,var(--accent)0%,#37ffe433 60%,transparent 100%),linear-gradient(90deg,#37ffe440,#a78bfa40);color:#031a17;border:0;border-radius:10px;padding:8px 14px;font-weight:700}.hp-primary:hover{filter:brightness(1.08)}.hp-min{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff08;border-radius:10px;padding:8px 12px}.hp-min:hover{border-color:var(--line-strong)}.hp-popover{border:1px solid var(--line);background:linear-gradient(#080e10e6,#080e10bf);border-radius:12px;margin-top:10px;padding:10px;position:relative}.hp-pop-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.hp-pop-title{font-weight:700}.hp-x{appearance:none;color:var(--ink);cursor:pointer;opacity:.8;background:0 0;border:0;font-size:20px;line-height:1}.hp-x:hover{opacity:1}.hp-payment{margin:8px 0}.hp-actions{gap:8px;margin-top:8px;display:flex}.hp-secondary{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff08;border-radius:10px;padding:8px 12px}.hp-secondary:hover{border-color:var(--line-strong)}.hp-error{color:#ffb4b4;margin-top:8px;font-size:12px}.hp-fine{color:var(--dim);margin-top:6px;font-size:11.5px}.hp-toast{color:var(--ink);opacity:.95;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:inline-flex}.hp-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%}@media (max-width:520px){.hp-controls{grid-template-columns:1fr}.hp-actions-row{justify-content:flex-start}}.hp-ticker .phi-logo{--phi-s:5.236s;--phi-size:18px;--halo:.35;width:var(--phi-size);height:var(--phi-size);vertical-align:-2px;isolation:isolate;margin-right:8px;display:inline-block;position:relative}.hp-ticker .phi-logo .phi-core,.hp-ticker .phi-logo .phi-glow{pointer-events:none;display:block;position:absolute;inset:0}.hp-ticker .phi-logo .phi-core{filter:saturate(1.05)brightness(1.05)contrast(1.02)hue-rotate();opacity:.92;animation:phiHue 120s linear infinite,phiBreathe var(--phi-s)ease-in-out infinite alternate;background:conic-gradient(#f36,#ff9a00,#ffe600,#1dd07a,#00b8ff,#7a4dff,#ff33d1,#f36);transform:scale(1);-webkit-mask-image:url(/assets/phi.svg);mask-image:url(/assets/phi.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hp-ticker .phi-logo .phi-glow{filter:blur(1.2px);opacity:var(--halo);animation:phiGlow var(--phi-s)ease-in-out infinite alternate;background:radial-gradient(50% 50%,#37ffe426 0%,#a78bfa1a 35%,#0000 70%);transform:scale(.98)}.hp-ticker .phi-logo .phi-fallback{width:var(--phi-size);height:var(--phi-size);opacity:.92;display:inline-block}@supports ((-webkit-mask:url("")) or (mask:url(""))){.hp-ticker .phi-logo .phi-fallback{display:none}}@media (prefers-reduced-motion:reduce){.hp-ticker .phi-logo .phi-core,.hp-ticker .phi-logo .phi-glow{animation:none}}@keyframes phiBreathe{0%{transform:scale(.985)}to{transform:scale(1.015)}}@keyframes phiGlow{0%{opacity:calc(var(--halo)*.85)}to{opacity:calc(var(--halo)*1.05)}}@keyframes phiHue{0%{filter:saturate(1.05)brightness(1.05)contrast(1.02)hue-rotate()}to{filter:saturate(1.05)brightness(1.05)contrast(1.02)hue-rotate(1turn)}}.hp-ticker .hp-left{align-items:center;gap:8px;display:inline-flex}.hp-chart{padding-bottom:10px;overflow:visible!important}.hp-chart svg{overflow:visible!important}.hp-chart .kpc-axis,.hp-chart .kpc-tick,.hp-chart .kpc-grid-label,.hp-chart .recharts-cartesian-axis-tick text{font-variant-numeric:tabular-nums;letter-spacing:.06em;paint-order:stroke fill;stroke:#030818d9;stroke-width:3px;stroke-linejoin:round}@media (max-width:520px){.hp-chart{padding-bottom:14px}.hp-chart .kpc-axis,.hp-chart .kpc-tick,.hp-chart .kpc-grid-label,.hp-chart .recharts-cartesian-axis-tick text{opacity:.92;font-size:10px!important}.hp-chart .recharts-cartesian-axis-tick:nth-child(odd){display:none!important}.hp-chart .recharts-cartesian-axis-tick:last-child{display:block!important}.hp-chart .kpc-tick:nth-child(odd){display:none!important}.hp-chart .kpc-tick:last-child{display:inline!important}}.hp-phi-icon{vertical-align:-.12em;filter:drop-shadow(0 0 10px #37ffe438);width:20px;height:20px;margin-left:2px;display:inline-block}.hp-price-row{align-items:center;gap:4px;display:inline-flex}.hp-price-slash{opacity:.9}.hp-title{letter-spacing:.02em;isolation:isolate;align-items:baseline;font-weight:860;line-height:1.05;display:inline-flex;position:relative}.hp-titleText{color:#0000;-webkit-text-fill-color:transparent;background-blend-mode:overlay;text-shadow:0 0 .06em #ffffff47,0 0 .22em #78fff042,0 0 .58em #7882ff29;filter:saturate(1.55)brightness(1.05)drop-shadow(0 0 .36em #78fff029)drop-shadow(0 0 .72em #7882ff1f)drop-shadow(0 0 1.02em #ff50be1a);transform-origin:0;will-change:background-position,filter,text-shadow,transform;background-image:repeating-linear-gradient(115deg,#ffffff24 0 1px,#fff0 1px 8px),linear-gradient(115deg,#ff50befa 0%,#7882fffa 18%,#50dcfffa 36%,#78ffd2fa 54%,#fff578f5 72%,#ff8246f5 86%,#ff50befa 100%);background-position:0 0,0%;background-size:120% 120%,320% 320%;-webkit-background-clip:text;background-clip:text;animation:5.236s ease-in-out infinite hpTitleBreath,13.09s linear infinite hpTitleDrift;display:inline-block}@keyframes hpTitleBreath{0%{filter:saturate(1.45)brightness(1.02)drop-shadow(0 0 .3em #78fff01f)drop-shadow(0 0 .62em #7882ff1a);transform:translateZ(0)scale(1)}38.2%{filter:saturate(1.62)brightness(1.1)drop-shadow(0 0 .42em #78fff02e)drop-shadow(0 0 .86em #7882ff24);transform:translateZ(0)scale(1.01)}61.8%{filter:saturate(1.76)brightness(1.16)drop-shadow(0 0 .54em #78fff038)drop-shadow(0 0 1.02em #7882ff2e);transform:translateZ(0)scale(1.016)}to{filter:saturate(1.45)brightness(1.02)drop-shadow(0 0 .3em #78fff01f)drop-shadow(0 0 .62em #7882ff1a);transform:translateZ(0)scale(1)}}@keyframes hpTitleDrift{0%{background-position:0 0,0%}50%{background-position:0 0,100%}to{background-position:0 0,0%}}.hp-ticker:hover .hp-titleText,.hp-ticker:focus-visible .hp-titleText{filter:saturate(1.75)brightness(1.1)drop-shadow(0 0 .48em #78fff033)drop-shadow(0 0 .92em #7882ff29)drop-shadow(0 0 1.12em #ff50be1f)}@media (prefers-reduced-motion:reduce){.hp-titleText{animation:none}}*,:before,:after{box-sizing:border-box}:root{--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{min-height:100dvh;color:var(--ink);-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-y;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(1200px 800px at 10% 0,#0b0f2a 0%,#05060a 55%) fixed;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto;display:block}:root{--seal-text:#e8fbf8;--seal-text-dim:#aee8df;--seal-core:#37ffe4;--seal-aura:#11d7ff;--seal-accent-2:#a78bfa;--seal-accent-3:#5ce1ff;--bg:#05060a;--card:#10121ca8;--glass:#121622b8;--border:#ffffff14;--ink:var(--seal-text,#e8ecff);--ink-dim:color-mix(in srgb,var(--seal-text-dim,#aab1d4)92%,#90a7c2 8%);--accent:color-mix(in srgb,var(--seal-core,#78f7ff)100%,transparent);--accent-2:color-mix(in srgb,var(--seal-accent-2,#b98bff)100%,transparent);--accent-3:color-mix(in srgb,var(--seal-accent-3,#4cffb3)100%,transparent);--error:#ff6b7a;--warn:#ffd166;--ok:#4ee89a;--shadow:0 6px 24px #00000073,inset 0 0 0 1px var(--border);--radius:14px;--radius-lg:24px;--pill:999px;--page-pad:clamp(10px,4vw,16px);--modal-pad:clamp(10px,3.5vw,16px);--topbar-h:48px;--kai-pulse:5.236s;--chip-size:clamp(42px,6.7vw,54px);--chip-blur:10px;--chip-badge-h:18px;--chip-badge-pad-x:5px;--chip-tip-bg:#0a0e14e6;--chip-tip-fg:#eaf2ff;--chip-tip-radius:8px;--trend:var(--ink-dim);--trend-up:var(--ok);--trend-down:var(--error);--trend-flat:color-mix(in srgb,var(--ink)66%,transparent);--breath:5.236s;--breath-ease:cubic-bezier(.4,0,.2,1);--phi-c1:#86f0ff;--phi-c2:#a78bfa;--phi-c3:#f0abfc;--phi-focus:0 0 0 2px #ffffff40,0 0 0 8px color-mix(in oklab,var(--phi-c2)45%,var(--phi-c3)35%,white 20%);--phi-shadow:0 10px 28px -14px #000000a6,0 2px 6px -3px #00000080;--badge-neon-1:#00ffc6;--badge-neon-2:#6fe7ff;--badge-neon-3:#19bfff;--badge-ink:#061012}.scroll-x-no-truncate{white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow:auto hidden}.scroll-x-no-truncate::-webkit-scrollbar{display:none}.wrap-anywhere{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.mono{font-variant-numeric:tabular-nums lining-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.verifier-stamper{width:100%;max-width:1100px;padding-inline:var(--page-pad);margin:24px auto 64px;overflow:clip}.toolbar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(#0a0c14a6,#0a0c1440);justify-content:space-between;align-items:center;gap:12px;max-width:100%;margin:0 0 18px;padding:10px 12px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-lockup .glyph{background:conic-gradient(from 0deg at 50% 50%,var(--accent),var(--accent-2),var(--accent-3),var(--accent));width:28px;height:28px;box-shadow:0 0 24px color-mix(in srgb,var(--accent)35%,transparent);border-radius:6px}.toolbar h1{text-transform:uppercase;letter-spacing:.08em;color:#0000;background:conic-gradient(from 180deg at 50% 50%,var(--accent),var(--accent-2),var(--accent-3),var(--accent)),radial-gradient(120% 180% at 10% 0%,color-mix(in srgb,var(--accent)35%,transparent),transparent 60%);-webkit-text-stroke:.55px #ffffff47;text-shadow:0 0 .5px #ffffff59,0 6px 22px color-mix(in srgb,var(--accent)26%,transparent);white-space:nowrap;text-overflow:ellipsis;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(18px,1.4vw + .8rem,26px);font-weight:800;line-height:1.05;animation:14s linear infinite holoShift;overflow:hidden}.toolbar h1:after{content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent)60%,transparent),color-mix(in srgb,var(--accent-2)50%,transparent),transparent);filter:blur(.25px);opacity:.7;width:52%;height:1px;margin-top:4px;display:block}@keyframes holoShift{0%{background-position:0%}to{background-position:200%}}@media (prefers-reduced-motion:reduce){.toolbar h1{animation:none}}.toolbar-actions{border-radius:var(--pill);background:linear-gradient(180deg,#ffffff0f,#ffffff08),radial-gradient(120% 180% at 80% -20%,color-mix(in srgb,var(--accent)14%,transparent),transparent 60%);-webkit-backdrop-filter:blur(10px)saturate(1.15);backdrop-filter:blur(10px)saturate(1.15);border:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:clamp(6px,1vw,10px);padding:4px;display:flex;box-shadow:0 8px 24px #00000059,inset 0 0 0 1px #ffffff0a}.toolbar-actions>*{white-space:nowrap;height:34px;box-shadow:none;border-radius:999px;align-items:center;gap:6px;max-width:100%;display:inline-flex}.toolbar-actions button,.toolbar-actions a{padding:7px 10px;font-size:.78rem;line-height:1}button{appearance:none;cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:10px;padding:10px 14px;font-weight:600;transition:transform 80ms,box-shadow .2s,background .2s,filter .2s}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent)65%,transparent);outline-offset:2px}button.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent)92%,white 0%),color-mix(in srgb,var(--accent)70%,white 0%)40%,color-mix(in srgb,var(--accent-2)70%,white 0%)100%);color:#06121a;text-shadow:0 1px #ffffff59;box-shadow:0 6px 16px color-mix(in srgb,var(--accent)35%,transparent);padding-inline:14px}button.primary:hover{box-shadow:0 10px 22px color-mix(in srgb,var(--accent)45%,transparent);filter:brightness(1.05)}button.secondary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent).16,transparent),color-mix(in srgb,var(--accent-2).14,transparent));border:1px solid color-mix(in srgb,var(--accent)35%,transparent);color:var(--ink);padding-inline:14px}button.secondary:hover{background:color-mix(in srgb,var(--accent).18,transparent);filter:brightness(1.05)}dialog.glass-modal{box-sizing:border-box;inline-size:min(1000px,calc(100vw - (var(--modal-pad)*2)));max-inline-size:calc(100vw - (var(--modal-pad)*2));border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--glass),#0a0c14b3);max-height:calc(100vh - 2*clamp(8px,6vh,24px));box-shadow:0 24px 64px #00000080,inset 0 0 0 1px var(--border);color:var(--ink);border:0;margin-block:clamp(8px,6vh,24px);margin-inline:auto;padding:0;overflow:hidden}dialog.glass-modal::backdrop{background:radial-gradient(900px 600px at 80% -10%,color-mix(in srgb,var(--accent)25%,transparent),transparent 40%),radial-gradient(900px 600px at 10% 110%,color-mix(in srgb,var(--accent-2)18%,transparent),transparent 40%),#00000a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog.glass-modal.fullscreen[data-open=true]{animation:.18s ease-out pop-in}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@supports (width:100dvw){dialog.glass-modal{inline-size:min(1000px,calc(100dvw - (var(--modal-pad)*2)));max-inline-size:calc(100dvw - (var(--modal-pad)*2));max-height:calc(100dvh - 2*clamp(8px,6vh,24px))}}.modal-viewport{flex-direction:column;width:100%;max-width:100%;height:100%;display:flex;overflow:hidden}.modal-topbar{z-index:2;min-height:var(--topbar-h);border-bottom:1px solid var(--border);background:linear-gradient(#0a0c14e6,#0a0c14b3);grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid;position:sticky;top:0}.modal-topbar .close-btn,.explorer-topbar .close-btn{border:1px solid var(--border);color:#e5e7eb;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:36px;min-width:36px;height:36px;min-height:36px;text-shadow:none;background:radial-gradient(circle at 30% 0,#ffffff38,#0000 55%),#0f172afa;border-radius:999px;justify-content:center;align-items:center;margin:2px 8px 4px;font-size:18px;font-weight:700;line-height:1;transition:transform .12s,box-shadow .18s,background .18s,color .18s;display:flex;position:relative;box-shadow:0 4px 16px #000000a6}.modal-topbar .close-btn:before,.modal-topbar .close-btn:after,.explorer-topbar .close-btn:before,.explorer-topbar .close-btn:after{content:none!important}.modal-topbar .close-btn:hover,.explorer-topbar .close-btn:hover{background:radial-gradient(circle at 30% 0,#ffffff47,#0000 55%),#0f172a;transform:translateY(-1px);box-shadow:0 7px 20px #000000b8}.modal-topbar .close-btn:active,.explorer-topbar .close-btn:active{transform:translateY(1px);box-shadow:0 3px 10px #000000a6}.modal-topbar .close-btn:focus-visible,.explorer-topbar .close-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent)75%,transparent);outline-offset:2px}.status-strip{white-space:nowrap;scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;padding:8px 10px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 18px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 18px calc(100% - 18px),#0000 100%)}.status-strip::-webkit-scrollbar{display:none}.status-strip>*{scroll-snap-align:start}.chip{letter-spacing:.02em;border:1px solid var(--border);color:var(--ink);background:#ffffff0a;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.chip.info{border-color:color-mix(in srgb,var(--accent)25%,transparent);color:var(--accent)}.chip.ok{color:var(--ok);border-color:#4ee89a59}.chip.err{color:var(--error);border-color:#ff6b7a66}.modal-header{grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:12px 16px;display:grid}.modal-header img{width:64px;height:64px;box-shadow:0 6px 18px #00000059,inset 0 0 0 1px var(--border);background:radial-gradient(80% 80% at 50% 30%,color-mix(in srgb,var(--accent)25%,transparent),transparent);border-radius:10px}.header-fields{flex-direction:column;gap:6px;min-width:0;display:flex}.header-fields .value-strip{order:0;margin:8px 0 0}.header-fields h2{overflow-wrap:anywhere;margin:0;font-size:18px}.header-fields p{color:var(--ink-dim);margin:0}.header-fields span{overflow-wrap:anywhere}.header-keys{flex-wrap:wrap;gap:6px;min-width:0;margin-top:6px;display:flex}.header-keys .field{border:1px solid var(--border);background:#ffffff0a;border-radius:10px;min-width:0;padding:6px 8px;font-size:clamp(11px,1.9vw,12px)}.header-keys .field.phikey{margin-top:-20px}@media (min-width:640px){.header-keys .field.phikey{margin-top:-3px}}.header-keys .field.kai-signature,.header-keys .field.kai-signature *{-webkit-mask-image:none!important;mask-image:none!important}.header-keys .field.kai-signature{overflow-wrap:anywhere;word-break:break-word;white-space:normal;flex:auto;align-items:center;gap:6px;min-width:0;display:inline-flex}.header-keys .field.warn{color:var(--warn);border-color:#ffd16659}.value-strip{scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:stretch;gap:10px;width:100%;padding:2px 2px 4px;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 10px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 10px calc(100% - 10px),#0000 100%)}.value-strip::-webkit-scrollbar{display:none}.value-chip{scroll-snap-align:start;border:1px solid var(--border);background:linear-gradient(#ffffff0d,#ffffff06);border-radius:14px;flex-direction:column;flex:1 0 calc(50% - 5px);justify-content:center;align-items:flex-start;gap:4px;min-width:0;padding:10px 12px;display:flex;box-shadow:0 10px 28px #00000052,inset 0 0 0 1px #ffffff05;container:valuechip/inline-size}.value-chip *{max-width:100%}.value-chip .label{letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb,var(--ink)62%,transparent);white-space:nowrap;order:2;font-size:10px;line-height:1.1}.value-chip .amount{letter-spacing:.01em;white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;order:1;align-items:baseline;gap:.45ch;width:100%;min-width:0;font-size:clamp(18px,13.5cqi,30px);font-weight:950;line-height:1.02;display:inline-flex;overflow:auto hidden}.value-chip .amount::-webkit-scrollbar{display:none}@container valuechip (inline-size<220px){.value-chip .amount{font-size:clamp(16px,12.8cqi,26px)}}@container valuechip (inline-size<190px){.value-chip .amount{font-size:clamp(15px,11.5cqi,24px)}}@supports not (container-type:inline-size){.value-chip .amount{font-size:clamp(18px,6.4vw,28px)}}.value-chip.phi{border-color:color-mix(in srgb,var(--accent)34%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent)12%,transparent),transparent 60%),linear-gradient(180deg,#ffffff0b,#ffffff05)}.value-chip.usd{border-color:color-mix(in srgb,var(--ok)34%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--ok)10%,transparent),transparent 60%),linear-gradient(180deg,#ffffff0b,#ffffff05)}.value-chip .amount .sym{opacity:.92;transform-origin:0;color:inherit;-webkit-text-fill-color:inherit;margin-right:.2ch;font-weight:800;display:inline-block;transform:translateY(.5px)scale(.98)}.value-chip.up,.value-chip[data-trend=up]{--trend:var(--trend-up)}.value-chip.down,.value-chip[data-trend=down]{--trend:var(--trend-down)}.value-chip.flat,.value-chip[data-trend=flat]{--trend:var(--trend-flat)}.value-chip .amount:before{content:"";color:currentColor;-webkit-text-fill-color:currentColor;width:0;margin-right:0;font-size:.86em;font-weight:950;transition:color .22s,transform .22s,width .22s,margin .22s;display:inline-block;transform:translateY(-.02em)}.value-chip.up .amount:before,.value-chip[data-trend=up] .amount:before{content:"▲";width:1.05ch;color:var(--trend-up);margin-right:.15ch}.value-chip.down .amount:before,.value-chip[data-trend=down] .amount:before{content:"▼";width:1.05ch;color:var(--trend-down);margin-right:.15ch}.value-chip.flat .amount:before,.value-chip[data-trend=flat] .amount:before{content:"";width:0;margin-right:0}.value-chip.phi .amount{background-image:linear-gradient(180deg,#fffffff5 0 10%,#ffffff8c 10% 18%,#fff0 24%),linear-gradient(180deg,color-mix(in srgb,var(--accent)92%,white 0%),color-mix(in srgb,var(--accent-2)55%,white 0%));color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.value-chip.usd .amount{background:linear-gradient(180deg,color-mix(in srgb,var(--accent)85%,white 0%),color-mix(in srgb,var(--accent-2)55%,white 0%));color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.value-chip .delta{letter-spacing:.02em;color:#031216;white-space:nowrap;background:linear-gradient(180deg,#ffffffd9 0%,#fff9 8%,#fff0 14%),linear-gradient(90deg,color-mix(in srgb,var(--trend)65%,white 0%),color-mix(in srgb,var(--trend)35%,white 0%));border:1px solid #0000002e;border-radius:999px;place-items:center;min-width:34px;height:18px;margin-left:.45ch;padding:0 8px;font:900 11px/18px ui-sans-serif,system-ui,-apple-system,Inter,SF Pro Text;display:inline-grid;box-shadow:0 2px 6px #00000059,inset 0 1px #ffffffbf}@keyframes valueFlash{0%{filter:brightness(1.35)}to{filter:brightness()}}.value-chip.is-flashing{animation:.42s ease-out valueFlash}.value-chip.trend-up{box-shadow:0 10px 28px #00000052,0 0 20px color-mix(in srgb,var(--ok)26%,transparent),inset 0 0 0 1px #ffffff05}.value-chip.trend-down{box-shadow:0 10px 28px #00000052,0 0 20px color-mix(in srgb,var(--error)26%,transparent),inset 0 0 0 1px #ffffff05}@keyframes phiUsdBreath{0%,to{opacity:.82;text-shadow:0 0 .4px #ffffff73,0 0 10px color-mix(in srgb,var(--accent)35%,transparent)}50%{opacity:1;text-shadow:0 0 .7px #ffffffe6,0 0 18px color-mix(in srgb,var(--accent-2)50%,transparent)}}.value-chip.phi .amount,.value-chip.usd .amount{animation:phiUsdBreath var(--kai-pulse)ease-in-out infinite!important}.tabs{border-top:1px solid var(--border);border-bottom:1px solid var(--border);top:var(--topbar-h);z-index:1;background:linear-gradient(#0a0c14d9,#0a0c14a6);gap:4px;padding:4px 6px 6px;display:flex;position:sticky}.tabs button{border-radius:var(--pill);color:var(--ink-dim);border:1px solid #0000;flex:none;padding:8px 12px;font-size:.58rem;line-height:1.05}.tabs button:hover{color:var(--ink)}.tabs button.active{color:#06121a;background:linear-gradient(180deg,color-mix(in srgb,var(--accent)100%,white 0%),color-mix(in srgb,var(--accent-2)80%,white 0%));border-color:#0000}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;content-visibility:auto;contain:layout paint style;contain-intrinsic-size:800px 600px;max-height:calc(90vh - 260px);padding:14px 16px 6px;overflow:hidden auto}@supports (height:100dvh){.modal-body{max-height:calc(100dvh - 260px)}}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (max-width:520px){.summary-grid{grid-template-columns:1fr}}.summary-grid .kv{border-radius:var(--radius);background:var(--card);border:1px solid var(--border);grid-template-columns:minmax(96px,140px) minmax(0,1fr);gap:8px;min-width:0;padding:10px 12px;display:grid}.summary-grid .kv.wide{grid-column:1/-1}.kv .v{color:var(--ink);white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;overflow:auto hidden}.kv .v::-webkit-scrollbar{display:none}.kv .v.mono{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.transfers{gap:10px;margin:0;padding:0;list-style:none;display:grid}.transfer{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(#ffffff09,#ffffff05);padding:10px 12px}.transfer header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.transfer .index{color:var(--ink);font-weight:700}.transfer .state.open{color:var(--warn)}.transfer .state.closed{color:var(--ok)}.transfer .row{border-top:1px dashed var(--border);grid-template-columns:140px 1fr;gap:8px;padding:4px 0;display:grid}.transfer .row:first-of-type{border-top:0}.transfer .row .v{white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;overflow:auto hidden}.transfer .row .v::-webkit-scrollbar{display:none}.transfer .row .v.mono{white-space:normal;overflow-wrap:anywhere;word-break:break-word;overflow:visible}.payload summary{cursor:pointer;color:var(--accent)}.payload .row{grid-template-columns:100px 1fr}.raw-json{white-space:pre-wrap;border-radius:var(--radius);border:1px solid var(--border);background:#0d1020;max-height:46vh;padding:12px;overflow:auto}.tooltip-container{cursor:help;display:inline-block;position:relative}.tooltip-trigger{cursor:help;padding-left:4px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tooltip{visibility:hidden;color:var(--ink);text-align:left;z-index:1000;opacity:0;border:1px solid var(--border);background-color:#0f172af5;border-radius:8px;width:240px;padding:8px 10px;font-size:11px;transition:opacity .18s,transform .18s;position:absolute;bottom:125%;left:0;transform:translateY(4px);box-shadow:0 10px 22px #0006}.tooltip-container:hover .tooltip,.tooltip-trigger:hover+.tooltip{visibility:visible;opacity:1;transform:translateY(0)}.modal-footer{width:100%;padding:clamp(6px,1dvh,8px)clamp(12px,2vw,16px)calc(clamp(6px,1dvh,8px) + var(--safe-bottom));background:radial-gradient(circle at 12% -10%,color-mix(in srgb,var(--accent)22%,transparent)0%,transparent 70%),linear-gradient(to top,#0009 0%,#0000 60%);border-top:1px solid color-mix(in srgb,var(--accent)60%,#ffffff0a);box-shadow:0 -.5px 0 #ffffff0f inset,0 -16px 32px #000000e6,0 -2px 28px color-mix(in srgb,var(--accent)35%,transparent);-webkit-backdrop-filter:blur(12px)saturate(180%);isolation:isolate;z-index:9999;flex-direction:column;gap:6px;display:flex;position:sticky;bottom:0;left:0;right:0;overflow:visible}.modal-footer:before{content:"";border-top:1px solid color-mix(in srgb,var(--accent)80%,transparent);pointer-events:none;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent)60%,transparent));opacity:.6;border-radius:.0001px;animation:5.236s ease-in-out infinite kaiBreath;position:absolute;inset:0}.status.error{color:var(--error);text-shadow:0 0 4px #f006;padding-left:2px;font-size:.72rem;font-weight:500;line-height:1.2}.footer-actions{flex-wrap:nowrap;justify-content:space-between;align-items:stretch;gap:8px;width:100%;min-width:0;min-height:clamp(40px,4.8dvh,48px);display:flex}.footer-btn{min-width:0;min-height:clamp(40px,4.8dvh,48px);color:var(--ink);text-align:center;cursor:pointer;background-color:#0006;background-image:radial-gradient(ellipse at 50% -10%,#ffffff24 0%,#fff0 60%),radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--accent)35%,transparent)0%,#0000 70%),linear-gradient(to bottom right,#ffffff0f 0%,#fff0 60%);border:1px solid #ffffff14;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;padding:0 12px;font-family:ui-sans-serif,system-ui,-apple-system,Inter,Roboto,Arial;line-height:1.2;display:flex;position:relative;box-shadow:0 0 8px #000000e6,0 8px 24px #000c}.aura-btn .btn-glow{border-radius:inherit;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent)60%,transparent)0%,transparent 70%);mix-blend-mode:screen;filter:blur(12px);opacity:.5;pointer-events:none;animation:5.236s ease-in-out infinite kaiBreath;position:absolute;inset:-1px}.btn-inner{z-index:2;flex-direction:column;min-width:0;max-width:100%;display:flex;position:relative}.icon-only{flex-direction:row;justify-content:center;align-items:center}.btn-label-main,.btn-label-sub,.balance-line{white-space:nowrap;text-overflow:clip;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow:auto hidden}.btn-label-main::-webkit-scrollbar{display:none}.btn-label-sub::-webkit-scrollbar{display:none}.balance-line::-webkit-scrollbar{display:none}.btn-label-main{color:var(--ink);text-shadow:0 0 6px color-mix(in srgb,var(--accent)70%,transparent),0 0 1px #ffffffe6;font-size:.8rem;font-weight:600}.btn-label-sub{color:color-mix(in srgb,var(--ink)70%,var(--accent)30%);text-shadow:0 0 4px color-mix(in srgb,var(--accent)60%,transparent),0 0 1px #000000e6;flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:4px;min-width:0;font-size:.62rem;font-weight:500;line-height:1.1;display:flex}.balance-line{flex-flow:row;gap:4px;min-width:0;display:flex}.balance-line .phi-amount{color:var(--ink);font-weight:600}.balance-line .phi-balance{opacity:.8;color:color-mix(in srgb,var(--ink)70%,var(--accent)30%);font-weight:500}.balance-line .divider{opacity:.4}.seal-btn{border-color:color-mix(in srgb,var(--accent)60%,#ffffff1a);box-shadow:0 0 12px color-mix(in srgb,var(--accent)40%,transparent),0 16px 32px #000000e6;background-color:#00000073}.attach-btn{border-color:#ffffff14;flex:none;justify-content:center;align-items:center;min-width:clamp(40px,4.8dvh,48px);max-width:clamp(44px,5.2dvh,52px);padding:0;display:flex}.attach-btn svg{stroke-width:1.5px;width:18px;height:18px;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent)70%,transparent))drop-shadow(0 0 1px #fffc);color:var(--ink)}.send-btn{border-color:color-mix(in srgb,var(--accent)70%,#ffffff26);box-shadow:0 0 16px color-mix(in srgb,var(--accent)60%,transparent),0 20px 36px #000000e6;background-color:#00000080}.footer-btn:not(:disabled):hover,.footer-btn:not(:disabled):focus-visible{box-shadow:0 0 20px color-mix(in srgb,var(--accent)80%,transparent),0 24px 40px #000000f2;border-color:color-mix(in srgb,var(--accent)85%,#fff3);outline:none}.footer-btn:not(:disabled):active{box-shadow:0 0 10px color-mix(in srgb,var(--accent)60%,transparent),0 10px 20px #000000e6;transition:transform 60ms;transform:translateY(.5px)scale(.995)}.footer-btn:disabled{cursor:not-allowed;opacity:.38;filter:grayscale(.6)brightness(.8);text-shadow:none;border-color:#ffffff0f!important;box-shadow:0 0 4px #000000e6,0 8px 16px #000c!important}.footer-btn:disabled .btn-label-main,.footer-btn:disabled .btn-label-sub{text-shadow:none;color:#fff6}.footer-btn:disabled .phi-amount,.footer-btn:disabled .phi-balance{color:#fff6}.footer-btn:disabled .btn-glow{opacity:0;animation:none}@keyframes kaiBreath{0%{opacity:.35;filter:blur(10px)drop-shadow(0 0 2px color-mix(in srgb,var(--accent)60%,transparent))}50%{opacity:.7;filter:blur(14px)drop-shadow(0 0 6px color-mix(in srgb,var(--accent)80%,transparent))}to{opacity:.35;filter:blur(10px)drop-shadow(0 0 2px color-mix(in srgb,var(--accent)60%,transparent))}}.explorer-dialog{box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);background:linear-gradient(180deg,var(--glass),#0a0c14b3);box-shadow:0 24px 64px #00000080,inset 0 0 0 1px var(--border);border:0;border-radius:0;margin:0;padding:0;overflow:hidden}.explorer-dialog::backdrop{background:radial-gradient(900px 600px at 70% -10%,color-mix(in srgb,var(--accent)25%,transparent),transparent 40%),radial-gradient(900px 600px at 15% 110%,color-mix(in srgb,var(--accent-2)18%,transparent),transparent 40%),#00000a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.explorer-chrome{flex-direction:column;max-width:100%;height:100%;display:flex;overflow:hidden}.explorer-topbar{border-bottom:1px solid var(--border);background:linear-gradient(#0a0c14e6,#0a0c14b3);grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:8px 10px;display:grid}.explorer-title{letter-spacing:.06em;text-transform:uppercase;color:#0000;background:conic-gradient(from 180deg at 50% 50%,var(--accent),var(--accent-2),var(--accent-3),var(--accent)),radial-gradient(120% 180% at 10% 0%,color-mix(in srgb,var(--accent)35%,transparent),transparent 60%);-webkit-text-stroke:.55px #ffffff47;text-shadow:0 0 .5px #ffffff59,0 6px 22px color-mix(in srgb,var(--accent)26%,transparent);white-space:nowrap;text-overflow:ellipsis;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin:0;font-size:16px;font-weight:700;animation:14s linear infinite holoShift;overflow:hidden}@media (prefers-reduced-motion:reduce){.explorer-title{animation:none}}.explorer-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;content-visibility:auto;contain:layout paint style;contain-intrinsic-size:800px 600px;flex:auto;min-height:0;padding:10px 12px 16px;overflow:hidden auto}@media (min-width:960px){.explorer-dialog{border-radius:20px 0 0 20px;width:clamp(380px,34vw,520px);height:100dvh;margin:0 0 0 auto}}.explorer-body .meta-row{grid-template-columns:1fr auto;align-items:center;gap:10px;min-width:0;display:grid}.chip.icon{width:var(--chip-size);height:var(--chip-size);flex:0 0 var(--chip-size);-webkit-backdrop-filter:saturate(125%)blur(var(--chip-blur));color:#a7c7ff;background:radial-gradient(120% 120% at 30% 25%,#ffffff38 0%,#ffffff14 40%,#ffffff05 60%,#0000 100%),#ffffff0f;border:1px solid #ffffff24;border-radius:999px;outline:none;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background .18s,color .18s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #ffffff0f,0 8px 22px #0000008c}.chip.icon .ico,.chip.icon svg{z-index:1;stroke-width:2.2px;width:52%;height:52%;display:block;position:relative}@media (hover:hover){.chip.icon:hover{transform:translateY(-1px)scale(1.03)}}.chip.icon:active{transform:translateY(0)scale(.97)}@media (prefers-reduced-motion:reduce){.chip.icon,.chip.icon:before{transition:none!important;animation:none!important}}.chip.icon:before{content:"";border-radius:inherit;background:conic-gradient(from 0deg,transparent 0 40%,currentColor 47% 53%,transparent 60% 100%);filter:blur(7px)saturate(140%);opacity:.35;z-index:0;animation:12s linear infinite chipSpin;position:absolute;inset:-2px}@keyframes chipSpin{to{transform:rotate(360deg)}}.chip.icon.ok{color:#35e49a;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #35e49a1a,0 8px 22px #35e49a40}.chip.icon.warn{color:#ffd64d;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #ffd64d1a,0 8px 22px #ffd64d40}.chip.icon.err{color:#ff6b6b;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #ff6b6b1a,0 8px 22px #ff6b6b47}.chip.icon.info{color:#7ab8ff;box-shadow:inset 0 1px #ffffff38,inset 0 -12px 22px #7ab8ff1a,0 8px 22px #7ab8ff40}.chip.icon.ok:after{content:"";border-radius:inherit;opacity:.2;filter:blur(12px);z-index:0;background:radial-gradient(60% 60%,currentColor 0%,#0000 60%);animation:5.236s ease-in-out infinite breathe;position:absolute;inset:-8px}@keyframes breathe{0%,to{opacity:.16;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}.brand-lockup .glyph{animation:glyphBreath var(--kai-pulse)ease-in-out infinite;will-change:transform,filter,box-shadow}@keyframes glyphBreath{0%,to{filter:brightness(.92)saturate(1.05);box-shadow:0 0 24px color-mix(in srgb,var(--accent)35%,transparent);transform:translateZ(0)scale(1)}50%{filter:brightness(1.08)saturate(1.22);box-shadow:0 0 34px color-mix(in srgb,var(--accent)50%,transparent),0 0 22px color-mix(in srgb,var(--accent-2)35%,transparent);transform:translateZ(0)scale(1.06)}}@media (prefers-reduced-motion:reduce){.brand-lockup .glyph{animation:none}}.chip.icon[data-badge]:not([data-tip]):after{content:attr(data-badge);min-width:var(--chip-badge-h);height:var(--chip-badge-h);padding:0 var(--chip-badge-pad-x);font:900 12px/var(--chip-badge-h)ui-sans-serif,system-ui,-apple-system,"SF Pro Text",Inter,Roboto,"Segoe UI","Helvetica Neue",Arial;font-variant-numeric:tabular-nums lining-nums;letter-spacing:.02em;color:var(--badge-ink);-webkit-text-stroke:.5px #00000059;text-shadow:0 0 8px #6fe7ff8c;background:radial-gradient(140% 170% at 28% 12%,#fffffff2 0%,#ffffff40 28%,transparent 52%),linear-gradient(180deg,#fffc 0%,#ffffff8c 8%,#fff0 14%),linear-gradient(90deg,var(--badge-neon-1)0%,var(--badge-neon-2)50%,var(--badge-neon-3)100%);will-change:background-position,filter;background-position:0 0,0 0,0 0;background-size:auto,auto,200% 100%;border:1px solid #00000038;border-radius:999px;animation:5.236s ease-in-out infinite badgeGlow,8s linear infinite badgeShimmer;position:absolute;top:-6px;right:-4px;box-shadow:inset 0 1px #ffffffbf,inset 0 -1px 8px #0000002e,0 2px 4px #00000059,0 0 10px #19bfff8c,0 0 22px #6fe7ff73}@keyframes badgeGlow{0%,to{filter:saturate(115%)brightness();background-position:0 0,0 0,0 0}50%{filter:saturate(135%)brightness(1.06);background-position:0 0,0 0,100% 0}}@keyframes badgeShimmer{0%{background-position:0 0,0 0,0 0}50%{background-position:0 0,0 0,100% 0}to{background-position:0 0,0 0,0 0}}@media (prefers-reduced-motion:reduce){.chip.icon[data-badge]:not([data-tip]):after{background-position:0 0,0 0,50% 0;animation:none}}.chip.icon[data-tip]{--tip-offset:10px}.chip.icon[data-tip]:before,.chip.icon[data-tip]:after{pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;position:absolute;transform:translateY(4px)}.chip.icon[data-tip]:before{content:attr(data-tip);bottom:calc(100% + var(--tip-offset));background:var(--chip-tip-bg);color:var(--chip-tip-fg);border-radius:var(--chip-tip-radius);white-space:nowrap;z-index:30;padding:7px 9px;font:600 11px/1.2 ui-sans-serif,system-ui,-apple-system,SF Pro Text,Inter,Roboto,Segoe UI,Helvetica Neue,Arial;left:50%;translate:-50%;box-shadow:0 8px 22px #00000073,inset 0 1px #ffffff0f}.chip.icon[data-tip]:after{content:"";bottom:calc(100% + var(--tip-offset) - 5px);background:var(--chip-tip-bg);z-index:29;border-radius:2px;width:8px;height:8px;left:50%;transform:rotate(45deg);box-shadow:0 4px 12px #00000059}@media (hover:hover){.chip.icon[data-tip]:hover:before,.chip.icon[data-tip]:hover:after{opacity:1;transform:translateY(0)}}.chip.icon[data-tip]:focus-visible:before,.chip.icon[data-tip]:focus-visible:after{opacity:1;transform:translateY(0)}.valuation-inline{grid-template-columns:1fr auto;grid-auto-rows:auto;align-items:center;gap:8px 14px;min-width:0;margin-top:8px;display:grid}.valuation-inline .dot{background:radial-gradient(circle at 30% 30%,#fff 0 25%,#0000 60%),radial-gradient(circle at 70% 70%,#fff9 0,#0000 70%),linear-gradient(135deg,#f97316,#facc15,#22c55e);border-radius:999px;flex-shrink:0;width:7px;height:7px;margin-top:3px;margin-right:6px;display:inline-block;box-shadow:0 0 0 1px #ffffff38,0 0 8px #facc15d9}.valuation-inline-left{flex-direction:column;gap:2px;min-width:0;display:flex}.valuation-inline-label{letter-spacing:.02em;text-transform:uppercase;color:#f8fafce0;align-items:center;min-width:0;font-size:.78rem;display:flex}.valuation-inline-sublabel{color:#94a3b8f2;font-size:.72rem}.valuation-inline-right{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;text-overflow:clip;flex-direction:row;justify-content:flex-end;align-items:baseline;gap:10px;min-width:0;display:flex;overflow:auto hidden}.valuation-inline-right::-webkit-scrollbar{display:none}.valuation-inline-value-main{letter-spacing:.01em;color:#e5e7eb;white-space:nowrap;font-size:.95rem;font-weight:700}.valuation-inline-value-sub{color:#94a3b8f2;white-space:nowrap;font-size:.82rem}.valuation-inline-value-main .phi-unit{color:#facc15;font-weight:800}.valuation-inline-value-sub .usd-unit{color:#bef264f5}.live-pulse{background:radial-gradient(circle at 35% 20%,color-mix(in srgb,var(--accent)35%,transparent)0%,transparent 65%),#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff0d,0 0 18px #00000073,0 0 22px color-mix(in srgb,var(--accent)22%,transparent);letter-spacing:.06em;white-space:nowrap;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.74rem;font-weight:700;animation:5.236s ease-in-out infinite livePulseBreath;display:inline-flex}.live-pulse:before{content:"";background:radial-gradient(circle at 40% 40%,#fff 0%,#fff 25%,transparent 70%),radial-gradient(circle at 70% 70%,color-mix(in srgb,var(--accent)50%,transparent)0%,transparent 70%);width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb,var(--accent)60%,transparent),0 0 14px color-mix(in srgb,var(--accent-2)40%,transparent);border-radius:999px;animation:5.236s ease-in-out infinite livePulseDot}.live-pulse .now{color:var(--accent);text-shadow:0 0 6px color-mix(in srgb,var(--accent)65%,transparent),0 0 12px color-mix(in srgb,var(--accent-2)45%,transparent);font-weight:800}.live-pulse .pulse-number{color:var(--ink);opacity:.92;font-variant-numeric:tabular-nums;font-weight:700}@keyframes livePulseBreath{0%,to{filter:brightness(.88);box-shadow:inset 0 0 0 1px #ffffff0f,0 0 16px #00000073,0 0 14px color-mix(in srgb,var(--accent)20%,transparent)}50%{filter:brightness(1.06);box-shadow:inset 0 0 0 1px #ffffff14,0 0 18px #00000080,0 0 26px color-mix(in srgb,var(--accent-3)40%,transparent)}}@keyframes livePulseDot{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}@media (max-width:640px){.valuation-inline{gap:6px 10px;margin-top:6px}.valuation-inline-value-main{font-size:.9rem}.valuation-inline-value-sub{font-size:.78rem}.valuation-inline-label{font-size:.74rem}}.toolbar-actions{justify-content:center;align-self:center;width:fit-content;max-width:100%;padding:2px}@media (max-width:720px){.toolbar{flex-wrap:wrap;justify-content:center}.brand-lockup{justify-content:center;width:100%}.toolbar-actions{margin-inline:auto}}.footer-actions>.footer-btn:only-child{flex:none;width:fit-content;max-width:100%;margin-inline:auto;padding-inline:16px}.toolbar-actions .upload-phikey{align-items:center;gap:10px;display:inline-flex}.toolbar-actions .upload-phikey .phi-iconbox{background:radial-gradient(120% 120% at 30% 20%,#ffffff38 0%,#ffffff0f 45%,transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--accent)18%,transparent),#00000038);width:22px;height:22px;box-shadow:inset 0 1px 0 #ffffff29,0 8px 18px #00000059,0 0 16px color-mix(in srgb,var(--accent)22%,transparent);border:1px solid #ffffff2e;border-radius:7px;flex:0 0 22px;place-items:center;display:grid}.toolbar-actions .upload-phikey .phi-mark{opacity:.95;width:14px;height:14px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent)60%,transparent))drop-shadow(0 0 10px color-mix(in srgb,var(--accent-2)35%,transparent));display:block}.phikey-label{align-items:center;gap:0;min-width:0;line-height:1;display:inline-flex}.phikey-mark{opacity:.95;width:14px;height:14px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent)60%,transparent))drop-shadow(0 0 10px color-mix(in srgb,var(--accent-2)35%,transparent));margin-right:-1px;display:inline-block;transform:translateY(0)}.phikey-text{letter-spacing:-.01em;font-weight:800;line-height:1}.ico{filter:drop-shadow(0 0 10px color-mix(in srgb,currentColor 35%,transparent))}.phi-send-field{isolation:isolate;width:100%;min-width:0;max-width:100%;color:var(--ink);flex-direction:column;flex:auto;gap:4px;margin-top:auto;display:flex}.phi-send-field[data-state=focus] .phi-send-inputShell{border-color:color-mix(in srgb,var(--accent)60%,#ffffff40);box-shadow:0 0 10px color-mix(in srgb,var(--accent)55%,transparent),0 14px 28px #000000e6}.phi-send-label{text-shadow:0 0 6px color-mix(in srgb,var(--accent)70%,transparent),0 0 1px #fffc;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;min-width:0;font-family:ui-sans-serif,system-ui,-apple-system,Inter,SF Pro Text,Roboto,Arial;line-height:1.2;display:flex}.phi-send-label .label-main{color:var(--ink);white-space:nowrap;font-size:.75rem;font-weight:600}.phi-send-label .label-sub{color:color-mix(in srgb,var(--ink)70%,var(--accent)30%);text-shadow:0 0 4px color-mix(in srgb,var(--accent)60%,transparent),0 0 1px #000c;white-space:nowrap;opacity:.9;text-overflow:ellipsis;max-width:100%;font-size:.68rem;font-weight:500;overflow:hidden}.phi-send-bar{flex-wrap:nowrap;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.phi-send-inputShell{-webkit-backdrop-filter:blur(12px)saturate(180%);box-shadow:0 0 8px #000000e6,0 12px 24px #000c,0 0 24px color-mix(in srgb,var(--accent)50%,transparent);background:#00000059;border:1px solid #ffffff14;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:0;min-height:40px;padding:8px 10px;display:flex;position:relative}.phi-prefix{color:var(--ink);text-shadow:0 0 6px color-mix(in srgb,var(--accent)70%,transparent),0 0 1px #ffffffe6;flex-shrink:0;font-size:.8rem;font-weight:600;line-height:1}.phi-send-input{appearance:none;color:var(--ink);min-width:0;text-shadow:0 0 8px color-mix(in srgb,var(--accent)60%,transparent),0 0 1px #fff;caret-color:color-mix(in srgb,var(--accent)90%,white 10%);touch-action:manipulation;-webkit-text-size-adjust:100%;background:0 0;border:0;outline:0;flex:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:16px;font-weight:600;line-height:1.2}.phi-send-input::-webkit-outer-spin-button{appearance:none;margin:0}.phi-send-input::-webkit-inner-spin-button{appearance:none;margin:0}.phi-input-glow{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent)75%,transparent)0%,transparent 70%);height:1px;box-shadow:0 0 6px color-mix(in srgb,var(--accent)70%,transparent),0 0 2px #ffffffe6;pointer-events:none;border-radius:999px;animation:5.236s ease-in-out infinite phiInputBreath;position:absolute;bottom:6px;left:10px;right:10px}.phi-conv-right,.convert-readout{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);text-overflow:ellipsis;text-align:right;flex:none;font-size:.72rem;overflow:hidden}.phi-send-controls{flex:none;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:inline-flex}.phi-mode-toggle{border:1px solid var(--border,#ffffff2e);box-shadow:0 2px 10px #00000059,0 0 18px color-mix(in srgb,var(--accent)18%,transparent);background:linear-gradient(#fff3,#ffffff0d);border-radius:999px;flex:none;gap:4px;padding:2px;display:inline-flex}.phi-mode-btn{min-width:30px;height:26px;color:var(--ink);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.75rem;font-weight:600;transition:opacity .236s,transform .145s;display:inline-flex}.phi-mode-btn.is-active{opacity:1;background:color-mix(in srgb,var(--accent)35%,#0009);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)45%,transparent),0 0 12px color-mix(in srgb,var(--accent)40%,transparent)}.phi-mode-btn:hover{opacity:1}.phi-mode-btn:active{transform:translateY(.5px)scale(.97)}.phi-attach-btn{height:26px;color:var(--ink);cursor:pointer;box-shadow:0 2px 8px #0000008c,0 0 12px color-mix(in srgb,var(--accent)20%,transparent);opacity:.88;white-space:nowrap;background:radial-gradient(circle at 0 0,#00ffff29,#0000 60%),linear-gradient(#000000e6,#000000bf);border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:.7rem;font-weight:600;transition:opacity .236s,transform .145s;display:inline-flex}.phi-attach-btn:hover{opacity:1}.phi-attach-btn:active{transform:translateY(.5px)scale(.97)}.phi-attach-btn.is-active{border-color:color-mix(in srgb,var(--accent)60%,#fff3);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent)50%,transparent),0 0 18px color-mix(in srgb,var(--accent)40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent)42%,#000000e6),#000000e6)}.phi-attach-icon{font-size:.8rem;line-height:1}.phi-attach-label{font-size:.7rem;font-weight:600}@keyframes phiInputBreath{0%{opacity:.4;filter:blur(6px)drop-shadow(0 0 2px color-mix(in srgb,var(--accent)60%,transparent))}50%{opacity:.9;filter:blur(8px)drop-shadow(0 0 6px color-mix(in srgb,var(--accent)80%,transparent))}to{opacity:.4;filter:blur(6px)drop-shadow(0 0 2px color-mix(in srgb,var(--accent)60%,transparent))}}@media (max-width:380px){.phi-send-inputShell{min-height:40px;padding:8px 10px}.phi-prefix{font-size:.75rem}.phi-send-input{font-size:16px}.phi-send-label .label-main{font-size:.7rem}.phi-send-label .label-sub{font-size:.62rem}.phi-mode-toggle{transform:scale(.9)}}@supports (-webkit-touch-callout:none){.phi-send-input{font-size:16px}}.phi-error-toast{z-index:1000;pointer-events:none;animation:.236s ease-out phiToastIn;position:fixed;bottom:86px;left:50%;transform:translate(-50%)}.phi-error-card{background:linear-gradient(180deg,color-mix(in srgb,var(--error,#ff4d4f)18%,#0000)0%,#0000008c 100%);-webkit-backdrop-filter:blur(14px)saturate(180%);border:1px solid color-mix(in srgb,var(--error,#ff4d4f)30%,#ffffff24);box-shadow:0 2px 8px #00000059,0 18px 36px #00000073,0 0 28px color-mix(in srgb,var(--error,#ff4d4f)36%,transparent);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.phi-error-card .badge{letter-spacing:.06em;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 14px color-mix(in srgb,var(--error,#ff4d4f)40%,transparent);background:linear-gradient(#ffffff3d,#ffffff14);border:1px solid #ffffff38;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:700}.phi-error-card .phi-error-text{color:#fff;text-shadow:0 0 8px #000000b3,0 0 1px #ffffffe6;margin:0;font-size:12.5px;font-weight:600}@keyframes phiToastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.phi-send-success-overlay{z-index:1100;pointer-events:auto;-webkit-backdrop-filter:blur(22px)saturate(180%);background:radial-gradient(circle at 8% 0,#0ff3,#0000 60%),radial-gradient(circle at 90% 100%,#9b52ff40,#000000e6);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.phi-send-success-card{width:100%;max-width:min(420px,100%);box-shadow:0 18px 40px #000000d9,0 0 32px color-mix(in srgb,var(--accent,#0ff)40%,transparent);color:var(--ink,#f9feff);background:linear-gradient(145deg,#000000d9,#000014fa);border:1px solid #ffffff2e;border-radius:18px;padding:20px 18px 16px;animation:.382s ease-out phiSuccessIn;position:relative;overflow:hidden}.phi-success-orb{opacity:.7;mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle at 30% 20%,#00ffff52,#0000 60%),radial-gradient(circle at 80% 80%,#9b52ff61,#0000 65%);position:absolute;inset:-40%}.phi-success-orb-inner{opacity:.9;border-radius:999px;animation:1.618s ease-in-out infinite phiSuccessHeartbeat;position:absolute;inset:18%;box-shadow:0 0 40px #00ffff59,0 0 80px #9b52ff59}.phi-success-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex;position:relative}.phi-success-pill{letter-spacing:.12em;text-transform:uppercase;color:#fdfdfd;z-index:1;background:linear-gradient(#ffffff38,#ffffff0f);border:1px solid #ffffff42;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700;position:relative;box-shadow:0 0 16px #0ff6,inset 0 0 0 1px #0009}.phi-success-close{z-index:1;color:#fefefe;cursor:pointer;opacity:.7;background:0 0;border:none;outline:none;padding:2px 4px;font-size:14px;position:relative}.phi-success-close:hover{opacity:1}.phi-success-title{z-index:1;letter-spacing:.03em;text-shadow:0 0 12px #000000d9,0 0 1px #ffffffe6;margin:0 0 4px;font-size:1.1rem;font-weight:700;position:relative}.phi-success-amount{z-index:1;opacity:.92;margin:0 0 4px;font-size:.9rem;position:relative}.phi-success-amount .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.phi-success-body{z-index:1;opacity:.96;margin:0 0 14px;font-size:.82rem;line-height:1.45;position:relative}.phi-send-success-download{z-index:1;color:#fdfdfd;background:radial-gradient(circle at 0 0,#00ffff3d,#0000 60%),linear-gradient(#0a0a1ee6,#000000f2);border:1px solid #ffffff52;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-bottom:10px;padding:8px 12px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;box-shadow:0 3px 14px #000000b3,0 0 20px #00ffff59}.phi-send-success-download-icon{font-size:.9rem}.phi-send-success-download-text{white-space:nowrap}.phi-success-ok{z-index:1;cursor:pointer;width:100%;color:var(--ink,#fdfdfd);background:linear-gradient(135deg,#000000e6,#000000b3);border:none;border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:600;position:relative;box-shadow:0 2px 10px #0009,0 0 16px #00ffff47}.phi-success-ok:active{transform:translateY(.5px)scale(.99)}@keyframes phiSuccessIn{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes phiSuccessHeartbeat{0%{opacity:.6;transform:scale(.96)}30%{opacity:.95;transform:scale(1.02)}55%{opacity:.8;transform:scale(.98)}80%{opacity:1;transform:scale(1.03)}to{opacity:.6;transform:scale(.96)}}:root{--seal-z:9999;--seal-veil:radial-gradient(1200px 800px at 50% 20%,#00ffde1a,transparent 60%),radial-gradient(800px 600px at 10% 90%,#00b4ff1a,transparent 60%),radial-gradient(900px 700px at 90% 80%,#af6eff1a,transparent 60%);--seal-bg:#0a1012b8;--seal-bg-tint:linear-gradient(180deg,#132024a6,#0a1012a6);--seal-border:#3cdccd59;--seal-border-strong:#37ffe48c;--seal-text:#e8fbf8;--seal-text-dim:#aee8df;--seal-accent:#37ffe4;--seal-accent-2:#a78bfa;--seal-accent-3:#5ce1ff;--seal-shadow:0 30px 80px #0000008c,inset 0 1px 0 #ffffff0a;--ring-shadow:0 0 0 2px #37ffe440,0 0 0 6px #37ffe41f;--focus:0 0 0 2px #37ffe4e6,0 0 0 6px #37ffe42e;--radius:18px}.seal-overlay{z-index:var(--seal-z);-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);pointer-events:auto;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:radial-gradient(1200px 800px at 50% -10%,#0009,#000000a6 60%),#0009;place-items:center;animation:.28s ease-out both seal-overlay-fade;display:grid;position:fixed;inset:0;overflow:hidden}.seal-veil{z-index:0;background:var(--seal-veil);filter:blur(24px)saturate(130%);opacity:.9;pointer-events:none;animation:18s ease-in-out infinite alternate aurora-drift;position:absolute;inset:-10%}.seal-card{z-index:1;width:min(720px,92vw);color:var(--seal-text);border-radius:var(--radius);background:linear-gradient(to bottom right,#ffffff0f,#ffffff05)border-box,var(--seal-bg-tint),var(--seal-bg);border:1px solid var(--seal-border);box-shadow:var(--seal-shadow);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);pointer-events:auto;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:22px 18px 18px;animation:.33s cubic-bezier(.2,.8,.2,1) forwards card-in;position:relative;overflow:clip;transform:translateY(6px)scale(.985)}.seal-ornament{filter:blur(10px);mix-blend-mode:screen;opacity:.35;pointer-events:none;background:conic-gradient(from 180deg,#37ffe4cc,#a78bfa99,#5ce1ffb3,#37ffe4cc);border-radius:50%;width:120px;height:120px;animation:16s linear infinite rune-spin;position:absolute}.seal-ornament--tl{top:-30px;left:-30px}.seal-ornament--tr{animation-direction:reverse;top:-30px;right:-30px}.seal-ornament--bl{bottom:-30px;left:-30px}.seal-ornament--br{animation-direction:reverse;bottom:-30px;right:-30px}.seal-header{border-bottom:1px dashed #ffffff14;gap:4px;margin-bottom:12px;padding:6px 8px 12px;display:grid}.seal-title{letter-spacing:.4px;text-shadow:0 0 18px #37ffe440;margin:0;font-size:clamp(20px,2.1vw,26px);font-weight:700}.seal-subtitle{color:var(--seal-text-dim);opacity:.9;margin:0;font-size:13px}.seal-close{width:38px;height:38px;color:var(--seal-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff1f;border-radius:12px;place-items:center;transition:transform .15s,box-shadow .2s,border-color .2s;display:grid;position:absolute;top:10px;right:10px;box-shadow:inset 0 0 0 1px #37ffe41f,0 6px 18px #00000059}.seal-close:hover{border-color:var(--seal-border-strong);transform:translateY(-1px)}.seal-close:focus-visible{box-shadow:var(--focus);outline:none}.seal-close-ico{width:20px;height:20px}.field{margin:14px 0 12px;display:block}.field-label{letter-spacing:.3px;color:var(--seal-text-dim);margin:2px 0 6px;font-size:12px;display:block}.row{align-items:center;gap:10px;display:flex}.hash{letter-spacing:.2px;word-break:break-all;color:#dffff8;background:#00000059;border:1px solid #ffffff14;border-radius:12px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;box-shadow:inset 0 1px #ffffff0f}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.url-input{color:#e9fffb;background:#070c0e99;border:1px solid #ffffff1a;border-radius:12px;flex:1;min-width:0;padding:10px 12px;font-size:14px;box-shadow:inset 0 1px #ffffff0d}.url-input:focus-visible{box-shadow:var(--ring-shadow);border-color:var(--seal-border-strong);outline:none}.icon-btn,.open-link{min-width:40px;height:40px;color:var(--seal-text);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #ffffff1f;border-radius:12px;place-items:center;padding:0 10px;text-decoration:none;transition:transform .15s,box-shadow .2s,border-color .2s,color .15s;display:grid;box-shadow:inset 0 0 0 1px #ffffff0a,0 6px 18px #00000059}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn:hover:not(:disabled),.open-link:hover{border-color:var(--seal-border-strong);color:var(--seal-accent);transform:translateY(-1px)}.icon-btn:focus-visible,.open-link:focus-visible{box-shadow:var(--focus);outline:none}.ico{width:18px;height:18px}.cta-row{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.cta{letter-spacing:.2px;cursor:pointer;will-change:transform;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-weight:600;transition:transform .15s,box-shadow .2s,border-color .2s,background .2s;display:inline-flex}.cta:disabled{opacity:.6;cursor:not-allowed}.primary{border-color:var(--seal-border-strong);color:#081917;text-shadow:0 1px #ffffff40;background:radial-gradient(120% 160% at 0 0,#37ffe440,#0000 40%),linear-gradient(#37ffe42e,#37ffe414);box-shadow:0 12px 30px #37ffe438,inset 0 1px #ffffff40}.primary:hover{transform:translateY(-1px);box-shadow:0 18px 40px #37ffe447,inset 0 1px #ffffff4d}.primary:focus-visible{box-shadow:var(--focus),0 12px 30px #37ffe438;outline:none}.secondary{color:#f5f0ff;text-shadow:0 1px #00000040;background:linear-gradient(#a78bfa2e,#a78bfa12);border-color:#a78bfa8c;box-shadow:0 12px 30px #a78bfa38,inset 0 1px #ffffff2e}.secondary:hover{transform:translateY(-1px);box-shadow:0 18px 40px #a78bfa47,inset 0 1px #ffffff38}.secondary:focus-visible{outline:none;box-shadow:0 0 0 2px #a78bfae6,0 0 0 6px #a78bfa33}.fine{color:var(--seal-text-dim);opacity:.8;margin-top:12px;font-size:12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes seal-overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes card-in{0%{opacity:0;transform:translateY(14px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes aurora-drift{0%{filter:blur(24px)saturate(130%);transform:translateY(-2%)translate(0)scale(1.02)}50%{filter:blur(26px)saturate(145%);transform:translateY(1.5%)translate(1%)scale(1.06)}to{filter:blur(24px)saturate(130%);transform:translateY(0)translate(-1%)scale(1.03)}}@keyframes rune-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.seal-overlay,.seal-card,.seal-veil,.seal-ornament{animation:none!important}.icon-btn,.open-link,.cta{transition:none!important}}@media (max-width:420px){.row{gap:8px}.icon-btn,.open-link{min-width:38px;height:38px}.cta{justify-content:center;width:100%}.seal-close{top:8px;right:8px}}:root{--pulse:5.236s;--ease-breath:cubic-bezier(.33,.01,.24,1);--seal-text:#e8fbf8;--seal-text-dim:#aee8df;--seal-core:#37ffe4;--seal-aura:#11d7ff;--seal-accent-2:#a78bfa;--seal-accent-3:#5ce1ff;--ink:var(--seal-text);--ink-dim:color-mix(in srgb,var(--seal-text-dim)92%,#90a7c2 8%);--border:#ffffff1a;--ok:#4ee89a;--warn:#ffd166;--error:#ff6b7a;--money:#00d09c;--header-h:56px;--footer-h:64px;--content-max-h:70vh;--ring:color-mix(in srgb,var(--seal-core)65%,transparent);--glow:color-mix(in srgb,var(--seal-core)30%,transparent);--aside-w:340px;--aside-sticky-top:12px}html,body{height:100%;margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.valuation-modal,.fallback-sheet,.val-chrome{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}dialog.valuation-modal{color:var(--ink);inline-size:min(980px,96vw);max-height:min(92dvh,980px);box-shadow:0 24px 64px #0009,inset 0 0 0 1px var(--border),0 0 0 1px color-mix(in srgb,var(--seal-core)12%,transparent);left:50%;top:max(8px,env(safe-area-inset-top));will-change:transform;z-index:2147483646;background:linear-gradient(#101620eb,#080a12d6);border:0;border-radius:22px;margin:0 auto auto;padding:0;position:fixed;overflow:hidden;transform:translate(-50%)translateZ(0)}dialog.valuation-modal::backdrop{background:radial-gradient(900px 600px at 75% -10%,color-mix(in srgb,var(--seal-accent-2)24%,transparent),transparent 40%),radial-gradient(900px 600px at 10% 110%,color-mix(in srgb,var(--seal-aura)20%,transparent),transparent 40%),#00000a8c;-webkit-backdrop-filter:blur(8px)saturate(1.1);backdrop-filter:blur(8px)saturate(1.1)}@supports (height:100dvh){dialog.valuation-modal{max-height:92dvh}}@media (max-width:560px){dialog.valuation-modal{inline-size:100vw;max-height:calc(var(--vh,1vh)*100);top:env(safe-area-inset-top);border-radius:0;margin:0 auto auto;transform:translate(-50%)translateZ(0)}}.valuation-modal.fallback-backdrop{z-index:2147483647;-webkit-backdrop-filter:blur(8px)saturate(1.1);backdrop-filter:blur(8px)saturate(1.1);padding:env(safe-area-inset-top)14px calc(14px + env(safe-area-inset-bottom));background:radial-gradient(1200px 900px at 80% -10%,#00ffd01a,#0000 55%),radial-gradient(900px 700px at 0 110%,#40a0ff1a,#0000 60%),#00000a8a;place-items:end center;display:grid;position:fixed;inset:0}.fallback-sheet{border:1px solid var(--border);width:min(980px,100%);max-height:min(92dvh,980px);box-shadow:0 24px 64px #0009,inset 0 0 0 1px var(--border),0 0 0 1px color-mix(in srgb,var(--seal-core)12%,transparent);will-change:transform,opacity;background:linear-gradient(#101620f5,#080a12e6);border-radius:18px 18px 0 0;animation:.18s ease-out forwards sheet-in;position:relative;overflow:hidden;transform:none}.fallback-sheet:before{content:"";background:#ffffff47;border-radius:999px;width:48px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}@keyframes sheet-in{0%{opacity:.96}to{opacity:1}}.val-chrome{isolation:isolate;flex-direction:column;height:100%;display:flex;position:relative}.val-aura{z-index:0;pointer-events:none;opacity:.8;filter:blur(52px)saturate(1.06);background:radial-gradient(40% 35% at 20% 15%,color-mix(in srgb,var(--seal-core)20%,transparent),transparent 70%),radial-gradient(40% 35% at 80% 85%,color-mix(in srgb,var(--seal-accent-2)16%,transparent),transparent 70%),radial-gradient(35% 30% at 60% 30%,color-mix(in srgb,var(--seal-accent-3)16%,transparent),transparent 70%);animation:aura-breathe var(--pulse)var(--ease-breath)infinite;will-change:transform,opacity,filter;backface-visibility:hidden;position:absolute;inset:-25% -30%;transform:translateZ(0)}@keyframes aura-breathe{0%,to{opacity:.78;filter:blur(52px)saturate(1.06);transform:scale(1)translateZ(0)}50%{opacity:.92;filter:blur(58px)saturate(1.1);transform:scale(1.02)translateZ(0)}}.val-topbar{z-index:2;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);will-change:transform;contain:paint;background:linear-gradient(#0a0c14f0,#0a0c14b3);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 14px;display:grid;position:sticky;top:0;transform:translateZ(0)}.val-title{letter-spacing:.08em;text-transform:uppercase;color:#0000;background:conic-gradient(from 180deg at 50% 50%,var(--seal-core),var(--seal-accent-2),var(--seal-accent-3),var(--seal-core)),radial-gradient(120% 180% at 10% 0%,color-mix(in srgb,var(--seal-core)38%,transparent),transparent 60%);-webkit-text-stroke:.55px #ffffff47;text-shadow:0 0 .5px #ffffff59,0 6px 22px color-mix(in srgb,var(--seal-core)28%,transparent);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;align-items:center;gap:.6rem;margin:0;font-size:clamp(16px,1.2vw + 1rem,22px);font-weight:900;animation:14s linear infinite holoShift;display:flex}.val-title .phi{font-size:1.25em;font-weight:900}@media (prefers-reduced-motion:reduce){.val-title{animation:none}}.val-top-actions{overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;align-items:center;gap:8px;display:flex;overflow-x:auto}.val-top-actions::-webkit-scrollbar{display:none}.btn{appearance:none;cursor:pointer;color:var(--ink);white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;min-height:40px;padding:10px 12px;font-weight:700;transition:transform 80ms,filter .18s,box-shadow .18s,opacity .18s;display:inline-flex;position:relative;overflow:hidden}.btn:hover{filter:brightness(1.07)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--money)90%,white 0%),color-mix(in srgb,var(--seal-accent-2)72%,white 0%));color:#06121a;text-shadow:0 1px #ffffff59;box-shadow:0 6px 16px color-mix(in srgb,var(--money)35%,transparent)}.btn.secondary{background:linear-gradient(180deg,color-mix(in srgb,var(--seal-core).16,transparent),color-mix(in srgb,var(--seal-accent-2).14,transparent));border:1px solid color-mix(in srgb,var(--seal-core)34%,transparent)}.btn.ghost{border:1px solid var(--border);background:#ffffff0d}.close-btn{border-radius:12px;width:42px;height:42px;font-size:22px;line-height:1}.close-btn.holo{background:radial-gradient(120% 120% at 30% 20%,color-mix(in srgb,var(--seal-core)22%,transparent),color-mix(in srgb,var(--seal-accent-2)18%,transparent)50%,#ffffff0a 70%,transparent 100%),#ffffff0f;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px)saturate(1.15);backdrop-filter:blur(10px)saturate(1.15);box-shadow:0 8px 22px #00000073,0 0 24px color-mix(in srgb,var(--seal-core)22%,transparent)}.attach-btn{box-shadow:0 10px 24px color-mix(in srgb,var(--money)35%,transparent),0 0 0 1px color-mix(in srgb,var(--money)25%,transparent)inset;order:999;padding-inline:14px}.attach-btn:hover{filter:brightness(1.08)saturate(1.02)}.attach-btn:active{transform:translateY(1px)}.btn:active:after{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(240px 160px at var(--x,50%)var(--y,50%),#ffffff2e,transparent 60%);will-change:opacity;animation:.45s ease-out forwards ripple;position:absolute;inset:0}@keyframes ripple{0%{opacity:.35}to{opacity:0}}.ticker-price{flex-wrap:wrap;align-items:baseline;gap:12px;line-height:1.05;display:flex}.ticker-price .phi-mark{opacity:.9;margin-right:4px;font-weight:600;transform:translateY(-2px)}.ticker-price .phi-int{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:clamp(28px,8vw,44px);font-weight:700}.ticker-price .phi-frac{font-variant-numeric:tabular-nums;opacity:.9;margin-left:1px;font-size:clamp(18px,6vw,28px);font-weight:600}.ticker-price .usd-inline{opacity:.75;letter-spacing:.01em;white-space:nowrap;font-size:.9rem;font-weight:600}.kpi-subline{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.kpi-subline .dot{opacity:.5}.ticker-price .phi-mark{font-size:clamp(18px,5vw,24px)}@media (max-width:760px){.ticker-price{gap:8px}.ticker-price .usd-inline{order:2;width:100%}}.val-body{min-height:0;max-height:var(--content-max-h);padding:14px 16px 10px;padding-bottom:calc(var(--footer-h) + env(safe-area-inset-bottom));overscroll-behavior-y:contain;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:0 0;flex:auto;overflow:auto}dialog.valuation-modal .val-body,.valuation-modal.fallback-backdrop .val-body{content-visibility:visible!important;contain:none!important}@media (hover:hover) and (min-width:1024px){.val-body{content-visibility:auto;contain:layout paint style;contain-intrinsic-size:800px 600px}}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.hide-xs{display:inline}@media (max-width:560px){.hide-xs{display:none}}.card{border:1px solid var(--border);background:linear-gradient(#ffffff0b,#ffffff05);border-radius:16px;margin-bottom:10px;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 8px 24px #00000059}.card-hd{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.card-bd{padding:10px 12px}.hd-left{align-items:center;gap:8px;display:flex}.figure-xl{letter-spacing:.01em;font-size:clamp(28px,3.8vw + 1rem,56px);font-weight:900}.card[aria-busy=true] .figure-xl{will-change:background-position;background:linear-gradient(90deg,#ffffff0f,#ffffff1f,#ffffff0f);border-radius:10px;width:60%;height:1.2em;animation:1.2s linear infinite shimmer;position:relative}@keyframes shimmer{0%{background-position:-160px 0}to{background-position:160px 0}}.badge{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 10px;display:inline-flex}.badge.dim{color:var(--ink-dim)}.badge.ok{color:var(--ok);border-color:#4ee89a80}.kpi-card .kpi-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.kpi-card .kpi-main{flex:260px;min-width:220px}.kpi-card .kpi-spark{flex:360px;min-width:260px;position:relative}.kpi-subline .gain{color:#39e29e}.kpi-subline .loss{color:#ff6b7a}.live-chip{border:1px solid color-mix(in srgb,var(--ok)40%,transparent);height:32px;color:var(--ok);letter-spacing:.02em;box-shadow:0 0 0 1px color-mix(in srgb,var(--ok)12%,transparent)inset;background:#4ee89a14;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.live-dot{background:var(--ok);will-change:box-shadow;border-radius:50%;width:8px;height:8px;animation:1.6s ease-out infinite pulseDot;box-shadow:0 0 #4ee89ab3}@keyframes pulseDot{0%{box-shadow:0 0 #4ee89ab3}70%{box-shadow:0 0 0 10px #4ee89a00}to{box-shadow:0 0 #4ee89a00}}.ticker-price{transition:color .18s,text-shadow .18s}.flash-up{text-shadow:0 0 10px #49f3b559;color:#49f3b5!important}.flash-down{text-shadow:0 0 10px #ff7a8a59;color:#ff7a8a!important}.live-chart{border:1px solid var(--border);will-change:transform,opacity;background:linear-gradient(#ffffff08,#ffffff04);border-radius:12px;padding:6px 6px 2px;position:relative;transform:translateZ(0);box-shadow:inset 0 0 0 1px #ffffff05,0 6px 18px #00000040}.live-chart:after{content:"";pointer-events:none;background:radial-gradient(50% 50% at 85% 20%,color-mix(in srgb,var(--glow)80%,transparent),transparent 60%);opacity:.07;animation:chart-breathe var(--pulse)var(--ease-breath)infinite;will-change:opacity,transform;backface-visibility:hidden;border-radius:12px;position:absolute;inset:-2px;transform:translateZ(0)}@keyframes chart-breathe{0%,to{opacity:.05;transform:scale(1)translateZ(0)}50%{opacity:.12;transform:scale(1.01)translateZ(0)}}.spark-meta{align-items:center;gap:8px;margin:0 0 6px 2px;display:flex}.kpi-donut{pointer-events:none;opacity:.92;filter:drop-shadow(0 6px 18px #00000059);place-items:center;width:120px;height:120px;display:grid;position:absolute;bottom:4px;right:6px}@media (max-width:980px){.kpi-donut{display:none}}.section{margin-top:10px}.section-title{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;margin:6px 0 8px;font-weight:800;display:flex}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grid .wide{grid-column:1/-1}@media (max-width:760px){.grid{grid-template-columns:1fr}}.tile{border:1px solid var(--border);background:#ffffff0a;border-radius:12px;grid-template-columns:140px 1fr;align-items:baseline;gap:8px;padding:10px 12px;display:grid}.tile strong{color:var(--seal-core)}.val-footer{z-index:1;border-top:1px solid var(--border);background:linear-gradient(0deg,color-mix(in srgb,var(--seal-core)6%,transparent),transparent 40%);padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;bottom:0;transform:translateZ(0)}.footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tt-card{border:1px solid var(--border);color:var(--ink);background:#0a0c14f5;border-radius:12px;min-width:180px;padding:10px 12px;box-shadow:0 8px 24px #00000059}.tt-row{justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;display:flex}.tt-row+.tt-row{border-top:1px dashed #ffffff14}.tt-row strong{color:var(--seal-core);font-weight:900}.tt-row strong.gain{color:#39e29e}.tt-row strong.loss{color:#ff6b7a}.tt-phi-icon{vertical-align:-2px;opacity:.95;width:12px;height:12px;margin:0 6px 0 0;display:inline-block}.chart-hint{text-align:center;color:var(--ink-dim);opacity:.9;margin-top:6px}.live-chart text{paint-order:stroke fill;stroke:#00000059;stroke-width:.6px}.val-body::-webkit-scrollbar{width:10px;height:10px}.val-body::-webkit-scrollbar-thumb{background:linear-gradient(#ffffff24,#ffffff14) padding-box padding-box;border:2px solid #0000;border-radius:999px}.val-body::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.val-layout{grid-template-columns:minmax(0,1fr)minmax(var(--aside-w),30%);align-items:start;gap:12px;display:grid}.val-main{min-width:0}.val-aside{top:calc(var(--aside-sticky-top) + 48px);will-change:transform;align-self:start;position:sticky;transform:translateZ(0)}@media (max-width:980px){.val-layout{grid-template-columns:1fr}.val-aside{position:relative;top:auto}}.drivers-card{background:linear-gradient(#ffffff0d,#ffffff06);flex-direction:column;max-height:min(72vh,680px);display:flex;transform:translateZ(0)}.drivers-search{z-index:1;border-bottom:1px dashed var(--border);will-change:transform;background:linear-gradient(#0a0c14f5,#0a0c14d9);padding:8px 10px 0;position:sticky;top:0;transform:translateZ(0)}.drivers-input{appearance:none;border:1px solid var(--border);width:100%;color:var(--ink);background:radial-gradient(90% 120% at 0 0,#ffffff14,#0000 60%),#ffffff0f;border-radius:12px;padding:10px 12px 10px 36px;font-weight:600;transition:box-shadow .18s,border-color .18s,background .18s;box-shadow:inset 0 0 0 1px #ffffff0a}.drivers-input::placeholder{color:color-mix(in srgb,var(--seal-text-dim)72%,#8aa0b5 28%)}.drivers-input:focus{border-color:color-mix(in srgb,var(--seal-core)35%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--seal-core)18%,transparent);outline:none}.drivers-search:before{content:"";opacity:.55;pointer-events:none;background-color:#0000;background-image:radial-gradient(circle at 6px 6px,#ffffffe6 0 3px,#0000 3px),linear-gradient(90deg,#ffffffe6 0 100%);background-position:0 0,9px 10px;background-repeat:no-repeat;background-size:12px 12px,10px 2px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:16px;height:16px;position:absolute;top:calc(50% + 2px);left:18px;transform:translateY(-50%)}.drivers-panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;contain:layout paint style;touch-action:pan-y;padding:8px 10px 10px;overflow:auto}.drivers-section+.drivers-section{margin-top:10px}.drivers-title{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:var(--seal-text);border-bottom:1px dashed var(--border);will-change:transform;background:linear-gradient(#080a12fa,#080a12db);margin:0 -10px;padding:8px 10px;font-size:.85rem;font-weight:900;position:sticky;top:0;transform:translateZ(0);box-shadow:0 12px 18px -14px #0000008c}.drivers-grid{grid-template-columns:160px minmax(0,1fr);gap:8px;padding:8px 0 2px;display:grid}@media (max-width:420px){.drivers-grid{grid-template-columns:130px minmax(0,1fr)}}.drivers-row{display:contents}.drivers-k{color:var(--ink-dim);letter-spacing:.01em;border:1px dashed var(--border);background:#ffffff09;border-radius:10px;align-self:center;padding:8px 10px;font-weight:700}.drivers-v{border:1px solid var(--border);color:var(--seal-core);word-break:break-word;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:#ffffff0f;border-radius:10px;padding:8px 10px;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff05}.drivers-v.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.drivers-grid .drivers-k:hover,.drivers-grid .drivers-v:hover{box-shadow:0 6px 18px #00000040,0 0 0 1px color-mix(in srgb,var(--seal-core)10%,transparent)inset;filter:brightness(1.02)}.drivers-grid .drivers-k,.drivers-grid .drivers-v{position:relative}.drivers-grid .drivers-k:after,.drivers-grid .drivers-v:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);height:1px;position:absolute;bottom:-5px;left:10px;right:10px}.drivers-panel::-webkit-scrollbar{width:10px}.drivers-panel::-webkit-scrollbar-thumb{background:linear-gradient(#ffffff29,#ffffff14) padding-box padding-box;border:2px solid #0000;border-radius:999px}.drivers-panel::-webkit-scrollbar-track{background:0 0}.val-aside .drivers-card{max-height:calc(100vh - 180px)}@media (max-width:560px){.val-layout{grid-template-columns:1fr}.val-aside{position:relative;top:auto}.drivers-card{max-height:none}.drivers-card.mobile-inline{max-height:clamp(260px,calc(var(--vh,1vh)*56),72vh);flex-direction:column;display:flex}.drivers-card.mobile-inline .drivers-panel{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;contain:layout paint style;touch-action:pan-y;padding-bottom:10px;overflow:auto!important}.drivers-card.mobile-inline .drivers-search{z-index:2;position:sticky;top:0}}.mobile-actions.actions-card{border:1px solid var(--border);background:linear-gradient(#ffffff0d,#ffffff06);border-radius:14px;margin-top:8px;box-shadow:0 10px 24px #00000059}.mobile-actions .card-bd{padding:10px 12px}.actions-balance-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.balance-chip{height:34px;color:var(--ok);border:1px solid color-mix(in srgb,var(--ok)45%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok)16%,transparent)inset;letter-spacing:.02em;background:#4ee89a1a;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:800;display:inline-flex}.actions-grid{grid-template-columns:1fr 130px;gap:8px;margin-top:8px;display:grid}.btn-full{width:100%}.send-amt-input{appearance:none;color:#fffffff2;font-variant-numeric:tabular-nums;background:#00000059;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;height:38px;padding:8px 12px;transition:border-color .16s,box-shadow .16s,background .16s}.send-amt-input::placeholder{color:#ffffff73}.send-amt-input:focus{background:#0000006b;border-color:#37ffe4bf;box-shadow:0 0 0 3px #37ffe42e}@media (max-width:400px){.actions-grid{grid-template-columns:1fr 112px}}@media (max-width:560px){.val-top-actions{gap:8px}}.card.donors-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;overflow:hidden}.donors-bd{padding:12px 14px 16px}.donors-grid{grid-template-columns:1fr;gap:10px;display:grid}.donor-row{grid-template-columns:minmax(240px,1fr) 140px auto;align-items:center;gap:10px;display:grid}@media (max-width:760px){.donor-row{grid-template-columns:1fr 1fr auto}}.donor-url,.donor-amt{appearance:none;color:#fffffff2;background:#00000059;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;height:38px;padding:8px 12px;transition:border-color .16s,box-shadow .16s,background .16s}.donor-url::placeholder,.donor-amt::placeholder{color:#ffffff73}.donor-url:focus,.donor-amt:focus{background:#0000006b;border-color:#37ffe4bf;box-shadow:0 0 0 3px #37ffe42e}.donor-amt{text-align:right;font-variant-numeric:tabular-nums}.donors-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.donors-actions .btn{position:relative;overflow:hidden}.donors-actions .btn:after{content:"";background:radial-gradient(circle at var(--x,50%)var(--y,50%),#37ffe440,transparent 45%);opacity:0;pointer-events:none;transition:opacity .22s;position:absolute;inset:0}.donors-actions .btn:active:after{opacity:1}.card.donors-card .small.subtle{opacity:.8}@media (max-width:560px){.val-topbar{padding:8px 10px}.val-title{letter-spacing:.06em;-webkit-text-stroke:.45px #ffffff40;font-size:clamp(15px,.9rem + 1vw,18px)}.btn{min-height:36px;padding:8px 10px}.btn.small{min-height:32px;padding:7px 9px}.close-btn{width:36px;height:36px;font-size:20px}.live-chip{height:26px;padding:0 10px}.card-hd,.card-bd{padding:8px 10px}.kpi-card .kpi-row{gap:8px}.kpi-card .kpi-main{min-width:200px}.kpi-card .kpi-spark{min-width:220px}.figure-xl{font-size:clamp(24px,3.1vw + 1rem,40px)}.kpi-subline{text-overflow:ellipsis;white-space:nowrap;opacity:.95;display:block;overflow:hidden}.live-chart{padding:4px 4px 0}.spark-meta{opacity:.9;margin:0 0 4px 2px}.kpi-donut{display:none!important}.section-title{margin:6px 0}.drivers-grid{grid-template-columns:120px minmax(0,1fr);gap:6px}.drivers-k,.drivers-v{padding:7px 9px}}.val-chrome[data-compact="1"] .kpi-donut{display:none!important}.glyph-import-backdrop,.glyph-import-modal{--phi:1.61803;--bg-0:#040607;--bg-1:#0a1012;--glass:#141c1f8c;--line:#00ffd047;--line-strong:#00ffd0a8;--accent:#d63e00;--accent-2:#00ffd0;--ok:#21d19f;--warn:#f6c453;--err:#ff5d5d;--txt:#e6f3ef;--muted:#9fb7b1;--mono:#8ee9d2;--radius:24px;--gap:clamp(12px,2.8vmin,22px);--panel:linear-gradient(180deg,#060a0cb3,#060a0c8c);--ring:0 0 0 2px var(--line-strong);--shadow-1:0 8px 32px #00000073;--shadow-2:0 0 32px #00ffd01f,inset 0 0 32px #00ffd00f}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.glyph-import-modal,.glyph-import-modal *{box-sizing:border-box}.glyph-import-backdrop{background:radial-gradient(1200px 900px at 20% -10%,#00ffd014,transparent 60%),radial-gradient(1000px 800px at 120% 110%,#ff501e0f,transparent 60%),linear-gradient(180deg,var(--bg-0),var(--bg-1));z-index:1000;overscroll-behavior:contain;place-items:center;padding:4vmin;display:grid;position:fixed;inset:0}.glyph-import-modal{color:var(--txt);background:var(--panel);-webkit-backdrop-filter:blur(16px)saturate(1.02);backdrop-filter:blur(16px)saturate(1.02);width:min(880px,100vw);max-width:100vw;max-height:min(92dvh,760px);box-shadow:var(--shadow-1),var(--shadow-2);border-radius:var(--radius);-webkit-overflow-scrolling:touch;gap:var(--gap);touch-action:manipulation;border:1px solid #00ffd02e;flex-direction:column;padding:clamp(16px,3vmin,28px);display:flex;overflow:hidden auto}@media (max-width:640px){.glyph-import-modal{width:100vw;height:100dvh;max-height:100dvh;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-top:calc(max(16px,env(safe-area-inset-top)) + 4px);padding-bottom:calc(max(16px,env(safe-area-inset-bottom)) + 4px);border-radius:0}}.close-button{z-index:2;width:44px;height:44px;color:var(--muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-self:flex-end;place-items:center;transition:all .16s;display:grid;position:sticky;top:8px}.close-button:hover{color:var(--txt);border-color:#ffffff29;transform:translateY(-1px)}.modal-header{text-align:center;padding-inline:2px}.modal-title{letter-spacing:.02em;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent));color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:clamp(20px,5vw,32px);font-weight:800;line-height:1.15;animation:8s linear infinite title-glow}@keyframes title-glow{to{background-position:200%}}.modal-sub{color:var(--muted);letter-spacing:.03em;margin-top:6px}.upload-section{border-radius:calc(var(--radius)*.75);border:1px dashed var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#00ffd00d,#00ffd005),radial-gradient(120% 140% at 50% 0,#ff501e0d,#0000 50%);place-items:center;gap:8px;padding:clamp(14px,4.5vmin,22px);transition:all .2s;display:grid;position:relative}.upload-section:hover{border-color:var(--line-strong);transform:translateY(-1px)}.upload-section svg{opacity:.9;filter:drop-shadow(0 0 12px #00ffd040)}.upload-title{letter-spacing:.02em;font-weight:600}.upload-sub{color:var(--muted);font-size:.95rem}.file-name{color:var(--mono);opacity:.9;word-break:break-all;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}.import-status{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:10px;padding:10px 14px;display:flex}.import-status.ok{border-color:#21d19f42}.import-status.warn{border-color:#f6c45342}.import-status.err{border-color:#ff5d5d42}.import-status .label{letter-spacing:.02em;font-weight:600}.success-icon{color:var(--ok)}.import-preview{border-radius:calc(var(--radius)*.75);background:linear-gradient(#000a0859,#000a0826);border:1px solid #00ffd02e;padding:clamp(12px,3.8vmin,18px);box-shadow:inset 0 0 24px #00ffd012}.kv{border-bottom:1px dashed #ffffff0f;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:8px 14px;padding:8px 0;display:grid}.kv:last-child{border-bottom:0}.kv .k,.kv .v{min-width:0}.kv .k{color:var(--muted)}.kv .v{font-weight:600}.mono{overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chip{height:28px;color:var(--txt);letter-spacing:.02em;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.chip.warn{color:var(--warn);border-color:#f6c45359}.phi-credit{margin-top:12px}.phi-credit label{color:var(--muted);margin-bottom:8px;display:block}.phi-credit em{color:var(--txt);opacity:.9;font-style:normal}.credit-row{grid-template-columns:minmax(0,1fr) repeat(4,minmax(0,max-content));gap:10px;display:grid}@media (max-width:420px){.credit-row{grid-template-columns:1fr 1fr 1fr}.credit-row .chip.quick:nth-last-child(2){grid-column:span 2}}.phi-credit input[type=number]{width:100%;color:var(--txt);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;outline:none;padding:14px;font-size:16px}.phi-credit input[type=number]:focus{box-shadow:var(--ring)}.chip.quick{cursor:pointer;transition:all .16s}.chip.quick:hover{border-color:var(--line-strong);transform:translateY(-1px)}.helper{color:var(--muted);margin-top:8px}.helper.error{color:var(--err)}.import-confirm{width:100%;color:var(--txt);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.03em;cursor:pointer;background:radial-gradient(120% 120% at 80% 0,#00ffd01f,#0000 40%),linear-gradient(#00ffd040,#00ffd01f);border:1px solid #00ffd059;border-radius:14px;margin-top:12px;padding:14px 16px;font-weight:800;transition:all .2s;box-shadow:0 10px 24px #00ffd026}.import-confirm:hover{transform:translateY(-1px);box-shadow:0 16px 36px #00ffd040}.import-confirm:disabled{opacity:.55;cursor:not-allowed}.import-error{color:var(--err);background:#ff5d5d0f;border:1px solid #ff5d5d40;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.modal-footer{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--muted);background:linear-gradient(#060a0c00,#060a0c8c);border-top:1px solid #ffffff0f;align-items:center;gap:10px;margin-top:auto;padding-top:10px;display:flex;position:sticky;bottom:0}.modal-footer .seal{color:var(--accent);filter:drop-shadow(0 0 6px #ff501e59);font-weight:900}@media (pointer:coarse){.chip,.import-confirm,.close-button{min-height:44px}.upload-section{padding:18px}}:root{--pulse:5.236s;--ease-breath:cubic-bezier(.33,.01,.24,1);--seal-text:#e8fbf8;--seal-text-dim:#aee8df;--seal-core:#37ffe4;--seal-aura:#11d7ff;--seal-accent-2:#a78bfa;--seal-accent-3:#5ce1ff;--border:#ffffff1f;--ok:#4ee89a;--warn:#ffd166;--error:#ff6b7a;--money:#00d09c;--ring:color-mix(in srgb,var(--seal-core)65%,transparent)}::selection{background:color-mix(in srgb,var(--seal-core)35%,#0b1620);color:#041017}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-overlay{z-index:2147483000;padding:env(safe-area-inset-top)14px calc(14px + env(safe-area-inset-bottom));background:radial-gradient(1200px 900px at 75% -10%,color-mix(in srgb,var(--seal-accent-2)18%,transparent),transparent 55%),radial-gradient(1000px 800px at 10% 110%,color-mix(in srgb,var(--seal-aura)18%,transparent),transparent 60%),#00000a8c;-webkit-backdrop-filter:blur(8px)saturate(1.12);backdrop-filter:blur(8px)saturate(1.12);place-items:center;animation:.22s ease-out both overlayIn;display:grid;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:.92}to{opacity:1}}.send-sigil-modal{width:100%;max-width:480px;color:var(--seal-text);border:1px solid var(--border);box-shadow:0 24px 64px #0000008c,inset 0 0 0 1px #ffffff0f,0 0 0 1px color-mix(in srgb,var(--seal-core)12%,transparent);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:linear-gradient(#101620f5,#080a12e6);border-radius:18px;padding:16px 16px 14px;animation:.22s ease-out both fadeIn;position:relative;overflow:hidden;transform:translateZ(0)}.send-sigil-modal:before{content:"";z-index:0;pointer-events:none;opacity:.9;filter:blur(52px)saturate(1.06);background:radial-gradient(40% 35% at 20% 15%,color-mix(in srgb,var(--seal-core)22%,transparent),transparent 70%),radial-gradient(40% 35% at 80% 85%,color-mix(in srgb,var(--seal-accent-2)18%,transparent),transparent 70%),radial-gradient(35% 30% at 60% 30%,color-mix(in srgb,var(--seal-accent-3)16%,transparent),transparent 70%);animation:auraBreathe var(--pulse)var(--ease-breath)infinite;position:absolute;inset:-25% -30%}@keyframes auraBreathe{0%,to{opacity:.78;filter:blur(52px)saturate(1.06);transform:scale(1)translateZ(0)}50%{opacity:.95;filter:blur(58px)saturate(1.1);transform:scale(1.02)translateZ(0)}}.send-sigil-modal h2{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:#0000;background:conic-gradient(from 180deg at 50% 50%,var(--seal-core),var(--seal-accent-2),var(--seal-accent-3),var(--seal-core)),radial-gradient(120% 180% at 10% 0%,color-mix(in srgb,var(--seal-core)38%,transparent),transparent 60%);-webkit-text-stroke:.5px #ffffff47;text-shadow:0 0 .5px #ffffff59,0 6px 22px color-mix(in srgb,var(--seal-core)22%,transparent);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;padding-right:42px;font-size:clamp(16px,1.1rem + .4vw,20px);font-weight:900;animation:14s linear infinite holoShift;position:relative}.close-btn{z-index:2;border:1px solid var(--border);background:radial-gradient(120% 120% at 30% 20%,color-mix(in srgb,var(--seal-core)18%,transparent),color-mix(in srgb,var(--seal-accent-2)14%,transparent)50%,#ffffff0a 70%,transparent 100%),#ffffff0f;-webkit-backdrop-filter:blur(8px)saturate(1.12);backdrop-filter:blur(8px)saturate(1.12);width:38px;height:38px;box-shadow:0 10px 24px #00000073,0 0 22px color-mix(in srgb,var(--seal-core)18%,transparent);color:var(--seal-text);cursor:pointer;border-radius:12px;place-items:center;transition:filter .18s,transform 80ms;display:grid;position:absolute;top:10px;right:10px}.close-btn:hover{filter:brightness(1.07)}.field-group{z-index:1;flex-direction:column;gap:6px;margin:12px 0;display:flex;position:relative}.field-group label{color:color-mix(in srgb,var(--seal-text-dim)92%,#8aa0b5 8%);letter-spacing:.02em;font-size:.9rem;font-weight:700}.field-group input{appearance:none;border:1px solid var(--border);color:#e8fbf8fa;background:radial-gradient(90% 120% at 0 0,#ffffff14,#0000 60%),#0f121c;border-radius:10px;height:40px;padding:10px 12px;font-size:1rem;font-weight:600;transition:box-shadow .18s,border-color .18s,background .18s;box-shadow:inset 0 0 0 1px #ffffff0a}.field-group input::placeholder{color:color-mix(in srgb,var(--seal-text-dim)72%,#8aa0b5 28%)}.field-group input:focus{border-color:color-mix(in srgb,var(--seal-core)38%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--seal-core)18%,transparent);outline:none}.balance-hint{color:var(--seal-text-dim);opacity:.9;margin-top:4px;font-size:.78rem}.error-msg{color:var(--error);border-left:2px solid color-mix(in srgb,var(--error)60%,transparent);margin-top:.5rem;padding-left:8px;font-size:.9rem}.send-btn{cursor:pointer;color:#04121a;text-shadow:0 1px #ffffff59;background:linear-gradient(180deg,color-mix(in srgb,var(--money)92%,white 0%),color-mix(in srgb,var(--seal-accent-2)70%,white 0%));min-height:40px;box-shadow:0 10px 26px color-mix(in srgb,var(--money)35%,transparent),0 0 0 1px color-mix(in srgb,var(--money)22%,transparent)inset;border:none;border-radius:12px;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-weight:800;transition:transform 80ms,filter .16s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden}.send-btn:hover{filter:brightness(1.06)saturate(1.02)}.send-btn:active{transform:translateY(1px)}.send-btn:active:after{content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(220px 160px,#ffffff40,#0000 60%);animation:.45s ease-out forwards ripple;position:absolute;inset:0}.send-btn:disabled{filter:grayscale(.2)saturate(.7)opacity(.8);cursor:not-allowed;box-shadow:0 6px 18px #0000004d,inset 0 0 0 1px #ffffff0f}.small{font-size:.82rem}.subtle{color:color-mix(in srgb,var(--seal-text-dim)92%,#90a7c2 8%)}@keyframes fadeIn{0%{opacity:.96;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.send-sigil-modal{width:100%;max-width:100vw;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:16px}.close-btn{border-radius:12px;width:36px;height:36px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.modal-overlay{z-index:1000;background:#0003;place-items:center;padding:8px;display:grid;position:fixed;inset:0}.send-sigil-modal{color:#e6e7eb;background:#0b0c10;border:none;border-radius:14px;width:min(920px,100vw);height:auto;max-height:100dvh;margin:0;padding:0;overflow:hidden;box-shadow:0 10px 30px #00000073,0 2px 8px #00000059}@media (max-width:720px){.send-sigil-modal{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}}.modal-viewport{flex-direction:column;height:100%;max-height:100dvh;display:flex}.modal-topbar{z-index:2;background:linear-gradient(#ffffff0a,#0000);border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:14px 16px;display:grid;position:sticky;top:0}.modal-title{overflow-wrap:anywhere;margin:0;padding:0;font-size:1.1rem;font-weight:600;line-height:1.2}.close-btn{color:#e6e7eb;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;place-items:center;width:34px;height:34px;transition:transform .12s,background .12s,border-color .12s;display:inline-grid}.close-btn:hover{background:#ffffff14;border-color:#ffffff38}.close-btn:active{transform:scale(.98)}.modal-body{flex:auto;min-height:0;padding:12px 16px;overflow:auto;container-type:inline-size}.modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));z-index:2;background:linear-gradient(#0000,#ffffff0a);border-top:1px solid #ffffff14;grid-template-columns:auto 1fr;align-items:center;gap:12px;display:grid;position:sticky;bottom:0}.send-btn{appearance:none;color:#e6e7eb;letter-spacing:.2px;cursor:pointer;background:radial-gradient(100% 100% at 0 0,#ffffff1a,#ffffff0a);border:1px solid #ffffff2e;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-weight:600;transition:transform .12s,background .12s,border-color .12s,opacity .12s;display:inline-flex}.send-btn:hover{background:radial-gradient(100% 100% at 0 0,#ffffff24,#ffffff0f);border-color:#ffffff42}.send-btn:disabled{opacity:.6;cursor:default}.send-btn:active:not(:disabled){transform:translateY(1px)}.ico-exhale{font-size:18px;line-height:1;display:inline-block;transform:translateY(1px)}.status-line{opacity:.8;overflow-wrap:anywhere;margin:0;font-size:.85rem}.error-msg{color:#ffd9d9;background:#ff47471f;border:1px solid #ff47474d;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:.95rem}.small.subtle{opacity:.8;font-size:.85rem}.send-sigil-modal::backdrop{background:0 0}@container (width<=560px){.modal-body{padding:10px}}.modal-body,.send-sigil-modal{overscroll-behavior:contain}:root{--kk-bg:#0d0f12;--kk-surface:#12151b;--kk-surface-2:#171b22;--kk-text:#eaf1ff;--kk-text-dim:#b9c4d9;--kk-text-mute:#8592aa;--kk-accent:#56ffe3;--kk-accent-2:#9ef7ff;--kk-gold:#f5d98d;--kk-amber:#ffdba6;--kk-emerald:#3de1a7;--kk-crystal:#ffffff0f;--kk-border:#ffffff17;--kk-ring:#96ffe473;--kk-font-ui:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans","Apple Color Emoji","Segoe UI Emoji";--kk-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--kk-radius-sm:10px;--kk-radius:14px;--kk-radius-lg:18px;--kk-shadow-1:0 10px 30px #00000040,inset 0 1px 0 #ffffff08;--kk-shadow-2:0 18px 44px #0000005c,inset 0 1px 0 #ffffff0d;--kk-grad-hero:radial-gradient(1200px 800px at 85% -10%,#56ffe31f,transparent 55%),radial-gradient(900px 700px at -20% 120%,#9ff7ff1a,transparent 45%),linear-gradient(180deg,#ffffff04,transparent);--kk-chip-live:linear-gradient(180deg,#3de1a740,#3de1a726);--kk-chip-locked:linear-gradient(180deg,#f5d98d47,#f5d98d29);--kk-btn-grad:linear-gradient(180deg,#93ffe9,#49ffd7);--kk-btn-grad-press:linear-gradient(180deg,#7dffe3,#2ef8c7);--kk-focus:0 0 0 3px var(--kk-ring),0 0 24px #56ffe340}.kk-note{font-family:var(--kk-font-ui);color:var(--kk-text);background:var(--kk-bg);border:1px solid var(--kk-border);border-radius:var(--kk-radius-lg);box-shadow:var(--kk-shadow-2);padding:18px;overflow:hidden}.kk-note *{box-sizing:border-box}.kk-bar{background:linear-gradient(180deg,var(--kk-surface-2),transparent);border:1px solid var(--kk-border);border-radius:var(--kk-radius);box-shadow:var(--kk-shadow-1);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.kk-brand{letter-spacing:.4px;text-transform:uppercase;color:var(--kk-text);font-weight:700}.kk-legal-pill{white-space:nowrap;font-variant-numeric:slashed-zero;border:1px solid var(--kk-border);color:var(--kk-text-dim);background:linear-gradient(#ffffff0d,#ffffff05);border-radius:999px;padding:6px 10px;font-size:12px}.kk-hero{background:var(--kk-surface);background-image:var(--kk-grad-hero);border:1px solid var(--kk-border);border-radius:var(--kk-radius-lg);box-shadow:var(--kk-shadow-2);isolation:isolate;margin-top:16px;padding:18px 18px 14px;position:relative;overflow:hidden}.kk-hero:before{content:"";pointer-events:none;mix-blend-mode:overlay;opacity:.7;background:conic-gradient(from 180deg at 50% 0,#56ffe31f,#0000 30% 70%,#f5d98d1a),radial-gradient(800px 300px at 50% -10%,#ffffff0d,#0000 60%);position:absolute;inset:0}.kk-hero.is-live{outline:1px solid #3de1a733}.kk-hero.is-locked{outline:1px solid #f5d98d33}.kk-status{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.kk-chip{color:var(--kk-text);border:1px solid var(--kk-border);letter-spacing:.3px;background:linear-gradient(#ffffff0a,#ffffff05);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.kk-chip-pulse{font-variant-numeric:tabular-nums}.chip-live{background:var(--kk-chip-live);border-color:#3de1a759;animation:2.6s ease-in-out infinite kkPulse;box-shadow:0 0 #3de1a752}.chip-locked{background:var(--kk-chip-locked);border-color:#f5d98d61}@keyframes kkPulse{0%{box-shadow:0 0 #3de1a761}70%{box-shadow:0 0 0 10px #3de1a700}to{box-shadow:0 0 #3de1a700}}.kk-value-row{grid-template-columns:1fr minmax(280px,38%);align-items:center;gap:16px;display:grid}@media (max-width:980px){.kk-value-row{grid-template-columns:1fr}}.kk-value-block{background:linear-gradient(180deg,var(--kk-crystal),transparent 60%);border:1px solid var(--kk-border);border-radius:var(--kk-radius);box-shadow:var(--kk-shadow-1);padding:14px 16px}.kk-value-label{letter-spacing:3px;text-transform:uppercase;color:var(--kk-text-mute);margin-bottom:6px;font-size:12px}.kk-value{align-items:flex-end;gap:10px;line-height:1;display:flex}.kk-value-sigil{letter-spacing:-.02em;background:linear-gradient(180deg,var(--kk-accent),var(--kk-accent-2));color:#0000;filter:drop-shadow(0 6px 22px #56ffe340);-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,5vw,44px);font-weight:800}.kk-value-int{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";letter-spacing:-.02em;font-size:clamp(40px,8vw,68px);font-weight:800}.kk-value-frac{font-variant-numeric:tabular-nums;color:var(--kk-text-dim);padding-bottom:4px;font-size:clamp(18px,3.2vw,28px)}.kk-value-usd{color:var(--kk-text-mute);margin-top:6px;font-size:14px}.kk-cta{align-content:start;gap:10px;display:grid}.kk-locked-banner{border-radius:var(--kk-radius);background:linear-gradient(#f5d98d1a,#f5d98d0f);border:1px dashed #f5d98d80;padding:10px 12px}.kk-locked-title{color:var(--kk-gold);letter-spacing:.3px;font-weight:700}.kk-locked-sub{color:var(--kk-text-dim);font-size:13px;font-family:var(--kk-font-mono);word-break:break-word;margin-top:2px}.kk-btn{appearance:none;border:1px solid var(--kk-border);color:var(--kk-text);letter-spacing:.2px;cursor:pointer;box-shadow:var(--kk-shadow-1);background:linear-gradient(#ffffff0a,#ffffff05);border-radius:12px;padding:10px 14px;font-weight:600;transition:transform .12s,box-shadow .12s,border-color .12s}.kk-btn:hover{border-color:#fff3;transform:translateY(-1px)}.kk-btn:active{transform:translateY(0);box-shadow:inset 0 6px 14px #00000029}.kk-btn[disabled]{opacity:.6;cursor:not-allowed}.kk-btn-primary{background:var(--kk-btn-grad);color:#00241e;border-color:#56ffe380;box-shadow:0 16px 36px #56ffe340,inset 0 1px #fff6}.kk-btn-primary:hover{box-shadow:0 20px 44px #56ffe352,inset 0 1px #ffffff80}.kk-btn-primary:active{background:var(--kk-btn-grad-press)}.kk-btn-ghost{background:0 0;border-color:#ffffff29}.kk-btn-xl{border-radius:14px;padding:14px 18px;font-size:16px}.kk-row{grid-template-columns:160px 1fr;align-items:center;gap:12px;margin-top:14px;display:grid}@media (max-width:700px){.kk-row{grid-template-columns:1fr}}.kk-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:900px){.kk-grid{grid-template-columns:1fr}}.kk-stack{gap:12px;display:grid}.kk-row>label{color:var(--kk-text-mute);letter-spacing:.2px;font-size:13px}.kk-row input,.kk-row textarea{width:100%;color:var(--kk-text);background:var(--kk-surface-2);border:1px solid var(--kk-border);border-radius:12px;outline:none;padding:10px 12px;transition:box-shadow .12s,border-color .12s,background .12s;box-shadow:inset 0 1px #ffffff08}.kk-row textarea{resize:vertical;min-height:120px}.kk-row input::placeholder,.kk-row textarea::placeholder{color:var(--kk-text-mute)}.kk-row input:focus,.kk-row textarea:focus{box-shadow:var(--kk-focus);background:linear-gradient(180deg,#56ffe30d,var(--kk-surface-2));border-color:#56ffe399}.kk-row input[disabled],.kk-row textarea[disabled]{opacity:.7;filter:saturate(.85);cursor:not-allowed}.kk-out{font-family:var(--kk-font-mono);background:linear-gradient(#ffffff08,#ffffff05)}.kk-actions{margin-top:12px}.kk-flex{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.kk-note-preview{border-radius:var(--kk-radius-lg);border:1px solid var(--kk-border);background:repeating-linear-gradient(45deg,#ffffff04,#ffffff04 8px,#00000005 8px,#00000005 16px),var(--kk-surface);min-height:280px;box-shadow:var(--kk-shadow-2);margin-top:16px;position:relative;overflow:hidden}.kk-note-preview:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 40%,#ffffff0f,#0000 60%);animation:3.8s ease-in-out infinite kkGlint;position:absolute;inset:0;transform:translate(-100%)}@keyframes kkGlint{0%{transform:translate(-120%)}45%{transform:translate(0%)}to{transform:translate(120%)}}.kk-btn:focus-visible,.kk-row input:focus-visible,.kk-row textarea:focus-visible{box-shadow:var(--kk-focus);outline:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.kk-note,.kk-bar,.kk-hero,.kk-row,.kk-grid,.kk-stack,.kk-actions,.kk-note-preview{display:none!important}#print-root{display:block!important}body{background:#fff!important}}::selection{background:#56ffe340}.kk-hero .kk-status+.kk-value-row{border-top:1px dashed var(--kk-border);padding-top:14px}input[readonly],textarea[readonly]{font-family:var(--kk-font-mono);letter-spacing:.2px} diff --git a/dist/assets/index-BRD6BMdN.js b/dist/assets/index-DW_ZnoNU.js similarity index 99% rename from dist/assets/index-BRD6BMdN.js rename to dist/assets/index-DW_ZnoNU.js index f83219e38..efbbff587 100644 --- a/dist/assets/index-BRD6BMdN.js +++ b/dist/assets/index-DW_ZnoNU.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KaiVohModal-BqDfvEQV.js","assets/x-DqyVJUhJ.js","assets/SigilAuthContext-D65FNUcD.js","assets/SigilAuthProvider-DUGvkie1.js","assets/sessionStorage-CKL6_xzc.js","assets/KaiVohModal-CFE3AqF3.css","assets/SigilModal-DEPen6Uw.js","assets/SealMomentModal-BVedI60g.js","assets/SigilModal-DkjYmacD.js","assets/webauthnKAS-B61nfyUR.js","assets/SigilModal-wz88cbxi.css","assets/SigilExplorer-tFV0CAfK.js","assets/SigilExplorer-BluaEhKm.css","assets/VerifyPage-Dt8slhsT.js","assets/browser-CcokOQRV.js","assets/VerifierFrame-_NAWoYos.js","assets/VerifierFrame-CSoanQJ_.css","assets/useValuation-CfYM8VCs.js","assets/verifySigil-CLCg0_56.js","assets/VerifyPage-B58q2q6J.css","assets/EternalKlock-CfKWqeTU.js","assets/EternalKlock-CgOJptA0.js","assets/EternalKlock-CurIGltn.css","assets/SigilStreamRoot-D7xvdnEa.js","assets/SigilStreamRoot-Dsza39XK.js","assets/ticker-Dx-CZn_P.js","assets/ticker-B0glx6FE.css","assets/useFastPress-t9lA3gjI.js","assets/SigilStreamRoot-2XLRV3MJ.css","assets/SigilFeedPage-DHRYmiq2.js","assets/SigilFeedPage-B4dhBeIu.css","assets/SigilPage-BK8fLCo-.js","assets/html2canvas-DWAcWtwz.js","assets/svgMeta-rwIurst6.js","assets/SigilPage-0a5ZYUsQ.css","assets/VerifyEmbedPage-Cgf7JcN-.js","assets/VerifyEmbedPage-D9z1WVaa.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KaiVohModal-CoPHpKyR.js","assets/x-B7PcV-pW.js","assets/SigilAuthContext-rbXUYZ1p.js","assets/SigilAuthProvider-CWcy5VQ0.js","assets/sessionStorage-CKL6_xzc.js","assets/KaiVohModal-CFE3AqF3.css","assets/SigilModal-DnJ8Y8Mq.js","assets/SealMomentModal-CAermFFO.js","assets/SigilModal-CU8VoqOO.js","assets/webauthnKAS-C2GwAz2K.js","assets/SigilModal-wz88cbxi.css","assets/SigilExplorer-DYNz8yOK.js","assets/SigilExplorer-BluaEhKm.css","assets/VerifyPage-Bd4E6HJm.js","assets/browser-CIIQI5ZG.js","assets/VerifierFrame-B2gPiRrx.js","assets/VerifierFrame-CSoanQJ_.css","assets/useValuation-fd_rJFJ5.js","assets/verifySigil-DdgnB-gX.js","assets/VerifyPage-B58q2q6J.css","assets/EternalKlock-cwND2N3P.js","assets/EternalKlock-CRK5ayaX.js","assets/EternalKlock-CurIGltn.css","assets/SigilStreamRoot-DXhIIZ-T.js","assets/SigilStreamRoot-dWEbZD0k.js","assets/ticker-ESiwEkfY.js","assets/ticker-B0glx6FE.css","assets/useFastPress-DEvKYh7Z.js","assets/SigilStreamRoot-2XLRV3MJ.css","assets/SigilFeedPage-CjEDhmGv.js","assets/SigilFeedPage-B4dhBeIu.css","assets/SigilPage-CINg07ju.js","assets/html2canvas-gNJ890bS.js","assets/svgMeta-Dds4Cqaw.js","assets/SigilPage-0a5ZYUsQ.css","assets/VerifyEmbedPage-CFTxea0D.js","assets/VerifyEmbedPage-D9z1WVaa.css"])))=>i.map(i=>d[i]); var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=e=>{let n={};for(var r in e)t(n,r,{get:e[r],enumerable:!0});return n},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>l(t({},`__esModule`,{value:!0}),e),f=e=>t=>u(t.default,e),p=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function.")});(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var m=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){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,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u{t.exports=m()})),g=s((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),_=s(((e,t)=>{t.exports=g()})),v=s((e=>{var t=h();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=v()})),b=s((e=>{var t=_(),n=h(),r=y();function i(e){var t=`https://react.dev/errors/`+e;if(1B||(e.current=z[B],z[B]=null,B--)}function U(e,t){B++,z[B]=e.current,e.current=t}var ee=V(null),te=V(null),ne=V(null),re=V(null);function ie(e,t){switch(U(ne,t),U(te,e),U(ee,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Yd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Yd(t),e=Xd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}H(ee),U(ee,e)}function ae(){H(ee),H(te),H(ne)}function oe(e){e.memoizedState!==null&&U(re,e);var t=ee.current,n=Xd(t,e.type);t!==n&&(U(te,e),U(ee,n))}function se(e){te.current===e&&(H(ee),H(te)),re.current===e&&(H(re),ap._currentValue=R)}var ce,le;function ue(e){if(ce===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ce=t&&t[1]||``,le=-1)`:-1>>=0,e===0?32:31-(Me(e)/Ne|0)|0}var Fe=256,Ie=262144,Le=4194304;function Re(e){var t=e&42;if(t!==0)return t;switch(e&-e){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 e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ze(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Re(n))):i=Re(o):i=Re(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Re(n))):i=Re(o)):i=Re(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Be(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ve(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 He(){var e=Le;return Le<<=1,!(Le&62914560)&&(Le=4194304),e}function Ue(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function We(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ge(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),rn=!1;if(nn)try{var an={};Object.defineProperty(an,`passive`,{get:function(){rn=!0}}),window.addEventListener(`test`,an,an),window.removeEventListener(`test`,an,an)}catch{rn=!1}var on=null,sn=null,cn=null;function ln(){if(cn)return cn;var e,t=sn,n=t.length,r,i=`value`in on?on.value:on.textContent,a=i.length;for(e=0;e=Vn),Wn=` `,Gn=!1;function Kn(e,t){switch(e){case`keyup`:return zn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function qn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Jn=!1;function Yn(e,t){switch(e){case`compositionend`:return qn(t);case`keypress`:return t.which===32?(Gn=!0,Wn):null;case`textInput`:return e=t.data,e===Wn&&Gn?null:e;default:return null}}function Xn(e,t){if(Jn)return e===`compositionend`||!Bn&&Kn(e,t)?(e=ln(),cn=sn=on=null,Jn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=vr(n)}}function br(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?br(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function xr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=At(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=At(e.document)}return t}function Sr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Cr=nn&&`documentMode`in document&&11>=document.documentMode,wr=null,Tr=null,Er=null,Dr=!1;function Or(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Dr||wr==null||wr!==At(r)||(r=wr,`selectionStart`in r&&Sr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Er&&_r(Er,r)||(Er=r,r=Nd(Tr,`onSelect`),0>=o,i-=o,bi=1<<32-je(t)+i|n<m?(g=d,d=null):g=d.sibling;var _=p(i,d,s[m],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,m),u===null?l=_:u.sibling=_,u=_,d=g}if(m===s.length)return n(i,d),Oi&&Si(i,m),l;if(d===null){for(;mg?(_=m,m=null):_=m.sibling;var y=p(a,m,v.value,l);if(y===null){m===null&&(m=_);break}e&&m&&y.alternate===null&&t(a,m),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,m=_}if(v.done)return n(a,m),Oi&&Si(a,g),u;if(m===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Oi&&Si(a,g),u}for(m=r(m);!v.done;g++,v=c.next())v=h(m,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&m.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&m.forEach(function(e){return t(a,e)}),Oi&&Si(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===v&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case m:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===v){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Sa(l)===r.type){n(e,r.sibling),c=a(r,o.props),ka(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===v?(c=si(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=oi(o.type,o.key,o.props,null,e.mode,c),ka(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=ui(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Sa(o),b(e,r,o,c)}if(F(o))return _(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Oa(o),c);if(o.$$typeof===C)return b(e,r,Xi(e,o),c);Aa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=ci(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Da=0;var i=b(e,t,n,r);return Ea=null,i}catch(t){if(t===ga||t===va)throw t;var a=ni(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ma=ja(!0),Na=ja(!1),Pa=!1;function Fa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ia(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function La(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ra(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,zl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=$r(e),Qr(e,null,n),t}return Yr(e,r,t,n),$r(e)}function za(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,qe(e,n)}}function Ba(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Va=!1;function Ha(){if(Va){var e=sa;if(e!==null)throw e}}function Ua(e,t,n,r){Va=!1;var i=e.updateQueue;Pa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var p=s.lane&-536870913,m=p!==s.lane;if(m?(Hl&p)===p:(r&p)===p){p!==0&&p===oa&&(Va=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;p=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,p);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,p=typeof h==`function`?h.call(_,d,p):h,p==null)break a;d=f({},d,p);break a;case 2:Pa=!0}}p=s.callback,p!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[p]:m.push(p))}else m={lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=p;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Xl|=o,e.lanes=o,e.memoizedState=d}}function Wa(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Ga(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=I.T,s={};I.T=s,Ms(e,!1,t,n);try{var c=i(),l=I.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?js(e,t,ua(c,r),vu(e)):js(e,t,r,vu(e))}catch(n){js(e,t,{then:function(){},status:`rejected`,reason:n},vu())}finally{L.p=a,o!==null&&s.types!==null&&(o.types=s.types),I.T=o}}function xs(){}function Ss(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Cs(e).queue;bs(e,a,t,R,n===null?xs:function(){return ws(e),n(r)})}function Cs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:R,baseState:R,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:R},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ws(e){var t=Cs(e);t.next===null&&(t=e.alternate.memoizedState),js(e,t.next.queue,{},vu())}function Ts(){return Yi(ap)}function Es(){return Oo().memoizedState}function Ds(){return Oo().memoizedState}function Os(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=vu();e=La(n);var r=Ra(t,e,n);r!==null&&(bu(r,t,n),za(r,t,n)),t={cache:na()},e.payload=t;return}t=t.return}}function ks(e,t,n){var r=vu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ns(e)?Ps(t,n):(n=Xr(e,t,n,r),n!==null&&(bu(n,e,r),Fs(n,t,r)))}function As(e,t,n){js(e,t,n,vu())}function js(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ns(e))Ps(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,gr(s,o))return Yr(e,t,i,0),Bl===null&&Jr(),!1}catch{}if(n=Xr(e,t,i,r),n!==null)return bu(n,e,r),Fs(n,t,r),!0}return!1}function Ms(e,t,n,r){if(r={lane:2,revertLane:_d(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ns(e)){if(t)throw Error(i(479))}else t=Xr(e,n,r,2),t!==null&&bu(t,e,2)}function Ns(e){var t=e.alternate;return e===so||t!==null&&t===so}function Ps(e,t){fo=uo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Fs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,qe(e,n)}}var Is={readContext:Yi,use:jo,useCallback:vo,useContext:vo,useEffect:vo,useImperativeHandle:vo,useLayoutEffect:vo,useInsertionEffect:vo,useMemo:vo,useReducer:vo,useRef:vo,useState:vo,useDebugValue:vo,useDeferredValue:vo,useTransition:vo,useSyncExternalStore:vo,useId:vo,useHostTransitionStatus:vo,useFormState:vo,useActionState:vo,useOptimistic:vo,useMemoCache:vo,useCacheRefresh:vo};Is.useEffectEvent=vo;var Ls={readContext:Yi,use:jo,useCallback:function(e,t){return Do().memoizedState=[e,t===void 0?null:t],e},useContext:Yi,useEffect:ss,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),as(4194308,4,ps.bind(null,t,e),n)},useLayoutEffect:function(e,t){return as(4194308,4,e,t)},useInsertionEffect:function(e,t){as(4,2,e,t)},useMemo:function(e,t){var n=Do();t=t===void 0?null:t;var r=e();if(po){Ae(!0);try{e()}finally{Ae(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Do();if(n!==void 0){var i=n(t);if(po){Ae(!0);try{n(t)}finally{Ae(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=ks.bind(null,so,e),[r.memoizedState,e]},useRef:function(e){var t=Do();return e={current:e},t.memoizedState=e},useState:function(e){e=Uo(e);var t=e.queue,n=As.bind(null,so,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:hs,useDeferredValue:function(e,t){return vs(Do(),e,t)},useTransition:function(){var e=Uo(!1);return e=bs.bind(null,so,e.queue,!0,!1),Do().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=so,a=Do();if(Oi){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Bl===null)throw Error(i(349));Hl&127||Ro(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ss(Bo.bind(null,r,o,e),[e]),r.flags|=2048,rs(9,{destroy:void 0},zo.bind(null,r,o,n,t),null),n},useId:function(){var e=Do(),t=Bl.identifierPrefix;if(Oi){var n=xi,r=bi;n=(r&~(1<<32-je(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=mo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[et]=t,o[tt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Hd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&jc(t)}}return Ic(t),Mc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&jc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ne.current,Fi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=G,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[et]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||zd(e.nodeValue,n)),e||Mi(t,!0)}else e=Jd(e).createTextNode(r),e[et]=t,t.stateNode=e}return Ic(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Fi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[et]=t}else Ii(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),e=!1}else n=Li(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(ro(t),t):(ro(t),null);if(t.flags&128)throw Error(i(558))}return Ic(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Fi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[et]=t}else Ii(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ic(t),a=!1}else a=Li(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(ro(t),t):(ro(t),null)}return ro(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Pc(t,t.updateQueue),Ic(t),null);case 4:return ae(),e===null&&kd(t.stateNode.containerInfo),Ic(t),null;case 10:return Ui(t.type),Ic(t),null;case 19:if(H(io),r=t.memoizedState,r===null)return Ic(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Fc(r,!1);else{if(Yl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ao(e),o!==null){for(t.flags|=128,Fc(r,!1),e=o.updateQueue,t.updateQueue=e,Pc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ai(n,e),n=n.sibling;return U(io,io.current&1|2),Oi&&Si(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&ye()>ou&&(t.flags|=128,a=!0,Fc(r,!1),t.lanes=4194304)}else{if(!a)if(e=ao(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Pc(t,e),Fc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Oi)return Ic(t),null}else 2*ye()-r.renderingStartTime>ou&&n!==536870912&&(t.flags|=128,a=!0,Fc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Ic(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ye(),e.sibling=null,n=io.current,U(io,a?n&1|2:n&1),Oi&&Si(t,r.treeForkCount),e);case 22:case 23:return ro(t),Xa(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Ic(t),t.subtreeFlags&6&&(t.flags|=8192)):Ic(t),n=t.updateQueue,n!==null&&Pc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&H(fa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ui(ta),Ic(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Rc(e,t){switch(Ti(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ui(ta),ae(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return se(t),null;case 31:if(t.memoizedState!==null){if(ro(t),t.alternate===null)throw Error(i(340));Ii()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ro(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Ii()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(io),null;case 4:return ae(),null;case 10:return Ui(t.type),null;case 22:case 23:return ro(t),Xa(),e!==null&&H(fa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ui(ta),null;case 25:return null;default:return null}}function zc(e,t){switch(Ti(t),t.tag){case 3:Ui(ta),ae();break;case 26:case 27:case 5:se(t);break;case 4:ae();break;case 31:t.memoizedState!==null&&ro(t);break;case 13:ro(t);break;case 19:H(io);break;case 10:Ui(t.type);break;case 22:case 23:ro(t),Xa(),e!==null&&H(fa);break;case 24:Ui(ta)}}function Bc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Xu(t,t.return,e)}}function Vc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Xu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Xu(t,t.return,e)}}function Hc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ga(t,n)}catch(t){Xu(e,e.return,t)}}}function Uc(e,t,n){n.props=Ws(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Xu(e,t,n)}}function Wc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Xu(e,t,n)}}function Gc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Xu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Xu(e,t,n)}else n.current=null}function Kc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Xu(e,e.return,t)}}function qc(e,t,n){try{var r=e.stateNode;Ud(r,e.type,n,t),r[tt]=t}catch(t){Xu(e,e.return,t)}}function Jc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&of(e.type)||e.tag===4}function Yc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Jc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&of(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=qt));else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Zc(e,t,n),e=e.sibling;e!==null;)Zc(e,t,n),e=e.sibling}function Qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Hd(t,r,n),t[et]=e,t[tt]=n}catch(t){Xu(e,e.return,t)}}var $c=!1,el=!1,tl=!1,nl=typeof WeakSet==`function`?WeakSet:Set,rl=null;function il(e,t){if(e=e.containerInfo,Kd=mp,e=xr(e),Sr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(qd={focusedElem:e,selectionRange:n},mp=!1,rl=t;rl!==null;)if(t=rl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,rl=e;else for(;rl!==null;){switch(t=rl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Hd(o,r,n),o[et]=e,pt(o),r=o;break a;case`link`:var s=Jf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=yr(s,h),v=yr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,I.T=null,n=mu,mu=null;var o=uu,s=fu;if(lu=0,du=uu=null,fu=0,zl&6)throw Error(i(331));var c=zl;if(zl|=4,Pl(o.current),El(o,o.current,s,n),zl=c,ud(0,!1),ke&&typeof ke.onPostCommitFiberRoot==`function`)try{ke.onPostCommitFiberRoot(Oe,o)}catch{}return!0}finally{L.p=a,I.T=r,Ku(e,t)}}function Yu(e,t,n){t=fi(n,t),t=Xs(e.stateNode,t,2),e=Ra(e,t,2),e!==null&&(We(e,2),ld(e))}function Xu(e,t,n){if(e.tag===3)Yu(e,e,n);else for(;t!==null;){if(t.tag===3){Yu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(cu===null||!cu.has(r))){e=fi(n,e),n=Zs(2),r=Ra(t,n,2),r!==null&&(Qs(n,r,t,e),We(r,2),ld(r));break}}t=t.return}}function Zu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Rl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ql=!0,i.add(n),e=Qu.bind(null,e,t,n),t.then(e,e))}function Qu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Bl===e&&(Hl&n)===n&&(Yl===4||Yl===3&&(Hl&62914560)===Hl&&300>ye()-iu?!(zl&2)&&Du(e,0):Ql|=n,eu===Hl&&(eu=0)),ld(e)}function $u(e,t){t===0&&(t=He()),e=Zr(e,t),e!==null&&(We(e,t),ld(e))}function ed(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$u(e,n)}function td(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),$u(e,n)}function nd(e,t){return he(e,t)}var rd=null,id=null,ad=!1,od=!1,sd=!1,cd=0;function ld(e){e!==id&&e.next===null&&(id===null?rd=id=e:id=id.next=e),od=!0,ad||(ad=!0,gd())}function ud(e,t){if(!sd&&od){sd=!0;do for(var n=!1,r=rd;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-je(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,hd(r,a))}else a=Hl,a=ze(r,r===Bl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Be(r,a)||(n=!0,hd(r,a));r=r.next}while(n);sd=!1}}function dd(){fd()}function fd(){od=ad=!1;var e=0;cd!==0&&$d()&&(e=cd);for(var t=ye(),n=null,r=rd;r!==null;){var i=r.next,a=pd(r,t);a===0?(r.next=null,n===null?rd=i:n.next=i,i===null&&(id=n)):(n=r,(e!==0||a&3)&&(od=!0)),r=i}lu!==0&&lu!==5||ud(e,!1),cd!==0&&(cd=0)}function pd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Wd(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function Of(e,t,n){var r=Df;if(r&&typeof t==`string`&&t){var i=Mt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Sf.has(i)||(Sf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Hd(t,`link`,e),pt(t),r.head.appendChild(t)))}}function kf(e){wf.D(e),Of(`dns-prefetch`,e,null)}function Af(e,t){wf.C(e,t),Of(`preconnect`,e,t)}function jf(e,t,n){wf.L(e,t,n);var r=Df;if(r&&e&&t){var i=`link[rel="preload"][as="`+Mt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Mt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Mt(n.imageSizes)+`"]`)):i+=`[href="`+Mt(e)+`"]`;var a=i;switch(t){case`style`:a=Lf(e);break;case`script`:a=Vf(e)}xf.has(a)||(e=f({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),xf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Rf(a))||t===`script`&&r.querySelector(Hf(a))||(t=r.createElement(`link`),Hd(t,`link`,e),pt(t),r.head.appendChild(t)))}}function Mf(e,t){wf.m(e,t);var n=Df;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Mt(r)+`"][href="`+Mt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Vf(e)}if(!xf.has(a)&&(e=f({rel:`modulepreload`,href:e},t),xf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Hf(a)))return}r=n.createElement(`link`),Hd(r,`link`,e),pt(r),n.head.appendChild(r)}}}function Nf(e,t,n){wf.S(e,t,n);var r=Df;if(r&&e){var i=ft(r).hoistableStyles,a=Lf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Rf(a)))s.loading=5;else{e=f({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=xf.get(a))&&Gf(e,n);var c=o=r.createElement(`link`);pt(c),Hd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Wf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Pf(e,t){wf.X(e,t);var n=Df;if(n&&e){var r=ft(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=f({src:e,async:!0},t),(t=xf.get(i))&&Kf(e,t),a=n.createElement(`script`),pt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Ff(e,t){wf.M(e,t);var n=Df;if(n&&e){var r=ft(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=f({src:e,async:!0,type:`module`},t),(t=xf.get(i))&&Kf(e,t),a=n.createElement(`script`),pt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function If(e,t,n,r){var a=(a=ne.current)?Cf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Lf(n.href),n=ft(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Lf(n.href);var o=ft(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Rf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),xf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},xf.set(e,n),o||Bf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Vf(n),n=ft(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Lf(e){return`href="`+Mt(e)+`"`}function Rf(e){return`link[rel="stylesheet"][`+e+`]`}function zf(e){return f({},e,{"data-precedence":e.precedence,precedence:null})}function Bf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Hd(t,`link`,n),pt(t),e.head.appendChild(t))}function Vf(e){return`[src="`+Mt(e)+`"]`}function Hf(e){return`script[async]`+e}function Uf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Mt(n.href)+`"]`);if(r)return t.instance=r,pt(r),r;var a=f({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),pt(r),Hd(r,`style`,a),Wf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Lf(n.href);var o=e.querySelector(Rf(a));if(o)return t.state.loading|=4,t.instance=o,pt(o),o;r=zf(n),(a=xf.get(a))&&Gf(r,a),o=(e.ownerDocument||e).createElement(`link`),pt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Hd(o,`link`,r),t.state.loading|=4,Wf(o,n.precedence,e),t.instance=o;case`script`:return o=Vf(n.src),(a=e.querySelector(Hf(o)))?(t.instance=a,pt(a),a):(r=n,(a=xf.get(o))&&(r=f({},n),Kf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),pt(a),Hd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Wf(r,n.precedence,e));return t.instance}function Wf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Xf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Zf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Qf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Lf(r.href),a=t.querySelector(Rf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=tp.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,pt(a);return}a=t.ownerDocument||t,r=zf(r),(i=xf.get(i))&&Gf(r,i),a=a.createElement(`link`),pt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Hd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=tp.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $f=0;function ep(e,t){return e.stylesheets&&e.count===0&&rp(e,e.stylesheets),0$f?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function tp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var np=null;function rp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,np=new Map,t.forEach(ip,e),np=null,tp.call(e))}function ip(e,t){if(!(t.state.loading&4)){var n=np.get(e);if(n)var r=n.get(null);else{n=new Map,np.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=b()})),S=u(x(),1),C=u(h(),1),w=u(y(),1),T=`modulepreload`,E=function(e){return`/`+e},D={};const O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=E(t,n),t in D)return;D[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:T,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var k=`popstate`;function A(e={}){function t(e,t){let{pathname:n,search:r,hash:i}=e.location;return F(``,{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||`default`)}function n(e,t){return typeof t==`string`?t:I(t)}return R(t,n,null,e)}function j(e,t){if(e===!1||e==null)throw Error(t)}function M(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function N(){return Math.random().toString(36).substring(2,10)}function P(e,t){return{usr:e.state,key:e.key,idx:t}}function F(e,t,n=null,r){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?L(t):t,state:n,key:t&&t.key||r||N()}}function I({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function L(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function R(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=F(h.location,e,t);n&&n(r,e),l=u()+1;let d=P(r,l),f=h.createHref(r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=F(h.location,e,t);n&&n(r,e),l=u();let i=P(r,l),d=h.createHref(r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return z(e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(k,d),c=e,()=>{i.removeEventListener(k,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function z(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),j(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:I(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function B(e,t,n=`/`){return V(e,t,n,!1)}function V(e,t,n,r){let i=W((typeof t==`string`?L(t):t).pathname||`/`,n);if(i==null)return null;let a=U(e);te(a);let o=null;for(let e=0;o==null&&e{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;j(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Ce([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(j(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),U(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:le(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of ee(e.path))a(e,t,!0,n)}),t}function ee(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=ee(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function te(e){e.sort((e,t)=>e.score===t.score?ue(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ne=/^:[\w-]+$/,re=3,ie=2,ae=1,oe=10,se=-2,ce=e=>e===`*`;function le(e,t){let n=e.split(`/`),r=n.length;return n.some(ce)&&(r+=se),t&&(r+=ie),n.filter(e=>!ce(e)).reduce((e,t)=>e+(ne.test(t)?re:t===``?ae:oe),r)}function ue(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function de(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function pe(e,t=!1,n=!0){M(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:n!=null}),n?`/?([^\\/]+)?`:`/([^\\/]+)`)).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function me(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return M(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function W(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}var he=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ge=e=>he.test(e);function _e(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?L(e):e,a;if(n)if(ge(n))a=n;else{if(n.includes(`//`)){let e=n;n=n.replace(/\/\/+/g,`/`),M(!1,`Pathnames cannot have embedded double slashes - normalizing ${e} -> ${n}`)}a=n.startsWith(`/`)?ve(n.substring(1),`/`):ve(n,t)}else a=t;return{pathname:a,search:Te(r),hash:Ee(i)}}function ve(e,t){let n=t.replace(/\/+$/,``).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ye(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function be(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function xe(e){let t=be(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Se(e,t,n,r=!1){let i;typeof e==`string`?i=L(e):(i={...e},j(!i.pathname||!i.pathname.includes(`?`),ye(`?`,`pathname`,`search`,i)),j(!i.pathname||!i.pathname.includes(`#`),ye(`#`,`pathname`,`hash`,i)),j(!i.search||!i.search.includes(`#`),ye(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=_e(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Ce=e=>e.join(`/`).replace(/\/\/+/g,`/`),we=e=>e.replace(/\/+$/,``).replace(/^\/*/,`/`),Te=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Ee=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,De=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Oe(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function ke(e){return e.map(e=>e.route.path).filter(Boolean).join(`/`).replace(/\/\/*/g,`/`)||`/`}var Ae=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function je(e,t){let n=e;if(typeof n!=`string`||!he.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Ae)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=W(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{M(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Me=C.createContext(null);Me.displayName=`DataRouter`;var Ne=C.createContext(null);Ne.displayName=`DataRouterState`;var Pe=C.createContext(!1),Fe=C.createContext({isTransitioning:!1});Fe.displayName=`ViewTransition`;var Ie=C.createContext(new Map);Ie.displayName=`Fetchers`;var Le=C.createContext(null);Le.displayName=`Await`;var Re=C.createContext(null);Re.displayName=`Navigation`;var ze=C.createContext(null);ze.displayName=`Location`;var Be=C.createContext({outlet:null,matches:[],isDataRoute:!1});Be.displayName=`Route`;var Ve=C.createContext(null);Ve.displayName=`RouteError`;var He=`REACT_ROUTER_ERROR`,Ue=`REDIRECT`,We=`ROUTE_ERROR_RESPONSE`;function Ge(e){if(e.startsWith(`${He}:${Ue}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Ke(e){if(e.startsWith(`${He}:${We}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new De(t.status,t.statusText,t.data)}catch{}}function qe(e,{relative:t}={}){j(Je(),`useHref() may be used only in the context of a component.`);let{basename:n,navigator:r}=C.useContext(Re),{hash:i,pathname:a,search:o}=it(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Ce([n,a])),r.createHref({pathname:s,search:o,hash:i})}function Je(){return C.useContext(ze)!=null}function Ye(){return j(Je(),`useLocation() may be used only in the context of a component.`),C.useContext(ze).location}function Xe(){return C.useContext(ze).navigationType}var Ze=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Qe(e){C.useContext(Re).static||C.useLayoutEffect(e)}function $e(){let{isDataRoute:e}=C.useContext(Be);return e?Ct():et()}function et(){j(Je(),`useNavigate() may be used only in the context of a component.`);let e=C.useContext(Me),{basename:t,navigator:n}=C.useContext(Re),{matches:r}=C.useContext(Be),{pathname:i}=Ye(),a=JSON.stringify(xe(r)),o=C.useRef(!1);return Qe(()=>{o.current=!0}),C.useCallback((r,s={})=>{if(M(o.current,Ze),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Se(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Ce([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var tt=C.createContext(null);function nt(e){let t=C.useContext(Be).outlet;return C.useMemo(()=>t&&C.createElement(tt.Provider,{value:e},t),[t,e])}function rt(){let{matches:e}=C.useContext(Be),t=e[e.length-1];return t?t.params:{}}function it(e,{relative:t}={}){let{matches:n}=C.useContext(Be),{pathname:r}=Ye(),i=JSON.stringify(xe(n));return C.useMemo(()=>Se(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function at(e,t){return ot(e,t)}function ot(e,t,n,r,i){j(Je(),`useRoutes() may be used only in the context of a component.`);let{navigator:a}=C.useContext(Re),{matches:o}=C.useContext(Be),s=o[o.length-1],c=s?s.params:{},l=s?s.pathname:`/`,u=s?s.pathnameBase:`/`,d=s&&s.route;{let e=d&&d.path||``;Tt(l,!d||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant (or called \`useRoutes()\`) at "${l}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let f=Ye(),p;if(t){let e=typeof t==`string`?L(t):t;j(u===`/`||e.pathname?.startsWith(u),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${u}" but pathname "${e.pathname}" was given in the \`location\` prop.`),p=e}else p=f;let m=p.pathname||`/`,h=m;if(u!==`/`){let e=u.replace(/^\//,``).split(`/`);h=`/`+m.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let g=B(e,{pathname:h});M(d||g!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),M(g==null||g[g.length-1].route.element!==void 0||g[g.length-1].route.Component!==void 0||g[g.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let _=pt(g&&g.map(e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:Ce([u,a.encodeLocation?a.encodeLocation(e.pathname.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?u:Ce([u,a.encodeLocation?a.encodeLocation(e.pathnameBase.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),o,n,r,i);return t&&_?C.createElement(ze.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,...p},navigationType:`POP`}},_):_}function st(){let e=St(),t=Oe(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=C.createElement(C.Fragment,null,C.createElement(`p`,null,`💿 Hey developer 👋`),C.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,C.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,C.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),C.createElement(C.Fragment,null,C.createElement(`h2`,null,`Unexpected Application Error!`),C.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?C.createElement(`pre`,{style:i},n):null,o)}var ct=C.createElement(st,null),lt=class extends C.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=Ke(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:C.createElement(Be.Provider,{value:this.props.routeContext},C.createElement(Ve.Provider,{value:e,children:this.props.component}));return this.context?C.createElement(dt,{error:e},t):t}};lt.contextType=Pe;var ut=new WeakMap;function dt({children:e,error:t}){let{basename:n}=C.useContext(Re);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Ge(t.digest);if(e){let r=ut.get(t);if(r)throw r;let i=je(e.location,n);if(Ae&&!ut.get(t))if(i.isExternal||e.reloadDocument)window.location.href=i.absoluteURL||i.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw ut.set(t,n),n}return C.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${i.absoluteURL||i.to}`})}}return e}function ft({routeContext:e,match:t,children:n}){let r=C.useContext(Me);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),C.createElement(Be.Provider,{value:e},n)}function pt(e,t=[],n=null,r=null,i=null){if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,o=n?.errors;if(o!=null){let e=a.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);j(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,c=-1;if(n)for(let e=0;e=0?a.slice(0,c+1):[a[0]];break}}}let l=n&&r?(e,t)=>{r(e,{location:n.location,params:n.matches?.[0]?.params??{},unstable_pattern:ke(n.matches),errorInfo:t})}:void 0;return a.reduceRight((e,r,i)=>{let u,d=!1,f=null,p=null;n&&(u=o&&r.route.id?o[r.route.id]:void 0,f=r.route.errorElement||ct,s&&(c<0&&i===0?(Tt(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):c===i&&(d=!0,p=r.route.hydrateFallbackElement||null)));let m=t.concat(a.slice(0,i+1)),h=()=>{let t;return t=u?f:d?p:r.route.Component?C.createElement(r.route.Component,null):r.route.element?r.route.element:e,C.createElement(ft,{match:r,routeContext:{outlet:e,matches:m,isDataRoute:n!=null},children:t})};return n&&(r.route.ErrorBoundary||r.route.errorElement||i===0)?C.createElement(lt,{location:n.location,revalidation:n.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function mt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function ht(e){let t=C.useContext(Me);return j(t,mt(e)),t}function gt(e){let t=C.useContext(Ne);return j(t,mt(e)),t}function _t(e){let t=C.useContext(Be);return j(t,mt(e)),t}function vt(e){let t=_t(e),n=t.matches[t.matches.length-1];return j(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function yt(){return vt(`useRouteId`)}function bt(){return gt(`useNavigation`).navigation}function xt(){let{matches:e,loaderData:t}=gt(`useMatches`);return C.useMemo(()=>e.map(e=>H(e,t)),[e,t])}function St(){let e=C.useContext(Ve),t=gt(`useRouteError`),n=vt(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Ct(){let{router:e}=ht(`useNavigate`),t=vt(`useNavigate`),n=C.useRef(!1);return Qe(()=>{n.current=!0}),C.useCallback(async(r,i={})=>{M(n.current,Ze),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var wt={};function Tt(e,t,n){!t&&!wt[e]&&(wt[e]=!0,M(!1,n))}C.useOptimistic,C.memo(Et);function Et({routes:e,future:t,state:n,onError:r}){return ot(e,void 0,n,r,t)}function Dt(e){return nt(e.context)}function Ot(e){j(!1,`A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .`)}function kt({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,unstable_useTransitions:o}){j(!Je(),`You cannot render a inside another . You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=C.useMemo(()=>({basename:s,navigator:i,static:a,unstable_useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=L(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`}=n,m=C.useMemo(()=>{let e=W(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p},navigationType:r}},[s,l,u,d,f,p,r]);return M(m!=null,` is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the won't render anything.`),m==null?null:C.createElement(Re.Provider,{value:c},C.createElement(ze.Provider,{children:t,value:m}))}function At({children:e,location:t}){return at(jt(e),t)}function jt(e,t=[]){let n=[];return C.Children.forEach(e,(e,r)=>{if(!C.isValidElement(e))return;let i=[...t,r];if(e.type===C.Fragment){n.push.apply(n,jt(e.props.children,i));return}j(e.type===Ot,`[${typeof e.type==`string`?e.type:e.type.name}] is not a component. All component children of must be a or `),j(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=jt(e.props.children,i)),n.push(a)}),n}var Mt=`get`,Nt=`application/x-www-form-urlencoded`;function Pt(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function Ft(e){return Pt(e)&&e.tagName.toLowerCase()===`button`}function It(e){return Pt(e)&&e.tagName.toLowerCase()===`form`}function Lt(e){return Pt(e)&&e.tagName.toLowerCase()===`input`}function Rt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function zt(e,t){return e.button===0&&(!t||t===`_self`)&&!Rt(e)}var Bt=null;function Vt(){if(Bt===null)try{new FormData(document.createElement(`form`),0),Bt=!1}catch{Bt=!0}return Bt}var Ht=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Ut(e){return e!=null&&!Ht.has(e)?(M(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Nt}"`),null):e}function Wt(e,t){let n,r,i,a,o;if(It(e)){let o=e.getAttribute(`action`);r=o?W(o,t):null,n=e.getAttribute(`method`)||Mt,i=Ut(e.getAttribute(`enctype`))||Nt,a=new FormData(e)}else if(Ft(e)||Lt(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a