kuinetic 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/esm/{chunk-K2M7O6W5.mjs → chunk-FASAEQDR.mjs} +32 -1
- package/dist/esm/{chunk-XDDJVANU.mjs → chunk-FYMZW5N2.mjs} +2301 -528
- package/dist/esm/{chunk-BBQ22D7A.mjs → chunk-MZQG2VMG.mjs} +202 -2
- package/dist/esm/core/index.mjs +21 -3
- package/dist/esm/effects/index.mjs +2 -2
- package/dist/esm/index.mjs +35 -4
- package/dist/esm/notes/index.mjs +1075 -0
- package/dist/kuinetic.all.js +2502 -501
- package/dist/kuinetic.all.min.js +2 -2
- package/dist/kuinetic.css +238 -65
- package/dist/kuinetic.js +2501 -500
- package/dist/kuinetic.min.css +1 -1
- package/dist/kuinetic.min.js +1 -1
- package/dist/kuinetic.notes.js +1 -0
- package/dist/types/3d/flattening.d.ts +8 -7
- package/dist/types/core/deck-viewer.d.ts +87 -0
- package/dist/types/core/describe.d.ts +174 -0
- package/dist/types/core/gesture.d.ts +10 -0
- package/dist/types/core/index.d.ts +6 -2
- package/dist/types/core/target.d.ts +28 -0
- package/dist/types/core/timing-contract.d.ts +61 -0
- package/dist/types/core/types.d.ts +59 -0
- package/dist/types/effects/auto-motion.d.ts +169 -0
- package/dist/types/effects/carousel/deck.d.ts +170 -0
- package/dist/types/effects/carousel/drag.d.ts +6 -0
- package/dist/types/effects/carousel/fit.d.ts +130 -0
- package/dist/types/effects/carousel/index.d.ts +6 -23
- package/dist/types/effects/carousel/stack.d.ts +77 -0
- package/dist/types/effects/catalog/interaction-reveal.d.ts +69 -9
- package/dist/types/effects/forms/primitives.d.ts +1 -2
- package/dist/types/effects/gestures/index.d.ts +3 -4
- package/dist/types/effects/shared.d.ts +3 -30
- package/dist/types/effects/step-index.d.ts +48 -10
- package/dist/types/effects/swipe-event.d.ts +75 -0
- package/dist/types/index.d.ts +26 -0
- package/dist/types/notes/catalog-core.d.ts +3 -0
- package/dist/types/notes/catalog.d.ts +3 -0
- package/dist/types/notes/index.d.ts +13 -0
- package/dist/types/notes/interaction-reveal.d.ts +3 -0
- package/dist/types/notes/interaction.d.ts +6 -0
- package/dist/types/notes/keys.d.ts +7 -0
- package/dist/types/notes/mechanics.d.ts +7 -0
- package/dist/types/notes/scroll-nav-forms.d.ts +6 -0
- package/dist/types/notes/shared.d.ts +6 -0
- package/dist/types/notes/showcase.d.ts +7 -0
- package/dist/types/notes/text.d.ts +3 -0
- package/dist/types/showcase/compare.d.ts +9 -0
- package/dist/types/showcase/index.d.ts +3 -0
- package/dist/types/showcase/lightbox.d.ts +23 -1
- package/dist/types/showcase/modal-shell.d.ts +11 -0
- package/package.json +7 -3
package/dist/kuinetic.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var kuinetic=(()=>{var br=Object.defineProperty;var Ul=Object.getOwnPropertyDescriptor;var Kl=Object.getOwnPropertyNames;var zl=Object.prototype.hasOwnProperty;var Yl=(e,t)=>{for(var r in t)br(e,r,{get:t[r],enumerable:!0})},Xl=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Kl(t))!zl.call(e,i)&&i!==r&&br(e,i,{get:()=>t[i],enumerable:!(n=Ul(t,i))||n.enumerable});return e};var Jl=e=>Xl(br({},"__esModule",{value:!0}),e);var gk={};Yl(gk,{ATTR:()=>S,Animator:()=>ke,CHANNEL:()=>g,COMBOS:()=>ir,KUI_EVENT:()=>G,PRESETS:()=>nr,PRIMITIVES:()=>rr,Registry:()=>fe,collectingReporter:()=>_s,consoleReporter:()=>Ns,control:()=>wt,createActivationBinder:()=>st,createAnimator:()=>js,createRegistry:()=>vr,default:()=>fk,detect:()=>At,inertInstance:()=>Et,kuinetic:()=>Fl,play:()=>xt,resolveActivationSpec:()=>ee,resolveTargets:()=>ze,silentReporter:()=>Vt,toAttributeValue:()=>Nr});function Ve(e,t){try{return t.documentElement.matches(e)||t.body?.matches(e)?"document-wide":"ok"}catch{return"invalid"}}function L(e,t,r){if(!e)return e;let n=Ve(e,t.doc);return n==="invalid"?(t.warn(`${r} target "${e}" is not a valid selector and will be ignored`),""):n==="document-wide"?(t.warn(`${r} target "${e}" matches the whole document and will be ignored`),""):e}var j={type:"keyword",default:"",cssProperty:"--kui-scope",keywords:["self","page"]};function $(e,t){let r=e.text("scope");return r==="page"?"page":r==="self"?"self":t}function I(e,t,r,n){return[...(n==="page"?t.doc:e).querySelectorAll(r)]}function Bn(){let e=new Map;function t(r,n,i){let o=e.get(r);o||(o=new Map,e.set(r,o));let s=o.get(n);if(!s){let c=new Set,u=()=>{for(let l of[...c])l()};s={listener:u,runs:c},o.set(n,s),r.addEventListener(n,u,{passive:!0})}s.runs.add(i);let a=!0;return()=>{a&&(a=!1,s.runs.delete(i),!(s.runs.size>0)&&(r.removeEventListener(n,s.listener),o?.delete(n),o?.size===0&&e.delete(r)))}}return{bind({sources:r,types:n,run:i}){let o=[];for(let s of r)for(let a of n)o.push(t(s,a,i));return()=>{for(let s of o)s()}},destroy(){for(let[r,n]of e)for(let[i,o]of n)r.removeEventListener(i,o.listener);e.clear()}}}function Wn({el:e,from:t,reporter:r}){if(!t)return[e];let n=e.ownerDocument,i=Ve(t,n);if(i!=="ok"){let s=i==="invalid"?"is not a valid selector":"matches the whole document";return r?.warn(`activation source "${t}" ${s} and will be ignored`,e),[]}let o=[...n.querySelectorAll(t)];return o.length===0&&r?.warn(`activation source "${t}" matched nothing`,e),o}function Zl(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||r.width<=0||r.height<=0))return Math.min(1,t.width/r.width)*Math.min(1,t.height/r.height)}function Er(e){return`${Math.round(e*1e3)/10}%`}function qn(e,t,r){let n=e.reporter;if(!n||r<=0||e.thresholdWarned)return;if(t.isIntersecting){e.sawIntersecting=!0;return}if(!e.sawIntersecting||e.entered)return;let i=Zl(t);i===void 0||i>=r-1e-6||(e.thresholdWarned=!0,n.warn(`threshold:${Er(r)} can never be met on this element \u2014 it is larger than the root it scrolls through, so its intersection ratio maxes out around ${Er(i)} and never reaches ${Er(r)}. An IntersectionObserver only reports ratio crossings, so the library cannot soften this from here \u2014 author a smaller threshold, or make the element (or its scrolling root) fit the other.`,t.target))}function Kn(){let e=new WeakMap,t,r=Number.NEGATIVE_INFINITY,n=0,i=s=>{let a=s.target,c=Un(a);if(!c)return;let u=e.get(a);if(e.set(a,c),!u)return;let l=c.y-u.y,p=c.x-u.x,m=Math.abs(l)>=Math.abs(p)?l:p;m!==0&&(t=m>0?"after":"before",r=s.timeStamp)},o=()=>{n=0,t=void 0,r=Number.NEGATIVE_INFINITY,typeof window<"u"&&window.removeEventListener("scroll",i,{capture:!0})};return{arrivedFrom:s=>s-r<=200?t:void 0,retain(){if(n++>0||typeof window>"u")return;window.addEventListener("scroll",i,{capture:!0,passive:!0});let s=Un(window.document);s&&e.set(window.document,s)},release(){n===0||--n>0||o()},reset:o}}function Un(e){if(e===window||e===window.document)return{x:window.scrollX,y:window.scrollY};if(e instanceof Element)return{x:e.scrollLeft,y:e.scrollTop}}var Fe="/",Sr={load:{kind:"immediate"},manual:{kind:"manual"},enter:{kind:"observed",when:"enter"},leave:{kind:"observed",when:"leave"},hover:{kind:"events",types:["pointerenter","focusin"]},unhover:{kind:"events",types:["pointerleave","focusout"]},focus:{kind:"events",types:["focusin"]},blur:{kind:"events",types:["focusout"]},click:{kind:"events",types:["click"]}},Ql={load:["load"],manual:["manual"],enter:["enter"],leave:["enter"],hover:["hover"],unhover:["hover"],focus:["focus"],blur:["focus"],click:["click"]},eu=["hover","focus","click"],Jn=["click","dblclick","auxclick","contextmenu","pointerdown","pointerup","pointerenter","pointerleave","pointerover","pointerout","pointermove","pointercancel","gotpointercapture","lostpointercapture","mousedown","mouseup","mouseenter","mouseleave","mouseover","mouseout","mousemove","focusin","focusout","focus","blur","keydown","keyup","keypress","input","beforeinput","change","submit","reset","invalid","select","search","touchstart","touchend","touchmove","touchcancel","wheel","scroll","scrollend","dragstart","drag","dragend","dragenter","dragover","dragleave","drop","animationstart","animationend","animationiteration","animationcancel","transitionstart","transitionend","transitionrun","transitioncancel","play","playing","pause","ended","timeupdate","seeked","volumechange","ratechange","loadeddata","loadedmetadata","canplay","canplaythrough","waiting","stalled","toggle","beforetoggle","close","cancel","copy","cut","paste","load","error","abort","resize","fullscreenchange"],tu=/^[A-Za-z][A-Za-z0-9._:-]*$/,zn=2;function Pr(e){return Object.hasOwn(Sr,e)}function Yn(e){return Pr(e)?Sr[e]:{kind:"events",types:[e]}}function ee(e){let t=String(e).split(Fe),[r="",n]=t;return{source:e,names:t,start:Yn(r),...n===void 0?{}:{end:Yn(n)}}}function kr(e){let t=e.split(Fe);if(t.length>2)return[`activation "${e}" has more than one "${Fe}" \u2014 expected "start${Fe}end"`];if(t.filter(i=>!tu.test(i)).length>0)return[`activation "${e}" is not an event name or a "start${Fe}end" pair`];let n=t[1];return n!==void 0&&(n==="load"||n==="manual")?[`activation "${e}" cannot end on "${n}" \u2014 an exit needs an event to fire on`]:[]}function xr(e){return ee(e).start.kind}function Be(e){return e.end===void 0&&e.start.kind==="observed"}function Zn(e){return Pr(e)?Ql[e]:eu}function ru(e){return/[-:.]/.test(e)?!0:Jn.includes(e)}function nu(e){let t,r=zn+1;for(let n of[...Object.keys(Sr),...Jn]){let i=iu(e,n);i>=r||(r=i,t=n)}return r<=zn&&r*2<e.length?t:void 0}function iu(e,t){let r=Array.from({length:t.length+1},(n,i)=>i);for(let n=1;n<=e.length;n++){let i=[n];for(let o=1;o<=t.length;o++){let s=r[o-1]+(e[n-1]===t[o-1]?0:1);i.push(Math.min(r[o]+1,i[o-1]+1,s))}r=i}return r[t.length]}var Xn=()=>{},ou=1e-6;function Qn(e,t){return e.isIntersecting?t<=0?!0:e.intersectionRatio>=t-ou:!1}function su(e,t,r,n){if(qn(e,t,r),e.onCross)return au(e,t,r,n);let i=Qn(t,r);if(i===e.entered)return;e.entered=i;let o=i?e.onEnter:e.onLeave;o&&(o(),e.oneShot&&e.release())}function au(e,t,r,n){let i=uu(t);if(!Qn(t,r))return cu(e,i,n);if(e.entered)return;let o=(n??e.outside)==="before"?"enter-back":"enter";e.entered=!0,e.outside=void 0,e.onCross?.(o)}function cu(e,t,r){if(t&&(e.outside=t),!e.entered)return;e.entered=!1;let n=t??lu(r);e.onCross?.(n==="after"?"leave-back":"leave")}function lu(e){if(e)return e==="after"?"before":"after"}function uu(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||!r)){if(r.bottom<=t.top||r.right<=t.left)return"before";if(r.top>=t.bottom||r.left>=t.right)return"after"}}function st(e={}){let t=new Map,r=new WeakMap,n=Bn(),i=e.createObserver??fu(),o=Kn(),s=e.reporter;function a(u){if(!i)return;let l=du(u),p=String(l),m=t.get(p);if(m)return{key:p,shared:m};let d={observer:i(y=>{for(let v of y){let E=r.get(v.target);E&&su(E,v,l,o.arrivedFrom(v.time))}},{threshold:l}),count:0};return t.set(p,d),{key:p,shared:d}}function c(u,l,p){let m=a(p.threshold);if(!m)return l.failOpen&&p.activate(),Xn;let{key:f,shared:d}=m,y=!!l.onCross;y&&o.retain();let v=!0,E=()=>{v&&(v=!1,y&&o.release(),r.delete(u),d.observer.unobserve(u),d.count--,!(d.count>0)&&(d.observer.disconnect(),t.delete(f)))};return r.set(u,{onEnter:l.onEnter,onLeave:l.onLeave,...l.onCross?{onCross:l.onCross}:{},oneShot:l.oneShot,release:E,entered:!1,reporter:s,sawIntersecting:!1,thresholdWarned:!1}),d.count++,d.observer.observe(u),E}return{bind(u,l,p){let m=ee(l),f=pu(m,p),d=[],y,v=mu(f);if(v){let E=m.start.kind==="observed",P=p.cross;d.push(c(u,{...v,...P?{onCross:P}:{},oneShot:P?!1:Be(m),failOpen:E},p))}for(let E of f){let{trigger:P}=E;P.kind==="events"?(y??=Wn({el:u,from:p.from,reporter:s}),d.push(n.bind({sources:y,types:P.types,run:E.run}))):P.kind==="immediate"&&E.run()}return d.length===0?Xn:()=>{for(let E of d)E()}},destroy(){for(let{observer:u}of t.values())u.disconnect();t.clear(),n.destroy(),o.reset()}}}function pu(e,t){let r=[{trigger:e.start,run:()=>t.activate()}],n=t.deactivate;return e.end&&n&&r.push({trigger:e.end,run:()=>n()}),r}function mu(e){let t={},r=!1;for(let n of e)n.trigger.kind==="observed"&&(r=!0,n.trigger.when==="enter"?t.onEnter=n.run:t.onLeave=n.run);return r?t:void 0}function du(e){let t=Number.parseFloat(e);if(Number.isNaN(t))return 0;let r=e.includes("%")?t/100:t;return Math.min(1,Math.max(0,r))}function fu(){if(!(typeof IntersectionObserver>"u"))return(e,t)=>new IntersectionObserver(e,t)}function gu(e,t){let r=Zn(e);if(!r.includes("enter"))return!1;let n=i=>r.some(o=>i.supported.includes(o));return t.some(i=>i.entrance&&n(i))?t.every(i=>n(i)||i.supported.includes("load")):!1}function ei(e){yu(e),hu(e)}function yu({el:e,spec:t,supported:r,claims:n,reporter:i}){if(!(r.length>0||(n?.some(a=>a.supported.length>0)??!1)))return;let s=r.length>0?r.join(", "):"none in common across the composed effects";for(let a of t.names)Zn(a).some(c=>r.includes(c))||n&&gu(a,n)||i.warn(`activation "${a}" is not supported by this effect (supports: ${s})`,e)}function hu({el:e,spec:t,reporter:r}){if("onclick"in e)for(let n of t.names){if(Pr(n)||ru(n)||`on${n}`in e)continue;let i=nu(n),o=i?`; did you mean "${i}"?`:"",s=`no DOM event named "${n}" \u2014 data-kui-on binds it anyway, so nothing will start it`;r.warn(`${s}${o}`,e)}}var S={source:"data-kui",define:"data-kui-define",normalized:"data-kui-fx",state:"data-kui-state",on:"data-kui-on",timeline:"data-kui-timeline",threshold:"data-kui-threshold",stagger:"data-kui-stagger",cloak:"data-kui-cloak",rm:"data-kui-rm",unmatched:"data-kui-unmatched",part:"data-kui-part"};var wr={sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},ct=Object.keys(wr),ti=[["above","below"],["wide","narrow"]];function ri(e){return ti.find(t=>t.includes(e))}function ni(e){return Object.hasOwn(wr,e)}function We(e){return ct.indexOf(e)}function at(e,t){return`--kui-${e}-${t}`}function ii(e){return`(min-width: ${wr[e]})`}function oi(e,t){if(!t)return e;let r=e;return t.narrow&&(r=`var(${at("narrow",t.narrow)}, ${r})`),t.wide&&(r=`var(${at("wide",t.wide)}, ${r})`),t.below&&(r=`var(${at("below",t.below)}, ${r})`),t.above&&(r=`var(${at("above",t.above)}, ${r})`),r}function lt(e,t){if(!e||typeof t?.matchMedia!="function")return!0;let r=n=>t.matchMedia(ii(n)).matches;return!(e.above&&!r(e.above)||e.below&&r(e.below))}function si(e,t){if(!e||!t)return!0;let r=(i,[o,s])=>[i[o]?We(i[o]):-1,i[s]?We(i[s]):ct.length],n=i=>{let[o,s]=r(e,i),[a,c]=r(t,i);return o<c&&a<s};return ti.every(n)}function ai(e){let t=new Set;for(let r of e)r.above&&t.add(r.above),r.below&&t.add(r.below);return[...t]}function ci(e,t){let r=new Map,n=new Map;function i(o){if(typeof e?.matchMedia!="function"||n.has(o))return;let s=e.matchMedia(ii(o));if(typeof s.addEventListener!="function")return;let a=()=>{for(let[c,u]of[...r])u.includes(o)&&t(c)};s.addEventListener("change",a),n.set(o,()=>s.removeEventListener("change",a))}return{watch(o,s){if(s.length===0){r.delete(o);return}r.set(o,[...s]);for(let a of s)i(a)},unwatch(o){r.delete(o)},destroy(){for(let o of n.values())o();n.clear(),r.clear()}}}var Z={stiffness:180,damping:24,mass:1,restVelocity:.05,restDisplacement:.05},vu=1/240,bu=.25;function Tr(e,t,r,n){let{value:i,velocity:o}=e,s=Math.min(Math.max(n,0),bu);for(;s>0;){let a=Math.min(vu,s),c=-r.stiffness*(i-t)-r.damping*o;o+=c/r.mass*a,i+=o*a,s-=a}return{value:i,velocity:o}}function Ar(e,t,r){return Math.abs(e.velocity)<r.restVelocity&&Math.abs(e.value-t)<r.restDisplacement}var li=1e4;function pe(e,t,r){let n=Eu(e)?e:Z;n!==e&&r.warn?.("invalid spring configuration; using defaults");let i={value:0,velocity:0},o=0,s=null,a=0,c=0;function u(f){s=null;let d=(f-a)/1e3;if(a=f,i=Tr(i,o,n,d),!Su(i)||!Number.isFinite(o)){m("spring produced non-finite state");return}if(f-c>=li){m(`spring exceeded ${li}ms settle budget`);return}if(Ar(i,o,n)){i={value:o,velocity:0},t(i.value,!0);return}t(i.value,!1),l()}function l(){s===null&&(s=r.requestFrame(u))}function p(){c=r.now(),s===null&&(a=c),l()}function m(f){i={value:Number.isFinite(o)?o:0,velocity:0},r.warn?.(f),t(i.value,!0)}return{to(f,d){o=f,d!==void 0&&(i={...i,velocity:d}),p()},set(f,d=0){i={value:f,velocity:d}},current:()=>({...i}),stop(){s!==null&&r.cancelFrame(s),s=null}}}function Eu(e){return Object.values(e).every(Number.isFinite)&&e.stiffness>0&&e.damping>0&&e.mass>0&&e.restVelocity>0&&e.restDisplacement>0}function Su(e){return Number.isFinite(e.value)&&Number.isFinite(e.velocity)}function ut(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(()=>t(Date.now()),16),cancelFrame:t=>globalThis.clearTimeout(t),now:()=>Date.now()}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t),now:()=>performance.now()}}var fi=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),gi="spring(",Ir=2/3,yi=180,hi=1,Pu=2*Ir*Math.sqrt(yi*hi),mt=.15,Cr=4,pt=1-mt,Rr=["stiffness","damping","mass"],ui=["bounce",...Rr],vi=1/240,ku=4e4,xu=.001,wu=.001,pi=16,Tu=64,Au=10,dt=1e3;function Lr(e){return e.startsWith(gi)&&e.endsWith(")")}function me(e){return fi.has(e)?e:Lr(e)?Pi(bi(e)):e.includes("(")?e:`var(--kui-ease-${e}, ease-out)`}var mi="ease-out";function ft(e,t,r){if(!e)return;if(fi.has(e))return e;if(Lr(e))return Pi(bi(e));if(e.includes("("))return e;let n=Cu(e,t);return n||(r(`easing "${e}" has no --kui-ease-${e} definition \u2014 using ${mi}`),mi)}function Cu(e,t){let r=t.ownerDocument.defaultView;return r?r.getComputedStyle(t).getPropertyValue(`--kui-ease-${e}`).trim():""}function gt(e){if(!Lr(e))return[];let{values:t,problems:r}=Ei(e);return Si(t,r),r}function bi(e){let{values:t,problems:r}=Ei(e);return Si(t,r)}function Ei(e){let t=new Map,r=[],n=e.slice(gi.length,-1).trim();if(n)for(let i of n.split(/\s+/))Ru(i,t,r);return{values:t,problems:r}}function Ru(e,t,r){let n=e.indexOf(":"),i=n<0?e:e.slice(0,n),o=n<0?"":e.slice(n+1);if(!ui.includes(i)){r.push(`unknown spring parameter "${e}" \u2014 expected ${ui.join(", ")}`);return}let s=Number(o);if(o===""||!Number.isFinite(s)||s<0){r.push(`spring "${i}" expects a non-negative number \u2014 got "${o}"`);return}t.has(i)&&r.push(`duplicate spring parameter "${i}"`),t.set(i,s)}function Si(e,t){let r=e.get("bounce"),n=Rr.some(a=>e.has(a));if(r!==void 0)return n&&t.push(`spring "bounce" and "${Rr.join('"/"')}" describe the same curve two ways \u2014 "bounce" wins`),1-Mu(r,t);if(!n)return Ir;let i=e.get("stiffness")??yi,o=e.get("mass")??hi,s=e.get("damping")??Pu;return Iu(s/(2*Math.sqrt(i*o)),t)}function Mu(e,t){return e<=pt?e:(t.push(`spring "bounce:${e}" is past ${pt} \u2014 a spring that bouncy never settles inside one animation, so it is capped at ${pt}`),pt)}function Iu(e,t){if(!Number.isFinite(e))return t.push("spring constants do not describe a spring \u2014 using the default curve"),Ir;if(e>=mt&&e<=Cr)return e;let r=Math.min(Math.max(e,mt),Cr);return t.push(`spring damping ratio ${Mr(e)} is outside ${mt}\u2013${Cr} \u2014 clamped to ${Mr(r)} so the curve settles`),r}var di=new Map;function Pi(e){let t=Math.round(e*dt),r=di.get(t);if(r!==void 0)return r;let n=Lu(t/dt);return di.set(t,n),n}function Lu(e){let t=Ou(e),r=Nu(e,(t.length-1)*vi),n=[];for(let i=0;i<=r;i++)n.push(String(Mr(_u(t,i/r))));return n[0]="0",n[r]="1",`linear(${n.join(", ")})`}function Ou(e){let t={stiffness:1,damping:2*e,mass:1,restVelocity:wu,restDisplacement:xu},r=[0],n={value:0,velocity:0};for(let i=0;i<ku&&(n=Tr(n,1,t,vi),r.push(n.value),!Ar(n,1,t));i++);return r}function Nu(e,t){if(e>=1)return pi;let r=2*Math.PI/Math.sqrt(1-e*e),n=pi+Math.round(Au*t/r);return Math.min(n,Tu)}function _u(e,t){let r=t*(e.length-1),n=Math.floor(r),i=Math.min(n+1,e.length-1),o=e[n];return o+(e[i]-o)*(r-n)}function Mr(e){return Math.round(e*dt)/dt}var qe="infinite",$u=/^(?:\d+(?:\.\d+)?|\.\d+)$/,Du=new Set(["view","scroll","pin"]),ju=new Set(["repeat","yoyo"]);function ki(e){return ju.has(e)}function xi(e,t,r,n){e[t]!==void 0&&n.warn(`duplicate parameter "${t}" in "${n.segment}"`),t==="yoyo"?Gu(e,r,n):Hu(e,r,n)}function Hu(e,t,r){if(t===qe){e.repeat=qe;return}if(!$u.test(t)){r.warn(Vu(t,r.segment));return}Number(t)===0&&r.warn(`"repeat:0" in "${r.segment}" means the effect never plays \u2014 with animation-fill-mode: both it jumps straight to its end state. Write "repeat:1" to play it once, or drop the key.`),e.repeat=t}function Gu(e,t,r){if(t!=="true"&&t!=="false"){r.warn(`"yoyo:${t}" in "${r.segment}" is not a boolean \u2014 expected yoyo:true or yoyo:false`);return}e.yoyo=t==="true"}function Vu(e,t){return e.startsWith("-")?`"repeat:${e}" in "${t}" is negative \u2014 a play count cannot be. Write "repeat:infinite" to loop forever, or a non-negative number such as repeat:3.`:`"repeat:${e}" in "${t}" is not a play count \u2014 expected a non-negative number such as repeat:3, or repeat:infinite`}function wi(e){let t=[];if(e.repeat===void 0&&e.yoyo===void 0)return{warnings:t};if(e.renderer!=="css-keyframes")return{warnings:[Bu(e)]};if(e.repeat===qe&&Du.has(e.timeline))return t.push(Wu(e.name,e.timeline)),{yoyo:e.yoyo,warnings:t};let r=Fu(e);return r&&t.push(r),{repeat:e.repeat,yoyo:e.yoyo,warnings:t}}function Fu(e){if(!e.cloak||e.yoyo!==!0)return null;let t=yt(e.repeat);return t===void 0||t===0||t%2!==0?null:`"${e.name}" with yoyo:true and an even repeat:${e.repeat} ends on a reversed iteration, and this effect's from-state is one the visitor is not meant to see \u2014 the element finishes hidden. Use an odd count (repeat:${t+1}) to end at the rest state.`}function Bu(e){let t=[e.repeat===void 0?"":`repeat:${e.repeat}`,e.yoyo===void 0?"":`yoyo:${e.yoyo}`].filter(Boolean).join(" and ");return`"${e.name}" is rendered in JavaScript and compiles no animation-iteration-count, so ${t} does nothing \u2014 it plays once. Repeat is a CSS-keyframes capability; a JS-rendered effect that loops does it through a parameter of its own (typewriter's "loop:"), if it has one.`}function Wu(e,t){let r=t==="pin"?"a pin scrubs a single playthrough with a negative animation-delay, so no iteration past the first is ever reachable":`a "${t}" timeline is a finite range driven by scroll position rather than a clock, and an infinite iteration count collapses the animation's active duration to zero there \u2014 the element renders frozen at its end state`;return`"${e}" has repeat:infinite on a "${t}" timeline: ${r}. Dropping the repeat, so it plays once across the range \u2014 put an infinite loop on a "time" timeline instead.`}function yt(e){if(!(e===void 0||e===qe))return Number(e)}function Ti(e){return e===qe}function Ai(e){return e?"alternate":"normal"}function ht(e,t){let r=yt(t);return r===void 0||r===1?e:`${e} * ${r}`}var vt=["enter","leave","enter-back","leave-back"],Ci=new Set(["play","pause","resume","reverse","reset","restart","complete","none"]),Mi=new Set(["pause","resume","reset","restart","complete"]),Ri="/";function bt(e,t=[]){let r=e.split(Ri);r.length>vt.length&&t.push(`"actions:${e}" has ${String(r.length)} verbs \u2014 there are four crossings (${vt.join(Ri)}), so the extras are ignored`);let n={enter:"none",leave:"none","enter-back":"none","leave-back":"none"};for(let[i,o]of vt.entries()){let s=r[i]?.trim();s===void 0||s===""||(n[o]=qu(s,o,t))}return n}function qu(e,t,r){return Ci.has(e)?e:(r.push(`unrecognised action "${e}" for the "${t}" crossing \u2014 expected ${[...Ci].join(", ")}`),"none")}function Ii(e){let t=[];return bt(e,t),t}function Uu(e){for(let t of vt)if(Mi.has(e[t]))return e[t]}function Li(e){if(!e.observed)return[`"actions:" describes the four crossings of a scroll trigger, but this element activates on "${e.activation}" \u2014 nothing here is ever reached. Use on:enter or on:enter/leave`];let t=Uu(e.actions);if(t===void 0)return[];let r=[];e.progressDriven&&r.push(`"actions:" asks to ${t} an element whose progress is driven by scroll position rather than by a clock \u2014 its playhead belongs to the scroller and would be overwritten on the next frame`);let n=e.jsEffectNames;if(n.length>0){let i=n.length===1;r.push(`"actions:" asks to ${t}, which needs a playhead, and "${n.join(" ")}" ${i?"is":"are"} rendered in JavaScript and expose${i?"s":""} none \u2014 that crossing does nothing for ${i?"it":"them"}`)}return r}function Oi(e,t){e==="play"?t.activate():e==="reverse"?t.reverse():Mi.has(e)&&Ku(e,t)}function Ku(e,t){if(!t.started){zu(e)&&t.activate();return}(e==="restart"||e==="complete")&&t.activate();for(let r of t.controls)Yu(e,r)}function zu(e){return e==="resume"||e==="restart"||e==="complete"}function Yu(e,t){e==="pause"?t.pause():e==="resume"?t.resume():e==="complete"?t.seek(1):(t.seek(0),e==="reset"?t.pause():t.resume())}var g={opacity:"opacity",translate:"translate",scale:"scale",rotate:"rotate",filter:"filter",clip:"clip",background:"background",color:"color",stroke:"stroke",text:"text",skew:"skew"};function Et(e=()=>{}){return{activate(){},cancel(){},finish(){},finished:Promise.resolve(),destroy:e}}var be=["activation","actions","timeline","threshold","cascade","spread","order","cols","along"];var Xu=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/,Ju=["cubic-bezier(","steps(","linear(","spring("],Zu=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end","expo-in","expo-out","expo-in-out","back-in","back-out","back-in-out","quart-out","circ-out","spring","bounce"]);function de(e,t,r=[]){let n=[],i={depth:0,quote:null,escaped:!1},o="";for(let s of e){if(Qu(s,t,i)){o.trim()&&n.push(o.trim()),o="";continue}o+=s}return o.trim()&&n.push(o.trim()),i.quote?r.push(`unterminated ${i.quote} quote in "${e}"`):i.depth>0&&r.push(`unclosed "(" in "${e}"`),n}function Qu(e,t,r){return r.quote?ep(e,r):e==='"'||e==="'"?(r.quote=e,!1):(e==="("?r.depth++:e===")"&&(r.depth=Math.max(0,r.depth-1)),r.depth!==0?!1:t===" "?/\s/.test(e):e===t)}function ep(e,t){return t.escaped?t.escaped=!1:e==="\\"?t.escaped=!0:e===t.quote&&(t.quote=null),!1}function Ue(e){let t=0;for(let r=0;r<e.length;r++){let n=e[r];if(n==="(")t++;else if(n===")")t=Math.max(0,t-1);else if(n===":"&&t===0){let i=e.slice(0,r).trim(),o=tp(e.slice(r+1).trim());return i&&o?[i,o]:null}}return null}function tp(e){let t=e[0];return(t==='"'||t==="'")&&e.endsWith(t)&&e.length>1?e.slice(1,-1).replaceAll(`\\${t}`,t):e}function $i(e){let t=[],r=de(e??""," ",t),[n,...i]=r;if(!n)return{warnings:t};t.push(...kr(n));let o;for(let s of i){let a=Ue(s);if(!a||a[0]!=="from"){t.push(`unrecognised activation option "${s}"`);continue}if(o!==void 0){t.push(`duplicate activation option "from" in "${e}"`);continue}o=a[1]}return t.length>0?{warnings:t}:{activation:n,...o===void 0?{}:{from:o},warnings:t}}function rp(e){let t=Ue(e);return t?{kind:"pair",key:t[0],value:t[1]}:Xu.test(e)?{kind:"time",value:e}:np(e)?{kind:"easing",value:e}:{kind:"unknown",value:e}}function np(e){return Zu.has(e)?!0:Ju.some(t=>e.startsWith(t)&&e.endsWith(")"))}function Re(e){let t={specs:[],warnings:[]};for(let r of de(e??"",",",t.warnings)){let n=ip(r,t);n&&t.specs.push(n)}return t}function ip(e,t){let r=de(e," ",t.warnings),n=r.shift();if(Ue(n))return lp(n,r,t)||t.warnings.push(`effect name expected, got "${n}"`),null;let i={name:n,params:{}},o=0,s=sp(r)?{specs:[],warnings:[]}:null;for(let a of r){let c=rp(a);c.kind==="time"?o=pp(i,c.value,o,t.warnings):mp(c,i,{segment:e,result:t,sink:s})}return op(i,s,t),i}function op(e,t,r){if(!t)return;r.warnings.push(...t.warnings);let n=ap(t);n&&(e.hoists=n)}function sp(e){return e.some(t=>Ue(t)?.[0]==="target")}function ap(e){let t={},r=!1;for(let n of be){let i=e[n];i!==void 0&&(t[n]=i,r=!0)}return r?t:void 0}var cp=new Set(["on","actions","timeline","threshold","cascade","spread","order","cols","along"]);function lp(e,t,r){let n=[];for(let i of[e,...t]){let o=Ue(i);if(!o||!up.has(o[0])||!Object.hasOwn(St,o[0]))return!1;n.push(o)}for(let[i,o]of n)St[i](r,o);return!0}var up=new Set(["cascade","spread","order","cols","along"]);function pp(e,t,r,n){return r===0?e.duration=t:r===1?e.delay=t:n.push(`third time value "${t}" ignored (expected duration then delay)`),r+1}function mp(e,t,r){let{segment:n,result:i,sink:o}=r;if(e.kind==="easing"){dp(e.value,t,n,i);return}if(e.kind==="unknown"){i.warnings.push(`unrecognised token "${e.value}" in "${n}" \u2014 expected [duration] [delay] [easing] or key:value`);return}if(!fp(e.key,e.value,t,r)){if(Object.hasOwn(St,e.key)){let s=o&&cp.has(e.key)?o:i;St[e.key](s,e.value);return}e.key in t.params&&i.warnings.push(`duplicate parameter "${e.key}" in "${n}"`),t.params[e.key]=e.value}}function dp(e,t,r,n){t.easing&&n.warnings.push(`duplicate easing "${e}" in "${r}"`);for(let i of gt(e))n.warnings.push(`${i} in "${r}"`);t.easing=e}function fp(e,t,r,n){let{segment:i,result:o}=n;return e==="at"?(r.at!==void 0&&o.warnings.push(`duplicate parameter "at" in "${i}"`),r.at=t,!0):yp(e)?(hp(r,e,t,n),!0):ki(e)?(xi(r,e,t,{segment:i,warn:s=>o.warnings.push(s)}),!0):!1}var gp=new Set(["above","below","wide","narrow"]);function yp(e){return gp.has(e)}function hp(e,t,r,n){let{segment:i,result:o}=n;if(!ni(r)){o.warnings.push(`unknown breakpoint "${r}" in "${i}" \u2014 expected one of ${ct.join(", ")}`);return}let s=e.gate??={};s[t]!==void 0&&o.warnings.push(`duplicate parameter "${t}" in "${i}"`),s[t]=r,vp(s,ri(t),i,o)}function vp(e,t,r,n){let[i,o]=t,s=e[i],a=e[o];!s||!a||We(s)<We(a)||n.warnings.push(`"${i}:${s} ${o}:${a}" in "${r}" can never match \u2014 "${i}" must name a smaller breakpoint than "${o}"`)}var Ni=new Set(["shorten","crossfade","disable"]),St={on(e,t){let r=kr(t);if(r.length>0){e.warnings.push(...r);return}q(e,"activation",t,"activations")},timeline(e,t){q(e,"timeline",t,"timelines")},actions(e,t){let r=Ii(t);if(r.length>0){e.warnings.push(...r);return}q(e,"actions",t,"crossing actions")},threshold(e,t){q(e,"threshold",t,"thresholds")},cascade(e,t){_i(e,"spread","cascade",t),q(e,"cascade",t,"stagger steps")},spread(e,t){_i(e,"cascade","spread",t),q(e,"spread",t,"stagger budgets")},order(e,t){q(e,"order",t,"stagger orders")},cols(e,t){q(e,"cols",t,"stagger column counts")},along(e,t){q(e,"along",t,"stagger axes")},rm(e,t){if(!Ni.has(t)){e.warnings.push(`unrecognised "rm:${t}" \u2014 expected ${[...Ni].join(", ")}`);return}q(e,"rm",t,"reduced-motion policies")},func(e,t){q(e,"func",t,"callbacks")}};function _i(e,t,r,n){let i=e[t];i!==void 0&&e.warnings.push(`"${t}:${i}" and "${r}:${n}" are two ways to set one stagger step \u2014 the total budget ("spread:") wins`)}function q(e,t,r,n){let i=e[t];if(i===void 0){e[t]=r;return}i!==r&&e.warnings.push(`conflicting ${n} "${String(i)}" and "${String(r)}"`)}var fe=class{primitives=new Map;presets=new Map;combos=new Map;registerPrimitive(t){if(this.primitives.has(t.id))throw new Error(`kuinetic: primitive "${t.id}" is already registered`);return this.primitives.set(t.id,Ep(t)),this}registerPreset(t){if(this.presets.has(t.name))throw new Error(`kuinetic: effect "${t.name}" is already registered`);if(!this.primitives.has(t.primitive))throw new Error(`kuinetic: effect "${t.name}" references unknown primitive "${t.primitive}"`);for(let r of t.transitions??[])if(r.property==="all"||r.property==="none")throw new Error(`kuinetic: effect "${t.name}" declares a transition on "${r.property}", which would swallow every other preset's segment in the merged transition list \u2014 name the real property instead`);return this.presets.set(t.name,t),this}registerPresets(t){for(let r of t)this.registerPreset(r);return this}registerPrimitives(t){for(let r of t)this.registerPrimitive(r);return this}registerCombo(t,r){return this.combos.set(Di(t),r),this}resolve(t){let r=this.presets.get(t);if(!r)return;let n=this.primitives.get(r.primitive);return{preset:r,primitive:n}}findCombo(t){let r=this.combos.get(Di(t));return r?this.resolve(r):void 0}has(t){return this.presets.has(t)}names(){return[...this.presets.keys()].sort((t,r)=>t.localeCompare(r))}getPrimitive(t){return this.primitives.get(t)}},bp=["duration","delay","ease"];function ge(e,t){return`--kui-${e}-${t}`}function Ep(e){let t={...e.parameters};for(let r of bp){let n=t[r];n&&(t[r]={...n,cssProperty:ge(e.id,r)})}return{...e,parameters:t}}function Di(e){return[...e].sort((t,r)=>t.localeCompare(r)).join("+")}function Pt(e,t){let r,n=1/0;for(let i of t){let o=Sp(e,i);o<n&&(n=o,r=i)}return n<=Math.max(2,Math.floor(e.length/3))?r:void 0}function Sp(e,t){let r=e.length+1,n=t.length+1,i=Array.from({length:n},(o,s)=>s);for(let o=1;o<r;o++){let s=[o,...Array(n-1).fill(0)];for(let a=1;a<n;a++){let c=e[o-1]===t[a-1]?0:1;s[a]=Math.min(s[a-1]+1,i[a]+1,i[a-1]+c)}i=s}return i[n-1]}var ji=["activation","timeline","threshold","rm","func"],Pp={activation:"on",timeline:"timeline",threshold:"threshold",rm:"rm",func:"func"},kt=class{constructor(t){this.registry=t}bundles=new Map;collect(t,r){let n=0;for(let i of Tp(t))this.define(i,r)&&n++;return n}expand(t){if(this.bundles.size===0)return t;let r={warnings:[...t.warnings],hoists:{}},n=this.expandList(t.specs,[],r),i={...t,specs:n,warnings:r.warnings};for(let o of ji)Hi(i,r.hoists,o);return i}define(t,r){let n=t.getAttribute(S.define).trim(),i=t.getAttribute(S.source)??"",o=this.nameProblem(n);if(o)return r.warn(o,t),!1;let s=this.bundles.get(n);return s?(s.source!==i&&r.warn(`bundle "${n}" is already defined \u2014 the first definition wins`,t),!1):(t.localName!=="template"&&r.warn(`bundle "${n}" is defined on <${t.localName}> \u2014 a definition is data, so it is never animated; use <template>`,t),this.bundles.set(n,kp(n,i,t,r)),!0)}nameProblem(t){if(!t)return`${S.define} needs a name \u2014 an empty one defines nothing`;if(/[\s,:()"']/.test(t))return`bundle name "${t}" cannot contain whitespace, a comma, a colon, parentheses or quotes \u2014 those are grammar, so a name carrying them could never be written in ${S.source}`;if(this.registry.has(t))return`bundle "${t}" is already the name of a registered effect \u2014 the effect wins and this definition is ignored`}expandList(t,r,n){let i=[];for(let o of t){let s=this.bundles.get(o.name);if(!s){i.push(o),this.noteNearMiss(o.name,n.warnings);continue}if(r.includes(o.name)){n.warnings.push(wp(r,o.name));continue}xp(s,o.name,n);let a=this.expandList(s.specs,[...r,o.name],n);Rp(o,a,n.warnings);for(let c of a)i.push(Ap(c,o))}return i}noteNearMiss(t,r){if(this.registry.has(t))return;let n=Pt(t,[...this.bundles.keys()]);n&&r.push(`"${t}" is not a registered effect \u2014 did you mean the bundle "${n}"?`)}};function kp(e,t,r,n){let i=Re(t);for(let s of i.warnings)n.warn(`in bundle "${e}": ${s}`,r);i.specs.length===0&&n.warn(`bundle "${e}" names no effect \u2014 elements that use it animate nothing`,r);let o=["cascade","spread","order","cols","along"].filter(s=>i[s]!==void 0).map(s=>`"${s}:"`).join(" and ");return o&&n.warn(`bundle "${e}" declares ${o} \u2014 a stagger group is read from the group element's own attribute, which never sees a bundle, so it is dropped; write it on the group element itself`,r),{source:t,specs:i.specs,hoists:i}}function xp(e,t,r){for(let n of ji){if(Hi(r.hoists,e.hoists,n)!=="clash")continue;let i=Pp[n],o=String(r.hoists[n]);r.warnings.push(`bundle "${t}" sets "${i}:${String(e.hoists[n])}", which conflicts with "${i}:${o}" from an earlier bundle \u2014 the first wins`)}}function wp(e,t){let r=[...e,t].join(" \u2192 ");return`bundle "${t}" is defined in terms of itself (${r}) \u2014 the reference is dropped`}function Tp(e){let t=`[${S.define}]`,r=[...e.querySelectorAll(t)],n=e.nodeType===1?e:null;return n?.matches(t)&&r.unshift(n),r}function Hi(e,t,r){let n=t[r];if(n===void 0)return"kept";let i=e[r];return i===void 0?(e[r]=n,"taken"):i===n?"kept":"clash"}function Ap(e,t){return{...e,duration:t.duration??e.duration,delay:t.delay??e.delay,easing:t.easing??e.easing,at:t.at??e.at,gate:t.gate??e.gate,repeat:t.repeat??e.repeat,yoyo:t.yoyo??e.yoyo,params:{...e.params,...t.params},hoists:Cp(e.hoists,t.hoists)}}function Cp(e,t){if(!e&&!t)return;let r={...e};for(let n of be){let i=t?.[n];i!==void 0&&(r[n]=i)}return r}function Rp(e,t,r){e.at===void 0||!t.some(n=>n.at!==void 0)||r.push(`"at:${e.at}" on "${e.name}" overrides the offsets the bundle sets on its own segments \u2014 they now all start at the same position`)}function ze(e,t){return typeof e=="string"?[...t.querySelectorAll(e)]:e instanceof Element?[e]:[...e]}function Or(e){if(e!==void 0)return typeof e=="number"?`${e}ms`:e}var Mp=/[\s,()"']/;function Ip(e){return Mp.test(e)?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:e}function Lp(e){let t=0;for(let r of e)if(r==="(")t++;else if(r===")")t=Math.max(0,t-1);else if(r===":"&&t===0)return!0;return!1}function Ke(e,t){let r=[],n=de(t," ",r),i=de(t,",",r),o=n.length===1&&n[0]===t;if(!(r.length===0&&o&&i.length===1&&!Lp(t)))throw new Error(`play(): ${e} "${t}" cannot be serialized \u2014 it contains a space, comma, colon, quote, or unbalanced parenthesis the parser cannot read back as one token`)}function Nr(e,t={}){Ke("effect",e);let{duration:r,delay:n,ease:i,...o}=t;delete o.stagger;let s=[e],a=Or(n),c=Or(r);c&&(Ke("duration",c),s.push(c)),a&&(Ke("delay",a),s.push(c?a:`delay:${a}`)),i&&(Ke("easing",i),s.push(i));for(let[u,l]of Object.entries(o))l!==void 0&&(Ke("parameter name",u),s.push(`${u}:${Ip(String(l))}`));return s.join(" ")}function xt(e,t={}){let{animator:r,root:n,target:i,effect:o}=e,s=ze(i,n),a=Or(t.stagger),c=Nr(o,t);for(let[p,m]of s.entries())a&&(m.style.setProperty("--kui-stagger",a),m.style.setProperty("--kui-i",String(p))),r.reset(m),m.hasAttribute(S.on)||m.setAttribute(S.on,"manual"),m.setAttribute(S.source,c),r.process(m),r.activate(m);let u=p=>[p,...r.derivedOf(p)].flatMap(m=>r.stateOf(m)?.instances??[]),l=Promise.all(s.flatMap(p=>u(p).map(m=>m.finished))).then(()=>{});return{elements:s,finished:l,cancel(){for(let p of s)r.cancel(p)},finish(){for(let p of s)for(let m of u(p))m.finish()}}}var _r=0;function Gi(e){return Math.min(1,Math.max(0,e))}function Bi(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Wi(e){return Bi(e.effect?.getComputedTiming?.().endTime)}function Vi(e){let t=_r;for(let r of e)t=Math.max(t,Wi(r));return t}function qi(e){return e.length===0?"idle":e.includes("running")?"running":e.includes("paused")?"paused":e.every(t=>t==="finished")?"finished":"idle"}function Fi(e){try{e()}catch{}}function Ui(e,t){return{pause(){t.set("animation-play-state","paused")},resume(){t.set("animation-play-state","running")},reverse(){for(let r of e())Fi(()=>r.reverse());t.set("animation-play-state","running")},seek(r){let n=e(),i=Vi(n);if(i===_r)return;let o=Gi(r)*i;for(let s of n)Fi(()=>{s.currentTime=Math.min(o,Wi(s))})},rate(r){for(let n of e())n.playbackRate=r},get progress(){let r=e(),n=Vi(r);if(n===_r)return 0;let i=0;for(let o of r)i=Math.max(i,Bi(o.currentTime));return Gi(i/n)},get playState(){return qi(e().map(r=>r.playState))}}}function Op(e,t){let r=e.stateOf(t);if(!r)return{el:t,controls:[],unreachable:[],refused:!0,note:"no kUInetic effect is installed on this element \u2014 it has no playhead to control"};if(r.progressDriven)return{el:t,controls:[],unreachable:[...r.fxNames],refused:!0,note:`"${r.fxNames.join(" ")}" is driven by scroll position rather than a clock, so its playhead belongs to the scroller \u2014 pausing or seeking it would be overwritten on the next frame`};let n=r.instances.map(o=>o.control).filter(o=>o!==void 0),i=[...r.jsEffectNames];return i.length===0?{el:t,controls:n,unreachable:i}:{el:t,controls:n,unreachable:i,note:`"${i.join(" ")}" ${i.length===1?"is":"are"} rendered in JavaScript and expose${i.length===1?"s":""} no playhead, so pause, seek and timeScale do not reach ${i.length===1?"it":"them"}`}}function Np(e,t){let r=new Set,n=[];for(let i of t)for(let o of[i,...e.derivedOf(i)])r.has(o)||(r.add(o),n.push(o));return n}function wt(e){let{animator:t,root:r,target:n}=e,i=ze(n,r),o=Np(t,i),s=o.map(p=>Op(t,p));for(let[p,m]of s.entries())m.note&&t.reporter.warn(`control(): ${m.note}`,o[p]);let a=p=>{for(let m of s)for(let f of m.controls)p(f);return l},c=(p,m)=>(t.reporter.warn(`control(): ${p} ignored \u2014 ${String(m)} is not a finite number`),l),u=()=>{for(let p of s)p.refused||t.reverseFrom(p.el);return l},l={elements:i,get uncontrolled(){return s.flatMap(p=>p.unreachable)},pause:()=>a(p=>p.pause()),play:()=>a(p=>p.resume()),reverse:()=>u(),seek:p=>Number.isFinite(p)?a(m=>m.seek(p)):c("seek()",p),timeScale:p=>Number.isFinite(p)?a(m=>m.rate(p)):c("timeScale()",p),get progress(){let p=1,m=!1;for(let f of s)for(let d of f.controls)p=Math.min(p,d.progress),m=!0;return m?p:0},get state(){return qi(s.flatMap(p=>p.controls.map(m=>m.playState)))}};return l}var G={start:"kui:start",finish:"kui:finish",reverseFinish:"kui:reverse-finish",cancel:"kui:cancel"};function Ki(e,t,r){let n=e.ownerDocument?.defaultView?.CustomEvent??globalThis.CustomEvent;typeof n=="function"&&e.dispatchEvent(new n(t,{detail:r,bubbles:!0,composed:!0}))}function zi(e){let{el:t,name:r,reporter:n,signal:i}=e,o=s=>{if(s.target!==t)return;let a=_p(t,r);if(!a){n.warn(`func:${r} \u2014 no global function named "${r}". A function declaration (\`function ${r}() {}\`) or an explicit \`window.${r} = \u2026\` creates one; \`const\` and \`let\` deliberately do not, and neither does a bundled or \`type="module"\` script.`,t);return}Reflect.apply(a,t,[s])};t.addEventListener(G.finish,o),i.addEventListener("abort",()=>t.removeEventListener(G.finish,o))}function _p(e,t){let r=e.ownerDocument?.defaultView??globalThis;if(!Object.hasOwn(r,t))return;let n=r[t];return typeof n=="function"?n:void 0}function Ee(e,t){if(typeof CSS>"u"||typeof CSS.supports!="function")return!1;try{return CSS.supports(e,t)}catch{return!1}}var Tt;function At(e=!1){return Tt&&!e||(Tt={viewTimeline:Ee("animation-timeline","view()"),scrollTimeline:Ee("animation-timeline","scroll()"),animationRange:Ee("animation-range","entry 0% cover 30%"),individualTransforms:Ee("translate","0 10px")&&Ee("scale","1.1"),scrollTimelineName:Ee("scroll-timeline-name","--x"),viewTransitions:typeof document<"u"&&"startViewTransition"in document,intersectionObserver:typeof IntersectionObserver<"u",reducedMotion:typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches,motionPath:Ee("offset-path",'path("M 0 0")')}),Tt}var $p=[{channel:"offset",capability:"motionPath",message:"this browser does not support CSS Motion Path (offset-path), so the element will not travel \u2014 the animation still runs and completes, it just has no path to follow"}];function Yi(e,t){return $p.filter(r=>e.includes(r.channel)&&!t[r.capability]).map(r=>r.message)}var Dp=new Set(["entrance|state","exit|state"]);function jp(e,t){return e<t?`${e}|${t}`:`${t}|${e}`}function Hp(e,t){return!e.phase||!t.phase?!1:Dp.has(jp(e.phase,t.phase))}var Gp={translate:"add"};function Xi(e){return e.length>0&&e.every(t=>Gp[t]==="add")}function Ji(e,t){if(t.some(i=>i.effects[0]===i.effects[1]))return;let r=new Set(t.map(i=>i.channel)),n=new Set;e.forEach((i,o)=>{i.channels.some(s=>r.has(s))&&n.add(o)});for(let i of n)if(!e[i].additive)return;return n}function Zi(e){let t=[],r=new Map;for(let n of e)for(let i of n.channels){let o=r.get(i)??[],s=o.find(a=>si(a.gate,n.gate)&&!Hp(a,n));s&&t.push({channel:i,effects:[s.name,n.name]}),o.push(n),r.set(i,o)}return t}function Qi(e){let t=e.filter(n=>n.delivery==="stylesheet-animation");if(t.length===0)return[];let r=e.find(n=>n.inlineAnimation&&!n.delivery);return r?t.map(n=>`"${r.name}" writes an inline animation, which outranks the stylesheet rule "${n.name}" delivers its motion from`):[]}function eo(e){return e.map(t=>`"${t.effects[0]}" and "${t.effects[1]}" both animate ${t.channel}`).join("; ")}var to=/[;<]|\/\*|url\s*\(|expression\s*\(|@import|image-set\s*\(/i,Vp=/^(?:[a-z][a-z0-9+.-]*:|[/\\]{2})/i,$r=200,Fp=2e3,Bp=/^[MmZzLlHhVvCcSsQqTtAa0-9eE.,+\-\s]+$/,Me=String.raw`-?(?:\d+(?:\.\d+)?|\.\d+)`,Wp="px|rem|em|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc|q|%",ro={length:new RegExp(`^(?:0|${Me}(?:${Wp}))$`,"i"),time:new RegExp(`^${Me}(?:ms|s)$`,"i"),number:new RegExp(`^${Me}$`),percentage:new RegExp(`^${Me}%$`),angle:new RegExp(`^${Me}(?:deg|rad|turn|grad)$`,"i")},qp=new RegExp(`^(${Me})d?$`,"i");function Up(e){let t=qp.exec(e);return t?`${t[1]}deg`:e}var Kp=/^([+-]?)(\d+(?:\.\d+)?|\.\d+)(?:e([+-]?\d+))?$/i,zp=/^#[0-9a-f]{3,8}$/i,Yp=/^(?:rgba?|hsla?|okl(?:ch|ab)|l(?:ch|ab)|color)\([^()]*\)$/i,Xp=new Set(["accentcolor","accentcolortext","activetext","buttonborder","buttonface","buttontext","canvas","canvastext","field","fieldtext","graytext","highlight","highlighttext","linktext","mark","marktext","selecteditem","selecteditemtext","visitedtext","transparent","currentcolor","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),Jp=/^(?:linear|ease|step-start|step-end|spring|bounce|[a-z]+-(?:in|out|in-out))$/i,Zp=/^(?:cubic-bezier|steps|linear|spring)\([^()]*\)$/i,Qp={"number|percentage":["number","percentage"],"length|percentage":["length","percentage"],"angle|keyword":["angle"]};function em(e){return Qp[e]??[e]}var tm=new Set(["length","percentage","number"]),rm=new Set(["number","number|percentage"]),nm=/^[\d.\s+\-*/%a-z,]$/i,im=/^--[\w-]+$/;function Ie(e,t){let r=e.trim(),n=um(r,t);if(n)return n;let i=om(r,t);if(i)return i;if(t.type==="text")return{value:r,ok:!0};if(t.type==="path")return lm(r,t);let o=sm(r,t.type);return pm(o,t.type)?fm(o,t):Q(t,`not a valid ${mm(t)}`)}function om(e,t){return t.type!=="keyword"&&t.type!=="angle|keyword"?null:t.keywords?.includes(e)?{value:e,ok:!0}:t.type!=="keyword"?null:Q(t,`expected one of ${t.keywords?.join(", ")||"(none declared)"}`)}function sm(e,t){return t==="angle"||t==="angle|keyword"?Up(e):t==="number|percentage"?am(e):e}function am(e){return ro.percentage.test(e)?Ct(e.slice(0,-1),-2)??e:e}function Ct(e,t=0){let r=Kp.exec(e);if(!r||e.length>$r)return;let[,n,i,o]=r,s=i.replace(".",""),a=i.indexOf("."),c=(a<0?s.length:a)+Number(o??0)+t;if(Math.abs(c)+s.length>190)return;let u="0".repeat(Math.max(0,-c))+s+"0".repeat(Math.max(0,c-s.length)),l=Math.max(0,c),p=u.slice(0,l).replace(/^0+/,"")||"0",m=cm(u,l);return`${n==="-"?"-":""}${p}${m}`}function cm(e,t){let r=e.length;for(;r>t&&e[r-1]==="0";)r--;return r>t?"."+e.slice(t,r):""}function no(e){return e.length<=$r&&!to.test(e)}function lm(e,t){return Bp.test(e)?/^[Mm]/.test(e)?{value:`"${e}"`,ok:!0}:Q(t,"path data must start with a moveto (M or m)"):Q(t,"path data contains an unsupported character")}function um(e,t){if(!e)return Q(t,"empty value");let r=t.type==="path"?Fp:$r;return e.length>r?Q(t,`value exceeds ${r} characters`):to.test(e)?Q(t,"value contains disallowed CSS syntax"):null}function pm(e,t){if(t==="color")return dm(e);if(t==="easing")return Jp.test(e)||Zp.test(e);let r=em(t);return r.some(n=>ro[n]?.test(e))?!0:r.some(n=>tm.has(n))?gm(e)&&vm(e):!1}function mm(e){return e.type==="angle|keyword"?`angle or one of ${e.keywords?.join(", ")||"(none declared)"}`:e.type.replace("|"," or ")}function dm(e){return zp.test(e)||Yp.test(e)||Xp.has(e.toLowerCase())}function io(e){return!Vp.test(e)}function fm(e,t){if(!rm.has(t.type))return{value:e,ok:!0};let r=Number(e);return t.finite&&!Number.isFinite(r)?Q(t,"expected a finite number"):t.integer&&!Number.isInteger(r)?Q(t,"expected an integer"):t.minimum!==void 0&&r<t.minimum?Q(t,`expected at least ${t.minimum}`):t.maximum!==void 0&&r>t.maximum?Q(t,`expected at most ${t.maximum}`):{value:e,ok:!0}}function Q(e,t){return{value:e.default,ok:!1,reason:t}}function gm(e){if(!e.startsWith("calc(")||!e.endsWith(")"))return!1;let t=e.length-1,r=5;for(;r<t;)if(r=ym(e,r,t),r<0)return!1;return!0}function ym(e,t,r){return e.startsWith("var(",t)?hm(e,t,r):nm.test(e[t])?t+1:-1}function hm(e,t,r){let n=e.indexOf(")",t+4);if(n<0||n>=r)return-1;let i=e.slice(t+4,n);return im.test(i)?n+1:-1}function vm(e){let t=e.slice(5,-1).trim();return t!==""&&!/[+\-*/]$/.test(t)}function oo(e,t,r){let n={};for(let[i,o]of Object.entries(e)){let s=Object.hasOwn(t,i)?t[i]:void 0;if(!s){r(`unknown parameter "${i}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}if(s.type==="text")continue;let a=Ie(o,s);if(!a.ok){r(`parameter "${i}": ${a.reason} \u2014 got "${o}", using default "${s.default}"`);continue}n[s.cssProperty]=bm(a.value,s,i,r)}return n}function bm(e,t,r,n){if(t.type!=="easing")return e;for(let i of gt(e))n(`parameter "${r}": ${i}`);return me(e)}var ao={viewportWidth:0,viewportHeight:0,percentBasis:0,fontSize:16,rootFontSize:16},Em={px:1,cm:96/2.54,mm:96/25.4,q:96/101.6,in:96,pt:96/72,pc:16},Sm={vh:e=>e.viewportHeight/100,vw:e=>e.viewportWidth/100,vmin:e=>Math.min(e.viewportWidth,e.viewportHeight)/100,vmax:e=>Math.max(e.viewportWidth,e.viewportHeight)/100,"%":e=>e.percentBasis/100,em:e=>e.fontSize,rem:e=>e.rootFontSize,ch:e=>e.fontSize*.5,ex:e=>e.fontSize*.5},Dr=/^(-?(?:\d+(?:\.\d+)?|\.\d+))([a-z%]*)$/i;function Pm(e,t,r){let n={};for(let[i,o]of Object.entries(t))n[i]=o.default;for(let[i,o]of Object.entries(e)){let s=Object.hasOwn(t,i)?t[i]:void 0;if(!s){r(`unknown parameter "${i}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}let a=Ie(o,s);n[i]=a.value,a.ok||r(`parameter "${i}": ${a.reason} \u2014 got "${o}", using default "${s.default}"`)}return n}function Ye(e,t=0){let r=Dr.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),i=r[2].toLowerCase();return i==="ms"?n:i==="s"?n*1e3:t}function ne(e,t,r=0){let n=Dr.exec(e.trim());if(!n)return r;let i=Number.parseFloat(n[1]),o=n[2].toLowerCase();if(o==="")return i===0?0:r;let s=Em[o];if(s!==void 0)return i*s;let a=Sm[o];return a?i*a(t):r}function km(e,t=0){let r=Dr.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),i=r[2];return i===""?n:i==="%"?n/100:t}var xm={type:"easing",default:"",cssProperty:"--kui-ease"};function so(e,t,r){if(e===void 0)return;let n=Ye(e,Number.NaN);if(Number.isFinite(n))return n;r(`${t} "${e}" is not a valid time \u2014 ignored`)}function wm(e,t){if(e===void 0)return;let r=Ie(e,xm);if(r.ok)return r.value;t(`easing "${e}": ${r.reason} \u2014 ignored`)}function co(e,t){return{durationMs:so(e.duration,"duration",t),delayMs:so(e.delay,"delay",t),easing:wm(e.easing,t)}}function te(e,t){return e.timing.durationMs??e.ms("duration",t)}function Tm(e,t={}){return{text:(r,n="")=>e[r]??n,ms:(r,n=0)=>Ye(e[r]??"",n),num:(r,n=0)=>km(e[r]??"",n),is:(r,n="true")=>(e[r]??"")===n,timing:t}}function lo(e,t,r,n={}){return Tm(Pm(e,t,r),n)}var Am="600ms",po="0ms";function Rt(e,t){return e??`var(${ge(t,"duration")}, ${Am})`}function Cm(e,t){return e??`var(${ge(t,"delay")}, ${po})`}var Rm=/^(with|after)/i,Mm=/^([+-])(\d+(?:\.\d+)?|\.\d+)(ms|s)$/i,Im=/^(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/i,Lm=new Set(["view","scroll"]);function Om(e){let t=e.trim(),r=Rm.exec(t),n=r?.[1]?.toLowerCase()==="with"?"start":"end",i=r?t.slice(r[0].length):t;if(i==="")return r?{ok:!0,position:{anchor:n,offsetMs:0,term:""}}:{ok:!1,reason:uo(t)};let o=Mm.exec(i);if(!o)return{ok:!1,reason:uo(t)};let[,s,a,c]=o,u=`${a}${c}`,l=Ye(u,0);return{ok:!0,position:{anchor:n,offsetMs:s==="-"?-l:l,term:` ${s} ${u}`}}}function uo(e){return Im.test(e)?`at:"${e}" is an absolute position, which is only another spelling of delay:${e} \u2014 write at:+${e} to start that long after the previous effect ends, at:-${e} to overlap it by that much, or at:with to start alongside it`:`at:"${e}" is not a position \u2014 expected at:with, at:after, or a signed time such as at:-200ms, at:+100ms or at:with+150ms`}function mo(e,t,r){let n={members:e,steps:[],warn:r},i=!1;for(let[o,s]of e.entries()){if(s.at===void 0){n.steps.push(fo(s));continue}!i&&Lm.has(t)&&(i=!0,r(Hm(t))),n.steps.push(Nm(n,o))}return n.steps}function fo(e){return{delayExpr:Cm(e.delay,e.primitiveId),delayMs:jr(e.delay??e.cascadeDelay??po)??0,sequenced:!1}}function Nm(e,t){let r=e.members[t],n=fo(r),i=Om(r.at);if(!i.ok)return e.warn(`"${r.name}": ${i.reason}`),n;let o=_m(e,t);return o?(e.warn(o),n):(r.delay!==void 0&&e.warn(`"${r.name}" has both a positional delay (${r.delay}) and at:"${r.at}" \u2014 the delay is ignored, because at: positions the effect itself`),$m(e,t,i.position,n))}function _m(e,t){let r=e.members[t];return t===0?`"${r.name}" is the first effect in the list, so at:"${r.at}" has nothing to be relative to \u2014 using its own delay instead`:r.positionable?null:`"${r.name}" is rendered in JavaScript and declares no "delay", so at:"${r.at}" cannot position it \u2014 it starts with the rest of the list`}function $m(e,t,r,n){let i=e.members[t-1],o=e.steps[t-1];if(r.anchor==="start")return{delayExpr:`${o.delayExpr}${r.term}`,delayMs:o.delayMs+r.offsetMs,sequenced:!0};if(Ti(i.repeat))return jm(e,t,n);let s=jr(i.duration??i.cascadeDuration??"");if(s===void 0)return Dm(e,t,n);let a=ht(Rt(i.duration,i.primitiveId),i.repeat);return{delayExpr:`${o.delayExpr} + ${a}${r.term}`,delayMs:o.delayMs+s*(yt(i.repeat)??1)+r.offsetMs,sequenced:!0}}function Dm(e,t,r){let n=e.members[t],i=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${i.name}": "${i.name}" has no readable duration, so it has no end to measure from \u2014 give it an explicit duration, or use at:with to start alongside it instead`),r}function jm(e,t,r){let n=e.members[t],i=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${i.name}": "${i.name}" has repeat:infinite, so it never ends \u2014 use at:with to start alongside it, or give it a finite repeat count`),r}function Hm(e){return`at: compiles to an animation-delay, and a "${e}" timeline is driven by scroll position rather than a clock, so it ignores one \u2014 position a scroll-driven effect with a range instead (the trailing tokens of data-kui-timeline, e.g. data-kui-timeline="${e} entry 0% cover 60%"). The delay still applies where the browser has no scroll-driven animations and the effect degrades to a clock.`}function jr(e){let t=Ye(e,Number.NaN);return Number.isFinite(t)?t:void 0}function go(e){return jr(e)!==void 0}function yo(){return{names:[],keyframes:[],durations:[],delays:[],ends:[],easings:[],iterationCounts:[],directions:[],compositions:[]}}function Gm(e){let{preset:t}=e.resolved;return e.variant?.keyframes??[t.keyframes??`kui-${t.name}`]}function Vm(e){return`--kui-fx-${e}-iterations`}function ho(e,t,r){let{spec:n,resolved:i}=t,o=i.primitive.id,s=Rt(n.duration,o),a=Fm(r.delayExpr),c=`${r.delayExpr} + ${ht(s,n.repeat)}`,u=So(n.easing,o),l=n.repeat??`var(${Vm(i.preset.name)}, 1)`,p=Ai(n.yoyo),m=t.composite??"replace";for(let f of Gm(t))e.names.push(oi(f,n.gate)),e.keyframes.push(f),e.durations.push(s),e.delays.push(a),e.ends.push(c),e.easings.push(u),e.iterationCounts.push(l),e.directions.push(p),e.compositions.push(m)}function vo(e,t,r,n){let{spec:i,resolved:o}=r,{preset:s,primitive:a}=o;for(let c of s.transitions??[]){let u=t.get(c.property);u!==void 0&&u!==s.name&&n.push(`"${u}" and "${s.name}" both transition ${c.property} \u2014 "${s.name}" wins (last in the list)`),t.set(c.property,s.name);let l=c.duration??Rt(i.duration,a.id),p=c.easing??So(i.easing,a.id),m=`var(--kui-tx-delay-${s.name}, 0ms)`;e.push(`${c.property} ${l} ${p} ${m}`)}}function bo(e,t){if(e.names.length===0)return{};let r=t==="pin"?Bm(e):e.delays.map(Eo),n={"animation-name":e.names.join(", "),"animation-duration":e.durations.join(", "),"animation-delay":r.join(", "),"animation-timing-function":e.easings.join(", "),"animation-iteration-count":e.iterationCounts.join(", "),"animation-fill-mode":e.names.map(()=>"both").join(", ")};return e.directions.some(i=>i!=="normal")&&(n["animation-direction"]=e.directions.join(", ")),e.compositions.some(i=>i!=="replace")&&(n["animation-composition"]=e.compositions.join(", ")),n}function Fm(e){return`${e} + var(--kui-i, 0) * var(--kui-stagger, 0ms)`}function Eo(e){return`calc(${e})`}function Bm(e){let t=[...new Set(e.ends)],n=`${t.length===1?t[0]:`max(${t.join(", ")})`} + (var(--kui-stagger-count, 1) - 1) * var(--kui-stagger, 0ms)`;return e.delays.map(i=>Eo(`${i} - var(--kui-progress, 0) * (${n})`))}function So(e,t){return e?me(e):`var(${ge(t,"ease")}, ease-out)`}var Hr=new Set(["time","view","scroll","pointer","pin"]);function Po(e){return{source:e.getAttribute(S.source)??"",on:e.getAttribute(S.on),timeline:e.getAttribute(S.timeline),threshold:e.getAttribute(S.threshold)}}function ko(e,t){let r=t.timeline??e.timeline??"time",[n="time",...i]=r.trim().split(/\s+/),o=$i(e.on),s=t.activation??o.activation;return{activation:s??"enter",activationAuthored:s!==void 0,...Wm({parsed:t,longhand:o}),...t.actions===void 0?{}:{actions:bt(t.actions)},timeline:Hr.has(n)?n:"time",range:i.join(" "),threshold:t.threshold??e.threshold??"0%"}}function xo(e,t){if(e===void 0)return t;let[r]=e.trim().split(/\s+/);return Hr.has(r)?r:t}function wo(e,t){if(!t)return e;let r=t.activation,n={...e,activation:r??e.activation,activationAuthored:r!==void 0||e.activationAuthored};if(t.actions!==void 0&&(n.actions=bt(t.actions)),t.timeline!==void 0){let[i="time",...o]=t.timeline.trim().split(/\s+/);n.timeline=Hr.has(i)?i:e.timeline,n.range=o.join(" ")}return t.threshold!==void 0&&(n.threshold=t.threshold),n}function Wm({parsed:e,longhand:t}){return e.activation!==void 0||t.from===void 0?{}:{activationSource:t.from}}var Mt={shorten:0,crossfade:1,disable:2};function To(e){let t=e.map(i=>i.defaultActivation),r=t.find(i=>i!==void 0),n=e.findIndex(i=>i.phase==="entrance");return r===void 0||n===-1?r:t[n]??"enter"}function Ao(e){let t="shorten";for(let{plan:r}of e)t=Vr(t,r.reducedMotion);for(let{plan:r}of e)r.reducedMotion=t}function Co(e,t,r){return t===void 0?e:Mt[t]<Mt[e]?(r.push(`"rm:${t}" is weaker than the "${e}" these effects declare \u2014 keeping "${e}" (rm: may only strengthen the reduced-motion policy)`),e):t}function Gr(e,t){return e?e.filter(r=>t.includes(r)):[...t]}function Vr(e,t){return Mt[t]>Mt[e]?t:e}var qm=/^[.#[*:]/,Um=/[>~+]/;function Km(e){return qm.test(e)||Um.test(e)}function Ro(e,t){let r=[];for(let[n,i]of e.entries()){let o=e[n-1]?.params.target;!o||t.has(i.name)||!Km(i.name)||r.push({previous:o,segment:i.name})}return r}function Mo(e){return`target:${e.previous} looks like it continues into "${e.segment}", but a comma always starts a new effect segment \u2014 a target: selector containing a comma must be quoted, e.g. target:'${e.previous}, ${e.segment}'`}function Fr(e){let t=e.resolved.primitive.channels;return e.variant?.channels?[...t,...e.variant.channels]:t}function It(e){return e.variant?.params??e.spec.params}function zm(e){let t=e.variant?.schema;return t?{...e.resolved.primitive.parameters,...t}:e.resolved.primitive.parameters}function Lt(e,t,r){let n=[...e.warnings],i=Ro(e.specs,t);for(let f of i)n.push(Mo(f));let o=i.length>0?{suspectSelectors:i.map(f=>f.segment)}:{},{entries:s,unknown:a}=ed(e.specs,t,n);if(s.length===0)return{targets:[{selector:"",scope:"self",specs:[],plan:_o(a,[])}],warnings:n,...o};let c=s.map(f=>od(id(f,n),r,n)),u=mo(c.map(ld),r,f=>n.push(f)),l=c.map((f,d)=>({...f,step:u[d]}));Zm(l,e.activation,n);let p=Qm(l).map(({selector:f,scope:d,entries:y})=>{let v=[],E=ad(y,t,v),P=Xm(y,v),k=xo(P?.timeline,r),w=cd(E,k,a,v);return w.defaultActivation=To(E.map(_=>({phase:Br(_),defaultActivation:_.resolved.primitive.defaultActivation}))),{selector:f,scope:d,hoists:P,specs:y.map(_=>_.spec),plan:w}});Ao(p);let m=Co(p[0].plan.reducedMotion,e.rm,n);for(let f of p)f.plan.reducedMotion=m;return{targets:p,warnings:n,...o}}function Oo(e,t){if(!e.specs.some(o=>o.hoists))return e;let r=[...e.warnings],n={...e,warnings:r},i=e.specs.map(o=>{if(!o.hoists||!Ym(o,t))return o;for(let a of be){let c=o.hoists[a];c!==void 0&&q(n,a,c,No[a])}let s={...o};return delete s.hoists,s});return{...n,specs:i}}function Ym(e,t){let r=t.resolve(e.name);return r?Object.hasOwn(r.primitive.parameters,"target"):!0}var No={activation:"activations",actions:"crossing actions",timeline:"timelines",threshold:"thresholds",cascade:"stagger steps",spread:"stagger budgets",order:"stagger orders",cols:"stagger column counts",along:"stagger axes"};function Xm(e,t){let r;for(let n of e)n.spec.hoists&&(r=Jm(r??{},n.spec.hoists,t));return r}function Jm(e,t,r){for(let n of be){let i=t[n];if(i===void 0)continue;let o=e[n];o===void 0?e[n]=i:o!==i&&r.push(`conflicting ${No[n]} "${o}" and "${i}" in one target: group \u2014 the first wins`)}return e}function Zm(e,t,r){for(let n=1;n<e.length;n++){let i=e[n];if(!i.step.sequenced)continue;let o=e[n-1];if(Io(i)===Io(o))continue;let s=i.spec.hoists?.activation??t,a=o.spec.hoists?.activation??t;s!==a&&r.push(`"${i.spec.name}"'s at:"${i.spec.at}" is relative to "${o.spec.name}", which targets a different element and may start on a different trigger \u2014 the offset is relative to each one's own start, not a shared clock`)}}function Io(e){return`${e.scope??"self"} ${e.target??""}`}function Qm(e){let t=new Map,r=[];for(let i of e){let o=i.target??"",s=i.scope??"self",a=`${s} ${o}`,c=t.get(a);c||(c={selector:o,scope:s,entries:[]},t.set(a,c),r.push(c)),c.entries.push(i)}let n=r.findIndex(i=>i.selector==="");if(n>0){let[i]=r.splice(n,1);r.unshift(i)}return r}function _o(e,t){return{fxNames:[],vars:{},declarations:{},keyframeNames:[],jsEffects:[],unknown:e,reducedMotion:"shorten",supportedActivations:[],activationClaims:[],supportedTimelines:[],channels:[],warnings:t}}function ed(e,t,r){let n=[],i=[];for(let o of e){let s=t.resolve(o.name);if(!s){i.push(o.name),rd(o.name,t,r);continue}n.push(td(o,s,r))}return{entries:n,unknown:i}}function td(e,t,r){let n=nd(e,t,r),i=t.primitive.variantFor?.(n.spec,s=>r.push(s)),o=i?{spec:n.spec,resolved:t,variant:i}:{spec:n.spec,resolved:t};return n.target!==void 0&&(o.target=n.target,o.scope=n.scope),o}function rd(e,t,r){let n=Pt(e,t.names()),i=n?` \u2014 did you mean "${n}"?`:"";r.push(`unknown effect "${e}"${i}`)}function nd(e,t,r){if(Object.hasOwn(t.primitive.parameters,"target"))return{spec:e};let n=e.params.target;if(!n)return{spec:e};let i={...e.params},o=i.scope;delete i.target,delete i.scope;let s={...e,params:i};return t.preset.requiresOwnSubtree?(r.push(`"${t.preset.name}" cannot be retargeted \u2014 its CSS reaches past the animated element itself, so "target:${n}" is dropped and it stays on the host`),{spec:s}):{spec:s,target:n,scope:o==="page"?"page":"self"}}function id(e,t){let{spec:r,resolved:n}=e;if(n.primitive.renderer==="css-keyframes"||!r.gate?.wide&&!r.gate?.narrow)return e;t.push(`"${r.name}" ignores "wide:"/"narrow:" \u2014 container gates are not supported on JavaScript-rendered effects yet, so it runs unconditionally`);let{above:i,below:o}=r.gate;return{...e,spec:{...r,gate:i||o?{above:i,below:o}:void 0}}}function od(e,t,r){let{spec:n,resolved:i}=e;if(n.repeat===void 0&&n.yoyo===void 0)return e;let{repeat:o,yoyo:s,warnings:a}=wi({name:i.preset.name,renderer:i.primitive.renderer,cloak:i.preset.cloak,timeline:t,repeat:n.repeat,yoyo:n.yoyo});return r.push(...a),{...e,spec:{...n,repeat:o,yoyo:s}}}function Br(e){if(e.spec.repeat==="infinite")return"idle";let{preset:t}=e.resolved;if(t.phase)return t.phase;if(t.transitions?.length)return"state"}function sd(e){return e.resolved.primitive.renderer!=="css-keyframes"||e.variant?.keyframes?!1:Xi(Fr(e))}function ad(e,t,r){if(e.length<=1)return e;let n=e.map(m=>({name:m.spec.name,channels:Fr(m),gate:m.spec.gate,phase:Br(m),additive:sd(m),delivery:m.resolved.preset.delivery,inlineAnimation:m.resolved.primitive.renderer==="css-keyframes"})),i=Zi(n),o=Qi(n);if(i.length===0&&o.length===0)return e;if(o.length===0){let m=Ji(n,i);if(m)return e.map((f,d)=>m.has(d)?{...f,composite:"add"}:f)}let s=t.findCombo(e.map(m=>m.spec.name)),a=s?`Use the "${s.preset.name}" effect instead.`:"Apply them to nested elements, or register a combined effect.",c=e[0].spec.name,l=`Dropped ${e.slice(1).map(m=>`"${m.spec.name}"`).join(", ")} \u2014 only "${c}" will run.`,p=[...i.length>0?[eo(i)]:[],...o];return r.push(`cannot compose: ${p.join("; ")}. ${l} ${a}`),[e[0]]}function cd(e,t,r,n){let i=_o(r,n),o=yo(),s=new Set,a=[],c=new Map,u,l;for(let p of e){let{preset:m,primitive:f}=p.resolved,d=p.step;i.fxNames.push(m.name),i.reducedMotion=Vr(i.reducedMotion,f.reducedMotion),u=Gr(u,f.supportedActivations),i.activationClaims.push({supported:f.supportedActivations,entrance:Br(p)==="entrance"}),l=Gr(l,f.supportedTimelines);for(let y of Fr(p))s.add(y);pd(m.name,f.supportedTimelines,t,n),Object.assign(i.vars,oo(It(p),zm(p),y=>n.push(y))),f.renderer==="css-keyframes"?ho(o,p,d):i.jsEffects.push(ud(p,d)),vo(a,c,p,n)}return Object.assign(i.declarations,bo(o,t)),i.keyframeNames=o.keyframes,a.length>0&&(i.transition=a.join(", ")),i.supportedActivations=u,i.supportedTimelines=l,i.channels=[...s],i}function ld(e){let{spec:t,resolved:r}=e,{preset:n,primitive:i}=r,o=It(e);return{name:n.name,primitiveId:i.id,at:t.at,delay:t.delay,duration:t.duration,cascadeDelay:Lo(o,n,i.parameters,"delay"),cascadeDuration:Lo(o,n,i.parameters,"duration"),repeat:t.repeat,positionable:i.renderer==="css-keyframes"||Object.hasOwn(i.parameters,"delay")}}function Lo(e,t,r,n){return[e[n],t.params?.[n],r[n]?.default].find(o=>o!==void 0&&go(o))}function ud(e,t){return t.sequenced?{...e,sequencedDelayMs:t.delayMs}:e}function pd(e,t,r,n){t.includes(r)||n.push(`"${e}" does not support timeline "${r}" (supports: ${t.join(", ")})`)}function $o(){return{derived:new WeakMap,hosts:new WeakMap,groups:new WeakMap,contexts:new WeakMap,unions:new WeakMap,cleanups:new WeakMap}}function Ot(e,t){return[...e.derived.get(t)??[]]}function Do(e,t){return e.hosts.get(t)}function md(e){return e.status==="running"&&e.direction!=="reverse"}function dd(e){return e.status==="running"}function fd(e){return e.status==="failed"}function gd(e){return e.status==="finished"||e.status==="failed"}function yd(e){return e.status==="ready"}function hd(e,t){let r=[];for(let n of Ot(e.book,t)){let i=e.stateOf(n);i&&r.push(i)}return r}function vd(e,t,r,n){r.status!=="running"&&(e.writeStatus(t,r,"running"),n.some(md)&&e.emit(t,r,G.start,"activated"))}function bd(e,t,r,n){if(r.status==="finished")return;let i=r.status==="running";e.writeStatus(t,r,"finished"),!n.every(o=>o.cancelled===!0)&&e.emit(t,r,G.finish,i?"complete":"reduced-motion")}function Xe(e,t){let r=e.stateOf(t);if(!r||!r.aggregate)return;let n=hd(e,t);n.length!==0&&(n.some(dd)?vd(e,t,r,n):n.every(fd)?e.writeStatus(t,r,"failed"):n.every(gd)?bd(e,t,r,n):n.every(yd)&&e.writeStatus(t,r,"ready"))}function Ed(e){return e.map(t=>`${t.scope} ${t.selector}`).sort((t,r)=>t.localeCompare(r)).join("")}function jo(e,t,r){let n=Ed(r),i=e.book.unions.get(t.host),o=i?.get(n);if(o)return o;let s=r[0],c=Lt({specs:r.flatMap(f=>f.specs),warnings:[]},e.registry,t.timeline).targets[0];c.plan.reducedMotion=s.plan.reducedMotion;let u=t.host.ownerDocument?.defaultView??void 0;c.plan.jsEffects=c.plan.jsEffects.filter(f=>lt(f.spec.gate,u));let l=new Set(r.flatMap(f=>f.plan.warnings));for(let f of c.plan.warnings)l.has(f)||e.reporter.warn(f,t.host);let p={...c,selector:s.selector,scope:s.scope},m=i??new Map;return m.set(n,p),i||e.book.unions.set(t.host,m),p}function Je(e){let{plan:t,config:r,capabilities:n,respectReducedMotion:i}=e,o=i&&n.reducedMotion,{scrubbed:s,useNativeTimeline:a}=Sd(t,r,n),c={...t.vars,...t.declarations};Object.assign(c,Pd(t)),Object.assign(c,kd(r,n,a));let u=Object.keys(t.declarations).length>0,l=e.elementHasCssAnimation??u,p=xd({useNativeTimeline:a,scrubbed:s&&l,reduce:o,activation:r.activation,hasWork:l||t.jsEffects.length>0,hasCssAnimation:u,unsupportedTransform:wd(t.channels,n)});return(p==="deferred"||p==="scrubbed")&&(c["animation-play-state"]="paused"),{properties:c,attributes:{[S.normalized]:t.fxNames.join(" "),[S.rm]:t.reducedMotion,[S.state]:"ready"},gate:p,activation:p==="deferred"?Ad(r):null}}function Sd(e,t,r){let n=t.timeline==="pin"&&e.supportedTimelines.includes("pin"),i=!n&&Td(t.timeline,r)&&e.supportedTimelines.includes(t.timeline);return{scrubbed:n,useNativeTimeline:i}}function Pd(e){return e.transition?{"--kui-transition":e.transition}:{}}function kd(e,t,r){if(!r)return{};let n={"animation-timeline":e.timeline==="scroll"?"scroll()":"view()"};return t.animationRange&&(n["animation-range"]=e.range||(e.timeline==="scroll"?"0% 100%":"entry 0% cover 60%")),n}function xd(e){return e.useNativeTimeline?"native-timeline":e.scrubbed?"scrubbed":!e.hasWork||e.reduce||xr(e.activation)==="immediate"||e.unsupportedTransform?"immediate":"deferred"}function wd(e,t){return t.individualTransforms?!1:e.some(r=>r==="translate"||r==="rotate"||r==="scale")}function Td(e,t){return e==="view"?t.viewTimeline:e==="scroll"?t.scrollTimeline:!1}function Ad(e){let t="enter";return e.timeline!=="time"&&xr(e.activation)==="manual"?t:e.activation}var Cd=["cascade","spread","order","cols","along"];function Ho(e){let t={};for(let r of Cd){let n=e(r);n!==void 0&&(t[r]=n)}return Object.keys(t).length>0?t:void 0}function Nt(e){return Ho(t=>e[t])}function _t(e,t){return Ho(r=>e?.[r]??t?.[r])}function Go(e){return e?.cascade!==void 0||e?.spread!==void 0||e?.order!==void 0}var Le=new WeakMap;function Vo(e){Le.set(e,(Le.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let r=Le.get(e)-1;r>0?Le.set(e,r):Le.delete(e)}}function Fo(e){return Le.has(e)}function Wr(e,t,r){let n=_t(r.hoists,Nt(t.parsed));return Go(n)?t.host:void 0}function Bo(e){return e.gateOwner!==void 0}function Rd(e,t,r){for(let n of t.members)r&&e.stateOf(n)?.status!=="ready"||e.activateOne(n)}function Md(e,t){for(let r of t.members)e.deactivateOne(r)}function Id(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function Ld(e,t,r){let n=Je({plan:r.target.plan,config:r.config,capabilities:e.capabilities,respectReducedMotion:e.respectReducedMotion});if(n.gate!=="deferred")return;let i=n.activation,o=Be(ee(i)),s=e.binder.bind(t,i,{threshold:r.config.threshold,from:r.config.activationSource,activate:()=>Rd(e,r,o),deactivate:()=>Md(e,r)});Id(e,t,s)}function Wo(e,t){let r=e.book.groups.get(t);if(r!==void 0)for(let n of r)n.gateOwner===t&&Ld(e,t,n)}function O(e){let t=e.style,r=new Map,n=e.hasAttribute("style");function i(o){if(r.has(o))return;let s=t.getPropertyValue(o);r.set(o,s===""?void 0:{value:s,priority:t.getPropertyPriority(o)})}return{set(o,s){i(o),t.setProperty(o,s)},claim:i,restore(){for(let[o,s]of r)s===void 0?t.removeProperty(o):t.setProperty(o,s.value,s.priority);r.clear(),!n&&t.length===0&&!e.getAttribute("style")&&e.removeAttribute("style")},owned:()=>[...r.keys()],peek(o){if(!r.has(o))return;let s=r.get(o);return s===void 0?"":s.value}}}function T(e){let t=new Map;return{set(r,n){t.has(r)||t.set(r,e.getAttribute(r)),e.setAttribute(r,n)},remove(r){t.has(r)||t.set(r,e.getAttribute(r)),e.removeAttribute(r)},restore(){for(let[r,n]of t)n===null?e.removeAttribute(r):e.setAttribute(r,n);t.clear()}}}var qo=Symbol.for("kuinetic.owned-styles.1");function Uo(e){let r=e[qo];return r||(r=new Map,Object.defineProperty(e,qo,{value:r,configurable:!0,writable:!0})),r}function Od(e,t,r){let n=Uo(e),i=n.get(t);return i||(i={ledger:r(e),owners:new Set},n.set(t,i)),i}function Ko(e,t){let r={},n=new Map;return{join(i){let o=n.get(i);return o||(o=Od(i,e,t),o.owners.add(r),n.set(i,o)),o.ledger},held:i=>n.get(i)?.ledger??null,leave(i){let o=n.get(i);o&&(n.delete(i),o.owners.delete(r),!(o.owners.size>0)&&(Uo(i).delete(e),o.ledger.restore()))},elements:()=>[...n.keys()]}}function Nd(){let e=Ko("style",O),t=new WeakMap;function r(n){return{set:(i,o)=>{e.join(n).set(i,o)},claim:i=>{e.join(n).claim(i)},restore:()=>{e.leave(n)},owned:()=>e.held(n)?.owned()??[],peek:i=>e.held(n)?.peek(i)}}return{style(n){let i=t.get(n);return i||(i=r(n),t.set(n,i)),e.join(n),i},release:n=>{e.leave(n)},elements:()=>e.elements()}}function _d(){let e=Ko("attributes",T),t=new WeakMap;function r(n){return{set:(i,o)=>{e.join(n).set(i,o)},restore:()=>{e.leave(n)}}}return{attributes(n){let i=t.get(n);return i||(i=r(n),t.set(n,i)),e.join(n),i},release:n=>{e.leave(n)},elements:()=>e.elements()}}function Ze(e){let t=Nd(),r=_d();function n(i){t.release(i),r.release(i)}return{style:i=>t.style(i),attributes:i=>r.attributes(i),restore(){for(let i of new Set([...t.elements(),...r.elements()]))i!==e&&n(i);n(e)}}}var $d=new Set(["start","end","center","edges","random"]),Dd=new Set(["from","order"]),jd="spread",Hd="cols",Gd=new Set(["axis","along"]),Vd=new Set(["x","y"]),Fd=/^(\d+(?:\.\d+)?|\.\d+)\/(\d+(?:\.\d+)?|\.\d+)$/,Bd=/^\d{1,9}$/,Wd=/^([a-zA-Z-]+):(.*)$/,qd=/^-?\d{1,9}$/;function Ud(e,t){let r={from:"start"},n={from:!1,spread:!1,cols:!1,along:!1};for(let i of de(e," ",t)){let o=Wd.exec(i);o?Kd(o[1],o[2],{config:r,seen:n,warnings:t}):r.step=of(r.step,i,t)}return{config:r,sawFrom:n.from}}function Kd(e,t,r){let n=zd(e);if(n===void 0){r.warnings.push(`unrecognised key "${e}" in data-kui-stagger \u2014 expected a time step, "spread:", "cols:", "along:", "from:" or "order:"`);return}Xd(n,t,r,e)&&Yd[n](t,r,e)}function zd(e){if(e===jd)return"spread";if(e===Hd)return"cols";if(Gd.has(e))return"along";if(Dd.has(e))return"from"}var Yd={spread:(e,t)=>{t.config.spread=e.trim()},cols:(e,t)=>{t.config.cols=Xo(e,t.warnings)},along:(e,t,r)=>{t.config.along=Jo(e,t.warnings,r)},from:(e,t,r)=>{t.config.from=Zo(e,t.warnings,r)}};function Xd(e,t,r,n){return r.seen[e]?(r.warnings.push(`duplicate "${n}:" in data-kui-stagger \u2014 "${t}" ignored`),!1):(r.seen[e]=!0,!0)}function Xo(e,t){let r=e.trim();if(r==="auto")return"auto";if(Bd.test(r)&&Number(r)>0)return Number(r);t.push(`unrecognised "cols:${e}" \u2014 expected a column count or "auto"`)}function Jo(e,t,r){let n=e.trim();if(Vd.has(n))return n;t.push(`unrecognised "${r}:${e}" \u2014 expected x or y`)}function $t(e,t,r=[]){let n=Zd(t);if(!(e===null&&n===void 0))return qr(e,n,r)}function qr(e,t,r=[]){if(e===null&&t===void 0)return;let{config:n,sawFrom:i}=Ud(e??"",r);return Jd(Qd(ef(n,i,t??{},r),r),r)}function Jd(e,t){if(e.spread===void 0||e.step===void 0)return e;t.push(`stagger step "${e.step}" is ignored \u2014 "spread:${e.spread}" already budgets the whole group, and the step is what it divides out`);let r={...e};return delete r.step,r}function Zd(e){if(!rf(e))return;let{cascade:t,spread:r,order:n,cols:i,along:o}=Re(e),s={cascade:t,spread:r,order:n,cols:i,along:o};return Object.values(s).some(a=>a!==void 0)?s:void 0}function Qd(e,t){let r={...e};return zo("step",e.step,t)||delete r.step,zo("spread",e.spread,t)||delete r.spread,r}function zo(e,t,r){return t===void 0?!1:no(t)?!0:(r.push(`stagger ${e} "${t}" contains disallowed CSS syntax \u2014 ignored`),!1)}function ef(e,t,r,n){let i={...e};if(r.cascade!==void 0&&(Qe("stagger step",e.step,r.cascade,n),i.step=r.cascade),r.spread!==void 0&&(Qe("stagger budget",e.spread,r.spread,n),i.spread=r.spread),tf(i,e,r,n),r.order!==void 0){let o=Zo(r.order,n,"order");Qe("stagger order",t?e.from:void 0,o,n),i.from=o}return i}function tf(e,t,r,n){if(r.cols!==void 0){let i=Xo(r.cols,n);Qe("stagger columns",t.cols,i,n),i!==void 0&&(e.cols=i)}if(r.along!==void 0){let i=Jo(r.along,n,"along");Qe("stagger axis",t.along,i,n),i!==void 0&&(e.along=i)}}function rf(e){return nf.some(t=>e.includes(t))}var nf=["cascade:","spread:","order:","cols:","along:"];function Qe(e,t,r,n){t===void 0||r===void 0||t===r||n.push(`conflicting ${e}: data-kui-stagger says "${String(t)}", data-kui says "${String(r)}" \u2014 data-kui wins`)}function of(e,t,r){return e===void 0?t:(r.push(`extra token "${t}" in data-kui-stagger (expected one time step)`),e)}function Zo(e,t,r="from"){let n=e.trim();if($d.has(n))return n;if(qd.test(n))return Number(n);let i=Fd.exec(n);return i?{x:Yo(Number(i[1]),n,t),y:Yo(Number(i[2]),n,t)}:(t.push(`unrecognised "${r}:${e}" \u2014 expected start, end, center, edges, random, a child index, or an "x/y" point in a grid`),"start")}function Yo(e,t,r){return e>=0&&e<=1?e:(r.push(`stagger order "${t}" is outside the grid (0 to 1 on each axis) \u2014 clamped`),Math.min(Math.max(e,0),1))}var Qo=1e3,sf=2654435761,af=2246822507,cf=569420461,lf=1935289751;function ts(e,t){return e.spread===void 0?e.step:t<=0?"0ms":`calc((${e.spread}) / ${String(t)})`}function Kr(e,t,r=[],n){if(e<=0)return[];if(t==="random")return mf(e);if(n)return ns(e,t,n,r);if(typeof t=="object")return r.push(`stagger order "${String(t.x)}/${String(t.y)}" is a point in a grid, but this group has no "cols:" \u2014 add one, or name an edge with start/end/center/edges`),Kr(e,"start",r);let i=e-1;if(t==="edges")return Array.from({length:e},(s,a)=>Math.min(a,i-a));let o=uf(t,i,r);return Array.from({length:e},(s,a)=>Math.floor(Math.abs(a-o)))}function uf(e,t,r){return e==="start"?0:e==="end"?t:e==="center"?t/2:rs(e,t,r)}function rs(e,t,r){return(e<0||e>t)&&r.push(`stagger order "${String(e)}" is outside the group (0 to ${String(t)}) \u2014 clamped`),Math.min(Math.max(e,0),t)}function ns(e,t,r,n){let i=Math.min(Math.max(1,r.cols),e),o=Math.ceil(e/i);if(t==="edges"){let a=ns(e,"center",r,n),c=0;for(let u of a)c=Math.max(c,u);return a.map(u=>Oe(c-u))}let s=pf(t,{cols:i,rows:o,last:e-1},n);return Array.from({length:e},(a,c)=>{let u=c%i-s.x,l=Math.floor(c/i)-s.y;return r.along==="x"?Oe(Math.abs(u)):r.along==="y"?Oe(Math.abs(l)):Oe(Math.hypot(u,l))})}function pf(e,t,r){let{cols:n,rows:i,last:o}=t;if(typeof e=="object")return{x:e.x*(n-1),y:e.y*(i-1)};if(e==="start")return{x:0,y:0};if(e==="end")return{x:n-1,y:i-1};if(e==="center")return{x:(n-1)/2,y:(i-1)/2};let s=rs(e,o,r);return{x:s%n,y:Math.floor(s/n)}}function Oe(e){return Math.round(e*Qo)/Qo}function mf(e){let t=Array.from({length:e},(n,i)=>i);t.sort((n,i)=>es(n,e)-es(i,e));let r=new Array(e);for(let[n,i]of t.entries())r[i]=n;return r}function es(e,t){let r=(Math.imul(e,sf)^Math.imul(t,af))>>>0;return r^=r>>>16,r=Math.imul(r,cf)>>>0,r^=r>>>15,r=Math.imul(r,lf)>>>0,r^=r>>>15,r>>>0}function is(e,t){let r=[],n=df(e),i=$t(e.getAttribute(S.stagger),e.getAttribute(S.source)??"",r)??{from:"start"},o=hf(e),s=Kr(o.length,i.from,r,us(i,o,r)),a=0;for(let[u,l]of o.entries()){let p=s[u];n.style(l).set("--kui-i",String(p)),os.set(l,e),p>a&&(a=p)}let c=ts(i,a);c&&n.style(e).set("--kui-stagger",c),n.style(e).set("--kui-stagger-count",String(Oe(a+1)));for(let u of r)t?.warn(u,e)}var Dt=new WeakMap,os=new WeakMap;function ss(e,t){let r=new Set;for(let n of e){let i=os.get(n);i&&r.add(i)}for(let n of r)is(n,t)}function df(e){Dt.get(e)?.restore();let t=Ze(e);return Dt.set(e,t),t}function Ur(e){Dt.get(e)?.restore(),Dt.delete(e)}function as(e){let t=`[${S.stagger}], [${S.source}]`;e instanceof Element&&e.matches(t)&&Ur(e);for(let r of e.querySelectorAll(t))Ur(r)}function cs(e,t){jt(e,t);let r=e.parentElement;r&&jt(r,t)}function jt(e,t){vf(e)?is(e,t):Ur(e)}function ls(e){let{host:t,matches:r,styleOf:n,keys:i,reporter:o}=e,s=[],a=t.getAttribute(S.stagger),c=(i?qr(a,i,s):$t(a,t.getAttribute(S.source)??"",s))??{from:"start"},u=gf(ff(r),c,n,s),l=ts(c,u);l&&n(t).set("--kui-stagger",l),n(t).set("--kui-stagger-count",String(Oe(u+1)));for(let p of s)o?.warn(p,t)}function ff(e){let t=new Map;for(let r of e){let n=t.get(r.parentElement);n?n.push(r):t.set(r.parentElement,[r])}return t}function gf(e,t,r,n){let i=0;for(let o of e.values()){let s=us(t,o,n),a=Kr(o.length,t.from,n,s);for(let[c,u]of o.entries()){let l=a[c];r(u).set("--kui-i",String(l)),l>i&&(i=l)}}return i}function us(e,t,r){if(e.cols===void 0){e.along!==void 0&&r.push(`"along:${e.along}" names an axis of a grid this group has not declared \u2014 add "cols:" (a column count, or "auto")`);return}let n=e.cols==="auto"?yf(t,r):e.cols;if(n!==void 0)return e.along===void 0?{cols:n}:{cols:n,along:e.along}}function yf(e,t){if(e.length<2)return 1;let r=[],n=!1;for(let s of e){let a=s.getBoundingClientRect();(a.width!==0||a.height!==0)&&(n=!0),r.push(a.left)}if(!n){t.push('"cols:auto" could not measure this group \u2014 none of its children have been laid out yet (display:none, or detached), so the stagger falls back to DOM order');return}let i=Math.sign(r[1]-r[0]);if(i===0)return 1;let o=1;for(let s=1;s<r.length&&Math.sign(r[s]-r[s-1])===i;s++)o=s+1;return o}function hf(e){let t=[];for(let r of e.children)r.hasAttribute(S.source)&&t.push(r);return t}function ps(e,t){let r=`[${S.stagger}], [${S.source}]`;e instanceof Element&&e.matches(r)&&jt(e,t);for(let n of e.querySelectorAll(r))jt(n,t)}function vf(e){return e.hasAttribute(S.define)||Fo(e)?!1:e.hasAttribute(S.stagger)?!0:$t(null,e.getAttribute(S.source)??"")!==void 0}var bf=64;function Ht(e){return e.id?`${e.tagName.toLowerCase()}#${e.id}`:e.tagName.toLowerCase()}function ds(e,t){return t.some(r=>e.resolve(r)?.preset.establishes3d===!0)}function ms(e,t){let r=e.stateOf(t);return!r||r.aggregate?!1:ds(e.registry,r.fxNames)}function Ef(e,t,r){if(ms(e,t))return t;let n=r.parentElement,i=0;for(;n&&i<bf;){if(n!==t&&ms(e,n))return n;n=n.parentElement,i++}}function zr(e,t,r){if(t.length===0){e.removeAttribute(S.unmatched);return}let n=t.join(", ");r?r.set(S.unmatched,n):e.setAttribute(S.unmatched,n)}function fs(e,t,r,n){if(!ds(e.registry,n.plan.fxNames))return;let i=Ef(e,t,r);if(!i)return;let o=i===t?"its target: host":"an ancestor";e.reporter.warn(`<${Ht(r)}> establishes a 3D rendering context nested inside ${o} <${Ht(i)}>, which also runs a 3D-establishing effect \u2014 preserve-3d/perspective contexts do not compose when nested, so move one of the two 3D effects off its descendant`,r)}function gs(e,t,r){r.scope==="page"&&r.plan.fxNames.some(n=>e.registry.resolve(n)?.preset.cloak===!0)&&t.ownerDocument.documentElement.hasAttribute(S.cloak)&&e.reporter.warn(`target "${r.selector}" (scope:page) on <${Ht(t)}> carries a cloaked entrance \u2014 the pre-JS cloak selector only hides descendants of the element it is authored on, so a scope:page match outside <${Ht(t)}>'s own subtree will flash unstyled before this library runs; use scope:self, or drop the cloaked preset from this group`,t)}var Yr=new WeakMap;function Sf(e,t,r){let n=Yr.get(e);n||(n=new WeakMap,Yr.set(e,n)),n.set(t,r)}function Pf(e,t){return Yr.get(e)?.get(t)}function ys(e){return`${e.scope} ${e.selector}`}function kf(e){return e.length===1?ys(e[0]):e.map(ys).sort((t,r)=>t.localeCompare(r)).join("")}function hs(e,t,r,n){let i=n.get(r);if(i)return i;let o={...wo(t.baseConfig,r.hoists)};return o.activation=e.resolveActivation(t.host,o,r.plan),n.set(r,o),o}function xf(e,t,r,n){let i=[],o=[],s=[];for(let a of r){if(a.selector==="")continue;let c=e.resolveGroupMatches(t.host,a);c.length===0&&s.push(a.selector),o.push({target:a,matches:c}),i.push({target:a,config:hs(e,t,a,n),gateOwner:Wr(e,t,a),members:[]})}return{live:i,resolved:o,unmatched:s}}function wf(e){let t=e.baseConfig;return{host:e.el,fingerprint:e.fingerprint,parsed:e.parsed,baseConfig:t,timeline:t.timeline}}function Tf(e,t,r){r?e.install({...t,document:{targets:[r],warnings:[]}}):e.installAggregate(t)}function Af(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function vs(e,t,r){return r.length===1?r[0]:jo(e,t,r)}function Cf(e,t,r){let n=t.host,i=e.stateOf(n);zr(n,[...r.unmatched,...r.suspects??[]],i.attributes),Af(e,n,Vo(n)),Gt(e,n),Wo(e,n);for(let[o,s]of r.claims)fs(e,n,o,vs(e,t,s));for(let o of r.resolved)gs(e,n,o.target);Xe(e,n)}function bs(e,t){let r=wf(t),n=new Map,{live:i,resolved:o,unmatched:s}=xf(e,r,t.document.targets,n);e.book.contexts.set(r.host,r),e.book.groups.set(r.host,i);let a=Xr(e,r.host,o),c=t.document.targets.find(u=>u.selector==="");if(!c&&a.size===0){r.host.setAttribute(S.state,"failed"),zr(r.host,[...s,...t.document.suspectSelectors??[]]);return}Jr(e,r,a,n),Tf(e,t,c),Cf(e,r,{claims:a,resolved:o,unmatched:s,suspects:t.document.suspectSelectors})}function Rf(e,t,r){let{book:n}=e;Sf(n,r,t),n.hosts.delete(r),n.derived.get(t)?.delete(r);for(let i of n.groups.get(t)??[]){let o=i.members.indexOf(r);o!==-1&&i.members.splice(o,1)}}function Mf(e,t){let{book:r}=e;for(let n of[...r.derived.get(t)??[]])e.release(n);for(let n of r.cleanups.get(t)??[])n();r.derived.delete(t),r.groups.delete(t),r.contexts.delete(t),r.unions.delete(t),r.cleanups.delete(t)}function Es(e,t){let r=e.book.hosts.get(t);if(r){Rf(e,r,t);return}e.book.derived.has(t)&&Mf(e,t)}function Ss(e,t){let r=new Set;for(let n of t){let i=Pf(e.book,n);i&&r.add(i)}for(let n of r)e.stateOf(n)&&(Gt(e,n),Xe(e,n))}var If={host:"is the target: host itself",authored:"already carries its own data-kui and animates itself",claimed:"is already claimed by another target: host"};function Lf(e,t,r){if(r===t)return"host";if(r.hasAttribute(S.source))return"authored";let n=e.book.hosts.get(r);if(n!==void 0&&n!==t)return"claimed"}function Of(e,t,r){let n=e.get(r);n?n.push(t):e.set(r,[t])}function Nf(e,t,r,n){let i=r.plan.fxNames.join(", ");for(let[o,s]of n){let a=s===1?"match":"matches";e.reporter.warn(`target "${r.selector}" (${i}) skipped ${s} ${a} that ${If[o]}`,t)}}function Xr(e,t,r){let n=new Map;for(let i of r){let o=new Map;for(let s of i.matches){let a=Lf(e,t,s);a?o.set(a,(o.get(a)??0)+1):Of(n,i.target,s)}Nf(e,t,i.target,o)}return n}function _f(e,t,r,n){let{match:i,targets:o}=r,s=vs(e,t,o);return{match:i,targets:o,target:s,config:hs(e,t,s,n)}}function $f(e,t,r){return r.some(i=>Wr(e,t,i)!==void 0)?t.host:void 0}function Df(e,t,r){let{book:n}=e;n.hosts.set(r.match,t.host);let i=n.derived.get(t.host)??new Set;i.add(r.match),n.derived.set(t.host,i);let o=n.groups.get(t.host)??[];for(let s of r.targets)o.find(a=>a.target===s)?.members.push(r.match)}function jf(e,t,r){e.install({el:r.match,fingerprint:`${t.fingerprint}\0${kf(r.targets)}`,parsed:{specs:r.target.specs,warnings:[]},config:r.config,document:{targets:[{...r.target,selector:"",scope:"self"}],warnings:[]},host:t.host,gateOwner:$f(e,t,r.targets)}),Df(e,t,r)}function Jr(e,t,r,n=new Map){let i=[];for(let[o,s]of r){let a=_f(e,t,{match:o,targets:s},n);jf(e,t,a),i.push(a.match)}return i}function Gt(e,t){let r=e.book.contexts.get(t),n=e.book.groups.get(t),i=e.stateOf(t);if(!r||!n||!i)return;let o=Nt(r.parsed),s=a=>a===t?i.ledgers.style(t):e.stateOf(a).ledgers.style(a);for(let a of n)a.members.length!==0&&ls({host:t,matches:a.members,styleOf:s,keys:_t(a.target.hoists,o),reporter:e.reporter})}var Hf=64;function Gf(e,t,r){let n=[...e.querySelectorAll(r.selector)];return e.matches(r.selector)&&n.unshift(e),n.filter(i=>t.contains(i)&&i!==t&&!i.hasAttribute(S.part))}function Vf(e,t,r){let n=[],i=new Map;for(let o of r){if(i.set(o,o.members.length),o.target.scope!=="self")continue;let s=Gf(e,t,o.target);s.length>0&&n.push({target:o.target,matches:s})}return{resolved:n,before:i}}function Ff(e,t){let r=e.findIndex(n=>!!(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING));return r===-1?e.length:r}function Bf(e,t,r){return t.members.some(n=>!r.includes(n)&&e.stateOf(n)?.status!=="ready")}function Wf(e,t,r){if(t.gateOwner!==void 0&&Bf(e,t,r))for(let n of r)e.activateOne(n)}function qf(e,t,r){if(t.members.length===r)return;let n=t.members.splice(r);t.members.splice(Ff(t.members,n[0]),0,...n),Wf(e,t,n)}function Uf(e,t,r){let n=e.book.groups.get(r),i=e.book.contexts.get(r);if(!n||!i)return;let{resolved:o,before:s}=Vf(t,r,n);if(o.length===0)return;let a=Xr(e,r,o);if(a.size!==0){Jr(e,i,a);for(let c of n)qf(e,c,s.get(c));Gt(e,r)}}function Ps(e,t){if(t.hasAttribute(S.part))return;let r=t.parentElement,n=0;for(;r&&n<Hf;)Uf(e,t,r),r=r.parentElement,n++}var Kf=100;function ws(e){let{root:t,onElementAdded:r,onElementRemoved:n,onAttributeChanged:i}=e,o=e.schedule??zf,s=e.createObserver??Yf(),a=new Set,c=new Set,u=new Set,l,p=!1,m=!1;function f(P){if(P.type==="attributes"){let k=Qr(P.target);k&&u.add(k);return}for(let k of P.addedNodes)xs(a,Qr(k));for(let k of P.removedNodes)xs(c,Qr(k))}function d(P){for(let k of P)f(k);p||(p=!0,o(E))}let y=ks(t,r),v=ks(t,i);function E(){if(p=!1,m)return;let P=Kf;P=Zr(c,n,P),P=Zr(a,y,P),Zr(u,v,P),a.size+c.size+u.size>0&&(p=!0,o(E))}return{watch(){s&&(m=!1,l=s(d),l.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[S.source,S.on,S.timeline,S.threshold,S.stagger]}))},destroy(){m=!0,l?.disconnect(),a.clear(),c.clear(),u.clear()}}}function ks(e,t){return r=>{e.contains(r)&&t(r)}}function xs(e,t){if(t){for(let r of e){if(r.contains(t))return;t.contains(r)&&e.delete(r)}e.add(t)}}function Zr(e,t,r){for(let n of e){if(r===0)break;e.delete(n),t(n),r--}return r}function Qr(e){return e.nodeType===1?e:null}function zf(e){let t=globalThis.requestAnimationFrame;typeof t=="function"?t(()=>e()):queueMicrotask(e)}function Yf(){if(!(typeof MutationObserver>"u"))return e=>new MutationObserver(e)}function Xf(e,t){let r=co(e.spec,t);return e.sequencedDelayMs!==void 0&&(r.delayMs=e.sequencedDelayMs),r}function Ts(e){let{scheduler:t,rootResolver:r,capabilities:n,reporter:i,respectReducedMotion:o}=e;function s(a,c,u){let l=a.ownerDocument;return{doc:l,win:l.defaultView??globalThis,scheduler:t,rootFor:r,capabilities:n,invalidate:()=>t.invalidate(),warn:p=>i.warn(p,a),reducedMotion:o&&n.reducedMotion,signal:c,style:u}}return{prepare({el:a,plan:c,signal:u,ledger:l}){let p=[];if(c.jsEffects.length===0)return p;let m=s(a,u,l);for(let f of c.jsEffects){let{spec:d,resolved:y}=f,v=y.primitive.prepare;if(!v)continue;let E=k=>i.warn(k,a),P=lo({...y.preset.params,...It(f)},y.primitive.parameters,E,Xf(f,E));try{p.push(v(a,P,m))}catch(k){i.warn(`"${d.name}" failed to initialise: ${String(k)}`,a)}}return p}}}function Jf(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(t,16),cancelFrame:t=>globalThis.clearTimeout(t)}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t)}}function Ms(e=Jf()){let t=new Map,r=0,n=null;function i(c){if(c)c.dirty=!0;else for(let u of t.values())u.dirty=!0;n===null&&(n=e.requestFrame(o))}function o(){n=null;for(let c of t.values()){if(!c.dirty||c.subscribers.size===0)continue;c.dirty=!1;let u={metrics:c.root.metrics(),epoch:r};for(let l of[...c.subscribers])l(u)}}function s(c){let u=t.get(c.key);if(u)return u;let l={root:c,subscribers:new Set,detach:[],dirty:!1};return l.detach.push(c.onScroll(()=>i(l))),l.detach.push(c.onResize(()=>{r++,i()})),t.set(c.key,l),l}function a(c){if(!(c.subscribers.size>0)){for(let u of c.detach)u();t.delete(c.root.key)}}return{subscribe(c,u){let l=s(c);return l.subscribers.add(u),i(l),()=>{l.subscribers.delete(u),a(l)}},invalidate(){r++,i()},rootCount:()=>t.size,destroy(){n!==null&&e.cancelFrame(n),n=null;for(let c of t.values()){c.subscribers.clear();for(let u of c.detach)u()}t.clear()}}}function Zf(e){return{key:"window",metrics:()=>({scrollTop:e.scrollY,scrollLeft:e.scrollX,viewportWidth:e.innerWidth,viewportHeight:e.innerHeight,viewportTop:0,viewportLeft:0}),onScroll:t=>en(e,"scroll",t),onResize:t=>Is(e.document.documentElement,e,t)}}function Qf(e,t){return{key:`el:${tg(e)}`,metrics:()=>{let r=e.getBoundingClientRect();return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.clientWidth,viewportHeight:e.clientHeight,viewportTop:r.top,viewportLeft:r.left}},onScroll:r=>en(e,"scroll",r),onResize:r=>Is(e,t,r)}}function en(e,t,r){return e.addEventListener(t,r,{passive:!0}),()=>e.removeEventListener(t,r)}function Is(e,t,r){let n=en(t,"resize",r);if(typeof ResizeObserver>"u")return n;let i=new ResizeObserver(r);return i.observe(e),()=>{n(),i.disconnect()}}var eg=0,As=new WeakMap;function tg(e){let t=As.get(e);if(t)return t;let r=String(++eg);return As.set(e,r),r}function Ls(e){let{win:t}=e,r=e.isScrollable??ng(t),n=Zf(t);return i=>{for(let o=i.parentElement;o;o=o.parentElement){if(rg(o,t))return n;if(r(o))return Qf(o,t)}return n}}function rg(e,t){let r=t.document.documentElement;if(e===r)return!0;if(e!==t.document.body)return!1;let n=t.getComputedStyle(r);return!Cs.has(n.overflowX)&&!Cs.has(n.overflowY)}var Cs=new Set(["auto","scroll","overlay","hidden","clip"]),Rs=new Set(["auto","scroll","overlay"]);function ng(e){return t=>{let r=e.getComputedStyle(t),n=Rs.has(r.overflowY)&&t.scrollHeight>t.clientHeight,i=Rs.has(r.overflowX)&&t.scrollWidth>t.clientWidth;return n||i}}function Os(e){return Number.isNaN(e)?0:Math.min(1,Math.max(0,e))}function Se(e){let t=-1,r;return{read(n){return(t!==n||r===void 0)&&(r=e(),t=n),r},clear(){t=-1,r=void 0}}}function Ns(){return{warn(e,t){t===void 0?console.warn(`[kuinetic] ${e}`):console.warn(`[kuinetic] ${e}`,t)}}}function Vt(){return{warn(){}}}function _s(){let e=[];return{messages:e,warn(t){e.push(t)}}}var et="data-kui-time-scale";function Pe(e){let r=e.closest(`[${et}]`)?.getAttribute(et)?.trim();if(!r)return 1;let n=Number(r);return Number.isFinite(n)?Math.min(4,Math.max(.05,n)):1}function ig(e){let t=e.getAnimations;return typeof t=="function"?t.call(e):[]}function Ne(e,t){return ig(e).filter(r=>{let n=r.animationName;return typeof n=="string"&&t.has(n)})}function og(e){return getComputedStyle(e).animationName}function sg(e,t){let r=e.style.getPropertyValue("animation-name");t.set("animation-name","none"),og(e),t.set("animation-name",r)}function ag(e,t){if(e.length===0){t();return}Promise.all(e.map(r=>r.finished.catch(()=>{}))).then(()=>t())}function cg(e,t,r,n){let i=Ne(e,r);if(!n){sg(e,t),t.set("animation-play-state","running"),i=Ne(e,r);let s=Pe(e);if(s!==1)for(let a of i)a.playbackRate=s;return i}let o=i.filter(s=>s.playState==="finished");if(o.length>0)for(let s of o)s.reverse();else t.set("animation-play-state","running");return i}function $s(e,t,r,n=!1){let i=new Set(r),o,s=new Promise(l=>{o=l}),a=!1,c=l=>ag(l,()=>o?.());function u(l){if(n)return;let p=Ne(e,i);s=new Promise(m=>{o=m});for(let m of p)m.playbackRate=l*Pe(e),m.play();t.set("animation-play-state","running"),c(p)}return{control:Ui(()=>Ne(e,i),t),activate(){if(s=new Promise(p=>{o=p}),n){o?.();return}let l=cg(e,t,i,a);a=!0,c(l)},play(){u(1)},reverse(){u(-1)},cancel(){for(let l of Ne(e,i))l.cancel();o?.()},finish(){for(let l of Ne(e,i))l.finish();o?.()},get finished(){return s},destroy(){o?.()}}}function C(e){return{cleanup:e,continuous:!0}}function lg(e){if(e!==void 0)return typeof e=="function"?e:e.cleanup}function tn(e){let t,r,n=Promise.resolve(),i=()=>{lg(t)?.(),t=void 0,r?.()};return ug({activate(){if(t!==void 0&&i(),t=e(),typeof t=="function"||"continuous"in t)return;let o=t.finished;n=new Promise(s=>{r=s}),o.then(()=>r?.())},cancel:i,finish(){typeof t=="object"&&"finish"in t&&t.finish?.(),r?.()},destroy:i,finished:()=>n,continuous:()=>typeof t=="object"&&"continuous"in t})}function b(e){return(...t)=>tn(()=>e(...t))}function ug(e){let t=!1,r=0;return{activate(){if(t)return;e.activate(),t=!0;let n=++r;e.continuous?.()||(e.finished?.()??Promise.resolve()).then(()=>{n===r&&(t=!1)})},cancel(){e.cancel?.(),t=!1},finish(){e.finish?.()},get finished(){return e.finished?.()??Promise.resolve()},get continuous(){return e.continuous?.()??!1},destroy(){t=!1,e.destroy()}}}var pg=3e3;function mg(e){return[e.source,e.on,e.timeline,e.threshold].join("\0")}function nn(e){return typeof Element<"u"&&e instanceof Element}var ke=class{registry;capabilities;reporter;root;bundles;binder;scheduler;rootResolver;jsEffectPreparer;respectReducedMotion;shouldObserve;states=new WeakMap;liveElements=new Set;currentRun=new WeakMap;settleArmed=new WeakMap;domWatcher;gateWatcher;started=!1;book=$o();port;constructor(t={}){let r=dg(t);this.registry=r.registry,this.bundles=new kt(r.registry),this.capabilities=r.capabilities,this.root=r.root,this.reporter=r.reporter,this.binder=r.binder,this.scheduler=r.scheduler,this.rootResolver=r.rootResolver,this.jsEffectPreparer=r.jsEffectPreparer,this.domWatcher=r.domWatcher,this.respectReducedMotion=r.respectReducedMotion,this.shouldObserve=r.shouldObserve,this.port={registry:this.registry,reporter:this.reporter,binder:this.binder,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,book:this.book,stateOf:n=>this.states.get(n),install:n=>this.install(n),installAggregate:n=>this.installAggregate(n),resolveGroupMatches:(n,i)=>this.resolveGroupMatches(n,i),resolveActivation:(n,i,o)=>this.resolveActivation(n,i,o),release:n=>this.release(n),activateOne:n=>this.activateOne(n),deactivateOne:n=>this.deactivate(n),writeStatus:(n,i,o)=>this.writeStatus(n,i,o),emit:(n,i,o,s)=>this.emit(n,i,o,s)}}start(){if(this.started)return this;this.started=!0;let t=globalThis.setTimeout(()=>this.uncloak(),pg);try{this.scan(this.root),this.shouldObserve&&this.watch()}finally{globalThis.clearTimeout(t),this.uncloak()}return this}scan(t=this.root){if(!t)return this;let r=this.bundles.collect(t,this.reporter),n=`[${S.source}]`;nn(t)&&t.matches(n)&&this.process(t);for(let i of t.querySelectorAll(n))this.process(i);return ps(t,this.reporter),r>0&&t!==this.root&&this.retryPending(),this}retryPending(){for(let t of this.root.querySelectorAll(`[${S.state}="pending"]`))this.process(t)}process(t){if(t.hasAttribute(S.define))return;let r=Po(t),n=mg(r),i=this.states.get(t);if(i?.fingerprint===n)return;i&&this.release(t);let o=Oo(this.bundles.expand(Re(r.source)),this.registry),s=ko(r,o),a={...s},c=Lt(o,this.registry,s.timeline),u=c.targets[0].plan;if(this.applyViewportGates(t,c),a.activation=this.resolveActivation(t,s,u),this.reportCompiled(t,c),c.targets.every(l=>l.plan.fxNames.length===0)){t.setAttribute(S.state,u.unknown.length>0?"pending":"failed");return}this.install({el:t,fingerprint:n,parsed:o,config:a,baseConfig:s,document:c})}reportCompiled(t,r){for(let i of r.warnings)this.reporter.warn(i,t);for(let i of r.targets)for(let o of i.plan.warnings)this.reporter.warn(o,t);let n=[...new Set(r.targets.flatMap(i=>i.plan.channels))];for(let i of Yi(n,this.capabilities))this.reporter.warn(i,t)}resolveActivation(t,r,n){return r.activationAuthored?(ei({el:t,spec:ee(r.activation),supported:n.supportedActivations,claims:n.activationClaims,reporter:this.reporter}),r.activation):n.defaultActivation??r.activation}applyViewportGates(t,r){let n=r.targets.flatMap(o=>o.plan.jsEffects).map(o=>o.spec.gate).filter(o=>o!==void 0);if(n.length===0){this.gateWatcher?.unwatch(t);return}let i=t.ownerDocument.defaultView??void 0;for(let o of r.targets)o.plan.jsEffects=o.plan.jsEffects.filter(s=>lt(s.spec.gate,i));this.watchGates(t,i,ai(n))}watchGates(t,r,n){this.gateWatcher??=ci(r,i=>this.regate(i)),this.gateWatcher.watch(t,n)}regate(t){this.release(t),this.process(t)}installedAsHost(t){return t.document.targets.some(r=>r.selector!=="")?(bs(this.port,t),!0):!1}install(t){if(this.installedAsHost(t))return;let{el:r,fingerprint:n,parsed:i,config:o,document:s}=t,a=s.targets.map(v=>({target:v,matches:this.resolveGroupMatches(r,v)})).filter(v=>v.matches.length>0),c=Ze(r),u=c.style(r),l=c.attributes(r),p=new AbortController;this.bindAuthorCallback(r,i,p.signal);let m=s.targets.some(v=>Object.keys(v.plan.declarations).length>0),f=Je({plan:a[0].target.plan,config:o,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:m}),d={fingerprint:n,specs:i.specs,activation:o.activation,timeline:o.timeline,fxNames:s.targets.flatMap(v=>v.plan.fxNames),jsEffectNames:s.targets.flatMap(v=>v.plan.jsEffects.map(E=>E.spec.name)),progressDriven:f.gate==="scrubbed"||f.gate==="native-timeline",instances:[],ledger:u,attributes:l,ledgers:c,controller:p,status:"ready"};t.host&&(d.host=t.host),t.gateOwner&&(d.gateOwner=t.gateOwner),this.states.set(r,d),this.liveElements.add(r),l.set(S.state,"ready");let y={el:r,state:d,ledgers:c,config:o,signal:p.signal,elementHasCssAnimation:m};for(let v of a)this.installGroup(v,y);this.openGate({el:r,state:d,stylePlan:f,config:o,plan:a[0].target.plan})}installAggregate(t){let{el:r,fingerprint:n,parsed:i,config:o,document:s}=t,a=Ze(r),c=new AbortController;this.bindAuthorCallback(r,i,c.signal);let u={fingerprint:n,specs:i.specs,activation:o.activation,timeline:o.timeline,fxNames:s.targets.flatMap(l=>l.plan.fxNames),jsEffectNames:[],progressDriven:!1,instances:[],ledger:a.style(r),attributes:a.attributes(r),ledgers:a,controller:c,status:"ready",aggregate:!0};this.states.set(r,u),this.liveElements.add(r),u.attributes.set(S.state,"ready")}installGroup(t,r){let{target:n,matches:i}=t,o=Je({plan:n.plan,config:r.config,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:r.elementHasCssAnimation}),s=Object.keys(o.properties).some(c=>c.startsWith("animation-")),a={target:n,stylePlan:o,hasCssAnimation:s};for(let c of i)this.installMatch(c,a,r)}installMatch(t,r,n){let{target:i,stylePlan:o,hasCssAnimation:s}=r,{state:a,ledgers:c}=n,u=c.style(t),l=c.attributes(t);for(let[p,m]of Object.entries(o.properties))u.set(p,m);if(l.set(S.normalized,o.attributes[S.normalized]),l.set(S.rm,o.attributes[S.rm]),u.claim("animation-play-state"),s){let p=o.gate==="scrubbed";a.instances.push($s(t,u,i.plan.keyframeNames,p))}a.instances.push(...this.jsEffectPreparer.prepare({el:t,plan:i.plan,signal:n.signal,ledger:u}))}bindAuthorCallback(t,r,n){r.func!==void 0&&zi({el:t,name:r.func,reporter:this.reporter,signal:n})}resolveGroupMatches(t,r){if(r.selector==="")return[t];let n=t.ownerDocument,i=r.plan.fxNames.join(", "),o=Ve(r.selector,n);if(o!=="ok"){let a=o==="invalid"?"is not a valid selector":"matches the whole document";return this.reporter.warn(`target "${r.selector}" (${i}) ${a} and will be ignored`,t),[]}let s=I(t,{doc:n},r.selector,r.scope);return s.length===0&&this.reporter.warn(`target "${r.selector}" (${i}) matched nothing`,t),s}openGate(t){let{el:r,state:n,stylePlan:i,config:o,plan:s}=t;if(this.reducedMotionDisables(s)){this.writeStatus(r,n,"finished"),this.emit(r,n,G.finish,"reduced-motion"),this.syncHost(n);return}let a=o.actions;if(a&&this.warnAboutCrossings(r,n,i.activation??o.activation,a),i.gate!=="deferred"){this.activateOne(r);return}if(Bo(n))return;let c=i.activation,u=this.binder.bind(r,c,{threshold:o.threshold,from:o.activationSource,activate:()=>this.activateOne(r),deactivate:()=>this.deactivate(r),...a?{cross:m=>this.applyCrossing(r,m,a)}:{}}),l=!1,p=()=>{l||(l=!0,u())};n.controller.signal.addEventListener("abort",p),!a&&Be(ee(c))&&(n.releaseActivation=p)}reducedMotionDisables(t){return this.respectReducedMotion&&this.capabilities.reducedMotion&&t.reducedMotion==="disable"}warnAboutCrossings(t,r,n,i){let o=ee(n),s=Li({actions:i,observed:o.start.kind==="observed"||o.end?.kind==="observed",activation:String(n),jsEffectNames:r.jsEffectNames,progressDriven:r.progressDriven});for(let a of s)this.reporter.warn(a,t)}applyCrossing(t,r,n){let i=this.states.get(t);i&&Oi(n[r],{started:i.status!=="ready",controls:i.instances.map(o=>o.control).filter(o=>o!==void 0),activate:()=>this.activateOne(t),reverse:()=>this.reverseOne(t)})}activate(t){this.activateOne(t);for(let r of this.derivedOf(t))this.activateOne(r)}activateOne(t){let r=this.states.get(t);if(!r||r.aggregate)return;if(r.status==="running"&&r.direction==="reverse"){this.turnAround(t,r);return}if(r.status==="running")return;r.releaseActivation?.(),r.releaseActivation=void 0,this.writeStatus(t,r,"running"),r.direction="forward";let n=this.beginRun(r),i=r.instances.filter(o=>this.startInstance(o,t));if(i.length===0&&r.instances.length>0){this.writeStatus(t,r,"failed"),this.syncHost(r);return}this.emit(t,r,G.start,"activated"),this.syncHost(r),this.settleWhen({el:t,state:r,run:n},i,"finished")}deactivate(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;r.instances.filter(rn).length<r.instances.length&&this.reporter.warn("effect cannot play backwards, so the exit half of this activation does nothing for it (JS-rendered effects have no playhead \u2014 see EffectInstance.reverse)",t),this.reverseOne(t)}reverseFrom(t){this.reverseOne(t);for(let r of this.derivedOf(t))this.reverseOne(r)}reverseOne(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;let n=r.instances.filter(rn);if(n.length===0)return;this.writeStatus(t,r,"running"),r.direction="reverse",this.syncHost(r);let i=this.beginRun(r);for(let o of n)o.reverse();this.settleWhen({el:t,state:r,run:i},n,"ready")}turnAround(t,r){let n=r.instances.filter(rn);r.direction="forward";let i=this.beginRun(r);for(let o of n)o.play();this.settleWhen({el:t,state:r,run:i},n,"finished")}settleWhen(t,r,n){let{el:i,state:o,run:s}=t,a=r.filter(u=>!u.continuous);if(a.length===0&&r.length>0){this.settleArmed.set(o,!1);return}this.settleArmed.set(o,!0);let c=o.direction;Promise.all(a.map(u=>u.finished)).then(()=>{this.states.get(i)!==o||o.status!=="running"||o.direction===c&&this.currentRun.get(o)===s&&(this.writeStatus(i,o,n),o.cancelled||(n==="finished"?this.emit(i,o,G.finish,"complete"):this.emit(i,o,G.reverseFinish,"reversed")),this.syncHost(o))})}beginRun(t){let r=Symbol("kui-run");return this.currentRun.set(t,r),t.cancelled=!1,r}emit(t,r,n,i){Ki(t,n,{effects:r.fxNames,activation:r.activation,timeline:r.timeline,reason:i,...r.host?{host:r.host}:{}})}writeStatus(t,r,n){r.status=n,r.attributes.set(S.state,n)}syncHost(t){t.host&&Xe(this.port,t.host)}cancel(t){this.cancelOne(t);for(let r of this.derivedOf(t))this.cancelOne(r)}cancelOne(t){let r=this.states.get(t);if(!r)return;let n=r.status==="running";r.cancelled=!0;for(let i of r.instances)Ds(()=>i.cancel());n&&this.settleArmed.get(r)===!1&&(this.writeStatus(t,r,"finished"),this.syncHost(r)),n&&this.emit(t,r,G.cancel,"cancelled")}control(t){return wt({animator:this,root:this.root,target:t})}startInstance(t,r){try{return t.activate(),!0}catch(n){return this.reporter.warn(`effect failed to activate: ${String(n)}`,r),!1}}play(t,r,n={}){return xt({animator:this,root:this.root,target:t,effect:r},n)}uncloak(){(nn(this.root)?this.root.ownerDocument:this.root)?.documentElement?.removeAttribute(S.cloak)}stateOf(t){return this.states.get(t)}derivedOf(t){return Ot(this.book,t)}hostOf(t){return Do(this.book,t)}reset(t){this.release(t)}release(t){let r=this.states.get(t);if(!r)return;Es(this.port,t);let n=r.status==="running";r.cancelled=!0,r.controller.abort();for(let i of r.instances)Ds(()=>i.destroy());this.states.delete(t),this.liveElements.delete(t),this.gateWatcher?.unwatch(t),r.ledgers.restore(),n&&this.emit(t,r,G.cancel,"reset")}releaseTree(t){let r=[t,...t.querySelectorAll("*")];for(let n of r)this.liveElements.has(n)&&this.release(n);ss(r,this.reporter),Ss(this.port,r)}destroy(){this.domWatcher?.destroy(),as(this.root);for(let t of[...this.liveElements])this.release(t);this.gateWatcher?.destroy(),this.binder.destroy(),this.scheduler.destroy(),this.started=!1}watch(){this.domWatcher??=ws({root:this.root,onElementAdded:t=>{this.scan(t),Ps(this.port,t)},onElementRemoved:t=>this.releaseTree(t),onAttributeChanged:t=>{this.process(t),cs(t,this.reporter)}}),this.domWatcher.watch()}};function js(e={}){return new ke(e)}function dg(e){let t=e.root??globalThis.document,r=e.capabilities??At(),n=e.reporter??Vt(),i=e.scheduler??Ms(),o=e.rootResolver??gg(t),s=(e.reducedMotion??"respect")==="respect";return{registry:e.registry??new fe,capabilities:r,root:t,reporter:n,binder:e.binder??st({reporter:n}),scheduler:i,rootResolver:o,jsEffectPreparer:fg(e.jsEffectPreparer,{scheduler:i,rootResolver:o,capabilities:r,reporter:n,respectReducedMotion:s}),domWatcher:e.domWatcher,respectReducedMotion:s,shouldObserve:e.observe??!1}}function fg(e,t){return e??Ts(t)}function gg(e){let r=(nn(e)?e.ownerDocument:e)?.defaultView??globalThis;return Ls({win:r})}function rn(e){return e.play!==void 0&&e.reverse!==void 0}function Ds(e){try{e()}catch{}}var M={delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"}},V=["duration","delay","ease"];function Hs(e,t){if(t==="ease")return e.timing.easing;let r=t==="duration"?e.timing.durationMs:e.timing.delayMs;return r===void 0?void 0:`${r}ms`}function Gs(e,t,r,n){let i=t.honours??[];for(let o of V){if(i.includes(o)||Hs(r,o)===void 0)continue;let s=i.length>0?i.join(", "):"no timing parameters";n(`"${e}" cannot honour ${o}: ${t.because} (honours: ${s})`)}}function _e(e,t=0){return e.timing.delayMs??e.ms("delay",t)}function Ft(e,t=""){return e.timing.easing??e.text("ease",t)}function tt(e,t,r,n){for(let i of t){let o=Hs(r,i);o!==void 0&&n.style.set(ge(e,i),o)}}function A(e,t,r){return(n,i,o)=>(Gs(e,t,i,o.warn),r(n,i,o))}function U(e,t){return(r,n,i)=>(Gs(e,t,n,i.warn),tn(()=>(tt(e,t.honours??[],n,i),()=>{})))}var ie=["time","view","scroll","pin"],yg={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"0ms",cssProperty:"--kui-stagger"}};function h(e,t,r={}){return{id:e,renderer:"css-keyframes",channels:t,parameters:{...yg,...r.parameters},supportedTimelines:r.timelines??["time"],supportedActivations:r.activations??["load","enter","hover","focus","click","manual"],perfClass:r.perfClass??"compositor",reducedMotion:r.reducedMotion??"shorten",...r.defaultActivation?{defaultActivation:r.defaultActivation}:{}}}var Vs={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"},to:{type:"color",default:"",cssProperty:"--kui-ambient-c2"}},hg={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"}},vg={duration:{type:"time",default:"4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"14px",cssProperty:"--kui-distance"}},bg={duration:{type:"time",default:"3.5s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"},angle:{type:"angle",default:"360deg",cssProperty:"--kui-to-angle"}},Eg={duration:{type:"time",default:"2.2s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.15",cssProperty:"--kui-pulse-scale",finite:!0,minimum:1}},Sg=[h("ambient-gradient",[g.background],{parameters:Vs,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-gradient-ring",[g.background,"mask","layout"],{parameters:Vs,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-tint",[g.background],{parameters:hg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-float",[g.translate],{parameters:vg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-orbit",[g.rotate],{parameters:bg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-pulse",[g.scale,g.opacity],{parameters:Eg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"})],Pg=[{name:"gradient-mesh",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-gradient-mesh"},{name:"aurora",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-aurora"},{name:"gradient-rotate-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-rotate-border",params:{duration:"6s",ease:"linear"}},{name:"gradient-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-border",params:{duration:"6s",ease:"linear"}},{name:"scanline",phase:"idle",primitive:"ambient-tint",keyframes:"kui-scanline",params:{duration:"3.5s",ease:"linear"}},{name:"dot-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-dot-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"line-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-line-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"starfield",phase:"idle",primitive:"ambient-tint",keyframes:"kui-starfield",params:{duration:"40s",ease:"linear"}},{name:"spotlight-follow",phase:"idle",primitive:"ambient-tint",keyframes:"kui-spotlight-follow",params:{duration:"9s"}},{name:"wave-blob",phase:"idle",primitive:"ambient-tint",keyframes:"kui-wave-blob",params:{duration:"12s"}},{name:"float",phase:"idle",primitive:"ambient-float",keyframes:"kui-float"},{name:"bob",phase:"idle",primitive:"ambient-float",keyframes:"kui-bob",params:{duration:"2s",distance:"8px"}},{name:"floating-shapes",phase:"idle",primitive:"ambient-float",keyframes:"kui-floating-shapes",params:{duration:"6s",distance:"10px"}},{name:"orbit",phase:"idle",primitive:"ambient-orbit",keyframes:"kui-orbit"},{name:"glow-pulse",phase:"idle",primitive:"ambient-pulse",keyframes:"kui-glow-pulse"}];function Fs(e){return e.registerPrimitives(Sg).registerPresets(Pg)}var kg={duration:{type:"time",default:"240ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},xg="discrete.css pins that value on this effect";function Bs(e,t){return{scale:{type:"number",default:t,cssProperty:e,finite:!0,minimum:0}}}function on(e,t){return{distance:{type:"length",default:t,cssProperty:e}}}function $e(e,t,r={}){return{id:e,renderer:"javascript",channels:t,parameters:{...kg,...r},supportedTimelines:["time"],supportedActivations:["manual"],defaultActivation:"manual",perfClass:"compositor",reducedMotion:"shorten",prepare:U(e,{honours:V,because:xg})}}var De=[{property:"display"},{property:"overlay"}],wg=[$e("fade-open",["opacity","discrete"]),$e("pop-open",["opacity","scale","discrete"],Bs("--kui-pop-open-scale","0.92")),$e("scale-open",["scale","discrete"],Bs("--kui-scale-open-scale","0.85")),$e("drop-open",["opacity","translate","discrete"],on("--kui-drop-open-distance","12px")),$e("slide-open-up",["opacity","translate","discrete"],on("--kui-slide-open-up-distance","16px")),$e("slide-open-down",["opacity","translate","discrete"],on("--kui-slide-open-down-distance","16px"))],Tg=[{name:"fade-open",primitive:"fade-open",transitions:[{property:"opacity"},...De]},{name:"pop-open",primitive:"pop-open",transitions:[{property:"opacity"},{property:"scale"},...De]},{name:"scale-open",primitive:"scale-open",transitions:[{property:"scale"},...De]},{name:"drop-open",primitive:"drop-open",transitions:[{property:"opacity"},{property:"translate"},...De]},{name:"slide-open-up",primitive:"slide-open-up",transitions:[{property:"opacity"},{property:"translate"},...De]},{name:"slide-open-down",primitive:"slide-open-down",transitions:[{property:"opacity"},{property:"translate"},...De]}];function Ws(e){return e.registerPrimitives(wg).registerPresets(Tg)}var Ag={duration:{type:"time",default:"1.6s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Cg={duration:{type:"time",default:"900ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Rg={duration:{type:"time",default:"1.2s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},dotSize:{type:"length",default:"8px",cssProperty:"--kui-dot-size"}},Mg={duration:{type:"time",default:"1.4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"}},Ig={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"24px",cssProperty:"--kui-distance"}},Lg={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},sn={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.18",cssProperty:"--kui-pop-scale",finite:!0,minimum:1}},Og={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},extent:{type:"number",default:"4",cssProperty:"--kui-ripple-scale",finite:!0,minimum:1},color:{type:"color",default:"",cssProperty:"--kui-ripple-color"},strength:{type:"number|percentage",default:"0.6",cssProperty:"--kui-ripple-opacity",finite:!0,minimum:0,maximum:1},startScale:{type:"number",default:"0.2",cssProperty:"--kui-ripple-start",finite:!0,minimum:0}},Ng={...sn,distance:{type:"length|percentage",default:"45%",cssProperty:"--kui-confetti-distance"},fan:{type:"number",default:"1",cssProperty:"--kui-confetti-fan",finite:!0,minimum:0},size:{type:"length",default:"6px",cssProperty:"--kui-confetti-size"},spill:{type:"length",default:"24px",cssProperty:"--kui-confetti-spill"},color1:{type:"color",default:"",cssProperty:"--kui-confetti-c1"},color2:{type:"color",default:"",cssProperty:"--kui-confetti-c2"},color3:{type:"color",default:"",cssProperty:"--kui-confetti-c3"},color4:{type:"color",default:"",cssProperty:"--kui-confetti-c4"},color5:{type:"color",default:"",cssProperty:"--kui-confetti-c5"}},_g={duration:{type:"time",default:"1400ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},$g={distance:{type:"length",default:"36px",cssProperty:"--kui-pull-distance"}},Dg=[h("feedback-shimmer",[g.background],{parameters:Ag,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-fade",[g.opacity],{defaultActivation:"manual"}),h("feedback-spin",[g.rotate,"discrete"],{parameters:Cg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-dot-pulse",[g.scale,g.opacity,g.background,"shadow","discrete"],{parameters:Rg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-progress-track",[g.translate,g.scale,g.background,"transform-origin"],{parameters:Mg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-toast",[g.opacity,g.translate],{parameters:Ig,defaultActivation:"manual"}),h("feedback-shake",[g.translate],{parameters:Lg,defaultActivation:"manual"}),h("feedback-wobble",[g.translate,g.rotate],{defaultActivation:"click"}),h("feedback-ripple",[g.scale,g.opacity,"sweep"],{parameters:Og,defaultActivation:"click"}),h("feedback-pop",[g.scale],{parameters:sn,defaultActivation:"manual"}),h("feedback-burst",[g.scale,g.opacity,g.background,"sweep"],{parameters:Ng,defaultActivation:"click"}),h("feedback-heart-burst",[g.scale,g.color],{parameters:sn,defaultActivation:"click"}),h("feedback-confirm",[g.opacity],{parameters:_g,defaultActivation:"click"}),h("feedback-pull",[g.translate],{parameters:$g,defaultActivation:"manual"})],jg=[{name:"skeleton-shimmer",phase:"idle",primitive:"feedback-shimmer",keyframes:"kui-skeleton-shimmer"},{name:"skeleton-to-content",primitive:"feedback-fade",keyframes:"kui-skeleton-to-content"},{name:"spinner",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-spin"},{name:"spinner-dots",phase:"idle",primitive:"feedback-dot-pulse",keyframes:"kui-spinner-dots"},{name:"spinner-ring",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-ring-spin"},{name:"progress-indeterminate",phase:"idle",primitive:"feedback-progress-track",keyframes:"kui-progress-indeterminate"},{name:"toast-slide-in",primitive:"feedback-toast",keyframes:"kui-toast-slide-in"},{name:"toast-slide-out",primitive:"feedback-toast",keyframes:"kui-toast-slide-out",params:{ease:"ease-in"}},{name:"shake-error",primitive:"feedback-shake",keyframes:"kui-shake-error"},{name:"wobble",primitive:"feedback-wobble",keyframes:"kui-wobble",params:{duration:"600ms",ease:"ease-in-out"}},{name:"ripple",primitive:"feedback-ripple",keyframes:"kui-ripple"},{name:"badge-pop",primitive:"feedback-pop",keyframes:"kui-badge-pop"},{name:"count-bump",primitive:"feedback-pop",keyframes:"kui-count-bump",params:{duration:"280ms",scale:"1.3"}},{name:"heart-burst",primitive:"feedback-heart-burst",keyframes:"kui-heart-burst",params:{duration:"700ms",scale:"1.4"}},{name:"confetti-burst",primitive:"feedback-burst",keyframes:"kui-confetti-burst",params:{duration:"900ms",scale:"1.15"}},{name:"copy-confirm",primitive:"feedback-confirm",keyframes:"kui-copy-confirm"},{name:"pull-to-refresh",primitive:"feedback-pull",keyframes:"kui-pull-to-refresh",params:{duration:"900ms",ease:"ease-out"}}];function qs(e){return e.registerPrimitives(Dg).registerPresets(jg)}function Us(e,t){return{x:t.width>0?e.x/t.width-.5:0,y:t.height>0?e.y/t.height-.5:0}}function Ks(e,t,r){let n=Us(e,t);return{rotateY:n.x*r*2,rotateX:-n.y*r*2}}function zs(e,t,r){let n=Us(e,t);return{x:n.x*r*2,y:n.y*r*2}}function oe(e){return e.matchMedia?.("(hover: hover) and (pointer: fine)").matches??!0}var an={lift:[{property:"translate"}],pop:[{property:"scale"}],"lift-shadow":[{property:"translate"},{property:"box-shadow"}],"border-draw":[{property:"--kui-border-pct"}],"border-glow":[{property:"box-shadow"}]},Ys=["icon-bounce","icon-spin","icon-wiggle","split-flap"],cn={color:{type:"color",default:"",cssProperty:"--kui-beam-border-c1"},outset:{type:"length",default:"",cssProperty:"--kui-beam-border-outset"},arc:{type:"angle",default:"100deg",cssProperty:"--kui-beam-border-arc"},softness:{type:"number|percentage",default:"0.22",cssProperty:"--kui-beam-border-softness",finite:!0,minimum:0,maximum:.9}},Xs={color:{type:"color",default:"",cssProperty:"--kui-shine-sweep-color"},angle:{type:"angle",default:"115deg",cssProperty:"--kui-shine-sweep-angle"},width:{type:"number|percentage",default:"0.2",cssProperty:"--kui-shine-sweep-width",finite:!0,minimum:0,maximum:1}},rt={borderDraw:{color:{type:"color",default:"",cssProperty:"--kui-border-draw-color"}},borderGlow:{color:{type:"color",default:"",cssProperty:"--kui-border-glow-color"}},underlineSlide:{color:{type:"color",default:"",cssProperty:"--kui-underline-slide-color"}},underlineCenter:{color:{type:"color",default:"",cssProperty:"--kui-underline-center-color"}}},Js={...rt.borderDraw,width:{type:"length",default:"2px",cssProperty:"--kui-border-draw-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-border-draw-outset"}};function Hg(e){return{duration:{type:"time",default:e,cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}}}function Zs(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...Hg(r),...n},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:U(e,{honours:V,because:"interaction.css pins that value on this effect"})}}var Gg={scale:{type:"number",default:"0.96",cssProperty:"--kui-press-scale",finite:!0,minimum:0},depth:{type:"length",default:"2px",cssProperty:"--kui-press-shadow-depth"},color:{type:"color",default:"",cssProperty:"--kui-press-shadow-color"}},Vg={opacity:{type:"number|percentage",default:"0.4",cssProperty:"--kui-group-dim-opacity",finite:!0,minimum:0,maximum:1}},Fg=[Zs("press",["scale","shadow"],"120ms",Gg)],Bg=[{name:"press-depth",primitive:"press",transitions:[{property:"scale"},{property:"box-shadow"}]}],Wg=[Zs("group-dim",["group"],"260ms",Vg)],qg=[{name:"group-dim",phase:"state",primitive:"group-dim",requiresOwnSubtree:!0}],Qs=[...Fg,...Wg],ea=[...Bg,...qg];function Bt(e,t,r,n="compositor"){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:n,reducedMotion:"shorten",prepare:U(e,{honours:V,because:"interaction.css pins that value on this effect"})}}var Ug={duration:{type:"time",default:"320ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length|percentage",default:"100%",cssProperty:"--kui-label-swap-distance"}},Kg=[Bt("label-swap",["discrete","label-swap"],Ug)],zg=[{name:"masked-label-swap",phase:"state",primitive:"label-swap"},{name:"masked-label-swap-x",phase:"state",primitive:"label-swap"},{name:"masked-label-swap-diagonal",phase:"state",primitive:"label-swap"}],Yg={duration:{type:"time",default:"160ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"1000ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"4px",cssProperty:"--kui-hover-intent-distance"}},Xg=[Bt("hover-intent",["hint"],Yg)],Jg=[{name:"hover-intent",phase:"state",primitive:"hover-intent"}],Zg={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-distance"},gap:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-gap"},scale:{type:"number",default:"0.85",cssProperty:"--kui-anchored-preview-scale",finite:!0,minimum:0,maximum:1}},Qg=[Bt("anchored-preview",["preview"],Zg)],ey=[{name:"anchored-preview",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-bottom",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-left",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-right",phase:"state",primitive:"anchored-preview"}],ty={duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},collapsed:{type:"length|percentage",default:"2.5em",cssProperty:"--kui-search-expand-collapsed"},width:{type:"length|percentage",default:"240px",cssProperty:"--kui-search-expand-width"}},ry=[Bt("search-expand",["expand","discrete","search-field"],ty,"layout")],ny=[{name:"search-expand",primitive:"search-expand",transitions:[{property:"inline-size"}]}],ta=[...Kg,...Xg,...Qg,...ry],ra=[...zg,...Jg,...ey,...ny];var sa={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},na={honours:["duration","delay"],because:"it is a continuous rotation and interaction.css runs it linear, so a curve would visibly stutter at the seam of every revolution"},iy="interaction.css pins that value on this effect",ia={distance:{type:"length",default:"6px",cssProperty:"--kui-lift-distance"}},oy={scale:{type:"number",default:"1.06",cssProperty:"--kui-pop-scale",finite:!0,minimum:0}};function sy(e){return Object.fromEntries(Object.entries(sa).filter(([t])=>e.includes(t)))}function K(e,t,r={},n={honours:V,because:iy}){let i=n.honours;return{id:e,renderer:"javascript",channels:t,parameters:{...sy(i),...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:U(e,n)}}var aa=[K("lift",["translate"],ia),K("pop",["scale"],oy),K("lift-shadow",["translate","shadow"],ia),K("shine-sweep",["sweep"],Xs),K("split-flap",["skew","discrete"]),K("border-draw",["border","pseudo-before"],Js),K("border-glow",["shadow"],rt.borderGlow),K("beam-border",["border","pseudo-before"],cn,na),K("underline-slide",["scale"],rt.underlineSlide),K("underline-center",["scale"],rt.underlineCenter),K("icon-wiggle",["rotate"]),K("icon-spin",["rotate"],{},na),K("icon-bounce",["translate"])],ay=aa.map(e=>({name:e.id,primitive:e.id,...an[e.id]?{transitions:an[e.id]}:{},...Ys.includes(e.id)?{delivery:"stylesheet-animation"}:{}})),cy=[{id:"beam-border-auto",renderer:"javascript",channels:["border","pseudo-before"],parameters:{duration:sa.duration,...cn},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:U("beam-border-auto",{honours:["duration"],because:"it is an always-on linear loop with no start moment and no curve"})}],ly=[{name:"beam-border-auto",primitive:"beam-border-auto"}],uy={stiffness:{type:"number",default:"260",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"26",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}};function xe(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:A(e,{because:"it tracks pointer position continuously, so it has no start moment and no fixed span"},n)}}function py(e){return{...Z,stiffness:e.num("stiffness",Z.stiffness),damping:e.num("damping",Z.damping),mass:e.num("mass",Z.mass)}}function my(e){return{...ut(),warn:e.warn}}function dy(e,t,r){if(!oe(r.win))return()=>{};let n=e,i=t.num("maxAngle",14),o=t.text("perspective","800px");function s(l,p,m){r.style.set("transition",`transform ${m}ms ease-out`),r.style.set("transform",`perspective(${o}) rotateX(${l.toFixed(2)}deg) rotateY(${p.toFixed(2)}deg)`)}function a(l){let p=n.getBoundingClientRect(),m={x:l.clientX-p.left,y:l.clientY-p.top},{rotateX:f,rotateY:d}=Ks(m,p,i);s(f,d,100)}function c(){s(0,0,400)}function u(){s(-i/2,i/2,250)}return n.addEventListener("pointermove",a,{passive:!0}),n.addEventListener("pointerleave",c,{passive:!0}),n.addEventListener("focus",u),n.addEventListener("blur",c),()=>{n.removeEventListener("pointermove",a),n.removeEventListener("pointerleave",c),n.removeEventListener("focus",u),n.removeEventListener("blur",c)}}function fy(e){return[...e.querySelectorAll("[data-depth]")].map(t=>({ledger:O(t),depth:Number(t.dataset.depth)||0}))}function oa(e,t,r,n){for(let i of e)i.ledger.set("transition",`translate ${n}ms ease-out`),i.ledger.set("translate",`${(t*i.depth).toFixed(2)}px ${(r*i.depth).toFixed(2)}px`)}function gy(e,t,r){if(!oe(r.win))return()=>{};let n=e,i=t.num("strength",24),o=fy(n);function s(c){let u=n.getBoundingClientRect(),l={x:c.clientX-u.left,y:c.clientY-u.top},p=zs(l,u,i);oa(o,p.x,p.y,120)}function a(){oa(o,0,0,400)}return n.addEventListener("pointermove",s,{passive:!0}),n.addEventListener("pointerleave",a,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",a),()=>{n.removeEventListener("pointermove",s),n.removeEventListener("pointerleave",a),n.removeEventListener("focus",a),n.removeEventListener("blur",a);for(let c of o)c.ledger.restore()}}function ca(e,t,r){e.style.translate=`${t.toFixed(1)}px ${r.toFixed(1)}px`}function yy(e,t,r){let n=e.createElement("span");return n.className=`kui-cursor-dot ${t}`,n.setAttribute("aria-hidden","true"),r&&(n.textContent=r),e.body.append(n),n}function hy(e,t,r){let n={x:0,y:0},i=o=>s=>{n[o]=s,ca(e,n.x,n.y)};return{x:pe(t,i("x"),r),y:pe(t,i("y"),r)}}function qt(e,t,r,n){if(!oe(r.win))return()=>{};let i=e.ownerDocument,o=e,s=yy(i,n,t.text("label","")),a=hy(s,py(t),my(r));function c(){s.classList.add("kui-cursor-dot-active")}function u(){s.classList.remove("kui-cursor-dot-active")}function l(m){c(),a.x.to(m.clientX),a.y.to(m.clientY)}function p(){let m=o.getBoundingClientRect(),f=m.left+m.width/2,d=m.top+m.height/2;c(),a.x.set(f),a.y.set(d),ca(s,f,d)}return o.addEventListener("pointermove",l,{passive:!0}),o.addEventListener("pointerleave",u,{passive:!0}),o.addEventListener("focus",p),o.addEventListener("blur",u),()=>{o.removeEventListener("pointermove",l),o.removeEventListener("pointerleave",u),o.removeEventListener("focus",p),o.removeEventListener("blur",u),a.x.stop(),a.y.stop(),s.remove()}}function vy(e,t,r){if(!oe(r.win))return()=>{};let n=e;r.win.getComputedStyle(n).position==="static"&&r.style.set("position","relative");function i(c,u,l){r.style.set("--kui-x",c),r.style.set("--kui-y",u),r.style.set("--kui-spotlight-opacity",l?"1":"0")}function o(c){let u=n.getBoundingClientRect();i(`${(c.clientX-u.left).toFixed(1)}px`,`${(c.clientY-u.top).toFixed(1)}px`,!0)}function s(){i("50%","50%",!1)}function a(){i("50%","50%",!0)}return n.addEventListener("pointermove",o,{passive:!0}),n.addEventListener("pointerleave",s,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",s),()=>{n.removeEventListener("pointermove",o),n.removeEventListener("pointerleave",s),n.removeEventListener("focus",a),n.removeEventListener("blur",s)}}var by={maxAngle:{type:"number",default:"14",cssProperty:"--kui-max-angle"},perspective:{type:"length",default:"800px",cssProperty:"--kui-perspective"}},Ey={strength:{type:"number",default:"24",cssProperty:"--kui-strength"}},Wt={...uy,label:{type:"text",default:"",cssProperty:"--kui-label"}},Sy=[xe("tilt-3d",["rotate"],by,b(dy)),xe("tilt-parallax",["translate"],Ey,b(gy)),xe("cursor-follow",["translate"],Wt,b(Py)),xe("cursor-lag",["translate"],Wt,b(ky)),xe("cursor-label",["translate"],Wt,b(xy)),xe("cursor-invert",["translate"],Wt,b(wy)),xe("cursor-spotlight",["spotlight","pseudo-before"],{},b(vy))];function Py(e,t,r){return qt(e,t,r,"kui-cursor-dot-follow")}function ky(e,t,r){return qt(e,t,r,"kui-cursor-dot-lag")}function xy(e,t,r){return qt(e,t,r,"kui-cursor-dot-label")}function wy(e,t,r){return qt(e,t,r,"kui-cursor-dot-invert")}var Ty=[{name:"tilt-3d",primitive:"tilt-3d"},{name:"tilt-parallax",primitive:"tilt-parallax"},{name:"cursor-follow",primitive:"cursor-follow",params:{stiffness:"300",damping:"30"}},{name:"cursor-lag",primitive:"cursor-lag",params:{stiffness:"80",damping:"14"}},{name:"cursor-label",primitive:"cursor-label",params:{stiffness:"260",damping:"26",label:"View"}},{name:"cursor-spotlight",primitive:"cursor-spotlight"},{name:"cursor-invert",primitive:"cursor-invert",params:{stiffness:"260",damping:"26"}}],Ay=[...aa,...Sy,...cy,...Qs,...ta],Cy=[...ay,...Ty,...ly,...ea,...ra];function la(e){return e.registerPrimitives(Ay).registerPresets(Cy)}function Ry(e,t,r){if(!oe(r.win))return()=>{};let n=e;function i(s){r.style.set("--kui-proximity-x",`${s.clientX}px`),r.style.set("--kui-proximity-y",`${s.clientY}px`),r.style.set("--kui-proximity-opacity","1")}function o(){r.style.set("--kui-proximity-opacity","0")}return n.addEventListener("pointermove",i,{passive:!0}),n.addEventListener("pointerleave",o,{passive:!0}),()=>{n.removeEventListener("pointermove",i),n.removeEventListener("pointerleave",o)}}var My=[{id:"proximity-field",renderer:"javascript",channels:["proximity"],parameters:{},supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:A("proximity-field",{because:"it tracks pointer position continuously across a container, so it has no start moment and no fixed span"},b(Ry))}],Iy=[{name:"proximity-field",phase:"state",primitive:"proximity-field"}],Ly={duration:{type:"time",default:"200ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},color:{type:"color",default:"",cssProperty:"--kui-proximity-glow-color"},radius:{type:"length",default:"220px",cssProperty:"--kui-proximity-glow-radius"},width:{type:"length",default:"1px",cssProperty:"--kui-proximity-glow-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-proximity-glow-outset"}},Oy=[{id:"proximity-glow",renderer:"javascript",channels:["pseudo-before"],parameters:Ly,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:U("proximity-glow",{honours:["duration","ease"],because:"the ring is ambient chrome fed by an ancestor proximity-field and has no discrete start moment of its own to delay"})}],Ny=[{name:"proximity-glow",phase:"state",primitive:"proximity-glow"}],_y=[...My,...Oy],$y=[...Iy,...Ny];function ua(e){return e.registerPrimitives(_y).registerPresets($y)}var ln="",Dy={blur:{type:"length",default:"16px",cssProperty:"--kui-glass-blur"},saturate:{type:"number|percentage",default:"1.6",cssProperty:"--kui-glass-saturate",finite:!0,minimum:0},opacity:{type:"number|percentage",default:"0.12",cssProperty:"--kui-glass-opacity",finite:!0,minimum:0,maximum:1},tint:{type:"color",default:ln,cssProperty:"--kui-glass-tint"},rim:{type:"color",default:ln,cssProperty:"--kui-glass-rim"},"rim-width":{type:"length",default:"1px",cssProperty:"--kui-glass-rim-width"},sheen:{type:"number|percentage",default:"0.16",cssProperty:"--kui-glass-sheen",finite:!0,minimum:0,maximum:1},radius:{type:"length|percentage",default:ln,cssProperty:"--kui-glass-radius"}};function jy(){return C(()=>{})}var Hy=[{id:"glass",renderer:"javascript",channels:["background","backdrop"],parameters:Dy,supportedTimelines:ie,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:A("glass",{because:"it paints a resting surface rather than animating, so there is no motion to time"},b(jy))}],Gy=[{name:"glass",primitive:"glass"}];function pa(e){return e.registerPrimitives(Hy).registerPresets(Gy)}var Vy=new Set(["mp4","webm","mov","m4v","ogv"]),Fy=new Set(["youtube.com","www.youtube.com","m.youtube.com","youtube-nocookie.com","www.youtube-nocookie.com","youtu.be","www.youtu.be"]);function ma(e){let t=e.replace(/[\t\n\r]/g,""),r=0;for(;r<t.length&&t.charCodeAt(r)<=32;)r+=1;return t.slice(r)}function By(e){let t=ma(e).replace(/^[a-z][a-z0-9+.-]*:/i,"").replace(/^\/\//,""),r=t.search(/[/?#]/),n=r===-1?t:t.slice(0,r);return n.slice(n.lastIndexOf("@")+1).toLowerCase()}function Wy(e){return Fy.has(By(e))}var un={center:"50% 50%",top:"50% 0%",bottom:"50% 100%",left:"0% 50%",right:"100% 50%","top-left":"0% 0%","top-right":"100% 0%","bottom-left":"0% 100%","bottom-right":"100% 100%"},da=Object.keys(un);function fa(e){return un[e]??un.center}function qy(e){return e.overlay!=="transparent"&&e.overlayOpacity>0}function Uy(e){let t=e.split("?")[0].split("#")[0],r=t.lastIndexOf(".");return r<=t.lastIndexOf("/")?!1:Vy.has(t.slice(r+1).toLowerCase())}var Ky=new Set(["http","https"]);function zy(e){let t=/^([a-z][a-z0-9+.-]*):/i.exec(ma(e));return t?t[1].toLowerCase():""}function pn(e,t,r){if(!e)return e;if(Wy(e))return r.warn(`background-media "${t}": "${e}" is a video *page*, not a media file \u2014 a YouTube URL cannot be played by <video> and needs an iframe embed instead. Point "${t}" at an .mp4/.webm file, or use a YouTube facade alongside this effect.`),"";let n=zy(e);return!n||Ky.has(n)?e:(r.warn(`background-media "${t}": "${n}:" URLs are not allowed \u2014 use https:, http:, or a path such as "/media/hero.mp4".`),"")}function ga(e){let{style:t}=e;t.setProperty("position","absolute"),t.setProperty("top","0"),t.setProperty("left","0"),t.setProperty("width","100%"),t.setProperty("height","100%"),t.setProperty("border-radius","inherit"),t.setProperty("pointer-events","none"),t.setProperty("z-index","-1")}function Yy(e,t){let r=e.createElement("div");return ga(r),r.style.setProperty("background",t.overlay),r.style.setProperty("opacity",String(t.overlayOpacity)),r.setAttribute("aria-hidden","true"),r}function Xy(e,t){let r=e.createElement("video");return r.muted=!0,r.setAttribute("muted",""),r.playsInline=!0,r.setAttribute("playsinline",""),r.loop=t.loop,r.defaultPlaybackRate=t.rate,r.playbackRate=t.rate,r.preload="metadata",t.poster&&(r.poster=t.poster),r.src=t.src,r}function ya(e){let t=e.play();t&&t.catch(()=>{})}function Jy(e,t,r){return r.reducedMotion||r.autoplay==="never"?()=>{}:r.autoplay==="always"?(ya(e),()=>{e.paused||e.pause()}):Qy(e,t)}function Zy(e,t){let r=e.createElement("img");return r.alt="",r.decoding="async",r.src=t.src,r}function Qy(e,t){let r=t.IntersectionObserver;if(!r)return()=>{};let n=new r(i=>{for(let o of i)o.isIntersecting?ya(e):e.paused||e.pause()},{threshold:0});return n.observe(e),()=>{n.disconnect(),e.paused||e.pause()}}function ha(e,t,r){let n=e.ownerDocument,i=Uy(r.src)?Xy(n,r):null,o=i??Zy(n,r);ga(o),o.style.setProperty("object-fit",r.fit),o.style.setProperty("object-position",r.position),o.setAttribute("aria-hidden","true"),o.setAttribute("data-kui-background",""),e.append(o);let s=qy(r)?Yy(n,r):null;s&&(s.setAttribute("data-kui-background-overlay",""),e.append(s));let a=i?Jy(i,t.win,r):()=>{};return{remove:()=>{a(),o.remove(),s?.remove()}}}function je(e,t){let r=e.ResizeObserver,n=r?new r(t):void 0,i=new Set;return e.addEventListener("resize",t,{passive:!0}),{observe(o){i.has(o)||(i.add(o),n?.observe(o))},unobserve(o){i.delete(o),n?.unobserve(o)},disconnect(){e.removeEventListener("resize",t),n?.disconnect(),i.clear()}}}function Ut(e,t){let r,n,i=()=>{r=void 0,n=void 0,t()};return{request(){r!==void 0||n!==void 0||(e.requestAnimationFrame?r=e.requestAnimationFrame(i):n=e.setTimeout(i,16))},cancel(){r!==void 0&&e.cancelAnimationFrame(r),n!==void 0&&e.clearTimeout(n),r=void 0,n=void 0}}}var mn={vertical:0,horizontal:90},eh={deg:1,d:1,grad:.9,rad:180/Math.PI,turn:360},va=1,th="kui-slat-stage",rh="kui-slat-item",nh=.6180339887498949;function ih(e,t,r){if(t<=1)return 0;switch(r){case"start":return e;case"end":return t-1-e;case"edges":return Math.min(e,t-1-e);case"random-ish":return Math.floor(e*nh%1*t);case"alternate":default:return oh(e,t)}}function oh(e,t){let r=e,n=t-1-e,i=Math.min(r,n);return r<=n?i*2:i*2+1}function ba(e,t){let r=e.trim();if(!r)return mn[t];let n=/^(-?(?:\d+(?:\.\d+)?|\.\d+))(deg|d|rad|grad|turn)?$/.exec(r);if(!n)return mn[t];let i=Number(n[1]);if(!Number.isFinite(i))return mn[t];let o=n[2]??"deg";return(i*eh[o]%180+180)%180}function Ea(e){let t=e*Math.PI/180;return{x:-Math.sin(t),y:Math.cos(t)}}function sh(e,t,r,n){let{width:i,height:o}=n,s=r*Math.PI/180,a=Math.cos(s),c=Math.sin(s),{x:u,y:l}=Ea(r),p=Math.abs(a)*i+Math.abs(c)*o,m=i/2,f=o/2,d=p/t,y=e*d-p/2-va,v=(e+1)*d-p/2+va,E=i+o,P=(k,w)=>`${(m+k*a+w*u).toFixed(2)}px ${(f+k*c+w*l).toFixed(2)}px`;return`polygon(${P(y,E)}, ${P(y,-E)}, ${P(v,-E)}, ${P(v,E)})`}function ah(e){return e===0?"vertical":e===90?"horizontal":"diagonal"}function Sa(e,t,r){let{slats:n,angleDegrees:i}=r,o=t.offsetWidth,s=t.offsetHeight;e.style.top=`${t.offsetTop}px`,e.style.left=`${t.offsetLeft}px`,e.style.width=`${o}px`,e.style.height=`${s}px`,n.forEach((a,c)=>{a.style.clipPath=sh(c,n.length,i,{width:o,height:s})})}function ch(e,t,r,n){let o=je(r,()=>Sa(e,t,n));return o.observe(t),o.disconnect}function lh(e,t){let r=t.getComputedStyle(e),n=r.objectPosition||"50% 50%",i=r.objectFit;return i==="cover"?{size:"cover",position:n}:i==="contain"||i==="scale-down"?{size:"contain",position:n}:i==="none"?{size:"auto",position:n}:{size:"100% 100%",position:n}}function Pa(e,t,r,n){let i=e.querySelector("img");if(!i)return null;let o=i.currentSrc||i.getAttribute("src")||"";if(!o)return null;let{count:s,angleDegrees:a,from:c,fold:u}=n,l=Ea(a),p=t.createElement("div");p.className=th,p.setAttribute("aria-hidden","true"),p.dataset.kuiSlatAxis=ah(a),p.dataset.kuiSlatAngle=String(a),p.dataset.kuiSlatFold=String(u),p.style.setProperty("--kui-slat-count",String(s)),p.style.setProperty("--kui-slat-dx",l.x.toFixed(4)),p.style.setProperty("--kui-slat-dy",l.y.toFixed(4));let m=lh(i,r),f=[];for(let E=0;E<s;E++){let P=t.createElement("div");P.className=rh,P.style.setProperty("--kui-slat-index",String(E)),P.style.setProperty("--kui-i",String(ih(E,s,c))),P.style.backgroundImage=`url("${o}")`,P.style.backgroundSize=m.size,P.style.backgroundPosition=m.position,p.append(P),f.push(P)}e.append(p);let d={slats:f,angleDegrees:a};Sa(p,i,d);let y=ch(p,i,r,d),v=O(i);return v.set("visibility","hidden"),{stage:p,slats:f,restore:()=>{y(),v.restore(),p.remove()}}}function ka(e,t){let{durationMs:r,delayMs:n,easing:i}=t.timing,o=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",o),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",me(i??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","60ms"))}function xa(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),i=e.ms("stagger",60);return n+(t-1)*i+r}var dn={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},scale:{type:"number",default:"1.12",cssProperty:"--kui-to-scale"}},uh=[h("media-wipe",[g.clip]),h("media-mask",["mask"],{perfClass:"paint"}),h("media-ken-burns",[g.translate,g.scale],{parameters:dn}),h("media-filter",[g.filter],{defaultActivation:"hover",perfClass:"paint"}),h("media-blur-up",[g.translate,g.filter],{parameters:{distance:dn.distance,blur:{type:"length",default:"16px",cssProperty:"--kui-blur"}},perfClass:"paint"}),h("media-parallax-frame",[g.translate],{parameters:{distance:dn.distance},timelines:["view","scroll"],activations:["manual"],reducedMotion:"disable"}),h("media-lightbox",[g.opacity,g.scale],{parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}})],ph=[{name:"wipe-up",primitive:"media-wipe",keyframes:"kui-wipe-up",cloak:!0},{name:"wipe-down",primitive:"media-wipe",keyframes:"kui-wipe-down",cloak:!0},{name:"wipe-left",primitive:"media-wipe",keyframes:"kui-wipe-left",cloak:!0},{name:"wipe-right",primitive:"media-wipe",keyframes:"kui-wipe-right",cloak:!0},{name:"wipe-circle",primitive:"media-wipe",keyframes:"kui-wipe-circle",cloak:!0},{name:"wipe-diagonal",primitive:"media-wipe",keyframes:"kui-wipe-diagonal",cloak:!0},{name:"mask-reveal",primitive:"media-mask",keyframes:"kui-mask-reveal",cloak:!0},{name:"curtain-reveal",primitive:"media-wipe",keyframes:"kui-curtain-reveal",cloak:!0},{name:"ken-burns",primitive:"media-ken-burns",keyframes:"kui-ken-burns"},{name:"ken-burns-out",primitive:"media-ken-burns",keyframes:"kui-ken-burns-out"},{name:"blur-up",primitive:"media-blur-up",keyframes:"kui-blur-up",cloak:!0},{name:"duotone-hover",primitive:"media-filter",keyframes:"kui-duotone-hover"},{name:"grayscale-hover",primitive:"media-filter",keyframes:"kui-grayscale-hover"},{name:"saturate-hover",primitive:"media-filter",keyframes:"kui-saturate-hover"},{name:"image-parallax-frame",primitive:"media-parallax-frame",keyframes:"kui-image-parallax-frame"},{name:"before-after-wipe",primitive:"media-wipe",keyframes:"kui-before-after-wipe"},{name:"lightbox-open",primitive:"media-lightbox",keyframes:"kui-lightbox-open"}],mh={slats:{type:"number",default:"8",cssProperty:"--kui-slats",minimum:2,maximum:24,integer:!0},axis:{type:"keyword",default:"vertical",cssProperty:"--kui-axis",keywords:["vertical","horizontal"]},angle:{type:"text",default:"",cssProperty:"--kui-slat-angle"},from:{type:"keyword",default:"alternate",cssProperty:"--kui-from",keywords:["alternate","start","end","edges","random-ish"]},fold:{type:"keyword",default:"false",cssProperty:"--kui-fold",keywords:["true","false"]},duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"60ms",cssProperty:"--kui-stagger"}};function dh(e,t,r){let n=e.ownerDocument,i=Math.min(24,Math.max(2,Math.round(t.num("slats",8)))),o=t.text("axis","vertical"),s=ba(t.text("angle",""),o),a=t.text("from","alternate"),c=t.is("fold"),u=e;r.win.getComputedStyle(u).position==="static"&&r.style.set("position","relative");let l=Pa(e,n,r.win,{count:i,angleDegrees:s,from:a,fold:c});if(!l)return()=>{};let{stage:p}=l;ka(p,t),p.classList.add("kui-slat-animating");let m,f=new Promise(E=>{m=E}),d=!1,y=()=>{d||(d=!0,p.classList.remove("kui-slat-animating"),l.restore(),m())},v=r.win.setTimeout(y,xa(t,i));return{cleanup:()=>{r.win.clearTimeout(v),!d&&(d=!0,l.restore())},finished:f,finish:()=>{r.win.clearTimeout(v),y()}}}var fh={src:{type:"text",default:"",cssProperty:"--kui-src"},poster:{type:"text",default:"",cssProperty:"--kui-poster"},fit:{type:"keyword",default:"cover",cssProperty:"--kui-fit",keywords:["cover","contain"]},focus:{type:"keyword",default:"center",cssProperty:"--kui-focus",keywords:da},overlay:{type:"color",default:"transparent",cssProperty:"--kui-overlay"},"overlay-opacity":{type:"percentage",default:"100%",cssProperty:"--kui-overlay-opacity"},autoplay:{type:"keyword",default:"in-view",cssProperty:"--kui-autoplay",keywords:["in-view","always","never"]},rate:{type:"number",default:"1",cssProperty:"--kui-rate",finite:!0,minimum:.25,maximum:4},loop:{type:"keyword",default:"true",cssProperty:"--kui-loop",keywords:["true","false"]}};function gh(e,t,r){let n=t.text("src");if(!n)return r.warn('background-media needs a "src:" \u2014 nothing installed'),()=>{};let i=pn(n,"src",r);if(!i)return()=>{};let o=e;r.win.getComputedStyle(o).position==="static"&&r.style.set("position","relative"),r.style.set("isolation","isolate");let s=ha(e,r,{src:i,poster:pn(t.text("poster"),"poster",r),fit:t.is("fit","contain")?"contain":"cover",position:fa(t.text("focus","center")),overlay:t.text("overlay","transparent"),overlayOpacity:Math.min(1,Math.max(0,t.num("overlay-opacity",1))),autoplay:t.text("autoplay","in-view"),rate:t.num("rate",1),loop:!t.is("loop","false"),reducedMotion:r.reducedMotion});return C(s.remove)}var yh=[{id:"slat-assemble",renderer:"javascript",channels:[g.opacity,g.translate,g.rotate],parameters:mh,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"disable",restoresOnFinish:!0,prepare:b(dh)},{id:"background-media",channels:["media","layout"],renderer:"javascript",parameters:fh,supportedTimelines:ie,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:A("background-media",{because:"it paints a backdrop rather than animating, so there is no motion to time"},b(gh))}],hh=[{name:"slat-assemble",primitive:"slat-assemble",cloak:!0},{name:"bg",primitive:"background-media"},{name:"background",primitive:"background-media"},{name:"video-backdrop",primitive:"background-media",params:{overlay:"black","overlay-opacity":"45%"}},{name:"video-hero",primitive:"background-media",params:{overlay:"black","overlay-opacity":"45%",autoplay:"always"}}],vh=[...uh,...yh],bh=[...ph,...hh];function wa(e){return e.registerPrimitives(vh).registerPresets(bh)}function Kt(e){let t=Array.from(e.childNodes);return()=>{e.replaceChildren(...t)}}var Eh="kui-sr-only",Sh="kui-split-decorative",Ph="a[href], button, input, select, textarea, [tabindex], [contenteditable], details, summary, iframe, audio[controls], video[controls]";function se(e){return e.querySelector(Ph)!==null}function we(e,t){let r=e.textContent.trim(),n=Kt(e),i=t.createElement("span");i.setAttribute("aria-hidden","true"),i.className=Sh;let o=t.createElement("span");return o.className=Eh,o.textContent=r,e.textContent="",e.append(i,o),{decorative:i,srOnly:o,originalText:r,restore:n}}function zt(e){let t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),r=>r.segment)}function kh(e){let t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e),r=>({text:r.segment,isWord:r.isWordLike===!0}))}function Yt(e,t,r){e.className=r?`kui-split-item ${r}`:"kui-split-item",e.style.setProperty("--kui-i",String(t))}function Xt(e,t){let{durationMs:r,delayMs:n,easing:i}=t.timing,o=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",o),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",me(i??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","30ms"))}function gn(e,t,r){let n=e.timing.durationMs;return n===void 0||t<=0?e.ms("step",r):Math.max(1,n/t)}function Jt(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),i=e.ms("stagger",30);return n+(t-1)*i+r}function Zt(e,t){let r,n=new Promise(a=>{r=a}),i;function o(){e.clearTimeout(s),i!==void 0&&e.clearInterval(i),r?.()}let s=e.setTimeout(()=>{i=e.setInterval(()=>{t.tick()&&o()},t.stepMs)},t.delayMs);return{finished:n,stop:o}}function yn(e,t,r){let n=[],i=0,o=null;for(let s of zt(r)){if(s.trim()===""){e.append(t.createTextNode(s)),o=null;continue}o||(o=t.createElement("span"),o.className="kui-split-word",e.append(o));let a=t.createElement("span");Yt(a,i),a.textContent=s,o.append(a),n.push(a),i++}return n}function fn(e,t){let r=e.doc.createElement("span");return Yt(r,e.spans.length),r.textContent=t,e.container.append(r),e.spans.push(r),r}function xh(e,t,r){for(let{segment:n}of r.segment(t))n.trim()===""?(e.leading&&fn(e,e.leading),e.leading="",e.preceding=null,e.container.append(e.doc.createTextNode(n))):e.leading||/^[\p{Ps}\p{Pi}¿¡]$/u.test(n)||!e.preceding?e.leading+=n:e.preceding.textContent+=n}function Ta(e,t,r){let n={container:e,doc:t,spans:[],preceding:null,leading:""},i=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(let o of kh(r)){if(!o.isWord){xh(n,o.text,i);continue}n.preceding=fn(n,n.leading+o.text),n.leading=""}return n.leading&&fn(n,n.leading),n.spans}function wh(e){let t=[],r=null;for(let n of Array.from(e.childNodes)){if(n instanceof HTMLElement){let i=n.offsetTop;(r===null||Math.abs(i-r)>1)&&(t.push([]),r=i)}else t.length===0&&t.push([]);t.at(-1).push(n)}return t}function Aa(e,t){let r=wh(e);return e.replaceChildren(),r.map((n,i)=>{let o=t.createElement("span");Yt(o,i,"kui-split-line");for(let s of n)s instanceof HTMLElement&&(s.removeAttribute("class"),s.style.removeProperty("--kui-i")),o.append(s);return e.append(o),o})}function Th(e,t,r){return Ta(e,t,r),Aa(e,t)}function Ca(e,t){let r=Array.from(e.childNodes).flatMap(i=>Array.from(i.childNodes));e.replaceChildren(...r);let n=0;for(let i of r)i instanceof HTMLElement&&Yt(i,n++);return Aa(e,t)}function hn(e,t,r,n){return e==="words"?Ta(t,r,n):e==="lines"?Th(t,r,n):yn(t,r,n)}function Ra(e,t,r){if(!e.deleting){let i=e.index+1;return i<t?{index:i,deleting:!1,done:!1}:r?{index:t,deleting:!0,done:!1}:{index:t,deleting:!1,done:!0}}let n=e.index-1;return n>0?{index:n,deleting:!0,done:!1}:{index:0,deleting:!1,done:!1}}var Ma={upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",binary:"01",symbols:"!<>-_\\/[]{}=+*^?#~"};function Ia(e,t,r,n){return e.map((i,o)=>o<t||i.trim()===""?i:r[Math.floor(n()*r.length)]??r[0]??i).join("")}var Ah=/^[A-Za-z0-9]{4}$/,La={type:"keyword",default:'"wght"',cssProperty:"--kui-axis",keywords:[]},Oa={axis:La,from:{type:"number",default:"100",cssProperty:"--kui-from-axis",finite:!0},to:{type:"number",default:"900",cssProperty:"--kui-to-axis",finite:!0}};function Na(e,t){let r=e.params.axis;if(r===void 0)return{};let n=Object.fromEntries(Object.entries(e.params).filter(([o])=>o!=="axis"));if(!Ah.test(r))return t(`"axis:${r}" is not an OpenType axis tag \u2014 expected exactly four letters or digits, case-significant, e.g. axis:wght (registered) or axis:GRAD (vendor)`),{params:n};let i=`"${r}"`;return{params:{...n,axis:i},schema:{axis:{...La,keywords:[i]}}}}var Ch="kui-sr-only",Rh="kui-count-decorative";function Da(e,t){let r=Kt(e),n=t.createElement("span");n.setAttribute("aria-hidden","true"),n.className=Rh;let i=t.createElement("span");return i.className=Ch,e.textContent="",e.append(n,i),{decorative:n,srOnly:i,restore:r}}function _a(e){return 1-(1-Math.min(Math.max(e,0),1))**3}function ja(e,t,r){return t+(r-t)*e}function $a(e,t,r,n){let i=3*e,o=3*(r-e)-i,s=1-i-o,a=3*t,c=3*(n-t)-a,u=1-a-c,l=d=>((s*d+o)*d+i)*d,p=d=>((u*d+c)*d+a)*d,m=d=>(3*s*d+2*o)*d+i;function f(d){let y=d;for(let P=0;P<8;P++){let k=m(y);if(Math.abs(k)<1e-6)break;let w=y-(l(y)-d)/k;if(Math.abs(l(w)-d)<1e-6)return w;y=w}let v=0,E=1;for(y=d;E-v>1e-6;)l(y)<d?v=y:E=y,y=(v+E)/2;return y}return d=>p(f(Math.min(Math.max(d,0),1)))}var Mh={ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"expo-in":[.7,0,.84,0],"expo-out":[.16,1,.3,1],"expo-in-out":[.87,0,.13,1],"back-in":[.36,0,.66,-.56],"back-out":[.34,1.56,.64,1],"back-in-out":[.68,-.6,.32,1.6],"quart-out":[.25,1,.5,1],"circ-out":[0,.55,.45,1]},Ih=/^cubic-bezier\(\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\)$/i;function Qt(e,t){if(e===void 0)return _a;if(e==="linear")return i=>Math.min(Math.max(i,0),1);let r=Mh[e];if(r)return $a(...r);let n=Ih.exec(e);return n?$a(Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])):(t(`easing "${e}" has no JS equivalent for a JS-driven tween \u2014 using the default ease-out`),_a)}var Lh={notation:"compact",maximumFractionDigits:1};function er(e,t){let{format:r,decimals:n,currency:i}=t;return r==="currency"?new Intl.NumberFormat(void 0,{style:"currency",currency:i,minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="percent"?new Intl.NumberFormat(void 0,{style:"percent",minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="compact"?new Intl.NumberFormat(void 0,Lh).format(e):new Intl.NumberFormat(void 0,{minimumFractionDigits:n,maximumFractionDigits:n}).format(e)}function vn(e,t){return Math.round(Math.max(0,e)).toString().padStart(t,"0")}function tr(e){let t=[];for(let r=e.length;r>0;r-=3)t.unshift(e.slice(Math.max(0,r-3),r));return t.join(",")}function bn(e){return[...e].map(t=>({char:t,digit:t>="0"&&t<="9"}))}var Ha=16,Oh=1,Nh={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...M,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"},decimals:{type:"number",default:"0",cssProperty:"--kui-decimals",integer:!0,minimum:0,maximum:6},format:{type:"keyword",default:"number",cssProperty:"--kui-format",keywords:["number","currency","percent","compact"]},currency:{type:"text",default:"USD",cssProperty:"--kui-currency"}},_h={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...M,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"}};function Ga(e,t,r){return{id:e,renderer:"javascript",channels:["content"],parameters:t,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"shorten",prepare:r}}function $h(e,t){return t.reducedMotion?Oh:Math.max(0,te(e,1600))}function Va(e,t){return{durationMs:$h(e,t),delayMs:Math.max(0,e.timing.delayMs??e.ms("delay",0)),easing:Qt(e.timing.easing,t.warn)}}function Fa(e,t){let{from:r,to:n,durationMs:i,delayMs:o,easing:s,onTick:a}=t,c=0,u,l,p=new Promise(y=>{l=y}),m=()=>{e.win.clearTimeout(d),u!==void 0&&e.win.clearInterval(u)},f=()=>{c+=Ha;let y=i<=0?1:Math.min(c/i,1),v=y>=1;a(ja(s(y),r,n),v),v&&(m(),l())},d=e.win.setTimeout(()=>{u=e.win.setInterval(f,Ha)},o);return{cleanup:m,finished:p,finish:()=>{m(),a(n,!0),l()}}}function Ba(e,t,r){let n=Da(e,t);try{let i=r(n);return{...i,cleanup:()=>{i.cleanup(),n.restore()}}}catch(i){throw n.restore(),i}}function Wa(e,t,r,n){let i=e.textContent,o=i.replace(/\D/g,""),s=r.replace(/\D/g,"");o!==s&&n.warn(`${t}: authored text "${i}" doesn't match the value it will count to (${r}) \u2014 author the final value as the element's text so crawlers and no-JS readers see it`)}function Dh(e,t,r){if(se(e))return r.warn("count would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,i=t.num("from",0),o=t.num("to",100),s=Math.max(0,Math.round(t.num("decimals",0))),a=t.text("format","number"),c=t.text("currency","USD"),u={format:a,decimals:s,currency:c},l=er(i,u),p=er(o,u);return Wa(e,"count",p,r),Ba(e,n,m=>{m.decorative.textContent=l,m.srOnly.textContent=p;let f=Fa(r,{from:i,to:o,...Va(t,r),onTick:d=>{m.decorative.textContent=er(d,u)}});return{cleanup:f.cleanup,finished:f.finished,finish:f.finish}})}function jh(e,t,r){let n=[];for(let i of bn(r)){if(!i.digit){e.append(t.createTextNode(i.char));continue}let o=t.createElement("span");o.className="kui-odometer-col";let s=t.createElement("span");s.className="kui-odometer-strip";for(let a=0;a<=9;a++){let c=t.createElement("span");c.textContent=String(a),s.append(c)}s.style.setProperty("--kui-o",i.char),o.append(s),e.append(o),n.push(s)}return n}function Hh(e,t){let r=0;for(let n of bn(t))n.digit&&(e[r]?.style.setProperty("--kui-o",n.char),r++)}function Gh(e,t,r){if(se(e))return r.warn("count-odometer would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,i=Math.max(0,t.num("from",0)),o=Math.max(0,t.num("to",100)),s=Math.max(String(Math.round(i)).length,String(Math.round(o)).length),a=tr(vn(i,s)),c=tr(String(Math.round(o)));return Wa(e,"count-odometer",c,r),Ba(e,n,u=>{u.srOnly.textContent=c;let l=jh(u.decorative,n,a),p=Fa(r,{from:i,to:o,...Va(t,r),onTick:m=>{Hh(l,tr(vn(m,s)))}});return{cleanup:p.cleanup,finished:p.finished,finish:p.finish}})}var Vh=[Ga("count",Nh,b(Dh)),Ga("count-odometer",_h,b(Gh))],Fh=[{name:"count-up",primitive:"count",params:{from:"0",to:"100"}},{name:"count-down",primitive:"count",params:{from:"100",to:"0"}},{name:"count-currency",primitive:"count",params:{from:"0",to:"4820",format:"currency",currency:"USD",decimals:"0"}},{name:"count-percent",primitive:"count",params:{from:"0",to:"0.82",format:"percent",decimals:"0"}},{name:"count-compact",primitive:"count",params:{from:"0",to:"128400",format:"compact"}},{name:"odometer-roll",primitive:"count-odometer",params:{from:"0",to:"4820"}}],Bh=[h("stroke-sweep",[g.stroke]),h("meter-bar",[g.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),h("meter-segments",[g.opacity]),h("meter-stars",[g.clip])],Wh=[{name:"progress-ring",primitive:"stroke-sweep",keyframes:"kui-progress-ring"},{name:"gauge-sweep",primitive:"stroke-sweep",keyframes:"kui-gauge-sweep"},{name:"donut-sweep",primitive:"stroke-sweep",keyframes:"kui-donut-sweep"},{name:"sparkline-draw",primitive:"stroke-sweep",keyframes:"kui-sparkline-draw"},{name:"progress-bar",primitive:"meter-bar",keyframes:"kui-progress-bar",cloak:!0},{name:"progress-segments",primitive:"meter-segments",keyframes:"kui-progress-segments"},{name:"star-rating-fill",primitive:"meter-stars",keyframes:"kui-star-rating-fill"}],qh=[...Vh,...Bh],Uh=[...Fh,...Wh];function qa(e){return e.registerPrimitives(qh).registerPresets(Uh)}var Kh={from:{type:"number",default:"100",cssProperty:"--kui-from-weight",minimum:1,maximum:1e3},to:{type:"number",default:"800",cssProperty:"--kui-to-weight",minimum:1,maximum:1e3}},zh={from:{type:"percentage",default:"75%",cssProperty:"--kui-from-width"},to:{type:"percentage",default:"125%",cssProperty:"--kui-to-width"}},Yh={from:{type:"angle",default:"0deg",cssProperty:"--kui-from-slant"},to:{type:"angle",default:"10deg",cssProperty:"--kui-to-slant"}},Ua={color:{type:"color",default:"currentColor",cssProperty:"--kui-sweep-color"}},Xh={angle:{type:"angle",default:"-20deg",cssProperty:"--kui-from-angle"},distance:{type:"length",default:"32px",cssProperty:"--kui-distance"}},Jh=[h("text-shimmer",[g.background,g.color],{reducedMotion:"disable"}),h("text-gradient-sweep",[g.background,g.color],{parameters:Ua}),h("text-sweep",[g.background],{parameters:Ua}),h("text-outline-fill",[g.stroke,g.color]),h("var-weight",["font"],{parameters:Kh}),h("var-width",["font"],{parameters:zh}),h("var-slant",["font"],{parameters:Yh}),{...h("var-axis",["font"],{parameters:Oa}),variantFor:Na},h("text-marquee",[g.translate,"discrete"],{timelines:["time","scroll"],defaultActivation:"load",reducedMotion:"disable"}),h("redaction-reveal",[g.clip,"discrete"]),h("text-3d-extrude",[g.rotate,g.translate,"text-shadow","discrete"],{parameters:Xh})],Zh=[{name:"gradient-shimmer",phase:"idle",primitive:"text-shimmer",keyframes:"kui-gradient-shimmer"},{name:"gradient-sweep",primitive:"text-gradient-sweep",keyframes:"kui-gradient-sweep"},{name:"highlight-sweep",primitive:"text-sweep",keyframes:"kui-highlight-sweep",params:{color:"gold"}},{name:"underline-draw",primitive:"text-sweep",keyframes:"kui-underline-draw"},{name:"text-outline-fill",primitive:"text-outline-fill",keyframes:"kui-text-outline-fill"},{name:"var-weight",primitive:"var-weight",keyframes:"kui-var-weight"},{name:"var-width",primitive:"var-width",keyframes:"kui-var-width"},{name:"var-slant",primitive:"var-slant",keyframes:"kui-var-slant"},{name:"var-axis",primitive:"var-axis",keyframes:"kui-var-axis"},{name:"marquee",phase:"idle",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"marquee-scroll-linked",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"redaction-reveal",primitive:"redaction-reveal",keyframes:"kui-redaction-reveal"},{name:"text-3d-extrude",primitive:"text-3d-extrude",keyframes:"kui-text-3d-extrude"}];function nt(e,t,r){return{id:e,renderer:"javascript",channels:t,parameters:r.parameters,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:r.perfClass??"dom-transform",reducedMotion:"disable",prepare:r.prepare}}var Qh={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"30ms",cssProperty:"--kui-stagger"},unit:{type:"keyword",default:"chars",cssProperty:"--kui-unit",keywords:["chars","words","lines"]},direction:{type:"keyword",default:"fade",cssProperty:"--kui-direction",keywords:["fade","up","down","mask"]}},ev={stagger:{type:"time",default:"40ms",cssProperty:"--kui-stagger"},...M,motion:{type:"keyword",default:"wave",cssProperty:"--kui-motion",keywords:["wave","jitter"]}},tv={step:{type:"time",default:"55ms",cssProperty:"--kui-step"},loop:{type:"keyword",default:"false",cssProperty:"--kui-loop",keywords:["true","false"]},...M},rv={step:{type:"time",default:"40ms",cssProperty:"--kui-step"},...M,revealEvery:{type:"number",default:"2",cssProperty:"--kui-reveal-every",minimum:1,integer:!0},charset:{type:"keyword",default:"upper",cssProperty:"--kui-charset",keywords:["upper","binary","symbols"]}},nv={words:{type:"text",default:"",cssProperty:"--kui-words"},interval:{type:"time",default:"2200ms",cssProperty:"--kui-interval"},...M};function iv(e,t,r){if(se(e))return r.warn("split-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,i=t.text("unit","chars");if(i==="lines")return av(e,t,r);let o=t.text("direction","fade"),s=we(e,n);s.decorative.setAttribute("data-kui-split-fx",o),Xt(s.decorative,t);let a=hn(i,s.decorative,n,s.originalText),c,u=new Promise(p=>{c=p}),l=r.win.setTimeout(()=>{s.restore(),c()},Jt(t,a.length));return{cleanup:()=>{r.win.clearTimeout(l),s.restore()},finished:u,finish:()=>{r.win.clearTimeout(l),s.restore(),c()}}}function Ka(e,t){let r=t.getComputedStyle(e),n=/^(vertical|sideways)/.test(r.writingMode),i=e.getBoundingClientRect(),o=n?e.clientHeight:e.clientWidth,s=n?i.height:i.width,a=n?parseFloat(r.paddingBlockStart)+parseFloat(r.paddingBlockEnd):parseFloat(r.paddingInlineStart)+parseFloat(r.paddingInlineEnd);return(o||s)-(Number.isNaN(a)?0:a)}function ov(e,t,r,n){let i,o=new Promise(c=>{i=c}),s=()=>{e.win.clearTimeout(a),a=void 0,r.decorative.removeAttribute("aria-hidden"),r.srOnly.remove(),i()},a=e.win.setTimeout(s,Jt(t,n));return{finished:o,land:s,rearm(c){a!==void 0&&(e.win.clearTimeout(a),a=e.win.setTimeout(s,Jt(t,c)))},cancel(){a!==void 0&&e.win.clearTimeout(a)}}}function sv(e,t,r,n){let i=!0,o=Ut(t.win,r),s=je(t.win,o.request);s.observe(e);let a=e.ownerDocument.fonts;return a&&a.status!=="loaded"&&a.ready.then(()=>{i&&(n(),o.request())}),()=>{i=!1,s.disconnect(),o.cancel()}}function av(e,t,r){let n=e.ownerDocument,i=we(e,n);i.decorative.setAttribute("data-kui-split-fx",t.text("direction","fade")),Xt(i.decorative,t);let o=hn("lines",i.decorative,n,i.originalText),s=Ka(e,r.win),a=!1,c=ov(r,t,i,o.length),l=sv(e,r,()=>{let p=Ka(e,r.win);if(!a&&p===s)return;a=!1,s=p;let m=Ca(i.decorative,n);c.rearm(m.length)},()=>{a=!0});return{cleanup:()=>{l(),c.cancel(),i.restore()},finished:c.finished,finish:c.land}}function cv(e,t,r){if(se(e))return r.warn("split-text-motion would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,i=t.text("motion","wave"),o=we(e,n);return o.decorative.setAttribute("data-kui-split-fx",i),Xt(o.decorative,t),yn(o.decorative,n,o.originalText),o.restore}function lv(e,t,r){if(se(e))return r.warn("typewriter would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.is("loop"),i=we(e,e.ownerDocument);i.decorative.classList.add("kui-typewriter");let o=zt(i.originalText),s={index:0,deleting:!1},a=u=>{i.decorative.textContent=o.slice(0,u).join("")},c=Zt(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:gn(t,o.length,55),tick:()=>{let u=Ra(s,o.length,n);return s=u,a(u.index),u.done}});return{cleanup:()=>{c.stop(),i.restore()},finished:c.finished,finish:()=>{c.stop(),a(o.length)}}}function uv(e,t,r){if(se(e))return r.warn("scramble-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=Ma[t.text("charset","upper")],i=Math.max(1,Math.round(t.num("revealEvery",2))),o=e,s=o.style.getPropertyValue("min-width"),a=o.style.getPropertyValue("min-height"),c=e.getBoundingClientRect();r.style.set("min-width",`${c.width}px`),r.style.set("min-height",`${c.height}px`);let u=()=>{r.style.set("min-width",s),r.style.set("min-height",a)},l=we(e,e.ownerDocument);l.decorative.classList.add("kui-scramble");let p=zt(l.originalText),m=0,f=0,d=()=>{l.decorative.textContent=Ia(p,m,n,Math.random)};d();let y=Math.max(1,p.length*i),v=Zt(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:gn(t,y,Math.max(1,700/y)),tick:()=>{f++,f%i===0&&m++,d();let E=m>=p.length;return E&&(u(),l.restore()),E}});return{cleanup:()=>{v.stop(),l.restore(),u()},finished:v.finished,finish:()=>{v.stop(),m=p.length,d(),u(),l.restore()}}}function pv(e,t,r){if(se(e))return r.warn("word-cycler would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.text("words","").split("|").map(l=>l.trim()).filter(Boolean);if(n.length===0)return()=>{};let i=we(e,e.ownerDocument),o=150,s=0;i.decorative.textContent=n[0];let a=new Set;function c(){for(let l of a)r.win.clearTimeout(l);a.clear()}let u=Zt(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:t.ms("interval",2200),tick:()=>{e.classList.add("kui-word-cycler-swap");let l=r.win.setTimeout(()=>{a.delete(l),s=(s+1)%n.length,i.decorative.textContent=n[s],e.classList.remove("kui-word-cycler-swap")},o);return a.add(l),!1}});return{cleanup:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap"),i.restore()},finished:u.finished,finish:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap")}}}var mv=[nt("split-text",[g.opacity,g.translate,g.clip,"content"],{parameters:Qh,prepare:b(iv)}),nt("split-text-motion",[g.translate,g.rotate,"content"],{parameters:ev,prepare:b(cv),perfClass:"continuous"}),nt("typewriter",[g.clip,"content"],{parameters:tv,prepare:b(lv),perfClass:"continuous"}),nt("scramble-text",["content"],{parameters:rv,prepare:b(uv),perfClass:"continuous"}),nt("word-cycler",["content",g.opacity,"discrete"],{parameters:nv,prepare:b(pv),perfClass:"continuous"})],dv="30ms",En="90ms",za="160ms",fv=[{name:"split-chars",primitive:"split-text",params:{unit:"chars",direction:"fade",stagger:dv}},{name:"split-words",primitive:"split-text",params:{unit:"words",direction:"fade",stagger:En}},{name:"split-lines",primitive:"split-text",params:{unit:"lines",direction:"fade",stagger:za}},{name:"text-reveal-up",primitive:"split-text",params:{unit:"words",direction:"up",stagger:En},cloak:!0},{name:"text-reveal-down",primitive:"split-text",params:{unit:"words",direction:"down",stagger:En},cloak:!0},{name:"text-reveal-mask",primitive:"split-text",params:{unit:"lines",direction:"mask",stagger:za},cloak:!0},{name:"text-wave",primitive:"split-text-motion",params:{motion:"wave"}},{name:"text-jitter",primitive:"split-text-motion",params:{motion:"jitter"}},{name:"typewriter",primitive:"typewriter",params:{loop:"false"}},{name:"typewriter-loop",primitive:"typewriter",params:{loop:"true"}},{name:"scramble",primitive:"scramble-text",params:{charset:"upper"}},{name:"decode",primitive:"scramble-text",params:{charset:"binary"}},{name:"glitch",primitive:"scramble-text",params:{charset:"symbols"}},{name:"word-cycler",primitive:"word-cycler",transitions:[{property:"opacity",duration:"150ms",easing:"ease-out"}]}],gv=[...Jh,...mv],yv=[...Zh,...fv];function Ya(e){return e.registerPrimitives(gv).registerPresets(yv)}var Sn="",hv={angle:{type:"angle",default:Sn,cssProperty:"--kui-static-angle"}};function vv(e,t,r){let n=t.text("angle",Sn);return n!==Sn&&r.style.set("rotate",n),C(()=>{})}var bv=[{id:"rotate-static",renderer:"javascript",channels:[g.rotate],parameters:hv,supportedTimelines:ie,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:A("rotate-static",{because:"it sets a fixed rotation once rather than animating, so there is no motion to time"},b(vv))}],Ev=[{name:"rotate-static",primitive:"rotate-static"}];function Xa(e){return e.registerPrimitives(bv).registerPresets(Ev)}function Ja(e){return wa(e),Ya(e),Fs(e),qs(e),qa(e),la(e),ua(e),Ws(e),Xa(e),pa(e),e}var it={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},ye=["time","view","scroll","pin"],rr=[h("reveal",[g.opacity,g.translate],{timelines:ye,parameters:it}),h("scale",[g.scale],{timelines:ye,parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),h("scale-move",[g.scale,g.translate],{timelines:ye,parameters:{distance:it.distance,scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),h("rotate",[g.rotate],{timelines:ye,parameters:{angle:{type:"angle",default:"-8deg",cssProperty:"--kui-from-angle"}}}),h("roll",[g.rotate,g.translate],{timelines:ye,parameters:{distance:it.distance,angle:{type:"angle",default:"-120deg",cssProperty:"--kui-from-angle"}}}),h("flip-3d",[g.skew],{timelines:ye,parameters:{angle:{type:"angle",default:"90deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),h("blur",[g.filter],{timelines:ye,parameters:{blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),h("reveal-blur",[g.opacity,g.translate,g.filter],{timelines:ye,parameters:{...it,blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),h("parallax",[g.translate],{parameters:{distance:it.distance},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"compositor"}),h("parallax-scale",[g.scale],{parameters:{scale:{type:"number",default:"1.2",cssProperty:"--kui-to-scale"},from:{type:"number",default:"1",cssProperty:"--kui-from-scale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),h("parallax-rotate",[g.rotate],{parameters:{angle:{type:"angle",default:"12deg",cssProperty:"--kui-to-angle"},from:{type:"angle",default:"0deg",cssProperty:"--kui-from-angle"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),h("scroll-fade",[g.opacity],{parameters:{opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),h("desaturate",[g.filter],{parameters:{from:{type:"percentage",default:"100%",cssProperty:"--kui-from-grayscale"},to:{type:"percentage",default:"0%",cssProperty:"--kui-to-grayscale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"}),h("skew",[g.skew],{parameters:{from:{type:"angle",default:"8deg",cssProperty:"--kui-from-skew"},to:{type:"angle",default:"0deg",cssProperty:"--kui-to-skew"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),h("progress",[g.scale,"transform-origin"],{timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable"}),h("progress-stroke",[g.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length"}},timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"})],z=(e,t,r,n)=>({name:e,primitive:t,keyframes:r,...n?{params:n}:{}}),R=(e,t,r,n)=>({...z(e,t,r,n),cloak:!0,phase:"entrance"}),H=(e,t,r,n)=>({...z(e,t,r,n),phase:"exit"}),Sv=[R("fade-in","reveal","kui-in"),H("fade-out","reveal","kui-out"),R("fade-up","reveal","kui-in-up"),R("fade-down","reveal","kui-in-down"),R("fade-left","reveal","kui-in-right"),R("fade-right","reveal","kui-in-left"),H("fade-out-up","reveal","kui-out-up"),H("fade-out-down","reveal","kui-out-down"),H("fade-out-left","reveal","kui-out-left"),H("fade-out-right","reveal","kui-out-right")],X={distance:"100px",opacity:"1"},Pv=[R("slide-up","reveal","kui-in-up",X),R("slide-down","reveal","kui-in-down",X),R("slide-left","reveal","kui-in-right",X),R("slide-right","reveal","kui-in-left",X),H("slide-out-up","reveal","kui-out-up",X),H("slide-out-down","reveal","kui-out-down",X),H("slide-out-left","reveal","kui-out-left",X),H("slide-out-right","reveal","kui-out-right",X)],kv=[R("slide-inline-start","reveal","kui-in-inline-end",X),R("slide-inline-end","reveal","kui-in-inline-start",X),R("slide-block-start","reveal","kui-in-up",X),R("slide-block-end","reveal","kui-in-down",X)],xv=[R("zoom-in","scale","kui-zoom-in"),H("zoom-out","scale","kui-zoom-out"),R("pop-in","scale","kui-zoom-in",{scale:"0.6",ease:"back-out"}),H("pop-out","scale","kui-zoom-out",{scale:"0.6",ease:"back-in"}),R("zoom-in-up","scale-move","kui-zoom-in-up"),R("zoom-in-down","scale-move","kui-zoom-in-down")],wv=[R("flip-in-x","flip-3d","kui-flip-in-x"),R("flip-in-y","flip-3d","kui-flip-in-y"),H("flip-out-x","flip-3d","kui-flip-out-x"),H("flip-out-y","flip-3d","kui-flip-out-y")],Tv=[R("rotate-in","rotate","kui-rotate-in"),H("rotate-out","rotate","kui-rotate-out"),R("rotate-in-left","rotate","kui-rotate-in",{angle:"-45deg"}),R("rotate-in-right","rotate","kui-rotate-in",{angle:"45deg"}),R("roll-in","roll","kui-roll-in"),H("roll-out","roll","kui-roll-out"),R("swing-in","rotate","kui-swing-in",{angle:"-15deg",ease:"back-out"})],Av=[R("blur-in","blur","kui-blur-in"),H("blur-out","blur","kui-blur-out"),R("fade-blur-up","reveal-blur","kui-fade-blur-up"),R("fade-blur-in","reveal-blur","kui-fade-blur-in")],Cv=[R("bounce-in","scale","kui-zoom-in",{scale:"0.3",ease:"bounce"}),R("bounce-in-up","reveal","kui-in-up",{distance:"60px",ease:"back-out"}),R("bounce-in-down","reveal","kui-in-down",{distance:"60px",ease:"back-out"}),R("back-in-up","reveal","kui-in-up",{distance:"120px",ease:"expo-out"}),R("back-in-down","reveal","kui-in-down",{distance:"120px",ease:"expo-out"})],Rv=[z("parallax-y","parallax","kui-parallax-y"),z("parallax-x","parallax","kui-parallax-x"),z("parallax-scale","parallax-scale","kui-parallax-scale"),z("parallax-rotate","parallax-rotate","kui-parallax-rotate"),z("depth-layer","parallax","kui-parallax-y",{distance:"200px"}),z("scroll-fade","scroll-fade","kui-scroll-fade"),z("scroll-desaturate","desaturate","kui-desaturate"),z("scroll-skew","skew","kui-scroll-skew"),z("scroll-progress-bar","progress","kui-progress-x"),z("scroll-progress-bar-y","progress","kui-progress-y"),z("scroll-progress-ring","progress-stroke","kui-progress-ring"),R("reveal-once","reveal","kui-in-up")],nr=[...Sv,...Pv,...kv,...xv,...wv,...Tv,...Av,...Cv,...Rv],ir=[[["fade-up","blur-in"],"fade-blur-up"],[["fade-in","blur-in"],"fade-blur-in"]];function Pn(e){e.registerPrimitives(rr).registerPresets(nr);for(let[t,r]of ir)e.registerCombo(t,r);return e}var Mv="data-kui-step-state",Iv="data-kui-step-offset";function Lv(e){let t=[],r=new Map;for(let n of e){let i=n.parentElement,o=r.get(i)??0;r.set(i,o+1),t.push({node:n,parent:i,position:o})}return{order:t,sizes:r}}function Ov(e,t){return(e%t+t)%t}function ae(e,t){let r=new Map,n=new Map,i=!1;return{mark(o){let{order:s,sizes:a}=Lv(e());!i&&t&&new Set(a.values()).size>1&&(i=!0,t(`target matched groups of different sizes (${[...a.values()].join(", ")}) \u2014 the shorter group wraps onto its own ring, so its active element will not line up with the longer one`));for(let{node:c,parent:u,position:l}of s){let p=a.get(u),m=Ov(o,p),f=r.get(c);f||(f=T(c),r.set(c,f)),f.set(Mv,_v(l,m));let d=n.get(c);d||(d=O(c),n.set(c,d));let y=Nv(l,m,p);d.set("--kui-offset",String(y)),f.set(Iv,String(y)),d.set("--kui-item-count",String(p))}},restore(){for(let o of r.values())o.restore();for(let o of n.values())o.restore();r.clear(),n.clear()}}}function Nv(e,t,r){if(r<=0)return 0;let n=((e-t)%r+r)%r;return n>Math.floor(r/2)?n-r:n}function _v(e,t){return e<t?"before":e===t?"active":"after"}function or(e,t){return t>0?(e+1)%t:0}function sr(e,t){return t>0?(e-1+t)%t:0}function Za(e,t){return t>0?(e%t+t)%t:0}function ar(e,t){let r=Math.round(e.num("steps",0));if(r>=1)return r;let n=new Map;for(let i of t())n.set(i.parentElement,(n.get(i.parentElement)??0)+1);return Math.max(1,...n.values())}function cr(e){let{el:t,ctx:r,scope:n,groups:i}=e;if(i.length===0)return()=>{};let o=n==="page"?r.doc:t,s=a=>{let c=a.target;if(typeof c?.closest=="function")for(let{selector:u,run:l}of i){let p=I(t,r,u,n),m=new Set(p),f=c;for(;f&&!m.has(f);)f=f.parentElement;f&&l(f,p.indexOf(f))}};return o.addEventListener("click",s),()=>o.removeEventListener("click",s)}function lr(e){let{el:t,params:r,ctx:n,scope:i,resolveSteps:o,onRender:s}=e,a=e.name??"step-progress",c=ae(o,N=>n.warn(`${a} ${N}`)),u=T(t),l=O(t),p=()=>ar(r,o),m=0,f=()=>{u.set("data-kui-step",String(m)),l.set("--kui-step",String(m)),c.mark(m),s?.(m,p())},d=N=>{m=Za(N,p()),f()},y=()=>d(or(m,p())),v=()=>d(sr(m,p())),E=[],P=(N,Y)=>{let le=L(r.text(N),n,`${a} ${N}`);return le?(I(t,n,le,i).length===0&&n.warn(`${a} ${N} "${le}" matched nothing`),E.push({selector:le,run:Y}),!0):!1},k=[P("next",y),P("prev",v),P("jump",(N,Y)=>{Y>=0&&d(Y)})].some(Boolean),w=e.clickFallback!==!1&&!k;w&&t.addEventListener("click",y);let _=cr({el:t,ctx:n,scope:i,groups:E});return f(),{goTo:d,next:y,prev:v,current:()=>m,total:p,release:()=>{w&&t.removeEventListener("click",y),_(),u.restore(),l.restore(),c.restore()}}}var $v={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},Qa={because:"forms.css pins its timing literally \u2014 the motion lands on a sibling that inline custom properties cannot reach"},ec={id:"native-state",renderer:"javascript",channels:[g.translate,g.scale,g.opacity,g.stroke,g.color],parameters:{},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:A("native-state",Qa,()=>Et())};function Dv(e){return(t,r)=>{let n=t.nextElementSibling;return n?.style.setProperty(e,String(r.num("scale",1))),()=>n?.style.removeProperty(e)}}function tc(e,t){return{id:e,renderer:"javascript",channels:[g.translate,g.scale,g.opacity,g.stroke,g.color],parameters:{scale:{type:"number",default:"1",cssProperty:t}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:A(e,Qa,b(Dv(t)))}}var rc=tc("toggle-morph","--kui-toggle-scale"),nc=tc("radio-fill","--kui-radio-scale"),ic=h("focus-ring",["shadow"],{activations:["focus","manual"],defaultActivation:"focus"}),oc=h("validate-shake",[g.translate],{activations:["click","manual"],defaultActivation:"click"}),sc=h("validate-check",[g.stroke],{activations:["click","manual"],defaultActivation:"click"});function ur(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...$v,...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:n}}function jv(e){let t=0;return e.length>=6&&t++,e.length>=10&&t++,/[a-z]/.test(e)&&/[A-Z]/.test(e)&&t++,/\d/.test(e)&&t++,/[^A-Za-z0-9]/.test(e)&&t++,Math.min(4,t)}function Hv(e){let t=e,r=()=>{e.setAttribute("data-kui-strength-level",String(jv(t.value)))};return t.addEventListener("input",r),r(),()=>{t.removeEventListener("input",r),e.removeAttribute("data-kui-strength-level")}}function Gv(e,t,r){let n=e,i=()=>{let o=Number(n.min||"0"),s=Number(n.max||"100"),a=s>o?(Number(n.value)-o)/(s-o)*100:0;r.style.set("--kui-fill",`${a.toFixed(2)}%`)};return n.addEventListener("input",i),i(),()=>n.removeEventListener("input",i)}var ac=ur("strength-meter",["meter"],{},b(Hv)),cc=ur("range-fill",[g.background],{},b(Gv));function Vv(e,t,r){let n=L(t.text("target"),r,"step-progress"),i=$(t,"page");return lr({el:e,params:t,ctx:r,scope:i,resolveSteps:()=>n?I(e,r,n,i):e.children}).release}var Fv=ur("step-progress",["state"],{steps:{type:"number",default:"",cssProperty:"--kui-steps",minimum:1,maximum:20,integer:!0},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},peek:{type:"percentage",default:"56%",cssProperty:"--kui-peek"},rest:{type:"number",default:"0.78",cssProperty:"--kui-rest"},main:{type:"number",default:"1",cssProperty:"--kui-main",finite:!0,minimum:0},scope:j},b(Vv)),lc={...Fv,reducedMotion:"shorten"};function kn(e){return e==="idle"?"loading":e==="loading"?"done":"idle"}function Bv(e,t,r){let n=t.ms("load",1200),i=t.ms("hold",1500),o="idle",s,a=()=>e.setAttribute("data-kui-stage",o),c=()=>{o=kn(o),a()},u=()=>{o=kn(o),a(),s=r.win.setTimeout(c,i)},l=()=>{o==="idle"&&(o=kn(o),a(),s=r.win.setTimeout(u,n))};return e.addEventListener("click",l),a(),()=>{e.removeEventListener("click",l),s!==void 0&&r.win.clearTimeout(s),e.removeAttribute("data-kui-stage")}}var uc=ur("submit-flow",["state"],{load:{type:"time",default:"1200ms",cssProperty:"--kui-load"},hold:{type:"time",default:"1500ms",cssProperty:"--kui-hold"}},b(Bv));var Wv=[ec,ic,oc,sc,ac,rc,nc,cc,lc,uc],qv=[{name:"label-float",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"input-underline-grow",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"focus-ring-grow",primitive:"focus-ring",keyframes:"kui-focus-ring-grow"},{name:"validate-shake",primitive:"validate-shake",keyframes:"kui-validate-shake"},{name:"validate-check",primitive:"validate-check",keyframes:"kui-validate-check"},{name:"strength-meter",primitive:"strength-meter",requiresOwnSubtree:!0,phase:"state"},{name:"toggle-morph",primitive:"toggle-morph",requiresOwnSubtree:!0,phase:"state"},{name:"checkbox-draw",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"radio-fill",primitive:"radio-fill",requiresOwnSubtree:!0,phase:"state"},{name:"range-fill",primitive:"range-fill",phase:"state"},{name:"submit-to-spinner-to-check",primitive:"submit-flow",requiresOwnSubtree:!0,phase:"state"},{name:"step-progress",primitive:"step-progress",requiresOwnSubtree:!0,phase:"state"},{name:"carousel",primitive:"step-progress",params:{scope:"self"},phase:"state"}];function pc(e){return e.registerPrimitives(Wv).registerPresets(qv)}function Uv(e){let t=e[e.length-1];if(!t||e.length<2)return{vx:0,vy:0};let r=t.time-100,n=e.find(o=>o.time>=r)??e[0],i=(t.time-n.time)/1e3;return i<=0?{vx:0,vy:0}:{vx:(t.x-n.x)/i,vy:(t.y-n.y)/i}}function Kv(e,t){let{vx:r,vy:n}=e;return Math.abs(r)<t&&Math.abs(n)<t?null:Math.abs(r)>=Math.abs(n)?r>0?"right":"left":n>0?"down":"up"}function zv(e,t){return t==="x"?{...e,dy:0,vy:0}:t==="y"?{...e,dx:0,vx:0}:e}function he(e,t,r={},n=Yv()){let i=r.threshold??4,o=r.axis??"both",s=r.swipeVelocity??300,a=r.capturePointer??!0,c=r.longPressMs??0,u=[],l=null,p=!1,m=null,f=!1,d=!1,y=null,v=null,E=null;function P(x){return{x:x.clientX,y:x.clientY,time:n.now()}}function k(x){let W=l,{vx:ue,vy:ql}=Uv(u);return zv({dx:x.x-W.x,dy:x.y-W.y,vx:ue,vy:ql},o)}function w(){m!==null&&n.clearTimer(m),m=null}function _(x){l=P(x),u=[l],p=!1,f=!1,y=x.pointerId,d=a===!0&&N(x.pointerId),d||le(),c>0&&(m=n.setTimer(()=>{f=!0,t.onLongPress?.(l)},c))}function N(x){if(typeof e.setPointerCapture!="function")return!1;try{return e.setPointerCapture(x),!0}catch{return!1}}function Y(x){a==="drag"&&(d=N(x.pointerId),d&&Ae())}function le(){let x=e.ownerDocument;!x||E||(E=x,x.addEventListener("pointermove",Ce,{passive:!0}),x.addEventListener("pointerup",re,{passive:!0}),x.addEventListener("pointercancel",re,{passive:!0}))}function Ae(){let x=E;x&&(E=null,x.removeEventListener("pointermove",Ce),x.removeEventListener("pointerup",re),x.removeEventListener("pointercancel",re))}function Vn(x){return x===v?!1:(v=x,!0)}function Ce(x){if(!l||!Vn(x))return;let W=P(x);u.push(W),u.length>12&&u.shift();let ue=k(W);!p&&Math.hypot(ue.dx,ue.dy)<i||(p||(p=!0,w(),Y(x),t.onStart?.(l)),t.onMove?.(ue,W))}function Bl(x){d&&e.releasePointerCapture?.(x),d=!1,y=null}function Wl(x,W){if(p){t.onEnd?.(x,W);let ue=Kv(x,s);ue&&t.onSwipe?.(ue,x)}else f&&t.onEnd?.(x,W)}function re(x){if(w(),Ae(),Bl(x.pointerId),!l)return;let W=P(x);u.push(W),Wl(k(W),W),l=null,p=!1,f=!1,u=[]}function Fn(x){!d||x.pointerId!==y||(d=!1,re(x))}return e.addEventListener("pointerdown",_),e.addEventListener("pointermove",Ce,{passive:!0}),e.addEventListener("pointerup",re,{passive:!0}),e.addEventListener("pointercancel",re,{passive:!0}),e.addEventListener("lostpointercapture",Fn,{passive:!0}),()=>{w(),Ae(),e.removeEventListener("pointerdown",_),e.removeEventListener("pointermove",Ce),e.removeEventListener("pointerup",re),e.removeEventListener("pointercancel",re),e.removeEventListener("lostpointercapture",Fn)}}function Yv(){return{now:()=>typeof performance>"u"?Date.now():performance.now(),setTimer:(e,t)=>globalThis.setTimeout(e,t),clearTimer:e=>globalThis.clearTimeout(e)}}function mc(e,t,r=.55){if(t<=0)return 0;let n=Math.sign(e),i=Math.abs(e);return n*(1-1/(i/t/r+1))*t}var dc={stiffness:{type:"number",default:"180",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"24",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}},Xv="it is driven by pointer position and velocity, so it has no start moment and no authored curve";function pr(e,t,r,n){let i=Object.hasOwn(r,"duration")?["duration"]:[];return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:A(e,{honours:i,because:Xv},n)}}function gc(e){return{...Z,stiffness:e.num("stiffness",Z.stiffness),damping:e.num("damping",Z.damping),mass:e.num("mass",Z.mass)}}function yc(e){return{...ut(),warn:e.warn}}function xn(e,t,r){e.style.set("translate",`${t.toFixed(2)}px ${r.toFixed(2)}px`)}function Jv(e,t,r){let n=gc(t),i=t.num("bounds",0),o=t.is("return"),s=t.is("inertia"),a=t.num("resistance",.55),c=t.num("momentum",.2),u={x:0,y:0},l={x:0,y:0},p=yc(r),m={x:pe(n,y=>f({...u,x:y}),p),y:pe(n,y=>f({...u,y}),p)};function f(y){u.x=y.x,u.y=y.y,xn(r,u.x,u.y)}let d=he(e,{onStart(){m.x.stop(),m.y.stop(),l.x=u.x,l.y=u.y,e.setAttribute("data-kui-dragging","true")},onMove(y){f({x:fc(l.x+y.dx,i,a),y:fc(l.y+y.dy,i,a)})},onEnd(y){e.setAttribute("data-kui-dragging","false"),Zv(m,u,y,{returns:o,inertia:s,momentum:c})}},{axis:t.text("axis","both")});return r.invalidate(),()=>{d(),m.x.stop(),m.y.stop(),e.removeAttribute("data-kui-dragging")}}function fc(e,t,r){return t>0?mc(e,t,r):e}function Zv(e,t,r,n){if(e.x.set(t.x,n.inertia?r.vx:0),e.y.set(t.y,n.inertia?r.vy:0),n.returns){e.x.to(0),e.y.to(0);return}let i=n.inertia?n.momentum:0;e.x.to(t.x+r.vx*i),e.y.to(t.y+r.vy*i)}function Qv(e,t){let r=he(e,{onSwipe(n){e.setAttribute("data-kui-swipe",n)}},{axis:t.text("axis","both"),swipeVelocity:t.num("velocity",300),capturePointer:"drag"});return()=>{r(),e.removeAttribute("data-kui-swipe")}}function eb(e,t){let r=he(e,{onLongPress(){e.setAttribute("data-kui-pressed","true")},onEnd(){e.setAttribute("data-kui-pressed","false")}},{longPressMs:te(t,500)});return()=>{r(),e.removeAttribute("data-kui-pressed")}}function tb(e,t,r){let n=e,i=t.num("radius",120),o=t.num("strength",.35),s=gc(t),a=yc(r),c={x:0,y:0},u=pe(s,m=>{c.x=m,xn(r,c.x,c.y)},a),l=pe(s,m=>{c.y=m,xn(r,c.x,c.y)},a),p=m=>{let f=n.getBoundingClientRect(),d=m.clientX-(f.left+f.width/2),y=m.clientY-(f.top+f.height/2),v=Math.hypot(d,y)<i;u.to(v?d*o:0),l.to(v?y*o:0)};return r.win.addEventListener("pointermove",p,{passive:!0}),()=>{r.win.removeEventListener("pointermove",p),u.stop(),l.stop()}}var hc=[pr("draggable",["translate"],{...dc,axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},bounds:{type:"number",default:"0",cssProperty:"--kui-bounds"},return:{type:"keyword",default:"false",cssProperty:"--kui-return",keywords:["true","false"]},inertia:{type:"keyword",default:"false",cssProperty:"--kui-inertia",keywords:["true","false"]},resistance:{type:"number",default:"0.55",cssProperty:"--kui-resistance",finite:!0,minimum:0,maximum:1},momentum:{type:"number",default:"0.2",cssProperty:"--kui-momentum",finite:!0}},b(Jv)),pr("swipeable",["state"],{axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},velocity:{type:"number",default:"300",cssProperty:"--kui-velocity"}},b(Qv)),pr("pressable",["state"],{duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"}},b(eb)),pr("magnetic",["translate"],{...dc,radius:{type:"number",default:"120",cssProperty:"--kui-radius"},strength:{type:"number",default:"0.35",cssProperty:"--kui-strength"}},b(tb))];var rb=[{name:"drag",primitive:"draggable",phase:"state"},{name:"drag-x",primitive:"draggable",params:{axis:"x"},phase:"state"},{name:"drag-y",primitive:"draggable",params:{axis:"y"},phase:"state"},{name:"drag-inertia",primitive:"draggable",params:{inertia:"true"},phase:"state"},{name:"throwable",primitive:"draggable",params:{inertia:"true",damping:"18"},phase:"state"},{name:"elastic-pull",primitive:"draggable",params:{return:"true",bounds:"80"},phase:"state"},{name:"rubber-band",primitive:"draggable",params:{return:"true",bounds:"120"},phase:"state"},{name:"snap-back",primitive:"draggable",params:{return:"true",stiffness:"260"},phase:"state"},{name:"swipe",primitive:"swipeable",phase:"state"},{name:"swipe-x",primitive:"swipeable",params:{axis:"x"},phase:"state"},{name:"long-press",primitive:"pressable",phase:"state"},{name:"magnetic",primitive:"magnetic",phase:"state"},{name:"magnetic-snap",primitive:"magnetic",params:{strength:"0.6",radius:"160"},phase:"state"}];function vc(e){return e.registerPrimitives(hc).registerPresets(rb)}var bc=.5;function nb(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}function ib(e,t,r){let n=e.animate;return typeof n=="function"?n.call(e,t,r):null}function wn(e={}){let t=e.measure??nb,r=e.animate??ib;return{snapshot(n){let i=new Map;for(let o of n)i.set(o,t(o));return{boxes:i}},play(n,i,o={}){let s=ob(n,i,t,o.scale??!1);return s.length===0?{moved:[],finished:Promise.resolve(),cancel:()=>{}}:ab(s,r,o)}}}function ob(e,t,r,n){let i=[];for(let o of t){let s=e.boxes.get(o);if(!s)continue;let a=r(o),c=sb(o,s,a,n);c&&i.push(c)}return i}function sb(e,t,r,n){let i=t.x-r.x,o=t.y-r.y,s=n&&r.width>0?t.width/r.width:1,a=n&&r.height>0?t.height/r.height:1;return Math.abs(i)<bc&&Math.abs(o)<bc&&Math.abs(s-1)<.001&&Math.abs(a-1)<.001?null:{el:e,dx:i,dy:o,sx:s,sy:a}}function ab(e,t,r){let n=r.durationMs??400,i=r.delayMs??0,o=r.easing??"cubic-bezier(0.2, 0, 0, 1)",s=[];for(let{el:c,dx:u,dy:l,sx:p,sy:m}of e){let f=t(c,[{translate:`${u}px ${l}px`,scale:`${p} ${m}`},{translate:"0px 0px",scale:"1 1"}],{duration:n,delay:i,easing:o,fill:i>0?"backwards":"none"});if(f){let d=Pe(c);d!==1&&(f.playbackRate=d),s.push(f)}}let a=Promise.all(s.map(c=>c.finished.catch(()=>{}))).then(()=>{});return{moved:e.map(c=>c.el),finished:a,cancel(){for(let c of s)c.cancel()}}}function Tn(){let e=new Set;return{track(t){e.add(t),t.finished.then(()=>e.delete(t))},cancelAll(){for(let t of e)t.cancel();e.clear()}}}function Ec(e,t,r,n){let i=t.snapshot(e.children),o=Tn(),s=n(()=>{o.track(t.play(i,e.children,r)),i=t.snapshot(e.children)});return()=>{s(),o.cancelAll()}}function Sc(e){return t=>{if(typeof MutationObserver>"u")return()=>{};let r=new MutationObserver(t);return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["hidden"]}),()=>r.disconnect()}}var cb={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}};function An(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...cb,...r},supportedTimelines:["time"],supportedActivations:["load","manual","click"],defaultActivation:"load",perfClass:"layout",reducedMotion:"disable",prepare:n}}function lb(e,t,r){let n=wn();return Ec(e,n,{durationMs:te(t,400),delayMs:_e(t),easing:ft(Ft(t),e,r.warn),scale:t.is("scale")},Sc(e))}function ub(e,t,r){let n=e;r.style.set("overflow","hidden"),r.style.claim("height");let i=te(t,400),o=_e(t),s=ft(Ft(t),e,r.warn),a=null,c=n.getBoundingClientRect().height,u=Pc(n,t.text("attribute"),()=>{a?.cancel();let l=pb(n,c);c=l.to,a=mb(n,l,{duration:i,delay:o,easing:s})});return r.invalidate(),()=>{u(),a?.cancel()}}function pb(e,t){e.style.removeProperty("height");let r=e.getBoundingClientRect().height;return{from:t,to:r}}function mb(e,t,r){let n=e.animate;if(typeof n!="function")return null;let i=n.call(e,[{height:`${t.from}px`},{height:`${t.to}px`}],{...r,fill:r.delay>0?"backwards":"none"}),o=Pe(e);return o!==1&&(i.playbackRate=o),i}function db(e,t,r){let n=e,i=wn(),o=ft(Ft(t),e,r.warn),s=t.text("follow"),a=Tn(),c=0,u=null,l=()=>{if(!s)return;let y=r.doc.querySelector(s);if(!(y instanceof Element))return;let v=i.snapshot([n]),E=y.getBoundingClientRect(),P=n.getBoundingClientRect(),k=E.left-P.left+c;c=k,r.style.set("width",`${E.width}px`),r.style.set("translate",`${k}px 0`),a.track(i.play(v,[n],{durationMs:te(t,400),delayMs:_e(t),easing:o,scale:!0})),u=y};l();let p=()=>{let y=u;l(),y!==u&&(y&&f.unobserve(y),u&&f.observe(u))},m=Ut(r.win,p),f=je(r.win,m.request);f.observe(e.parentElement??e),u&&f.observe(u);let d=Pc(r.doc.documentElement,t.text("attribute"),p);return()=>{d(),f.disconnect(),m.cancel(),a.cancelAll()}}function Pc(e,t,r){if(typeof MutationObserver>"u"||!t)return()=>{};let n=new MutationObserver(r);return n.observe(e,{subtree:!0,attributes:!0,attributeFilter:[t]}),()=>n.disconnect()}var kc=[An("flip-container",["translate","scale"],{scale:{type:"keyword",default:"false",cssProperty:"--kui-flip-scale",keywords:["true","false"]}},b(lb)),An("auto-height",["layout"],{attribute:{type:"text",default:"data-open",cssProperty:"--kui-attribute"}},b(ub)),An("flip-indicator",["translate","layout"],{follow:{type:"text",default:"",cssProperty:"--kui-follow"},attribute:{type:"text",default:"aria-selected",cssProperty:"--kui-attribute"}},b(db))];var xc=[{name:"flip-reorder",primitive:"flip-container"},{name:"flip-filter",primitive:"flip-container"},{name:"flip-sort",primitive:"flip-container"},{name:"flip-shuffle",primitive:"flip-container"},{name:"grid-to-list",primitive:"flip-container",params:{scale:"true"}},{name:"masonry-reflow",primitive:"flip-container"},{name:"expand-to-modal",primitive:"flip-container",params:{scale:"true",duration:"500ms"}},{name:"accordion-height",primitive:"auto-height"},{name:"tab-indicator-slide",primitive:"flip-indicator",params:{duration:"300ms"},phase:"state"}];function wc(e){return e.registerPrimitives(kc).registerPresets(xc)}var fb="offset",gb=["time","view","scroll","pin"],yb={path:{type:"path",default:"M 0 0 L 120 0",cssProperty:"--kui-motion-path"},rotate:{type:"angle|keyword",keywords:["auto","reverse"],default:"0deg",cssProperty:"--kui-motion-rotate"},anchor:{type:"keyword",default:"0 0",cssProperty:"--kui-motion-anchor",keywords:["auto","center","top","bottom","left","right","0 0","top left","top right","bottom left","bottom right"]},from:{type:"percentage",default:"0%",cssProperty:"--kui-motion-from"},to:{type:"percentage",default:"100%",cssProperty:"--kui-motion-to"}},hb=[h("motion-path",[fb],{timelines:gb,parameters:yb})],vb="kui-motion-travel",ot=(e,t,r)=>({name:e,primitive:"motion-path",keyframes:vb,params:{path:t,...r}}),bb=[ot("motion-path","M 0 0 L 120 0",{duration:"1200ms"}),ot("path-arc","M 0 0 C 40 -70 120 -70 160 0",{duration:"1200ms",ease:"ease-in-out"}),ot("path-wave","M 0 0 C 45 -45 105 45 150 0",{duration:"1600ms",ease:"ease-in-out"}),ot("path-loop","M 0 0 C 0 -70 110 -70 110 0 C 110 70 0 70 0 0",{duration:"2400ms",ease:"linear"}),{...ot("path-swoop","M -120 70 C -70 70 -25 25 0 0",{duration:"900ms",ease:"expo-out"}),cloak:!0}];function Tc(e){return e.registerPrimitives(hb).registerPresets(bb)}var Eb=[h("nav-reveal",[g.opacity,g.translate]),h("menu-fullscreen",[g.clip,g.opacity]),h("panel-reveal",[g.opacity,g.translate]),h("drawer-slide",[g.translate],{defaultActivation:"click"})],Sb=[{name:"menu-stagger-open",primitive:"nav-reveal",keyframes:"kui-nav-reveal",phase:"entrance"},{name:"menu-fullscreen",primitive:"menu-fullscreen",keyframes:"kui-menu-fullscreen"},{name:"dropdown-open",primitive:"panel-reveal",keyframes:"kui-panel-reveal",phase:"entrance"},{name:"mega-menu-drop",primitive:"panel-reveal",keyframes:"kui-panel-reveal",params:{duration:"550ms"},phase:"entrance"},{name:"drawer-slide",primitive:"drawer-slide",keyframes:"kui-drawer-slide-right",phase:"entrance"}],Pb="it reacts to scroll position rather than a clock, so style the state attribute it publishes and put your timing there";function Cn(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:A(e,{because:Pb},n)}}function Rn(e,t,r){return t.scheduler.subscribe(t.rootFor(e),n=>r(n.metrics.scrollTop))}function kb(e,t,r){let n=t.num("offset",120),i=T(e),o=Rn(e,r,s=>{let a=n>0?Math.min(1,Math.max(0,s/n)):1;r.style.set("--kui-shrink",a.toFixed(4)),i.set("data-kui-shrunk",String(a>=1))});return()=>{o(),i.restore()}}function xb(e,t,r){let n=t.num("offset",8),i=0,o=T(e),s=Rn(e,r,a=>{let c=a-i;Math.abs(c)<n||(o.set("data-kui-hidden",String(c>0&&a>n)),i=a)});return()=>{s(),o.restore()}}function wb(e,t,r){let n=t.num("offset",400),i=T(e),o=Rn(e,r,s=>{i.set("data-kui-visible",String(s>n))});return()=>{o(),i.restore()}}var Tb=[Cn("header-shrink",["layout","shadow"],{offset:{type:"number",default:"120",cssProperty:"--kui-offset"}},b(kb)),Cn("header-hide-on-scroll",[g.translate],{offset:{type:"number",default:"8",cssProperty:"--kui-offset"}},b(xb)),Cn("back-to-top-fade",[g.opacity,g.translate],{offset:{type:"number",default:"400",cssProperty:"--kui-offset"}},b(wb))],Ab=[{property:"padding-block",duration:"200ms",easing:"ease-out"},{property:"font-size",duration:"200ms",easing:"ease-out"},{property:"box-shadow",duration:"200ms",easing:"ease-out"}],Cb=[{name:"header-shrink",primitive:"header-shrink",transitions:Ab},{name:"header-hide-on-scroll",primitive:"header-hide-on-scroll",transitions:[{property:"translate",duration:"220ms",easing:"ease-out"}]},{name:"back-to-top-fade",primitive:"back-to-top-fade",transitions:[{property:"opacity",duration:"200ms",easing:"ease-out"},{property:"translate",duration:"200ms",easing:"ease-out"}]}],Rb=[...Eb,...Tb],Mb=[...Sb,...Cb];function Ac(e){return e.registerPrimitives(Rb).registerPresets(Mb)}var Mn=e=>{let t=e.getBoundingClientRect();return{top:t.top,height:t.height}},In=e=>{let t=e.ownerDocument?.defaultView;return t?t.getComputedStyle(e).position:"static"},Ib=e=>{let t=e.ownerDocument?.defaultView;if(!t)return 0;let r=Number.parseFloat(t.getComputedStyle(e).top);return Number.isFinite(r)?r:0};function Lb(e,t){let r=null;for(let n=e;n;n=n.parentElement)t(n)==="sticky"&&(r=n);return r?.parentElement??e}function Ob(e,t,r,n){let i=Lb(e,n);return i===e?t.top:r(i).top}function ce(e,t,r,n){let i=r.measure??Mn,o=r.positionOf??In,s=r.offsetOf??Ib,a=0,c=0,u=Se(()=>{let f=i(e),d=r.contentAnchor?i(r.contentAnchor):null,y=d?d.top-f.height:Ob(e,f,i,o),v=r.stickyEl?s(r.stickyEl):0;return{contentTop:y-v-c+a,height:f.height,anchorHeight:d?.height??0}}),l=r.distance??"";l!==""&&!_b(l)&&!r.contentAnchor&&Db(t,l);let m=l!==""&&$b(l);return t.scheduler.subscribe(t.rootFor(e),f=>{a=f.metrics.scrollTop,c=f.metrics.viewportTop;let d=u.read(f.epoch),y=m&&r.contentAnchor?d.anchorHeight:jb(r.distance,{top:0,height:d.height},f);n(Hb(d.contentTop-a,y),f)})}var Ln={viewportWidth:1,viewportHeight:1,percentBasis:1,fontSize:16,rootFontSize:16},Nb={...Ln,percentBasis:2};function _b(e){return Number.isFinite(ne(e,Ln,Number.NaN))}function $b(e){let t=ne(e,Ln,Number.NaN);return Number.isFinite(t)?t!==ne(e,Nb,Number.NaN):!0}function Db(e,t){e.warn(`distance "${t}" is a CSS expression this effect cannot measure, so progress runs over the element's own height instead \u2014 author a plain length like "200vh", or turn on spacer:true so the distance can be measured from the box the library reserves.`)}function jb(e,t,r){if(!e)return t.height;let n={viewportWidth:r.metrics.viewportWidth,viewportHeight:r.metrics.viewportHeight,percentBasis:t.height,fontSize:16,rootFontSize:16};return ne(e,n,t.height)}function Hb(e,t){return t<=0?0:Os(-e/t)}function Gb(e,t){return ne(e,{viewportWidth:t.metrics.viewportWidth,viewportHeight:t.metrics.viewportHeight,percentBasis:0,fontSize:16,rootFontSize:16},0)}function Vb(e,t,r){let n=-1;for(let i=0;i<e.length;i++)e[i]-t-r<=0&&(n=i);return n}function mr(e){let{el:t,sections:r,ctx:n,onChange:i}=e,o=e.offsetTop??"0px",s=0,a=0,c=Se(()=>r.map(p=>Mn(p).top-a+s)),u=-1,l=n.scheduler.subscribe(n.rootFor(t),p=>{s=p.metrics.scrollTop,a=p.metrics.viewportTop;let m=c.read(p.epoch),f=Gb(o,p),d=Vb(m,s,f);if(d===u)return;let y=u;u=d,i(d,y)});return Object.assign(()=>l(),{release:()=>l()})}function Cc(e,t,r){let n=t.text("sections");if(n){let i=L(n,r,"scroll-spy sections");return Ub(e,t,r,i)}return Fb(e,t,r)}function Fb(e,t,r){t.text("offset-top","0px")!=="0px"&&r.warn('scroll-spy "offset-top" has no effect without sections: and is ignored here');let n=L(t.text("target"),r,"scroll-spy"),i=$(t,"page"),o=new Map,s=T(e),a,c=ce(e,r,{distance:t.text("distance")},u=>{let l=u>0&&u<1;l!==a&&(a=l,s.set("data-kui-active",String(l)),n&&Bb(I(e,r,n,i),l,o))});return C(()=>{c(),s.restore();for(let u of o.values())u.restore()})}function Bb(e,t,r){for(let n of e){let i=r.get(n);i||(i=T(n),r.set(n,i)),i.set("data-kui-active",String(t))}}function Wb(e){let t=e.getAttribute("href")??"",r=t.indexOf("#");return r===-1?"":t.slice(r)}function qb(e,t,r,n){let i=new Map;for(let a of t){let c=Wb(a);c&&i.set(c,a)}let o=new Set,s=e.map(a=>{if(!a.id)return r.warn(`scroll-spy: a section matched by sections:"${n}" has no id and cannot be paired with a link`),{section:a,link:null};let c=`#${a.id}`,u=i.get(c)??null;return u&&o.add(c),{section:a,link:u}});for(let[a,c]of i)o.has(a)||r.warn(`scroll-spy: link "${c.getAttribute("href")}" matches no section id in sections:"${n}"`);return s}function Ub(e,t,r,n){t.text("distance","100vh")!=="100vh"&&r.warn('scroll-spy "distance" has no effect with sections: \u2014 each section measures its own height');let i=L(t.text("target"),r,"scroll-spy target"),o=$(t,"self"),s=n?[...e.querySelectorAll(n)]:[];n&&s.length===0&&r.warn(`scroll-spy sections:"${n}" matched nothing inside this element`);let a=i?I(e,r,i,o):[],c=qb(s,a,r,n),u=c.map(d=>T(d.section)),l=new Map;for(let{link:d}of c)d&&!l.has(d)&&l.set(d,T(d));let p=t.text("offset-top","0px");function m(d,y){let v=c[d];u[d].set("data-kui-active",String(y)),v.link&&l.get(v.link).set("data-kui-active",String(y))}let f=mr({el:e,sections:s,ctx:r,offsetTop:p,onChange:(d,y)=>{y!==-1&&m(y,!1),d!==-1&&m(d,!0)}});return C(()=>{f();for(let d of u)d.restore();for(let d of l.values())d.restore()})}var He={distance:{type:"length",default:"100vh",cssProperty:"--kui-distance"}},On={"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"},spacer:{type:"keyword",default:"false",cssProperty:"--kui-spacer",keywords:["true","false"]}};var Kb="--kui-progress";function Rc(e,t,r){r.style.set("position","sticky"),r.style.set("top",t.text("offset-top","var(--kui-pin-offset, 0px)"));let n=t.is("spacer")?Mc(e,t.text("distance"),r):null;return{spacer:n?.spacer??null,dispose:()=>n?.remove()}}function Te(e){let{id:t,channels:r,parameters:n,prepare:i,perfClass:o="compositor"}=e;return{id:t,renderer:"javascript",channels:r,parameters:n,supportedTimelines:ie,supportedActivations:["manual","load","enter"],defaultActivation:"load",perfClass:o,reducedMotion:"disable",prepare:A(t,{because:"it is driven by scroll position rather than a clock, so it has no start moment and no fixed span"},i)}}function Ge(e,t){e.style.set(Kb,t.toFixed(4))}function zb(e,t,r){let n=e,{spacer:i,dispose:o}=Rc(n,t,r),s=i?n:n.parentElement??e,a=ce(s,r,{distance:t.text("distance"),contentAnchor:i??void 0,stickyEl:n},c=>{Ge(r,c);let u=c>0&&c<1&&In(n)==="sticky";e.setAttribute("data-kui-pinned",u?"true":"false")});return C(()=>{a(),o(),e.removeAttribute("data-kui-pinned")})}function Mc(e,t,r){let n=r.doc.createElement("div");return n.setAttribute("data-kui-spacer",""),n.setAttribute("aria-hidden","true"),n.style.height=t,n.style.pointerEvents="none",e.after(n),r.invalidate(),{spacer:n,remove:()=>{n.remove(),r.invalidate()}}}function Yb(e,t,r){let n=Math.max(0,Math.round(t.num("steps",0))),i=L(t.text("target"),r,"scroll-progress"),o=$(t,"page"),s=ae(()=>I(e,r,i,o),l=>r.warn(`scroll-progress ${l}`)),a=T(e),c,u=ce(e,r,{distance:t.text("distance")},l=>{if(Ge(r,l),n===0)return;let p=Math.min(n-1,Math.floor(l*n));p!==c&&(c=p,a.set("data-kui-step",String(p)),r.style.set("--kui-step",String(p)),i&&s.mark(p))});return C(()=>{u(),a.restore(),s.restore()})}function Xb(e,t,r){let n=L(t.text("target"),r,"horizontal-track");if(!n)return Jb(e,t,r);let i=$(t,"self"),o=I(e,r,n,i),s=o[0];return s?(o.length>1&&r.warn(`horizontal-track target "${n}" matched ${o.length} elements; only the first is used`),Zb(e,s,t,r)):(r.warn(`horizontal-track target "${n}" matched nothing inside this element`),()=>{})}function Jb(e,t,r){let n=t.text("travel","auto"),i=Se(()=>Ic(e,n,e.ownerDocument));return C(ce(e,r,{distance:t.text("distance")},(o,s)=>{r.style.set("translate",`${-o*i.read(s.epoch)}px 0`),Ge(r,o)}))}function Zb(e,t,r,n){let i=r.text("offset-top","var(--kui-pin-offset, 0px)");n.style.set("position","sticky"),n.style.set("top",i),n.style.set("height",`calc(100vh - ${i})`),n.style.set("overflow","hidden"),n.style.set("display","grid"),n.style.set("align-content","center");let{spacer:o,remove:s}=Mc(e,r.text("distance"),n),a=O(t);a.set("display","flex"),a.set("width","max-content");let c=r.text("travel","auto"),u=Se(()=>Ic(t,c,t.ownerDocument)),l=ce(e,n,{distance:r.text("distance"),contentAnchor:o,stickyEl:e},(p,m)=>{a.set("translate",`${-p*u.read(m.epoch)}px 0`),Ge(n,p)});return C(()=>{l(),a.restore(),s()})}function Ic(e,t,r){if(t&&t!=="auto")return ne(t,ao,0);let n=e.scrollWidth-e.clientWidth;if(n>0)return n;let i=e.parentElement?.clientWidth||r.documentElement.clientWidth;return Math.max(0,e.scrollWidth-i)}function Qb(e,t,r){let n=t.is("spacer")?Rc(e,t,r):null,i=n?.spacer??void 0,o=n?e:void 0,s=L(t.text("target"),r,"media-scrub"),a=$(t,"page"),c=s?eE(e,t,r,{selector:s,scope:a,contentAnchor:i,stickyEl:o}):tE(e,t,r,{contentAnchor:i,stickyEl:o});return C(()=>{c(),n?.dispose()})}function eE(e,t,r,n){let{selector:i,scope:o,contentAnchor:s,stickyEl:a}=n,c=ae(()=>I(e,r,i,o),m=>r.warn(`media-scrub ${m}`)),u=Math.max(1,I(e,r,i,o).length),l,p=ce(e,r,{distance:t.text("distance"),contentAnchor:s,stickyEl:a},m=>{Ge(r,m);let f=Math.min(u-1,Math.floor(m*u));f!==l&&(l=f,c.mark(f))});return c.mark(0),()=>{p(),c.restore()}}function tE(e,t,r,n){let{contentAnchor:i,stickyEl:o}=n,s=Math.max(1,Math.round(t.num("frames",1))),a=rE(t.text("src"),r),c=e,u=-1;return ce(e,r,{distance:t.text("distance"),contentAnchor:i,stickyEl:o},p=>{Ge(r,p);let m=Math.min(s-1,Math.floor(p*s));m!==u&&(u=m,nE(c,{index:m,frames:s,progress:p,pattern:a}))})}function rE(e,t){return!e||io(e)?e:(t.warn(`media-scrub "src" must be a same-origin path, got "${e}" \u2014 ignoring`),"")}function nE(e,t){let{index:r,frames:n,progress:i,pattern:o}=t;if(e.tagName==="VIDEO"){let s=Number.isFinite(e.duration)?e.duration:0;s>0&&(e.currentTime=s*i);return}e.tagName==="IMG"&&o&&(e.src=o.replace("{i}",String(r).padStart(String(n).length,"0")))}function iE(e,t,r){return r.style.set("scroll-behavior",t.text("behavior","smooth")),()=>{}}function oE(e,t,r){let n=t.is("axis","x")?"x":"y";r.style.set("scroll-snap-type",`${n} ${t.text("strictness","mandatory")}`);let i=L(t.text("target"),r,"scroll-snap"),o=$(t,"self"),s=i?I(e,r,i,o):[...e.children];i&&s.length===0&&r.warn(`scroll-snap target "${i}" matched nothing inside this element`),i&&sE(n,r);let a=s.map(c=>O(c));for(let c of a)c.set("scroll-snap-align",t.text("align","start"));return()=>{for(let c of a)c.restore()}}function sE(e,t){t.style.set(e==="x"?"overflow-x":"overflow-y","auto"),e==="x"&&t.style.set("display","flex")}var Lc=[Te({id:"pin",channels:["layout","progress"],parameters:{...He,...On},prepare:b(zb),perfClass:"layout"}),Te({id:"scroll-progress",channels:["progress"],parameters:{...He,steps:{type:"number",default:"0",cssProperty:"--kui-steps"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j},prepare:b(Yb)}),Te({id:"horizontal-track",channels:["translate","progress"],parameters:{...He,travel:{type:"text",default:"auto",cssProperty:"--kui-travel"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j,"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"}},prepare:b(Xb)}),Te({id:"media-scrub",channels:["media","progress"],parameters:{...He,...On,frames:{type:"number",default:"1",cssProperty:"--kui-frames"},src:{type:"text",default:"",cssProperty:"--kui-src"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j},prepare:b(Qb),perfClass:"paint"}),Te({id:"scroll-spy",channels:["state"],parameters:{...He,target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j,sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"0px",cssProperty:"--kui-offset-top"}},prepare:b(Cc)}),Te({id:"smooth-scroll",channels:["scroll-behavior"],parameters:{behavior:{type:"keyword",default:"smooth",cssProperty:"--kui-scroll-behavior",keywords:["smooth","auto"]}},prepare:b(iE),perfClass:"layout"}),Te({id:"scroll-snap",channels:["layout"],parameters:{axis:{type:"keyword",default:"y",cssProperty:"--kui-axis",keywords:["x","y"]},strictness:{type:"keyword",default:"mandatory",cssProperty:"--kui-snap-strictness",keywords:["mandatory","proximity"]},align:{type:"keyword",default:"start",cssProperty:"--kui-snap-align",keywords:["start","center","end"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j},prepare:b(oE),perfClass:"layout"})];var Oc=[{name:"pin-section",primitive:"pin",params:{distance:"100vh",spacer:"true"},phase:"idle"},{name:"pin-until",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"pin-spacer",primitive:"pin",params:{spacer:"true"},phase:"idle"},{name:"stacking-cards",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"scroll-progress",primitive:"scroll-progress",phase:"idle"},{name:"scrollytelling-step",primitive:"scroll-progress",params:{steps:"4"},phase:"idle"},{name:"horizontal-scroll",primitive:"horizontal-track",phase:"idle"},{name:"sequence-scrub",primitive:"media-scrub",params:{spacer:"true"},requiresOwnSubtree:!0,phase:"idle"},{name:"video-scrub",primitive:"media-scrub",requiresOwnSubtree:!0,phase:"idle"},{name:"scroll-spy",primitive:"scroll-spy",phase:"idle"},{name:"smooth-scroll-to",primitive:"smooth-scroll",phase:"idle"},{name:"scroll-snap-x",primitive:"scroll-snap",params:{axis:"x"},phase:"idle"},{name:"scroll-snap-y",primitive:"scroll-snap",params:{axis:"y"},phase:"idle"}];function Nc(e){return e.registerPrimitives(Lc).registerPresets(Oc)}var aE=/([mlhvcz])|(-?(?:\d+(?:\.\d+)?|\.\d+))/gi,cE=/[AaSsQqTt]/;function lE(e,t,r){let n=e[t];r.command=n,n.toLowerCase()==="z"&&mE(r);let i=Gc[n.toLowerCase()],o=e[t+1];if(i>0&&(o===void 0||/[a-z]/i.test(o)))return Nn(n,i,"0")}function uE(e,t){let r=0;for(;r<e.length;){let n=e[r];if(/[a-z]/i.test(n)){let o=lE(e,r,t);if(o!==void 0)return o;r++;continue}if(!t.command)return"path must start with a command letter";let i=dE(e,r,t);if("reason"in i)return i.reason;r=i.index}}function _c(e){if(cE.test(e))return{segments:[],subpaths:[],reason:"arc and shorthand commands (A S Q T) are not supported"};let t=[...e.matchAll(aE)].map(i=>i[1]??i[2]),r={subpaths:[],open:void 0,current:{x:0,y:0},start:{x:0,y:0},command:""},n=uE(t,r);return n!==void 0?{segments:[],subpaths:[],reason:n}:r.subpaths.length===0?{segments:[],subpaths:[],reason:"no drawable segments"}:{segments:r.subpaths.flatMap(i=>i.segments),subpaths:r.subpaths}}function pE(e,t){e.open||(e.open={segments:[],closed:!1},e.subpaths.push(e.open)),e.open.segments.push(t)}var Gc={m:2,l:2,h:1,v:1,c:6,z:0};function mE(e){let{current:t,start:r,open:n}=e;n&&((Math.abs(t.x-r.x)>=1e-6||Math.abs(t.y-r.y)>=1e-6)&&n.segments.push(Vc(t,r)),n.closed=!0,e.current={...r},e.open=void 0)}function Nn(e,t,r){return`'${e}' expects ${t} number${t===1?"":"s"}, found ${r}`}function dE(e,t,r){let n=r.command.toLowerCase(),i=r.command===n,o=Gc[n];if(o===0)return{reason:`'${r.command}' does not take arguments`};let s=e.slice(t,t+o).map(Number);if(s.length<o)return{reason:Nn(r.command,o,String(s.length))};let a=s.findIndex(Number.isNaN);if(a!==-1)return{reason:Nn(r.command,o,`the command letter '${e[t+a]}'`)};let c=fE(n,s,r.current,i);return n==="m"?(r.current=c,r.start=c,r.open=void 0,r.command=i?"l":"L",{index:t+o}):(pE(r,gE({key:n,args:s,from:r.current,relative:i},c)),r.current=c,{index:t+o})}function fE(e,t,r,n){let i=n?r:{x:0,y:0};return e==="h"?{x:i.x+t[0],y:r.y}:e==="v"?{x:r.x,y:i.y+t[0]}:e==="c"?{x:i.x+t[4],y:i.y+t[5]}:{x:i.x+t[0],y:i.y+t[1]}}function gE(e,t){let{key:r,args:n,from:i,relative:o}=e;if(r!=="c")return Vc(i,t);let s=o?i:{x:0,y:0};return{from:i,c1:{x:s.x+n[0],y:s.y+n[1]},c2:{x:s.x+n[2],y:s.y+n[3]},to:t}}function Vc(e,t){return{from:e,c1:J(e,t,1/3),c2:J(e,t,2/3),to:t}}function $c(e,t,r){return e+(t-e)*r}function J(e,t,r){return{x:$c(e.x,t.x,r),y:$c(e.y,t.y,r)}}function yE(e,t){let r=J(e.from,e.c1,t),n=J(e.c1,e.c2,t),i=J(e.c2,e.to,t),o=J(r,n,t),s=J(n,i,t),a=J(o,s,t);return[{from:e.from,c1:r,c2:o,to:a},{from:a,c1:s,c2:i,to:e.to}]}function Dc(e,t){let r=[...e];for(;r.length<t&&r.length>0;){let n=0;for(let s=1;s<r.length;s++)jc(r[s])>jc(r[n])&&(n=s);let[i,o]=yE(r[n],.5);r.splice(n,1,i,o)}return r}function jc(e){return Math.hypot(e.to.x-e.from.x,e.to.y-e.from.y)}function ve(e){return Math.round(e*100)/100}function hE(e){let t=[];for(let r of e){let n=r.segments[0];t.push(`M${ve(n.from.x)},${ve(n.from.y)}`);for(let i of r.segments)t.push(`C${ve(i.c1.x)},${ve(i.c1.y)} ${ve(i.c2.x)},${ve(i.c2.y)} ${ve(i.to.x)},${ve(i.to.y)}`);r.closed&&t.push("Z")}return t.join(" ")}function vE(e){let t=0,r=0;for(let n of e.segments)t+=n.from.x,r+=n.from.y;return{x:t/e.segments.length,y:r/e.segments.length}}function Hc(e){let t=vE(e);return{segments:e.segments.map(()=>({from:{...t},c1:{...t},c2:{...t},to:{...t}})),closed:e.closed}}function bE(e,t){let r=Math.max(e.length,t.length),n=[],i=[];for(let o=0;o<r;o++){let s=e[o]??Hc(t[o]),a=t[o]??Hc(e[o]),c=Math.max(s.segments.length,a.segments.length),u=s.closed&&a.closed;n.push({segments:Dc(s.segments,c),closed:u}),i.push({segments:Dc(a.segments,c),closed:u})}return{from:n,to:i}}function Fc(e,t){let r=_c(e),n=_c(t);if(r.reason)return{reason:`start path: ${r.reason}`};if(n.reason)return{reason:`end path: ${n.reason}`};let{from:i,to:o}=bE(r.subpaths,n.subpaths);return{morph:{segmentCount:i.reduce((a,c)=>a+c.segments.length,0),at(a){let c=Math.min(1,Math.max(0,a));return hE(i.map((u,l)=>({segments:u.segments.map((p,m)=>EE(p,o[l].segments[m],c)),closed:u.closed})))}}}}function EE(e,t,r){return{from:J(e.from,t.from,r),c1:J(e.c1,t.c1,r),c2:J(e.c2,t.c2,r),to:J(e.to,t.to,r)}}var SE="line, rect, path, polyline, circle";function PE(e){let t=Array.from(e.children),r=t.length===1?t[0]:void 0;return r&&r.tagName.toLowerCase()==="svg"?Array.from(r.querySelectorAll(SE)):t.filter(n=>n.textContent.trim()==="")}function Bc(e){return(t,r,n)=>{if(!t.querySelector(".kui-bar")){let i=PE(t);if(i.length>0){let o=i.map(s=>{let a=T(s);return a.set(S.part,"bar"),a});n.signal.addEventListener("abort",()=>{for(let s of o)s.restore()},{once:!0})}}return e(t,r,n)}}function kE(e,t,r){let n=e,i=t.text("from")||n.getAttribute("d")||"",{morph:o,reason:s}=Fc(i,t.text("to"));if(!o)return r.warn(`cannot morph: ${s}`),()=>{};let a=te(t,300),c=Qt(t.timing.easing??t.text("ease","linear"),r.warn),u=t.timing.delayMs??t.ms("delay",0),l=0,p=!1,m=v=>{cancelAnimationFrame(l);let E=performance.now(),P=f,k=v===1?u:0,w=_=>{if(p)return;let N=_-E-k;if(N<0){l=requestAnimationFrame(w);return}let Y=a>0?Math.min(1,N/a):1;f=P+(v-P)*c(Y),n.setAttribute("d",o.at(f)),Y<1&&(l=requestAnimationFrame(w))};l=requestAnimationFrame(w)},f=0,d=()=>m(1),y=()=>m(0);return e.addEventListener("pointerenter",d,{passive:!0}),e.addEventListener("focusin",d,{passive:!0}),e.addEventListener("pointerleave",y,{passive:!0}),e.addEventListener("focusout",y,{passive:!0}),()=>{p=!0,cancelAnimationFrame(l),e.removeEventListener("pointerenter",d),e.removeEventListener("focusin",d),e.removeEventListener("pointerleave",y),e.removeEventListener("focusout",y),n.setAttribute("d",i)}}var xE=h("path-draw",[g.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length",finite:!0}}}),wE=h("shape-fill",[g.clip]),TE=h("bar-grow",[g.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),AE=h("logo-assemble",[g.opacity,g.scale,g.rotate]),CE={id:"icon-toggle",renderer:"javascript",channels:[g.translate,g.rotate,g.scale,g.opacity,g.clip],parameters:{duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:Bc(U("icon-toggle",{honours:V,because:"svg.css pins that value on this effect"}))},RE=[{id:"path-morph",renderer:"javascript",channels:["path"],parameters:{from:{type:"text",default:"",cssProperty:"--kui-path-from"},to:{type:"text",default:"",cssProperty:"--kui-path-to"},duration:{type:"time",default:"300ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["hover","focus","manual","load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"disable",prepare:b(kE)},xE,wE,TE,AE,CE],ME=[{name:"icon-morph",primitive:"path-morph"},{name:"blob-morph",primitive:"path-morph",params:{duration:"800ms"}},{name:"draw-stroke",primitive:"path-draw",keyframes:"kui-draw-stroke",params:{duration:"800ms",ease:"ease-in-out"}},{name:"draw-signature",primitive:"path-draw",keyframes:"kui-draw-signature",params:{duration:"1600ms",ease:"ease-in-out"}},{name:"draw-underline",primitive:"path-draw",keyframes:"kui-draw-underline",params:{duration:"420ms"}},{name:"checkmark-draw",primitive:"path-draw",keyframes:"kui-checkmark-draw",params:{duration:"320ms"}},{name:"cross-draw",primitive:"path-draw",keyframes:"kui-cross-draw",params:{duration:"260ms"}},{name:"chart-line-draw",primitive:"path-draw",keyframes:"kui-chart-line-draw",params:{duration:"1200ms",ease:"ease-in-out"}},{name:"gradient-stroke",phase:"idle",primitive:"path-draw",keyframes:"kui-gradient-stroke",params:{duration:"2400ms",ease:"ease-in-out"}},{name:"heart-fill",primitive:"shape-fill",keyframes:"kui-heart-fill",params:{duration:"420ms"}},{name:"bookmark-fill",primitive:"shape-fill",keyframes:"kui-bookmark-fill",params:{duration:"360ms"}},{name:"chart-area-fill",primitive:"shape-fill",keyframes:"kui-chart-area-fill",params:{duration:"900ms"}},{name:"chart-bar-grow",primitive:"bar-grow",keyframes:"kui-chart-bar-grow",params:{duration:"700ms",ease:"back-out"},cloak:!0},{name:"logo-build",primitive:"logo-assemble",keyframes:"kui-logo-build",params:{duration:"520ms",ease:"back-out"}},{name:"hamburger-to-x",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"play-to-pause",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"plus-to-minus",primitive:"icon-toggle",transitions:[{property:"rotate"}],requiresOwnSubtree:!0}];function Wc(e){return e.registerPrimitives(RE).registerPresets(ME)}var IE=":scope > .kui-face-front, :scope > .kui-face-back",qc=`:scope > :is(.kui-flip-control, [${S.part}~='control'])`;function LE(e,t){if(e.querySelector(IE))return;let[r,n]=Array.from(e.children).filter(i=>i.tagName!=="BUTTON");r&&t(r,"front"),n&&t(n,"back")}function OE(e,t,r){let n=t.createElement("button");return n.type="button",n.className="kui-flip-control",n.setAttribute(S.part,r?"control injected quiet":"control injected"),n.setAttribute("aria-pressed","false"),n.textContent="Flip card",e.append(n),n}function NE(e,t,r,n){let i=e.querySelector(":scope > .kui-flip-control");if(i)return{control:i,injected:null};let o=e.querySelector(":scope > button[aria-pressed]");if(o)return n(o,"control"),{control:o,injected:null};let s=OE(e,t,r);return{control:s,injected:s}}function Uc(e,t,r){let n=[],i=(l,p)=>{let m=T(l);m.set(S.part,p),n.push(m)};LE(e,i);let o=t.text("trigger","click")!=="click",{control:s,injected:a}=NE(e,r.doc,o,i),c=a?{button:a,onClick:()=>{a.setAttribute("aria-pressed",String(a.getAttribute("aria-pressed")!=="true"))}}:null;return c&&c.button.addEventListener("click",c.onClick),{control:s,cleanup:()=>{c&&(c.button.removeEventListener("click",c.onClick),c.button.remove());for(let l of n)l.restore()}}}function _E(e,t,r){tt("card-toggle",V,t,r);let n=t.text("trigger","click");if(n==="click")return()=>{};if(!oe(r.win))return()=>{};let i=e.querySelector(qc),o=u=>i.setAttribute("aria-pressed",String(u)),s=()=>i.getAttribute("aria-pressed")==="true",a=()=>{o(n==="hover-toggle"?!s():!0)},c=()=>o(!1);return e.addEventListener("pointerenter",a,{passive:!0}),n==="hover"&&e.addEventListener("pointerleave",c,{passive:!0}),()=>{e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",c)}}function $E(e,t,r){let n=Uc(e,t,r);return r.signal.addEventListener("abort",n.cleanup,{once:!0}),b(_E)(e,t,r)}var DE={id:"card-toggle",renderer:"javascript",channels:[g.rotate,"discrete"],parameters:{duration:{type:"time",default:"700ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},trigger:{type:"keyword",default:"click",cssProperty:"--kui-flip-trigger",keywords:["click","hover","hover-latch","hover-toggle"]}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:$E},jE=[h("flip-face",[g.skew,"transform-origin"],{parameters:{angle:{type:"angle",default:"180deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),h("page-reveal",[g.opacity,g.translate],{parameters:{distance:{type:"length",default:"40px",cssProperty:"--kui-distance"}}}),h("wipe",[g.clip]),h("bar",[g.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),DE],HE=[{name:"card-flip-y",primitive:"flip-face",keyframes:"kui-card-flip-y",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"card-flip-x",primitive:"flip-face",keyframes:"kui-card-flip-x",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"cube-rotate",primitive:"flip-face",keyframes:"kui-cube-rotate",params:{angle:"90deg"},establishes3d:!0},{name:"book-page-turn",primitive:"flip-face",keyframes:"kui-book-page-turn",params:{angle:"-160deg",duration:"900ms"},establishes3d:!0},{name:"fold-panel",phase:"entrance",primitive:"flip-face",keyframes:"kui-fold-panel",params:{angle:"-90deg"},cloak:!0,establishes3d:!0},{name:"page-fade",primitive:"page-reveal",keyframes:"kui-page-fade"},{name:"page-slide",primitive:"page-reveal",keyframes:"kui-page-slide"},{name:"curtain-wipe",primitive:"wipe",keyframes:"kui-curtain-wipe",params:{duration:"800ms"}},{name:"loading-bar",phase:"entrance",primitive:"bar",keyframes:"kui-loading-bar",cloak:!0},{name:"flip-card",phase:"state",primitive:"card-toggle",requiresOwnSubtree:!0,establishes3d:!0}];function Kc(e){return e.registerPrimitives(jE).registerPresets(HE)}var GE=.28,zc=4,VE=6;function FE(e,t,r){if(r<=0)return e;let n=t/r*GE,i=Math.max(-zc,Math.min(zc,n));return e-i}function Yc(e){return Math.round(e)+0}function Xc(e,t){return t>0?(e%t+t)%t:0}var BE={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1,PageDown:1,PageUp:-1,Home:null,End:null};function Jc(e){let{el:t,ctx:r,enabled:n,travelPx:i,total:o,positionOf:s,moveTo:a,setDragging:c}=e,u=!1,l=d=>{u&&(u=!1,d.stopPropagation(),d.preventDefault())},p=n?he(t,{onStart(){c(!0)},onMove(d){a(s()-d.dx/i)},onEnd(d){c(!1),u=!0;let y=Yc(FE(s(),d.vx,i));a(Xc(y,o()))}},{axis:"x",threshold:VE}):()=>{};n&&r.style.set("touch-action","pan-y");let m=d=>{let y=d,v=y.key,E=BE[v];if(E===void 0||y.altKey||y.ctrlKey||y.metaKey)return;let P=o(),k=v==="Home"?0:P-1,w=E===null?k:Yc(s())+E;d.preventDefault(),a(Xc(w,P))},f=t.getAttribute("tabindex")===null;return f&&t.setAttribute("tabindex","0"),t.addEventListener("keydown",m),t.addEventListener("click",l,!0),()=>{p(),t.removeEventListener("keydown",m),t.removeEventListener("click",l,!0),f&&t.removeAttribute("tabindex")}}var WE="data-kui-ring-dragging",qE="data-kui-ring-face",UE=90,KE=[["overflow",e=>e!==""&&e!=="visible"],["clip-path",e=>e!==""&&e!=="none"],["opacity",e=>e!==""&&Number(e)<1],["filter",e=>e!==""&&e!=="none"],["backdrop-filter",e=>e!==""&&e!=="none"]];function zE(e,t){let r=e.ownerDocument.body,n=e.parentElement;for(;n&&n!==r;){let i=YE(n,t);if(i){t.warn(`carousel: an ancestor <${n.localName}> has ${i.property}: ${i.value}, which flattens transform-style: preserve-3d \u2014 the ring will render as flat overlapping cards. Move the ring out of it, or drop that property on the ancestor.`);return}n=n.parentElement}}function YE(e,t){let r=t.win.getComputedStyle?.(e);if(!r)return null;for(let[n,i]of KE){let o=r.getPropertyValue(n);if(i(o))return{property:n,value:o}}return null}function XE(e,t){let r=e.attributes.get(t);r||(r=T(t),e.attributes.set(t,r));let n=e.styles.get(t);return n||(n=O(t),e.styles.set(t,n)),{attributes:r,styles:n}}function JE(e){return Math.abs(ZE(e))>=UE?"back":"front"}function ZE(e){let t=(e%360+360)%360;return t>180?t-360:t}function _n(e,t){if(t<=0)return{step:0,drift:0};let r=Math.round(e);return{step:(r%t+t)%t,drift:e-r}}var QE={duration:{type:"time",default:"620ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"cubic-bezier(0.22, 1, 0.36, 1)",cssProperty:"--kui-ease"},tilt:{type:"angle",default:"0deg",cssProperty:"--kui-tilt"},arc:{type:"angle",default:"360deg",cssProperty:"--kui-arc"},radius:{type:"length",default:"",cssProperty:"--kui-radius"},gap:{type:"length",default:"24px",cssProperty:"--kui-gap"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},facing:{type:"keyword",default:"radial",cssProperty:"--kui-facing",keywords:["radial","camera"]},grab:{type:"keyword",default:"true",cssProperty:"--kui-grab",keywords:["true","false"]},travel:{type:"number",default:"220",cssProperty:"--kui-travel",finite:!0,minimum:1},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},scope:j};function eS(e,t){for(let r of t){let n=r.offsetWidth;n>0&&e.set("--kui-item-width",`${n}px`);return}}function tS(e,t,r){zE(e,r),tt("spatial-ring",V,t,r);let n=L(t.text("target"),r,"carousel"),i=$(t,"self"),o=()=>n?I(e,r,n,i):e.children,s=ae(o,w=>r.warn(`carousel ${w}`)),a=()=>ar(t,o),c=T(e),u=O(e);c.set("data-kui-ring-facing",t.text("facing","radial"));let l={attributes:new Map,styles:new Map},p=t.text("radius")==="",m=0,f=rS(t.text("arc","360deg"),360),d=()=>{let w=a(),{step:_,drift:N}=_n(m,w);c.set("data-kui-step",String(_)),u.set("--kui-step",String(_)),u.set("--kui-step-position",(_+N).toFixed(4)),s.mark(_);let Y=[...o()];p&&eS(u,Y);let le=f/w;for(let Ae of Y){let Ce=(Number(Ae.getAttribute("data-kui-step-offset"))-N)*le;XE(l,Ae).attributes.set(qE,JE(Ce))}},y=w=>{m=w,d()},v=[],E=(w,_)=>{let N=L(t.text(w),r,`carousel ${w}`);return N?(I(e,r,N,i).length===0&&r.warn(`carousel ${w} "${N}" matched nothing`),v.push({selector:N,run:_}),!0):!1};E("next",()=>y(or(_n(m,a()).step,a()))),E("prev",()=>y(sr(_n(m,a()).step,a()))),E("jump",(w,_)=>{_>=0&&y(_)});let P=cr({el:e,ctx:r,scope:i,groups:v}),k=Jc({el:e,ctx:r,enabled:t.is("grab"),travelPx:t.num("travel",220),total:a,positionOf:()=>m,moveTo:y,setDragging:w=>c.set(WE,String(w))});return d(),()=>{k(),P(),s.restore();for(let w of l.attributes.values())w.restore();for(let w of l.styles.values())w.restore();l.attributes.clear(),l.styles.clear(),c.restore(),u.restore()}}function rS(e,t){let r=/^(-?[\d.]+)(deg|rad|turn|grad)?$/i.exec(e.trim());if(!r)return t;let n=Number(r[1]);if(!Number.isFinite(n))return t;switch((r[2]??"deg").toLowerCase()){case"rad":return n*180/Math.PI;case"turn":return n*360;case"grad":return n*.9;default:return n}}var nS={id:"spatial-ring",renderer:"javascript",channels:[g.skew,"discrete"],parameters:QE,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:b(tS)},iS=[nS],oS=[{name:"carousel-3d",primitive:"spatial-ring",params:{tilt:"12deg"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-high",primitive:"spatial-ring",params:{tilt:"30deg",perspective:"1200px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-low",primitive:"spatial-ring",params:{tilt:"-18deg",perspective:"1800px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-inside",primitive:"spatial-ring",params:{arc:"120deg",facing:"camera",perspective:"900px"},requiresOwnSubtree:!0,phase:"idle"}];function Zc(e){return e.registerPrimitives(iS).registerPresets(oS)}var $n=["translate","rotate","scale","opacity","filter","color","background"],Qc={translate:g.translate,rotate:g.rotate,scale:g.scale,opacity:g.opacity,filter:g.filter,color:g.color,background:g.background};function D(e,t,r,n){let i=r==="number"?{finite:!0,...e==="filter"?{minimum:0}:{}}:{};return[t,{group:e,spec:{type:r,default:n,cssProperty:`--kui-tween-${t}`,...i}}]}var F=Object.fromEntries([D("translate","x","length","0"),D("translate","y","length","0"),D("translate","z","length","0"),D("rotate","rotate","angle","0deg"),D("scale","scale","number","1"),D("scale","scale-x","number","1"),D("scale","scale-y","number","1"),D("opacity","opacity","number","1"),D("filter","blur","length","0px"),D("filter","brightness","number","1"),D("filter","saturate","number","1"),D("filter","grayscale","number","0"),D("filter","contrast","number","1"),D("filter","hue-rotate","angle","0deg"),D("filter","invert","number","0"),D("filter","sepia","number","0"),D("color","color","color","currentcolor"),D("background","background-color","color","transparent")]),el=Object.fromEntries([...Object.entries(F).map(([e,t])=>[e,t.spec]),...$n.map(e=>[`${e}-ease`,{type:"easing",default:"ease-out",cssProperty:`--kui-tween-${e}-ease`}])]);function Dn(e,t){if(e=e.trim(),t==="number"&&e.endsWith("%")){let n=e.slice(0,-1);return Ct(n,-2)??e}let r=Ct(e);return r===void 0?e:t==="length"?`${r}px`:t==="angle"?`${r}deg`:t==="number"?r:e}function dr(e,t,r,n=e){let i=F[e].spec,o=Dn(t,i.type),s=sS(e,o),a=s?{ok:!1,reason:s,value:o}:Ie(o,i);if(!a.ok){r(`parameter "${n}": ${a.reason} \u2014 got "${t}", using default "${i.default}"`);return}return a.value}function sS(e,t){if(/^(?:inherit|initial|unset|revert|revert-layer)$/i.test(t))return"CSS-wide keyword cannot be passed through a tween custom property";if((e==="z"||e==="blur")&&t.includes("%"))return"expected a length without percentages";if(e==="blur"&&Number.parseFloat(t)<0)return"blur must be non-negative"}var fr=5,tl=2;function rl(e){let t=[],r=0,n=0,i=0;for(;i<e.length;){let o=e[i];o==='"'||o==="'"?i=aS(e,i):o==="("?n++:o===")"?n=Math.max(0,n-1):o===","&&n===0&&(t.push(e.slice(r,i).trim()),r=i+1),i++}return t.push(e.slice(r).trim()),t}function aS(e,t){for(let r=t+1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]===e[t])return r;return e.length}function cS(e,t,r,n){for(let[i,o]of t){if(o.length===r)continue;let s=o.at(-1);for(o.length>=tl&&n(`"${i}" has ${String(o.length)} waypoints and another "${e}" property has ${String(r)} \u2014 they share one keyframe block, so "${i}" holds at "${s}" for the rest`);o.length<r;)o.push(s)}}function lS(e,t,r){return t.length<=fr?t:(r(`"${e}" has ${String(t.length)} waypoints \u2014 at most ${String(fr)} are supported, so the animation now ends at "${t[fr-1]}"`),t.slice(0,fr))}function nl(e,t){let r=new Map;for(let[n,i]of e){if(i.length<tl)continue;let o=Object.hasOwn(F,n)?F[n]:void 0;if(!o)continue;let s=lS(n,i,t).map(c=>Dn(c.trim(),o.spec.type)),a=r.get(o.group)??{count:0,keys:new Map};a.keys.set(n,s),a.count=Math.max(a.count,s.length),r.set(o.group,a)}for(let[n,i]of r)cS(n,i.keys,i.count,t);return r}function il(e,t,r,n){for(let[i,o]of e.keys){if(!Object.hasOwn(F,i))continue;let s=F[i].spec;for(let[a,c]of o.entries()){let u=a+1,l=`${i}[${String(u)}]`,p=dr(i,c,n,l);p!==void 0&&(t[l]=p,r[l]=uS(s,i,u))}}}function uS(e,t,r){return{...e,cssProperty:`--kui-tween-${t}-${String(r)}`}}function ol(e,t){return`kui-tween-keys${String(t)}-${e}`}var pS=["time","view","scroll","pin"];function mS(e,t,r){let n=["scale-x","scale-y"].filter(i=>Number(t[i]??t.scale??"1")===0);n.length!==0&&r(`"${e}" starts with no box area on ${n.join(", ")}, which can prevent on:enter activation depending on its geometry \u2014 use a small non-zero scale, or on:load`)}function dS(e,t,r){let n={},i=new Set(t.filter(([,o])=>o.length>1).map(([o])=>F[o].group));for(let[o]of t)(e==="from"||i.has(F[o].group))&&r[o]!==void 0&&(n[o]=r[o]);return n}function fS(e,t,r){let n=Object.create(null),i=gS(t,n,r),o=new Set(i.map(([l])=>F[l].group)),s=$n.filter(l=>o.has(l));if(s.length===0)return r(`"${t.name}" names no properties to animate \u2014 add at least one, e.g. "${t.name} x:100" (known: ${Object.keys(F).join(", ")})`),{channels:[],keyframes:[],params:n};mS(t.name,dS(e,i,n),r);let a=nl(i,r),c={};for(let l of a.values())il(l,n,c,r);for(let l of s){let p=`${l}[ease]`,m=yS(e,t,l);n[p]=m.value,c[p]=m.schema}return{channels:s.map(l=>Qc[l]),keyframes:s.map(l=>hS(l,e,a.get(l))),params:n,schema:c}}function gS(e,t,r){let n=[];for(let[i,o]of Object.entries(e.params)){if(!(Object.hasOwn(F,i)?F[i]:void 0)){t[i]=o;continue}let a=rl(o);n.push([i,a]);let c=dr(i,a[0],r);c!==void 0&&(t[i]=c)}return n}function yS(e,t,r){let i=`var(--kui-${e==="from"?"tween-from":"tween"}-ease, ease-out)`,o=`--kui-tween-${r}-default-ease`;return t.easing?{value:t.easing,schema:{type:"easing",default:i,cssProperty:o}}:{value:i,schema:{type:"keyword",default:i,keywords:[i],cssProperty:o}}}function hS(e,t,r){return r?ol(e,r.count):`kui-tween-${t}-${e}`}function sl(e,t){return{...h(e,[],{timelines:pS,parameters:el,perfClass:"paint"}),variantFor:(r,n)=>fS(t,r,n)}}var vS=[sl("tween","to"),sl("tween-from","from")],bS=[{name:"tween",primitive:"tween"},{name:"tween-from",primitive:"tween-from",cloak:!0}];function al(e){return e.registerPrimitives(vS).registerPresets(bS)}var cl=/^-?[A-Za-z_][\w-]*$/,ES=new Set(["none","match-element"]);function SS(e,t,r){let n=t.text("name","auto").trim();if(n==="auto"){let i=e.id;if(!i){r("page-morph needs a name to morph *to*: give this element an id (and the same id to its counterpart on the other view), or write name:something explicitly");return}return cl.test(i)?i:ll(i,r)}if(ES.has(n)){r(`page-morph name:${n} is a keyword, not a name \u2014 omit the effect instead`);return}return cl.test(n)?n:ll(n,r)}function ll(e,t){t(`page-morph cannot use "${e}" as a view-transition-name \u2014 it must be a CSS identifier (a letter or underscore, then letters, digits, hyphens or underscores)`)}function PS(e,t,r){if(!r.capabilities.viewTransitions)return r.warn("this browser has no View Transitions API, so page-morph will not morph \u2014 the navigation or state change still happens, it just cuts instead of animating"),()=>{};let n=SS(e,t,r.warn);return n===void 0?()=>{}:(r.style.set("view-transition-name",n),()=>{})}var kS={id:"view-morph",renderer:"javascript",channels:["view-transition-name"],parameters:{name:{type:"text",default:"auto",cssProperty:"--kui-view-transition-name"}},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:A("view-morph",{because:"the ::view-transition pseudo-elements hang off the document root, not off this element, so no per-element value can reach them \u2014 set --kui-vt-duration/-delay/-ease on :root instead"},b(PS))};function xS(e,t,r){let n=t.text("controls","").trim();if(n){let s=r.doc.querySelector(n);if(s)return s;r.warn(`view-swap controls:${n} matched nothing \u2014 the click will do nothing`);return}let i=e.getAttribute("aria-controls"),o=i?r.doc.getElementById(i):null;if(o)return o;r.warn("view-swap has nothing to swap: give this control an aria-controls pointing at the element whose state changes, or name it with controls:#selector")}function wS(e){let r=e.ViewTransition?.prototype;return typeof r=="object"&&r!==null&&"types"in r}function TS(e,t){return!e||!t.capabilities.viewTransitions?"":wS(t.win)?e:(t.warn(`view-swap type:${e} needs View Transition types, which this browser's View Transitions API predates \u2014 the swap still animates, with the browser's default cross-fade instead of the motion this type names`),"")}function ul(e,t,r){let n=r.doc.startViewTransition;if(!r.capabilities.viewTransitions||typeof n!="function"||r.reducedMotion){e();return}t?n.call(r.doc,{update:e,types:[t]}):n.call(r.doc,e)}function AS(e,t,r){let n=xS(e,t,r);if(!n)return()=>{};r.capabilities.viewTransitions||r.warn("this browser has no View Transitions API, so view-swap will not animate \u2014 the state change still happens, it just cuts");let i=t.text("attribute","data-open").trim()||"data-open",o=TS(t.text("type","").trim(),r),s=_e(t),a=()=>{let l=n.hasAttribute(i);l?n.removeAttribute(i):n.setAttribute(i,""),e.hasAttribute("aria-expanded")&&e.setAttribute("aria-expanded",String(!l))},c=new Set,u=()=>{if(s<=0){ul(a,o,r);return}let l=r.win.setTimeout(()=>{c.delete(l),ul(a,o,r)},s);c.add(l)};return e.addEventListener("click",u,{signal:r.signal}),()=>{for(let l of c)r.win.clearTimeout(l);c.clear()}}var CS={id:"view-swap",channels:["view-transition-run"],renderer:"javascript",parameters:{controls:{type:"text",default:"",cssProperty:"--kui-view-swap-controls"},attribute:{type:"text",default:"data-open",cssProperty:"--kui-view-swap-attribute"},type:{type:"text",default:"",cssProperty:"--kui-view-swap-type"},...M},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"layout",reducedMotion:"shorten",prepare:A("view-swap",{honours:["delay"],because:"it starts a transition the browser then owns \u2014 the duration and curve live on the ::view-transition pseudo-elements at :root, not on this control"},b(AS))},RS=[kS,CS],MS=[{name:"page-morph",primitive:"view-morph"},{name:"view-swap",primitive:"view-swap",phase:"state"}];function pl(e){return e.registerPrimitives(RS).registerPresets(MS)}function ml(e){return Array.isArray(e)?e:[e]}function dl(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.registerPrimitives=="function"&&typeof t.registerPresets=="function"}function IS(e){if(!e||typeof e!="object")return;if(dl(e))return e;let t=e;if(dl(t.registry))return t.registry}function fl(e,t,r,n="module"){let i=IS(e);if(!i)throw new Error(`kuinetic: register${n} requires a Registry or Animator instance`);return i.registerPrimitives(ml(t)),i.registerPresets(ml(r)),e}function B(e,t,r){return{id:e,renderer:"javascript",channels:t.channels,parameters:t.parameters,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:t.perfClass,reducedMotion:"shorten",prepare:r}}var LS=["browser","phone","tablet","laptop"],OS="",NS={kind:{type:"keyword",default:"browser",cssProperty:"--kui-device-kind",keywords:[...LS]},color:{type:"color",default:"#111",cssProperty:"--kui-device-color"},radius:{type:"length",default:OS,cssProperty:"--kui-device-radius"}};function _S(e,t){let r=T(e);return r.set("data-kui-device",t.text("kind","browser")),C(()=>r.restore())}var gl=B("device-frame",{channels:["frame"],parameters:NS,perfClass:"layout"},A("device-frame",{because:"it stamps its frame kind once, synchronously, on activation; there is no motion to time"},b(_S))),yl=[{name:"device-frame",primitive:"device-frame",requiresOwnSubtree:!0}];var jn=new WeakMap;function hl(e){e.lock?.restore(),e.lock=void 0}function $S(e){if(e.lock)return;let t=e.doc.documentElement,r=O(t),n=e.doc.defaultView.innerWidth-t.clientWidth;r.set("overflow","hidden"),n>0&&r.set("padding-right",`${n}px`),e.lock=r}function Hn(e){e.current?.onClose?.(),e.current=void 0,e.currentOwner=void 0,e.slot?.replaceChildren()}function vl(e){e.dialog?.classList.remove("is-open"),hl(e),Hn(e)}function gr(e){let t=e.dialog;!t?.open||e.timer!==void 0||(t.classList.remove("is-open"),e.timer=setTimeout(()=>{e.timer=void 0,t.open&&t.close(),hl(e),Hn(e)},e.current.reducedMotion?0:e.current.duration))}function DS(e,t){let r=e.current.node;return r.classList.contains("kui-lightbox-gallery")?!r.contains(t)||!t.matches("img")&&!t.closest("button"):!r.contains(t)&&!t.closest("button")}function jS(e){return e.offsetWidth}function HS(e){if(e.dialog)return;let t=e.doc.createElement("dialog");t.className="kui-lightbox";let r=e.doc.createElement("button");r.type="button",r.className="kui-lightbox-close",r.setAttribute("aria-label","Close viewer"),r.textContent="\xD7";let n=e.doc.createElement("div");n.className="kui-lightbox-slot",t.append(r,n),e.doc.body.append(t),r.addEventListener("click",()=>gr(e)),t.addEventListener("click",i=>{DS(e,i.target)&&gr(e)}),t.addEventListener("cancel",i=>{i.preventDefault(),gr(e)}),t.addEventListener("close",()=>vl(e)),t.addEventListener("keydown",i=>e.current?.onKey?.(i)),e.dialog=t,e.slot=n,e.style=O(t)}function GS(e,t,r){HS(e);let n=e.dialog;e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,Hn(e),e.current=t,e.currentOwner=r,e.slot.replaceChildren(t.node),n.setAttribute("aria-label",t.label),e.style.set("--kui-lightbox-duration",`${t.duration}ms`),e.style.set("--kui-from-scale",t.scale),e.style.set("--kui-lightbox-ease",t.ease),$S(e),n.open||n.showModal(),n.scrollTop=0,jS(n),n.classList.add("is-open")}function VS(e){e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,e.dialog?.open&&e.dialog.close(),vl(e)}function FS(e,t){e.refs-=1,(e.currentOwner===t||e.refs===0)&&VS(e),!(e.refs>0)&&(e.style?.restore(),e.dialog?.remove(),jn.delete(e.doc))}function bl(e){let t=jn.get(e);t||(t={doc:e,refs:0},jn.set(e,t)),t.refs+=1;let r=t,n={},i=!1;return{open:o=>GS(r,o,n),dismiss:()=>gr(r),release:()=>{i||(i=!0,FS(r,n))}}}var BS="https://kuinetic.invalid/",WS=/^[\w-]{6,}$/,qS=new Set(["youtube.com","www.youtube.com","m.youtube.com"]),US=new Set(["youtu.be","www.youtu.be"]),KS=new Set(["vimeo.com","www.vimeo.com"]);function El(e,t,r){let n;return r?n=t[0]:t[0]==="watch"?n=e.searchParams.get("v"):(t[0]==="shorts"||t[0]==="embed")&&(n=t[1]),!n||!WS.test(n)?null:{kind:"youtube",embedUrl:`https://www.youtube-nocookie.com/embed/${n}?autoplay=1`,aspect:t[0]==="shorts"?"tall":"wide"}}function zS(e){let t=e[0];return!t||!/^\d+$/.test(t)?null:{kind:"vimeo",embedUrl:`https://player.vimeo.com/video/${t}?autoplay=1`,aspect:"wide"}}function Sl(e){let t;try{t=new URL(e,BS)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:")return null;let r=t.hostname.toLowerCase(),n=t.pathname.split("/").filter(Boolean);return qS.has(r)?El(t,n,!1):US.has(r)?El(t,n,!0):KS.has(r)?zS(n):/\.(mp4|webm|ogg)$/i.test(t.pathname)?{kind:"file",embedUrl:e,aspect:"wide"}:null}var YS={media:{type:"keyword",default:"image",cssProperty:"--kui-lightbox-media",keywords:["image","video"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j,scale:{type:"number",default:"0.965",cssProperty:"--kui-from-scale",finite:!0,minimum:0},duration:{type:"time",default:"280ms",cssProperty:"--kui-lightbox-duration"},ease:{type:"easing",default:"cubic-bezier(0.22, 1, 0.36, 1)",cssProperty:"--kui-lightbox-ease"},loop:{type:"keyword",default:"true",cssProperty:"--kui-lightbox-loop",keywords:["true","false"]},aspect:{type:"keyword",default:"",cssProperty:"--kui-lightbox-aspect",keywords:["wide","tall","square"]},caption:{type:"keyword",default:"figcaption",cssProperty:"--kui-lightbox-caption",keywords:["figcaption","alt","title","none"]}};function XS(e,t){return e.matches("a[href]")||t==="image"&&e.matches("img")?[e]:[...e.querySelectorAll(t==="video"?":scope a[href]":":scope a[href], :scope img")]}function JS(e,t,r,n){let i=t.text("target");if(!i)return XS(e,n);let o=L(i,r,n==="video"?"video-lightbox":"lightbox");return o?I(e,r,o,$(t,"self")):[]}function ZS(e){return e instanceof HTMLImageElement?e.closest("a[href]")??e:e}function QS(e){return e instanceof HTMLImageElement?e:e.querySelector("img")}function eP(e,t,r){return r==="none"?"":r==="alt"?t.alt:r==="title"?(e.getAttribute("title")||t.title).trim():e.closest("figure")?.querySelector("figcaption")?.textContent?.trim()||t.alt}function tP(e,t){let r=QS(e);if(!r)return null;let n=e instanceof HTMLAnchorElement?e:null;return{trigger:e,image:r,src:n?.href??(r.currentSrc||r.src),caption:eP(e,r,t)}}function rP(e,t){let r=new Set,n=[];for(let i of e){let o=ZS(i);if(r.has(o))continue;let s=tP(o,t);s&&(r.add(o),n.push(s))}return n}function nP(e,t){return{duration:e.timing.durationMs??e.ms("duration",280),scale:e.text("scale","0.965"),ease:e.timing.easing??e.text("ease","cubic-bezier(0.22, 1, 0.36, 1)"),reducedMotion:t.reducedMotion}}function iP(e,t,r){t.src=e.src,t.alt=e.image.alt,r.textContent=e.caption,r.hidden=e.caption==="";let n=e.image.naturalWidth?e.image.naturalHeight/e.image.naturalWidth:1;t.className=n>1.5?"is-tall":"is-fit"}function yr(e,t){iP(e.items[e.index],e.view,e.caption),e.counter.textContent=`${e.index+1} of ${e.items.length}`,e.previous.disabled=!e.loop&&e.index===0,e.next.disabled=!e.loop&&e.index===e.items.length-1,t&&e.figure.focus()}function Gn(e,t,r){let n=e.index+t;!e.loop&&(n<0||n>=e.items.length)||(e.index=(n+e.items.length)%e.items.length,yr(e,r))}function Pl(e,t,r){Gn(e,t,!1),r.disabled&&r.ownerDocument.activeElement===r&&e.figure.focus()}function oP(e,t){if(!(e.items.length<2)){if(t.key==="ArrowLeft")Gn(e,-1,!0);else if(t.key==="ArrowRight")Gn(e,1,!0);else if(t.key==="Home")e.index=0,yr(e,!0);else if(t.key==="End")e.index=e.items.length-1,yr(e,!0);else return;t.preventDefault()}}function kl(e,t,r,n){let i=e[t].image.ownerDocument,o=i.createElement("div");o.className="kui-lightbox-gallery";let s=i.createElement("figure");s.tabIndex=-1;let a=i.createElement("img");a.decoding="async";let c=i.createElement("figcaption");s.append(a,c),o.append(s);let u=i.createElement("span");u.className="kui-lightbox-counter",u.setAttribute("aria-hidden","true");let l=i.createElement("button"),p=i.createElement("button");l.type=p.type="button",l.textContent="\u2039",p.textContent="\u203A",l.setAttribute("aria-label","Previous image"),p.setAttribute("aria-label","Next image"),l.className="kui-lightbox-prev",p.className="kui-lightbox-next";let m={items:e,index:t,loop:r,figure:s,view:a,caption:c,counter:u,previous:l,next:p};return e.length>1&&(o.append(l,p,u),l.addEventListener("click",()=>Pl(m,-1,l)),p.addEventListener("click",()=>Pl(m,1,p))),yr(m,!1),{...n,node:o,label:"Image viewer",onClose:()=>a.removeAttribute("src"),onKey:f=>oP(m,f)}}function sP(e){let t=e.querySelector("video");t&&(t.readyState>0&&t.pause(),t.removeAttribute("src")),e.replaceChildren()}function aP(e,t,r,n){let i=e.ownerDocument,o=i.createElement("div");o.className=`kui-lightbox-frame kui-lightbox-frame--${n}`;let s=e.querySelector("img"),a=e.title||s?.getAttribute("alt")||e.getAttribute("aria-label")?.trim()||e.textContent?.trim()||"Video";if(t.kind==="file"){let c=i.createElement("video");c.src=t.embedUrl,c.controls=!0,c.autoplay=!0,c.playsInline=!0,c.setAttribute("aria-label",a),o.append(c)}else{let c=i.createElement("iframe");c.src=t.embedUrl,c.title=a,c.allow="autoplay; encrypted-media; picture-in-picture; fullscreen",c.allowFullscreen=!0,o.append(c)}return{...r,node:o,label:"Video viewer",onClose:()=>sP(o)}}function xl(e){return e.button===0&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}function cP(e,t,r){let n=[];return e.forEach((i,o)=>{let s=i.trigger===i.image;if(s){let a=T(i.image);a.set("role","button"),a.set("tabindex","0"),a.set("aria-label",i.image.alt?`Open larger image: ${i.image.alt}`:"Open larger image"),n.push(()=>a.restore()),i.image.addEventListener("keydown",c=>{c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),t.shell.open(kl(e,o,r,t.options)))},{signal:t.signal})}i.trigger.addEventListener("click",a=>{xl(a)&&(s||a.preventDefault(),t.shell.open(kl(e,o,r,t.options)))},{signal:t.signal})}),n}function lP(e,t,r,n){let i=new Set;for(let o of e)o instanceof HTMLAnchorElement&&o.addEventListener("click",s=>{if(!xl(s))return;let a=o.getAttribute("href")??"",c=Sl(a);if(!c){i.has(a)||n.warn(`video-lightbox cannot embed "${a}"; the link will navigate normally`),i.add(a);return}s.preventDefault(),t.shell.open(aP(o,c,t.options,r||c.aspect))},{signal:t.signal})}function uP(e,t,r){let n=t.text("media","image"),i=JS(e,t,r,n);if(i.length===0)return()=>{};let o=new AbortController,s=bl(r.doc),a={shell:s,options:nP(t,r),signal:o.signal},c=[];if(n==="video")lP(i,a,t.text("aspect"),r);else{let u=rP(i,t.text("caption","figcaption"));c=cP(u,a,t.is("loop"))}return C(()=>{o.abort();for(let u of c)u();s.release()})}var wl=B("lightbox",{channels:["widget"],parameters:YS,perfClass:"paint"},A("lightbox",{honours:["duration","ease"],because:"the dialog opens immediately, so it has no delay phase"},b(uP))),Tl=[{name:"lightbox",primitive:"lightbox",params:{media:"image"}},{name:"video-lightbox",primitive:"lightbox",params:{media:"video"}}];var pP=["x","y"],mP="data-kui-compare-axis",dP={position:{type:"percentage",default:"50%",cssProperty:"--kui-compare"},axis:{type:"keyword",default:"x",cssProperty:"--kui-compare-axis",keywords:[...pP]}},fP={ArrowUp:-1,ArrowDown:1};function Al(e,t){return(e.localName==="picture"?e.querySelector("img")?.getAttribute("alt"):e.getAttribute("alt"))?.trim()||e.getAttribute("aria-label")?.trim()||e.getAttribute("title")?.trim()||t}function gP(e,t){let r=e.getAttribute("aria-label")?.trim();if(r)return r;let n=t[0],i=t[1];return n&&i?`Compare: ${Al(n,"Before")} / ${Al(i,"After")}`:"Compare"}function yP(e,t,r,n){let i=e.createElement("input");i.type="range",i.className="kui-compare-range",i.min="0",i.max="100",i.step="1",i.value=String(r),i.setAttribute("aria-label",t),i.setAttribute("aria-valuetext",`${r}% after`),n==="y"&&i.setAttribute("aria-orientation","vertical");let o=e.createElement("span");return o.className="kui-compare-handle",o.setAttribute("aria-hidden","true"),{range:i,handle:o}}function hP(e,t,r){let n=Array.from(e.querySelectorAll(":scope > :is(img, picture, video)"));n.length<2&&r.warn("compare requires at least two media children (img, picture, or video)");let i=t.text("axis","x"),o=T(e);o.set(mP,i);let s=Math.round(t.num("position",.5)*100),a=O(e);a.set("--kui-compare",t.text("position","50%"));let{range:c,handle:u}=yP(e.ownerDocument,gP(e,n),s,i),l=()=>{let m=c.value;a.set("--kui-compare",`${m}%`),c.setAttribute("aria-valuetext",`${m}% after`)},p=m=>{let f=fP[m.key];i!=="y"||f===void 0||(m.preventDefault(),f<0?c.stepDown():c.stepUp(),l())};return c.addEventListener("input",l),c.addEventListener("keydown",p),e.appendChild(c),e.appendChild(u),C(()=>{c.removeEventListener("input",l),c.removeEventListener("keydown",p),c.remove(),u.remove(),o.restore(),a.restore()})}var Cl=B("compare",{channels:["clip","widget"],parameters:dP,perfClass:"paint"},A("compare",{because:"it builds an interactive before/after slider; there is no motion to time"},b(hP))),Rl=[{name:"compare",primitive:"compare",requiresOwnSubtree:!0}];var vP=["number","dot"],bP={target:{type:"text",default:"",cssProperty:"--kui-target"},marker:{type:"keyword",default:"number",keywords:[...vP],cssProperty:"--kui-hotspot-marker"},scope:j},EP=0,SP=0;function PP(e,t,r){let i=e.querySelector("strong, h1, h2, h3, h4, h5, h6")?.textContent?.trim();return i?r==="number"?`${t+1}: ${i}`:i:`Note ${t+1}`}function kP(e,t){let r=t;if(r.newState!==void 0)return r.newState==="open";try{return e.matches(":popover-open")||e.hasAttribute("open")}catch{return e.hasAttribute("open")}}function xP(e,t,r){let n=t.ownerDocument.defaultView??window,i=8,o=(a,c,u)=>Math.max(i,Math.min(a,Math.max(i,u-c-i))),s=a=>{if(!kP(t,a))return;let c=e.getBoundingClientRect(),u=t.getBoundingClientRect(),l=c.top-u.height-i,p=l>=i?l:c.bottom+i,f=c.left+c.width/2-u.width/2;r.set("position","fixed"),r.set("inset","auto"),r.set("top",`${o(p,u.height,n.innerHeight)}px`),r.set("left",`${o(f,u.width,n.innerWidth)}px`),r.set("translate","0 0"),r.set("margin","0")};return t.addEventListener("toggle",s),()=>t.removeEventListener("toggle",s)}function wP(e,t){let r=`--kui-anchor-${++SP}`;e.set("anchor-name",r),t.set("position-anchor",r),t.set("position-area","top"),t.set("position-try-fallbacks","flip-block")}function TP(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("position-area: top")}function AP(e,t){let r=t.getComputedStyle(e),n=e.style,i=r.getPropertyValue("--kui-x").trim(),o=r.getPropertyValue("--kui-y").trim(),s=i||n.getPropertyValue("--kui-x").trim(),a=o||n.getPropertyValue("--kui-y").trim();return{x:s,y:a}}function CP(e){let t=e.getAttribute("id"),r=t||`kui-hotspot-note-${++EP}`,n=T(e);return t||n.set("id",r),n.set("popover","auto"),{noteId:r,noteAttrs:n}}function RP(e){let{doc:t,noteId:r,label:n,marker:i,index:o,coords:s}=e,a=t.createElement("button");a.type="button",a.className="kui-hotspot",a.setAttribute("aria-label",n),a.setAttribute("popovertarget",r),i==="number"&&(a.textContent=String(o+1));let c=O(a);return s.x&&c.set("--kui-x",s.x),s.y&&c.set("--kui-y",s.y),{button:a,buttonStyle:c}}function MP(e,t,r){let{el:n,marker:i,ctx:o}=r,s=o.doc.defaultView??window,a=AP(e,s);(!a.x||!a.y)&&o.warn("hotspots note is missing --kui-x or --kui-y position");let{noteId:c,noteAttrs:u}=CP(e),l=PP(e,t,i),{button:p,buttonStyle:m}=RP({doc:n.ownerDocument,noteId:c,label:l,marker:i,index:t,coords:a}),f=O(e),d;return TP()?wP(m,f):d=xP(p,e,f),{button:p,teardown:()=>{d?.(),f.restore(),u.restore(),m.restore(),p.remove()}}}function IP(e,t,r){let i=t.text("target")||":scope > :is(ol, ul) > li",o=L(i,r,"hotspots"),s=$(t,"self"),a=o?I(e,r,o,s):[],c=t.text("marker","number"),u=T(e);u.set("data-kui-hotspot-marker",c);let l=a.map((p,m)=>MP(p,m,{el:e,marker:c,ctx:r}));for(let p of l)e.appendChild(p.button);return C(()=>{for(let p of l)p.teardown();u.restore()})}var Ml=B("hotspots",{channels:["widget"],parameters:bP,perfClass:"layout"},A("hotspots",{because:"it places interactive hotspot markers and binds popovers; there is no motion to time"},b(IP))),Il=[{name:"hotspots",primitive:"hotspots",requiresOwnSubtree:!0}];var LP="data-kui-slideshow-list",OP="data-kui-slideshow-mode",NP=["auto","dots","arrows","none"],_P={target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j,next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},controls:{type:"keyword",default:"auto",cssProperty:"--kui-slideshow-controls",keywords:[...NP]},autoplay:{type:"time",default:"0s",cssProperty:"--kui-slideshow-autoplay"},transition:{type:"keyword",default:"fade",cssProperty:"--kui-slideshow-transition",keywords:["fade","slide"]},swipe:{type:"keyword",default:"true",cssProperty:"--kui-slideshow-swipe",keywords:["true","false"]},mute:{type:"text",default:"",cssProperty:"--kui-slideshow-mute"},duration:{type:"time",default:"500ms",cssProperty:"--kui-slideshow-duration"},ease:{type:"easing",default:"ease",cssProperty:"--kui-slideshow-ease"}};function hr(e,t){let r=e.createElement("button");return r.type="button",r.setAttribute("aria-label",t),r}function $P(e,t){if(t!=="auto"&&t!=="arrows")return{previous:null,next:null};let r=hr(e.ownerDocument,"Previous slide"),n=hr(e.ownerDocument,"Next slide");return e.append(r,n),{previous:r,next:n}}function DP(e,t,r){return r!=="auto"&&r!=="dots"?[]:t.map((n,i)=>{let o=hr(e.ownerDocument,`Go to slide ${i+1} of ${t.length}`);return o.className="kui-slideshow-dot",e.appendChild(o),o})}function jP(e,t,r,n){if(r==="none")return{root:null,pause:null,previous:null,next:null,dots:[]};let i=e.ownerDocument.createElement("div");i.className="kui-slideshow-controls";let o=n?hr(e.ownerDocument,"Pause slideshow"):null;o&&i.appendChild(o);let{previous:s,next:a}=$P(i,r),c=DP(i,t,r),u=t[0]?.parentElement;return u?.parentElement?.isSameNode(e)?u.after(i):e.appendChild(i),{root:i,pause:o,previous:s,next:a,dots:c}}function HP(e,t,r){let n=T(e);return e.hasAttribute("role")||n.set("role","region"),e.hasAttribute("aria-roledescription")||n.set("aria-roledescription","carousel"),!e.hasAttribute("aria-label")&&!e.hasAttribute("aria-labelledby")&&t.warn("slideshow needs an aria-label or aria-labelledby on its host"),n.set(OP,r),n}function GP(e,t,r,n){let i=HP(e,r,n),o=t[0].parentElement,s=T(o);s.set(LP,"");let a=t.map((c,u)=>{let l=T(c);return c.hasAttribute("role")||l.set("role","group"),c.hasAttribute("aria-roledescription")||l.set("aria-roledescription","slide"),c.hasAttribute("aria-label")||l.set("aria-label",`${u+1} of ${t.length}`),l});return{host:i,list:s,slides:a,liveList:o}}function VP(e,t,r,n){e.forEach((i,o)=>{let s=t[o];o===n?s.remove("inert"):s.set("inert","")}),r.dots.forEach((i,o)=>{o===n?i.setAttribute("aria-current","true"):i.removeAttribute("aria-current"),i.tabIndex=o===n?0:-1})}function FP(e,t){let r=()=>t.prev(),n=()=>t.next();e.previous?.addEventListener("click",r),e.next?.addEventListener("click",n);let i=e.dots.map((s,a)=>{let c=()=>t.goTo(a);return s.addEventListener("click",c),c}),o=s=>{if(e.dots.includes(s.target)){if(s.key==="ArrowRight")t.next();else if(s.key==="ArrowLeft")t.prev();else return;s.preventDefault(),e.dots[t.current()]?.focus()}};return e.root?.addEventListener("keydown",o),()=>{e.previous?.removeEventListener("click",r),e.next?.removeEventListener("click",n),e.dots.forEach((s,a)=>s.removeEventListener("click",i[a])),e.root?.removeEventListener("keydown",o)}}function BP(e){let{el:t,params:r,ctx:n,index:i,slides:o}=e,s=()=>{},a=L(r.text("mute"),n,"slideshow mute");if(!a)return{release:s,render:s};let c=I(t,n,a,"self").filter(d=>d.localName==="button");if(c.length===0)return n.warn("slideshow mute: must select a button inside the host"),{release:s,render:s};let u=c.map(d=>T(d)),l=new Map,p=()=>{let d=o[i.current()]?.querySelector("video"),y=d?.localName==="video"&&d.muted;for(let v of u)v.set("aria-pressed",String(y)),v.set("aria-label",y?"Unmute video":"Mute video")},m=()=>{let d=o[i.current()]?.querySelector("video");if(d?.localName!=="video")return;let y=d;l.has(y)||l.set(y,y.muted),y.muted=!y.muted,p()};for(let d of c)d.addEventListener("click",m);return p(),{release:()=>{for(let d of c)d.removeEventListener("click",m);for(let[d,y]of l)d.muted=y;for(let d of u)d.restore()},render:p}}function WP(e){let{el:t,ctx:r,index:n,controls:i,liveList:o,interval:s}=e,a=T(o);if(s===0)return a.set("aria-live","polite"),()=>a.restore();let c=i.pause,u=T(c),l=r.reducedMotion,p=!1,m=!1,f=null,d=()=>!l&&!p&&!m&&!r.doc.hidden,y=()=>{f!==null&&clearTimeout(f),f=null,a.set("aria-live",d()?"off":"polite"),u.set("aria-pressed",String(l)),u.set("aria-label",l?"Play slideshow":"Pause slideshow"),d()&&(f=setTimeout(()=>{n.next(),y()},s))},v=()=>{p=!0,y()},E=()=>{p=!1,y()},P=()=>{m=!0,y()},k=()=>{m=t.contains(r.doc.activeElement),y()},w=()=>{l=!l,y()};return t.addEventListener("pointerenter",v),t.addEventListener("pointerleave",E),t.addEventListener("focusin",P),t.addEventListener("focusout",k),r.doc.addEventListener("visibilitychange",y),c.addEventListener("click",w),y(),()=>{f!==null&&clearTimeout(f),t.removeEventListener("pointerenter",v),t.removeEventListener("pointerleave",E),t.removeEventListener("focusin",P),t.removeEventListener("focusout",k),r.doc.removeEventListener("visibilitychange",y),c.removeEventListener("click",w),u.restore(),a.restore()}}function qP(e,t,r){let n=e.ms("autoplay",0),i=n>0?Math.max(2e3,n):0;return n>0&&n<2e3&&t.warn("slideshow autoplay: minimum is 2s; clamped to 2s"),r==="none"&&i>0&&t.warn("slideshow autoplay needs a pause control; autoplay is disabled with authored or hidden controls"),r==="none"?0:i}function UP(e,t){e.timing.durationMs!==void 0&&t.style.set("--kui-slideshow-duration",`${e.timing.durationMs}ms`),e.timing.easing!==void 0&&t.style.set("--kui-slideshow-ease",e.timing.easing)}function KP(e,t,r){return t.text("swipe","true")!=="true"?()=>{}:he(e,{onSwipe:n=>{n==="left"&&r.next(),n==="right"&&r.prev()}},{axis:"x",capturePointer:"drag"})}function zP(e,t,r){let n=L(t.text("target")||":scope > :is(ul, ol) > li",r,"slideshow"),i=$(t,"self"),o=()=>n?I(e,r,n,i):[],s=o();if(s.length===0)return r.warn("slideshow target matched no slides"),C(()=>{});let a=s[0].parentElement;if(!a||a===e||!e.contains(a)||s.some(k=>k.parentElement!==a))return r.warn("slideshow slides must share one list inside the host"),C(()=>{});let u=["next","prev","jump"].some(k=>t.text(k)!=="")?"none":t.text("controls","auto"),l=qP(t,r,u),p=GP(e,s,r,t.text("transition","fade")),m=jP(e,s,u,l>0);UP(t,r);let f=()=>{},d=lr({el:e,params:t,ctx:r,scope:i,resolveSteps:o,name:"slideshow",clickFallback:!1,onRender:k=>{VP(s,p.slides,m,k),f()}}),y=FP(m,d),v=KP(e,t,d),E=BP({el:e,params:t,ctx:r,index:d,slides:s});f=E.render;let P=WP({el:e,ctx:r,index:d,controls:m,liveList:p.liveList,interval:l});return C(()=>{P(),E.release(),v(),y(),d.release(),m.root?.remove(),p.slides.forEach(k=>k.restore()),p.list.restore(),p.host.restore()})}var Ll=B("slideshow",{channels:["widget"],parameters:_P,perfClass:"layout"},A("slideshow",{honours:["duration","ease"],because:"the slideshow has no delayed start"},b(zP))),Ol=[{name:"carousel-fade",primitive:"slideshow",params:{transition:"fade"},requiresOwnSubtree:!0},{name:"carousel-slide",primitive:"slideshow",params:{transition:"slide"},requiresOwnSubtree:!0},{name:"video-hero-slideshow",primitive:"slideshow",params:{transition:"fade",autoplay:"7s",controls:"dots"},requiresOwnSubtree:!0}];var YP="data-kui-story-side",XP={target:{type:"text",default:"",cssProperty:"--kui-target"},sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"50vh",cssProperty:"--kui-offset-top"},side:{type:"keyword",default:"end",cssProperty:"--kui-side",keywords:["start","end"]}};function Nl(e){return e.localName==="video"?e:e.querySelector("video")}function JP(e){return e.hasAttribute("autoplay")||e.hasAttribute("loop")}function _l(e){let t=e.play();t&&typeof t.catch=="function"&&t.catch(()=>{})}function ZP(e,t,r){e.forEach((n,i)=>{let o=Nl(n);if(o){if(i!==t||r){o.pause();return}JP(o)&&_l(o)}})}function QP(e){let t=new Map;for(let r of e){let n=Nl(r);n&&t.set(n,!n.paused)}return t}function ek(e){for(let[t,r]of e)r?_l(t):t.pause()}function tk(e,t,r){let n=t.IntersectionObserver;if(!n)return{observed:!1,stop:()=>{}};let i=new n(o=>{let s=o[o.length-1];s&&r(s.isIntersecting)},{threshold:0});return i.observe(e),{observed:!0,stop:()=>i.disconnect()}}function rk(e,t,r){let n=QP(t),i=0,o=!1,s=!1,a=()=>ZP(t,i,r.reducedMotion||!o),c=tk(e,r.win,u=>{u!==o&&(o=u,s&&a())});return c.observed||(o=!0),{show(u){i=u,s=!0,a()},restore(){c.stop(),ek(n)}}}function nk(e,t,r){let n=L(t.text("target")||":scope > :first-child > *",r,"scroll-story"),i=L(t.text("sections")||":scope > :last-child > *",r,"scroll-story sections"),o=n?I(e,r,n,"self"):[],s=i?I(e,r,i,"self"):[];return{media:o,sections:s}}function ik(e,t,r){let{media:n,sections:i}=nk(e,t,r);if(n.length===0)return r.warn("scroll-story target matched no media"),C(()=>{});if(i.length===0)return r.warn("scroll-story sections matched no elements"),C(()=>{});let o=T(e),s=O(e),a=t.text("side","end");o.set(YP,a);let c=ae(()=>[...n,...i],d=>r.warn(`scroll-story ${d}`)),u=rk(e,n,r),l=-1;function p(d){let y=d===-1?0:d;y!==l&&(l=y,o.set("data-kui-step",String(y)),s.set("--kui-step",String(y)),c.mark(y),u.show(y))}p(0);let m=t.text("offset-top","50vh"),f=mr({el:e,sections:i,ctx:r,offsetTop:m,onChange:d=>p(d)});return C(()=>{f(),u.restore(),c.restore(),o.restore(),s.restore()})}var $l=B("scroll-story",{channels:["widget"],parameters:XP,perfClass:"layout"},A("scroll-story",{because:"scroll position"},b(ik))),Dl=[{name:"scroll-story",primitive:"scroll-story",phase:"idle",requiresOwnSubtree:!0}];var ok={rate:{type:"number",default:"0.25",cssProperty:"--kui-slowmo-rate",finite:!0,minimum:.05,maximum:1},controls:{type:"keyword",default:"button",cssProperty:"--kui-slowmo-controls",keywords:["button","none"]}};function jl(e,t=!1){let r=e.getAnimations;return typeof r=="function"?r.call(e,{subtree:t}):[]}function sk(e,t){return e.timeline===t.timeline}function ak(e,t,r){let n=e.playbackRate;Math.abs(Math.abs(n)-r)>1e-9||(e.playbackRate=Math.sign(n)*Math.abs(t))}function ck(e){let t=new Map;return{slow(r,n){for(let i of r)sk(i,e)&&(t.has(i)||t.set(i,i.playbackRate),i.playbackRate=Math.sign(i.playbackRate||1)*n)},restore(r){for(let[n,i]of t)ak(n,i,r);t.clear()}}}function lk(e,t,r){let n=e.effect;return!n||n.target!==t?!1:(n.pseudoElement??"")===r}function uk(e){let t=e.target,r=e,n=e.type==="animationstart",i=n?"animationName":"transitionProperty",o=n?r.animationName:r.propertyName,s=r.pseudoElement??"";return jl(t,!0).filter(a=>lk(a,t,s)&&a[i]===o)}function pk(e,t){let r=T(e),n=t.num("rate",.25),i=t.text("controls","button"),o=i==="button"?e.ownerDocument.createElement("button"):null,s=i==="none",a=ck(e.ownerDocument),c=()=>{s?r.set(et,String(n)):r.remove(et),o&&o.setAttribute("aria-pressed",String(s)),s?a.slow(jl(e,!0),n):a.restore(n)},u=()=>{s=!s,c()},l=p=>{s&&a.slow(uk(p),n)};return o&&(o.type="button",o.className="kui-slowmo-toggle",o.textContent=`Slow motion ${n}\xD7`,o.setAttribute("aria-pressed","false"),e.prepend(o),o.addEventListener("click",u)),e.addEventListener("animationstart",l,!0),e.addEventListener("transitionrun",l,!0),s&&c(),C(()=>{e.removeEventListener("animationstart",l,!0),e.removeEventListener("transitionrun",l,!0),o?.removeEventListener("click",u),a.restore(n),r.restore(),o?.remove()})}var Hl=B("slow-mo",{channels:["widget"],parameters:ok,perfClass:"compositor"},A("slow-mo",{because:"it changes playback rate rather than defining an animation timeline"},b(pk))),Gl=[{name:"slow-mo",primitive:"slow-mo"}];var mk=[gl,wl,Cl,Ml,Ll,$l,Hl],dk=[...yl,...Tl,...Rl,...Il,...Ol,...Dl,...Gl];function Vl(e){return fl(e,mk,dk,"Showcase")}function vr(){let e=new fe;return Pn(e),Nc(e),wc(e),Wc(e),Tc(e),vc(e),Kc(e),Zc(e),Ja(e),Ac(e),pc(e),al(e),pl(e),Vl(e),e}function Fl(e={}){return new ke({registry:vr(),...e})}var fk=Fl;return Jl(gk);})();
|
|
1
|
+
"use strict";var kuinetic=(()=>{var en=Object.defineProperty;var Ip=Object.getOwnPropertyDescriptor;var Lp=Object.getOwnPropertyNames;var Op=Object.prototype.hasOwnProperty;var Np=(e,t)=>{for(var r in t)en(e,r,{get:t[r],enumerable:!0})},_p=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Lp(t))!Op.call(e,o)&&o!==r&&en(e,o,{get:()=>t[o],enumerable:!(n=Ip(t,o))||n.enumerable});return e};var Dp=e=>_p(en({},"__esModule",{value:!0}),e);var aT={};Np(aT,{ATTR:()=>k,Animator:()=>Ge,CHANNEL:()=>y,COMBOS:()=>Cr,KEY_NOTE_OWNER:()=>Fn,KUI_EVENT:()=>X,PRESETS:()=>Ar,PRIMITIVES:()=>Tr,Registry:()=>Ce,SUBTREE_CHANNEL:()=>D,attributeChannel:()=>A,collectingReporter:()=>ja,consoleReporter:()=>$a,control:()=>Kt,createActivationBinder:()=>Rt,createAnimator:()=>Fa,createRegistry:()=>Ue,default:()=>nT,describe:()=>oT,describeAttribute:()=>pr,describeEffect:()=>kt,describeElement:()=>sT,describeElementAttribute:()=>mr,describeKeys:()=>Vn,describeSteps:()=>iT,detect:()=>zt,inertInstance:()=>Gt,kuinetic:()=>Mp,play:()=>qt,resolveActivationSpec:()=>le,resolveTargets:()=>yt,silentReporter:()=>ar,spellingsFor:()=>Wn,timingContractOf:()=>ur,toAttributeValue:()=>yn});function ct(e,t){try{return t.documentElement.matches(e)||t.body?.matches(e)?"document-wide":"ok"}catch{return"invalid"}}function _(e,t,r){if(!e)return e;let n=ct(e,t.doc);return n==="invalid"?(t.warn(`${r} target "${e}" is not a valid selector and will be ignored`),""):n==="document-wide"?(t.warn(`${r} target "${e}" matches the whole document and will be ignored`),""):e}var U={type:"keyword",default:"",cssProperty:"--kui-scope",keywords:["self","page"]};function W(e,t){let r=e.text("scope");return r==="page"?"page":r==="self"?"self":t}function $(e,t,r,n){return[...(n==="page"?t.doc:e).querySelectorAll(r)]}function ut(e,t,r){let n=[...e.querySelectorAll(r)];return n.length>0?n:[...t.doc.querySelectorAll(r)]}function Uo(){let e=new Map;function t(r,n,o){let i=e.get(r);i||(i=new Map,e.set(r,i));let s=i.get(n);if(!s){let c=new Set,u=()=>{for(let l of[...c])l()};s={listener:u,runs:c},i.set(n,s),r.addEventListener(n,u,{passive:!0})}s.runs.add(o);let a=!0;return()=>{a&&(a=!1,s.runs.delete(o),!(s.runs.size>0)&&(r.removeEventListener(n,s.listener),i?.delete(n),i?.size===0&&e.delete(r)))}}return{bind({sources:r,types:n,run:o}){let i=[];for(let s of r)for(let a of n)i.push(t(s,a,o));return()=>{for(let s of i)s()}},destroy(){for(let[r,n]of e)for(let[o,i]of n)r.removeEventListener(o,i.listener);e.clear()}}}function zo({el:e,from:t,reporter:r}){if(!t)return[e];let n=e.ownerDocument,o=ct(t,n);if(o!=="ok"){let s=o==="invalid"?"is not a valid selector":"matches the whole document";return r?.warn(`activation source "${t}" ${s} and will be ignored`,e),[]}let i=[...n.querySelectorAll(t)];return i.length===0&&r?.warn(`activation source "${t}" matched nothing`,e),i}function $p(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||r.width<=0||r.height<=0))return Math.min(1,t.width/r.width)*Math.min(1,t.height/r.height)}function tn(e){return`${Math.round(e*1e3)/10}%`}function Yo(e,t,r){let n=e.reporter;if(!n||r<=0||e.thresholdWarned)return;if(t.isIntersecting){e.sawIntersecting=!0;return}if(!e.sawIntersecting||e.entered)return;let o=$p(t);o===void 0||o>=r-1e-6||(e.thresholdWarned=!0,n.warn(`threshold:${tn(r)} can never be met on this element \u2014 it is larger than the root it scrolls through, so its intersection ratio maxes out around ${tn(o)} and never reaches ${tn(r)}. An IntersectionObserver only reports ratio crossings, so the library cannot soften this from here \u2014 author a smaller threshold, or make the element (or its scrolling root) fit the other.`,t.target))}function Jo(){let e=new WeakMap,t,r=Number.NEGATIVE_INFINITY,n=0,o=s=>{let a=s.target,c=Xo(a);if(!c)return;let u=e.get(a);if(e.set(a,c),!u)return;let l=c.y-u.y,p=c.x-u.x,m=Math.abs(l)>=Math.abs(p)?l:p;m!==0&&(t=m>0?"after":"before",r=s.timeStamp)},i=()=>{n=0,t=void 0,r=Number.NEGATIVE_INFINITY,typeof window<"u"&&window.removeEventListener("scroll",o,{capture:!0})};return{arrivedFrom:s=>s-r<=200?t:void 0,retain(){if(n++>0||typeof window>"u")return;window.addEventListener("scroll",o,{capture:!0,passive:!0});let s=Xo(window.document);s&&e.set(window.document,s)},release(){n===0||--n>0||i()},reset:i}}function Xo(e){if(e===window||e===window.document)return{x:window.scrollX,y:window.scrollY};if(e instanceof Element)return{x:e.scrollLeft,y:e.scrollTop}}var lt="/",rn={load:{kind:"immediate"},manual:{kind:"manual"},enter:{kind:"observed",when:"enter"},leave:{kind:"observed",when:"leave"},hover:{kind:"events",types:["pointerenter","focusin"]},unhover:{kind:"events",types:["pointerleave","focusout"]},focus:{kind:"events",types:["focusin"]},blur:{kind:"events",types:["focusout"]},click:{kind:"events",types:["click"]}},jp={load:["load"],manual:["manual"],enter:["enter"],leave:["enter"],hover:["hover"],unhover:["hover"],focus:["focus"],blur:["focus"],click:["click"]},Hp=["hover","focus","click"],ti=["click","dblclick","auxclick","contextmenu","pointerdown","pointerup","pointerenter","pointerleave","pointerover","pointerout","pointermove","pointercancel","gotpointercapture","lostpointercapture","mousedown","mouseup","mouseenter","mouseleave","mouseover","mouseout","mousemove","focusin","focusout","focus","blur","keydown","keyup","keypress","input","beforeinput","change","submit","reset","invalid","select","search","touchstart","touchend","touchmove","touchcancel","wheel","scroll","scrollend","dragstart","drag","dragend","dragenter","dragover","dragleave","drop","animationstart","animationend","animationiteration","animationcancel","transitionstart","transitionend","transitionrun","transitioncancel","play","playing","pause","ended","timeupdate","seeked","volumechange","ratechange","loadeddata","loadedmetadata","canplay","canplaythrough","waiting","stalled","toggle","beforetoggle","close","cancel","copy","cut","paste","load","error","abort","resize","fullscreenchange"],Vp=/^[A-Za-z][A-Za-z0-9._:-]*$/,Zo=2;function nn(e){return Object.hasOwn(rn,e)}function Qo(e){return nn(e)?rn[e]:{kind:"events",types:[e]}}function le(e){let t=String(e).split(lt),[r="",n]=t;return{source:e,names:t,start:Qo(r),...n===void 0?{}:{end:Qo(n)}}}function on(e){let t=e.split(lt);if(t.length>2)return[`activation "${e}" has more than one "${lt}" \u2014 expected "start${lt}end"`];if(t.filter(o=>!Vp.test(o)).length>0)return[`activation "${e}" is not an event name or a "start${lt}end" pair`];let n=t[1];return n!==void 0&&(n==="load"||n==="manual")?[`activation "${e}" cannot end on "${n}" \u2014 an exit needs an event to fire on`]:[]}function sn(e){return le(e).start.kind}function pt(e){return e.end===void 0&&e.start.kind==="observed"}function ri(e){return nn(e)?jp[e]:Hp}function Fp(e){return/[-:.]/.test(e)?!0:ti.includes(e)}function Gp(e){let t,r=Zo+1;for(let n of[...Object.keys(rn),...ti]){let o=Bp(e,n);o>=r||(r=o,t=n)}return r<=Zo&&r*2<e.length?t:void 0}function Bp(e,t){let r=Array.from({length:t.length+1},(n,o)=>o);for(let n=1;n<=e.length;n++){let o=[n];for(let i=1;i<=t.length;i++){let s=r[i-1]+(e[n-1]===t[i-1]?0:1);o.push(Math.min(r[i]+1,o[i-1]+1,s))}r=o}return r[t.length]}var ei=()=>{},Wp=1e-6;function ni(e,t){return e.isIntersecting?t<=0?!0:e.intersectionRatio>=t-Wp:!1}function qp(e,t,r,n){if(Yo(e,t,r),e.onCross)return Kp(e,t,r,n);let o=ni(t,r);if(o===e.entered)return;e.entered=o;let i=o?e.onEnter:e.onLeave;i&&(i(),e.oneShot&&e.release())}function Kp(e,t,r,n){let o=Yp(t);if(!ni(t,r))return Up(e,o,n);if(e.entered)return;let i=(n??e.outside)==="before"?"enter-back":"enter";e.entered=!0,e.outside=void 0,e.onCross?.(i)}function Up(e,t,r){if(t&&(e.outside=t),!e.entered)return;e.entered=!1;let n=t??zp(r);e.onCross?.(n==="after"?"leave-back":"leave")}function zp(e){if(e)return e==="after"?"before":"after"}function Yp(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||!r)){if(r.bottom<=t.top||r.right<=t.left)return"before";if(r.top>=t.bottom||r.left>=t.right)return"after"}}function Rt(e={}){let t=new Map,r=new WeakMap,n=Uo(),o=e.createObserver??Qp(),i=Jo(),s=e.reporter;function a(u){if(!o)return;let l=Zp(u),p=String(l),m=t.get(p);if(m)return{key:p,shared:m};let d={observer:o(g=>{for(let h of g){let v=r.get(h.target);v&&qp(v,h,l,i.arrivedFrom(h.time))}},{threshold:l}),count:0};return t.set(p,d),{key:p,shared:d}}function c(u,l,p){let m=a(p.threshold);if(!m)return l.failOpen&&p.activate(),ei;let{key:f,shared:d}=m,g=!!l.onCross;g&&i.retain();let h=!0,v=()=>{h&&(h=!1,g&&i.release(),r.delete(u),d.observer.unobserve(u),d.count--,!(d.count>0)&&(d.observer.disconnect(),t.delete(f)))};return r.set(u,{onEnter:l.onEnter,onLeave:l.onLeave,...l.onCross?{onCross:l.onCross}:{},oneShot:l.oneShot,release:v,entered:!1,reporter:s,sawIntersecting:!1,thresholdWarned:!1}),d.count++,d.observer.observe(u),v}return{bind(u,l,p){let m=le(l),f=Xp(m,p),d=[],g,h=Jp(f);if(h){let v=m.start.kind==="observed",E=p.cross;d.push(c(u,{...h,...E?{onCross:E}:{},oneShot:E?!1:pt(m),failOpen:v},p))}for(let v of f){let{trigger:E}=v;E.kind==="events"?(g??=zo({el:u,from:p.from,reporter:s}),d.push(n.bind({sources:g,types:E.types,run:v.run}))):E.kind==="immediate"&&v.run()}return d.length===0?ei:()=>{for(let v of d)v()}},destroy(){for(let{observer:u}of t.values())u.disconnect();t.clear(),n.destroy(),i.reset()}}}function Xp(e,t){let r=[{trigger:e.start,run:()=>t.activate()}],n=t.deactivate;return e.end&&n&&r.push({trigger:e.end,run:()=>n()}),r}function Jp(e){let t={},r=!1;for(let n of e)n.trigger.kind==="observed"&&(r=!0,n.trigger.when==="enter"?t.onEnter=n.run:t.onLeave=n.run);return r?t:void 0}function Zp(e){let t=Number.parseFloat(e);if(Number.isNaN(t))return 0;let r=e.includes("%")?t/100:t;return Math.min(1,Math.max(0,r))}function Qp(){if(!(typeof IntersectionObserver>"u"))return(e,t)=>new IntersectionObserver(e,t)}function em(e,t){let r=ri(e);if(!r.includes("enter"))return!1;let n=o=>r.some(i=>o.supported.includes(i));return t.some(o=>o.entrance&&n(o))?t.every(o=>n(o)||o.supported.includes("load")):!1}function oi(e){tm(e),rm(e)}function tm({el:e,spec:t,supported:r,claims:n,reporter:o}){if(!(r.length>0||(n?.some(a=>a.supported.length>0)??!1)))return;let s=r.length>0?r.join(", "):"none in common across the composed effects";for(let a of t.names)ri(a).some(c=>r.includes(c))||n&&em(a,n)||o.warn(`activation "${a}" is not supported by this effect (supports: ${s})`,e)}function rm({el:e,spec:t,reporter:r}){if("onclick"in e)for(let n of t.names){if(nn(n)||Fp(n)||`on${n}`in e)continue;let o=Gp(n),i=o?`; did you mean "${o}"?`:"",s=`no DOM event named "${n}" \u2014 data-kui-on binds it anyway, so nothing will start it`;r.warn(`${s}${i}`,e)}}var k={source:"data-kui",define:"data-kui-define",normalized:"data-kui-fx",state:"data-kui-state",on:"data-kui-on",timeline:"data-kui-timeline",threshold:"data-kui-threshold",stagger:"data-kui-stagger",cloak:"data-kui-cloak",rm:"data-kui-rm",unmatched:"data-kui-unmatched",part:"data-kui-part"};var an={sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},$e=Object.keys(an),ii=[["above","below"],["wide","narrow"]];function si(e){return ii.find(t=>t.includes(e))}function ai(e){return Object.hasOwn(an,e)}function mt(e){return $e.indexOf(e)}function Mt(e,t){return`--kui-${e}-${t}`}function ci(e){return`(min-width: ${an[e]})`}function ui(e,t){if(!t)return e;let r=e;return t.narrow&&(r=`var(${Mt("narrow",t.narrow)}, ${r})`),t.wide&&(r=`var(${Mt("wide",t.wide)}, ${r})`),t.below&&(r=`var(${Mt("below",t.below)}, ${r})`),t.above&&(r=`var(${Mt("above",t.above)}, ${r})`),r}function It(e,t){if(!e||typeof t?.matchMedia!="function")return!0;let r=n=>t.matchMedia(ci(n)).matches;return!(e.above&&!r(e.above)||e.below&&r(e.below))}function li(e,t){if(!e||!t)return!0;let r=(o,[i,s])=>[o[i]?mt(o[i]):-1,o[s]?mt(o[s]):$e.length],n=o=>{let[i,s]=r(e,o),[a,c]=r(t,o);return i<c&&a<s};return ii.every(n)}function pi(e){let t=new Set;for(let r of e)r.above&&t.add(r.above),r.below&&t.add(r.below);return[...t]}function mi(e,t){let r=new Map,n=new Map;function o(i){if(typeof e?.matchMedia!="function"||n.has(i))return;let s=e.matchMedia(ci(i));if(typeof s.addEventListener!="function")return;let a=()=>{for(let[c,u]of[...r])u.includes(i)&&t(c)};s.addEventListener("change",a),n.set(i,()=>s.removeEventListener("change",a))}return{watch(i,s){if(s.length===0){r.delete(i);return}r.set(i,[...s]);for(let a of s)o(a)},unwatch(i){r.delete(i)},destroy(){for(let i of n.values())i();n.clear(),r.clear()}}}var ce={stiffness:180,damping:24,mass:1,restVelocity:.05,restDisplacement:.05},nm=1/240,om=.25;function cn(e,t,r,n){let{value:o,velocity:i}=e,s=Math.min(Math.max(n,0),om);for(;s>0;){let a=Math.min(nm,s),c=-r.stiffness*(o-t)-r.damping*i;i+=c/r.mass*a,o+=i*a,s-=a}return{value:o,velocity:i}}function un(e,t,r){return Math.abs(e.velocity)<r.restVelocity&&Math.abs(e.value-t)<r.restDisplacement}var di=1e4;function xe(e,t,r){let n=im(e)?e:ce;n!==e&&r.warn?.("invalid spring configuration; using defaults");let o={value:0,velocity:0},i=0,s=null,a=0,c=0;function u(f){s=null;let d=(f-a)/1e3;if(a=f,o=cn(o,i,n,d),!sm(o)||!Number.isFinite(i)){m("spring produced non-finite state");return}if(f-c>=di){m(`spring exceeded ${di}ms settle budget`);return}if(un(o,i,n)){o={value:i,velocity:0},t(o.value,!0);return}t(o.value,!1),l()}function l(){s===null&&(s=r.requestFrame(u))}function p(){c=r.now(),s===null&&(a=c),l()}function m(f){o={value:Number.isFinite(i)?i:0,velocity:0},r.warn?.(f),t(o.value,!0)}return{to(f,d){i=f,d!==void 0&&(o={...o,velocity:d}),p()},set(f,d=0){o={value:f,velocity:d}},current:()=>({...o}),stop(){s!==null&&r.cancelFrame(s),s=null}}}function im(e){return Object.values(e).every(Number.isFinite)&&e.stiffness>0&&e.damping>0&&e.mass>0&&e.restVelocity>0&&e.restDisplacement>0}function sm(e){return Number.isFinite(e.value)&&Number.isFinite(e.velocity)}function Lt(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(()=>t(Date.now()),16),cancelFrame:t=>globalThis.clearTimeout(t),now:()=>Date.now()}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t),now:()=>performance.now()}}var vi=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),bi="spring(",dn=2/3,Ei=180,Si=1,am=2*dn*Math.sqrt(Ei*Si),Nt=.15,ln=4,Ot=1-Nt,pn=["stiffness","damping","mass"],fi=["bounce",...pn],Pi=1/240,cm=4e4,um=.001,lm=.001,gi=16,pm=64,mm=10,_t=1e3;function fn(e){return e.startsWith(bi)&&e.endsWith(")")}function Te(e){return vi.has(e)?e:fn(e)?Ti(ki(e)):e.includes("(")?e:`var(--kui-ease-${e}, ease-out)`}var yi="ease-out";function Dt(e,t,r){if(!e)return;if(vi.has(e))return e;if(fn(e))return Ti(ki(e));if(e.includes("("))return e;let n=dm(e,t);return n||(r(`easing "${e}" has no --kui-ease-${e} definition \u2014 using ${yi}`),yi)}function dm(e,t){let r=t.ownerDocument.defaultView;return r?r.getComputedStyle(t).getPropertyValue(`--kui-ease-${e}`).trim():""}function $t(e){if(!fn(e))return[];let{values:t,problems:r}=wi(e);return xi(t,r),r}function ki(e){let{values:t,problems:r}=wi(e);return xi(t,r)}function wi(e){let t=new Map,r=[],n=e.slice(bi.length,-1).trim();if(n)for(let o of n.split(/\s+/))fm(o,t,r);return{values:t,problems:r}}function fm(e,t,r){let n=e.indexOf(":"),o=n<0?e:e.slice(0,n),i=n<0?"":e.slice(n+1);if(!fi.includes(o)){r.push(`unknown spring parameter "${e}" \u2014 expected ${fi.join(", ")}`);return}let s=Number(i);if(i===""||!Number.isFinite(s)||s<0){r.push(`spring "${o}" expects a non-negative number \u2014 got "${i}"`);return}t.has(o)&&r.push(`duplicate spring parameter "${o}"`),t.set(o,s)}function xi(e,t){let r=e.get("bounce"),n=pn.some(a=>e.has(a));if(r!==void 0)return n&&t.push(`spring "bounce" and "${pn.join('"/"')}" describe the same curve two ways \u2014 "bounce" wins`),1-gm(r,t);if(!n)return dn;let o=e.get("stiffness")??Ei,i=e.get("mass")??Si,s=e.get("damping")??am;return ym(s/(2*Math.sqrt(o*i)),t)}function gm(e,t){return e<=Ot?e:(t.push(`spring "bounce:${e}" is past ${Ot} \u2014 a spring that bouncy never settles inside one animation, so it is capped at ${Ot}`),Ot)}function ym(e,t){if(!Number.isFinite(e))return t.push("spring constants do not describe a spring \u2014 using the default curve"),dn;if(e>=Nt&&e<=ln)return e;let r=Math.min(Math.max(e,Nt),ln);return t.push(`spring damping ratio ${mn(e)} is outside ${Nt}\u2013${ln} \u2014 clamped to ${mn(r)} so the curve settles`),r}var hi=new Map;function Ti(e){let t=Math.round(e*_t),r=hi.get(t);if(r!==void 0)return r;let n=hm(t/_t);return hi.set(t,n),n}function hm(e){let t=vm(e),r=bm(e,(t.length-1)*Pi),n=[];for(let o=0;o<=r;o++)n.push(String(mn(Em(t,o/r))));return n[0]="0",n[r]="1",`linear(${n.join(", ")})`}function vm(e){let t={stiffness:1,damping:2*e,mass:1,restVelocity:lm,restDisplacement:um},r=[0],n={value:0,velocity:0};for(let o=0;o<cm&&(n=cn(n,1,t,Pi),r.push(n.value),!un(n,1,t));o++);return r}function bm(e,t){if(e>=1)return gi;let r=2*Math.PI/Math.sqrt(1-e*e),n=gi+Math.round(mm*t/r);return Math.min(n,pm)}function Em(e,t){let r=t*(e.length-1),n=Math.floor(r),o=Math.min(n+1,e.length-1),i=e[n];return i+(e[o]-i)*(r-n)}function mn(e){return Math.round(e*_t)/_t}var dt="infinite",Sm=/^(?:\d+(?:\.\d+)?|\.\d+)$/,Pm=new Set(["view","scroll","pin"]),km=new Set(["repeat","yoyo"]);function Ai(e){return km.has(e)}function Ci(e,t,r,n){e[t]!==void 0&&n.warn(`duplicate parameter "${t}" in "${n.segment}"`),t==="yoyo"?xm(e,r,n):wm(e,r,n)}function wm(e,t,r){if(t===dt){e.repeat=dt;return}if(!Sm.test(t)){r.warn(Tm(t,r.segment));return}Number(t)===0&&r.warn(`"repeat:0" in "${r.segment}" means the effect never plays \u2014 with animation-fill-mode: both it jumps straight to its end state. Write "repeat:1" to play it once, or drop the key.`),e.repeat=t}function xm(e,t,r){if(t!=="true"&&t!=="false"){r.warn(`"yoyo:${t}" in "${r.segment}" is not a boolean \u2014 expected yoyo:true or yoyo:false`);return}e.yoyo=t==="true"}function Tm(e,t){return e.startsWith("-")?`"repeat:${e}" in "${t}" is negative \u2014 a play count cannot be. Write "repeat:infinite" to loop forever, or a non-negative number such as repeat:3.`:`"repeat:${e}" in "${t}" is not a play count \u2014 expected a non-negative number such as repeat:3, or repeat:infinite`}function Ri(e){let t=[];if(e.repeat===void 0&&e.yoyo===void 0)return{warnings:t};if(e.renderer!=="css-keyframes")return{warnings:[Cm(e)]};if(e.repeat===dt&&Pm.has(e.timeline))return t.push(Rm(e.name,e.timeline)),{yoyo:e.yoyo,warnings:t};let r=Am(e);return r&&t.push(r),{repeat:e.repeat,yoyo:e.yoyo,warnings:t}}function Am(e){if(!e.cloak||e.yoyo!==!0)return null;let t=jt(e.repeat);return t===void 0||t===0||t%2!==0?null:`"${e.name}" with yoyo:true and an even repeat:${e.repeat} ends on a reversed iteration, and this effect's from-state is one the visitor is not meant to see \u2014 the element finishes hidden. Use an odd count (repeat:${t+1}) to end at the rest state.`}function Cm(e){let t=[e.repeat===void 0?"":`repeat:${e.repeat}`,e.yoyo===void 0?"":`yoyo:${e.yoyo}`].filter(Boolean).join(" and ");return`"${e.name}" is rendered in JavaScript and compiles no animation-iteration-count, so ${t} does nothing \u2014 it plays once. Repeat is a CSS-keyframes capability; a JS-rendered effect that loops does it through a parameter of its own (typewriter's "loop:"), if it has one.`}function Rm(e,t){let r=t==="pin"?"a pin scrubs a single playthrough with a negative animation-delay, so no iteration past the first is ever reachable":`a "${t}" timeline is a finite range driven by scroll position rather than a clock, and an infinite iteration count collapses the animation's active duration to zero there \u2014 the element renders frozen at its end state`;return`"${e}" has repeat:infinite on a "${t}" timeline: ${r}. Dropping the repeat, so it plays once across the range \u2014 put an infinite loop on a "time" timeline instead.`}function jt(e){if(!(e===void 0||e===dt))return Number(e)}function Mi(e){return e===dt}function Ii(e){return e?"alternate":"normal"}function Ht(e,t){let r=jt(t);return r===void 0||r===1?e:`${e} * ${r}`}var Vt=["enter","leave","enter-back","leave-back"],Li=new Set(["play","pause","resume","reverse","reset","restart","complete","none"]),Ni=new Set(["pause","resume","reset","restart","complete"]),Oi="/";function Ft(e,t=[]){let r=e.split(Oi);r.length>Vt.length&&t.push(`"actions:${e}" has ${String(r.length)} verbs \u2014 there are four crossings (${Vt.join(Oi)}), so the extras are ignored`);let n={enter:"none",leave:"none","enter-back":"none","leave-back":"none"};for(let[o,i]of Vt.entries()){let s=r[o]?.trim();s===void 0||s===""||(n[i]=Mm(s,i,t))}return n}function Mm(e,t,r){return Li.has(e)?e:(r.push(`unrecognised action "${e}" for the "${t}" crossing \u2014 expected ${[...Li].join(", ")}`),"none")}function _i(e){let t=[];return Ft(e,t),t}function Im(e){for(let t of Vt)if(Ni.has(e[t]))return e[t]}function Di(e){if(!e.observed)return[`"actions:" describes the four crossings of a scroll trigger, but this element activates on "${e.activation}" \u2014 nothing here is ever reached. Use on:enter or on:enter/leave`];let t=Im(e.actions);if(t===void 0)return[];let r=[];e.progressDriven&&r.push(`"actions:" asks to ${t} an element whose progress is driven by scroll position rather than by a clock \u2014 its playhead belongs to the scroller and would be overwritten on the next frame`);let n=e.jsEffectNames;if(n.length>0){let o=n.length===1;r.push(`"actions:" asks to ${t}, which needs a playhead, and "${n.join(" ")}" ${o?"is":"are"} rendered in JavaScript and expose${o?"s":""} none \u2014 that crossing does nothing for ${o?"it":"them"}`)}return r}function $i(e,t){e==="play"?t.activate():e==="reverse"?t.reverse():Ni.has(e)&&Lm(e,t)}function Lm(e,t){if(!t.started){Om(e)&&t.activate();return}(e==="restart"||e==="complete")&&t.activate();for(let r of t.controls)Nm(e,r)}function Om(e){return e==="resume"||e==="restart"||e==="complete"}function Nm(e,t){e==="pause"?t.pause():e==="resume"?t.resume():e==="complete"?t.seek(1):(t.seek(0),e==="reset"?t.pause():t.resume())}var y={opacity:"opacity",translate:"translate",scale:"scale",rotate:"rotate",filter:"filter",clip:"clip",background:"background",color:"color",stroke:"stroke",text:"text",skew:"skew"};function A(e){return`attr:${e}`}var D="subtree";function Gt(e=()=>{}){return{activate(){},cancel(){},finish(){},finished:Promise.resolve(),destroy:e}}var je=["activation","actions","timeline","threshold","cascade","spread","order","cols","along"];var _m=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/,Dm=["cubic-bezier(","steps(","linear(","spring("],$m=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end","expo-in","expo-out","expo-in-out","back-in","back-out","back-in-out","quart-out","circ-out","spring","bounce"]);function Ae(e,t,r=[]){let n=[],o={depth:0,quote:null,escaped:!1},i="";for(let s of e){if(jm(s,t,o)){i.trim()&&n.push(i.trim()),i="";continue}i+=s}return i.trim()&&n.push(i.trim()),o.quote?r.push(`unterminated ${o.quote} quote in "${e}"`):o.depth>0&&r.push(`unclosed "(" in "${e}"`),n}function jm(e,t,r){return r.quote?Hm(e,r):e==='"'||e==="'"?(r.quote=e,!1):(e==="("?r.depth++:e===")"&&(r.depth=Math.max(0,r.depth-1)),r.depth!==0?!1:t===" "?/\s/.test(e):e===t)}function Hm(e,t){return t.escaped?t.escaped=!1:e==="\\"?t.escaped=!0:e===t.quote&&(t.quote=null),!1}function ft(e){let t=0;for(let r=0;r<e.length;r++){let n=e[r];if(n==="(")t++;else if(n===")")t=Math.max(0,t-1);else if(n===":"&&t===0){let o=e.slice(0,r).trim(),i=Vm(e.slice(r+1).trim());return o&&i?[o,i]:null}}return null}function Vm(e){let t=e[0];return(t==='"'||t==="'")&&e.endsWith(t)&&e.length>1?e.slice(1,-1).replaceAll(`\\${t}`,t):e}function Vi(e){let t=[],r=Ae(e??""," ",t),[n,...o]=r;if(!n)return{warnings:t};t.push(...on(n));let i;for(let s of o){let a=ft(s);if(!a||a[0]!=="from"){t.push(`unrecognised activation option "${s}"`);continue}if(i!==void 0){t.push(`duplicate activation option "from" in "${e}"`);continue}i=a[1]}return t.length>0?{warnings:t}:{activation:n,...i===void 0?{}:{from:i},warnings:t}}function Fm(e){let t=ft(e);return t?{kind:"pair",key:t[0],value:t[1]}:_m.test(e)?{kind:"time",value:e}:Gm(e)?{kind:"easing",value:e}:{kind:"unknown",value:e}}function Gm(e){return $m.has(e)?!0:Dm.some(t=>e.startsWith(t)&&e.endsWith(")"))}function de(e){let t={specs:[],warnings:[]};for(let r of Ae(e??"",",",t.warnings)){let n=Bm(r,t);n&&t.specs.push(n)}return t}function Bm(e,t){let r=Ae(e," ",t.warnings),n=r.shift();if(ft(n))return zm(n,r,t)||t.warnings.push(`effect name expected, got "${n}"`),null;let o={name:n,params:{}},i=0,s=qm(r)?{specs:[],warnings:[]}:null;for(let a of r){let c=Fm(a);c.kind==="time"?i=Xm(o,c.value,i,t.warnings):Jm(c,o,{segment:e,result:t,sink:s})}return Wm(o,s,t),o}function Wm(e,t,r){if(!t)return;r.warnings.push(...t.warnings);let n=Km(t);n&&(e.hoists=n)}function qm(e){return e.some(t=>ft(t)?.[0]==="target")}function Km(e){let t={},r=!1;for(let n of je){let o=e[n];o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0}var Um=new Set(["on","actions","timeline","threshold","cascade","spread","order","cols","along"]);function zm(e,t,r){let n=[];for(let o of[e,...t]){let i=ft(o);if(!i||!Ym.has(i[0])||!Object.hasOwn(Bt,i[0]))return!1;n.push(i)}for(let[o,i]of n)Bt[o](r,i);return!0}var Ym=new Set(["cascade","spread","order","cols","along"]);function Xm(e,t,r,n){return r===0?e.duration=t:r===1?e.delay=t:n.push(`third time value "${t}" ignored (expected duration then delay)`),r+1}function Jm(e,t,r){let{segment:n,result:o,sink:i}=r;if(e.kind==="easing"){Zm(e.value,t,n,o);return}if(e.kind==="unknown"){o.warnings.push(`unrecognised token "${e.value}" in "${n}" \u2014 expected [duration] [delay] [easing] or key:value`);return}if(!Qm(e.key,e.value,t,r)){if(Object.hasOwn(Bt,e.key)){let s=i&&Um.has(e.key)?i:o;Bt[e.key](s,e.value);return}e.key in t.params&&o.warnings.push(`duplicate parameter "${e.key}" in "${n}"`),t.params[e.key]=e.value}}function Zm(e,t,r,n){t.easing&&n.warnings.push(`duplicate easing "${e}" in "${r}"`);for(let o of $t(e))n.warnings.push(`${o} in "${r}"`);t.easing=e}function Qm(e,t,r,n){let{segment:o,result:i}=n;return e==="at"?(r.at!==void 0&&i.warnings.push(`duplicate parameter "at" in "${o}"`),r.at=t,!0):td(e)?(rd(r,e,t,n),!0):Ai(e)?(Ci(r,e,t,{segment:o,warn:s=>i.warnings.push(s)}),!0):!1}var ed=new Set(["above","below","wide","narrow"]);function td(e){return ed.has(e)}function rd(e,t,r,n){let{segment:o,result:i}=n;if(!ai(r)){i.warnings.push(`unknown breakpoint "${r}" in "${o}" \u2014 expected one of ${$e.join(", ")}`);return}let s=e.gate??={};s[t]!==void 0&&i.warnings.push(`duplicate parameter "${t}" in "${o}"`),s[t]=r,nd(s,si(t),o,i)}function nd(e,t,r,n){let[o,i]=t,s=e[o],a=e[i];!s||!a||mt(s)<mt(a)||n.warnings.push(`"${o}:${s} ${i}:${a}" in "${r}" can never match \u2014 "${o}" must name a smaller breakpoint than "${i}"`)}var ji=new Set(["shorten","crossfade","disable"]),Bt={on(e,t){let r=on(t);if(r.length>0){e.warnings.push(...r);return}re(e,"activation",t,"activations")},timeline(e,t){re(e,"timeline",t,"timelines")},actions(e,t){let r=_i(t);if(r.length>0){e.warnings.push(...r);return}re(e,"actions",t,"crossing actions")},threshold(e,t){re(e,"threshold",t,"thresholds")},cascade(e,t){Hi(e,"spread","cascade",t),re(e,"cascade",t,"stagger steps")},spread(e,t){Hi(e,"cascade","spread",t),re(e,"spread",t,"stagger budgets")},order(e,t){re(e,"order",t,"stagger orders")},cols(e,t){re(e,"cols",t,"stagger column counts")},along(e,t){re(e,"along",t,"stagger axes")},rm(e,t){if(!ji.has(t)){e.warnings.push(`unrecognised "rm:${t}" \u2014 expected ${[...ji].join(", ")}`);return}re(e,"rm",t,"reduced-motion policies")},func(e,t){re(e,"func",t,"callbacks")}};function Hi(e,t,r,n){let o=e[t];o!==void 0&&e.warnings.push(`"${t}:${o}" and "${r}:${n}" are two ways to set one stagger step \u2014 the total budget ("spread:") wins`)}function re(e,t,r,n){let o=e[t];if(o===void 0){e[t]=r;return}o!==r&&e.warnings.push(`conflicting ${n} "${String(o)}" and "${String(r)}"`)}var Ce=class{primitives=new Map;presets=new Map;combos=new Map;registerPrimitive(t){if(this.primitives.has(t.id))throw new Error(`kuinetic: primitive "${t.id}" is already registered`);return this.primitives.set(t.id,id(t)),this}registerPreset(t){if(this.presets.has(t.name))throw new Error(`kuinetic: effect "${t.name}" is already registered`);if(!this.primitives.has(t.primitive))throw new Error(`kuinetic: effect "${t.name}" references unknown primitive "${t.primitive}"`);for(let r of t.transitions??[])if(r.property==="all"||r.property==="none")throw new Error(`kuinetic: effect "${t.name}" declares a transition on "${r.property}", which would swallow every other preset's segment in the merged transition list \u2014 name the real property instead`);return this.presets.set(t.name,t),this}registerPresets(t){for(let r of t)this.registerPreset(r);return this}registerPrimitives(t){for(let r of t)this.registerPrimitive(r);return this}registerCombo(t,r){return this.combos.set(Fi(t),r),this}resolve(t){let r=this.presets.get(t);if(!r)return;let n=this.primitives.get(r.primitive);return{preset:r,primitive:n}}findCombo(t){let r=this.combos.get(Fi(t));return r?this.resolve(r):void 0}has(t){return this.presets.has(t)}names(){return[...this.presets.keys()].sort((t,r)=>t.localeCompare(r))}getPrimitive(t){return this.primitives.get(t)}},od=["duration","delay","ease"];function Re(e,t){return`--kui-${e}-${t}`}function id(e){let t={...e.parameters};for(let r of od){let n=t[r];n&&(t[r]={...n,cssProperty:Re(e.id,r)})}return{...e,parameters:t}}function Fi(e){return[...e].sort((t,r)=>t.localeCompare(r)).join("+")}function Ye(e,t){let r,n=1/0;for(let o of t){let i=sd(e,o);i<n&&(n=i,r=o)}return n<=Math.max(2,Math.floor(e.length/3))?r:void 0}function sd(e,t){let r=e.length+1,n=t.length+1,o=Array.from({length:n},(i,s)=>s);for(let i=1;i<r;i++){let s=[i,...Array(n-1).fill(0)];for(let a=1;a<n;a++){let c=e[i-1]===t[a-1]?0:1;s[a]=Math.min(s[a-1]+1,o[a]+1,o[a-1]+c)}o=s}return o[n-1]}var Gi=["activation","timeline","threshold","rm","func"],ad={activation:"on",timeline:"timeline",threshold:"threshold",rm:"rm",func:"func"},Wt=class{constructor(t){this.registry=t}bundles=new Map;collect(t,r){let n=0;for(let o of pd(t))this.define(o,r)&&n++;return n}expand(t){if(this.bundles.size===0)return t;let r={warnings:[...t.warnings],hoists:{}},n=this.expandList(t.specs,[],r),o={...t,specs:n,warnings:r.warnings};for(let i of Gi)Bi(o,r.hoists,i);return o}define(t,r){let n=t.getAttribute(k.define).trim(),o=t.getAttribute(k.source)??"",i=this.nameProblem(n);if(i)return r.warn(i,t),!1;let s=this.bundles.get(n);return s?(s.source!==o&&r.warn(`bundle "${n}" is already defined \u2014 the first definition wins`,t),!1):(t.localName!=="template"&&r.warn(`bundle "${n}" is defined on <${t.localName}> \u2014 a definition is data, so it is never animated; use <template>`,t),this.bundles.set(n,cd(n,o,t,r)),!0)}nameProblem(t){if(!t)return`${k.define} needs a name \u2014 an empty one defines nothing`;if(/[\s,:()"']/.test(t))return`bundle name "${t}" cannot contain whitespace, a comma, a colon, parentheses or quotes \u2014 those are grammar, so a name carrying them could never be written in ${k.source}`;if(this.registry.has(t))return`bundle "${t}" is already the name of a registered effect \u2014 the effect wins and this definition is ignored`}expandList(t,r,n){let o=[];for(let i of t){let s=this.bundles.get(i.name);if(!s){o.push(i),this.noteNearMiss(i.name,n.warnings);continue}if(r.includes(i.name)){n.warnings.push(ld(r,i.name));continue}ud(s,i.name,n);let a=this.expandList(s.specs,[...r,i.name],n);fd(i,a,n.warnings);for(let c of a)o.push(md(c,i))}return o}noteNearMiss(t,r){if(this.registry.has(t))return;let n=Ye(t,[...this.bundles.keys()]);n&&r.push(`"${t}" is not a registered effect \u2014 did you mean the bundle "${n}"?`)}};function cd(e,t,r,n){let o=de(t);for(let s of o.warnings)n.warn(`in bundle "${e}": ${s}`,r);o.specs.length===0&&n.warn(`bundle "${e}" names no effect \u2014 elements that use it animate nothing`,r);let i=["cascade","spread","order","cols","along"].filter(s=>o[s]!==void 0).map(s=>`"${s}:"`).join(" and ");return i&&n.warn(`bundle "${e}" declares ${i} \u2014 a stagger group is read from the group element's own attribute, which never sees a bundle, so it is dropped; write it on the group element itself`,r),{source:t,specs:o.specs,hoists:o}}function ud(e,t,r){for(let n of Gi){if(Bi(r.hoists,e.hoists,n)!=="clash")continue;let o=ad[n],i=String(r.hoists[n]);r.warnings.push(`bundle "${t}" sets "${o}:${String(e.hoists[n])}", which conflicts with "${o}:${i}" from an earlier bundle \u2014 the first wins`)}}function ld(e,t){let r=[...e,t].join(" \u2192 ");return`bundle "${t}" is defined in terms of itself (${r}) \u2014 the reference is dropped`}function pd(e){let t=`[${k.define}]`,r=[...e.querySelectorAll(t)],n=e.nodeType===1?e:null;return n?.matches(t)&&r.unshift(n),r}function Bi(e,t,r){let n=t[r];if(n===void 0)return"kept";let o=e[r];return o===void 0?(e[r]=n,"taken"):o===n?"kept":"clash"}function md(e,t){return{...e,duration:t.duration??e.duration,delay:t.delay??e.delay,easing:t.easing??e.easing,at:t.at??e.at,gate:t.gate??e.gate,repeat:t.repeat??e.repeat,yoyo:t.yoyo??e.yoyo,params:{...e.params,...t.params},hoists:dd(e.hoists,t.hoists)}}function dd(e,t){if(!e&&!t)return;let r={...e};for(let n of je){let o=t?.[n];o!==void 0&&(r[n]=o)}return r}function fd(e,t,r){e.at===void 0||!t.some(n=>n.at!==void 0)||r.push(`"at:${e.at}" on "${e.name}" overrides the offsets the bundle sets on its own segments \u2014 they now all start at the same position`)}function yt(e,t){return typeof e=="string"?[...t.querySelectorAll(e)]:e instanceof Element?[e]:[...e]}function gn(e){if(e!==void 0)return typeof e=="number"?`${e}ms`:e}var gd=/[\s,()"']/;function yd(e){return gd.test(e)?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:e}function hd(e){let t=0;for(let r of e)if(r==="(")t++;else if(r===")")t=Math.max(0,t-1);else if(r===":"&&t===0)return!0;return!1}function gt(e,t){let r=[],n=Ae(t," ",r),o=Ae(t,",",r),i=n.length===1&&n[0]===t;if(!(r.length===0&&i&&o.length===1&&!hd(t)))throw new Error(`play(): ${e} "${t}" cannot be serialized \u2014 it contains a space, comma, colon, quote, or unbalanced parenthesis the parser cannot read back as one token`)}function yn(e,t={}){gt("effect",e);let{duration:r,delay:n,ease:o,...i}=t;delete i.stagger;let s=[e],a=gn(n),c=gn(r);c&&(gt("duration",c),s.push(c)),a&&(gt("delay",a),s.push(c?a:`delay:${a}`)),o&&(gt("easing",o),s.push(o));for(let[u,l]of Object.entries(i))l!==void 0&&(gt("parameter name",u),s.push(`${u}:${yd(String(l))}`));return s.join(" ")}function qt(e,t={}){let{animator:r,root:n,target:o,effect:i}=e,s=yt(o,n),a=gn(t.stagger),c=yn(i,t);for(let[p,m]of s.entries())a&&(m.style.setProperty("--kui-stagger",a),m.style.setProperty("--kui-i",String(p))),r.reset(m),m.hasAttribute(k.on)||m.setAttribute(k.on,"manual"),m.setAttribute(k.source,c),r.process(m),r.activate(m);let u=p=>[p,...r.derivedOf(p)].flatMap(m=>r.stateOf(m)?.instances??[]),l=Promise.all(s.flatMap(p=>u(p).map(m=>m.finished))).then(()=>{});return{elements:s,finished:l,cancel(){for(let p of s)r.cancel(p)},finish(){for(let p of s)for(let m of u(p))m.finish()}}}var hn=0;function Wi(e){return Math.min(1,Math.max(0,e))}function Ui(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function zi(e){return Ui(e.effect?.getComputedTiming?.().endTime)}function qi(e){let t=hn;for(let r of e)t=Math.max(t,zi(r));return t}function Yi(e){return e.length===0?"idle":e.includes("running")?"running":e.includes("paused")?"paused":e.every(t=>t==="finished")?"finished":"idle"}function Ki(e){try{e()}catch{}}function Xi(e,t){return{pause(){t.set("animation-play-state","paused")},resume(){t.set("animation-play-state","running")},reverse(){for(let r of e())Ki(()=>r.reverse());t.set("animation-play-state","running")},seek(r){let n=e(),o=qi(n);if(o===hn)return;let i=Wi(r)*o;for(let s of n)Ki(()=>{s.currentTime=Math.min(i,zi(s))})},rate(r){for(let n of e())n.playbackRate=r},get progress(){let r=e(),n=qi(r);if(n===hn)return 0;let o=0;for(let i of r)o=Math.max(o,Ui(i.currentTime));return Wi(o/n)},get playState(){return Yi(e().map(r=>r.playState))}}}function vd(e,t){let r=e.stateOf(t);if(!r)return{el:t,controls:[],unreachable:[],refused:!0,note:"no kUInetic effect is installed on this element \u2014 it has no playhead to control"};if(r.progressDriven)return{el:t,controls:[],unreachable:[...r.fxNames],refused:!0,note:`"${r.fxNames.join(" ")}" is driven by scroll position rather than a clock, so its playhead belongs to the scroller \u2014 pausing or seeking it would be overwritten on the next frame`};let n=r.instances.map(i=>i.control).filter(i=>i!==void 0),o=[...r.jsEffectNames];return o.length===0?{el:t,controls:n,unreachable:o}:{el:t,controls:n,unreachable:o,note:`"${o.join(" ")}" ${o.length===1?"is":"are"} rendered in JavaScript and expose${o.length===1?"s":""} no playhead, so pause, seek and timeScale do not reach ${o.length===1?"it":"them"}`}}function bd(e,t){let r=new Set,n=[];for(let o of t)for(let i of[o,...e.derivedOf(o)])r.has(i)||(r.add(i),n.push(i));return n}function Kt(e){let{animator:t,root:r,target:n}=e,o=yt(n,r),i=bd(t,o),s=i.map(p=>vd(t,p));for(let[p,m]of s.entries())m.note&&t.reporter.warn(`control(): ${m.note}`,i[p]);let a=p=>{for(let m of s)for(let f of m.controls)p(f);return l},c=(p,m)=>(t.reporter.warn(`control(): ${p} ignored \u2014 ${String(m)} is not a finite number`),l),u=()=>{for(let p of s)p.refused||t.reverseFrom(p.el);return l},l={elements:o,get uncontrolled(){return s.flatMap(p=>p.unreachable)},pause:()=>a(p=>p.pause()),play:()=>a(p=>p.resume()),reverse:()=>u(),seek:p=>Number.isFinite(p)?a(m=>m.seek(p)):c("seek()",p),timeScale:p=>Number.isFinite(p)?a(m=>m.rate(p)):c("timeScale()",p),get progress(){let p=1,m=!1;for(let f of s)for(let d of f.controls)p=Math.min(p,d.progress),m=!0;return m?p:0},get state(){return Yi(s.flatMap(p=>p.controls.map(m=>m.playState)))}};return l}var X={start:"kui:start",finish:"kui:finish",reverseFinish:"kui:reverse-finish",cancel:"kui:cancel"};function Ji(e,t,r){let n=e.ownerDocument?.defaultView?.CustomEvent??globalThis.CustomEvent;typeof n=="function"&&e.dispatchEvent(new n(t,{detail:r,bubbles:!0,composed:!0}))}function Zi(e){let{el:t,name:r,reporter:n,signal:o}=e,i=s=>{if(s.target!==t)return;let a=Ed(t,r);if(!a){n.warn(`func:${r} \u2014 no global function named "${r}". A function declaration (\`function ${r}() {}\`) or an explicit \`window.${r} = \u2026\` creates one; \`const\` and \`let\` deliberately do not, and neither does a bundled or \`type="module"\` script.`,t);return}Reflect.apply(a,t,[s])};t.addEventListener(X.finish,i),o.addEventListener("abort",()=>t.removeEventListener(X.finish,i))}function Ed(e,t){let r=e.ownerDocument?.defaultView??globalThis;if(!Object.hasOwn(r,t))return;let n=r[t];return typeof n=="function"?n:void 0}function He(e,t){if(typeof CSS>"u"||typeof CSS.supports!="function")return!1;try{return CSS.supports(e,t)}catch{return!1}}var Ut;function zt(e=!1){return Ut&&!e||(Ut={viewTimeline:He("animation-timeline","view()"),scrollTimeline:He("animation-timeline","scroll()"),animationRange:He("animation-range","entry 0% cover 30%"),individualTransforms:He("translate","0 10px")&&He("scale","1.1"),scrollTimelineName:He("scroll-timeline-name","--x"),viewTransitions:typeof document<"u"&&"startViewTransition"in document,intersectionObserver:typeof IntersectionObserver<"u",reducedMotion:typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches,motionPath:He("offset-path",'path("M 0 0")')}),Ut}var Sd=[{channel:"offset",capability:"motionPath",message:"this browser does not support CSS Motion Path (offset-path), so the element will not travel \u2014 the animation still runs and completes, it just has no path to follow"}];function Qi(e,t){return Sd.filter(r=>e.includes(r.channel)&&!t[r.capability]).map(r=>r.message)}var Pd=new Set(["entrance|state","exit|state"]);function kd(e,t){return e<t?`${e}|${t}`:`${t}|${e}`}function wd(e,t){return!e.phase||!t.phase?!1:Pd.has(kd(e.phase,t.phase))}var xd={translate:"add"};function es(e){return e.length>0&&e.every(t=>xd[t]==="add")}function ts(e,t){if(t.some(o=>o.effects[0]===o.effects[1]))return;let r=new Set(t.map(o=>o.channel)),n=new Set;e.forEach((o,i)=>{o.channels.some(s=>r.has(s))&&n.add(i)});for(let o of n)if(!e[o].additive)return;return n}function rs(e){let t=[],r=new Map;for(let n of e)for(let o of n.channels){let i=r.get(o)??[],s=i.find(a=>li(a.gate,n.gate)&&!wd(a,n));s&&t.push({channel:o,effects:[s.name,n.name]}),i.push(n),r.set(o,i)}return t}function ns(e){let t=e.filter(n=>n.delivery==="stylesheet-animation");if(t.length===0)return[];let r=e.find(n=>n.inlineAnimation&&!n.delivery);return r?t.map(n=>`"${r.name}" writes an inline animation, which outranks the stylesheet rule "${n.name}" delivers its motion from`):[]}function os(e){return e.map(t=>`"${t.effects[0]}" and "${t.effects[1]}" both animate ${t.channel}`).join("; ")}var is=/[;<]|\/\*|url\s*\(|expression\s*\(|@import|image-set\s*\(/i,Td=/^(?:[a-z][a-z0-9+.-]*:|[/\\]{2})/i,vn=200,Ad=2e3,Cd=/^[MmZzLlHhVvCcSsQqTtAa0-9eE.,+\-\s]+$/,Xe=String.raw`-?(?:\d+(?:\.\d+)?|\.\d+)`,Rd="px|rem|em|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc|q|%",ss={length:new RegExp(`^(?:0|${Xe}(?:${Rd}))$`,"i"),time:new RegExp(`^${Xe}(?:ms|s)$`,"i"),number:new RegExp(`^${Xe}$`),percentage:new RegExp(`^${Xe}%$`),angle:new RegExp(`^${Xe}(?:deg|rad|turn|grad)$`,"i")},Md=new RegExp(`^(${Xe})d?$`,"i");function Id(e){let t=Md.exec(e);return t?`${t[1]}deg`:e}var Ld=/^([+-]?)(\d+(?:\.\d+)?|\.\d+)(?:e([+-]?\d+))?$/i,Od=/^#[0-9a-f]{3,8}$/i,Nd=/^(?:rgba?|hsla?|okl(?:ch|ab)|l(?:ch|ab)|color)\([^()]*\)$/i,_d=new Set(["accentcolor","accentcolortext","activetext","buttonborder","buttonface","buttontext","canvas","canvastext","field","fieldtext","graytext","highlight","highlighttext","linktext","mark","marktext","selecteditem","selecteditemtext","visitedtext","transparent","currentcolor","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),Dd=/^(?:linear|ease|step-start|step-end|spring|bounce|[a-z]+-(?:in|out|in-out))$/i,$d=/^(?:cubic-bezier|steps|linear|spring)\([^()]*\)$/i,jd={"number|percentage":["number","percentage"],"length|percentage":["length","percentage"],"angle|keyword":["angle"]};function Hd(e){return jd[e]??[e]}var Vd=new Set(["length","percentage","number"]),Fd=new Set(["number","number|percentage"]),Gd=/^[\d.\s+\-*/%a-z,]$/i,Bd=/^--[\w-]+$/;function Me(e,t){let r=e.trim(),n=Yd(r,t);if(n)return n;let o=Wd(r,t);if(o)return o;if(t.type==="text")return{value:r,ok:!0};if(t.type==="path")return zd(r,t);let i=qd(r,t.type);return Xd(i,t.type)?Qd(i,t):ue(t,`not a valid ${Jd(t)}`)}function Wd(e,t){return t.type!=="keyword"&&t.type!=="angle|keyword"?null:t.keywords?.includes(e)?{value:e,ok:!0}:t.type!=="keyword"?null:ue(t,`expected one of ${t.keywords?.join(", ")||"(none declared)"}`)}function qd(e,t){return t==="angle"||t==="angle|keyword"?Id(e):t==="number|percentage"?Kd(e):e}function Kd(e){return ss.percentage.test(e)?fe(e.slice(0,-1),-2)??e:e}function fe(e,t=0){let r=Ld.exec(e);if(!r||e.length>vn)return;let[,n,o,i]=r,s=o.replace(".",""),a=o.indexOf("."),c=(a<0?s.length:a)+Number(i??0)+t;if(Math.abs(c)+s.length>190)return;let u="0".repeat(Math.max(0,-c))+s+"0".repeat(Math.max(0,c-s.length)),l=Math.max(0,c),p=u.slice(0,l).replace(/^0+/,"")||"0",m=Ud(u,l);return`${n==="-"?"-":""}${p}${m}`}function Ud(e,t){let r=e.length;for(;r>t&&e[r-1]==="0";)r--;return r>t?"."+e.slice(t,r):""}function as(e){return e.length<=vn&&!is.test(e)}function zd(e,t){return Cd.test(e)?/^[Mm]/.test(e)?{value:`"${e}"`,ok:!0}:ue(t,"path data must start with a moveto (M or m)"):ue(t,"path data contains an unsupported character")}function Yd(e,t){if(!e)return ue(t,"empty value");let r=t.type==="path"?Ad:vn;return e.length>r?ue(t,`value exceeds ${r} characters`):is.test(e)?ue(t,"value contains disallowed CSS syntax"):null}function Xd(e,t){if(t==="color")return Zd(e);if(t==="easing")return Dd.test(e)||$d.test(e);let r=Hd(t);return r.some(n=>ss[n]?.test(e))?!0:r.some(n=>Vd.has(n))?ef(e)&&nf(e):!1}function Jd(e){return e.type==="angle|keyword"?`angle or one of ${e.keywords?.join(", ")||"(none declared)"}`:e.type.replace("|"," or ")}function Zd(e){return Od.test(e)||Nd.test(e)||_d.has(e.toLowerCase())}function cs(e){return!Td.test(e)}function Qd(e,t){if(!Fd.has(t.type))return{value:e,ok:!0};let r=Number(e);return t.finite&&!Number.isFinite(r)?ue(t,"expected a finite number"):t.integer&&!Number.isInteger(r)?ue(t,"expected an integer"):t.minimum!==void 0&&r<t.minimum?ue(t,`expected at least ${t.minimum}`):t.maximum!==void 0&&r>t.maximum?ue(t,`expected at most ${t.maximum}`):{value:e,ok:!0}}function ue(e,t){return{value:e.default,ok:!1,reason:t}}function ef(e){if(!e.startsWith("calc(")||!e.endsWith(")"))return!1;let t=e.length-1,r=5;for(;r<t;)if(r=tf(e,r,t),r<0)return!1;return!0}function tf(e,t,r){return e.startsWith("var(",t)?rf(e,t,r):Gd.test(e[t])?t+1:-1}function rf(e,t,r){let n=e.indexOf(")",t+4);if(n<0||n>=r)return-1;let o=e.slice(t+4,n);return Bd.test(o)?n+1:-1}function nf(e){let t=e.slice(5,-1).trim();return t!==""&&!/[+\-*/]$/.test(t)}function us(e,t,r){let n={};for(let[o,i]of Object.entries(e)){let s=Object.hasOwn(t,o)?t[o]:void 0;if(!s){r(`unknown parameter "${o}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}if(s.type==="text")continue;let a=Me(i,s);if(!a.ok){r(`parameter "${o}": ${a.reason} \u2014 got "${i}", using default "${s.default}"`);continue}n[s.cssProperty]=of(a.value,s,o,r)}return n}function of(e,t,r,n){if(t.type!=="easing")return e;for(let o of $t(e))n(`parameter "${r}": ${o}`);return Te(e)}var ps={viewportWidth:0,viewportHeight:0,percentBasis:0,fontSize:16,rootFontSize:16},sf={px:1,cm:96/2.54,mm:96/25.4,q:96/101.6,in:96,pt:96/72,pc:16},af={vh:e=>e.viewportHeight/100,vw:e=>e.viewportWidth/100,vmin:e=>Math.min(e.viewportWidth,e.viewportHeight)/100,vmax:e=>Math.max(e.viewportWidth,e.viewportHeight)/100,"%":e=>e.percentBasis/100,em:e=>e.fontSize,rem:e=>e.rootFontSize,ch:e=>e.fontSize*.5,ex:e=>e.fontSize*.5},bn=/^(-?(?:\d+(?:\.\d+)?|\.\d+))([a-z%]*)$/i;function cf(e,t,r){let n={};for(let[o,i]of Object.entries(t))n[o]=i.default;for(let[o,i]of Object.entries(e)){let s=Object.hasOwn(t,o)?t[o]:void 0;if(!s){r(`unknown parameter "${o}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}let a=Me(i,s);n[o]=a.value,a.ok||r(`parameter "${o}": ${a.reason} \u2014 got "${i}", using default "${s.default}"`)}return n}function ht(e,t=0){let r=bn.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),o=r[2].toLowerCase();return o==="ms"?n:o==="s"?n*1e3:t}function ge(e,t,r=0){let n=bn.exec(e.trim());if(!n)return r;let o=Number.parseFloat(n[1]),i=n[2].toLowerCase();if(i==="")return o===0?0:r;let s=sf[i];if(s!==void 0)return o*s;let a=af[i];return a?o*a(t):r}function uf(e,t=0){let r=bn.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),o=r[2];return o===""?n:o==="%"?n/100:t}var lf={type:"easing",default:"",cssProperty:"--kui-ease"};function ls(e,t,r){if(e===void 0)return;let n=ht(e,Number.NaN);if(Number.isFinite(n))return n;r(`${t} "${e}" is not a valid time \u2014 ignored`)}function pf(e,t){if(e===void 0)return;let r=Me(e,lf);if(r.ok)return r.value;t(`easing "${e}": ${r.reason} \u2014 ignored`)}function ms(e,t){return{durationMs:ls(e.duration,"duration",t),delayMs:ls(e.delay,"delay",t),easing:pf(e.easing,t)}}function Z(e,t){return e.timing.durationMs??e.ms("duration",t)}function mf(e,t={}){return{text:(r,n="")=>e[r]??n,ms:(r,n=0)=>ht(e[r]??"",n),num:(r,n=0)=>uf(e[r]??"",n),is:(r,n="true")=>(e[r]??"")===n,timing:t}}function ds(e,t,r,n={}){return mf(cf(e,t,r),n)}var df="600ms",gs="0ms";function Yt(e,t){return e??`var(${Re(t,"duration")}, ${df})`}function ff(e,t){return e??`var(${Re(t,"delay")}, ${gs})`}var gf=/^(with|after)/i,yf=/^([+-])(\d+(?:\.\d+)?|\.\d+)(ms|s)$/i,hf=/^(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/i,vf=new Set(["view","scroll"]);function bf(e){let t=e.trim(),r=gf.exec(t),n=r?.[1]?.toLowerCase()==="with"?"start":"end",o=r?t.slice(r[0].length):t;if(o==="")return r?{ok:!0,position:{anchor:n,offsetMs:0,term:""}}:{ok:!1,reason:fs(t)};let i=yf.exec(o);if(!i)return{ok:!1,reason:fs(t)};let[,s,a,c]=i,u=`${a}${c}`,l=ht(u,0);return{ok:!0,position:{anchor:n,offsetMs:s==="-"?-l:l,term:` ${s} ${u}`}}}function fs(e){return hf.test(e)?`at:"${e}" is an absolute position, which is only another spelling of delay:${e} \u2014 write at:+${e} to start that long after the previous effect ends, at:-${e} to overlap it by that much, or at:with to start alongside it`:`at:"${e}" is not a position \u2014 expected at:with, at:after, or a signed time such as at:-200ms, at:+100ms or at:with+150ms`}function ys(e,t,r){let n={members:e,steps:[],warn:r},o=!1;for(let[i,s]of e.entries()){if(s.at===void 0){n.steps.push(hs(s));continue}!o&&vf.has(t)&&(o=!0,r(xf(t))),n.steps.push(Ef(n,i))}return n.steps}function hs(e){return{delayExpr:ff(e.delay,e.primitiveId),delayMs:En(e.delay??e.cascadeDelay??gs)??0,sequenced:!1}}function Ef(e,t){let r=e.members[t],n=hs(r),o=bf(r.at);if(!o.ok)return e.warn(`"${r.name}": ${o.reason}`),n;let i=Sf(e,t);return i?(e.warn(i),n):(r.delay!==void 0&&e.warn(`"${r.name}" has both a positional delay (${r.delay}) and at:"${r.at}" \u2014 the delay is ignored, because at: positions the effect itself`),Pf(e,t,o.position,n))}function Sf(e,t){let r=e.members[t];return t===0?`"${r.name}" is the first effect in the list, so at:"${r.at}" has nothing to be relative to \u2014 using its own delay instead`:r.positionable?null:`"${r.name}" is rendered in JavaScript and declares no "delay", so at:"${r.at}" cannot position it \u2014 it starts with the rest of the list`}function Pf(e,t,r,n){let o=e.members[t-1],i=e.steps[t-1];if(r.anchor==="start")return{delayExpr:`${i.delayExpr}${r.term}`,delayMs:i.delayMs+r.offsetMs,sequenced:!0};if(Mi(o.repeat))return wf(e,t,n);let s=En(o.duration??o.cascadeDuration??"");if(s===void 0)return kf(e,t,n);let a=Ht(Yt(o.duration,o.primitiveId),o.repeat);return{delayExpr:`${i.delayExpr} + ${a}${r.term}`,delayMs:i.delayMs+s*(jt(o.repeat)??1)+r.offsetMs,sequenced:!0}}function kf(e,t,r){let n=e.members[t],o=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${o.name}": "${o.name}" has no readable duration, so it has no end to measure from \u2014 give it an explicit duration, or use at:with to start alongside it instead`),r}function wf(e,t,r){let n=e.members[t],o=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${o.name}": "${o.name}" has repeat:infinite, so it never ends \u2014 use at:with to start alongside it, or give it a finite repeat count`),r}function xf(e){return`at: compiles to an animation-delay, and a "${e}" timeline is driven by scroll position rather than a clock, so it ignores one \u2014 position a scroll-driven effect with a range instead (the trailing tokens of data-kui-timeline, e.g. data-kui-timeline="${e} entry 0% cover 60%"). The delay still applies where the browser has no scroll-driven animations and the effect degrades to a clock.`}function En(e){let t=ht(e,Number.NaN);return Number.isFinite(t)?t:void 0}function vs(e){return En(e)!==void 0}function bs(){return{names:[],keyframes:[],durations:[],delays:[],ends:[],easings:[],iterationCounts:[],directions:[],compositions:[]}}function Tf(e){let{preset:t}=e.resolved;return e.variant?.keyframes??[t.keyframes??`kui-${t.name}`]}function Af(e){return`--kui-fx-${e}-iterations`}function Es(e,t,r){let{spec:n,resolved:o}=t,i=o.primitive.id,s=Yt(n.duration,i),a=Cf(r.delayExpr),c=`${r.delayExpr} + ${Ht(s,n.repeat)}`,u=ws(n.easing,i),l=n.repeat??`var(${Af(o.preset.name)}, 1)`,p=Ii(n.yoyo),m=t.composite??"replace";for(let f of Tf(t))e.names.push(ui(f,n.gate)),e.keyframes.push(f),e.durations.push(s),e.delays.push(a),e.ends.push(c),e.easings.push(u),e.iterationCounts.push(l),e.directions.push(p),e.compositions.push(m)}function Ss(e,t,r,n){let{spec:o,resolved:i}=r,{preset:s,primitive:a}=i;for(let c of s.transitions??[]){let u=t.get(c.property);u!==void 0&&u!==s.name&&n.push(`"${u}" and "${s.name}" both transition ${c.property} \u2014 "${s.name}" wins (last in the list)`),t.set(c.property,s.name);let l=c.duration??Yt(o.duration,a.id),p=c.easing??ws(o.easing,a.id),m=`var(--kui-tx-delay-${s.name}, 0ms)`;e.push(`${c.property} ${l} ${p} ${m}`)}}function Ps(e,t){if(e.names.length===0)return{};let r=t==="pin"?Rf(e):e.delays.map(ks),n={"animation-name":e.names.join(", "),"animation-duration":e.durations.join(", "),"animation-delay":r.join(", "),"animation-timing-function":e.easings.join(", "),"animation-iteration-count":e.iterationCounts.join(", "),"animation-fill-mode":e.names.map(()=>"both").join(", ")};return e.directions.some(o=>o!=="normal")&&(n["animation-direction"]=e.directions.join(", ")),e.compositions.some(o=>o!=="replace")&&(n["animation-composition"]=e.compositions.join(", ")),n}function Cf(e){return`${e} + var(--kui-i, 0) * var(--kui-stagger, 0ms)`}function ks(e){return`calc(${e})`}function Rf(e){let t=[...new Set(e.ends)],n=`${t.length===1?t[0]:`max(${t.join(", ")})`} + (var(--kui-stagger-count, 1) - 1) * var(--kui-stagger, 0ms)`;return e.delays.map(o=>ks(`${o} - var(--kui-progress, 0) * (${n})`))}function ws(e,t){return e?Te(e):`var(${Re(t,"ease")}, ease-out)`}var Sn=new Set(["time","view","scroll","pointer","pin"]);function xs(e){return{source:e.getAttribute(k.source)??"",on:e.getAttribute(k.on),timeline:e.getAttribute(k.timeline),threshold:e.getAttribute(k.threshold)}}function Ts(e,t){let r=t.timeline??e.timeline??"time",[n="time",...o]=r.trim().split(/\s+/),i=Vi(e.on),s=t.activation??i.activation;return{activation:s??"enter",activationAuthored:s!==void 0,...Mf({parsed:t,longhand:i}),...t.actions===void 0?{}:{actions:Ft(t.actions)},timeline:Sn.has(n)?n:"time",range:o.join(" "),threshold:t.threshold??e.threshold??"0%"}}function As(e,t){if(e===void 0)return t;let[r]=e.trim().split(/\s+/);return Sn.has(r)?r:t}function Cs(e,t){if(!t)return e;let r=t.activation,n={...e,activation:r??e.activation,activationAuthored:r!==void 0||e.activationAuthored};if(t.actions!==void 0&&(n.actions=Ft(t.actions)),t.timeline!==void 0){let[o="time",...i]=t.timeline.trim().split(/\s+/);n.timeline=Sn.has(o)?o:e.timeline,n.range=i.join(" ")}return t.threshold!==void 0&&(n.threshold=t.threshold),n}function Mf({parsed:e,longhand:t}){return e.activation!==void 0||t.from===void 0?{}:{activationSource:t.from}}var Xt={shorten:0,crossfade:1,disable:2};function Rs(e){let t=e.map(o=>o.defaultActivation),r=t.find(o=>o!==void 0),n=e.findIndex(o=>o.phase==="entrance");return r===void 0||n===-1?r:t[n]??"enter"}function Ms(e){let t="shorten";for(let{plan:r}of e)t=kn(t,r.reducedMotion);for(let{plan:r}of e)r.reducedMotion=t}function Is(e,t,r){return t===void 0?e:Xt[t]<Xt[e]?(r.push(`"rm:${t}" is weaker than the "${e}" these effects declare \u2014 keeping "${e}" (rm: may only strengthen the reduced-motion policy)`),e):t}function Pn(e,t){return e?e.filter(r=>t.includes(r)):[...t]}function kn(e,t){return Xt[t]>Xt[e]?t:e}var If=/^[.#[*:]/,Lf=/[>~+]/;function Of(e){return If.test(e)||Lf.test(e)}function Ls(e,t){let r=[];for(let[n,o]of e.entries()){let i=e[n-1]?.params.target;!i||t.has(o.name)||!Of(o.name)||r.push({previous:i,segment:o.name})}return r}function Os(e){return`target:${e.previous} looks like it continues into "${e.segment}", but a comma always starts a new effect segment \u2014 a target: selector containing a comma must be quoted, e.g. target:'${e.previous}, ${e.segment}'`}function wn(e){let t=e.resolved.primitive.channels;return e.variant?.channels?[...t,...e.variant.channels]:t}function Jt(e){return e.variant?.params??e.spec.params}function Nf(e){let t=e.variant?.schema;return t?{...e.resolved.primitive.parameters,...t}:e.resolved.primitive.parameters}function Zt(e,t,r){let n=[...e.warnings],o=Ls(e.specs,t);for(let f of o)n.push(Os(f));let i=o.length>0?{suspectSelectors:o.map(f=>f.segment)}:{},{entries:s,unknown:a}=Vf(e.specs,t,n);if(s.length===0)return{targets:[{selector:"",scope:"self",specs:[],plan:js(a,[])}],warnings:n,...i};let c=s.map(f=>qf(Wf(f,n),r,n)),u=ys(c.map(Yf),r,f=>n.push(f)),l=c.map((f,d)=>({...f,step:u[d]}));jf(l,e.activation,n);let p=Hf(l).map(({selector:f,scope:d,entries:g})=>{let h=[],v=Uf(g,t,h),E=Df(g,h),w=As(E?.timeline,r),C=zf(v,w,a,h);return C.defaultActivation=Rs(v.map(F=>({phase:xn(F),defaultActivation:F.resolved.primitive.defaultActivation}))),{selector:f,scope:d,hoists:E,specs:g.map(F=>F.spec),plan:C}});Ms(p);let m=Is(p[0].plan.reducedMotion,e.rm,n);for(let f of p)f.plan.reducedMotion=m;return{targets:p,warnings:n,...i}}function Ds(e,t){if(!e.specs.some(i=>i.hoists))return e;let r=[...e.warnings],n={...e,warnings:r},o=e.specs.map(i=>{if(!i.hoists||!_f(i,t))return i;for(let a of je){let c=i.hoists[a];c!==void 0&&re(n,a,c,$s[a])}let s={...i};return delete s.hoists,s});return{...n,specs:o}}function _f(e,t){let r=t.resolve(e.name);return r?Object.hasOwn(r.primitive.parameters,"target"):!0}var $s={activation:"activations",actions:"crossing actions",timeline:"timelines",threshold:"thresholds",cascade:"stagger steps",spread:"stagger budgets",order:"stagger orders",cols:"stagger column counts",along:"stagger axes"};function Df(e,t){let r;for(let n of e)n.spec.hoists&&(r=$f(r??{},n.spec.hoists,t));return r}function $f(e,t,r){for(let n of je){let o=t[n];if(o===void 0)continue;let i=e[n];i===void 0?e[n]=o:i!==o&&r.push(`conflicting ${$s[n]} "${i}" and "${o}" in one target: group \u2014 the first wins`)}return e}function jf(e,t,r){for(let n=1;n<e.length;n++){let o=e[n];if(!o.step.sequenced)continue;let i=e[n-1];if(Ns(o)===Ns(i))continue;let s=o.spec.hoists?.activation??t,a=i.spec.hoists?.activation??t;s!==a&&r.push(`"${o.spec.name}"'s at:"${o.spec.at}" is relative to "${i.spec.name}", which targets a different element and may start on a different trigger \u2014 the offset is relative to each one's own start, not a shared clock`)}}function Ns(e){return`${e.scope??"self"} ${e.target??""}`}function Hf(e){let t=new Map,r=[];for(let o of e){let i=o.target??"",s=o.scope??"self",a=`${s} ${i}`,c=t.get(a);c||(c={selector:i,scope:s,entries:[]},t.set(a,c),r.push(c)),c.entries.push(o)}let n=r.findIndex(o=>o.selector==="");if(n>0){let[o]=r.splice(n,1);r.unshift(o)}return r}function js(e,t){return{fxNames:[],vars:{},declarations:{},keyframeNames:[],jsEffects:[],unknown:e,reducedMotion:"shorten",supportedActivations:[],activationClaims:[],supportedTimelines:[],channels:[],warnings:t}}function Vf(e,t,r){let n=[],o=[];for(let i of e){let s=t.resolve(i.name);if(!s){o.push(i.name),Gf(i.name,t,r);continue}n.push(Ff(i,s,r))}return{entries:n,unknown:o}}function Ff(e,t,r){let n=Bf(e,t,r),o=t.primitive.variantFor?.(n.spec,s=>r.push(s)),i=o?{spec:n.spec,resolved:t,variant:o}:{spec:n.spec,resolved:t};return n.target!==void 0&&(i.target=n.target,i.scope=n.scope),i}function Gf(e,t,r){let n=Ye(e,t.names()),o=n?` \u2014 did you mean "${n}"?`:"";r.push(`unknown effect "${e}"${o}`)}function Bf(e,t,r){if(Object.hasOwn(t.primitive.parameters,"target"))return{spec:e};let n=e.params.target;if(!n)return{spec:e};let o={...e.params},i=o.scope;delete o.target,delete o.scope;let s={...e,params:o};return t.preset.requiresOwnSubtree?(r.push(`"${t.preset.name}" cannot be retargeted \u2014 its CSS reaches past the animated element itself, so "target:${n}" is dropped and it stays on the host`),{spec:s}):{spec:s,target:n,scope:i==="page"?"page":"self"}}function Wf(e,t){let{spec:r,resolved:n}=e;if(n.primitive.renderer==="css-keyframes"||!r.gate?.wide&&!r.gate?.narrow)return e;t.push(`"${r.name}" ignores "wide:"/"narrow:" \u2014 container gates are not supported on JavaScript-rendered effects yet, so it runs unconditionally`);let{above:o,below:i}=r.gate;return{...e,spec:{...r,gate:o||i?{above:o,below:i}:void 0}}}function qf(e,t,r){let{spec:n,resolved:o}=e;if(n.repeat===void 0&&n.yoyo===void 0)return e;let{repeat:i,yoyo:s,warnings:a}=Ri({name:o.preset.name,renderer:o.primitive.renderer,cloak:o.preset.cloak,timeline:t,repeat:n.repeat,yoyo:n.yoyo});return r.push(...a),{...e,spec:{...n,repeat:i,yoyo:s}}}function xn(e){if(e.spec.repeat==="infinite")return"idle";let{preset:t}=e.resolved;if(t.phase)return t.phase;if(t.transitions?.length)return"state"}function Kf(e){return e.resolved.primitive.renderer!=="css-keyframes"||e.variant?.keyframes?!1:es(wn(e))}function Uf(e,t,r){if(e.length<=1)return e;let n=e.map(m=>({name:m.spec.name,channels:wn(m),gate:m.spec.gate,phase:xn(m),additive:Kf(m),delivery:m.resolved.preset.delivery,inlineAnimation:m.resolved.primitive.renderer==="css-keyframes"})),o=rs(n),i=ns(n);if(o.length===0&&i.length===0)return e;if(i.length===0){let m=ts(n,o);if(m)return e.map((f,d)=>m.has(d)?{...f,composite:"add"}:f)}let s=t.findCombo(e.map(m=>m.spec.name)),a=s?`Use the "${s.preset.name}" effect instead.`:"Apply them to nested elements, or register a combined effect.",c=e[0].spec.name,l=`Dropped ${e.slice(1).map(m=>`"${m.spec.name}"`).join(", ")} \u2014 only "${c}" will run.`,p=[...o.length>0?[os(o)]:[],...i];return r.push(`cannot compose: ${p.join("; ")}. ${l} ${a}`),[e[0]]}function zf(e,t,r,n){let o=js(r,n),i=bs(),s=new Set,a=[],c=new Map,u,l;for(let p of e){let{preset:m,primitive:f}=p.resolved,d=p.step;o.fxNames.push(m.name),o.reducedMotion=kn(o.reducedMotion,f.reducedMotion),u=Pn(u,f.supportedActivations),o.activationClaims.push({supported:f.supportedActivations,entrance:xn(p)==="entrance"}),l=Pn(l,f.supportedTimelines);for(let g of wn(p))s.add(g);Jf(m.name,f.supportedTimelines,t,n),Object.assign(o.vars,us(Jt(p),Nf(p),g=>n.push(g))),f.renderer==="css-keyframes"?Es(i,p,d):o.jsEffects.push(Xf(p,d)),Ss(a,c,p,n)}return Object.assign(o.declarations,Ps(i,t)),o.keyframeNames=i.keyframes,a.length>0&&(o.transition=a.join(", ")),o.supportedActivations=u,o.supportedTimelines=l,o.channels=[...s],o}function Yf(e){let{spec:t,resolved:r}=e,{preset:n,primitive:o}=r,i=Jt(e);return{name:n.name,primitiveId:o.id,at:t.at,delay:t.delay,duration:t.duration,cascadeDelay:_s(i,n,o.parameters,"delay"),cascadeDuration:_s(i,n,o.parameters,"duration"),repeat:t.repeat,positionable:o.renderer==="css-keyframes"||Object.hasOwn(o.parameters,"delay")}}function _s(e,t,r,n){return[e[n],t.params?.[n],r[n]?.default].find(i=>i!==void 0&&vs(i))}function Xf(e,t){return t.sequenced?{...e,sequencedDelayMs:t.delayMs}:e}function Jf(e,t,r,n){t.includes(r)||n.push(`"${e}" does not support timeline "${r}" (supports: ${t.join(", ")})`)}function Hs(){return{derived:new WeakMap,hosts:new WeakMap,groups:new WeakMap,contexts:new WeakMap,unions:new WeakMap,cleanups:new WeakMap}}function Qt(e,t){return[...e.derived.get(t)??[]]}function Vs(e,t){return e.hosts.get(t)}function Zf(e){return e.status==="running"&&e.direction!=="reverse"}function Qf(e){return e.status==="running"}function eg(e){return e.status==="failed"}function tg(e){return e.status==="finished"||e.status==="failed"}function rg(e){return e.status==="ready"}function ng(e,t){let r=[];for(let n of Qt(e.book,t)){let o=e.stateOf(n);o&&r.push(o)}return r}function og(e,t,r,n){r.status!=="running"&&(e.writeStatus(t,r,"running"),n.some(Zf)&&e.emit(t,r,X.start,"activated"))}function ig(e,t,r,n){if(r.status==="finished")return;let o=r.status==="running";e.writeStatus(t,r,"finished"),!n.every(i=>i.cancelled===!0)&&e.emit(t,r,X.finish,o?"complete":"reduced-motion")}function vt(e,t){let r=e.stateOf(t);if(!r||!r.aggregate)return;let n=ng(e,t);n.length!==0&&(n.some(Qf)?og(e,t,r,n):n.every(eg)?e.writeStatus(t,r,"failed"):n.every(tg)?ig(e,t,r,n):n.every(rg)&&e.writeStatus(t,r,"ready"))}function sg(e){return e.map(t=>`${t.scope} ${t.selector}`).sort((t,r)=>t.localeCompare(r)).join("")}function Fs(e,t,r){let n=sg(r),o=e.book.unions.get(t.host),i=o?.get(n);if(i)return i;let s=r[0],c=Zt({specs:r.flatMap(f=>f.specs),warnings:[]},e.registry,t.timeline).targets[0];c.plan.reducedMotion=s.plan.reducedMotion;let u=t.host.ownerDocument?.defaultView??void 0;c.plan.jsEffects=c.plan.jsEffects.filter(f=>It(f.spec.gate,u));let l=new Set(r.flatMap(f=>f.plan.warnings));for(let f of c.plan.warnings)l.has(f)||e.reporter.warn(f,t.host);let p={...c,selector:s.selector,scope:s.scope},m=o??new Map;return m.set(n,p),o||e.book.unions.set(t.host,m),p}function bt(e){let{plan:t,config:r,capabilities:n,respectReducedMotion:o}=e,i=o&&n.reducedMotion,{scrubbed:s,useNativeTimeline:a}=ag(t,r,n),c={...t.vars,...t.declarations};Object.assign(c,cg(t)),Object.assign(c,ug(r,n,a));let u=Object.keys(t.declarations).length>0,l=e.elementHasCssAnimation??u,p=lg({useNativeTimeline:a,scrubbed:s&&l,reduce:i,activation:r.activation,hasWork:l||t.jsEffects.length>0,hasCssAnimation:u,unsupportedTransform:pg(t.channels,n)});return(p==="deferred"||p==="scrubbed")&&(c["animation-play-state"]="paused"),{properties:c,attributes:{[k.normalized]:t.fxNames.join(" "),[k.rm]:t.reducedMotion,[k.state]:"ready"},gate:p,activation:p==="deferred"?dg(r):null}}function ag(e,t,r){let n=t.timeline==="pin"&&e.supportedTimelines.includes("pin"),o=!n&&mg(t.timeline,r)&&e.supportedTimelines.includes(t.timeline);return{scrubbed:n,useNativeTimeline:o}}function cg(e){return e.transition?{"--kui-transition":e.transition}:{}}function ug(e,t,r){if(!r)return{};let n={"animation-timeline":e.timeline==="scroll"?"scroll()":"view()"};return t.animationRange&&(n["animation-range"]=e.range||(e.timeline==="scroll"?"0% 100%":"entry 0% cover 60%")),n}function lg(e){return e.useNativeTimeline?"native-timeline":e.scrubbed?"scrubbed":!e.hasWork||e.reduce||sn(e.activation)==="immediate"||e.unsupportedTransform?"immediate":"deferred"}function pg(e,t){return t.individualTransforms?!1:e.some(r=>r==="translate"||r==="rotate"||r==="scale")}function mg(e,t){return e==="view"?t.viewTimeline:e==="scroll"?t.scrollTimeline:!1}function dg(e){let t="enter";return e.timeline!=="time"&&sn(e.activation)==="manual"?t:e.activation}var fg=["cascade","spread","order","cols","along"];function Gs(e){let t={};for(let r of fg){let n=e(r);n!==void 0&&(t[r]=n)}return Object.keys(t).length>0?t:void 0}function er(e){return Gs(t=>e[t])}function tr(e,t){return Gs(r=>e?.[r]??t?.[r])}function Bs(e){return e?.cascade!==void 0||e?.spread!==void 0||e?.order!==void 0}var Je=new WeakMap;function Ws(e){Je.set(e,(Je.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let r=Je.get(e)-1;r>0?Je.set(e,r):Je.delete(e)}}function qs(e){return Je.has(e)}function Tn(e,t,r){let n=tr(r.hoists,er(t.parsed));return Bs(n)?t.host:void 0}function Ks(e){return e.gateOwner!==void 0}function gg(e,t,r){for(let n of t.members)r&&e.stateOf(n)?.status!=="ready"||e.activateOne(n)}function yg(e,t){for(let r of t.members)e.deactivateOne(r)}function hg(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function vg(e,t,r){let n=bt({plan:r.target.plan,config:r.config,capabilities:e.capabilities,respectReducedMotion:e.respectReducedMotion});if(n.gate!=="deferred")return;let o=n.activation,i=pt(le(o)),s=e.binder.bind(t,o,{threshold:r.config.threshold,from:r.config.activationSource,activate:()=>gg(e,r,i),deactivate:()=>yg(e,r)});hg(e,t,s)}function Us(e,t){let r=e.book.groups.get(t);if(r!==void 0)for(let n of r)n.gateOwner===t&&vg(e,t,n)}function j(e){let t=e.style,r=new Map,n=e.hasAttribute("style");function o(i){if(r.has(i))return;let s=t.getPropertyValue(i);r.set(i,s===""?void 0:{value:s,priority:t.getPropertyPriority(i)})}return{set(i,s){o(i),t.setProperty(i,s)},claim:o,restore(){for(let[i,s]of r)s===void 0?t.removeProperty(i):t.setProperty(i,s.value,s.priority);r.clear(),!n&&t.length===0&&!e.getAttribute("style")&&e.removeAttribute("style")},owned:()=>[...r.keys()],peek(i){if(!r.has(i))return;let s=r.get(i);return s===void 0?"":s.value}}}function x(e){let t=new Map;return{set(r,n){t.has(r)||t.set(r,e.getAttribute(r)),e.setAttribute(r,n)},remove(r){t.has(r)||t.set(r,e.getAttribute(r)),e.removeAttribute(r)},restore(){for(let[r,n]of t)n===null?e.removeAttribute(r):e.setAttribute(r,n);t.clear()}}}var zs=Symbol.for("kuinetic.owned-styles.1");function Ys(e){let r=e[zs];return r||(r=new Map,Object.defineProperty(e,zs,{value:r,configurable:!0,writable:!0})),r}function bg(e,t,r){let n=Ys(e),o=n.get(t);return o||(o={ledger:r(e),owners:new Set},n.set(t,o)),o}function Xs(e,t){let r={},n=new Map;return{join(o){let i=n.get(o);return i||(i=bg(o,e,t),i.owners.add(r),n.set(o,i)),i.ledger},held:o=>n.get(o)?.ledger??null,leave(o){let i=n.get(o);i&&(n.delete(o),i.owners.delete(r),!(i.owners.size>0)&&(Ys(o).delete(e),i.ledger.restore()))},elements:()=>[...n.keys()]}}function Eg(){let e=Xs("style",j),t=new WeakMap;function r(n){return{set:(o,i)=>{e.join(n).set(o,i)},claim:o=>{e.join(n).claim(o)},restore:()=>{e.leave(n)},owned:()=>e.held(n)?.owned()??[],peek:o=>e.held(n)?.peek(o)}}return{style(n){let o=t.get(n);return o||(o=r(n),t.set(n,o)),e.join(n),o},release:n=>{e.leave(n)},elements:()=>e.elements()}}function Sg(){let e=Xs("attributes",x),t=new WeakMap;function r(n){return{set:(o,i)=>{e.join(n).set(o,i)},restore:()=>{e.leave(n)}}}return{attributes(n){let o=t.get(n);return o||(o=r(n),t.set(n,o)),e.join(n),o},release:n=>{e.leave(n)},elements:()=>e.elements()}}function Et(e){let t=Eg(),r=Sg();function n(o){t.release(o),r.release(o)}return{style:o=>t.style(o),attributes:o=>r.attributes(o),restore(){for(let o of new Set([...t.elements(),...r.elements()]))o!==e&&n(o);n(e)}}}var Pg=new Set(["start","end","center","edges","random"]),kg=new Set(["from","order"]),wg="spread",xg="cols",Tg=new Set(["axis","along"]),Ag=new Set(["x","y"]),Cg=/^(\d+(?:\.\d+)?|\.\d+)\/(\d+(?:\.\d+)?|\.\d+)$/,Rg=/^\d{1,9}$/,Mg=/^([a-zA-Z-]+):(.*)$/,Ig=/^-?\d{1,9}$/;function Lg(e,t){let r={from:"start"},n={from:!1,spread:!1,cols:!1,along:!1};for(let o of Ae(e," ",t)){let i=Mg.exec(o);i?Og(i[1],i[2],{config:r,seen:n,warnings:t}):r.step=Wg(r.step,o,t)}return{config:r,sawFrom:n.from}}function Og(e,t,r){let n=Ng(e);if(n===void 0){r.warnings.push(`unrecognised key "${e}" in data-kui-stagger \u2014 expected a time step, "spread:", "cols:", "along:", "from:" or "order:"`);return}Dg(n,t,r,e)&&_g[n](t,r,e)}function Ng(e){if(e===wg)return"spread";if(e===xg)return"cols";if(Tg.has(e))return"along";if(kg.has(e))return"from"}var _g={spread:(e,t)=>{t.config.spread=e.trim()},cols:(e,t)=>{t.config.cols=Qs(e,t.warnings)},along:(e,t,r)=>{t.config.along=ea(e,t.warnings,r)},from:(e,t,r)=>{t.config.from=ta(e,t.warnings,r)}};function Dg(e,t,r,n){return r.seen[e]?(r.warnings.push(`duplicate "${n}:" in data-kui-stagger \u2014 "${t}" ignored`),!1):(r.seen[e]=!0,!0)}function Qs(e,t){let r=e.trim();if(r==="auto")return"auto";if(Rg.test(r)&&Number(r)>0)return Number(r);t.push(`unrecognised "cols:${e}" \u2014 expected a column count or "auto"`)}function ea(e,t,r){let n=e.trim();if(Ag.has(n))return n;t.push(`unrecognised "${r}:${e}" \u2014 expected x or y`)}function rr(e,t,r=[]){let n=jg(t);if(!(e===null&&n===void 0))return An(e,n,r)}function An(e,t,r=[]){if(e===null&&t===void 0)return;let{config:n,sawFrom:o}=Lg(e??"",r);return $g(Hg(Vg(n,o,t??{},r),r),r)}function $g(e,t){if(e.spread===void 0||e.step===void 0)return e;t.push(`stagger step "${e.step}" is ignored \u2014 "spread:${e.spread}" already budgets the whole group, and the step is what it divides out`);let r={...e};return delete r.step,r}function jg(e){if(!Gg(e))return;let{cascade:t,spread:r,order:n,cols:o,along:i}=de(e),s={cascade:t,spread:r,order:n,cols:o,along:i};return Object.values(s).some(a=>a!==void 0)?s:void 0}function Hg(e,t){let r={...e};return Js("step",e.step,t)||delete r.step,Js("spread",e.spread,t)||delete r.spread,r}function Js(e,t,r){return t===void 0?!1:as(t)?!0:(r.push(`stagger ${e} "${t}" contains disallowed CSS syntax \u2014 ignored`),!1)}function Vg(e,t,r,n){let o={...e};if(r.cascade!==void 0&&(St("stagger step",e.step,r.cascade,n),o.step=r.cascade),r.spread!==void 0&&(St("stagger budget",e.spread,r.spread,n),o.spread=r.spread),Fg(o,e,r,n),r.order!==void 0){let i=ta(r.order,n,"order");St("stagger order",t?e.from:void 0,i,n),o.from=i}return o}function Fg(e,t,r,n){if(r.cols!==void 0){let o=Qs(r.cols,n);St("stagger columns",t.cols,o,n),o!==void 0&&(e.cols=o)}if(r.along!==void 0){let o=ea(r.along,n,"along");St("stagger axis",t.along,o,n),o!==void 0&&(e.along=o)}}function Gg(e){return Bg.some(t=>e.includes(t))}var Bg=["cascade:","spread:","order:","cols:","along:"];function St(e,t,r,n){t===void 0||r===void 0||t===r||n.push(`conflicting ${e}: data-kui-stagger says "${String(t)}", data-kui says "${String(r)}" \u2014 data-kui wins`)}function Wg(e,t,r){return e===void 0?t:(r.push(`extra token "${t}" in data-kui-stagger (expected one time step)`),e)}function ta(e,t,r="from"){let n=e.trim();if(Pg.has(n))return n;if(Ig.test(n))return Number(n);let o=Cg.exec(n);return o?{x:Zs(Number(o[1]),n,t),y:Zs(Number(o[2]),n,t)}:(t.push(`unrecognised "${r}:${e}" \u2014 expected start, end, center, edges, random, a child index, or an "x/y" point in a grid`),"start")}function Zs(e,t,r){return e>=0&&e<=1?e:(r.push(`stagger order "${t}" is outside the grid (0 to 1 on each axis) \u2014 clamped`),Math.min(Math.max(e,0),1))}var ra=1e3,qg=2654435761,Kg=2246822507,Ug=569420461,zg=1935289751;function oa(e,t){return e.spread===void 0?e.step:t<=0?"0ms":`calc((${e.spread}) / ${String(t)})`}function Rn(e,t,r=[],n){if(e<=0)return[];if(t==="random")return Jg(e);if(n)return sa(e,t,n,r);if(typeof t=="object")return r.push(`stagger order "${String(t.x)}/${String(t.y)}" is a point in a grid, but this group has no "cols:" \u2014 add one, or name an edge with start/end/center/edges`),Rn(e,"start",r);let o=e-1;if(t==="edges")return Array.from({length:e},(s,a)=>Math.min(a,o-a));let i=Yg(t,o,r);return Array.from({length:e},(s,a)=>Math.floor(Math.abs(a-i)))}function Yg(e,t,r){return e==="start"?0:e==="end"?t:e==="center"?t/2:ia(e,t,r)}function ia(e,t,r){return(e<0||e>t)&&r.push(`stagger order "${String(e)}" is outside the group (0 to ${String(t)}) \u2014 clamped`),Math.min(Math.max(e,0),t)}function sa(e,t,r,n){let o=Math.min(Math.max(1,r.cols),e),i=Math.ceil(e/o);if(t==="edges"){let a=sa(e,"center",r,n),c=0;for(let u of a)c=Math.max(c,u);return a.map(u=>Ze(c-u))}let s=Xg(t,{cols:o,rows:i,last:e-1},n);return Array.from({length:e},(a,c)=>{let u=c%o-s.x,l=Math.floor(c/o)-s.y;return r.along==="x"?Ze(Math.abs(u)):r.along==="y"?Ze(Math.abs(l)):Ze(Math.hypot(u,l))})}function Xg(e,t,r){let{cols:n,rows:o,last:i}=t;if(typeof e=="object")return{x:e.x*(n-1),y:e.y*(o-1)};if(e==="start")return{x:0,y:0};if(e==="end")return{x:n-1,y:o-1};if(e==="center")return{x:(n-1)/2,y:(o-1)/2};let s=ia(e,i,r);return{x:s%n,y:Math.floor(s/n)}}function Ze(e){return Math.round(e*ra)/ra}function Jg(e){let t=Array.from({length:e},(n,o)=>o);t.sort((n,o)=>na(n,e)-na(o,e));let r=new Array(e);for(let[n,o]of t.entries())r[o]=n;return r}function na(e,t){let r=(Math.imul(e,qg)^Math.imul(t,Kg))>>>0;return r^=r>>>16,r=Math.imul(r,Ug)>>>0,r^=r>>>15,r=Math.imul(r,zg)>>>0,r^=r>>>15,r>>>0}function aa(e,t){let r=[],n=Zg(e),o=rr(e.getAttribute(k.stagger),e.getAttribute(k.source)??"",r)??{from:"start"},i=ry(e),s=Rn(i.length,o.from,r,da(o,i,r)),a=0;for(let[u,l]of i.entries()){let p=s[u];n.style(l).set("--kui-i",String(p)),ca.set(l,e),p>a&&(a=p)}let c=oa(o,a);c&&n.style(e).set("--kui-stagger",c),n.style(e).set("--kui-stagger-count",String(Ze(a+1)));for(let u of r)t?.warn(u,e)}var nr=new WeakMap,ca=new WeakMap;function ua(e,t){let r=new Set;for(let n of e){let o=ca.get(n);o&&r.add(o)}for(let n of r)aa(n,t)}function Zg(e){nr.get(e)?.restore();let t=Et(e);return nr.set(e,t),t}function Cn(e){nr.get(e)?.restore(),nr.delete(e)}function la(e){let t=`[${k.stagger}], [${k.source}]`;e instanceof Element&&e.matches(t)&&Cn(e);for(let r of e.querySelectorAll(t))Cn(r)}function pa(e,t){or(e,t);let r=e.parentElement;r&&or(r,t)}function or(e,t){ny(e)?aa(e,t):Cn(e)}function ma(e){let{host:t,matches:r,styleOf:n,keys:o,reporter:i}=e,s=[],a=t.getAttribute(k.stagger),c=(o?An(a,o,s):rr(a,t.getAttribute(k.source)??"",s))??{from:"start"},u=ey(Qg(r),c,n,s),l=oa(c,u);l&&n(t).set("--kui-stagger",l),n(t).set("--kui-stagger-count",String(Ze(u+1)));for(let p of s)i?.warn(p,t)}function Qg(e){let t=new Map;for(let r of e){let n=t.get(r.parentElement);n?n.push(r):t.set(r.parentElement,[r])}return t}function ey(e,t,r,n){let o=0;for(let i of e.values()){let s=da(t,i,n),a=Rn(i.length,t.from,n,s);for(let[c,u]of i.entries()){let l=a[c];r(u).set("--kui-i",String(l)),l>o&&(o=l)}}return o}function da(e,t,r){if(e.cols===void 0){e.along!==void 0&&r.push(`"along:${e.along}" names an axis of a grid this group has not declared \u2014 add "cols:" (a column count, or "auto")`);return}let n=e.cols==="auto"?ty(t,r):e.cols;if(n!==void 0)return e.along===void 0?{cols:n}:{cols:n,along:e.along}}function ty(e,t){if(e.length<2)return 1;let r=[],n=!1;for(let s of e){let a=s.getBoundingClientRect();(a.width!==0||a.height!==0)&&(n=!0),r.push(a.left)}if(!n){t.push('"cols:auto" could not measure this group \u2014 none of its children have been laid out yet (display:none, or detached), so the stagger falls back to DOM order');return}let o=Math.sign(r[1]-r[0]);if(o===0)return 1;let i=1;for(let s=1;s<r.length&&Math.sign(r[s]-r[s-1])===o;s++)i=s+1;return i}function ry(e){let t=[];for(let r of e.children)r.hasAttribute(k.source)&&t.push(r);return t}function fa(e,t){let r=`[${k.stagger}], [${k.source}]`;e instanceof Element&&e.matches(r)&&or(e,t);for(let n of e.querySelectorAll(r))or(n,t)}function ny(e){return e.hasAttribute(k.define)||qs(e)?!1:e.hasAttribute(k.stagger)?!0:rr(null,e.getAttribute(k.source)??"")!==void 0}var oy=64;function ir(e){return e.id?`${e.tagName.toLowerCase()}#${e.id}`:e.tagName.toLowerCase()}function ya(e,t){return t.some(r=>e.resolve(r)?.preset.establishes3d===!0)}function ga(e,t){let r=e.stateOf(t);return!r||r.aggregate?!1:ya(e.registry,r.fxNames)}function iy(e,t,r){if(ga(e,t))return t;let n=r.parentElement,o=0;for(;n&&o<oy;){if(n!==t&&ga(e,n))return n;n=n.parentElement,o++}}function Mn(e,t,r){if(t.length===0){e.removeAttribute(k.unmatched);return}let n=t.join(", ");r?r.set(k.unmatched,n):e.setAttribute(k.unmatched,n)}function ha(e,t,r,n){if(!ya(e.registry,n.plan.fxNames))return;let o=iy(e,t,r);if(!o)return;let i=o===t?"its target: host":"an ancestor";e.reporter.warn(`<${ir(r)}> establishes a 3D rendering context nested inside ${i} <${ir(o)}>, which also runs a 3D-establishing effect \u2014 preserve-3d/perspective contexts do not compose when nested, so move one of the two 3D effects off its descendant`,r)}function va(e,t,r){r.scope==="page"&&r.plan.fxNames.some(n=>e.registry.resolve(n)?.preset.cloak===!0)&&t.ownerDocument.documentElement.hasAttribute(k.cloak)&&e.reporter.warn(`target "${r.selector}" (scope:page) on <${ir(t)}> carries a cloaked entrance \u2014 the pre-JS cloak selector only hides descendants of the element it is authored on, so a scope:page match outside <${ir(t)}>'s own subtree will flash unstyled before this library runs; use scope:self, or drop the cloaked preset from this group`,t)}var In=new WeakMap;function sy(e,t,r){let n=In.get(e);n||(n=new WeakMap,In.set(e,n)),n.set(t,r)}function ay(e,t){return In.get(e)?.get(t)}function ba(e){return`${e.scope} ${e.selector}`}function cy(e){return e.length===1?ba(e[0]):e.map(ba).sort((t,r)=>t.localeCompare(r)).join("")}function Ea(e,t,r,n){let o=n.get(r);if(o)return o;let i={...Cs(t.baseConfig,r.hoists)};return i.activation=e.resolveActivation(t.host,i,r.plan),n.set(r,i),i}function uy(e,t,r,n){let o=[],i=[],s=[];for(let a of r){if(a.selector==="")continue;let c=e.resolveGroupMatches(t.host,a);c.length===0&&s.push(a.selector),i.push({target:a,matches:c}),o.push({target:a,config:Ea(e,t,a,n),gateOwner:Tn(e,t,a),members:[]})}return{live:o,resolved:i,unmatched:s}}function ly(e){let t=e.baseConfig;return{host:e.el,fingerprint:e.fingerprint,parsed:e.parsed,baseConfig:t,timeline:t.timeline}}function py(e,t,r){r?e.install({...t,document:{targets:[r],warnings:[]}}):e.installAggregate(t)}function my(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function Sa(e,t,r){return r.length===1?r[0]:Fs(e,t,r)}function dy(e,t,r){let n=t.host,o=e.stateOf(n);Mn(n,[...r.unmatched,...r.suspects??[]],o.attributes),my(e,n,Ws(n)),sr(e,n),Us(e,n);for(let[i,s]of r.claims)ha(e,n,i,Sa(e,t,s));for(let i of r.resolved)va(e,n,i.target);vt(e,n)}function Pa(e,t){let r=ly(t),n=new Map,{live:o,resolved:i,unmatched:s}=uy(e,r,t.document.targets,n);e.book.contexts.set(r.host,r),e.book.groups.set(r.host,o);let a=Ln(e,r.host,i),c=t.document.targets.find(u=>u.selector==="");if(!c&&a.size===0){r.host.setAttribute(k.state,"failed"),Mn(r.host,[...s,...t.document.suspectSelectors??[]]);return}On(e,r,a,n),py(e,t,c),dy(e,r,{claims:a,resolved:i,unmatched:s,suspects:t.document.suspectSelectors})}function fy(e,t,r){let{book:n}=e;sy(n,r,t),n.hosts.delete(r),n.derived.get(t)?.delete(r);for(let o of n.groups.get(t)??[]){let i=o.members.indexOf(r);i!==-1&&o.members.splice(i,1)}}function gy(e,t){let{book:r}=e;for(let n of[...r.derived.get(t)??[]])e.release(n);for(let n of r.cleanups.get(t)??[])n();r.derived.delete(t),r.groups.delete(t),r.contexts.delete(t),r.unions.delete(t),r.cleanups.delete(t)}function ka(e,t){let r=e.book.hosts.get(t);if(r){fy(e,r,t);return}e.book.derived.has(t)&&gy(e,t)}function wa(e,t){let r=new Set;for(let n of t){let o=ay(e.book,n);o&&r.add(o)}for(let n of r)e.stateOf(n)&&(sr(e,n),vt(e,n))}var yy={host:"is the target: host itself",authored:"already carries its own data-kui and animates itself",claimed:"is already claimed by another target: host"};function hy(e,t,r){if(r===t)return"host";if(r.hasAttribute(k.source))return"authored";let n=e.book.hosts.get(r);if(n!==void 0&&n!==t)return"claimed"}function vy(e,t,r){let n=e.get(r);n?n.push(t):e.set(r,[t])}function by(e,t,r,n){let o=r.plan.fxNames.join(", ");for(let[i,s]of n){let a=s===1?"match":"matches";e.reporter.warn(`target "${r.selector}" (${o}) skipped ${s} ${a} that ${yy[i]}`,t)}}function Ln(e,t,r){let n=new Map;for(let o of r){let i=new Map;for(let s of o.matches){let a=hy(e,t,s);a?i.set(a,(i.get(a)??0)+1):vy(n,o.target,s)}by(e,t,o.target,i)}return n}function Ey(e,t,r,n){let{match:o,targets:i}=r,s=Sa(e,t,i);return{match:o,targets:i,target:s,config:Ea(e,t,s,n)}}function Sy(e,t,r){return r.some(o=>Tn(e,t,o)!==void 0)?t.host:void 0}function Py(e,t,r){let{book:n}=e;n.hosts.set(r.match,t.host);let o=n.derived.get(t.host)??new Set;o.add(r.match),n.derived.set(t.host,o);let i=n.groups.get(t.host)??[];for(let s of r.targets)i.find(a=>a.target===s)?.members.push(r.match)}function ky(e,t,r){e.install({el:r.match,fingerprint:`${t.fingerprint}\0${cy(r.targets)}`,parsed:{specs:r.target.specs,warnings:[]},config:r.config,document:{targets:[{...r.target,selector:"",scope:"self"}],warnings:[]},host:t.host,gateOwner:Sy(e,t,r.targets)}),Py(e,t,r)}function On(e,t,r,n=new Map){let o=[];for(let[i,s]of r){let a=Ey(e,t,{match:i,targets:s},n);ky(e,t,a),o.push(a.match)}return o}function sr(e,t){let r=e.book.contexts.get(t),n=e.book.groups.get(t),o=e.stateOf(t);if(!r||!n||!o)return;let i=er(r.parsed),s=a=>a===t?o.ledgers.style(t):e.stateOf(a).ledgers.style(a);for(let a of n)a.members.length!==0&&ma({host:t,matches:a.members,styleOf:s,keys:tr(a.target.hoists,i),reporter:e.reporter})}var wy=64;function xy(e,t,r){let n=[...e.querySelectorAll(r.selector)];return e.matches(r.selector)&&n.unshift(e),n.filter(o=>t.contains(o)&&o!==t&&!o.hasAttribute(k.part))}function Ty(e,t,r){let n=[],o=new Map;for(let i of r){if(o.set(i,i.members.length),i.target.scope!=="self")continue;let s=xy(e,t,i.target);s.length>0&&n.push({target:i.target,matches:s})}return{resolved:n,before:o}}function Ay(e,t){let r=e.findIndex(n=>!!(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING));return r===-1?e.length:r}function Cy(e,t,r){return t.members.some(n=>!r.includes(n)&&e.stateOf(n)?.status!=="ready")}function Ry(e,t,r){if(t.gateOwner!==void 0&&Cy(e,t,r))for(let n of r)e.activateOne(n)}function My(e,t,r){if(t.members.length===r)return;let n=t.members.splice(r);t.members.splice(Ay(t.members,n[0]),0,...n),Ry(e,t,n)}function Iy(e,t,r){let n=e.book.groups.get(r),o=e.book.contexts.get(r);if(!n||!o)return;let{resolved:i,before:s}=Ty(t,r,n);if(i.length===0)return;let a=Ln(e,r,i);if(a.size!==0){On(e,o,a);for(let c of n)My(e,c,s.get(c));sr(e,r)}}function xa(e,t){if(t.hasAttribute(k.part))return;let r=t.parentElement,n=0;for(;r&&n<wy;)Iy(e,t,r),r=r.parentElement,n++}var Ly=100;function Ca(e){let{root:t,onElementAdded:r,onElementRemoved:n,onAttributeChanged:o}=e,i=e.schedule??Oy,s=e.createObserver??Ny(),a=new Set,c=new Set,u=new Set,l,p=!1,m=!1;function f(E){if(E.type==="attributes"){let w=_n(E.target);w&&u.add(w);return}for(let w of E.addedNodes)Aa(a,_n(w));for(let w of E.removedNodes)Aa(c,_n(w))}function d(E){for(let w of E)f(w);p||(p=!0,i(v))}let g=Ta(t,r),h=Ta(t,o);function v(){if(p=!1,m)return;let E=Ly;E=Nn(c,n,E),E=Nn(a,g,E),Nn(u,h,E),a.size+c.size+u.size>0&&(p=!0,i(v))}return{watch(){s&&(m=!1,l=s(d),l.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[k.source,k.on,k.timeline,k.threshold,k.stagger]}))},destroy(){m=!0,l?.disconnect(),a.clear(),c.clear(),u.clear()}}}function Ta(e,t){return r=>{e.contains(r)&&t(r)}}function Aa(e,t){if(t){for(let r of e){if(r.contains(t))return;t.contains(r)&&e.delete(r)}e.add(t)}}function Nn(e,t,r){for(let n of e){if(r===0)break;e.delete(n),t(n),r--}return r}function _n(e){return e.nodeType===1?e:null}function Oy(e){let t=globalThis.requestAnimationFrame;typeof t=="function"?t(()=>e()):queueMicrotask(e)}function Ny(){if(!(typeof MutationObserver>"u"))return e=>new MutationObserver(e)}function _y(e,t){let r=ms(e.spec,t);return e.sequencedDelayMs!==void 0&&(r.delayMs=e.sequencedDelayMs),r}function Ra(e){let{scheduler:t,rootResolver:r,capabilities:n,reporter:o,respectReducedMotion:i}=e;function s(a,c,u){let l=a.ownerDocument;return{doc:l,win:l.defaultView??globalThis,scheduler:t,rootFor:r,capabilities:n,invalidate:()=>t.invalidate(),warn:p=>o.warn(p,a),reducedMotion:i&&n.reducedMotion,signal:c,style:u}}return{prepare({el:a,plan:c,signal:u,ledger:l}){let p=[];if(c.jsEffects.length===0)return p;let m=s(a,u,l);for(let f of c.jsEffects){let{spec:d,resolved:g}=f,h=g.primitive.prepare;if(!h)continue;let v=w=>o.warn(w,a),E=ds({...g.preset.params,...Jt(f)},g.primitive.parameters,v,_y(f,v));try{p.push(h(a,E,m))}catch(w){o.warn(`"${d.name}" failed to initialise: ${String(w)}`,a)}}return p}}}function Dy(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(t,16),cancelFrame:t=>globalThis.clearTimeout(t)}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t)}}function Oa(e=Dy()){let t=new Map,r=0,n=null;function o(c){if(c)c.dirty=!0;else for(let u of t.values())u.dirty=!0;n===null&&(n=e.requestFrame(i))}function i(){n=null;for(let c of t.values()){if(!c.dirty||c.subscribers.size===0)continue;c.dirty=!1;let u={metrics:c.root.metrics(),epoch:r};for(let l of[...c.subscribers])l(u)}}function s(c){let u=t.get(c.key);if(u)return u;let l={root:c,subscribers:new Set,detach:[],dirty:!1};return l.detach.push(c.onScroll(()=>o(l))),l.detach.push(c.onResize(()=>{r++,o()})),t.set(c.key,l),l}function a(c){if(!(c.subscribers.size>0)){for(let u of c.detach)u();t.delete(c.root.key)}}return{subscribe(c,u){let l=s(c);return l.subscribers.add(u),o(l),()=>{l.subscribers.delete(u),a(l)}},invalidate(){r++,o()},rootCount:()=>t.size,destroy(){n!==null&&e.cancelFrame(n),n=null;for(let c of t.values()){c.subscribers.clear();for(let u of c.detach)u()}t.clear()}}}function $y(e){return{key:"window",metrics:()=>({scrollTop:e.scrollY,scrollLeft:e.scrollX,viewportWidth:e.innerWidth,viewportHeight:e.innerHeight,viewportTop:0,viewportLeft:0}),onScroll:t=>Dn(e,"scroll",t),onResize:t=>Na(e.document.documentElement,e,t)}}function jy(e,t){return{key:`el:${Vy(e)}`,metrics:()=>{let r=e.getBoundingClientRect();return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.clientWidth,viewportHeight:e.clientHeight,viewportTop:r.top,viewportLeft:r.left}},onScroll:r=>Dn(e,"scroll",r),onResize:r=>Na(e,t,r)}}function Dn(e,t,r){return e.addEventListener(t,r,{passive:!0}),()=>e.removeEventListener(t,r)}function Na(e,t,r){let n=Dn(t,"resize",r);if(typeof ResizeObserver>"u")return n;let o=new ResizeObserver(r);return o.observe(e),()=>{n(),o.disconnect()}}var Hy=0,Ma=new WeakMap;function Vy(e){let t=Ma.get(e);if(t)return t;let r=String(++Hy);return Ma.set(e,r),r}function _a(e){let{win:t}=e,r=e.isScrollable??Gy(t),n=$y(t);return o=>{for(let i=o.parentElement;i;i=i.parentElement){if(Fy(i,t))return n;if(r(i))return jy(i,t)}return n}}function Fy(e,t){let r=t.document.documentElement;if(e===r)return!0;if(e!==t.document.body)return!1;let n=t.getComputedStyle(r);return!Ia.has(n.overflowX)&&!Ia.has(n.overflowY)}var Ia=new Set(["auto","scroll","overlay","hidden","clip"]),La=new Set(["auto","scroll","overlay"]);function Gy(e){return t=>{let r=e.getComputedStyle(t),n=La.has(r.overflowY)&&t.scrollHeight>t.clientHeight,o=La.has(r.overflowX)&&t.scrollWidth>t.clientWidth;return n||o}}function Da(e){return Number.isNaN(e)?0:Math.min(1,Math.max(0,e))}function Ve(e){let t=-1,r;return{read(n){return(t!==n||r===void 0)&&(r=e(),t=n),r},clear(){t=-1,r=void 0}}}function $a(){return{warn(e,t){t===void 0?console.warn(`[kuinetic] ${e}`):console.warn(`[kuinetic] ${e}`,t)}}}function ar(){return{warn(){}}}function ja(){let e=[];return{messages:e,warn(t){e.push(t)}}}var Qe="data-kui-time-scale";function Fe(e){let r=e.closest(`[${Qe}]`)?.getAttribute(Qe)?.trim();if(!r)return 1;let n=Number(r);return Number.isFinite(n)?Math.min(4,Math.max(.05,n)):1}function By(e){let t=e.getAnimations;return typeof t=="function"?t.call(e):[]}function et(e,t){return By(e).filter(r=>{let n=r.animationName;return typeof n=="string"&&t.has(n)})}function Wy(e){return getComputedStyle(e).animationName}function qy(e,t){let r=e.style.getPropertyValue("animation-name");t.set("animation-name","none"),Wy(e),t.set("animation-name",r)}function Ky(e,t){if(e.length===0){t();return}Promise.all(e.map(r=>r.finished.catch(()=>{}))).then(()=>t())}function Uy(e,t,r,n){let o=et(e,r);if(!n){qy(e,t),t.set("animation-play-state","running"),o=et(e,r);let s=Fe(e);if(s!==1)for(let a of o)a.playbackRate=s;return o}let i=o.filter(s=>s.playState==="finished");if(i.length>0)for(let s of i)s.reverse();else t.set("animation-play-state","running");return o}function Ha(e,t,r,n=!1){let o=new Set(r),i,s=new Promise(l=>{i=l}),a=!1,c=l=>Ky(l,()=>i?.());function u(l){if(n)return;let p=et(e,o);s=new Promise(m=>{i=m});for(let m of p)m.playbackRate=l*Fe(e),m.play();t.set("animation-play-state","running"),c(p)}return{control:Xi(()=>et(e,o),t),activate(){if(s=new Promise(p=>{i=p}),n){i?.();return}let l=Uy(e,t,o,a);a=!0,c(l)},play(){u(1)},reverse(){u(-1)},cancel(){for(let l of et(e,o))l.cancel();i?.()},finish(){for(let l of et(e,o))l.finish();i?.()},get finished(){return s},destroy(){i?.()}}}function I(e){return{cleanup:e,continuous:!0}}function zy(e){if(e!==void 0)return typeof e=="function"?e:e.cleanup}function Pt(e){let t,r,n=Promise.resolve(),o=()=>{zy(t)?.(),t=void 0,r?.()};return Yy({activate(){if(t!==void 0&&o(),t=e(),typeof t=="function"||"continuous"in t)return;let i=t.finished;n=new Promise(s=>{r=s}),i.then(()=>r?.())},cancel:o,finish(){typeof t=="object"&&"finish"in t&&t.finish?.(),r?.()},destroy:o,finished:()=>n,continuous:()=>typeof t=="object"&&"continuous"in t})}function P(e){return(...t)=>Pt(()=>e(...t))}function Yy(e){let t=!1,r=0;return{activate(){if(t)return;e.activate(),t=!0;let n=++r;e.continuous?.()||(e.finished?.()??Promise.resolve()).then(()=>{n===r&&(t=!1)})},cancel(){e.cancel?.(),t=!1},finish(){e.finish?.()},get finished(){return e.finished?.()??Promise.resolve()},get continuous(){return e.continuous?.()??!1},destroy(){t=!1,e.destroy()}}}var Xy=3e3;function Jy(e){return[e.source,e.on,e.timeline,e.threshold].join("\0")}function jn(e){return typeof Element<"u"&&e instanceof Element}var Ge=class{registry;capabilities;reporter;root;bundles;binder;scheduler;rootResolver;jsEffectPreparer;respectReducedMotion;shouldObserve;states=new WeakMap;liveElements=new Set;currentRun=new WeakMap;settleArmed=new WeakMap;domWatcher;gateWatcher;started=!1;book=Hs();port;constructor(t={}){let r=Zy(t);this.registry=r.registry,this.bundles=new Wt(r.registry),this.capabilities=r.capabilities,this.root=r.root,this.reporter=r.reporter,this.binder=r.binder,this.scheduler=r.scheduler,this.rootResolver=r.rootResolver,this.jsEffectPreparer=r.jsEffectPreparer,this.domWatcher=r.domWatcher,this.respectReducedMotion=r.respectReducedMotion,this.shouldObserve=r.shouldObserve,this.port={registry:this.registry,reporter:this.reporter,binder:this.binder,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,book:this.book,stateOf:n=>this.states.get(n),install:n=>this.install(n),installAggregate:n=>this.installAggregate(n),resolveGroupMatches:(n,o)=>this.resolveGroupMatches(n,o),resolveActivation:(n,o,i)=>this.resolveActivation(n,o,i),release:n=>this.release(n),activateOne:n=>this.activateOne(n),deactivateOne:n=>this.deactivate(n),writeStatus:(n,o,i)=>this.writeStatus(n,o,i),emit:(n,o,i,s)=>this.emit(n,o,i,s)}}start(){if(this.started)return this;this.started=!0;let t=globalThis.setTimeout(()=>this.uncloak(),Xy);try{this.scan(this.root),this.shouldObserve&&this.watch()}finally{globalThis.clearTimeout(t),this.uncloak()}return this}scan(t=this.root){if(!t)return this;let r=this.bundles.collect(t,this.reporter),n=`[${k.source}]`;jn(t)&&t.matches(n)&&this.process(t);for(let o of t.querySelectorAll(n))this.process(o);return fa(t,this.reporter),r>0&&t!==this.root&&this.retryPending(),this}retryPending(){for(let t of this.root.querySelectorAll(`[${k.state}="pending"]`))this.process(t)}process(t){if(t.hasAttribute(k.define))return;let r=xs(t),n=Jy(r),o=this.states.get(t);if(o?.fingerprint===n)return;o&&this.release(t);let i=Ds(this.bundles.expand(de(r.source)),this.registry),s=Ts(r,i),a={...s},c=Zt(i,this.registry,s.timeline),u=c.targets[0].plan;if(this.applyViewportGates(t,c),a.activation=this.resolveActivation(t,s,u),this.reportCompiled(t,c),c.targets.every(l=>l.plan.fxNames.length===0)){t.setAttribute(k.state,u.unknown.length>0?"pending":"failed");return}this.install({el:t,fingerprint:n,parsed:i,config:a,baseConfig:s,document:c})}reportCompiled(t,r){for(let o of r.warnings)this.reporter.warn(o,t);for(let o of r.targets)for(let i of o.plan.warnings)this.reporter.warn(i,t);let n=[...new Set(r.targets.flatMap(o=>o.plan.channels))];for(let o of Qi(n,this.capabilities))this.reporter.warn(o,t)}resolveActivation(t,r,n){return r.activationAuthored?(oi({el:t,spec:le(r.activation),supported:n.supportedActivations,claims:n.activationClaims,reporter:this.reporter}),r.activation):n.defaultActivation??r.activation}applyViewportGates(t,r){let n=r.targets.flatMap(i=>i.plan.jsEffects).map(i=>i.spec.gate).filter(i=>i!==void 0);if(n.length===0){this.gateWatcher?.unwatch(t);return}let o=t.ownerDocument.defaultView??void 0;for(let i of r.targets)i.plan.jsEffects=i.plan.jsEffects.filter(s=>It(s.spec.gate,o));this.watchGates(t,o,pi(n))}watchGates(t,r,n){this.gateWatcher??=mi(r,o=>this.regate(o)),this.gateWatcher.watch(t,n)}regate(t){this.release(t),this.process(t)}installedAsHost(t){return t.document.targets.some(r=>r.selector!=="")?(Pa(this.port,t),!0):!1}install(t){if(this.installedAsHost(t))return;let{el:r,fingerprint:n,parsed:o,config:i,document:s}=t,a=s.targets.map(h=>({target:h,matches:this.resolveGroupMatches(r,h)})).filter(h=>h.matches.length>0),c=Et(r),u=c.style(r),l=c.attributes(r),p=new AbortController;this.bindAuthorCallback(r,o,p.signal);let m=s.targets.some(h=>Object.keys(h.plan.declarations).length>0),f=bt({plan:a[0].target.plan,config:i,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:m}),d={fingerprint:n,specs:o.specs,activation:i.activation,timeline:i.timeline,fxNames:s.targets.flatMap(h=>h.plan.fxNames),jsEffectNames:s.targets.flatMap(h=>h.plan.jsEffects.map(v=>v.spec.name)),progressDriven:f.gate==="scrubbed"||f.gate==="native-timeline",instances:[],ledger:u,attributes:l,ledgers:c,controller:p,status:"ready"};t.host&&(d.host=t.host),t.gateOwner&&(d.gateOwner=t.gateOwner),this.states.set(r,d),this.liveElements.add(r),l.set(k.state,"ready");let g={el:r,state:d,ledgers:c,config:i,signal:p.signal,elementHasCssAnimation:m};for(let h of a)this.installGroup(h,g);this.openGate({el:r,state:d,stylePlan:f,config:i,plan:a[0].target.plan})}installAggregate(t){let{el:r,fingerprint:n,parsed:o,config:i,document:s}=t,a=Et(r),c=new AbortController;this.bindAuthorCallback(r,o,c.signal);let u={fingerprint:n,specs:o.specs,activation:i.activation,timeline:i.timeline,fxNames:s.targets.flatMap(l=>l.plan.fxNames),jsEffectNames:[],progressDriven:!1,instances:[],ledger:a.style(r),attributes:a.attributes(r),ledgers:a,controller:c,status:"ready",aggregate:!0};this.states.set(r,u),this.liveElements.add(r),u.attributes.set(k.state,"ready")}installGroup(t,r){let{target:n,matches:o}=t,i=bt({plan:n.plan,config:r.config,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:r.elementHasCssAnimation}),s=Object.keys(i.properties).some(c=>c.startsWith("animation-")),a={target:n,stylePlan:i,hasCssAnimation:s};for(let c of o)this.installMatch(c,a,r)}installMatch(t,r,n){let{target:o,stylePlan:i,hasCssAnimation:s}=r,{state:a,ledgers:c}=n,u=c.style(t),l=c.attributes(t);for(let[p,m]of Object.entries(i.properties))u.set(p,m);if(l.set(k.normalized,i.attributes[k.normalized]),l.set(k.rm,i.attributes[k.rm]),u.claim("animation-play-state"),s){let p=i.gate==="scrubbed";a.instances.push(Ha(t,u,o.plan.keyframeNames,p))}a.instances.push(...this.jsEffectPreparer.prepare({el:t,plan:o.plan,signal:n.signal,ledger:u}))}bindAuthorCallback(t,r,n){r.func!==void 0&&Zi({el:t,name:r.func,reporter:this.reporter,signal:n})}resolveGroupMatches(t,r){if(r.selector==="")return[t];let n=t.ownerDocument,o=r.plan.fxNames.join(", "),i=ct(r.selector,n);if(i!=="ok"){let a=i==="invalid"?"is not a valid selector":"matches the whole document";return this.reporter.warn(`target "${r.selector}" (${o}) ${a} and will be ignored`,t),[]}let s=$(t,{doc:n},r.selector,r.scope);return s.length===0&&this.reporter.warn(`target "${r.selector}" (${o}) matched nothing`,t),s}openGate(t){let{el:r,state:n,stylePlan:o,config:i,plan:s}=t;if(this.reducedMotionDisables(s)){this.writeStatus(r,n,"finished"),this.emit(r,n,X.finish,"reduced-motion"),this.syncHost(n);return}let a=i.actions;if(a&&this.warnAboutCrossings(r,n,o.activation??i.activation,a),o.gate!=="deferred"){this.activateOne(r);return}if(Ks(n))return;let c=o.activation,u=this.binder.bind(r,c,{threshold:i.threshold,from:i.activationSource,activate:()=>this.activateOne(r),deactivate:()=>this.deactivate(r),...a?{cross:m=>this.applyCrossing(r,m,a)}:{}}),l=!1,p=()=>{l||(l=!0,u())};n.controller.signal.addEventListener("abort",p),!a&&pt(le(c))&&(n.releaseActivation=p)}reducedMotionDisables(t){return this.respectReducedMotion&&this.capabilities.reducedMotion&&t.reducedMotion==="disable"}warnAboutCrossings(t,r,n,o){let i=le(n),s=Di({actions:o,observed:i.start.kind==="observed"||i.end?.kind==="observed",activation:String(n),jsEffectNames:r.jsEffectNames,progressDriven:r.progressDriven});for(let a of s)this.reporter.warn(a,t)}applyCrossing(t,r,n){let o=this.states.get(t);o&&$i(n[r],{started:o.status!=="ready",controls:o.instances.map(i=>i.control).filter(i=>i!==void 0),activate:()=>this.activateOne(t),reverse:()=>this.reverseOne(t)})}activate(t){this.activateOne(t);for(let r of this.derivedOf(t))this.activateOne(r)}activateOne(t){let r=this.states.get(t);if(!r||r.aggregate)return;if(r.status==="running"&&r.direction==="reverse"){this.turnAround(t,r);return}if(r.status==="running")return;r.releaseActivation?.(),r.releaseActivation=void 0,this.writeStatus(t,r,"running"),r.direction="forward";let n=this.beginRun(r),o=r.instances.filter(i=>this.startInstance(i,t));if(o.length===0&&r.instances.length>0){this.writeStatus(t,r,"failed"),this.syncHost(r);return}this.emit(t,r,X.start,"activated"),this.syncHost(r),this.settleWhen({el:t,state:r,run:n},o,"finished")}deactivate(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;r.instances.filter($n).length<r.instances.length&&this.reporter.warn("effect cannot play backwards, so the exit half of this activation does nothing for it (JS-rendered effects have no playhead \u2014 see EffectInstance.reverse)",t),this.reverseOne(t)}reverseFrom(t){this.reverseOne(t);for(let r of this.derivedOf(t))this.reverseOne(r)}reverseOne(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;let n=r.instances.filter($n);if(n.length===0)return;this.writeStatus(t,r,"running"),r.direction="reverse",this.syncHost(r);let o=this.beginRun(r);for(let i of n)i.reverse();this.settleWhen({el:t,state:r,run:o},n,"ready")}turnAround(t,r){let n=r.instances.filter($n);r.direction="forward";let o=this.beginRun(r);for(let i of n)i.play();this.settleWhen({el:t,state:r,run:o},n,"finished")}settleWhen(t,r,n){let{el:o,state:i,run:s}=t,a=r.filter(u=>!u.continuous);if(a.length===0&&r.length>0){this.settleArmed.set(i,!1);return}this.settleArmed.set(i,!0);let c=i.direction;Promise.all(a.map(u=>u.finished)).then(()=>{this.states.get(o)!==i||i.status!=="running"||i.direction===c&&this.currentRun.get(i)===s&&(this.writeStatus(o,i,n),i.cancelled||(n==="finished"?this.emit(o,i,X.finish,"complete"):this.emit(o,i,X.reverseFinish,"reversed")),this.syncHost(i))})}beginRun(t){let r=Symbol("kui-run");return this.currentRun.set(t,r),t.cancelled=!1,r}emit(t,r,n,o){Ji(t,n,{effects:r.fxNames,activation:r.activation,timeline:r.timeline,reason:o,...r.host?{host:r.host}:{}})}writeStatus(t,r,n){r.status=n,r.attributes.set(k.state,n)}syncHost(t){t.host&&vt(this.port,t.host)}cancel(t){this.cancelOne(t);for(let r of this.derivedOf(t))this.cancelOne(r)}cancelOne(t){let r=this.states.get(t);if(!r)return;let n=r.status==="running";r.cancelled=!0;for(let o of r.instances)Va(()=>o.cancel());n&&this.settleArmed.get(r)===!1&&(this.writeStatus(t,r,"finished"),this.syncHost(r)),n&&this.emit(t,r,X.cancel,"cancelled")}control(t){return Kt({animator:this,root:this.root,target:t})}startInstance(t,r){try{return t.activate(),!0}catch(n){return this.reporter.warn(`effect failed to activate: ${String(n)}`,r),!1}}play(t,r,n={}){return qt({animator:this,root:this.root,target:t,effect:r},n)}uncloak(){(jn(this.root)?this.root.ownerDocument:this.root)?.documentElement?.removeAttribute(k.cloak)}stateOf(t){return this.states.get(t)}derivedOf(t){return Qt(this.book,t)}hostOf(t){return Vs(this.book,t)}reset(t){this.release(t)}release(t){let r=this.states.get(t);if(!r)return;ka(this.port,t);let n=r.status==="running";r.cancelled=!0,r.controller.abort();for(let o of r.instances)Va(()=>o.destroy());this.states.delete(t),this.liveElements.delete(t),this.gateWatcher?.unwatch(t),r.ledgers.restore(),n&&this.emit(t,r,X.cancel,"reset")}releaseTree(t){let r=[t,...t.querySelectorAll("*")];for(let n of r)this.liveElements.has(n)&&this.release(n);ua(r,this.reporter),wa(this.port,r)}destroy(){this.domWatcher?.destroy(),la(this.root);for(let t of[...this.liveElements])this.release(t);this.gateWatcher?.destroy(),this.binder.destroy(),this.scheduler.destroy(),this.started=!1}watch(){this.domWatcher??=Ca({root:this.root,onElementAdded:t=>{this.scan(t),xa(this.port,t)},onElementRemoved:t=>this.releaseTree(t),onAttributeChanged:t=>{this.process(t),pa(t,this.reporter)}}),this.domWatcher.watch()}};function Fa(e={}){return new Ge(e)}function Zy(e){let t=e.root??globalThis.document,r=e.capabilities??zt(),n=e.reporter??ar(),o=e.scheduler??Oa(),i=e.rootResolver??eh(t),s=(e.reducedMotion??"respect")==="respect";return{registry:e.registry??new Ce,capabilities:r,root:t,reporter:n,binder:e.binder??Rt({reporter:n}),scheduler:o,rootResolver:i,jsEffectPreparer:Qy(e.jsEffectPreparer,{scheduler:o,rootResolver:i,capabilities:r,reporter:n,respectReducedMotion:s}),domWatcher:e.domWatcher,respectReducedMotion:s,shouldObserve:e.observe??!1}}function Qy(e,t){return e??Ra(t)}function eh(e){let r=(jn(e)?e.ownerDocument:e)?.defaultView??globalThis;return _a({win:r})}function $n(e){return e.play!==void 0&&e.reverse!==void 0}function Va(e){try{e()}catch{}}var B=["duration","delay","ease"],Hn=new WeakMap;function cr(e,t){return Hn.set(e,t),e}function Ga(e,t){let r=Hn.get(e);return r?cr(t,r):t}function ur(e){return e.prepare?Hn.get(e.prepare):void 0}var Ua=[{slot:"duration",accepts:"time"},{slot:"delay",accepts:"time"},{slot:"ease",accepts:"easing"}];function kt(e,t,r={}){let n=e.resolve(t);if(!n)return;let{preset:o,primitive:i}=n,s=i.parameters,a=ur(i),c=a?a.honours??[]:B,u=Ua.map(m=>({...m,...Object.hasOwn(s,m.slot)?{param:m.slot}:{},honoured:c.includes(m.slot)})),l=Object.entries(s).map(([m,f])=>{let d=o.params?.[m],g=Ya(f.note,r,[o.name,i.id,"*"],m);return{name:m,type:f.type,default:d??f.default,presetDefault:d!==void 0,required:g?.required===!0,spellings:Wn(f,d??f.default),...th(f,m,g)}}),p={name:o.name,primitive:i.id,renderer:i.renderer,params:l,positionalOrder:u};return a&&c.length<B.length&&(p.unhonouredBecause=a.because),p}function th(e,t,r){let n={};e.keywords&&(n.keywords=e.keywords),e.minimum!==void 0&&(n.minimum=e.minimum),e.maximum!==void 0&&(n.maximum=e.maximum),e.integer&&(n.integer=!0);let o=Ua.findIndex(i=>i.slot===t);return o>=0&&(n.positionalIndex=o),r&&(n.note=r.why),r?.whenOmitted&&(n.whenOmitted=r.whenOmitted),n}function pr(e,t,r={}){return za(e,de(t).specs,r)}function mr(e,t,r={}){let n=de(t),o={};for(let[i,s]of Object.entries(Gn)){let a=n[i];a!==void 0&&(o[s.key]=a)}return{steps:za(e,n.specs,r),keys:Vn(r),written:o}}function Vn(e={}){return[...Object.values(Gn).map(r=>Ba(r,"element",e)),...ih.map(r=>Ba(r,"step",e))]}function za(e,t,r){return t.map(n=>{let o={written:rh(n),writtenKeys:nh(n)},i=kt(e,n.name,r);if(i)return{...i,...o};let s=Ye(n.name,e.names());return{...s?{name:n.name,unknown:!0,suggestion:s}:{name:n.name,unknown:!0},...o}})}function rh(e){let t={...e.params};return e.duration!==void 0&&(t.duration=e.duration),e.delay!==void 0&&(t.delay=e.delay),e.easing!==void 0&&(t.ease=e.easing),t}function nh(e){let t={};e.at!==void 0&&(t.at=e.at),Object.assign(t,e.gate),e.repeat!==void 0&&(t.repeat=e.repeat),e.yoyo!==void 0&&(t.yoyo=String(e.yoyo));for(let[r,n]of Object.entries(e.hoists??{}))t[Gn[r].key]=n;return t}var Fn="data-kui";function Ba(e,t,r){let n=Ya(void 0,r,[Fn],e.key),o={name:e.key,type:e.type,default:e.default,presetDefault:!1,required:!1,spellings:[...e.spellings],scope:t};return e.keywords&&(o.keywords=e.keywords),n&&(o.note=n.why),n?.whenOmitted&&(o.whenOmitted=n.whenOmitted),o}var Wa=Object.keys({time:0,view:0,scroll:0,pointer:0,pin:0}),qa=Object.keys({shorten:0,crossfade:0,disable:0}),Gn={activation:{key:"on",type:"text",default:"",spellings:["enter","load","hover","click","hover/unhover"]},actions:{key:"actions",type:"text",default:"",spellings:["play/pause/resume/reset","play/none/none/reset"]},timeline:{key:"timeline",type:"keyword",default:"",spellings:Wa,keywords:Wa},threshold:{key:"threshold",type:"percentage",default:"",spellings:["0%","25%"]},cascade:{key:"cascade",type:"time",default:"",spellings:["90ms","0.09s"]},spread:{key:"spread",type:"time",default:"",spellings:["600ms","0.6s"]},order:{key:"order",type:"text",default:"",spellings:["start","end","center","edges","random","3"]},cols:{key:"cols",type:"text",default:"",spellings:["auto","4"]},along:{key:"along",type:"keyword",default:"",spellings:["x","y"],keywords:["x","y"]},rm:{key:"rm",type:"keyword",default:"",spellings:qa,keywords:qa},func:{key:"func",type:"text",default:"",spellings:["onRevealDone"]}},lr=e=>({key:e,type:"keyword",default:"",spellings:$e,keywords:$e}),oh={at:{key:"at",type:"text",default:"",spellings:["after","with","-200ms","with+100ms"]},gate:{above:lr("above"),below:lr("below"),wide:lr("wide"),narrow:lr("narrow")},repeat:{key:"repeat",type:"text",default:"",spellings:["infinite","3"]},yoyo:{key:"yoyo",type:"keyword",default:"",spellings:["true","false"],keywords:["true","false"]}},ih=Object.values(oh).flatMap(e=>"key"in e?[e]:Object.values(e));function Ya(e,t,r,n){let o=r.map(s=>`${s}.${n}`).find(s=>Object.hasOwn(t,s)),i=e??(o===void 0?void 0:t[o]);if(i!==void 0)return typeof i=="string"?{why:i}:i}var Bn=/^-?(?:\d+(?:\.\d+)?|\.\d+)/;function Wn(e,t=e.default){let r=Me(t,e).ok?t.trim():"";return sh[e.type](r,e.keywords??[])}var sh={angle:e=>Ka(e),"angle|keyword":(e,t)=>[...Ka(t.includes(e)?"":e),...t],keyword:(e,t)=>[...t],time:ah,number:e=>[e||"1"],percentage:e=>[e||"50%"],"number|percentage":ch,length:e=>[e||"24px","calc(1rem + 4px)"],"length|percentage":e=>[e||"24px","50%"],color:e=>[e||"#e4f222","rgb(228 242 34)","currentcolor"],easing:e=>[e||"ease-out","linear","cubic-bezier(.2, .8, .2, 1)","spring"],path:()=>["M0,0L100,0"],text:()=>[]};function Ka(e){let t=Bn.exec(e)?.[0],r=e.endsWith("deg")||/^-?[\d.]+d?$/.test(e),n=r&&t?t:"45",o=[n,`${n}d`,`${n}deg`];return r||!e?o:[e,...o]}function ah(e){let t=Bn.exec(e)?.[0];return t?e.endsWith("ms")?[e,`${fe(t,-3)}s`]:[e,`${fe(t,3)}ms`]:["600ms","0.6s"]}function ch(e){let t=Bn.exec(e)?.[0];return t?e.endsWith("%")?[`${fe(t,-2)}`,e]:[e,`${fe(t,2)}%`]:["0.5","50%"]}var O={delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"}};function Xa(e,t){if(t==="ease")return e.timing.easing;let r=t==="duration"?e.timing.durationMs:e.timing.delayMs;return r===void 0?void 0:`${r}ms`}function Ja(e,t,r,n){let o=t.honours??[];for(let i of B){if(o.includes(i)||Xa(r,i)===void 0)continue;let s=o.length>0?o.join(", "):"no timing parameters";n(`"${e}" cannot honour ${i}: ${t.because} (honours: ${s})`)}}function tt(e,t=0){return e.timing.delayMs??e.ms("delay",t)}function dr(e,t=""){return e.timing.easing??e.text("ease",t)}function Be(e,t,r,n){for(let o of t){let i=Xa(r,o);i!==void 0&&n.style.set(Re(e,o),i)}}function R(e,t,r){return cr((n,o,i)=>(Ja(e,t,o,i.warn),r(n,o,i)),t)}function ne(e,t){return cr((r,n,o)=>(Ja(e,t,n,o.warn),Pt(()=>(Be(e,t.honours??[],n,o),()=>{}))),t)}var ye=["time","view","scroll","pin"],uh={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"0ms",cssProperty:"--kui-stagger"}};function b(e,t,r={}){return{id:e,renderer:"css-keyframes",channels:t,parameters:{...uh,...r.parameters},supportedTimelines:r.timelines??["time"],supportedActivations:r.activations??["load","enter","hover","focus","click","manual"],perfClass:r.perfClass??"compositor",reducedMotion:r.reducedMotion??"shorten",...r.defaultActivation?{defaultActivation:r.defaultActivation}:{}}}var Za={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"},to:{type:"color",default:"",cssProperty:"--kui-ambient-c2"}},lh={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"}},ph={duration:{type:"time",default:"4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"14px",cssProperty:"--kui-distance"}},mh={duration:{type:"time",default:"3.5s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"},angle:{type:"angle",default:"360deg",cssProperty:"--kui-to-angle"}},dh={duration:{type:"time",default:"2.2s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.15",cssProperty:"--kui-pulse-scale",finite:!0,minimum:1}},fh=[b("ambient-gradient",[y.background],{parameters:Za,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-gradient-ring",[y.background,"mask","position","padding"],{parameters:Za,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-tint",[y.background],{parameters:lh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-float",[y.translate],{parameters:ph,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-orbit",[y.rotate],{parameters:mh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-pulse",[y.scale,y.opacity],{parameters:dh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"})],gh=[{name:"gradient-mesh",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-gradient-mesh"},{name:"aurora",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-aurora"},{name:"gradient-rotate-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-rotate-border",params:{duration:"6s",ease:"linear"}},{name:"gradient-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-border",params:{duration:"6s",ease:"linear"}},{name:"scanline",phase:"idle",primitive:"ambient-tint",keyframes:"kui-scanline",params:{duration:"3.5s",ease:"linear"}},{name:"dot-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-dot-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"line-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-line-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"starfield",phase:"idle",primitive:"ambient-tint",keyframes:"kui-starfield",params:{duration:"40s",ease:"linear"}},{name:"spotlight-follow",phase:"idle",primitive:"ambient-tint",keyframes:"kui-spotlight-follow",params:{duration:"9s"}},{name:"wave-blob",phase:"idle",primitive:"ambient-tint",keyframes:"kui-wave-blob",params:{duration:"12s"}},{name:"float",phase:"idle",primitive:"ambient-float",keyframes:"kui-float"},{name:"bob",phase:"idle",primitive:"ambient-float",keyframes:"kui-bob",params:{duration:"2s",distance:"8px"}},{name:"floating-shapes",phase:"idle",primitive:"ambient-float",keyframes:"kui-floating-shapes",params:{duration:"6s",distance:"10px"}},{name:"orbit",phase:"idle",primitive:"ambient-orbit",keyframes:"kui-orbit"},{name:"glow-pulse",phase:"idle",primitive:"ambient-pulse",keyframes:"kui-glow-pulse"}];function Qa(e){return e.registerPrimitives(fh).registerPresets(gh)}var yh={duration:{type:"time",default:"240ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},hh="discrete.css pins that value on this effect";function ec(e,t){return{scale:{type:"number",default:t,cssProperty:e,finite:!0,minimum:0}}}function qn(e,t){return{distance:{type:"length",default:t,cssProperty:e}}}function rt(e,t,r={}){return{id:e,renderer:"javascript",channels:t,parameters:{...yh,...r},supportedTimelines:["time"],supportedActivations:["manual"],defaultActivation:"manual",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,{honours:B,because:hh})}}var nt=[{property:"display"},{property:"overlay"}],vh=[rt("fade-open",["opacity","discrete"]),rt("pop-open",["opacity","scale","discrete"],ec("--kui-pop-open-scale","0.92")),rt("scale-open",["scale","discrete"],ec("--kui-scale-open-scale","0.85")),rt("drop-open",["opacity","translate","discrete"],qn("--kui-drop-open-distance","12px")),rt("slide-open-up",["opacity","translate","discrete"],qn("--kui-slide-open-up-distance","16px")),rt("slide-open-down",["opacity","translate","discrete"],qn("--kui-slide-open-down-distance","16px"))],bh=[{name:"fade-open",primitive:"fade-open",transitions:[{property:"opacity"},...nt]},{name:"pop-open",primitive:"pop-open",transitions:[{property:"opacity"},{property:"scale"},...nt]},{name:"scale-open",primitive:"scale-open",transitions:[{property:"scale"},...nt]},{name:"drop-open",primitive:"drop-open",transitions:[{property:"opacity"},{property:"translate"},...nt]},{name:"slide-open-up",primitive:"slide-open-up",transitions:[{property:"opacity"},{property:"translate"},...nt]},{name:"slide-open-down",primitive:"slide-open-down",transitions:[{property:"opacity"},{property:"translate"},...nt]}];function tc(e){return e.registerPrimitives(vh).registerPresets(bh)}var Eh={duration:{type:"time",default:"1.6s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Sh={duration:{type:"time",default:"900ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Ph={duration:{type:"time",default:"1.2s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},dotSize:{type:"length",default:"8px",cssProperty:"--kui-dot-size"}},kh={duration:{type:"time",default:"1.4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"}},wh={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"24px",cssProperty:"--kui-distance"}},xh={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Kn={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.18",cssProperty:"--kui-pop-scale",finite:!0,minimum:1}},Th={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},extent:{type:"number",default:"4",cssProperty:"--kui-ripple-scale",finite:!0,minimum:1},color:{type:"color",default:"",cssProperty:"--kui-ripple-color"},strength:{type:"number|percentage",default:"0.6",cssProperty:"--kui-ripple-opacity",finite:!0,minimum:0,maximum:1},startScale:{type:"number",default:"0.2",cssProperty:"--kui-ripple-start",finite:!0,minimum:0}},Ah={...Kn,distance:{type:"length|percentage",default:"45%",cssProperty:"--kui-confetti-distance"},fan:{type:"number",default:"1",cssProperty:"--kui-confetti-fan",finite:!0,minimum:0},size:{type:"length",default:"6px",cssProperty:"--kui-confetti-size"},spill:{type:"length",default:"24px",cssProperty:"--kui-confetti-spill"},color1:{type:"color",default:"",cssProperty:"--kui-confetti-c1"},color2:{type:"color",default:"",cssProperty:"--kui-confetti-c2"},color3:{type:"color",default:"",cssProperty:"--kui-confetti-c3"},color4:{type:"color",default:"",cssProperty:"--kui-confetti-c4"},color5:{type:"color",default:"",cssProperty:"--kui-confetti-c5"}},Ch={duration:{type:"time",default:"1400ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Rh={distance:{type:"length",default:"36px",cssProperty:"--kui-pull-distance"}},Mh=[b("feedback-shimmer",[y.background],{parameters:Eh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-fade",[y.opacity],{defaultActivation:"manual"}),b("feedback-spin",[y.rotate,"discrete"],{parameters:Sh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-dot-pulse",[y.scale,y.opacity,y.background,"shadow","discrete"],{parameters:Ph,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-progress-track",[y.translate,y.scale,y.background,"transform-origin"],{parameters:kh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-toast",[y.opacity,y.translate],{parameters:wh,defaultActivation:"manual"}),b("feedback-shake",[y.translate],{parameters:xh,defaultActivation:"manual"}),b("feedback-wobble",[y.translate,y.rotate],{defaultActivation:"click"}),b("feedback-ripple",[y.scale,y.opacity,"sweep"],{parameters:Th,defaultActivation:"click"}),b("feedback-pop",[y.scale],{parameters:Kn,defaultActivation:"manual"}),b("feedback-burst",[y.scale,y.opacity,y.background,"sweep"],{parameters:Ah,defaultActivation:"click"}),b("feedback-heart-burst",[y.scale,y.color],{parameters:Kn,defaultActivation:"click"}),b("feedback-confirm",[y.opacity],{parameters:Ch,defaultActivation:"click"}),b("feedback-pull",[y.translate],{parameters:Rh,defaultActivation:"manual"})],Ih=[{name:"skeleton-shimmer",phase:"idle",primitive:"feedback-shimmer",keyframes:"kui-skeleton-shimmer"},{name:"skeleton-to-content",primitive:"feedback-fade",keyframes:"kui-skeleton-to-content"},{name:"spinner",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-spin"},{name:"spinner-dots",phase:"idle",primitive:"feedback-dot-pulse",keyframes:"kui-spinner-dots"},{name:"spinner-ring",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-ring-spin"},{name:"progress-indeterminate",phase:"idle",primitive:"feedback-progress-track",keyframes:"kui-progress-indeterminate"},{name:"toast-slide-in",primitive:"feedback-toast",keyframes:"kui-toast-slide-in"},{name:"toast-slide-out",primitive:"feedback-toast",keyframes:"kui-toast-slide-out",params:{ease:"ease-in"}},{name:"shake-error",primitive:"feedback-shake",keyframes:"kui-shake-error"},{name:"wobble",primitive:"feedback-wobble",keyframes:"kui-wobble",params:{duration:"600ms",ease:"ease-in-out"}},{name:"ripple",primitive:"feedback-ripple",keyframes:"kui-ripple"},{name:"badge-pop",primitive:"feedback-pop",keyframes:"kui-badge-pop"},{name:"count-bump",primitive:"feedback-pop",keyframes:"kui-count-bump",params:{duration:"280ms",scale:"1.3"}},{name:"heart-burst",primitive:"feedback-heart-burst",keyframes:"kui-heart-burst",params:{duration:"700ms",scale:"1.4"}},{name:"confetti-burst",primitive:"feedback-burst",keyframes:"kui-confetti-burst",params:{duration:"900ms",scale:"1.15"}},{name:"copy-confirm",primitive:"feedback-confirm",keyframes:"kui-copy-confirm"},{name:"pull-to-refresh",primitive:"feedback-pull",keyframes:"kui-pull-to-refresh",params:{duration:"900ms",ease:"ease-out"}}];function rc(e){return e.registerPrimitives(Mh).registerPresets(Ih)}function nc(e,t){return{x:t.width>0?e.x/t.width-.5:0,y:t.height>0?e.y/t.height-.5:0}}function oc(e,t,r){let n=nc(e,t);return{rotateY:n.x*r*2,rotateX:-n.y*r*2}}function ic(e,t,r){let n=nc(e,t);return{x:n.x*r*2,y:n.y*r*2}}function he(e){return e.matchMedia?.("(hover: hover) and (pointer: fine)").matches??!0}var Un={lift:[{property:"translate"}],pop:[{property:"scale"}],"lift-shadow":[{property:"translate"},{property:"box-shadow"}],"border-draw":[{property:"--kui-border-pct"}],"border-glow":[{property:"box-shadow"}]},sc=["icon-bounce","icon-spin","icon-wiggle","split-flap"],zn={color:{type:"color",default:"",cssProperty:"--kui-beam-border-c1"},outset:{type:"length",default:"",cssProperty:"--kui-beam-border-outset"},arc:{type:"angle",default:"100deg",cssProperty:"--kui-beam-border-arc"},softness:{type:"number|percentage",default:"0.22",cssProperty:"--kui-beam-border-softness",finite:!0,minimum:0,maximum:.9}},ac={color:{type:"color",default:"",cssProperty:"--kui-shine-sweep-color"},angle:{type:"angle",default:"115deg",cssProperty:"--kui-shine-sweep-angle"},width:{type:"number|percentage",default:"0.2",cssProperty:"--kui-shine-sweep-width",finite:!0,minimum:0,maximum:1}},wt={borderDraw:{color:{type:"color",default:"",cssProperty:"--kui-border-draw-color"}},borderGlow:{color:{type:"color",default:"",cssProperty:"--kui-border-glow-color"}},underlineSlide:{color:{type:"color",default:"",cssProperty:"--kui-underline-slide-color"}},underlineCenter:{color:{type:"color",default:"",cssProperty:"--kui-underline-center-color"}}},cc={...wt.borderDraw,width:{type:"length",default:"2px",cssProperty:"--kui-border-draw-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-border-draw-outset"}};function Lh(e){return{duration:{type:"time",default:e,cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}}}function uc(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...Lh(r),...n},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,{honours:B,because:"interaction.css pins that value on this effect"})}}var Oh={scale:{type:"number",default:"0.96",cssProperty:"--kui-press-scale",finite:!0,minimum:0},depth:{type:"length",default:"2px",cssProperty:"--kui-press-shadow-depth"},color:{type:"color",default:"",cssProperty:"--kui-press-shadow-color"}},Nh={opacity:{type:"number|percentage",default:"0.4",cssProperty:"--kui-group-dim-opacity",finite:!0,minimum:0,maximum:1}},_h=[uc("press",["scale","shadow"],"120ms",Oh)],Dh=[{name:"press-depth",primitive:"press",transitions:[{property:"scale"},{property:"box-shadow"}]}],$h=[uc("group-dim",["group"],"260ms",Nh)],jh=[{name:"group-dim",phase:"state",primitive:"group-dim",requiresOwnSubtree:!0}],lc=[..._h,...$h],pc=[...Dh,...jh];function Ie(e,t){let r=e.ResizeObserver,n=r?new r(t):void 0,o=new Set;return e.addEventListener("resize",t,{passive:!0}),{observe(i){o.has(i)||(o.add(i),n?.observe(i))},unobserve(i){o.delete(i),n?.unobserve(i)},disconnect(){e.removeEventListener("resize",t),n?.disconnect(),o.clear()}}}function Le(e,t){let r,n,o=()=>{r=void 0,n=void 0,t()};return{request(){r!==void 0||n!==void 0||(e.requestAnimationFrame?r=e.requestAnimationFrame(o):n=e.setTimeout(o,16))},cancel(){r!==void 0&&e.cancelAnimationFrame(r),n!==void 0&&e.clearTimeout(n),r=void 0,n=void 0}}}function fr(e,t,r,{perfClass:n="compositor",placed:o}={}){let i={honours:B,because:"interaction.css pins that value on this effect"};return{id:e,renderer:"javascript",channels:o?[...t,A(o.attribute),A(o.tease)]:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:n,reducedMotion:"shorten",prepare:o?R(e,i,(s,a,c)=>Pt(()=>(Be(e,B,a,c),Fh(s,a,o,c)))):ne(e,i)}}var mc={top:"bottom",bottom:"top",left:"right",right:"left"};function dc(e){return e!==null&&Object.hasOwn(mc,e)}function Hh(e,t,r){if(t[e]>=r)return e;let n=mc[e];return t[n]>t[e]?n:e}function Vh(e,t,r){switch(r){case"top":return-e.offsetTop;case"bottom":return e.offsetTop+e.offsetHeight-t.clientHeight;case"left":return-e.offsetLeft;case"right":return e.offsetLeft+e.offsetWidth-t.clientWidth}}function Fh(e,t,r,n){let o=Gh(e,t,r,n),i=x(e),s=()=>{i.restore(),o()},a=t.text("place"),c=t.ms("tease",0),u=a==="auto";!u&&dc(a)&&i.set(r.attribute,a);let l=u?Bh(e,r,i,n.win):void 0,p=Kh(e,r,n),m=()=>{l?.(),p()},f=()=>{},d=Uh(e,n,m,()=>f()),g=c>0?zh(e,n,{ms:c,attribute:r.tease,attrs:i,shown:d}):void 0;return g&&(f=g.end),()=>{g?.stop(),d.stop(),s()}}function Gh(e,t,r,n){let o=_(t.text("target"),n,r.name);if(!o)return()=>{};let i=$(e,n,o,"self"),s=i[0];if(!s)return n.warn(`${r.name} target "${o}" matched nothing inside this element`),()=>{};i.length>1&&n.warn(`${r.name} target "${o}" matched ${i.length} elements; only the first is used`);let a=x(s);return s.hasAttribute(r.marker)||a.set(r.marker,""),()=>a.restore()}function Bh(e,t,r,n){let o=t.preferred(e),i=o;return r.set(t.attribute,i),()=>{let s=e.querySelector(`[${t.marker}]`);if(!s)return;let a=e.getBoundingClientRect(),c={top:a.top,bottom:n.innerHeight-a.bottom,left:a.left,right:n.innerWidth-a.right},u=Hh(o,c,Vh(s,e,i));u!==i&&(i=u,r.set(t.attribute,i))}}var Wh=8;function qh(e,t,r,n=Wh){let o=n,i=r-n;return e<o||t>i-o?o-e:e+t>i?i-e-t:0}function Kh(e,t,r){let n=0;return()=>{let o=e.querySelector(`[${t.marker}]`);if(!o)return;let i=e.getAttribute(t.attribute),s=dc(i)?i:t.preferred(e),a=o.getBoundingClientRect(),c=e.getBoundingClientRect(),[u,l,p,m,f,d,g]=s==="top"||s==="bottom"?["left","width","offsetLeft","clientLeft","offsetWidth","clientWidth","innerWidth"]:["top","height","offsetTop","clientTop","offsetHeight","clientHeight","innerHeight"],h=e[f],v=h>0?c[l]/h:1;if(v<=0)return;let E=parseFloat(r.win.getComputedStyle(o).scale)||1,w=a[l]/E,C=c[u]+(e[m]+o[p])*v-w/2,F=r.doc.documentElement[d]||r.win[g],M=qh(C,w,F)/v;M!==n&&(n=M,r.style.set(t.shift,`${M}px`))}}function Uh(e,t,r,n){let{win:o}=t,i=Le(o,r),s=!1,a=!1,c=!1,u,l=()=>{let m=s||a||c;if(m&&!u){r(),u=new AbortController;let f={capture:!0,passive:!0,signal:u.signal};o.addEventListener("scroll",i.request,f),o.addEventListener("resize",i.request,f)}else!m&&u&&(u.abort(),u=void 0,i.cancel())},p=(m,f)=>e.addEventListener(m,d=>{f(d),l()},{signal:t.signal});return p("pointerenter",()=>{s=!0,n()}),p("pointerleave",()=>s=!1),p("focusin",()=>{a=!0,n()}),p("focusout",m=>{a=e.contains(m.relatedTarget)}),{setTeasing(m){c=m,l()},stop(){u?.abort(),i.cancel()}}}function zh(e,t,{ms:r,attribute:n,attrs:o,shown:i}){let{win:s}=t,a,c,u=()=>{a!==void 0&&(s.clearTimeout(a),a=void 0,o.remove(n),i.setTeasing(!1))},l=()=>{i.setTeasing(!0),o.set(n,""),a=s.setTimeout(u,r)},p=s.IntersectionObserver;return p&&(c=new p(m=>{m.some(f=>f.isIntersecting&&f.intersectionRatio>=.5)&&(c.disconnect(),l())},{threshold:.5}),c.observe(e)),{end:u,stop(){c?.disconnect(),a!==void 0&&s.clearTimeout(a),a=void 0}}}var Yh={duration:{type:"time",default:"320ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length|percentage",default:"100%",cssProperty:"--kui-label-swap-distance"}},Xh=[fr("label-swap",["discrete","label-swap"],Yh)],Jh=[{name:"masked-label-swap",phase:"state",primitive:"label-swap"},{name:"masked-label-swap-x",phase:"state",primitive:"label-swap"},{name:"masked-label-swap-diagonal",phase:"state",primitive:"label-swap"}],Zh={duration:{type:"time",default:"160ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"1000ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"4px",cssProperty:"--kui-hover-intent-distance"},color:{type:"color",default:"#f4f4f0",cssProperty:"--kui-hover-intent-color"},"bg-color":{type:"color",default:"#111111",cssProperty:"--kui-hover-intent-bg-color"},radius:{type:"length",default:"12px",cssProperty:"--kui-hover-intent-radius"},place:{type:"keyword",default:"top",keywords:["top","bottom","auto"],cssProperty:"--kui-hover-intent-place"},tease:{type:"time",default:"0ms",cssProperty:"--kui-hover-intent-tease"},target:{type:"text",default:"",cssProperty:"--kui-target"}},Qh=[fr("hover-intent",["hint"],Zh,{placed:{name:"hover-intent",marker:"data-kui-hint",attribute:"data-kui-hint-place",tease:"data-kui-hint-tease",shift:"--kui-hover-intent-shift",preferred:()=>"top"}})],ev=[{name:"hover-intent",phase:"state",primitive:"hover-intent"}],tv={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-distance"},gap:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-gap"},scale:{type:"number",default:"0.85",cssProperty:"--kui-anchored-preview-scale",finite:!0,minimum:0,maximum:1},color:{type:"color",default:"currentcolor",cssProperty:"--kui-anchored-preview-color"},"bg-color":{type:"color",default:"transparent",cssProperty:"--kui-anchored-preview-bg-color"},radius:{type:"length",default:"0px",cssProperty:"--kui-anchored-preview-radius"},place:{type:"keyword",default:"top",keywords:["top","bottom","left","right","auto"],cssProperty:"--kui-anchored-preview-place"},tease:{type:"time",default:"0ms",cssProperty:"--kui-anchored-preview-tease"},target:{type:"text",default:"",cssProperty:"--kui-target"}};function rv(e){for(let t of(e.getAttribute(k.normalized)??"").split(/\s+/)){let r=/^anchored-preview(?:-(bottom|left|right))?$/.exec(t);if(r)return r[1]??"top"}return"top"}var nv=[fr("anchored-preview",["preview"],tv,{placed:{name:"anchored-preview",marker:"data-kui-preview",attribute:"data-kui-preview-place",tease:"data-kui-preview-tease",shift:"--kui-anchored-preview-shift",preferred:rv}})],ov=[{name:"anchored-preview",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-bottom",phase:"state",primitive:"anchored-preview",params:{place:"bottom"}},{name:"anchored-preview-left",phase:"state",primitive:"anchored-preview",params:{place:"left"}},{name:"anchored-preview-right",phase:"state",primitive:"anchored-preview",params:{place:"right"}}],iv={duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},collapsed:{type:"length|percentage",default:"2.5em",cssProperty:"--kui-search-expand-collapsed"},width:{type:"length|percentage",default:"240px",cssProperty:"--kui-search-expand-width"}},sv=[fr("search-expand",["expand","discrete","search-field"],iv,{perfClass:"layout"})],av=[{name:"search-expand",primitive:"search-expand",transitions:[{property:"inline-size"}]}],fc=[...Xh,...Qh,...nv,...sv],gc=[...Jh,...ev,...ov,...av];var bc={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},yc={honours:["duration","delay"],because:"it is a continuous rotation and interaction.css runs it linear, so a curve would visibly stutter at the seam of every revolution"},cv="interaction.css pins that value on this effect",hc={distance:{type:"length",default:"6px",cssProperty:"--kui-lift-distance"}},uv={scale:{type:"number",default:"1.06",cssProperty:"--kui-pop-scale",finite:!0,minimum:0}};function lv(e){return Object.fromEntries(Object.entries(bc).filter(([t])=>e.includes(t)))}function oe(e,t,r={},n={honours:B,because:cv}){let o=n.honours;return{id:e,renderer:"javascript",channels:t,parameters:{...lv(o),...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,n)}}var Ec=[oe("lift",["translate"],hc),oe("pop",["scale"],uv),oe("lift-shadow",["translate","shadow"],hc),oe("shine-sweep",["sweep"],ac),oe("split-flap",["skew","discrete"]),oe("border-draw",["border","pseudo-before"],cc),oe("border-glow",["shadow"],wt.borderGlow),oe("beam-border",["border","pseudo-before"],zn,yc),oe("underline-slide",["scale"],wt.underlineSlide),oe("underline-center",["scale"],wt.underlineCenter),oe("icon-wiggle",["rotate"]),oe("icon-spin",["rotate"],{},yc),oe("icon-bounce",["translate"])],pv=Ec.map(e=>({name:e.id,primitive:e.id,...Un[e.id]?{transitions:Un[e.id]}:{},...sc.includes(e.id)?{delivery:"stylesheet-animation"}:{}})),mv=[{id:"beam-border-auto",renderer:"javascript",channels:["border","pseudo-before"],parameters:{duration:bc.duration,...zn},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:ne("beam-border-auto",{honours:["duration"],because:"it is an always-on linear loop with no start moment and no curve"})}],dv=[{name:"beam-border-auto",primitive:"beam-border-auto"}],fv={stiffness:{type:"number",default:"260",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"26",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}};function We(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R(e,{because:"it tracks pointer position continuously, so it has no start moment and no fixed span"},n)}}function gv(e){return{...ce,stiffness:e.num("stiffness",ce.stiffness),damping:e.num("damping",ce.damping),mass:e.num("mass",ce.mass)}}function yv(e){return{...Lt(),warn:e.warn}}function hv(e,t,r){if(!he(r.win))return()=>{};let n=e,o=t.num("maxAngle",14),i=t.text("perspective","800px");function s(l,p,m){r.style.set("transition",`transform ${m}ms ease-out`),r.style.set("transform",`perspective(${i}) rotateX(${l.toFixed(2)}deg) rotateY(${p.toFixed(2)}deg)`)}function a(l){let p=n.getBoundingClientRect(),m={x:l.clientX-p.left,y:l.clientY-p.top},{rotateX:f,rotateY:d}=oc(m,p,o);s(f,d,100)}function c(){s(0,0,400)}function u(){s(-o/2,o/2,250)}return n.addEventListener("pointermove",a,{passive:!0}),n.addEventListener("pointerleave",c,{passive:!0}),n.addEventListener("focus",u),n.addEventListener("blur",c),()=>{n.removeEventListener("pointermove",a),n.removeEventListener("pointerleave",c),n.removeEventListener("focus",u),n.removeEventListener("blur",c)}}function vv(e){return[...e.querySelectorAll("[data-depth]")].map(t=>({ledger:j(t),depth:Number(t.dataset.depth)||0}))}function vc(e,t,r,n){for(let o of e)o.ledger.set("transition",`translate ${n}ms ease-out`),o.ledger.set("translate",`${(t*o.depth).toFixed(2)}px ${(r*o.depth).toFixed(2)}px`)}function bv(e,t,r){if(!he(r.win))return()=>{};let n=e,o=t.num("strength",24),i=vv(n);function s(c){let u=n.getBoundingClientRect(),l={x:c.clientX-u.left,y:c.clientY-u.top},p=ic(l,u,o);vc(i,p.x,p.y,120)}function a(){vc(i,0,0,400)}return n.addEventListener("pointermove",s,{passive:!0}),n.addEventListener("pointerleave",a,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",a),()=>{n.removeEventListener("pointermove",s),n.removeEventListener("pointerleave",a),n.removeEventListener("focus",a),n.removeEventListener("blur",a);for(let c of i)c.ledger.restore()}}function Sc(e,t,r){e.style.translate=`${t.toFixed(1)}px ${r.toFixed(1)}px`}function Ev(e,t,r){let n=e.createElement("span");return n.className=`kui-cursor-dot ${t}`,n.setAttribute("aria-hidden","true"),r&&(n.textContent=r),e.body.append(n),n}function Sv(e,t,r){let n={x:0,y:0},o=i=>s=>{n[i]=s,Sc(e,n.x,n.y)};return{x:xe(t,o("x"),r),y:xe(t,o("y"),r)}}function yr(e,t,r,n){if(!he(r.win))return()=>{};let o=e.ownerDocument,i=e,s=Ev(o,n,t.text("label","")),a=Sv(s,gv(t),yv(r));function c(){s.classList.add("kui-cursor-dot-active")}function u(){s.classList.remove("kui-cursor-dot-active")}function l(m){c(),a.x.to(m.clientX),a.y.to(m.clientY)}function p(){let m=i.getBoundingClientRect(),f=m.left+m.width/2,d=m.top+m.height/2;c(),a.x.set(f),a.y.set(d),Sc(s,f,d)}return i.addEventListener("pointermove",l,{passive:!0}),i.addEventListener("pointerleave",u,{passive:!0}),i.addEventListener("focus",p),i.addEventListener("blur",u),()=>{i.removeEventListener("pointermove",l),i.removeEventListener("pointerleave",u),i.removeEventListener("focus",p),i.removeEventListener("blur",u),a.x.stop(),a.y.stop(),s.remove()}}function Pv(e,t,r){if(!he(r.win))return()=>{};let n=e;r.win.getComputedStyle(n).position==="static"&&r.style.set("position","relative");function o(c,u,l){r.style.set("--kui-x",c),r.style.set("--kui-y",u),r.style.set("--kui-spotlight-opacity",l?"1":"0")}function i(c){let u=n.getBoundingClientRect();o(`${(c.clientX-u.left).toFixed(1)}px`,`${(c.clientY-u.top).toFixed(1)}px`,!0)}function s(){o("50%","50%",!1)}function a(){o("50%","50%",!0)}return n.addEventListener("pointermove",i,{passive:!0}),n.addEventListener("pointerleave",s,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",s),()=>{n.removeEventListener("pointermove",i),n.removeEventListener("pointerleave",s),n.removeEventListener("focus",a),n.removeEventListener("blur",s)}}var kv={maxAngle:{type:"number",default:"14",cssProperty:"--kui-max-angle"},perspective:{type:"length",default:"800px",cssProperty:"--kui-perspective"}},wv={strength:{type:"number",default:"24",cssProperty:"--kui-strength"}},gr={...fv,label:{type:"text",default:"",cssProperty:"--kui-label"}},xv=[We("tilt-3d",["skew","transition"],kv,P(hv)),We("tilt-parallax",["translate"],wv,P(bv)),We("cursor-follow",["translate"],gr,P(Tv)),We("cursor-lag",["translate"],gr,P(Av)),We("cursor-label",["translate"],gr,P(Cv)),We("cursor-invert",["translate"],gr,P(Rv)),We("cursor-spotlight",["spotlight","pseudo-before","position"],{},P(Pv))];function Tv(e,t,r){return yr(e,t,r,"kui-cursor-dot-follow")}function Av(e,t,r){return yr(e,t,r,"kui-cursor-dot-lag")}function Cv(e,t,r){return yr(e,t,r,"kui-cursor-dot-label")}function Rv(e,t,r){return yr(e,t,r,"kui-cursor-dot-invert")}var Mv=[{name:"tilt-3d",primitive:"tilt-3d"},{name:"tilt-parallax",primitive:"tilt-parallax"},{name:"cursor-follow",primitive:"cursor-follow",params:{stiffness:"300",damping:"30"}},{name:"cursor-lag",primitive:"cursor-lag",params:{stiffness:"80",damping:"14"}},{name:"cursor-label",primitive:"cursor-label",params:{stiffness:"260",damping:"26",label:"View"}},{name:"cursor-spotlight",primitive:"cursor-spotlight"},{name:"cursor-invert",primitive:"cursor-invert",params:{stiffness:"260",damping:"26"}}],Iv=[...Ec,...xv,...mv,...lc,...fc],Lv=[...pv,...Mv,...dv,...pc,...gc];function Pc(e){return e.registerPrimitives(Iv).registerPresets(Lv)}function Ov(e,t,r){if(!he(r.win))return()=>{};let n=e;function o(s){r.style.set("--kui-proximity-x",`${s.clientX}px`),r.style.set("--kui-proximity-y",`${s.clientY}px`),r.style.set("--kui-proximity-opacity","1")}function i(){r.style.set("--kui-proximity-opacity","0")}return n.addEventListener("pointermove",o,{passive:!0}),n.addEventListener("pointerleave",i,{passive:!0}),()=>{n.removeEventListener("pointermove",o),n.removeEventListener("pointerleave",i)}}var Nv=[{id:"proximity-field",renderer:"javascript",channels:["proximity"],parameters:{},supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R("proximity-field",{because:"it tracks pointer position continuously across a container, so it has no start moment and no fixed span"},P(Ov))}],_v=[{name:"proximity-field",phase:"state",primitive:"proximity-field"}],Dv={duration:{type:"time",default:"200ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},color:{type:"color",default:"",cssProperty:"--kui-proximity-glow-color"},radius:{type:"length",default:"220px",cssProperty:"--kui-proximity-glow-radius"},width:{type:"length",default:"1px",cssProperty:"--kui-proximity-glow-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-proximity-glow-outset"}},$v=[{id:"proximity-glow",renderer:"javascript",channels:["pseudo-before"],parameters:Dv,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:ne("proximity-glow",{honours:["duration","ease"],because:"the ring is ambient chrome fed by an ancestor proximity-field and has no discrete start moment of its own to delay"})}],jv=[{name:"proximity-glow",phase:"state",primitive:"proximity-glow"}],Hv=[...Nv,...$v],Vv=[..._v,...jv];function kc(e){return e.registerPrimitives(Hv).registerPresets(Vv)}var Yn="",Fv={blur:{type:"length",default:"16px",cssProperty:"--kui-glass-blur"},saturate:{type:"number|percentage",default:"1.6",cssProperty:"--kui-glass-saturate",finite:!0,minimum:0},opacity:{type:"number|percentage",default:"0.12",cssProperty:"--kui-glass-opacity",finite:!0,minimum:0,maximum:1},tint:{type:"color",default:Yn,cssProperty:"--kui-glass-tint"},rim:{type:"color",default:Yn,cssProperty:"--kui-glass-rim"},"rim-width":{type:"length",default:"1px",cssProperty:"--kui-glass-rim-width"},sheen:{type:"number|percentage",default:"0.16",cssProperty:"--kui-glass-sheen",finite:!0,minimum:0,maximum:1},radius:{type:"length|percentage",default:Yn,cssProperty:"--kui-glass-radius"}};function Gv(){return I(()=>{})}var Bv=[{id:"glass",renderer:"javascript",channels:["background","backdrop"],parameters:Fv,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:R("glass",{because:"it paints a resting surface rather than animating, so there is no motion to time"},P(Gv))}],Wv=[{name:"glass",primitive:"glass"}];function wc(e){return e.registerPrimitives(Bv).registerPresets(Wv)}var qv=new Set(["mp4","webm","mov","m4v","ogv"]),Kv=new Set(["youtube.com","www.youtube.com","m.youtube.com","youtube-nocookie.com","www.youtube-nocookie.com","youtu.be","www.youtu.be"]);function xc(e){let t=e.replace(/[\t\n\r]/g,""),r=0;for(;r<t.length&&t.charCodeAt(r)<=32;)r+=1;return t.slice(r)}function Uv(e){let t=xc(e).replace(/^[a-z][a-z0-9+.-]*:/i,"").replace(/^\/\//,""),r=t.search(/[/?#]/),n=r===-1?t:t.slice(0,r);return n.slice(n.lastIndexOf("@")+1).toLowerCase()}function zv(e){return Kv.has(Uv(e))}var Xn={center:"50% 50%",top:"50% 0%",bottom:"50% 100%",left:"0% 50%",right:"100% 50%","top-left":"0% 0%","top-right":"100% 0%","bottom-left":"0% 100%","bottom-right":"100% 100%"},Tc=Object.keys(Xn);function Ac(e){return Xn[e]??Xn.center}function Yv(e){return e.overlay!=="transparent"&&e.overlayOpacity>0}function Xv(e){let t=e.split("?")[0].split("#")[0],r=t.lastIndexOf(".");return r<=t.lastIndexOf("/")?!1:qv.has(t.slice(r+1).toLowerCase())}var Jv=new Set(["http","https"]);function Zv(e){let t=/^([a-z][a-z0-9+.-]*):/i.exec(xc(e));return t?t[1].toLowerCase():""}function Jn(e,t,r){if(!e)return e;if(zv(e))return r.warn(`background-media "${t}": "${e}" is a video *page*, not a media file \u2014 a YouTube URL cannot be played by <video> and needs an iframe embed instead. Point "${t}" at an .mp4/.webm file, or use a YouTube facade alongside this effect.`),"";let n=Zv(e);return!n||Jv.has(n)?e:(r.warn(`background-media "${t}": "${n}:" URLs are not allowed \u2014 use https:, http:, or a path such as "/media/hero.mp4".`),"")}function Cc(e){let{style:t}=e;t.setProperty("position","absolute"),t.setProperty("top","0"),t.setProperty("left","0"),t.setProperty("width","100%"),t.setProperty("height","100%"),t.setProperty("border-radius","inherit"),t.setProperty("pointer-events","none"),t.setProperty("z-index","-1")}function Qv(e,t){let r=e.createElement("div");return Cc(r),r.style.setProperty("background",t.overlay),r.style.setProperty("opacity",String(t.overlayOpacity)),r.setAttribute("aria-hidden","true"),r}function eb(e,t){let r=e.createElement("video");return r.muted=!0,r.setAttribute("muted",""),r.playsInline=!0,r.setAttribute("playsinline",""),r.loop=t.loop,r.defaultPlaybackRate=t.rate,r.playbackRate=t.rate,r.preload="metadata",t.poster&&(r.poster=t.poster),r.src=t.src,r}function Rc(e){let t=e.play();t&&t.catch(()=>{})}function tb(e,t,r){return r.reducedMotion||r.autoplay==="never"?()=>{}:r.autoplay==="always"?(Rc(e),()=>{e.paused||e.pause()}):nb(e,t)}function rb(e,t){let r=e.createElement("img");return r.alt="",r.decoding="async",r.src=t.src,r}function nb(e,t){let r=t.IntersectionObserver;if(!r)return()=>{};let n=new r(o=>{for(let i of o)i.isIntersecting?Rc(e):e.paused||e.pause()},{threshold:0});return n.observe(e),()=>{n.disconnect(),e.paused||e.pause()}}function Mc(e,t,r){let n=e.ownerDocument,o=Xv(r.src)?eb(n,r):null,i=o??rb(n,r);Cc(i),i.style.setProperty("object-fit",r.fit),i.style.setProperty("object-position",r.position),i.setAttribute("aria-hidden","true"),i.setAttribute("data-kui-background",""),e.append(i);let s=Yv(r)?Qv(n,r):null;s&&(s.setAttribute("data-kui-background-overlay",""),e.append(s));let a=o?tb(o,t.win,r):()=>{};return{remove:()=>{a(),i.remove(),s?.remove()}}}var Zn={vertical:0,horizontal:90},ob={deg:1,d:1,grad:.9,rad:180/Math.PI,turn:360},Ic=1,ib="kui-slat-stage",sb="kui-slat-item",ab=.6180339887498949;function cb(e,t,r){if(t<=1)return 0;switch(r){case"start":return e;case"end":return t-1-e;case"edges":return Math.min(e,t-1-e);case"random-ish":return Math.floor(e*ab%1*t);case"alternate":default:return ub(e,t)}}function ub(e,t){let r=e,n=t-1-e,o=Math.min(r,n);return r<=n?o*2:o*2+1}function Lc(e,t){let r=e.trim();if(!r)return Zn[t];let n=/^(-?(?:\d+(?:\.\d+)?|\.\d+))(deg|d|rad|grad|turn)?$/.exec(r);if(!n)return Zn[t];let o=Number(n[1]);if(!Number.isFinite(o))return Zn[t];let i=n[2]??"deg";return(o*ob[i]%180+180)%180}function Oc(e){let t=e*Math.PI/180;return{x:-Math.sin(t),y:Math.cos(t)}}function lb(e,t,r,n){let{width:o,height:i}=n,s=r*Math.PI/180,a=Math.cos(s),c=Math.sin(s),{x:u,y:l}=Oc(r),p=Math.abs(a)*o+Math.abs(c)*i,m=o/2,f=i/2,d=p/t,g=e*d-p/2-Ic,h=(e+1)*d-p/2+Ic,v=o+i,E=(w,C)=>`${(m+w*a+C*u).toFixed(2)}px ${(f+w*c+C*l).toFixed(2)}px`;return`polygon(${E(g,v)}, ${E(g,-v)}, ${E(h,-v)}, ${E(h,v)})`}function pb(e){return e===0?"vertical":e===90?"horizontal":"diagonal"}function Nc(e,t,r){let{slats:n,angleDegrees:o}=r,i=t.offsetWidth,s=t.offsetHeight;e.style.top=`${t.offsetTop}px`,e.style.left=`${t.offsetLeft}px`,e.style.width=`${i}px`,e.style.height=`${s}px`,n.forEach((a,c)=>{a.style.clipPath=lb(c,n.length,o,{width:i,height:s})})}function mb(e,t,r,n){let i=Ie(r,()=>Nc(e,t,n));return i.observe(t),i.disconnect}function db(e,t){let r=t.getComputedStyle(e),n=r.objectPosition||"50% 50%",o=r.objectFit;return o==="cover"?{size:"cover",position:n}:o==="contain"||o==="scale-down"?{size:"contain",position:n}:o==="none"?{size:"auto",position:n}:{size:"100% 100%",position:n}}function _c(e,t,r,n){let o=e.querySelector("img");if(!o)return null;let i=o.currentSrc||o.getAttribute("src")||"";if(!i)return null;let{count:s,angleDegrees:a,from:c,fold:u}=n,l=Oc(a),p=t.createElement("div");p.className=ib,p.setAttribute("aria-hidden","true"),p.dataset.kuiSlatAxis=pb(a),p.dataset.kuiSlatAngle=String(a),p.dataset.kuiSlatFold=String(u),p.style.setProperty("--kui-slat-count",String(s)),p.style.setProperty("--kui-slat-dx",l.x.toFixed(4)),p.style.setProperty("--kui-slat-dy",l.y.toFixed(4));let m=db(o,r),f=[];for(let v=0;v<s;v++){let E=t.createElement("div");E.className=sb,E.style.setProperty("--kui-slat-index",String(v)),E.style.setProperty("--kui-i",String(cb(v,s,c))),E.style.backgroundImage=`url("${i}")`,E.style.backgroundSize=m.size,E.style.backgroundPosition=m.position,p.append(E),f.push(E)}e.append(p);let d={slats:f,angleDegrees:a};Nc(p,o,d);let g=mb(p,o,r,d),h=j(o);return h.set("visibility","hidden"),{stage:p,slats:f,restore:()=>{g(),h.restore(),p.remove()}}}function Dc(e,t){let{durationMs:r,delayMs:n,easing:o}=t.timing,i=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",i),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",Te(o??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","60ms"))}function $c(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),o=e.ms("stagger",60);return n+(t-1)*o+r}var Qn={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},scale:{type:"number",default:"1.12",cssProperty:"--kui-to-scale"}},fb=[b("media-wipe",[y.clip]),b("media-mask",["mask"],{perfClass:"paint"}),b("media-ken-burns",[y.translate,y.scale],{parameters:Qn}),b("media-filter",[y.filter],{defaultActivation:"hover",perfClass:"paint"}),b("media-blur-up",[y.translate,y.filter],{parameters:{distance:Qn.distance,blur:{type:"length",default:"16px",cssProperty:"--kui-blur"}},perfClass:"paint"}),b("media-parallax-frame",[y.translate],{parameters:{distance:Qn.distance},timelines:["view","scroll"],activations:["manual"],reducedMotion:"disable"}),b("media-lightbox",[y.opacity,y.scale],{parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}})],gb=[{name:"wipe-up",primitive:"media-wipe",keyframes:"kui-wipe-up",cloak:!0},{name:"wipe-down",primitive:"media-wipe",keyframes:"kui-wipe-down",cloak:!0},{name:"wipe-left",primitive:"media-wipe",keyframes:"kui-wipe-left",cloak:!0},{name:"wipe-right",primitive:"media-wipe",keyframes:"kui-wipe-right",cloak:!0},{name:"wipe-circle",primitive:"media-wipe",keyframes:"kui-wipe-circle",cloak:!0},{name:"wipe-diagonal",primitive:"media-wipe",keyframes:"kui-wipe-diagonal",cloak:!0},{name:"mask-reveal",primitive:"media-mask",keyframes:"kui-mask-reveal",cloak:!0},{name:"curtain-reveal",primitive:"media-wipe",keyframes:"kui-curtain-reveal",cloak:!0},{name:"ken-burns",primitive:"media-ken-burns",keyframes:"kui-ken-burns"},{name:"ken-burns-out",primitive:"media-ken-burns",keyframes:"kui-ken-burns-out"},{name:"blur-up",primitive:"media-blur-up",keyframes:"kui-blur-up",cloak:!0},{name:"duotone-hover",primitive:"media-filter",keyframes:"kui-duotone-hover"},{name:"grayscale-hover",primitive:"media-filter",keyframes:"kui-grayscale-hover"},{name:"saturate-hover",primitive:"media-filter",keyframes:"kui-saturate-hover"},{name:"image-parallax-frame",primitive:"media-parallax-frame",keyframes:"kui-image-parallax-frame"},{name:"before-after-wipe",primitive:"media-wipe",keyframes:"kui-before-after-wipe"},{name:"lightbox-open",primitive:"media-lightbox",keyframes:"kui-lightbox-open"}],yb={slats:{type:"number",default:"8",cssProperty:"--kui-slats",minimum:2,maximum:24,integer:!0},axis:{type:"keyword",default:"vertical",cssProperty:"--kui-axis",keywords:["vertical","horizontal"]},angle:{type:"text",default:"",cssProperty:"--kui-slat-angle"},from:{type:"keyword",default:"alternate",cssProperty:"--kui-from",keywords:["alternate","start","end","edges","random-ish"]},fold:{type:"keyword",default:"false",cssProperty:"--kui-fold",keywords:["true","false"]},duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"60ms",cssProperty:"--kui-stagger"}};function hb(e,t,r){let n=e.ownerDocument,o=Math.min(24,Math.max(2,Math.round(t.num("slats",8)))),i=t.text("axis","vertical"),s=Lc(t.text("angle",""),i),a=t.text("from","alternate"),c=t.is("fold"),u=e;r.win.getComputedStyle(u).position==="static"&&r.style.set("position","relative");let l=_c(e,n,r.win,{count:o,angleDegrees:s,from:a,fold:c});if(!l)return()=>{};let{stage:p}=l;Dc(p,t),p.classList.add("kui-slat-animating");let m,f=new Promise(v=>{m=v}),d=!1,g=()=>{d||(d=!0,p.classList.remove("kui-slat-animating"),l.restore(),m())},h=r.win.setTimeout(g,$c(t,o));return{cleanup:()=>{r.win.clearTimeout(h),!d&&(d=!0,l.restore())},finished:f,finish:()=>{r.win.clearTimeout(h),g()}}}var vb={src:{type:"text",default:"",cssProperty:"--kui-src"},poster:{type:"text",default:"",cssProperty:"--kui-poster"},fit:{type:"keyword",default:"cover",cssProperty:"--kui-fit",keywords:["cover","contain"]},focus:{type:"keyword",default:"center",cssProperty:"--kui-focus",keywords:Tc},overlay:{type:"color",default:"transparent",cssProperty:"--kui-overlay"},"overlay-opacity":{type:"percentage",default:"100%",cssProperty:"--kui-overlay-opacity"},autoplay:{type:"keyword",default:"in-view",cssProperty:"--kui-autoplay",keywords:["in-view","always","never"]},rate:{type:"number",default:"1",cssProperty:"--kui-rate",finite:!0,minimum:.25,maximum:4},loop:{type:"keyword",default:"true",cssProperty:"--kui-loop",keywords:["true","false"]}};function bb(e,t,r){let n=t.text("src");if(!n)return r.warn('background-media needs a "src:" \u2014 nothing installed'),()=>{};let o=Jn(n,"src",r);if(!o)return()=>{};let i=e;r.win.getComputedStyle(i).position==="static"&&r.style.set("position","relative"),r.style.set("isolation","isolate");let s=Mc(e,r,{src:o,poster:Jn(t.text("poster"),"poster",r),fit:t.is("fit","contain")?"contain":"cover",position:Ac(t.text("focus","center")),overlay:t.text("overlay","transparent"),overlayOpacity:Math.min(1,Math.max(0,t.num("overlay-opacity",1))),autoplay:t.text("autoplay","in-view"),rate:t.num("rate",1),loop:!t.is("loop","false"),reducedMotion:r.reducedMotion});return I(s.remove)}var Eb=[{id:"slat-assemble",renderer:"javascript",channels:[y.opacity,y.translate,y.rotate,"position",D],parameters:yb,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"disable",restoresOnFinish:!0,prepare:P(hb)},{id:"background-media",channels:["media","position","isolation",D],renderer:"javascript",parameters:vb,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:R("background-media",{because:"it paints a backdrop rather than animating, so there is no motion to time"},P(bb))}],Sb=[{name:"slat-assemble",primitive:"slat-assemble",cloak:!0},{name:"bg",primitive:"background-media"},{name:"background",primitive:"background-media"},{name:"video-backdrop",primitive:"background-media",params:{overlay:"black","overlay-opacity":"45%"}},{name:"video-hero",primitive:"background-media",params:{overlay:"black","overlay-opacity":"45%",autoplay:"always"}}],Pb=[...fb,...Eb],kb=[...gb,...Sb];function jc(e){return e.registerPrimitives(Pb).registerPresets(kb)}function hr(e){let t=Array.from(e.childNodes);return()=>{e.replaceChildren(...t)}}var wb="kui-sr-only",xb="kui-split-decorative",Tb="a[href], button, input, select, textarea, [tabindex], [contenteditable], details, summary, iframe, audio[controls], video[controls]";function ve(e){return e.querySelector(Tb)!==null}function qe(e,t){let r=e.textContent.trim(),n=hr(e),o=t.createElement("span");o.setAttribute("aria-hidden","true"),o.className=xb;let i=t.createElement("span");return i.className=wb,i.textContent=r,e.textContent="",e.append(o,i),{decorative:o,srOnly:i,originalText:r,restore:n}}function vr(e){let t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),r=>r.segment)}function Ab(e){let t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e),r=>({text:r.segment,isWord:r.isWordLike===!0}))}function br(e,t,r){e.className=r?`kui-split-item ${r}`:"kui-split-item",e.style.setProperty("--kui-i",String(t))}function Er(e,t){let{durationMs:r,delayMs:n,easing:o}=t.timing,i=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",i),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",Te(o??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","30ms"))}function to(e,t,r){let n=e.timing.durationMs;return n===void 0||t<=0?e.ms("step",r):Math.max(1,n/t)}function Sr(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),o=e.ms("stagger",30);return n+(t-1)*o+r}function Pr(e,t){let r,n=new Promise(a=>{r=a}),o;function i(){e.clearTimeout(s),o!==void 0&&e.clearInterval(o),r?.()}let s=e.setTimeout(()=>{o=e.setInterval(()=>{t.tick()&&i()},t.stepMs)},t.delayMs);return{finished:n,stop:i}}function ro(e,t,r){let n=[],o=0,i=null;for(let s of vr(r)){if(s.trim()===""){e.append(t.createTextNode(s)),i=null;continue}i||(i=t.createElement("span"),i.className="kui-split-word",e.append(i));let a=t.createElement("span");br(a,o),a.textContent=s,i.append(a),n.push(a),o++}return n}function eo(e,t){let r=e.doc.createElement("span");return br(r,e.spans.length),r.textContent=t,e.container.append(r),e.spans.push(r),r}function Cb(e,t,r){for(let{segment:n}of r.segment(t))n.trim()===""?(e.leading&&eo(e,e.leading),e.leading="",e.preceding=null,e.container.append(e.doc.createTextNode(n))):e.leading||/^[\p{Ps}\p{Pi}¿¡]$/u.test(n)||!e.preceding?e.leading+=n:e.preceding.textContent+=n}function Hc(e,t,r){let n={container:e,doc:t,spans:[],preceding:null,leading:""},o=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(let i of Ab(r)){if(!i.isWord){Cb(n,i.text,o);continue}n.preceding=eo(n,n.leading+i.text),n.leading=""}return n.leading&&eo(n,n.leading),n.spans}function Rb(e){let t=[],r=null;for(let n of Array.from(e.childNodes)){if(n instanceof HTMLElement){let o=n.offsetTop;(r===null||Math.abs(o-r)>1)&&(t.push([]),r=o)}else t.length===0&&t.push([]);t.at(-1).push(n)}return t}function Vc(e,t){let r=Rb(e);return e.replaceChildren(),r.map((n,o)=>{let i=t.createElement("span");br(i,o,"kui-split-line");for(let s of n)s instanceof HTMLElement&&(s.removeAttribute("class"),s.style.removeProperty("--kui-i")),i.append(s);return e.append(i),i})}function Mb(e,t,r){return Hc(e,t,r),Vc(e,t)}function Fc(e,t){let r=Array.from(e.childNodes).flatMap(o=>Array.from(o.childNodes));e.replaceChildren(...r);let n=0;for(let o of r)o instanceof HTMLElement&&br(o,n++);return Vc(e,t)}function no(e,t,r,n){return e==="words"?Hc(t,r,n):e==="lines"?Mb(t,r,n):ro(t,r,n)}function Gc(e,t,r){if(!e.deleting){let o=e.index+1;return o<t?{index:o,deleting:!1,done:!1}:r?{index:t,deleting:!0,done:!1}:{index:t,deleting:!1,done:!0}}let n=e.index-1;return n>0?{index:n,deleting:!0,done:!1}:{index:0,deleting:!1,done:!1}}var Bc={upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",binary:"01",symbols:"!<>-_\\/[]{}=+*^?#~"};function Wc(e,t,r,n){return e.map((o,i)=>i<t||o.trim()===""?o:r[Math.floor(n()*r.length)]??r[0]??o).join("")}var Ib=/^[A-Za-z0-9]{4}$/,qc={type:"keyword",default:'"wght"',cssProperty:"--kui-axis",keywords:[]},Kc={axis:qc,from:{type:"number",default:"100",cssProperty:"--kui-from-axis",finite:!0},to:{type:"number",default:"900",cssProperty:"--kui-to-axis",finite:!0}};function Uc(e,t){let r=e.params.axis;if(r===void 0)return{};let n=Object.fromEntries(Object.entries(e.params).filter(([i])=>i!=="axis"));if(!Ib.test(r))return t(`"axis:${r}" is not an OpenType axis tag \u2014 expected exactly four letters or digits, case-significant, e.g. axis:wght (registered) or axis:GRAD (vendor)`),{params:n};let o=`"${r}"`;return{params:{...n,axis:o},schema:{axis:{...qc,keywords:[o]}}}}var Lb="kui-sr-only",Ob="kui-count-decorative";function Xc(e,t){let r=hr(e),n=t.createElement("span");n.setAttribute("aria-hidden","true"),n.className=Ob;let o=t.createElement("span");return o.className=Lb,e.textContent="",e.append(n,o),{decorative:n,srOnly:o,restore:r}}function zc(e){return 1-(1-Math.min(Math.max(e,0),1))**3}function Jc(e,t,r){return t+(r-t)*e}function Yc(e,t,r,n){let o=3*e,i=3*(r-e)-o,s=1-o-i,a=3*t,c=3*(n-t)-a,u=1-a-c,l=d=>((s*d+i)*d+o)*d,p=d=>((u*d+c)*d+a)*d,m=d=>(3*s*d+2*i)*d+o;function f(d){let g=d;for(let E=0;E<8;E++){let w=m(g);if(Math.abs(w)<1e-6)break;let C=g-(l(g)-d)/w;if(Math.abs(l(C)-d)<1e-6)return C;g=C}let h=0,v=1;for(g=d;v-h>1e-6;)l(g)<d?h=g:v=g,g=(h+v)/2;return g}return d=>p(f(Math.min(Math.max(d,0),1)))}var Nb={ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"expo-in":[.7,0,.84,0],"expo-out":[.16,1,.3,1],"expo-in-out":[.87,0,.13,1],"back-in":[.36,0,.66,-.56],"back-out":[.34,1.56,.64,1],"back-in-out":[.68,-.6,.32,1.6],"quart-out":[.25,1,.5,1],"circ-out":[0,.55,.45,1]},_b=/^cubic-bezier\(\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\)$/i;function kr(e,t){if(e===void 0)return zc;if(e==="linear")return o=>Math.min(Math.max(o,0),1);let r=Nb[e];if(r)return Yc(...r);let n=_b.exec(e);return n?Yc(Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])):(t(`easing "${e}" has no JS equivalent for a JS-driven tween \u2014 using the default ease-out`),zc)}var Db={notation:"compact",maximumFractionDigits:1};function wr(e,t){let{format:r,decimals:n,currency:o}=t;return r==="currency"?new Intl.NumberFormat(void 0,{style:"currency",currency:o,minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="percent"?new Intl.NumberFormat(void 0,{style:"percent",minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="compact"?new Intl.NumberFormat(void 0,Db).format(e):new Intl.NumberFormat(void 0,{minimumFractionDigits:n,maximumFractionDigits:n}).format(e)}function oo(e,t){return Math.round(Math.max(0,e)).toString().padStart(t,"0")}function xr(e){let t=[];for(let r=e.length;r>0;r-=3)t.unshift(e.slice(Math.max(0,r-3),r));return t.join(",")}function io(e){return[...e].map(t=>({char:t,digit:t>="0"&&t<="9"}))}var Zc=16,$b=1,jb={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...O,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"},decimals:{type:"number",default:"0",cssProperty:"--kui-decimals",integer:!0,minimum:0,maximum:6},format:{type:"keyword",default:"number",cssProperty:"--kui-format",keywords:["number","currency","percent","compact"]},currency:{type:"text",default:"USD",cssProperty:"--kui-currency"}},Hb={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...O,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"}};function Qc(e,t,r){return{id:e,renderer:"javascript",channels:["content",D],parameters:t,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"shorten",prepare:r}}function Vb(e,t){return t.reducedMotion?$b:Math.max(0,Z(e,1600))}function eu(e,t){return{durationMs:Vb(e,t),delayMs:Math.max(0,e.timing.delayMs??e.ms("delay",0)),easing:kr(e.timing.easing,t.warn)}}function tu(e,t){let{from:r,to:n,durationMs:o,delayMs:i,easing:s,onTick:a}=t,c=0,u,l,p=new Promise(g=>{l=g}),m=()=>{e.win.clearTimeout(d),u!==void 0&&e.win.clearInterval(u)},f=()=>{c+=Zc;let g=o<=0?1:Math.min(c/o,1),h=g>=1;a(Jc(s(g),r,n),h),h&&(m(),l())},d=e.win.setTimeout(()=>{u=e.win.setInterval(f,Zc)},i);return{cleanup:m,finished:p,finish:()=>{m(),a(n,!0),l()}}}function ru(e,t,r){let n=Xc(e,t);try{let o=r(n);return{...o,cleanup:()=>{o.cleanup(),n.restore()}}}catch(o){throw n.restore(),o}}function nu(e,t,r,n){let o=e.textContent,i=o.replace(/\D/g,""),s=r.replace(/\D/g,"");i!==s&&n.warn(`${t}: authored text "${o}" doesn't match the value it will count to (${r}) \u2014 author the final value as the element's text so crawlers and no-JS readers see it`)}function Fb(e,t,r){if(ve(e))return r.warn("count would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.num("from",0),i=t.num("to",100),s=Math.max(0,Math.round(t.num("decimals",0))),a=t.text("format","number"),c=t.text("currency","USD"),u={format:a,decimals:s,currency:c},l=wr(o,u),p=wr(i,u);return nu(e,"count",p,r),ru(e,n,m=>{m.decorative.textContent=l,m.srOnly.textContent=p;let f=tu(r,{from:o,to:i,...eu(t,r),onTick:d=>{m.decorative.textContent=wr(d,u)}});return{cleanup:f.cleanup,finished:f.finished,finish:f.finish}})}function Gb(e,t,r){let n=[];for(let o of io(r)){if(!o.digit){e.append(t.createTextNode(o.char));continue}let i=t.createElement("span");i.className="kui-odometer-col";let s=t.createElement("span");s.className="kui-odometer-strip";for(let a=0;a<=9;a++){let c=t.createElement("span");c.textContent=String(a),s.append(c)}s.style.setProperty("--kui-o",o.char),i.append(s),e.append(i),n.push(s)}return n}function Bb(e,t){let r=0;for(let n of io(t))n.digit&&(e[r]?.style.setProperty("--kui-o",n.char),r++)}function Wb(e,t,r){if(ve(e))return r.warn("count-odometer would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=Math.max(0,t.num("from",0)),i=Math.max(0,t.num("to",100)),s=Math.max(String(Math.round(o)).length,String(Math.round(i)).length),a=xr(oo(o,s)),c=xr(String(Math.round(i)));return nu(e,"count-odometer",c,r),ru(e,n,u=>{u.srOnly.textContent=c;let l=Gb(u.decorative,n,a),p=tu(r,{from:o,to:i,...eu(t,r),onTick:m=>{Bb(l,xr(oo(m,s)))}});return{cleanup:p.cleanup,finished:p.finished,finish:p.finish}})}var qb=[Qc("count",jb,P(Fb)),Qc("count-odometer",Hb,P(Wb))],Kb=[{name:"count-up",primitive:"count",params:{from:"0",to:"100"}},{name:"count-down",primitive:"count",params:{from:"100",to:"0"}},{name:"count-currency",primitive:"count",params:{from:"0",to:"4820",format:"currency",currency:"USD",decimals:"0"}},{name:"count-percent",primitive:"count",params:{from:"0",to:"0.82",format:"percent",decimals:"0"}},{name:"count-compact",primitive:"count",params:{from:"0",to:"128400",format:"compact"}},{name:"odometer-roll",primitive:"count-odometer",params:{from:"0",to:"4820"}}],Ub=[b("stroke-sweep",[y.stroke]),b("meter-bar",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),b("meter-segments",[y.opacity]),b("meter-stars",[y.clip])],zb=[{name:"progress-ring",primitive:"stroke-sweep",keyframes:"kui-progress-ring"},{name:"gauge-sweep",primitive:"stroke-sweep",keyframes:"kui-gauge-sweep"},{name:"donut-sweep",primitive:"stroke-sweep",keyframes:"kui-donut-sweep"},{name:"sparkline-draw",primitive:"stroke-sweep",keyframes:"kui-sparkline-draw"},{name:"progress-bar",primitive:"meter-bar",keyframes:"kui-progress-bar",cloak:!0},{name:"progress-segments",primitive:"meter-segments",keyframes:"kui-progress-segments"},{name:"star-rating-fill",primitive:"meter-stars",keyframes:"kui-star-rating-fill"}],Yb=[...qb,...Ub],Xb=[...Kb,...zb];function ou(e){return e.registerPrimitives(Yb).registerPresets(Xb)}var Jb={from:{type:"number",default:"100",cssProperty:"--kui-from-weight",minimum:1,maximum:1e3},to:{type:"number",default:"800",cssProperty:"--kui-to-weight",minimum:1,maximum:1e3}},Zb={from:{type:"percentage",default:"75%",cssProperty:"--kui-from-width"},to:{type:"percentage",default:"125%",cssProperty:"--kui-to-width"}},Qb={from:{type:"angle",default:"0deg",cssProperty:"--kui-from-slant"},to:{type:"angle",default:"10deg",cssProperty:"--kui-to-slant"}},iu={color:{type:"color",default:"currentColor",cssProperty:"--kui-sweep-color"}},eE={angle:{type:"angle",default:"-20deg",cssProperty:"--kui-from-angle"},distance:{type:"length",default:"32px",cssProperty:"--kui-distance"}},tE=[b("text-shimmer",[y.background,y.color],{reducedMotion:"disable"}),b("text-gradient-sweep",[y.background,y.color],{parameters:iu}),b("text-sweep",[y.background],{parameters:iu}),b("text-outline-fill",[y.stroke,y.color]),b("var-weight",["font"],{parameters:Jb}),b("var-width",["font"],{parameters:Zb}),b("var-slant",["font"],{parameters:Qb}),{...b("var-axis",["font"],{parameters:Kc}),variantFor:Uc},b("text-marquee",[y.translate,"discrete"],{timelines:["time","scroll"],defaultActivation:"load",reducedMotion:"disable"}),b("redaction-reveal",[y.clip,"discrete"]),b("text-3d-extrude",[y.rotate,y.translate,"text-shadow","discrete"],{parameters:eE})],rE=[{name:"gradient-shimmer",phase:"idle",primitive:"text-shimmer",keyframes:"kui-gradient-shimmer"},{name:"gradient-sweep",primitive:"text-gradient-sweep",keyframes:"kui-gradient-sweep"},{name:"highlight-sweep",primitive:"text-sweep",keyframes:"kui-highlight-sweep",params:{color:"gold"}},{name:"underline-draw",primitive:"text-sweep",keyframes:"kui-underline-draw"},{name:"text-outline-fill",primitive:"text-outline-fill",keyframes:"kui-text-outline-fill"},{name:"var-weight",primitive:"var-weight",keyframes:"kui-var-weight"},{name:"var-width",primitive:"var-width",keyframes:"kui-var-width"},{name:"var-slant",primitive:"var-slant",keyframes:"kui-var-slant"},{name:"var-axis",primitive:"var-axis",keyframes:"kui-var-axis"},{name:"marquee",phase:"idle",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"marquee-scroll-linked",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"redaction-reveal",primitive:"redaction-reveal",keyframes:"kui-redaction-reveal"},{name:"text-3d-extrude",primitive:"text-3d-extrude",keyframes:"kui-text-3d-extrude"}];function xt(e,t,r){return{id:e,renderer:"javascript",channels:[...t,D],parameters:r.parameters,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:r.perfClass??"dom-transform",reducedMotion:"disable",prepare:r.prepare}}var nE={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"30ms",cssProperty:"--kui-stagger"},unit:{type:"keyword",default:"chars",cssProperty:"--kui-unit",keywords:["chars","words","lines"]},direction:{type:"keyword",default:"fade",cssProperty:"--kui-direction",keywords:["fade","up","down","mask"]}},oE={stagger:{type:"time",default:"40ms",cssProperty:"--kui-stagger"},...O,motion:{type:"keyword",default:"wave",cssProperty:"--kui-motion",keywords:["wave","jitter"]}},iE={step:{type:"time",default:"55ms",cssProperty:"--kui-step"},loop:{type:"keyword",default:"false",cssProperty:"--kui-loop",keywords:["true","false"]},...O},sE={step:{type:"time",default:"40ms",cssProperty:"--kui-step"},...O,revealEvery:{type:"number",default:"2",cssProperty:"--kui-reveal-every",minimum:1,integer:!0},charset:{type:"keyword",default:"upper",cssProperty:"--kui-charset",keywords:["upper","binary","symbols"]}},aE={words:{type:"text",default:"",cssProperty:"--kui-words"},interval:{type:"time",default:"2200ms",cssProperty:"--kui-interval"},...O};function cE(e,t,r){if(ve(e))return r.warn("split-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.text("unit","chars");if(o==="lines")return pE(e,t,r);let i=t.text("direction","fade"),s=qe(e,n);s.decorative.setAttribute("data-kui-split-fx",i),Er(s.decorative,t);let a=no(o,s.decorative,n,s.originalText),c,u=new Promise(p=>{c=p}),l=r.win.setTimeout(()=>{s.restore(),c()},Sr(t,a.length));return{cleanup:()=>{r.win.clearTimeout(l),s.restore()},finished:u,finish:()=>{r.win.clearTimeout(l),s.restore(),c()}}}function su(e,t){let r=t.getComputedStyle(e),n=/^(vertical|sideways)/.test(r.writingMode),o=e.getBoundingClientRect(),i=n?e.clientHeight:e.clientWidth,s=n?o.height:o.width,a=n?parseFloat(r.paddingBlockStart)+parseFloat(r.paddingBlockEnd):parseFloat(r.paddingInlineStart)+parseFloat(r.paddingInlineEnd);return(i||s)-(Number.isNaN(a)?0:a)}function uE(e,t,r,n){let o,i=new Promise(c=>{o=c}),s=()=>{e.win.clearTimeout(a),a=void 0,r.decorative.removeAttribute("aria-hidden"),r.srOnly.remove(),o()},a=e.win.setTimeout(s,Sr(t,n));return{finished:i,land:s,rearm(c){a!==void 0&&(e.win.clearTimeout(a),a=e.win.setTimeout(s,Sr(t,c)))},cancel(){a!==void 0&&e.win.clearTimeout(a)}}}function lE(e,t,r,n){let o=!0,i=Le(t.win,r),s=Ie(t.win,i.request);s.observe(e);let a=e.ownerDocument.fonts;return a&&a.status!=="loaded"&&a.ready.then(()=>{o&&(n(),i.request())}),()=>{o=!1,s.disconnect(),i.cancel()}}function pE(e,t,r){let n=e.ownerDocument,o=qe(e,n);o.decorative.setAttribute("data-kui-split-fx",t.text("direction","fade")),Er(o.decorative,t);let i=no("lines",o.decorative,n,o.originalText),s=su(e,r.win),a=!1,c=uE(r,t,o,i.length),l=lE(e,r,()=>{let p=su(e,r.win);if(!a&&p===s)return;a=!1,s=p;let m=Fc(o.decorative,n);c.rearm(m.length)},()=>{a=!0});return{cleanup:()=>{l(),c.cancel(),o.restore()},finished:c.finished,finish:c.land}}function mE(e,t,r){if(ve(e))return r.warn("split-text-motion would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.text("motion","wave"),i=qe(e,n);return i.decorative.setAttribute("data-kui-split-fx",o),Er(i.decorative,t),ro(i.decorative,n,i.originalText),i.restore}function dE(e,t,r){if(ve(e))return r.warn("typewriter would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.is("loop"),o=qe(e,e.ownerDocument);o.decorative.classList.add("kui-typewriter");let i=vr(o.originalText),s={index:0,deleting:!1},a=u=>{o.decorative.textContent=i.slice(0,u).join("")},c=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:to(t,i.length,55),tick:()=>{let u=Gc(s,i.length,n);return s=u,a(u.index),u.done}});return{cleanup:()=>{c.stop(),o.restore()},finished:c.finished,finish:()=>{c.stop(),a(i.length)}}}function fE(e,t,r){if(ve(e))return r.warn("scramble-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=Bc[t.text("charset","upper")],o=Math.max(1,Math.round(t.num("revealEvery",2))),i=e,s=i.style.getPropertyValue("min-width"),a=i.style.getPropertyValue("min-height"),c=e.getBoundingClientRect();r.style.set("min-width",`${c.width}px`),r.style.set("min-height",`${c.height}px`);let u=()=>{r.style.set("min-width",s),r.style.set("min-height",a)},l=qe(e,e.ownerDocument);l.decorative.classList.add("kui-scramble");let p=vr(l.originalText),m=0,f=0,d=()=>{l.decorative.textContent=Wc(p,m,n,Math.random)};d();let g=Math.max(1,p.length*o),h=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:to(t,g,Math.max(1,700/g)),tick:()=>{f++,f%o===0&&m++,d();let v=m>=p.length;return v&&(u(),l.restore()),v}});return{cleanup:()=>{h.stop(),l.restore(),u()},finished:h.finished,finish:()=>{h.stop(),m=p.length,d(),u(),l.restore()}}}function gE(e,t,r){if(ve(e))return r.warn("word-cycler would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.text("words","").split("|").map(l=>l.trim()).filter(Boolean);if(n.length===0)return()=>{};let o=qe(e,e.ownerDocument),i=150,s=0;o.decorative.textContent=n[0];let a=new Set;function c(){for(let l of a)r.win.clearTimeout(l);a.clear()}let u=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:t.ms("interval",2200),tick:()=>{e.classList.add("kui-word-cycler-swap");let l=r.win.setTimeout(()=>{a.delete(l),s=(s+1)%n.length,o.decorative.textContent=n[s],e.classList.remove("kui-word-cycler-swap")},i);return a.add(l),!1}});return{cleanup:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap"),o.restore()},finished:u.finished,finish:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap")}}}var yE=[xt("split-text",[y.opacity,y.translate,y.clip,"content"],{parameters:nE,prepare:P(cE)}),xt("split-text-motion",[y.translate,y.rotate,"content"],{parameters:oE,prepare:P(mE),perfClass:"continuous"}),xt("typewriter",[y.clip,"content"],{parameters:iE,prepare:P(dE),perfClass:"continuous"}),xt("scramble-text",["content","min-width","min-height"],{parameters:sE,prepare:P(fE),perfClass:"continuous"}),xt("word-cycler",["content",y.opacity,"discrete"],{parameters:aE,prepare:P(gE),perfClass:"continuous"})],hE="30ms",so="90ms",au="160ms",vE=[{name:"split-chars",primitive:"split-text",params:{unit:"chars",direction:"fade",stagger:hE}},{name:"split-words",primitive:"split-text",params:{unit:"words",direction:"fade",stagger:so}},{name:"split-lines",primitive:"split-text",params:{unit:"lines",direction:"fade",stagger:au}},{name:"text-reveal-up",primitive:"split-text",params:{unit:"words",direction:"up",stagger:so},cloak:!0},{name:"text-reveal-down",primitive:"split-text",params:{unit:"words",direction:"down",stagger:so},cloak:!0},{name:"text-reveal-mask",primitive:"split-text",params:{unit:"lines",direction:"mask",stagger:au},cloak:!0},{name:"text-wave",primitive:"split-text-motion",params:{motion:"wave"}},{name:"text-jitter",primitive:"split-text-motion",params:{motion:"jitter"}},{name:"typewriter",primitive:"typewriter",params:{loop:"false"}},{name:"typewriter-loop",primitive:"typewriter",params:{loop:"true"}},{name:"scramble",primitive:"scramble-text",params:{charset:"upper"}},{name:"decode",primitive:"scramble-text",params:{charset:"binary"}},{name:"glitch",primitive:"scramble-text",params:{charset:"symbols"}},{name:"word-cycler",primitive:"word-cycler",transitions:[{property:"opacity",duration:"150ms",easing:"ease-out"}]}],bE=[...tE,...yE],EE=[...rE,...vE];function cu(e){return e.registerPrimitives(bE).registerPresets(EE)}var ao="",SE={angle:{type:"angle",default:ao,cssProperty:"--kui-static-angle"}};function PE(e,t,r){let n=t.text("angle",ao);return n!==ao&&r.style.set("rotate",n),I(()=>{})}var kE=[{id:"rotate-static",renderer:"javascript",channels:[y.rotate],parameters:SE,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:R("rotate-static",{because:"it sets a fixed rotation once rather than animating, so there is no motion to time"},P(PE))}],wE=[{name:"rotate-static",primitive:"rotate-static"}];function uu(e){return e.registerPrimitives(kE).registerPresets(wE)}function lu(e){return jc(e),cu(e),Qa(e),rc(e),ou(e),Pc(e),kc(e),tc(e),uu(e),wc(e),e}var Tt={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},Oe=["time","view","scroll","pin"],Tr=[b("reveal",[y.opacity,y.translate],{timelines:Oe,parameters:Tt}),b("scale",[y.scale],{timelines:Oe,parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),b("scale-move",[y.scale,y.translate],{timelines:Oe,parameters:{distance:Tt.distance,scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),b("rotate",[y.rotate],{timelines:Oe,parameters:{angle:{type:"angle",default:"-8deg",cssProperty:"--kui-from-angle"}}}),b("roll",[y.rotate,y.translate],{timelines:Oe,parameters:{distance:Tt.distance,angle:{type:"angle",default:"-120deg",cssProperty:"--kui-from-angle"}}}),b("flip-3d",[y.skew],{timelines:Oe,parameters:{angle:{type:"angle",default:"90deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),b("blur",[y.filter],{timelines:Oe,parameters:{blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),b("reveal-blur",[y.opacity,y.translate,y.filter],{timelines:Oe,parameters:{...Tt,blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),b("parallax",[y.translate],{parameters:{distance:Tt.distance},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"compositor"}),b("parallax-scale",[y.scale],{parameters:{scale:{type:"number",default:"1.2",cssProperty:"--kui-to-scale"},from:{type:"number",default:"1",cssProperty:"--kui-from-scale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("parallax-rotate",[y.rotate],{parameters:{angle:{type:"angle",default:"12deg",cssProperty:"--kui-to-angle"},from:{type:"angle",default:"0deg",cssProperty:"--kui-from-angle"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("scroll-fade",[y.opacity],{parameters:{opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("desaturate",[y.filter],{parameters:{from:{type:"percentage",default:"100%",cssProperty:"--kui-from-grayscale"},to:{type:"percentage",default:"0%",cssProperty:"--kui-to-grayscale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"}),b("skew",[y.skew],{parameters:{from:{type:"angle",default:"8deg",cssProperty:"--kui-from-skew"},to:{type:"angle",default:"0deg",cssProperty:"--kui-to-skew"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("progress",[y.scale,"transform-origin"],{timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable"}),b("progress-stroke",[y.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length"}},timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"})],ie=(e,t,r,n)=>({name:e,primitive:t,keyframes:r,...n?{params:n}:{}}),L=(e,t,r,n)=>({...ie(e,t,r,n),cloak:!0,phase:"entrance"}),z=(e,t,r,n)=>({...ie(e,t,r,n),phase:"exit"}),xE=[L("fade-in","reveal","kui-in"),z("fade-out","reveal","kui-out"),L("fade-up","reveal","kui-in-up"),L("fade-down","reveal","kui-in-down"),L("fade-left","reveal","kui-in-right"),L("fade-right","reveal","kui-in-left"),z("fade-out-up","reveal","kui-out-up"),z("fade-out-down","reveal","kui-out-down"),z("fade-out-left","reveal","kui-out-left"),z("fade-out-right","reveal","kui-out-right")],se={distance:"100px",opacity:"1"},TE=[L("slide-up","reveal","kui-in-up",se),L("slide-down","reveal","kui-in-down",se),L("slide-left","reveal","kui-in-right",se),L("slide-right","reveal","kui-in-left",se),z("slide-out-up","reveal","kui-out-up",se),z("slide-out-down","reveal","kui-out-down",se),z("slide-out-left","reveal","kui-out-left",se),z("slide-out-right","reveal","kui-out-right",se)],AE=[L("slide-inline-start","reveal","kui-in-inline-end",se),L("slide-inline-end","reveal","kui-in-inline-start",se),L("slide-block-start","reveal","kui-in-up",se),L("slide-block-end","reveal","kui-in-down",se)],CE=[L("zoom-in","scale","kui-zoom-in"),z("zoom-out","scale","kui-zoom-out"),L("pop-in","scale","kui-zoom-in",{scale:"0.6",ease:"back-out"}),z("pop-out","scale","kui-zoom-out",{scale:"0.6",ease:"back-in"}),L("zoom-in-up","scale-move","kui-zoom-in-up"),L("zoom-in-down","scale-move","kui-zoom-in-down")],RE=[L("flip-in-x","flip-3d","kui-flip-in-x"),L("flip-in-y","flip-3d","kui-flip-in-y"),z("flip-out-x","flip-3d","kui-flip-out-x"),z("flip-out-y","flip-3d","kui-flip-out-y")],ME=[L("rotate-in","rotate","kui-rotate-in"),z("rotate-out","rotate","kui-rotate-out"),L("rotate-in-left","rotate","kui-rotate-in",{angle:"-45deg"}),L("rotate-in-right","rotate","kui-rotate-in",{angle:"45deg"}),L("roll-in","roll","kui-roll-in"),z("roll-out","roll","kui-roll-out"),L("swing-in","rotate","kui-swing-in",{angle:"-15deg",ease:"back-out"})],IE=[L("blur-in","blur","kui-blur-in"),z("blur-out","blur","kui-blur-out"),L("fade-blur-up","reveal-blur","kui-fade-blur-up"),L("fade-blur-in","reveal-blur","kui-fade-blur-in")],LE=[L("bounce-in","scale","kui-zoom-in",{scale:"0.3",ease:"bounce"}),L("bounce-in-up","reveal","kui-in-up",{distance:"60px",ease:"back-out"}),L("bounce-in-down","reveal","kui-in-down",{distance:"60px",ease:"back-out"}),L("back-in-up","reveal","kui-in-up",{distance:"120px",ease:"expo-out"}),L("back-in-down","reveal","kui-in-down",{distance:"120px",ease:"expo-out"})],OE=[ie("parallax-y","parallax","kui-parallax-y"),ie("parallax-x","parallax","kui-parallax-x"),ie("parallax-scale","parallax-scale","kui-parallax-scale"),ie("parallax-rotate","parallax-rotate","kui-parallax-rotate"),ie("depth-layer","parallax","kui-parallax-y",{distance:"200px"}),ie("scroll-fade","scroll-fade","kui-scroll-fade"),ie("scroll-desaturate","desaturate","kui-desaturate"),ie("scroll-skew","skew","kui-scroll-skew"),ie("scroll-progress-bar","progress","kui-progress-x"),ie("scroll-progress-bar-y","progress","kui-progress-y"),ie("scroll-progress-ring","progress-stroke","kui-progress-ring"),L("reveal-once","reveal","kui-in-up")],Ar=[...xE,...TE,...AE,...CE,...RE,...ME,...IE,...LE,...OE],Cr=[[["fade-up","blur-in"],"fade-blur-up"],[["fade-in","blur-in"],"fade-blur-in"]];function co(e){e.registerPrimitives(Tr).registerPresets(Ar);for(let[t,r]of Cr)e.registerCombo(t,r);return e}var uo=null;function pu(e){uo=e}function NE(e){return uo?uo(e):null}var Rr="kui:viewer";function lo(e,t,r){let n=e.defaultView?.CustomEvent??CustomEvent;(t.isConnected?t:e).dispatchEvent(new n(Rr,{bubbles:!0,detail:{open:r}}))}var Mr={type:"keyword",default:"false",cssProperty:"--kui-deck-lightbox",keywords:["true","false"]};function Ir(e,t,r){if(!e)return()=>{};let n=NE(t);return n||(r("lightbox:true needs the showcase module (the lightbox gallery), which is not loaded; cards will not open"),()=>{})}var po="data-kui-step-state",_E="data-kui-step-offset";function DE(e){let t=[],r=new Map;for(let n of e){let o=n.parentElement,i=r.get(o)??0;r.set(o,i+1),t.push({node:n,parent:o,position:i})}return{order:t,sizes:r}}function $E(e,t){return(e%t+t)%t}function be(e,t){let r=new Map,n=new Map,o=!1;return{mark(i){let{order:s,sizes:a}=DE(e());!o&&t&&new Set(a.values()).size>1&&(o=!0,t(`target matched groups of different sizes (${[...a.values()].join(", ")}) \u2014 the shorter group wraps onto its own ring, so its active element will not line up with the longer one`));for(let{node:c,parent:u,position:l}of s){let p=a.get(u),m=$E(i,p),f=r.get(c);f||(f=x(c),r.set(c,f)),f.set(po,HE(l,m));let d=n.get(c);d||(d=j(c),n.set(c,d));let g=jE(l,m,p);d.set("--kui-offset",String(g)),f.set(_E,String(g)),d.set("--kui-item-count",String(p))}},restore(){for(let i of r.values())i.restore();for(let i of n.values())i.restore();r.clear(),n.clear()}}}function jE(e,t,r){if(r<=0)return 0;let n=((e-t)%r+r)%r;return n>Math.floor(r/2)?n-r:n}function HE(e,t){return e<t?"before":e===t?"active":"after"}function Lr(e,t){return t>0?(e+1)%t:0}function Or(e,t){return t>0?(e-1+t)%t:0}function VE(e,t){return t>0?(e%t+t)%t:0}function mo(e,t){let r=Math.round(e.num("steps",0));if(r>=1)return r;let n=new Map;for(let o of t())n.set(o.parentElement,(n.get(o.parentElement)??0)+1);return Math.max(1,...n.values())}function Ee(e,t,r){let{el:n,ctx:o,params:i,label:s}=e,a=_(i.text(t),o,`${s} ${t}`);return a?(ut(n,o,a).length===0&&o.warn(`${s} ${t} "${a}" matched nothing`),{selector:a,run:r}):null}function fo(e){let{el:t,ctx:r,groups:n}=e;if(n.length===0)return()=>{};let o=(c,u)=>{for(let{selector:l,run:p}of n){let m=ut(t,r,l),f=new Set(m),d=u?t:null,g=c;for(;g&&g!==d&&!f.has(g);)g=g.parentElement;!g||g===d||p(g,m.indexOf(g))}},i=c=>{let u=c.target;return typeof u?.closest=="function"?u:null},s=c=>{let u=i(c);u&&o(u,!0)},a=c=>{let u=i(c);u&&!t.contains(u)&&o(u,!1)};return t.addEventListener("click",s),r.doc.addEventListener("click",a),()=>{t.removeEventListener("click",s),r.doc.removeEventListener("click",a)}}function Nr(e){let{el:t,params:r,ctx:n,resolveSteps:o,onRender:i}=e,s=e.name??"step-progress",a=be(o,M=>n.warn(`${s} ${M}`)),c=x(t),u=j(t),l=()=>mo(r,o),p=0,m=()=>{c.set("data-kui-step",String(p)),u.set("--kui-step",String(p)),a.mark(p),i?.(p,l())},f=M=>{p=VE(M,l()),m()},d=()=>f(Lr(p,l())),g=()=>f(Or(p,l())),h=M=>{e.onInput?.(),M()},v={el:t,ctx:n,params:r,label:s},E=[Ee(v,"next",()=>h(d)),Ee(v,"prev",()=>h(g)),Ee(v,"jump",(M,J)=>{J>=0&&h(()=>f(J))}),...e.controls??[]].filter(M=>M!==null),w=e.clickFallback!==!1&&E.length===0,C=()=>h(d);w&&t.addEventListener("click",C);let F=fo({el:t,ctx:n,groups:E});return m(),{goTo:f,next:d,prev:g,current:()=>p,total:l,release:()=>{w&&t.removeEventListener("click",C),F(),c.restore(),u.restore(),a.restore()}}}var FE=2e3,GE=100;function mu(e){return!Number.isFinite(e)||e===0?0:Math.sign(e)*Math.max(FE,Math.abs(e))}function BE(e,t){return Math.min(Math.max(e,0),GE)/t}function du(e){let t=e;if(typeof t?.matches!="function")return!0;try{return t.matches(":focus-visible")}catch{return!0}}function WE(e){let{el:t,ctx:r,spinMs:n,autoplayMs:o,settleMs:i,advance:s,step:a,setSpinning:c,onPausedChange:u}=e,l=e.pauseOnHover??!0,p=n!==0||o!==0;if(!p)return{enabled:p,interrupt(){},hold(){},toggle(){},release(){}};let m=r.win,f=r.reducedMotion,d=!1,g=!1,h=!0,v=!1,E=!1,w=!1,C=!1,F=!1,M=0,J=null,te=null,K=null,Pe=!1,me=()=>!f&&!d&&!g&&h&&!v&&!E&&!w&&!r.doc.hidden,_e=V=>typeof m.requestAnimationFrame=="function"?m.requestAnimationFrame(V):m.setTimeout(()=>V(Date.now()),16),ze=V=>{typeof m.cancelAnimationFrame=="function"?m.cancelAnimationFrame(V):m.clearTimeout(V)},Y=V=>{V!==Pe&&(Pe=V,c(V))},De=V=>{M=0,me()&&(J!==null&&s(BE(V-J,n)),J=V,M=_e(De))},T=()=>{M===0&&(Y(!0),J=null,M=_e(De))},S=()=>{M!==0&&ze(M),M=0,Y(!1)},N=()=>{te===null&&(te=m.setTimeout(()=>{te=null,a(o>0?1:-1),G()},Math.abs(o)))},H=()=>{te!==null&&(m.clearTimeout(te),te=null)};function G(){let V=me();n!==0&&(V?T:S)(),o!==0&&(V?N:H)()}let ke=()=>{d=!0,G()},at=()=>{d=!1,G()},Fo=V=>{g=(!C||F)&&du(V.target),G()},Go=V=>{C||(F=g);let we=V.relatedTarget;g=we!==null&&t.contains(we)&&du(we),G()},Bo=()=>G(),Wo=V=>{let we=V.detail?.open===!0;C=we,w=we&&t.contains(V.target),G()};l&&(t.addEventListener("pointerenter",ke),t.addEventListener("pointerleave",at)),t.addEventListener("focusin",Fo),t.addEventListener("focusout",Go),r.doc.addEventListener("visibilitychange",Bo),r.doc.addEventListener(Rr,Wo);let qo=m.IntersectionObserver,Ko=qo?new qo(V=>{for(let we of V)h=we.isIntersecting;G()}):null;return Ko?.observe(t),u(f),G(),{enabled:p,interrupt(){E=!0,K!==null&&m.clearTimeout(K),K=m.setTimeout(()=>{K=null,E=!1,G()},Math.max(0,i)),G()},hold(V){v=V,G()},toggle(){f=!f,u(f),G()},release(){M!==0&&ze(M),M=0,te!==null&&m.clearTimeout(te),K!==null&&m.clearTimeout(K),te=null,K=null,Ko?.disconnect(),t.removeEventListener("pointerenter",ke),t.removeEventListener("pointerleave",at),t.removeEventListener("focusin",Fo),t.removeEventListener("focusout",Go),r.doc.removeEventListener("visibilitychange",Bo),r.doc.removeEventListener(Rr,Wo),Y(!1)}}}var _r={type:"time",default:"0s",cssProperty:"--kui-autoplay"},Dr={type:"text",default:"",cssProperty:"--kui-pause"},$r={type:"keyword",default:"pause",keywords:["pause","none"],cssProperty:"--kui-hover"};function qE(e){let{params:t,ctx:r,label:n}=e,o=e.spin?t.ms("spin",0):0,i=t.ms("autoplay",0),s=mu(o),a=mu(i);return s!==o&&r.warn(`${n} spin: minimum is 2s; clamped to ${Math.abs(s)/1e3}s`),a!==i&&r.warn(`${n} autoplay: minimum is 2s; clamped to ${Math.abs(a)/1e3}s`),s!==0&&a!==0?(r.warn(`${n}: spin: and autoplay: are both set; spin: wins`),{spin:s,autoplay:0}):{spin:s,autoplay:a}}function jr(e){let{el:t,ctx:r,params:n,label:o,settleMs:i,step:s}=e,{spin:a,autoplay:c}=qE(e),u=new Map,l=_(n.text("pause"),r,`${o} pause`),p=d=>{if(l)for(let g of ut(t,r,l)){let h=u.get(g);h||(h=x(g),u.set(g,h)),h.set("aria-pressed",String(d))}},m=WE({el:t,ctx:r,spinMs:a,autoplayMs:c,settleMs:i,pauseOnHover:!n.is("hover","none"),advance:e.spin?.advance,step:s,setSpinning:e.spin?.setSpinning,onPausedChange:p}),f=null;return l&&!m.enabled?r.warn(`${o} pause: has nothing to pause without ${e.spin?"spin: or ":""}autoplay:`):l&&(f=Ee({el:t,ctx:r,params:n,label:o},"pause",()=>m.toggle())),{motion:m,pause:f,release(){m.release();for(let d of u.values())d.restore();u.clear()}}}var go="kui:swipe",KE=new Set(["left","right","up","down"]);function fu(e,t,r){let n=e.CustomEvent;t.dispatchEvent(new n(go,{bubbles:!0,detail:{direction:r}}))}function yo(e){return e==="left"||e==="up"?1:-1}function UE(e,t){if(e===t)return!0;if(!e.contains(t))return!1;for(let r=t.parentElement;r&&r!==e;r=r.parentElement)if(r.hasAttribute("data-kui-step"))return!1;return!0}function gu(e,t,r){let n=o=>{let i=o.detail?.direction,s=o.target;!i||!KE.has(i)||s.nodeType!==1||UE(s,t)&&r(yo(i))};return e.addEventListener(go,n),()=>e.removeEventListener(go,n)}var zE={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},yu={because:"forms.css pins its timing literally \u2014 the motion lands on a sibling that inline custom properties cannot reach"},hu={id:"native-state",renderer:"javascript",channels:[y.translate,y.scale,y.opacity,y.stroke,y.color],parameters:{},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R("native-state",yu,()=>Gt())};function YE(e){return(t,r)=>{let n=t.nextElementSibling;return n?.style.setProperty(e,String(r.num("scale",1))),()=>n?.style.removeProperty(e)}}function vu(e,t){return{id:e,renderer:"javascript",channels:[y.translate,y.scale,y.opacity,y.stroke,y.color],parameters:{scale:{type:"number",default:"1",cssProperty:t}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R(e,yu,P(YE(t)))}}var bu=vu("toggle-morph","--kui-toggle-scale"),Eu=vu("radio-fill","--kui-radio-scale"),Su=b("focus-ring",["shadow"],{activations:["focus","manual"],defaultActivation:"focus"}),Pu=b("validate-shake",[y.translate],{activations:["click","manual"],defaultActivation:"click"}),ku=b("validate-check",[y.stroke],{activations:["click","manual"],defaultActivation:"click"});function Hr(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...zE,...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:n}}function XE(e){let t=0;return e.length>=6&&t++,e.length>=10&&t++,/[a-z]/.test(e)&&/[A-Z]/.test(e)&&t++,/\d/.test(e)&&t++,/[^A-Za-z0-9]/.test(e)&&t++,Math.min(4,t)}function JE(e){let t=e,r=()=>{e.setAttribute("data-kui-strength-level",String(XE(t.value)))};return t.addEventListener("input",r),r(),()=>{t.removeEventListener("input",r),e.removeAttribute("data-kui-strength-level")}}function ZE(e,t,r){let n=e,o=()=>{let i=Number(n.min||"0"),s=Number(n.max||"100"),a=s>i?(Number(n.value)-i)/(s-i)*100:0;r.style.set("--kui-fill",`${a.toFixed(2)}%`)};return n.addEventListener("input",o),o(),()=>n.removeEventListener("input",o)}var wu=Hr("strength-meter",["meter",A("data-kui-strength-level")],{},P(JE)),xu=Hr("range-fill",[y.background],{},P(ZE));function QE(e,t,r){let n="step-progress",o=_(t.text("target"),r,n),i=W(t,"page"),s=()=>o?$(e,r,o,i):e.children,a=t.is("lightbox"),{motion:c,pause:u,release:l}=jr({el:e,ctx:r,params:t,label:n,settleMs:Z(t,400),step:d=>d>0?p.next():p.prev()}),p=Nr({el:e,params:t,ctx:r,resolveSteps:s,controls:u?[u]:[],onInput:()=>c.interrupt(),clickFallback:!a}),m=Ir(a,{host:e,cards:s,doc:r.doc,reducedMotion:r.reducedMotion},d=>r.warn(`${n} ${d}`)),f=gu(r.doc,e,d=>{c.interrupt(),d>0?p.next():p.prev()});return()=>{m(),f(),l(),p.release()}}var eS=Hr("step-progress",[D,A("data-kui-step")],{steps:{type:"number",default:"",cssProperty:"--kui-steps",minimum:1,maximum:20,integer:!0},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},peek:{type:"percentage",default:"56%",cssProperty:"--kui-peek"},rest:{type:"number",default:"0.78",cssProperty:"--kui-rest"},main:{type:"number",default:"1",cssProperty:"--kui-main",finite:!0,minimum:0},autoplay:_r,pause:Dr,hover:$r,lightbox:Mr,scope:U},P(QE)),Tu={...eS,reducedMotion:"shorten"};function ho(e){return e==="idle"?"loading":e==="loading"?"done":"idle"}function tS(e,t,r){let n=t.ms("load",1200),o=t.ms("hold",1500),i="idle",s,a=()=>e.setAttribute("data-kui-stage",i),c=()=>{i=ho(i),a()},u=()=>{i=ho(i),a(),s=r.win.setTimeout(c,o)},l=()=>{i==="idle"&&(i=ho(i),a(),s=r.win.setTimeout(u,n))};return e.addEventListener("click",l),a(),()=>{e.removeEventListener("click",l),s!==void 0&&r.win.clearTimeout(s),e.removeAttribute("data-kui-stage")}}var Au=Hr("submit-flow",[A("data-kui-stage")],{load:{type:"time",default:"1200ms",cssProperty:"--kui-load"},hold:{type:"time",default:"1500ms",cssProperty:"--kui-hold"}},P(tS));var rS=[hu,Su,Pu,ku,wu,bu,Eu,xu,Tu,Au],nS=[{name:"label-float",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"input-underline-grow",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"focus-ring-grow",primitive:"focus-ring",keyframes:"kui-focus-ring-grow"},{name:"validate-shake",primitive:"validate-shake",keyframes:"kui-validate-shake"},{name:"validate-check",primitive:"validate-check",keyframes:"kui-validate-check"},{name:"strength-meter",primitive:"strength-meter",requiresOwnSubtree:!0,phase:"state"},{name:"toggle-morph",primitive:"toggle-morph",requiresOwnSubtree:!0,phase:"state"},{name:"checkbox-draw",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"radio-fill",primitive:"radio-fill",requiresOwnSubtree:!0,phase:"state"},{name:"range-fill",primitive:"range-fill",phase:"state"},{name:"submit-to-spinner-to-check",primitive:"submit-flow",requiresOwnSubtree:!0,phase:"state"},{name:"step-progress",primitive:"step-progress",requiresOwnSubtree:!0,phase:"state"},{name:"carousel",primitive:"step-progress",params:{scope:"self"},phase:"state"}];function Cu(e){return e.registerPrimitives(rS).registerPresets(nS)}function oS(e){let t=e[e.length-1];if(!t||e.length<2)return{vx:0,vy:0};let r=t.time-100,n=e.find(i=>i.time>=r)??e[0],o=(t.time-n.time)/1e3;return o<=0?{vx:0,vy:0}:{vx:(t.x-n.x)/o,vy:(t.y-n.y)/o}}function iS(e,t){let{vx:r,vy:n}=e;return Math.abs(r)<t&&Math.abs(n)<t?null:Math.abs(r)>=Math.abs(n)?r>0?"right":"left":n>0?"down":"up"}function sS(e,t){return t==="x"?{...e,dy:0,vy:0}:t==="y"?{...e,dx:0,vx:0}:e}function pe(e,t,r={},n=aS()){let o=r.threshold??4,i=r.axis??"both",s=r.swipeVelocity??300,a=r.capturePointer??!0,c=r.longPressMs??0,u=[],l=null,p=!1,m=null,f=!1,d=!1,g=null,h=null,v=null;function E(S){return{x:S.clientX,y:S.clientY,time:n.now()}}function w(S){let N=l,{vx:H,vy:G}=oS(u);return sS({dx:S.x-N.x,dy:S.y-N.y,vx:H,vy:G},i)}function C(){m!==null&&n.clearTimer(m),m=null}function F(S){if(l&&g!==null&&S.pointerId!==g){C();let N=u[u.length-1];_e(g),De({x:N.x,y:N.y,time:n.now()});return}if(r.accept&&!r.accept(S)){l=null;return}l=E(S),u=[l],p=!1,f=!1,g=S.pointerId,d=a===!0&&M(S.pointerId),d||te(),c>0&&(m=n.setTimer(()=>{f=!0,t.onLongPress?.(l)},c))}function M(S){if(typeof e.setPointerCapture!="function")return!1;try{return e.setPointerCapture(S),!0}catch{return!1}}function J(S){a==="drag"&&(d=M(S.pointerId),d&&K())}function te(){let S=e.ownerDocument;!S||v||(v=S,S.addEventListener("pointermove",me,{passive:!0}),S.addEventListener("pointerup",Y,{passive:!0}),S.addEventListener("pointercancel",Y,{passive:!0}))}function K(){let S=v;S&&(v=null,S.removeEventListener("pointermove",me),S.removeEventListener("pointerup",Y),S.removeEventListener("pointercancel",Y))}function Pe(S){return S===h?!1:(h=S,!0)}function me(S){if(!l||!Pe(S))return;let N=E(S);u.push(N),u.length>12&&u.shift();let H=w(N);!p&&Math.hypot(H.dx,H.dy)<o||(p||(p=!0,C(),J(S),t.onStart?.(l)),t.onMove?.(H,N))}function _e(S){d&&e.releasePointerCapture?.(S),d=!1,g=null}function ze(S,N){if(p){t.onEnd?.(S,N);let H=iS(S,s);H&&t.onSwipe?.(H,S)}else f&&t.onEnd?.(S,N)}function Y(S){C(),K(),_e(S.pointerId),l&&De(E(S))}function De(S){u.push(S),ze(w(S),S),l=null,p=!1,f=!1,u=[]}function T(S){S.target===e&&(!d||S.pointerId!==g||(d=!1,Y(S)))}return e.addEventListener("pointerdown",F),e.addEventListener("pointermove",me,{passive:!0}),e.addEventListener("pointerup",Y,{passive:!0}),e.addEventListener("pointercancel",Y,{passive:!0}),e.addEventListener("lostpointercapture",T,{passive:!0}),()=>{C(),K(),e.removeEventListener("pointerdown",F),e.removeEventListener("pointermove",me),e.removeEventListener("pointerup",Y),e.removeEventListener("pointercancel",Y),e.removeEventListener("lostpointercapture",T)}}function aS(){return{now:()=>typeof performance>"u"?Date.now():performance.now(),setTimer:(e,t)=>globalThis.setTimeout(e,t),clearTimer:e=>globalThis.clearTimeout(e)}}function Ru(e,t,r=.55){if(t<=0)return 0;let n=Math.sign(e),o=Math.abs(e);return n*(1-1/(o/t/r+1))*t}var Mu={stiffness:{type:"number",default:"180",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"24",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}},cS="it is driven by pointer position and velocity, so it has no start moment and no authored curve";function Vr(e,t,r,n){let o=Object.hasOwn(r,"duration")?["duration"]:[];return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R(e,{honours:o,because:cS},n)}}function Lu(e){return{...ce,stiffness:e.num("stiffness",ce.stiffness),damping:e.num("damping",ce.damping),mass:e.num("mass",ce.mass)}}function Ou(e){return{...Lt(),warn:e.warn}}function vo(e,t,r){e.style.set("translate",`${t.toFixed(2)}px ${r.toFixed(2)}px`)}function uS(e,t,r){let n=Lu(t),o=t.num("bounds",0),i=t.is("return"),s=t.is("inertia"),a=t.num("resistance",.55),c=t.num("momentum",.2),u={x:0,y:0},l={x:0,y:0},p=Ou(r),m={x:xe(n,g=>f({...u,x:g}),p),y:xe(n,g=>f({...u,y:g}),p)};function f(g){u.x=g.x,u.y=g.y,vo(r,u.x,u.y)}let d=pe(e,{onStart(){m.x.stop(),m.y.stop(),l.x=u.x,l.y=u.y,e.setAttribute("data-kui-dragging","true")},onMove(g){f({x:Iu(l.x+g.dx,o,a),y:Iu(l.y+g.dy,o,a)})},onEnd(g){e.setAttribute("data-kui-dragging","false"),lS(m,u,g,{returns:i,inertia:s,momentum:c})}},{axis:t.text("axis","both")});return r.invalidate(),()=>{d(),m.x.stop(),m.y.stop(),e.removeAttribute("data-kui-dragging")}}function Iu(e,t,r){return t>0?Ru(e,t,r):e}function lS(e,t,r,n){if(e.x.set(t.x,n.inertia?r.vx:0),e.y.set(t.y,n.inertia?r.vy:0),n.returns){e.x.to(0),e.y.to(0);return}let o=n.inertia?n.momentum:0;e.x.to(t.x+r.vx*o),e.y.to(t.y+r.vy*o)}function pS(e,t,r){let n=t.text("axis","both");n!=="both"&&r.style.set("touch-action",`${n==="x"?"pan-y":"pan-x"} pinch-zoom`);let o=pe(e,{onSwipe(i){e.setAttribute("data-kui-swipe",i),fu(r.win,e,i)}},{axis:n,swipeVelocity:t.num("velocity",300),capturePointer:"drag"});return()=>{o(),e.removeAttribute("data-kui-swipe")}}function mS(e,t){let r=pe(e,{onLongPress(){e.setAttribute("data-kui-pressed","true")},onEnd(){e.setAttribute("data-kui-pressed","false")}},{longPressMs:Z(t,500)});return()=>{r(),e.removeAttribute("data-kui-pressed")}}function dS(e,t,r){let n=e,o=t.num("radius",120),i=t.num("strength",.35),s=Lu(t),a=Ou(r),c={x:0,y:0},u=xe(s,m=>{c.x=m,vo(r,c.x,c.y)},a),l=xe(s,m=>{c.y=m,vo(r,c.x,c.y)},a),p=m=>{let f=n.getBoundingClientRect(),d=m.clientX-(f.left+f.width/2),g=m.clientY-(f.top+f.height/2),h=Math.hypot(d,g)<o;u.to(h?d*i:0),l.to(h?g*i:0)};return r.win.addEventListener("pointermove",p,{passive:!0}),()=>{r.win.removeEventListener("pointermove",p),u.stop(),l.stop()}}var Nu=[Vr("draggable",["translate",A("data-kui-dragging")],{...Mu,axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},bounds:{type:"number",default:"0",cssProperty:"--kui-bounds"},return:{type:"keyword",default:"false",cssProperty:"--kui-return",keywords:["true","false"]},inertia:{type:"keyword",default:"false",cssProperty:"--kui-inertia",keywords:["true","false"]},resistance:{type:"number",default:"0.55",cssProperty:"--kui-resistance",finite:!0,minimum:0,maximum:1},momentum:{type:"number",default:"0.2",cssProperty:"--kui-momentum",finite:!0}},P(uS)),Vr("swipeable",[A("data-kui-swipe")],{axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},velocity:{type:"number",default:"300",cssProperty:"--kui-velocity"}},P(pS)),Vr("pressable",[A("data-kui-pressed")],{duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"}},P(mS)),Vr("magnetic",["translate"],{...Mu,radius:{type:"number",default:"120",cssProperty:"--kui-radius"},strength:{type:"number",default:"0.35",cssProperty:"--kui-strength"}},P(dS))];var fS=[{name:"drag",primitive:"draggable",phase:"state"},{name:"drag-x",primitive:"draggable",params:{axis:"x"},phase:"state"},{name:"drag-y",primitive:"draggable",params:{axis:"y"},phase:"state"},{name:"drag-inertia",primitive:"draggable",params:{inertia:"true"},phase:"state"},{name:"throwable",primitive:"draggable",params:{inertia:"true",damping:"18"},phase:"state"},{name:"elastic-pull",primitive:"draggable",params:{return:"true",bounds:"80"},phase:"state"},{name:"rubber-band",primitive:"draggable",params:{return:"true",bounds:"120"},phase:"state"},{name:"snap-back",primitive:"draggable",params:{return:"true",stiffness:"260"},phase:"state"},{name:"swipe",primitive:"swipeable",phase:"state"},{name:"swipe-x",primitive:"swipeable",params:{axis:"x"},phase:"state"},{name:"swipe-y",primitive:"swipeable",params:{axis:"y"},phase:"state"},{name:"long-press",primitive:"pressable",phase:"state"},{name:"magnetic",primitive:"magnetic",phase:"state"},{name:"magnetic-snap",primitive:"magnetic",params:{strength:"0.6",radius:"160"},phase:"state"}];function _u(e){return e.registerPrimitives(Nu).registerPresets(fS)}var Du=.5;function gS(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}function yS(e,t,r){let n=e.animate;return typeof n=="function"?n.call(e,t,r):null}function bo(e={}){let t=e.measure??gS,r=e.animate??yS;return{snapshot(n){let o=new Map;for(let i of n)o.set(i,t(i));return{boxes:o}},play(n,o,i={}){let s=hS(n,o,t,i.scale??!1);return s.length===0?{moved:[],finished:Promise.resolve(),cancel:()=>{}}:bS(s,r,i)}}}function hS(e,t,r,n){let o=[];for(let i of t){let s=e.boxes.get(i);if(!s)continue;let a=r(i),c=vS(i,s,a,n);c&&o.push(c)}return o}function vS(e,t,r,n){let o=t.x-r.x,i=t.y-r.y,s=n&&r.width>0?t.width/r.width:1,a=n&&r.height>0?t.height/r.height:1;return Math.abs(o)<Du&&Math.abs(i)<Du&&Math.abs(s-1)<.001&&Math.abs(a-1)<.001?null:{el:e,dx:o,dy:i,sx:s,sy:a}}function bS(e,t,r){let n=r.durationMs??400,o=r.delayMs??0,i=r.easing??"cubic-bezier(0.2, 0, 0, 1)",s=[];for(let{el:c,dx:u,dy:l,sx:p,sy:m}of e){let f=t(c,[{translate:`${u}px ${l}px`,scale:`${p} ${m}`},{translate:"0px 0px",scale:"1 1"}],{duration:n,delay:o,easing:i,fill:o>0?"backwards":"none"});if(f){let d=Fe(c);d!==1&&(f.playbackRate=d),s.push(f)}}let a=Promise.all(s.map(c=>c.finished.catch(()=>{}))).then(()=>{});return{moved:e.map(c=>c.el),finished:a,cancel(){for(let c of s)c.cancel()}}}function Eo(){let e=new Set;return{track(t){e.add(t),t.finished.then(()=>e.delete(t))},cancelAll(){for(let t of e)t.cancel();e.clear()}}}function $u(e,t,r,n){let o=t.snapshot(e.children),i=Eo(),s=n(()=>{i.track(t.play(o,e.children,r)),o=t.snapshot(e.children)});return()=>{s(),i.cancelAll()}}function ju(e){return t=>{if(typeof MutationObserver>"u")return()=>{};let r=new MutationObserver(t);return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["hidden"]}),()=>r.disconnect()}}var ES={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}};function So(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...ES,...r},supportedTimelines:["time"],supportedActivations:["load","manual","click"],defaultActivation:"load",perfClass:"layout",reducedMotion:"disable",prepare:n}}function SS(e,t,r){let n=bo();return $u(e,n,{durationMs:Z(t,400),delayMs:tt(t),easing:Dt(dr(t),e,r.warn),scale:t.is("scale")},ju(e))}function PS(e,t,r){let n=e;r.style.set("overflow","hidden"),r.style.claim("height");let o=Z(t,400),i=tt(t),s=Dt(dr(t),e,r.warn),a=null,c=n.getBoundingClientRect().height,u=Hu(n,t.text("attribute"),()=>{a?.cancel();let l=kS(n,c);c=l.to,a=wS(n,l,{duration:o,delay:i,easing:s})});return r.invalidate(),()=>{u(),a?.cancel()}}function kS(e,t){e.style.removeProperty("height");let r=e.getBoundingClientRect().height;return{from:t,to:r}}function wS(e,t,r){let n=e.animate;if(typeof n!="function")return null;let o=n.call(e,[{height:`${t.from}px`},{height:`${t.to}px`}],{...r,fill:r.delay>0?"backwards":"none"}),i=Fe(e);return i!==1&&(o.playbackRate=i),o}function xS(e,t,r){let n=e,o=bo(),i=Dt(dr(t),e,r.warn),s=t.text("follow"),a=Eo(),c=0,u=null,l=()=>{if(!s)return;let g=r.doc.querySelector(s);if(!(g instanceof Element))return;let h=o.snapshot([n]),v=g.getBoundingClientRect(),E=n.getBoundingClientRect(),w=v.left-E.left+c;c=w,r.style.set("width",`${v.width}px`),r.style.set("translate",`${w}px 0`),a.track(o.play(h,[n],{durationMs:Z(t,400),delayMs:tt(t),easing:i,scale:!0})),u=g};l();let p=()=>{let g=u;l(),g!==u&&(g&&f.unobserve(g),u&&f.observe(u))},m=Le(r.win,p),f=Ie(r.win,m.request);f.observe(e.parentElement??e),u&&f.observe(u);let d=Hu(r.doc.documentElement,t.text("attribute"),p);return()=>{d(),f.disconnect(),m.cancel(),a.cancelAll()}}function Hu(e,t,r){if(typeof MutationObserver>"u"||!t)return()=>{};let n=new MutationObserver(r);return n.observe(e,{subtree:!0,attributes:!0,attributeFilter:[t]}),()=>n.disconnect()}var Vu=[So("flip-container",["translate","scale"],{scale:{type:"keyword",default:"false",cssProperty:"--kui-flip-scale",keywords:["true","false"]}},P(SS)),So("auto-height",["overflow","height"],{attribute:{type:"text",default:"data-open",cssProperty:"--kui-attribute"}},P(PS)),So("flip-indicator",["translate","width"],{follow:{type:"text",default:"",cssProperty:"--kui-follow"},attribute:{type:"text",default:"aria-selected",cssProperty:"--kui-attribute"}},P(xS))];var Fu=[{name:"flip-reorder",primitive:"flip-container"},{name:"flip-filter",primitive:"flip-container"},{name:"flip-sort",primitive:"flip-container"},{name:"flip-shuffle",primitive:"flip-container"},{name:"grid-to-list",primitive:"flip-container",params:{scale:"true"}},{name:"masonry-reflow",primitive:"flip-container"},{name:"expand-to-modal",primitive:"flip-container",params:{scale:"true",duration:"500ms"}},{name:"accordion-height",primitive:"auto-height"},{name:"tab-indicator-slide",primitive:"flip-indicator",params:{duration:"300ms"},phase:"state"}];function Gu(e){return e.registerPrimitives(Vu).registerPresets(Fu)}var TS="offset",AS=["time","view","scroll","pin"],CS={path:{type:"path",default:"M 0 0 L 120 0",cssProperty:"--kui-motion-path"},rotate:{type:"angle|keyword",keywords:["auto","reverse"],default:"0deg",cssProperty:"--kui-motion-rotate"},anchor:{type:"keyword",default:"0 0",cssProperty:"--kui-motion-anchor",keywords:["auto","center","top","bottom","left","right","0 0","top left","top right","bottom left","bottom right"]},from:{type:"percentage",default:"0%",cssProperty:"--kui-motion-from"},to:{type:"percentage",default:"100%",cssProperty:"--kui-motion-to"}},RS=[b("motion-path",[TS],{timelines:AS,parameters:CS})],MS="kui-motion-travel",At=(e,t,r)=>({name:e,primitive:"motion-path",keyframes:MS,params:{path:t,...r}}),IS=[At("motion-path","M 0 0 L 120 0",{duration:"1200ms"}),At("path-arc","M 0 0 C 40 -70 120 -70 160 0",{duration:"1200ms",ease:"ease-in-out"}),At("path-wave","M 0 0 C 45 -45 105 45 150 0",{duration:"1600ms",ease:"ease-in-out"}),At("path-loop","M 0 0 C 0 -70 110 -70 110 0 C 110 70 0 70 0 0",{duration:"2400ms",ease:"linear"}),{...At("path-swoop","M -120 70 C -70 70 -25 25 0 0",{duration:"900ms",ease:"expo-out"}),cloak:!0}];function Bu(e){return e.registerPrimitives(RS).registerPresets(IS)}var LS=[b("nav-reveal",[y.opacity,y.translate]),b("menu-fullscreen",[y.clip,y.opacity]),b("panel-reveal",[y.opacity,y.translate]),b("drawer-slide",[y.translate],{defaultActivation:"click"})],OS=[{name:"menu-stagger-open",primitive:"nav-reveal",keyframes:"kui-nav-reveal",phase:"entrance"},{name:"menu-fullscreen",primitive:"menu-fullscreen",keyframes:"kui-menu-fullscreen"},{name:"dropdown-open",primitive:"panel-reveal",keyframes:"kui-panel-reveal",phase:"entrance"},{name:"mega-menu-drop",primitive:"panel-reveal",keyframes:"kui-panel-reveal",params:{duration:"550ms"},phase:"entrance"},{name:"drawer-slide",primitive:"drawer-slide",keyframes:"kui-drawer-slide-right",phase:"entrance"}],NS="it reacts to scroll position rather than a clock, so style the state attribute it publishes and put your timing there";function Po(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R(e,{because:NS},n)}}function ko(e,t,r){return t.scheduler.subscribe(t.rootFor(e),n=>r(n.metrics.scrollTop))}function _S(e,t,r){let n=t.num("offset",120),o=x(e),i=ko(e,r,s=>{let a=n>0?Math.min(1,Math.max(0,s/n)):1;r.style.set("--kui-shrink",a.toFixed(4)),o.set("data-kui-shrunk",String(a>=1))});return()=>{i(),o.restore()}}function DS(e,t,r){let n=t.num("offset",8),o=0,i=x(e),s=ko(e,r,a=>{let c=a-o;Math.abs(c)<n||(i.set("data-kui-hidden",String(c>0&&a>n)),o=a)});return()=>{s(),i.restore()}}function $S(e,t,r){let n=t.num("offset",400),o=x(e),i=ko(e,r,s=>{o.set("data-kui-visible",String(s>n))});return()=>{i(),o.restore()}}var jS=[Po("header-shrink",["padding","font-size","shadow",A("data-kui-shrunk")],{offset:{type:"number",default:"120",cssProperty:"--kui-offset"}},P(_S)),Po("header-hide-on-scroll",[y.translate,A("data-kui-hidden")],{offset:{type:"number",default:"8",cssProperty:"--kui-offset"}},P(DS)),Po("back-to-top-fade",[y.opacity,y.translate,A("data-kui-visible")],{offset:{type:"number",default:"400",cssProperty:"--kui-offset"}},P($S))],HS=[{property:"padding-block",duration:"200ms",easing:"ease-out"},{property:"font-size",duration:"200ms",easing:"ease-out"},{property:"box-shadow",duration:"200ms",easing:"ease-out"}],VS=[{name:"header-shrink",primitive:"header-shrink",transitions:HS},{name:"header-hide-on-scroll",primitive:"header-hide-on-scroll",transitions:[{property:"translate",duration:"220ms",easing:"ease-out"}]},{name:"back-to-top-fade",primitive:"back-to-top-fade",transitions:[{property:"opacity",duration:"200ms",easing:"ease-out"},{property:"translate",duration:"200ms",easing:"ease-out"}]}],FS=[...LS,...jS],GS=[...OS,...VS];function Wu(e){return e.registerPrimitives(FS).registerPresets(GS)}var wo=e=>{let t=e.getBoundingClientRect();return{top:t.top,height:t.height}},xo=e=>{let t=e.ownerDocument?.defaultView;return t?t.getComputedStyle(e).position:"static"},BS=e=>{let t=e.ownerDocument?.defaultView;if(!t)return 0;let r=Number.parseFloat(t.getComputedStyle(e).top);return Number.isFinite(r)?r:0};function WS(e,t){let r=null;for(let n=e;n;n=n.parentElement)t(n)==="sticky"&&(r=n);return r?.parentElement??e}function qS(e,t,r,n){let o=WS(e,n);return o===e?t.top:r(o).top}function Se(e,t,r,n){let o=r.measure??wo,i=r.positionOf??xo,s=r.offsetOf??BS,a=0,c=0,u=Ve(()=>{let f=o(e),d=r.contentAnchor?o(r.contentAnchor):null,g=d?d.top-f.height:qS(e,f,o,i),h=r.stickyEl?s(r.stickyEl):0;return{contentTop:g-h-c+a,height:f.height,anchorHeight:d?.height??0}}),l=r.distance??"";l!==""&&!US(l)&&!r.contentAnchor&&YS(t,l);let m=l!==""&&zS(l);return t.scheduler.subscribe(t.rootFor(e),f=>{a=f.metrics.scrollTop,c=f.metrics.viewportTop;let d=u.read(f.epoch),g=m&&r.contentAnchor?d.anchorHeight:XS(r.distance,{top:0,height:d.height},f);n(JS(d.contentTop-a,g),f)})}var To={viewportWidth:1,viewportHeight:1,percentBasis:1,fontSize:16,rootFontSize:16},KS={...To,percentBasis:2};function US(e){return Number.isFinite(ge(e,To,Number.NaN))}function zS(e){let t=ge(e,To,Number.NaN);return Number.isFinite(t)?t!==ge(e,KS,Number.NaN):!0}function YS(e,t){e.warn(`distance "${t}" is a CSS expression this effect cannot measure, so progress runs over the element's own height instead \u2014 author a plain length like "200vh", or turn on spacer:true so the distance can be measured from the box the library reserves.`)}function XS(e,t,r){if(!e)return t.height;let n={viewportWidth:r.metrics.viewportWidth,viewportHeight:r.metrics.viewportHeight,percentBasis:t.height,fontSize:16,rootFontSize:16};return ge(e,n,t.height)}function JS(e,t){return t<=0?0:Da(-e/t)}function ZS(e,t){return ge(e,{viewportWidth:t.metrics.viewportWidth,viewportHeight:t.metrics.viewportHeight,percentBasis:0,fontSize:16,rootFontSize:16},0)}function QS(e,t,r){let n=-1;for(let o=0;o<e.length;o++)e[o]-t-r<=0&&(n=o);return n}function Fr(e){let{el:t,sections:r,ctx:n,onChange:o}=e,i=e.offsetTop??"0px",s=0,a=0,c=Ve(()=>r.map(p=>wo(p).top-a+s)),u=-1,l=n.scheduler.subscribe(n.rootFor(t),p=>{s=p.metrics.scrollTop,a=p.metrics.viewportTop;let m=c.read(p.epoch),f=ZS(i,p),d=QS(m,s,f);if(d===u)return;let g=u;u=d,o(d,g)});return Object.assign(()=>l(),{release:()=>l()})}function qu(e,t,r){let n=t.text("sections");if(n){let o=_(n,r,"scroll-spy sections");return oP(e,t,r,o)}return eP(e,t,r)}function eP(e,t,r){t.text("offset-top","0px")!=="0px"&&r.warn('scroll-spy "offset-top" has no effect without sections: and is ignored here');let n=_(t.text("target"),r,"scroll-spy"),o=W(t,"page"),i=new Map,s=x(e),a,c=Se(e,r,{distance:t.text("distance")},u=>{let l=u>0&&u<1;l!==a&&(a=l,s.set("data-kui-active",String(l)),n&&tP($(e,r,n,o),l,i))});return I(()=>{c(),s.restore();for(let u of i.values())u.restore()})}function tP(e,t,r){for(let n of e){let o=r.get(n);o||(o=x(n),r.set(n,o)),o.set("data-kui-active",String(t))}}function rP(e){let t=e.getAttribute("href")??"",r=t.indexOf("#");return r===-1?"":t.slice(r)}function nP(e,t,r,n){let o=new Map;for(let a of t){let c=rP(a);c&&o.set(c,a)}let i=new Set,s=e.map(a=>{if(!a.id)return r.warn(`scroll-spy: a section matched by sections:"${n}" has no id and cannot be paired with a link`),{section:a,link:null};let c=`#${a.id}`,u=o.get(c)??null;return u&&i.add(c),{section:a,link:u}});for(let[a,c]of o)i.has(a)||r.warn(`scroll-spy: link "${c.getAttribute("href")}" matches no section id in sections:"${n}"`);return s}function oP(e,t,r,n){t.text("distance","100vh")!=="100vh"&&r.warn('scroll-spy "distance" has no effect with sections: \u2014 each section measures its own height');let o=_(t.text("target"),r,"scroll-spy target"),i=W(t,"self"),s=n?[...e.querySelectorAll(n)]:[];n&&s.length===0&&r.warn(`scroll-spy sections:"${n}" matched nothing inside this element`);let a=o?$(e,r,o,i):[],c=nP(s,a,r,n),u=c.map(d=>x(d.section)),l=new Map;for(let{link:d}of c)d&&!l.has(d)&&l.set(d,x(d));let p=t.text("offset-top","0px");function m(d,g){let h=c[d];u[d].set("data-kui-active",String(g)),h.link&&l.get(h.link).set("data-kui-active",String(g))}let f=Fr({el:e,sections:s,ctx:r,offsetTop:p,onChange:(d,g)=>{g!==-1&&m(g,!1),d!==-1&&m(d,!0)}});return I(()=>{f();for(let d of u)d.restore();for(let d of l.values())d.restore()})}var ot={distance:{type:"length",default:"100vh",cssProperty:"--kui-distance"}},Ao={"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"},spacer:{type:"keyword",default:"false",cssProperty:"--kui-spacer",keywords:["true","false"]}};var iP="--kui-progress";function Ku(e,t,r){r.style.set("position","sticky"),r.style.set("top",t.text("offset-top","var(--kui-pin-offset, 0px)"));let n=t.is("spacer")?Uu(e,t.text("distance"),r):null;return{spacer:n?.spacer??null,dispose:()=>n?.remove()}}function Ke(e){let{id:t,channels:r,parameters:n,prepare:o,perfClass:i="compositor"}=e;return{id:t,renderer:"javascript",channels:r,parameters:n,supportedTimelines:ye,supportedActivations:["manual","load","enter"],defaultActivation:"load",perfClass:i,reducedMotion:"disable",prepare:R(t,{because:"it is driven by scroll position rather than a clock, so it has no start moment and no fixed span"},o)}}function it(e,t){e.style.set(iP,t.toFixed(4))}function sP(e,t,r){let n=e,{spacer:o,dispose:i}=Ku(n,t,r),s=o?n:n.parentElement??e,a=Se(s,r,{distance:t.text("distance"),contentAnchor:o??void 0,stickyEl:n},c=>{it(r,c);let u=c>0&&c<1&&xo(n)==="sticky";e.setAttribute("data-kui-pinned",u?"true":"false")});return I(()=>{a(),i(),e.removeAttribute("data-kui-pinned")})}function Uu(e,t,r){let n=r.doc.createElement("div");return n.setAttribute("data-kui-spacer",""),n.setAttribute("aria-hidden","true"),n.style.height=t,n.style.pointerEvents="none",e.after(n),r.invalidate(),{spacer:n,remove:()=>{n.remove(),r.invalidate()}}}function aP(e,t,r){let n=Math.max(0,Math.round(t.num("steps",0))),o=_(t.text("target"),r,"scroll-progress"),i=W(t,"page"),s=be(()=>$(e,r,o,i),l=>r.warn(`scroll-progress ${l}`)),a=x(e),c,u=Se(e,r,{distance:t.text("distance")},l=>{if(it(r,l),n===0)return;let p=Math.min(n-1,Math.floor(l*n));p!==c&&(c=p,a.set("data-kui-step",String(p)),r.style.set("--kui-step",String(p)),o&&s.mark(p))});return I(()=>{u(),a.restore(),s.restore()})}function cP(e,t,r){let n=_(t.text("target"),r,"horizontal-track");if(!n)return uP(e,t,r);let o=W(t,"self"),i=$(e,r,n,o),s=i[0];return s?(i.length>1&&r.warn(`horizontal-track target "${n}" matched ${i.length} elements; only the first is used`),lP(e,s,t,r)):(r.warn(`horizontal-track target "${n}" matched nothing inside this element`),()=>{})}function uP(e,t,r){let n=t.text("travel","auto"),o=Ve(()=>zu(e,n,e.ownerDocument));return I(Se(e,r,{distance:t.text("distance")},(i,s)=>{r.style.set("translate",`${-i*o.read(s.epoch)}px 0`),it(r,i)}))}function lP(e,t,r,n){let o=r.text("offset-top","var(--kui-pin-offset, 0px)");n.style.set("position","sticky"),n.style.set("top",o),n.style.set("height",`calc(100vh - ${o})`),n.style.set("overflow","hidden"),n.style.set("display","grid"),n.style.set("align-content","center");let{spacer:i,remove:s}=Uu(e,r.text("distance"),n),a=j(t);a.set("display","flex"),a.set("width","max-content");let c=r.text("travel","auto"),u=Ve(()=>zu(t,c,t.ownerDocument)),l=Se(e,n,{distance:r.text("distance"),contentAnchor:i,stickyEl:e},(p,m)=>{a.set("translate",`${-p*u.read(m.epoch)}px 0`),it(n,p)});return I(()=>{l(),a.restore(),s()})}function zu(e,t,r){if(t&&t!=="auto")return ge(t,ps,0);let n=e.scrollWidth-e.clientWidth;if(n>0)return n;let o=e.parentElement?.clientWidth||r.documentElement.clientWidth;return Math.max(0,e.scrollWidth-o)}function pP(e,t,r){let n=t.is("spacer")?Ku(e,t,r):null,o=n?.spacer??void 0,i=n?e:void 0,s=_(t.text("target"),r,"media-scrub"),a=W(t,"page"),c=s?mP(e,t,r,{selector:s,scope:a,contentAnchor:o,stickyEl:i}):dP(e,t,r,{contentAnchor:o,stickyEl:i});return I(()=>{c(),n?.dispose()})}function mP(e,t,r,n){let{selector:o,scope:i,contentAnchor:s,stickyEl:a}=n,c=be(()=>$(e,r,o,i),m=>r.warn(`media-scrub ${m}`)),u=Math.max(1,$(e,r,o,i).length),l,p=Se(e,r,{distance:t.text("distance"),contentAnchor:s,stickyEl:a},m=>{it(r,m);let f=Math.min(u-1,Math.floor(m*u));f!==l&&(l=f,c.mark(f))});return c.mark(0),()=>{p(),c.restore()}}function dP(e,t,r,n){let{contentAnchor:o,stickyEl:i}=n,s=Math.max(1,Math.round(t.num("frames",1))),a=fP(t.text("src"),r),c=e,u=-1;return Se(e,r,{distance:t.text("distance"),contentAnchor:o,stickyEl:i},p=>{it(r,p);let m=Math.min(s-1,Math.floor(p*s));m!==u&&(u=m,gP(c,{index:m,frames:s,progress:p,pattern:a}))})}function fP(e,t){return!e||cs(e)?e:(t.warn(`media-scrub "src" must be a same-origin path, got "${e}" \u2014 ignoring`),"")}function gP(e,t){let{index:r,frames:n,progress:o,pattern:i}=t;if(e.tagName==="VIDEO"){let s=Number.isFinite(e.duration)?e.duration:0;s>0&&(e.currentTime=s*o);return}e.tagName==="IMG"&&i&&(e.src=i.replace("{i}",String(r).padStart(String(n).length,"0")))}function yP(e,t,r){return r.style.set("scroll-behavior",t.text("behavior","smooth")),()=>{}}function hP(e,t,r){let n=t.is("axis","x")?"x":"y";r.style.set("scroll-snap-type",`${n} ${t.text("strictness","mandatory")}`);let o=_(t.text("target"),r,"scroll-snap"),i=W(t,"self"),s=o?$(e,r,o,i):[...e.children];o&&s.length===0&&r.warn(`scroll-snap target "${o}" matched nothing inside this element`),o&&vP(n,r);let a=s.map(c=>j(c));for(let c of a)c.set("scroll-snap-align",t.text("align","start"));return()=>{for(let c of a)c.restore()}}function vP(e,t){t.style.set(e==="x"?"overflow-x":"overflow-y","auto"),e==="x"&&t.style.set("display","flex")}var Yu=[Ke({id:"pin",channels:["position","progress",A("data-kui-pinned")],parameters:{...ot,...Ao},prepare:P(sP),perfClass:"layout"}),Ke({id:"scroll-progress",channels:["progress",A("data-kui-step")],parameters:{...ot,steps:{type:"number",default:"0",cssProperty:"--kui-steps"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(aP)}),Ke({id:"horizontal-track",channels:["translate","progress"],parameters:{...ot,travel:{type:"text",default:"auto",cssProperty:"--kui-travel"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"}},prepare:P(cP)}),Ke({id:"media-scrub",channels:["media","progress","position"],parameters:{...ot,...Ao,frames:{type:"number",default:"1",cssProperty:"--kui-frames"},src:{type:"text",default:"",cssProperty:"--kui-src"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(pP),perfClass:"paint"}),Ke({id:"scroll-spy",channels:[A("data-kui-active")],parameters:{...ot,target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"0px",cssProperty:"--kui-offset-top"}},prepare:P(qu)}),Ke({id:"smooth-scroll",channels:["scroll-behavior"],parameters:{behavior:{type:"keyword",default:"smooth",cssProperty:"--kui-scroll-behavior",keywords:["smooth","auto"]}},prepare:P(yP),perfClass:"layout"}),Ke({id:"scroll-snap",channels:["scroll-snap-type","overflow","discrete",D],parameters:{axis:{type:"keyword",default:"y",cssProperty:"--kui-axis",keywords:["x","y"]},strictness:{type:"keyword",default:"mandatory",cssProperty:"--kui-snap-strictness",keywords:["mandatory","proximity"]},align:{type:"keyword",default:"start",cssProperty:"--kui-snap-align",keywords:["start","center","end"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(hP),perfClass:"layout"})];var Xu=[{name:"pin-section",primitive:"pin",params:{distance:"100vh",spacer:"true"},phase:"idle"},{name:"pin-until",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"pin-spacer",primitive:"pin",params:{spacer:"true"},phase:"idle"},{name:"stacking-cards",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"scroll-progress",primitive:"scroll-progress",phase:"idle"},{name:"scrollytelling-step",primitive:"scroll-progress",params:{steps:"4"},phase:"idle"},{name:"horizontal-scroll",primitive:"horizontal-track",phase:"idle"},{name:"sequence-scrub",primitive:"media-scrub",params:{spacer:"true"},requiresOwnSubtree:!0,phase:"idle"},{name:"video-scrub",primitive:"media-scrub",requiresOwnSubtree:!0,phase:"idle"},{name:"scroll-spy",primitive:"scroll-spy",phase:"idle"},{name:"smooth-scroll-to",primitive:"smooth-scroll",phase:"idle"},{name:"scroll-snap-x",primitive:"scroll-snap",params:{axis:"x"},phase:"idle"},{name:"scroll-snap-y",primitive:"scroll-snap",params:{axis:"y"},phase:"idle"}];function Ju(e){return e.registerPrimitives(Yu).registerPresets(Xu)}var bP=/([mlhvcz])|(-?(?:\d+(?:\.\d+)?|\.\d+))/gi,EP=/[AaSsQqTt]/;function SP(e,t,r){let n=e[t];r.command=n,n.toLowerCase()==="z"&&wP(r);let o=nl[n.toLowerCase()],i=e[t+1];if(o>0&&(i===void 0||/[a-z]/i.test(i)))return Co(n,o,"0")}function PP(e,t){let r=0;for(;r<e.length;){let n=e[r];if(/[a-z]/i.test(n)){let i=SP(e,r,t);if(i!==void 0)return i;r++;continue}if(!t.command)return"path must start with a command letter";let o=xP(e,r,t);if("reason"in o)return o.reason;r=o.index}}function Zu(e){if(EP.test(e))return{segments:[],subpaths:[],reason:"arc and shorthand commands (A S Q T) are not supported"};let t=[...e.matchAll(bP)].map(o=>o[1]??o[2]),r={subpaths:[],open:void 0,current:{x:0,y:0},start:{x:0,y:0},command:""},n=PP(t,r);return n!==void 0?{segments:[],subpaths:[],reason:n}:r.subpaths.length===0?{segments:[],subpaths:[],reason:"no drawable segments"}:{segments:r.subpaths.flatMap(o=>o.segments),subpaths:r.subpaths}}function kP(e,t){e.open||(e.open={segments:[],closed:!1},e.subpaths.push(e.open)),e.open.segments.push(t)}var nl={m:2,l:2,h:1,v:1,c:6,z:0};function wP(e){let{current:t,start:r,open:n}=e;n&&((Math.abs(t.x-r.x)>=1e-6||Math.abs(t.y-r.y)>=1e-6)&&n.segments.push(ol(t,r)),n.closed=!0,e.current={...r},e.open=void 0)}function Co(e,t,r){return`'${e}' expects ${t} number${t===1?"":"s"}, found ${r}`}function xP(e,t,r){let n=r.command.toLowerCase(),o=r.command===n,i=nl[n];if(i===0)return{reason:`'${r.command}' does not take arguments`};let s=e.slice(t,t+i).map(Number);if(s.length<i)return{reason:Co(r.command,i,String(s.length))};let a=s.findIndex(Number.isNaN);if(a!==-1)return{reason:Co(r.command,i,`the command letter '${e[t+a]}'`)};let c=TP(n,s,r.current,o);return n==="m"?(r.current=c,r.start=c,r.open=void 0,r.command=o?"l":"L",{index:t+i}):(kP(r,AP({key:n,args:s,from:r.current,relative:o},c)),r.current=c,{index:t+i})}function TP(e,t,r,n){let o=n?r:{x:0,y:0};return e==="h"?{x:o.x+t[0],y:r.y}:e==="v"?{x:r.x,y:o.y+t[0]}:e==="c"?{x:o.x+t[4],y:o.y+t[5]}:{x:o.x+t[0],y:o.y+t[1]}}function AP(e,t){let{key:r,args:n,from:o,relative:i}=e;if(r!=="c")return ol(o,t);let s=i?o:{x:0,y:0};return{from:o,c1:{x:s.x+n[0],y:s.y+n[1]},c2:{x:s.x+n[2],y:s.y+n[3]},to:t}}function ol(e,t){return{from:e,c1:ae(e,t,1/3),c2:ae(e,t,2/3),to:t}}function Qu(e,t,r){return e+(t-e)*r}function ae(e,t,r){return{x:Qu(e.x,t.x,r),y:Qu(e.y,t.y,r)}}function CP(e,t){let r=ae(e.from,e.c1,t),n=ae(e.c1,e.c2,t),o=ae(e.c2,e.to,t),i=ae(r,n,t),s=ae(n,o,t),a=ae(i,s,t);return[{from:e.from,c1:r,c2:i,to:a},{from:a,c1:s,c2:o,to:e.to}]}function el(e,t){let r=[...e];for(;r.length<t&&r.length>0;){let n=0;for(let s=1;s<r.length;s++)tl(r[s])>tl(r[n])&&(n=s);let[o,i]=CP(r[n],.5);r.splice(n,1,o,i)}return r}function tl(e){return Math.hypot(e.to.x-e.from.x,e.to.y-e.from.y)}function Ne(e){return Math.round(e*100)/100}function RP(e){let t=[];for(let r of e){let n=r.segments[0];t.push(`M${Ne(n.from.x)},${Ne(n.from.y)}`);for(let o of r.segments)t.push(`C${Ne(o.c1.x)},${Ne(o.c1.y)} ${Ne(o.c2.x)},${Ne(o.c2.y)} ${Ne(o.to.x)},${Ne(o.to.y)}`);r.closed&&t.push("Z")}return t.join(" ")}function MP(e){let t=0,r=0;for(let n of e.segments)t+=n.from.x,r+=n.from.y;return{x:t/e.segments.length,y:r/e.segments.length}}function rl(e){let t=MP(e);return{segments:e.segments.map(()=>({from:{...t},c1:{...t},c2:{...t},to:{...t}})),closed:e.closed}}function IP(e,t){let r=Math.max(e.length,t.length),n=[],o=[];for(let i=0;i<r;i++){let s=e[i]??rl(t[i]),a=t[i]??rl(e[i]),c=Math.max(s.segments.length,a.segments.length),u=s.closed&&a.closed;n.push({segments:el(s.segments,c),closed:u}),o.push({segments:el(a.segments,c),closed:u})}return{from:n,to:o}}function il(e,t){let r=Zu(e),n=Zu(t);if(r.reason)return{reason:`start path: ${r.reason}`};if(n.reason)return{reason:`end path: ${n.reason}`};let{from:o,to:i}=IP(r.subpaths,n.subpaths);return{morph:{segmentCount:o.reduce((a,c)=>a+c.segments.length,0),at(a){let c=Math.min(1,Math.max(0,a));return RP(o.map((u,l)=>({segments:u.segments.map((p,m)=>LP(p,i[l].segments[m],c)),closed:u.closed})))}}}}function LP(e,t,r){return{from:ae(e.from,t.from,r),c1:ae(e.c1,t.c1,r),c2:ae(e.c2,t.c2,r),to:ae(e.to,t.to,r)}}var OP="line, rect, path, polyline, circle";function NP(e){let t=Array.from(e.children),r=t.length===1?t[0]:void 0;return r&&r.tagName.toLowerCase()==="svg"?Array.from(r.querySelectorAll(OP)):t.filter(n=>n.textContent.trim()==="")}function sl(e){return Ga(e,(t,r,n)=>{if(!t.querySelector(".kui-bar")){let o=NP(t);if(o.length>0){let i=o.map(s=>{let a=x(s);return a.set(k.part,"bar"),a});n.signal.addEventListener("abort",()=>{for(let s of i)s.restore()},{once:!0})}}return e(t,r,n)})}function _P(e,t,r){let n=e,o=t.text("from")||n.getAttribute("d")||"",{morph:i,reason:s}=il(o,t.text("to"));if(!i)return r.warn(`cannot morph: ${s}`),()=>{};let a=Z(t,300),c=kr(t.timing.easing??t.text("ease","linear"),r.warn),u=t.timing.delayMs??t.ms("delay",0),l=0,p=!1,m=h=>{cancelAnimationFrame(l);let v=performance.now(),E=f,w=h===1?u:0,C=F=>{if(p)return;let M=F-v-w;if(M<0){l=requestAnimationFrame(C);return}let J=a>0?Math.min(1,M/a):1;f=E+(h-E)*c(J),n.setAttribute("d",i.at(f)),J<1&&(l=requestAnimationFrame(C))};l=requestAnimationFrame(C)},f=0,d=()=>m(1),g=()=>m(0);return e.addEventListener("pointerenter",d,{passive:!0}),e.addEventListener("focusin",d,{passive:!0}),e.addEventListener("pointerleave",g,{passive:!0}),e.addEventListener("focusout",g,{passive:!0}),()=>{p=!0,cancelAnimationFrame(l),e.removeEventListener("pointerenter",d),e.removeEventListener("focusin",d),e.removeEventListener("pointerleave",g),e.removeEventListener("focusout",g),n.setAttribute("d",o)}}var DP=b("path-draw",[y.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length",finite:!0}}}),$P=b("shape-fill",[y.clip]),jP=b("bar-grow",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),HP=b("logo-assemble",[y.opacity,y.scale,y.rotate]),VP={id:"icon-toggle",renderer:"javascript",channels:[y.translate,y.rotate,y.scale,y.opacity,y.clip,D],parameters:{duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:sl(ne("icon-toggle",{honours:B,because:"svg.css pins that value on this effect"}))},FP=[{id:"path-morph",renderer:"javascript",channels:["path"],parameters:{from:{type:"text",default:"",cssProperty:"--kui-path-from"},to:{type:"text",default:"",cssProperty:"--kui-path-to"},duration:{type:"time",default:"300ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["hover","focus","manual","load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"disable",prepare:P(_P)},DP,$P,jP,HP,VP],GP=[{name:"icon-morph",primitive:"path-morph"},{name:"blob-morph",primitive:"path-morph",params:{duration:"800ms"}},{name:"draw-stroke",primitive:"path-draw",keyframes:"kui-draw-stroke",params:{duration:"800ms",ease:"ease-in-out"}},{name:"draw-signature",primitive:"path-draw",keyframes:"kui-draw-signature",params:{duration:"1600ms",ease:"ease-in-out"}},{name:"draw-underline",primitive:"path-draw",keyframes:"kui-draw-underline",params:{duration:"420ms"}},{name:"checkmark-draw",primitive:"path-draw",keyframes:"kui-checkmark-draw",params:{duration:"320ms"}},{name:"cross-draw",primitive:"path-draw",keyframes:"kui-cross-draw",params:{duration:"260ms"}},{name:"chart-line-draw",primitive:"path-draw",keyframes:"kui-chart-line-draw",params:{duration:"1200ms",ease:"ease-in-out"}},{name:"gradient-stroke",phase:"idle",primitive:"path-draw",keyframes:"kui-gradient-stroke",params:{duration:"2400ms",ease:"ease-in-out"}},{name:"heart-fill",primitive:"shape-fill",keyframes:"kui-heart-fill",params:{duration:"420ms"}},{name:"bookmark-fill",primitive:"shape-fill",keyframes:"kui-bookmark-fill",params:{duration:"360ms"}},{name:"chart-area-fill",primitive:"shape-fill",keyframes:"kui-chart-area-fill",params:{duration:"900ms"}},{name:"chart-bar-grow",primitive:"bar-grow",keyframes:"kui-chart-bar-grow",params:{duration:"700ms",ease:"back-out"},cloak:!0},{name:"logo-build",primitive:"logo-assemble",keyframes:"kui-logo-build",params:{duration:"520ms",ease:"back-out"}},{name:"hamburger-to-x",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"play-to-pause",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"plus-to-minus",primitive:"icon-toggle",transitions:[{property:"rotate"}],requiresOwnSubtree:!0}];function al(e){return e.registerPrimitives(FP).registerPresets(GP)}var BP=":scope > .kui-face-front, :scope > .kui-face-back",cl=`:scope > :is(.kui-flip-control, [${k.part}~='control'])`;function WP(e,t){if(e.querySelector(BP))return;let[r,n]=Array.from(e.children).filter(o=>o.tagName!=="BUTTON");r&&t(r,"front"),n&&t(n,"back")}function qP(e,t,r){let n=t.createElement("button");return n.type="button",n.className="kui-flip-control",n.setAttribute(k.part,r?"control injected quiet":"control injected"),n.setAttribute("aria-pressed","false"),n.textContent="Flip card",e.append(n),n}function KP(e,t,r,n){let o=e.querySelector(":scope > .kui-flip-control");if(o)return{control:o,injected:null};let i=e.querySelector(":scope > button[aria-pressed]");if(i)return n(i,"control"),{control:i,injected:null};let s=qP(e,t,r);return{control:s,injected:s}}function ul(e,t,r){let n=[],o=(l,p)=>{let m=x(l);m.set(k.part,p),n.push(m)};WP(e,o);let i=t.text("trigger","click")!=="click",{control:s,injected:a}=KP(e,r.doc,i,o),c=a?{button:a,onClick:()=>{a.setAttribute("aria-pressed",String(a.getAttribute("aria-pressed")!=="true"))}}:null;return c&&c.button.addEventListener("click",c.onClick),{control:s,cleanup:()=>{c&&(c.button.removeEventListener("click",c.onClick),c.button.remove());for(let l of n)l.restore()}}}function UP(e,t,r){Be("card-toggle",B,t,r);let n=t.text("trigger","click");if(n==="click")return()=>{};if(!he(r.win))return()=>{};let o=e.querySelector(cl),i=u=>o.setAttribute("aria-pressed",String(u)),s=()=>o.getAttribute("aria-pressed")==="true",a=()=>{i(n==="hover-toggle"?!s():!0)},c=()=>i(!1);return e.addEventListener("pointerenter",a,{passive:!0}),n==="hover"&&e.addEventListener("pointerleave",c,{passive:!0}),()=>{e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",c)}}function zP(e,t,r){let n=ul(e,t,r);return r.signal.addEventListener("abort",n.cleanup,{once:!0}),P(UP)(e,t,r)}var YP={id:"card-toggle",renderer:"javascript",channels:[y.rotate,"discrete",D],parameters:{duration:{type:"time",default:"700ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},trigger:{type:"keyword",default:"click",cssProperty:"--kui-flip-trigger",keywords:["click","hover","hover-latch","hover-toggle"]}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:zP},XP=[b("flip-face",[y.skew,"transform-origin"],{parameters:{angle:{type:"angle",default:"180deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),b("page-reveal",[y.opacity,y.translate],{parameters:{distance:{type:"length",default:"40px",cssProperty:"--kui-distance"}}}),b("wipe",[y.clip]),b("bar",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),YP],JP=[{name:"card-flip-y",primitive:"flip-face",keyframes:"kui-card-flip-y",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"card-flip-x",primitive:"flip-face",keyframes:"kui-card-flip-x",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"cube-rotate",primitive:"flip-face",keyframes:"kui-cube-rotate",params:{angle:"90deg"},establishes3d:!0},{name:"book-page-turn",primitive:"flip-face",keyframes:"kui-book-page-turn",params:{angle:"-160deg",duration:"900ms"},establishes3d:!0},{name:"fold-panel",phase:"entrance",primitive:"flip-face",keyframes:"kui-fold-panel",params:{angle:"-90deg"},cloak:!0,establishes3d:!0},{name:"page-fade",primitive:"page-reveal",keyframes:"kui-page-fade"},{name:"page-slide",primitive:"page-reveal",keyframes:"kui-page-slide"},{name:"curtain-wipe",primitive:"wipe",keyframes:"kui-curtain-wipe",params:{duration:"800ms"}},{name:"loading-bar",phase:"entrance",primitive:"bar",keyframes:"kui-loading-bar",cloak:!0},{name:"flip-card",phase:"state",primitive:"card-toggle",requiresOwnSubtree:!0,establishes3d:!0}];function ll(e){return e.registerPrimitives(XP).registerPresets(JP)}var ZP=.28,pl=4,QP=6;function ek(e,t,r){if(r<=0)return e;let n=t/r*ZP,o=Math.max(-pl,Math.min(pl,n));return e-o}function ml(e){return Math.round(e)+0}function st(e,t){return t>0?(e%t+t)%t:0}var tk={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1,PageDown:1,PageUp:-1,Home:null,End:null};function rk(e){let t,r=()=>{t?.restore(),t=void 0};return{hold(){r(),e.getSelection()?.removeAllRanges(),t=j(e.documentElement),t.claim("user-select"),t.claim("-webkit-user-select"),t.set("user-select","none"),t.set("-webkit-user-select","none")},release:r}}function nk(e,t){let r=!1,n=s=>{r&&(r=!1,s.stopPropagation(),s.preventDefault())},o=()=>{r=!1},i=s=>{s.preventDefault()};return e.addEventListener("click",n,!0),e.addEventListener("pointerdown",o,!0),t&&e.addEventListener("dragstart",i),{arm(){r=!0},release(){e.removeEventListener("click",n,!0),e.removeEventListener("pointerdown",o,!0),e.removeEventListener("dragstart",i)}}}function dl(e){let{el:t,ctx:r,enabled:n,travelPx:o,total:i,positionOf:s,moveTo:a,setDragging:c}=e,u=nk(t,n),l=0,p=1,m=rk(t.ownerDocument),f=n?pe(t,{onStart(){l=s(),p=e.travelSign(),m.hold(),c(!0)},onMove(h){a(l-p*h.dx/o)},onEnd(h){m.release(),c(!1),u.arm();let v=ml(ek(s(),p*h.vx,o));a(st(v,i()))}},{axis:"x",threshold:QP,capturePointer:"drag"}):()=>{};n&&r.style.set("touch-action","pan-y");let d=h=>{let v=h,E=v.key,w=tk[E];if(w===void 0||v.altKey||v.ctrlKey||v.metaKey)return;let C=i(),F=E==="Home"?0:C-1,M=w===null?F:ml(s())+w;h.preventDefault(),a(st(M,C))},g=t.getAttribute("tabindex")===null;return g&&t.setAttribute("tabindex","0"),t.addEventListener("keydown",d),()=>{f(),m.release(),t.removeEventListener("keydown",d),u.release(),g&&t.removeAttribute("tabindex")}}var gl="data-kui-ring-dragging",Gr=[D,A("data-kui-step"),A(gl),A("tabindex")],ok="data-kui-ring-spinning",fl="data-kui-ring-face",ik="data-kui-ring-wrap";function sk(e,t){return e.getComputedStyle?.(t).transform}function ak(e,t,r){return t!==null?t<e?-1:1:r!==null&&r>e?-1:1}function ck(e,t,r){return Math.abs(t-e)>r/2}function Ct(e,t){if(t<=0)return{step:0,drift:0};let r=Math.round(e);return{step:(r%t+t)%t,drift:e-r}}var Br={duration:{type:"time",default:"620ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"cubic-bezier(0.22, 1, 0.36, 1)",cssProperty:"--kui-ease"},grab:{type:"keyword",default:"true",cssProperty:"--kui-grab",keywords:["true","false"]},travel:{type:"number",default:"220",cssProperty:"--kui-travel",finite:!0,minimum:1},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},pause:Dr,hover:$r,spin:{type:"time",default:"0s",cssProperty:"--kui-spin"},autoplay:_r,lightbox:Mr,scope:U};function uk(e,t){let r=e.attributes.get(t);return r||(r=x(t),e.attributes.set(t,r)),r}function lk(e,t){let r=t[0];r&&(r.offsetWidth>0&&e.set("--kui-item-width",`${r.offsetWidth}px`),r.offsetHeight>0&&e.set("--kui-item-height",`${r.offsetHeight}px`))}function Wr(e,t,r,n){let{label:o}=n;Be(n.id,B,t,r);let i=_(t.text("target"),r,o),s=W(t,"self"),a=()=>i?$(e,r,i,s):e.children,c=be(a,T=>r.warn(`${o} ${T}`)),u=()=>mo(t,a),l=x(e),p=j(e);for(let[T,S]of Object.entries(n.hostAttributes??{}))l.set(T,S);let m={attributes:new Map},f=n.attach?.(p),d=0,g={step:-1,count:1,nodes:[]},h=new WeakMap,v=(T,S)=>{for(let N of T){let H=Number(N.getAttribute("data-kui-step-offset")),G=n.placeOf?n.placeOf(H,S):H,ke=h.get(N);if(h.set(N,G),ke===void 0||!ck(ke,G,S))continue;let at=x(N);at.set(ik,"true"),sk(r.win,N),at.restore()}},E=(T,S,N)=>{for(let H of T){let G=Number(H.getAttribute("data-kui-step-offset")),ke=n.faceOf(G-N,G,S);H.getAttribute(fl)!==ke&&uk(m,H).set(fl,ke)}},w=(T,S)=>{p.set("--kui-step-position",(T+S).toFixed(4))},C=()=>{let T=u(),{step:S,drift:N}=Ct(d,T);l.set("data-kui-step",String(S)),p.set("--kui-step",String(S)),p.set("--kui-item-count",String(T)),w(S,N),c.mark(S);let H=[...a()];n.measure&&lk(p,H),E(H,T,N),v(H,T),f?.render(H,T),g={step:S,count:T,nodes:H}},F=()=>{let{step:T,drift:S}=Ct(d,g.count);if(T!==g.step){C();return}w(T,S),E(g.nodes,g.count,S)},{motion:M,pause:J,release:te}=jr({el:e,ctx:r,params:t,label:o,settleMs:Z(t,620),step(T){let S=u(),{step:N}=Ct(d,S);d=T>0?Lr(N,S):Or(N,S),C()},spin:{advance(T){d=st(d+T*g.count,g.count),F()},setSpinning:T=>l.set(ok,String(T))}}),K=T=>{M.interrupt(),d=T,C()},Pe={el:e,ctx:r,params:t,label:o},me=[Ee(Pe,"next",()=>K(Lr(Ct(d,u()).step,u()))),Ee(Pe,"prev",()=>K(Or(Ct(d,u()).step,u()))),Ee(Pe,"jump",(T,S)=>{S>=0&&K(S)}),J].filter(T=>T!==null),_e=fo({el:e,ctx:r,groups:me}),ze=()=>{let T=new Map;for(let S of g.nodes){let N=Number(S.getAttribute("data-kui-step-offset"));if(Math.abs(N)>1)continue;let H=S.getBoundingClientRect();T.set(N,H.left+H.width/2)}return ak(T.get(0)??0,T.get(1)??null,T.get(-1)??null)},Y=dl({el:e,ctx:r,enabled:t.is("grab"),travelPx:t.num("travel",220),total:u,positionOf:()=>d,travelSign:ze,moveTo:K,setDragging:T=>{l.set(gl,String(T)),M.hold(T)}}),De=Ir(t.is("lightbox"),{host:e,cards:a,doc:r.doc,reducedMotion:r.reducedMotion},T=>r.warn(`${o} ${T}`));return C(),()=>{De(),te(),Y(),_e(),c.restore();for(let T of m.attributes.values())T.restore();m.attributes.clear(),f?.release(),l.restore(),p.restore()}}var yl="--kui-ring-fit",pk=.25,hl=1e5,mk=34,qr=Math.PI/180;function dk(e,t){if(Math.abs(e)>=360)return{fromDeg:-180,toDeg:180};let r=Math.max(1,t),n=e/r,o=Math.floor(r/2),s=[(o-r+1-.5)*n,(o+.5)*n];return{fromDeg:Math.min(...s),toDeg:Math.max(...s)}}function vl(e,{sinA:t,cosA:r,sinT:n,cosT:o}){let[i,s,a]=e,c=i*r+a*t,u=-i*t+a*r;return[c,s*o-u*n,s*n+u*o]}function fk(e,t,r){let n=(e.inside?-1:1)*t,o=vl([0,0,n],r),i=e.width/2,s=e.height/2;for(let[a,c]of[[-i,-s],[i,-s],[-i,s],[i,s]]){let[u,,l]=e.facing==="camera"?[o[0]+a,o[1]+c,o[2]]:vl([a,c,n],r);if(l>=e.perspective-1)return!1;let p=Number.isFinite(e.perspective)?e.perspective/(e.perspective-l):1,m=(e.originOffset+u)*p;if(m<e.minX||m>e.maxX)return!1}return!0}function Ro(e,t,r){let n=Math.sin(e.tiltDeg*qr),o=Math.cos(e.tiltDeg*qr);return r.every(i=>fk(e,t,{sinA:Math.sin(i*qr),cosA:Math.cos(i*qr),sinT:n,cosT:o}))}function gk(e){let t=e.inside?Math.max(e.fromDeg,-90):e.fromDeg,r=e.inside?Math.min(e.toDeg,90):e.toDeg,n=Math.max(1,Math.ceil((r-t)/pk));return Array.from({length:n+1},(o,i)=>t+(r-t)*i/n)}function yk(e){let t=gk(e);if(!Ro(e,0,t))return 0;if(Ro(e,hl,t))return 1/0;let r=0,n=hl;for(let o=0;o<mk;o++){let i=(r+n)/2;Ro(e,i,t)?r=i:n=i}return Math.floor(r*100)/100}function hk(e,t){let r=e.ownerDocument;for(let o=e.parentElement;o&&o!==r.body&&o!==r.documentElement;o=o.parentElement){let i=t.getComputedStyle(o).overflowX;if(i==="clip"||i==="hidden")return null;if(i==="auto"||i==="scroll"){let s=o.getBoundingClientRect().left+o.clientLeft;return{left:s,right:s+o.clientWidth}}}let n=-t.scrollX;return{left:n,right:n+r.documentElement.clientWidth}}function bl(e,t){let r=Number.parseFloat(e);return Number.isFinite(r)?r:t}function El(e){let{el:t,ctx:r,styles:n}=e;if(typeof r.win.getComputedStyle!="function"||typeof r.win.addEventListener!="function")return{render(){},release(){}};let o=Math.min(80,Math.max(-80,-e.tiltParamDeg)),i,s=1,a=()=>{let l=hk(t,r.win);if(!l||!i||i.offsetWidth===0){n.set(yl,"");return}let p=r.win.getComputedStyle(t),m=t.getBoundingClientRect(),f=m.left+bl(p.perspectiveOrigin,m.width/2),d=yk({width:i.offsetWidth,height:i.offsetHeight,perspective:bl(p.perspective,1/0),tiltDeg:o,inside:t.matches("[data-kui-fx~='carousel-3d-inside']"),facing:i.firstElementChild?e.facing:"radial",...dk(e.arcDeg,s),originOffset:m.left+m.width/2-f,minX:l.left-f,maxX:l.right-f});n.set(yl,Number.isFinite(d)?`${d}px`:"")},c=Le(r.win,a),u=Ie(r.win,c.request);return u.observe(t),u.observe(t.ownerDocument.documentElement),{render(l,p){let m=l[0];m===i&&p===s||(i=m,s=p,a())},release(){u.disconnect(),c.cancel()}}}function vk(e,t,r,n){let o=Sl(e,r)-t;return o>-.5&&o<n+1?"front":"back"}function Sl(e,t){return st(e+1,t)-1}var bk={...Br,shift:{type:"length",default:"48px",cssProperty:"--kui-stack-shift"},rise:{type:"length",default:"36px",cssProperty:"--kui-stack-rise"},shrink:{type:"number",default:"0.08",cssProperty:"--kui-stack-shrink",finite:!0,minimum:0,maximum:.3},blur:{type:"length",default:"2px",cssProperty:"--kui-stack-blur"},fade:{type:"number",default:"0.2",cssProperty:"--kui-stack-fade",finite:!0,minimum:0,maximum:1},depth:{type:"number",default:"3",cssProperty:"--kui-stack-depth",integer:!0,minimum:1,maximum:8}};function Ek(e,t,r){let n=t.num("depth",3);return Wr(e,t,r,{id:"spatial-stack",label:"carousel-stack",faceOf:(o,i,s)=>vk(i,i-o,s,n),placeOf:Sl,measure:!1})}var Pl={id:"spatial-stack",renderer:"javascript",channels:[y.skew,"discrete",y.opacity,y.filter,...Gr],parameters:bk,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:P(Ek)},kl=[{name:"carousel-stack",primitive:"spatial-stack",requiresOwnSubtree:!0,phase:"idle"}];var Sk=90,Pk=[["overflow",e=>e!==""&&e!=="visible"],["clip-path",e=>e!==""&&e!=="none"],["opacity",e=>e!==""&&Number(e)<1],["filter",e=>e!==""&&e!=="none"],["backdrop-filter",e=>e!==""&&e!=="none"],["isolation",e=>e==="isolate"],["mix-blend-mode",e=>e!==""&&e!=="normal"],["mask-image",e=>e!==""&&e!=="none"]];function kk(e,t){let r=wk(e,t);r&&t.warn(`carousel: the ring's own <${e.localName}> has ${r.property}: ${r.value}, which flattens transform-style: preserve-3d \u2014 the ring will render as flat overlapping cards. Move that property to a wrapper around the ring: an ancestor does not flatten it.`)}function wk(e,t){let r=t.win.getComputedStyle?.(e);if(!r)return null;for(let[n,o]of Pk){let i=r.getPropertyValue(n);if(o(i))return{property:n,value:i}}return null}function xk(e){return Math.abs(Tk(e))>=Sk?"back":"front"}function Tk(e){let t=(e%360+360)%360;return t>180?t-360:t}var Ak={...Br,tilt:{type:"angle",default:"0deg",cssProperty:"--kui-tilt"},arc:{type:"angle",default:"360deg",cssProperty:"--kui-arc"},radius:{type:"length",default:"",cssProperty:"--kui-radius"},gap:{type:"length",default:"24px",cssProperty:"--kui-gap"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},facing:{type:"keyword",default:"radial",cssProperty:"--kui-facing",keywords:["radial","camera"]},plane:{type:"keyword",default:"depth",cssProperty:"--kui-ring-plane",keywords:["depth","screen"]}};function Ck(e,t,r){let n=t.text("plane","depth");n==="depth"&&kk(e,r);let o=wl(t.text("arc","360deg"),360);return Wr(e,t,r,{id:"spatial-ring",label:"carousel",faceOf:(s,a,c)=>n==="screen"?"front":xk(s*(o/c)),measure:t.text("radius")===""||n==="screen",hostAttributes:{"data-kui-ring-facing":t.text("facing","radial"),"data-kui-ring-plane":n},attach:n==="depth"?s=>El({el:e,ctx:r,styles:s,arcDeg:o,tiltParamDeg:wl(t.text("tilt","0deg"),0),facing:t.text("facing","radial")==="camera"?"camera":"radial"}):void 0})}function wl(e,t){let r=/^(-?[\d.]+)(deg|rad|turn|grad)?$/i.exec(e.trim());if(!r)return t;let n=Number(r[1]);if(!Number.isFinite(n))return t;switch((r[2]??"deg").toLowerCase()){case"rad":return n*180/Math.PI;case"turn":return n*360;case"grad":return n*.9;default:return n}}var Rk={id:"spatial-ring",renderer:"javascript",channels:[y.skew,"discrete",...Gr,A("data-kui-ring-facing"),A("data-kui-ring-plane")],parameters:Ak,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:P(Ck)},Mk=[Rk,Pl],Ik=[{name:"carousel-3d",primitive:"spatial-ring",params:{tilt:"12deg"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-high",primitive:"spatial-ring",params:{tilt:"30deg",perspective:"1200px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-low",primitive:"spatial-ring",params:{tilt:"-18deg",perspective:"1800px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-inside",primitive:"spatial-ring",params:{arc:"120deg",facing:"camera",perspective:"900px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-orbit",primitive:"spatial-ring",params:{plane:"screen",facing:"camera"},requiresOwnSubtree:!0,phase:"idle"}];function xl(e){return e.registerPrimitives(Mk).registerPresets(Ik).registerPresets(kl)}var Mo=["translate","rotate","scale","opacity","filter","color","background"],Tl={translate:y.translate,rotate:y.rotate,scale:y.scale,opacity:y.opacity,filter:y.filter,color:y.color,background:y.background};function q(e,t,r,n){let o=r==="number"?{finite:!0,...e==="filter"?{minimum:0}:{}}:{};return[t,{group:e,spec:{type:r,default:n,cssProperty:`--kui-tween-${t}`,...o}}]}var Q=Object.fromEntries([q("translate","x","length","0"),q("translate","y","length","0"),q("translate","z","length","0"),q("rotate","rotate","angle","0deg"),q("scale","scale","number","1"),q("scale","scale-x","number","1"),q("scale","scale-y","number","1"),q("opacity","opacity","number","1"),q("filter","blur","length","0px"),q("filter","brightness","number","1"),q("filter","saturate","number","1"),q("filter","grayscale","number","0"),q("filter","contrast","number","1"),q("filter","hue-rotate","angle","0deg"),q("filter","invert","number","0"),q("filter","sepia","number","0"),q("color","color","color","currentcolor"),q("background","background-color","color","transparent")]),Al=Object.fromEntries([...Object.entries(Q).map(([e,t])=>[e,t.spec]),...Mo.map(e=>[`${e}-ease`,{type:"easing",default:"ease-out",cssProperty:`--kui-tween-${e}-ease`}])]);function Io(e,t){if(e=e.trim(),t==="number"&&e.endsWith("%")){let n=e.slice(0,-1);return fe(n,-2)??e}let r=fe(e);return r===void 0?e:t==="length"?`${r}px`:t==="angle"?`${r}deg`:t==="number"?r:e}function Kr(e,t,r,n=e){let o=Q[e].spec,i=Io(t,o.type),s=Lk(e,i),a=s?{ok:!1,reason:s,value:i}:Me(i,o);if(!a.ok){r(`parameter "${n}": ${a.reason} \u2014 got "${t}", using default "${o.default}"`);return}return a.value}function Lk(e,t){if(/^(?:inherit|initial|unset|revert|revert-layer)$/i.test(t))return"CSS-wide keyword cannot be passed through a tween custom property";if((e==="z"||e==="blur")&&t.includes("%"))return"expected a length without percentages";if(e==="blur"&&Number.parseFloat(t)<0)return"blur must be non-negative"}var Ur=5,Cl=2;function Rl(e){let t=[],r=0,n=0,o=0;for(;o<e.length;){let i=e[o];i==='"'||i==="'"?o=Ok(e,o):i==="("?n++:i===")"?n=Math.max(0,n-1):i===","&&n===0&&(t.push(e.slice(r,o).trim()),r=o+1),o++}return t.push(e.slice(r).trim()),t}function Ok(e,t){for(let r=t+1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]===e[t])return r;return e.length}function Nk(e,t,r,n){for(let[o,i]of t){if(i.length===r)continue;let s=i.at(-1);for(i.length>=Cl&&n(`"${o}" has ${String(i.length)} waypoints and another "${e}" property has ${String(r)} \u2014 they share one keyframe block, so "${o}" holds at "${s}" for the rest`);i.length<r;)i.push(s)}}function _k(e,t,r){return t.length<=Ur?t:(r(`"${e}" has ${String(t.length)} waypoints \u2014 at most ${String(Ur)} are supported, so the animation now ends at "${t[Ur-1]}"`),t.slice(0,Ur))}function Ml(e,t){let r=new Map;for(let[n,o]of e){if(o.length<Cl)continue;let i=Object.hasOwn(Q,n)?Q[n]:void 0;if(!i)continue;let s=_k(n,o,t).map(c=>Io(c.trim(),i.spec.type)),a=r.get(i.group)??{count:0,keys:new Map};a.keys.set(n,s),a.count=Math.max(a.count,s.length),r.set(i.group,a)}for(let[n,o]of r)Nk(n,o.keys,o.count,t);return r}function Il(e,t,r,n){for(let[o,i]of e.keys){if(!Object.hasOwn(Q,o))continue;let s=Q[o].spec;for(let[a,c]of i.entries()){let u=a+1,l=`${o}[${String(u)}]`,p=Kr(o,c,n,l);p!==void 0&&(t[l]=p,r[l]=Dk(s,o,u))}}}function Dk(e,t,r){return{...e,cssProperty:`--kui-tween-${t}-${String(r)}`}}function Ll(e,t){return`kui-tween-keys${String(t)}-${e}`}var $k=["time","view","scroll","pin"];function jk(e,t,r){let n=["scale-x","scale-y"].filter(o=>Number(t[o]??t.scale??"1")===0);n.length!==0&&r(`"${e}" starts with no box area on ${n.join(", ")}, which can prevent on:enter activation depending on its geometry \u2014 use a small non-zero scale, or on:load`)}function Hk(e,t,r){let n={},o=new Set(t.filter(([,i])=>i.length>1).map(([i])=>Q[i].group));for(let[i]of t)(e==="from"||o.has(Q[i].group))&&r[i]!==void 0&&(n[i]=r[i]);return n}function Vk(e,t,r){let n=Object.create(null),o=Fk(t,n,r),i=new Set(o.map(([l])=>Q[l].group)),s=Mo.filter(l=>i.has(l));if(s.length===0)return r(`"${t.name}" names no properties to animate \u2014 add at least one, e.g. "${t.name} x:100" (known: ${Object.keys(Q).join(", ")})`),{channels:[],keyframes:[],params:n};jk(t.name,Hk(e,o,n),r);let a=Ml(o,r),c={};for(let l of a.values())Il(l,n,c,r);for(let l of s){let p=`${l}[ease]`,m=Gk(e,t,l);n[p]=m.value,c[p]=m.schema}return{channels:s.map(l=>Tl[l]),keyframes:s.map(l=>Bk(l,e,a.get(l))),params:n,schema:c}}function Fk(e,t,r){let n=[];for(let[o,i]of Object.entries(e.params)){if(!(Object.hasOwn(Q,o)?Q[o]:void 0)){t[o]=i;continue}let a=Rl(i);n.push([o,a]);let c=Kr(o,a[0],r);c!==void 0&&(t[o]=c)}return n}function Gk(e,t,r){let o=`var(--kui-${e==="from"?"tween-from":"tween"}-ease, ease-out)`,i=`--kui-tween-${r}-default-ease`;return t.easing?{value:t.easing,schema:{type:"easing",default:o,cssProperty:i}}:{value:o,schema:{type:"keyword",default:o,keywords:[o],cssProperty:i}}}function Bk(e,t,r){return r?Ll(e,r.count):`kui-tween-${t}-${e}`}function Ol(e,t){return{...b(e,[],{timelines:$k,parameters:Al,perfClass:"paint"}),variantFor:(r,n)=>Vk(t,r,n)}}var Wk=[Ol("tween","to"),Ol("tween-from","from")],qk=[{name:"tween",primitive:"tween"},{name:"tween-from",primitive:"tween-from",cloak:!0}];function Nl(e){return e.registerPrimitives(Wk).registerPresets(qk)}var _l=/^-?[A-Za-z_][\w-]*$/,Kk=new Set(["none","match-element"]);function Uk(e,t,r){let n=t.text("name","auto").trim();if(n==="auto"){let o=e.id;if(!o){r("page-morph needs a name to morph *to*: give this element an id (and the same id to its counterpart on the other view), or write name:something explicitly");return}return _l.test(o)?o:Dl(o,r)}if(Kk.has(n)){r(`page-morph name:${n} is a keyword, not a name \u2014 omit the effect instead`);return}return _l.test(n)?n:Dl(n,r)}function Dl(e,t){t(`page-morph cannot use "${e}" as a view-transition-name \u2014 it must be a CSS identifier (a letter or underscore, then letters, digits, hyphens or underscores)`)}function zk(e,t,r){if(!r.capabilities.viewTransitions)return r.warn("this browser has no View Transitions API, so page-morph will not morph \u2014 the navigation or state change still happens, it just cuts instead of animating"),()=>{};let n=Uk(e,t,r.warn);return n===void 0?()=>{}:(r.style.set("view-transition-name",n),()=>{})}var Yk={id:"view-morph",renderer:"javascript",channels:["view-transition-name"],parameters:{name:{type:"text",default:"auto",cssProperty:"--kui-view-transition-name"}},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R("view-morph",{because:"the ::view-transition pseudo-elements hang off the document root, not off this element, so no per-element value can reach them \u2014 set --kui-vt-duration/-delay/-ease on :root instead"},P(zk))};function Xk(e,t,r){let n=t.text("controls","").trim();if(n){let s=r.doc.querySelector(n);if(s)return s;r.warn(`view-swap controls:${n} matched nothing \u2014 the click will do nothing`);return}let o=e.getAttribute("aria-controls"),i=o?r.doc.getElementById(o):null;if(i)return i;r.warn("view-swap has nothing to swap: give this control an aria-controls pointing at the element whose state changes, or name it with controls:#selector")}function Jk(e){let r=e.ViewTransition?.prototype;return typeof r=="object"&&r!==null&&"types"in r}function Zk(e,t){return!e||!t.capabilities.viewTransitions?"":Jk(t.win)?e:(t.warn(`view-swap type:${e} needs View Transition types, which this browser's View Transitions API predates \u2014 the swap still animates, with the browser's default cross-fade instead of the motion this type names`),"")}function $l(e,t,r){let n=r.doc.startViewTransition;if(!r.capabilities.viewTransitions||typeof n!="function"||r.reducedMotion){e();return}t?n.call(r.doc,{update:e,types:[t]}):n.call(r.doc,e)}function Qk(e,t,r){let n=Xk(e,t,r);if(!n)return()=>{};r.capabilities.viewTransitions||r.warn("this browser has no View Transitions API, so view-swap will not animate \u2014 the state change still happens, it just cuts");let o=t.text("attribute","data-open").trim()||"data-open",i=Zk(t.text("type","").trim(),r),s=tt(t),a=()=>{let l=n.hasAttribute(o);l?n.removeAttribute(o):n.setAttribute(o,""),e.hasAttribute("aria-expanded")&&e.setAttribute("aria-expanded",String(!l))},c=new Set,u=()=>{if(s<=0){$l(a,i,r);return}let l=r.win.setTimeout(()=>{c.delete(l),$l(a,i,r)},s);c.add(l)};return e.addEventListener("click",u,{signal:r.signal}),()=>{for(let l of c)r.win.clearTimeout(l);c.clear()}}var ew={id:"view-swap",channels:["view-transition-run"],renderer:"javascript",parameters:{controls:{type:"text",default:"",cssProperty:"--kui-view-swap-controls"},attribute:{type:"text",default:"data-open",cssProperty:"--kui-view-swap-attribute"},type:{type:"text",default:"",cssProperty:"--kui-view-swap-type"},...O},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"layout",reducedMotion:"shorten",prepare:R("view-swap",{honours:["delay"],because:"it starts a transition the browser then owns \u2014 the duration and curve live on the ::view-transition pseudo-elements at :root, not on this control"},P(Qk))},tw=[Yk,ew],rw=[{name:"page-morph",primitive:"view-morph"},{name:"view-swap",primitive:"view-swap",phase:"state"}];function jl(e){return e.registerPrimitives(tw).registerPresets(rw)}function Hl(e){return Array.isArray(e)?e:[e]}function Vl(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.registerPrimitives=="function"&&typeof t.registerPresets=="function"}function nw(e){if(!e||typeof e!="object")return;if(Vl(e))return e;let t=e;if(Vl(t.registry))return t.registry}function Fl(e,t,r,n="module"){let o=nw(e);if(!o)throw new Error(`kuinetic: register${n} requires a Registry or Animator instance`);return o.registerPrimitives(Hl(t)),o.registerPresets(Hl(r)),e}function ee(e,t,r){return{id:e,renderer:"javascript",channels:t.channels,parameters:t.parameters,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:t.perfClass,reducedMotion:"shorten",prepare:r}}var ow=["browser","phone","tablet","laptop"],Gl="",iw={kind:{type:"keyword",default:"browser",cssProperty:"--kui-device-kind",keywords:[...ow]},color:{type:"color",default:"#111",cssProperty:"--kui-device-color"},radius:{type:"length",default:Gl,cssProperty:"--kui-device-radius"},"screen-radius":{type:"length",default:Gl,cssProperty:"--kui-device-screen-radius"}};function sw(e,t){let r=x(e);return r.set("data-kui-device",t.text("kind","browser")),I(()=>r.restore())}var Bl=ee("device-frame",{channels:["frame",A("data-kui-device")],parameters:iw,perfClass:"layout"},R("device-frame",{because:"it stamps its frame kind once, synchronously, on activation; there is no motion to time"},P(sw))),Wl=[{name:"device-frame",primitive:"device-frame",requiresOwnSubtree:!0}];var Lo=new WeakMap;function ql(e){e.lock?.restore(),e.lock=void 0}function aw(e){if(e.lock)return;let t=e.doc.documentElement,r=j(t),n=e.doc.defaultView.innerWidth-t.clientWidth;r.set("overflow","hidden"),n>0&&r.set("padding-right",`${n}px`),e.lock=r}function Oo(e){let t=e.current;t?.onClose?.(),e.current=void 0,e.currentOwner=void 0,e.slot?.replaceChildren(),t?.opener&&lo(e.doc,t.opener,!1)}function Kl(e){e.dialog?.classList.remove("is-open"),ql(e),Oo(e)}function zr(e){let t=e.dialog;!t?.open||e.timer!==void 0||(t.classList.remove("is-open"),e.timer=setTimeout(()=>{e.timer=void 0,t.open&&t.close(),ql(e),Oo(e)},e.current.reducedMotion?0:e.current.duration))}function cw(e,t){let{node:r,inside:n}=e.current;return n?!n(t):!r.contains(t)&&!t.closest("button")}function uw(e){return e.offsetWidth}function lw(e){if(e.dialog)return;let t=e.doc.createElement("dialog");t.className="kui-lightbox";let r=e.doc.createElement("button");r.type="button",r.className="kui-lightbox-close",r.setAttribute("aria-label","Close viewer"),r.textContent="\xD7";let n=e.doc.createElement("div");n.className="kui-lightbox-slot",t.append(r,n),e.doc.body.append(t),r.addEventListener("click",()=>zr(e)),t.addEventListener("click",o=>{cw(e,o.target)&&zr(e)}),t.addEventListener("cancel",o=>{o.preventDefault(),zr(e)}),t.addEventListener("close",()=>Kl(e)),t.addEventListener("keydown",o=>e.current?.onKey?.(o)),e.dialog=t,e.slot=n,e.style=j(t)}function pw(e,t,r){lw(e);let n=e.dialog;e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,Oo(e),e.current=t,e.currentOwner=r,e.slot.replaceChildren(t.node),n.setAttribute("aria-label",t.label),e.style.set("--kui-lightbox-duration",`${t.duration}ms`),e.style.set("--kui-from-scale",t.scale),e.style.set("--kui-lightbox-ease",t.ease),aw(e),n.open||n.showModal(),n.scrollTop=0,uw(n),n.classList.add("is-open"),t.opener&&lo(e.doc,t.opener,!0)}function mw(e){e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,e.dialog?.open&&e.dialog.close(),Kl(e)}function dw(e,t){e.refs-=1,(e.currentOwner===t||e.refs===0)&&mw(e),!(e.refs>0)&&(e.style?.restore(),e.dialog?.remove(),Lo.delete(e.doc))}function No(e){let t=Lo.get(e);t||(t={doc:e,refs:0},Lo.set(e,t)),t.refs+=1;let r=t,n={},o=!1;return{open:i=>pw(r,i,n),dismiss:()=>zr(r),release:()=>{o||(o=!0,dw(r,n))}}}var fw="https://kuinetic.invalid/",gw=/^[\w-]{6,}$/,yw=new Set(["youtube.com","www.youtube.com","m.youtube.com"]),hw=new Set(["youtu.be","www.youtu.be"]),vw=new Set(["vimeo.com","www.vimeo.com"]);function Ul(e,t,r){let n;return r?n=t[0]:t[0]==="watch"?n=e.searchParams.get("v"):(t[0]==="shorts"||t[0]==="embed")&&(n=t[1]),!n||!gw.test(n)?null:{kind:"youtube",embedUrl:`https://www.youtube-nocookie.com/embed/${n}?autoplay=1`,aspect:t[0]==="shorts"?"tall":"wide"}}function bw(e){let t=e[0];return!t||!/^\d+$/.test(t)?null:{kind:"vimeo",embedUrl:`https://player.vimeo.com/video/${t}?autoplay=1`,aspect:"wide"}}function zl(e){let t;try{t=new URL(e,fw)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:")return null;let r=t.hostname.toLowerCase(),n=t.pathname.split("/").filter(Boolean);return yw.has(r)?Ul(t,n,!1):hw.has(r)?Ul(t,n,!0):vw.has(r)?bw(n):/\.(mp4|webm|ogg)$/i.test(t.pathname)?{kind:"file",embedUrl:e,aspect:"wide"}:null}var Do=280,$o="0.965",jo="cubic-bezier(0.22, 1, 0.36, 1)",Ew={media:{type:"keyword",default:"image",cssProperty:"--kui-lightbox-media",keywords:["image","video","mixed"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,scale:{type:"number",default:$o,cssProperty:"--kui-from-scale",finite:!0,minimum:0},duration:{type:"time",default:`${Do}ms`,cssProperty:"--kui-lightbox-duration"},ease:{type:"easing",default:jo,cssProperty:"--kui-lightbox-ease"},loop:{type:"keyword",default:"true",cssProperty:"--kui-lightbox-loop",keywords:["true","false"]},aspect:{type:"keyword",default:"",cssProperty:"--kui-lightbox-aspect",keywords:["wide","tall","square"]},caption:{type:"keyword",default:"figcaption",cssProperty:"--kui-lightbox-caption",keywords:["figcaption","alt","title","none"]}};function Sw(e,t){return e.matches("a[href]")||t!=="video"&&e.matches("img")?[e]:[...e.querySelectorAll(t==="video"?":scope a[href]":":scope a[href], :scope img")]}function Ql(e){return e==="video"?"video-lightbox":"lightbox"}function Pw(e,t,r,n){let o=t.text("target");if(!o)return Sw(e,n);let i=_(o,r,Ql(n));return i?$(e,r,i,W(t,"self")):[]}function kw(e){return e instanceof HTMLImageElement?e.closest("a[href]")??e:e}function ep(e){return e instanceof HTMLImageElement?e:e.querySelector("img")}function tp(e,t,r){if(r==="none")return"";let n=t?.alt??"";return r==="alt"?n:r==="title"?ww(e,t):e.closest("figure")?.querySelector("figcaption")?.textContent?.trim()||n}function ww(e,t){return(e.getAttribute("title")||t?.title||"").trim()}function xw(e,t){let r=ep(e);if(!r)return null;let n=e instanceof HTMLAnchorElement?e:null;return{kind:"image",trigger:e,image:r,src:n?.href??(r.currentSrc||r.src),caption:tp(e,r,t)}}function Tw(e,t){return e.title||t?.getAttribute("alt")||e.getAttribute("aria-label")?.trim()||e.textContent?.trim()||"Video"}function Aw(e,t){let r=zl(e.getAttribute("href")??"");if(!r)return null;let n=e.querySelector("img");return{kind:"video",trigger:e,source:r,title:Tw(e,n),caption:tp(e,n,t)}}function _o(e,t,r){if(t!=="image"&&e instanceof HTMLAnchorElement){let n=Aw(e,r);if(n||t==="video")return n}return xw(e,r)}function Cw(e,t){let r=new Set,n=[];for(let o of e){let i=t==="video"?o:kw(o);r.has(i)||Rw(i,t)&&(r.add(i),n.push(i))}return n}function Rw(e,t){let r=e instanceof HTMLAnchorElement;if(t==="video")return r;let n=ep(e)!==null;return t==="image"?n:r||n}function Mw(e,t){return{duration:e.timing.durationMs??e.ms("duration",Do),scale:e.text("scale",$o),ease:e.timing.easing??e.text("ease",jo),reducedMotion:t.reducedMotion}}function Iw(e,t){t.src=e.src,t.alt=e.image.alt;let r=e.image.naturalWidth?e.image.naturalHeight/e.image.naturalWidth:1;t.className=r>1.5?"is-tall":"is-fit"}function Lw(e,t,r){let n=r.createElement("div");if(n.className=`kui-lightbox-frame kui-lightbox-frame--${t||e.source.aspect}`,e.source.kind==="file"){let o=r.createElement("video");o.src=e.source.embedUrl,o.controls=!0,o.autoplay=!0,o.playsInline=!0,o.setAttribute("aria-label",e.title),n.append(o)}else{let o=r.createElement("iframe");o.src=e.source.embedUrl,o.title=e.title,o.allow="autoplay; encrypted-media; picture-in-picture; fullscreen",o.allowFullscreen=!0,n.append(o)}return n}function rp(e){e.readyState>0&&e.pause()}function Yl(e){let t=e.querySelector("video");t&&(rp(t),t.removeAttribute("src")),e.replaceChildren()}function Ow(e,t){if(t===e.view)return;let r=t.querySelector("video");r?rp(r):t.replaceChildren()}function Nw(e,t){if(t.kind==="image")return Iw(t,e.view),e.view;let r=e.players.get(t);if(r)return r.querySelector("video").play().catch(()=>{}),r;let n=Lw(t,e.aspect,e.figure.ownerDocument);return t.source.kind==="file"&&e.players.set(t,n),n}function Yr(e,t){let r=e.items[e.index];if(e.shown?.item!==r){e.shown&&Ow(e,e.shown.node);let n=Nw(e,r);e.shown={item:r,node:n},e.caption.textContent=r.caption,e.caption.hidden=r.caption==="",e.figure.replaceChildren(n,e.caption)}e.counter.textContent=`${e.index+1} of ${e.items.length}`,e.previous.disabled=!e.loop&&e.index===0,e.next.disabled=!e.loop&&e.index===e.items.length-1,t&&e.figure.focus()}function Xr(e,t,r){let n=e.index+t;!e.loop&&(n<0||n>=e.items.length)||(e.index=(n+e.items.length)%e.items.length,Yr(e,r))}function Xl(e,t,r){Xr(e,t,!1),r.disabled&&r.ownerDocument.activeElement===r&&e.figure.focus()}function _w(e,t){if(!(e.items.length<2)&&!t.target.closest("video")){if(t.key==="ArrowLeft")Xr(e,-1,!0);else if(t.key==="ArrowRight")Xr(e,1,!0);else if(t.key==="Home")e.index=0,Yr(e,!0);else if(t.key==="End")e.index=e.items.length-1,Yr(e,!0);else return;t.preventDefault()}}function Dw(e,t){let r=t.ownerDocument.defaultView?.visualViewport??null,n=()=>(r?.scale??1)>1.01,o=()=>{t.classList.toggle("is-swipeable",!n())};o(),r?.addEventListener("resize",o);let i=pe(t,{onSwipe(s){(s==="left"||s==="right")&&Xr(e,yo(s),!1)}},{capturePointer:"drag",accept:s=>s.pointerType!=="mouse"&&!n()&&s.target.closest("video")===null});return()=>{i(),r?.removeEventListener("resize",o)}}function $w(e){e.view.removeAttribute("src");for(let t of e.players.values())Yl(t);e.shown&&e.shown.node!==e.view&&Yl(e.shown.node)}function jw(e){let t=new Set(e.map(r=>r.kind));return t.size>1?{noun:"item",label:"Media viewer"}:t.has("video")?{noun:"video",label:"Video viewer"}:{noun:"image",label:"Image viewer"}}function np(e,t,r){let n=e[t].trigger.ownerDocument,o=n.createElement("div");o.className="kui-lightbox-gallery";let i=n.createElement("figure");i.tabIndex=-1;let s=n.createElement("img");s.decoding="async";let a=n.createElement("figcaption");o.append(i);let c=n.createElement("span");c.className="kui-lightbox-counter",c.setAttribute("aria-hidden","true");let u=n.createElement("button"),l=n.createElement("button");u.type=l.type="button",u.textContent="\u2039",l.textContent="\u203A";let{noun:p,label:m}=jw(e);u.setAttribute("aria-label",`Previous ${p}`),l.setAttribute("aria-label",`Next ${p}`),u.className="kui-lightbox-prev",l.className="kui-lightbox-next";let f={items:e,index:t,loop:r.loop,aspect:r.aspect,figure:i,view:s,caption:a,counter:c,previous:u,next:l,players:new Map};e.length>1&&(o.append(u,l,c),u.addEventListener("click",()=>Xl(f,-1,u)),l.addEventListener("click",()=>Xl(f,1,l))),Yr(f,!1);let d=e.length>1?Dw(f,o):void 0,{duration:g,scale:h,ease:v,reducedMotion:E}=r;return{duration:g,scale:h,ease:v,reducedMotion:E,node:o,label:m,inside:w=>o.contains(w)&&w.closest("img, video, iframe, button")!==null,onClose:()=>{d?.(),$w(f)},onKey:w=>_w(f,w)}}function op(e){return e.button===0&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}function Jl(e,t,r){let n=[],o=-1;for(let i of e){let s=_o(i,r.media,r.captionSource);s&&(i===t&&(o=n.length),n.push(s))}if(o<0){let i=t.getAttribute("href")??"";return r.warned.has(i)||r.ctx.warn(`${Ql(r.media)} cannot embed "${i}"; the link will navigate normally`),r.warned.add(i),!1}return r.shell.open({...np(n,o,r.options),opener:t}),!0}function Hw(e,t){let r=[];for(let n of e){if(n instanceof HTMLImageElement){let i=x(n);i.set("role","button"),i.set("tabindex","0"),i.set("aria-label",n.alt?`Open larger image: ${n.alt}`:"Open larger image"),r.push(()=>i.restore()),n.addEventListener("keydown",s=>{s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),Jl(e,n,t))},{signal:t.signal})}n.addEventListener("click",i=>{op(i)&&Jl(e,n,t)&&i.preventDefault()},{signal:t.signal})}return r}function Vw(e){let t=e.matches("a[href]")?e:e.querySelector("a[href]");return t&&_o(t,"mixed","figcaption")||_o(e,"mixed","figcaption")}var Zl="button, input, select, textarea, label, summary, [contenteditable]";function ip(e){let{host:t,cards:r,doc:n,reducedMotion:o}=e,i=No(n),s={duration:Do,scale:$o,ease:jo,reducedMotion:o,loop:!0,aspect:""},a=d=>d.getAttribute("data-kui-ring-face")==="back",c=(d,g=!1)=>{let h=[...r()],v=h.find(d);if(!v||!g&&a(v))return!1;let E=[],w=-1;for(let C of h){let F=Vw(C);F&&(C===v&&(w=E.length),E.push(F))}return w<0?!1:(i.open({...np(E,w,s),opener:v}),!0)},u=null,l=d=>{let g=[...r()],h=typeof n.elementsFromPoint=="function"?n.elementsFromPoint(d.clientX,d.clientY):[];for(let v of[...h,d.target]){let E=g.find(w=>w.contains(v));if(E)return a(E)?null:{card:E,node:v}}return null},p=d=>{u=d.button===0?l(d):null},m=d=>{let g=d.detail>0?u:null;u=null;let h=d.target;if(d.defaultPrevented||!op(d)||h.closest(Zl)||g?.node.closest(Zl))return;(g?c(E=>E===g.card,!0):c(E=>E.contains(h)))&&d.preventDefault()},f=d=>{let g=d.key;d.target!==t||g!=="Enter"&&g!==" "||c(h=>h.getAttribute(po)==="active")&&d.preventDefault()};return t.addEventListener("pointerdown",p),t.addEventListener("click",m),t.addEventListener("keydown",f),()=>{t.removeEventListener("pointerdown",p),t.removeEventListener("click",m),t.removeEventListener("keydown",f),i.release()}}function Fw(e,t,r){let n=t.text("media","image"),o=Cw(Pw(e,t,r,n),n);if(o.length===0)return()=>{};let i=new AbortController,s=No(r.doc),a={...Mw(t,r),loop:t.is("loop"),aspect:t.text("aspect")},c=Hw(o,{shell:s,options:a,signal:i.signal,media:n,captionSource:t.text("caption","figcaption"),ctx:r,warned:new Set});return I(()=>{i.abort();for(let u of c)u();s.release()})}var Gw="lightbox:triggers",sp=ee("lightbox",{channels:[Gw],parameters:Ew,perfClass:"paint"},R("lightbox",{honours:["duration","ease"],because:"the dialog opens immediately, so it has no delay phase"},P(Fw))),ap=[{name:"lightbox",primitive:"lightbox",params:{media:"image"}},{name:"video-lightbox",primitive:"lightbox",params:{media:"video",caption:"none"}}];var Bw=["x","y"],cp="data-kui-compare-axis",up="data-kui-compare-dividers",Ww={position:{type:"percentage",default:"50%",cssProperty:"--kui-compare"},positions:{type:"text",default:"",cssProperty:"--kui-compare-positions"},axis:{type:"keyword",default:"x",cssProperty:"--kui-compare-axis",keywords:[...Bw]},autoplay:{type:"keyword",default:"never",cssProperty:"--kui-compare-autoplay",keywords:["never","in-view","always"]},duration:{type:"time",default:"3s",cssProperty:"--kui-compare-duration"},reverse:{type:"keyword",default:"false",cssProperty:"--kui-compare-reverse",keywords:["true","false"]},loop:{type:"keyword",default:"false",cssProperty:"--kui-compare-loop",keywords:["true","false"]}},Jr=250,qw=100,Kw={ArrowUp:-1,ArrowDown:1};function Zr(e,t){return(e.localName==="picture"?e.querySelector("img")?.getAttribute("alt"):e.getAttribute("alt"))?.trim()||e.getAttribute("aria-label")?.trim()||e.getAttribute("title")?.trim()||t}function Uw(e,t){let r=e.getAttribute("aria-label")?.trim();if(r)return r;let n=t[0],o=t[1];return n&&o?`Compare: ${Zr(n,"Before")} / ${Zr(o,"After")}`:"Compare"}function lp(e,t,r,n){let o=e.createElement("input");return o.type="range",o.className="kui-compare-range",o.min="0",o.max="100",o.step="1",o.value=String(r),o.setAttribute("aria-label",t.name),o.setAttribute("aria-valuetext",t.valueText),n==="y"&&o.setAttribute("aria-orientation","vertical"),o}function pp(e){let t=e.createElement("span");return t.className="kui-compare-handle",t.setAttribute("aria-hidden","true"),t}function mp(e,t,r){return n=>{let o=Kw[n.key];t!=="y"||o===void 0||(n.preventDefault(),o<0?e.stepDown():e.stepUp(),r())}}function zw(e){return 50-50*Math.cos(Math.PI*e/100)}function Yw(e,t){let r=100/Math.PI*Math.acos(1-e/50);return t?200-r:r}function Xw(e,t){let r=e.timing.durationMs??e.ms("duration",3e3);return r>=Jr?r:(t.warn(`compare duration: minimum is ${Jr}ms; clamped to ${Jr}ms`),Jr)}function dp(e){let{host:t,grab:r,ctx:n,mode:o,loop:i}=e;if(o==="never"||n.reducedMotion)return()=>{};let s=Qw(e,()=>c()),a=null;(o==="in-view"||i)&&(a=Zw(n.win,t,s.setOnscreen));let c=()=>{s.stop(),a?.disconnect(),a=null;for(let u of r)u.removeEventListener("pointerdown",c),u.removeEventListener("focus",c)};for(let u of r)u.addEventListener("pointerdown",c),u.addEventListener("focus",c);return s.setOnscreen(o==="always"||a===null),c}function Jw(e){let{write:t,homes:r,bounds:n,durationMs:o,reverse:i,loop:s}=e,a=r.map((f,d)=>d);i&&a.reverse();let c=2*o,u=c*a.length,l=r.map((f,d)=>{let[g,h]=n[d];return h>g?Yw(100*(f-g)/(h-g),i):0}),p=f=>t(a[f],r[a[f]]),m=0;return{show(f){if(!s&&f>=u)return p(m),!1;let d=f%u,g=Math.floor(d/c);g!==m&&p(m),m=g;let h=a[m],[v,E]=n[h],w=l[h]+100*(d-m*c)/o;return t(h,v+(E-v)*zw(w)/100),!0}}}function Zw(e,t,r){let n=e.IntersectionObserver;if(!n)return null;let o=new n(i=>{for(let s of i)r(s.isIntersecting)});return o.observe(t),o}function Qw(e,t){let r=e.ctx.win,n=Jw(e),o=0,i=null,s=0,a=!1,c=!1,u=()=>{let p=!a&&c;p&&s===0?(i=null,s=r.requestAnimationFrame(l)):!p&&s!==0&&(r.cancelAnimationFrame(s),s=0)};function l(p){s=0,i!==null&&(o+=Math.min(p-i,qw)),i=p,n.show(o)?s=r.requestAnimationFrame(l):t()}return{setOnscreen(p){c=p,u()},stop(){a=!0,u()}}}function ex({el:e,media:t,params:r,ctx:n,axis:o,timing:i}){let s=Math.round(r.num("position",.5)*100),a=j(e);a.set("--kui-compare",r.text("position","50%"));let c=e.ownerDocument,u=lp(c,{name:Uw(e,t),valueText:`${s}% after`},s,o),l=pp(c),p=()=>{let g=u.value;a.set("--kui-compare",`${g}%`),u.setAttribute("aria-valuetext",`${g}% after`)},m=(g,h)=>{u.value=String(Math.round(h)),a.set("--kui-compare",`${Number(h.toFixed(3))}%`),u.setAttribute("aria-valuetext",`${u.value}% after`)},f=mp(u,o,p);u.addEventListener("input",p),u.addEventListener("keydown",f),e.appendChild(u),e.appendChild(l);let d=dp({...i,host:e,grab:[u],ctx:n,write:m,homes:[r.num("position",.5)*100],bounds:[[0,100]]});return()=>{d(),u.removeEventListener("input",p),u.removeEventListener("keydown",f),u.remove(),l.remove(),a.restore()}}var tx=/^(\d+(?:\.\d+)?)%$/;function rx(e,t,r){let n=Array.from({length:t},(u,l)=>Math.round(100*(l+1)/(t+1)));if(e.trim()==="")return n;let o=e.trim().split(/\s+/),i=o.map(u=>tx.exec(u)?.[1]),s=i.map(Number);if(o.length===t&&i.every(u=>u!==void 0)&&s.every((u,l)=>u<=100&&(l===0||u>=s[l-1])))return s.map(Math.round);let c=n.map(u=>String(u)+"%").join(" ");return r(`compare positions: expected ${t} ascending percentages between 0% and 100% for ${t+1} media (e.g. positions:'${c}'); using an even split`),n}function nx({el:e,media:t,params:r,ctx:n,axis:o,timing:i}){r.text("position","50%")!=="50%"&&n.warn(`compare position: sets the one divider of two media; with ${t.length}, use positions:`);let s=rx(r.text("positions",""),t.length-1,n.warn),a=[...s],c=x(e);c.set(up,String(a.length));let u=ix(e,t,o,s),l=ax(e,o,u),p=dp({...i,host:e,grab:[l.node,...u.ranges],ctx:n,write:u.render,homes:a,bounds:a.map((m,f)=>Ho(a,f))});return()=>{p(),l.destroy(),u.destroy(),c.restore()}}function Ho(e,t){return[t>0?e[t-1]:0,t<e.length-1?e[t+1]:100]}function ox(e,t,r){let n=t.length-1,o=e.getAttribute("aria-label")?.trim();if(o)return`${o}: divider ${r+1} of ${n}`;let i=Zr(t[r],`Image ${r+1}`),s=Zr(t[r+1],`Image ${r+2}`);return`Divider ${r+1} of ${n}: ${i} / ${s}`}function ix(e,t,r,n){let o=e.ownerDocument,i=n.length,s=r==="y"?"inset(var(--kui-compare) 0 0 0)":"inset(0 0 0 var(--kui-compare))",a=t.slice(1).map(m=>j(m));for(let m of a)m.set("clip-path",s);let c=[],u=[],l=[],p=(m,f)=>{n[m]=Math.round(f);let d=`${Number(f.toFixed(3))}%`;u[m].style.setProperty("--kui-compare",d),a[m].set("--kui-compare",d),c[m].value=String(n[m]),c[m].setAttribute("aria-valuetext",`${n[m]}%`),m>0&&(c[m-1].max=String(n[m])),m<i-1&&(c[m+1].min=String(n[m]))};for(let m=0;m<i;m++){let f=lp(o,{name:ox(e,t,m),valueText:`${n[m]}%`},n[m],r),d=pp(o);c.push(f),u.push(d),e.append(f,d);let g=()=>p(m,Number(f.value)),h=mp(f,r,g);f.addEventListener("input",g),f.addEventListener("keydown",h),l.push(()=>{f.removeEventListener("input",g),f.removeEventListener("keydown",h)})}for(let m=0;m<i;m++){let[f,d]=Ho(n,m);c[m].min=String(f),c[m].max=String(d),p(m,n[m])}return{ranges:c,render:p,moveTo(m,f){let[d,g]=Ho(n,m);p(m,Math.min(g,Math.max(d,f)))},nearest:m=>sx(n,m),destroy(){for(let m of l)m();for(let m of[...c,...u])m.remove();for(let m of a)m.restore()}}}function sx(e,t){let r=0;for(let n=1;n<e.length;n++){let o=Math.abs(e[n]-t),i=Math.abs(e[r]-t);(o<i||o===i&&t>=e[n])&&(r=n)}return r}function ax(e,t,r){let n=e.ownerDocument.createElement("div");n.className="kui-compare-surface",n.setAttribute("aria-hidden","true"),e.appendChild(n);let o=-1,i=null,s=m=>{let f=e.getBoundingClientRect(),d=t==="y"?m.clientY-f.top:m.clientX-f.left,g=t==="y"?f.height:f.width;return g>0?100*d/g:0},a=m=>{if(m.button>0||i!==null)return;i=m.pointerId;let f=s(m);o=r.nearest(f),m.preventDefault(),n.setPointerCapture?.(m.pointerId),r.ranges[o].focus({preventScroll:!0}),r.moveTo(o,f)},c=m=>{o>=0&&m.pointerId===i&&r.moveTo(o,s(m))},u=m=>{m.pointerId===i&&(o=-1,i=null)},p=[["pointerdown",a],["pointermove",c],["pointerup",u],["pointercancel",u],["lostpointercapture",m=>{m.target===n&&u(m)}]];for(let[m,f]of p)n.addEventListener(m,f);return{node:n,destroy(){for(let[m,f]of p)n.removeEventListener(m,f);n.remove()}}}function cx(e,t,r){let n=Array.from(e.querySelectorAll(":scope > :is(img, picture, video)"));n.length<2&&r.warn("compare requires at least two media children (img, picture, or video)");let o=t.text("axis","x"),i=x(e);i.set(cp,o);let a=(n.length>2?nx:ex)({el:e,media:n,params:t,ctx:r,axis:o,timing:{mode:t.text("autoplay","never"),durationMs:Xw(t,r),reverse:t.is("reverse"),loop:t.is("loop")}});return I(()=>{a(),i.restore()})}var fp=ee("compare",{channels:[D,A(cp),A(up)],parameters:Ww,perfClass:"paint"},R("compare",{honours:["duration"],because:"its only motion is the autoplay: sweep, which starts on autoplay: rather than after a delay and eases into each edge on its own curve"},P(cx))),gp=[{name:"compare",primitive:"compare",requiresOwnSubtree:!0}];var ux=["number","dot"],lx={target:{type:"text",default:"",cssProperty:"--kui-target"},marker:{type:"keyword",default:"number",keywords:[...ux],cssProperty:"--kui-hotspot-marker"},scope:U},px=0,mx=0;function dx(e,t,r){let o=e.querySelector("strong, h1, h2, h3, h4, h5, h6")?.textContent?.trim();return o?r==="number"?`${t+1}: ${o}`:o:`Note ${t+1}`}function fx(e,t){let r=t;if(r.newState!==void 0)return r.newState==="open";try{return e.matches(":popover-open")||e.hasAttribute("open")}catch{return e.hasAttribute("open")}}function gx(e,t,r){let n=t.ownerDocument.defaultView??window,o=8,i=(a,c,u)=>Math.max(o,Math.min(a,Math.max(o,u-c-o))),s=a=>{if(!fx(t,a))return;let c=e.getBoundingClientRect(),u=t.getBoundingClientRect(),l=c.top-u.height-o,p=l>=o?l:c.bottom+o,f=c.left+c.width/2-u.width/2;r.set("position","fixed"),r.set("inset","auto"),r.set("top",`${i(p,u.height,n.innerHeight)}px`),r.set("left",`${i(f,u.width,n.innerWidth)}px`),r.set("translate","0 0"),r.set("margin","0")};return t.addEventListener("toggle",s),()=>t.removeEventListener("toggle",s)}function yx(e,t){let r=`--kui-anchor-${++mx}`;e.set("anchor-name",r),t.set("position-anchor",r),t.set("position-area","top"),t.set("position-try-fallbacks","flip-block")}function hx(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("position-area: top")}function vx(e,t){let r=t.getComputedStyle(e),n=e.style,o=r.getPropertyValue("--kui-x").trim(),i=r.getPropertyValue("--kui-y").trim(),s=o||n.getPropertyValue("--kui-x").trim(),a=i||n.getPropertyValue("--kui-y").trim();return{x:s,y:a}}function bx(e){let t=e.getAttribute("id"),r=t||`kui-hotspot-note-${++px}`,n=x(e);return t||n.set("id",r),n.set("popover","auto"),{noteId:r,noteAttrs:n}}function Ex(e){let{doc:t,noteId:r,label:n,marker:o,index:i,coords:s}=e,a=t.createElement("button");a.type="button",a.className="kui-hotspot",a.setAttribute("aria-label",n),a.setAttribute("popovertarget",r),o==="number"&&(a.textContent=String(i+1));let c=j(a);return s.x&&c.set("--kui-x",s.x),s.y&&c.set("--kui-y",s.y),{button:a,buttonStyle:c}}function Sx(e,t,r){let{el:n,marker:o,ctx:i}=r,s=i.doc.defaultView??window,a=vx(e,s);(!a.x||!a.y)&&i.warn("hotspots note is missing --kui-x or --kui-y position");let{noteId:c,noteAttrs:u}=bx(e),l=dx(e,t,o),{button:p,buttonStyle:m}=Ex({doc:n.ownerDocument,noteId:c,label:l,marker:o,index:t,coords:a}),f=j(e),d;return hx()?yx(m,f):d=gx(p,e,f),{button:p,teardown:()=>{d?.(),f.restore(),u.restore(),m.restore(),p.remove()}}}function Px(e,t,r){let o=t.text("target")||":scope > :is(ol, ul) > li",i=_(o,r,"hotspots"),s=W(t,"self"),a=i?$(e,r,i,s):[],c=t.text("marker","number"),u=x(e);u.set("data-kui-hotspot-marker",c);let l=a.map((p,m)=>Sx(p,m,{el:e,marker:c,ctx:r}));for(let p of l)e.appendChild(p.button);return I(()=>{for(let p of l)p.teardown();u.restore()})}var yp=ee("hotspots",{channels:[D,A("data-kui-hotspot-marker")],parameters:lx,perfClass:"layout"},R("hotspots",{because:"it places interactive hotspot markers and binds popovers; there is no motion to time"},P(Px))),hp=[{name:"hotspots",primitive:"hotspots",requiresOwnSubtree:!0}];var kx="data-kui-slideshow-list",vp="data-kui-slideshow-mode",wx=["auto","dots","arrows","none"],xx={target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},controls:{type:"keyword",default:"auto",cssProperty:"--kui-slideshow-controls",keywords:[...wx]},autoplay:{type:"time",default:"0s",cssProperty:"--kui-slideshow-autoplay"},transition:{type:"keyword",default:"fade",cssProperty:"--kui-slideshow-transition",keywords:["fade","slide"]},swipe:{type:"keyword",default:"true",cssProperty:"--kui-slideshow-swipe",keywords:["true","false"]},mute:{type:"text",default:"",cssProperty:"--kui-slideshow-mute"},duration:{type:"time",default:"500ms",cssProperty:"--kui-slideshow-duration"},ease:{type:"easing",default:"ease",cssProperty:"--kui-slideshow-ease"}};function Qr(e,t){let r=e.createElement("button");return r.type="button",r.setAttribute("aria-label",t),r}function Tx(e,t){if(t!=="auto"&&t!=="arrows")return{previous:null,next:null};let r=Qr(e.ownerDocument,"Previous slide"),n=Qr(e.ownerDocument,"Next slide");return e.append(r,n),{previous:r,next:n}}function Ax(e,t,r){return r!=="auto"&&r!=="dots"?[]:t.map((n,o)=>{let i=Qr(e.ownerDocument,`Go to slide ${o+1} of ${t.length}`);return i.className="kui-slideshow-dot",e.appendChild(i),i})}function Cx(e,t,r,n){if(r==="none")return{root:null,pause:null,previous:null,next:null,dots:[]};let o=e.ownerDocument.createElement("div");o.className="kui-slideshow-controls";let i=n?Qr(e.ownerDocument,"Pause slideshow"):null;i&&o.appendChild(i);let{previous:s,next:a}=Tx(o,r),c=Ax(o,t,r),u=t[0]?.parentElement;return u?.parentElement?.isSameNode(e)?u.after(o):e.appendChild(o),{root:o,pause:i,previous:s,next:a,dots:c}}function Rx(e,t,r){let n=x(e);return e.hasAttribute("role")||n.set("role","region"),e.hasAttribute("aria-roledescription")||n.set("aria-roledescription","carousel"),!e.hasAttribute("aria-label")&&!e.hasAttribute("aria-labelledby")&&t.warn("slideshow needs an aria-label or aria-labelledby on its host"),n.set(vp,r),n}function Mx(e,t,r,n){let o=Rx(e,r,n),i=t[0].parentElement,s=x(i);s.set(kx,"");let a=t.map((c,u)=>{let l=x(c);return c.hasAttribute("role")||l.set("role","group"),c.hasAttribute("aria-roledescription")||l.set("aria-roledescription","slide"),c.hasAttribute("aria-label")||l.set("aria-label",`${u+1} of ${t.length}`),l});return{host:o,list:s,slides:a,liveList:i}}function Ix(e,t,r,n){e.forEach((o,i)=>{let s=t[i];i===n?s.remove("inert"):s.set("inert","")}),r.dots.forEach((o,i)=>{i===n?o.setAttribute("aria-current","true"):o.removeAttribute("aria-current"),o.tabIndex=i===n?0:-1})}function Lx(e,t){let r=()=>t.prev(),n=()=>t.next();e.previous?.addEventListener("click",r),e.next?.addEventListener("click",n);let o=e.dots.map((s,a)=>{let c=()=>t.goTo(a);return s.addEventListener("click",c),c}),i=s=>{if(e.dots.includes(s.target)){if(s.key==="ArrowRight")t.next();else if(s.key==="ArrowLeft")t.prev();else return;s.preventDefault(),e.dots[t.current()]?.focus()}};return e.root?.addEventListener("keydown",i),()=>{e.previous?.removeEventListener("click",r),e.next?.removeEventListener("click",n),e.dots.forEach((s,a)=>s.removeEventListener("click",o[a])),e.root?.removeEventListener("keydown",i)}}function Ox(e){let{el:t,params:r,ctx:n,index:o,slides:i}=e,s=()=>{},a=_(r.text("mute"),n,"slideshow mute");if(!a)return{release:s,render:s};let c=$(t,n,a,"self").filter(d=>d.localName==="button");if(c.length===0)return n.warn("slideshow mute: must select a button inside the host"),{release:s,render:s};let u=c.map(d=>x(d)),l=new Map,p=()=>{let d=i[o.current()]?.querySelector("video"),g=d?.localName==="video"&&d.muted;for(let h of u)h.set("aria-pressed",String(g)),h.set("aria-label",g?"Unmute video":"Mute video")},m=()=>{let d=i[o.current()]?.querySelector("video");if(d?.localName!=="video")return;let g=d;l.has(g)||l.set(g,g.muted),g.muted=!g.muted,p()};for(let d of c)d.addEventListener("click",m);return p(),{release:()=>{for(let d of c)d.removeEventListener("click",m);for(let[d,g]of l)d.muted=g;for(let d of u)d.restore()},render:p}}function Nx(e){let{el:t,ctx:r,index:n,controls:o,liveList:i,interval:s}=e,a=x(i);if(s===0)return a.set("aria-live","polite"),()=>a.restore();let c=o.pause,u=x(c),l=r.reducedMotion,p=!1,m=!1,f=null,d=()=>!l&&!p&&!m&&!r.doc.hidden,g=()=>{f!==null&&clearTimeout(f),f=null,a.set("aria-live",d()?"off":"polite"),u.set("aria-pressed",String(l)),u.set("aria-label",l?"Play slideshow":"Pause slideshow"),d()&&(f=setTimeout(()=>{n.next(),g()},s))},h=()=>{p=!0,g()},v=()=>{p=!1,g()},E=()=>{m=!0,g()},w=()=>{m=t.contains(r.doc.activeElement),g()},C=()=>{l=!l,g()};return t.addEventListener("pointerenter",h),t.addEventListener("pointerleave",v),t.addEventListener("focusin",E),t.addEventListener("focusout",w),r.doc.addEventListener("visibilitychange",g),c.addEventListener("click",C),g(),()=>{f!==null&&clearTimeout(f),t.removeEventListener("pointerenter",h),t.removeEventListener("pointerleave",v),t.removeEventListener("focusin",E),t.removeEventListener("focusout",w),r.doc.removeEventListener("visibilitychange",g),c.removeEventListener("click",C),u.restore(),a.restore()}}function _x(e,t,r){let n=e.ms("autoplay",0),o=n>0?Math.max(2e3,n):0;return n>0&&n<2e3&&t.warn("slideshow autoplay: minimum is 2s; clamped to 2s"),r==="none"&&o>0&&t.warn("slideshow autoplay needs a pause control; autoplay is disabled with authored or hidden controls"),r==="none"?0:o}function Dx(e,t){e.timing.durationMs!==void 0&&t.style.set("--kui-slideshow-duration",`${e.timing.durationMs}ms`),e.timing.easing!==void 0&&t.style.set("--kui-slideshow-ease",e.timing.easing)}function $x(e,t,r){return t.text("swipe","true")!=="true"?()=>{}:pe(e,{onSwipe:n=>{n==="left"&&r.next(),n==="right"&&r.prev()}},{axis:"x",capturePointer:"drag"})}function jx(e,t,r){let n=_(t.text("target")||":scope > :is(ul, ol) > li",r,"slideshow"),o=W(t,"self"),i=()=>n?$(e,r,n,o):[],s=i();if(s.length===0)return r.warn("slideshow target matched no slides"),I(()=>{});let a=s[0].parentElement;if(!a||a===e||!e.contains(a)||s.some(w=>w.parentElement!==a))return r.warn("slideshow slides must share one list inside the host"),I(()=>{});let u=["next","prev","jump"].some(w=>t.text(w)!=="")?"none":t.text("controls","auto"),l=_x(t,r,u),p=Mx(e,s,r,t.text("transition","fade")),m=Cx(e,s,u,l>0);Dx(t,r);let f=()=>{},d=Nr({el:e,params:t,ctx:r,resolveSteps:i,name:"slideshow",clickFallback:!1,onRender:w=>{Ix(s,p.slides,m,w),f()}}),g=Lx(m,d),h=$x(e,t,d),v=Ox({el:e,params:t,ctx:r,index:d,slides:s});f=v.render;let E=Nx({el:e,ctx:r,index:d,controls:m,liveList:p.liveList,interval:l});return I(()=>{E(),v.release(),h(),g(),d.release(),m.root?.remove(),p.slides.forEach(w=>w.restore()),p.list.restore(),p.host.restore()})}var bp=ee("slideshow",{channels:[D,A("data-kui-step"),A(vp),A("role"),A("aria-roledescription")],parameters:xx,perfClass:"layout"},R("slideshow",{honours:["duration","ease"],because:"the slideshow has no delayed start"},P(jx))),Ep=[{name:"carousel-fade",primitive:"slideshow",params:{transition:"fade"},requiresOwnSubtree:!0},{name:"carousel-slide",primitive:"slideshow",params:{transition:"slide"},requiresOwnSubtree:!0},{name:"video-hero-slideshow",primitive:"slideshow",params:{transition:"fade",autoplay:"7s",controls:"dots"},requiresOwnSubtree:!0}];var Sp="data-kui-story-side",Hx={target:{type:"text",default:"",cssProperty:"--kui-target"},sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"50vh",cssProperty:"--kui-offset-top"},side:{type:"keyword",default:"end",cssProperty:"--kui-side",keywords:["start","end"]}};function Pp(e){return e.localName==="video"?e:e.querySelector("video")}function Vx(e){return e.hasAttribute("autoplay")||e.hasAttribute("loop")}function kp(e){let t=e.play();t&&typeof t.catch=="function"&&t.catch(()=>{})}function Fx(e,t,r){e.forEach((n,o)=>{let i=Pp(n);if(i){if(o!==t||r){i.pause();return}Vx(i)&&kp(i)}})}function Gx(e){let t=new Map;for(let r of e){let n=Pp(r);n&&t.set(n,!n.paused)}return t}function Bx(e){for(let[t,r]of e)r?kp(t):t.pause()}function Wx(e,t,r){let n=t.IntersectionObserver;if(!n)return{observed:!1,stop:()=>{}};let o=new n(i=>{let s=i[i.length-1];s&&r(s.isIntersecting)},{threshold:0});return o.observe(e),{observed:!0,stop:()=>o.disconnect()}}function qx(e,t,r){let n=Gx(t),o=0,i=!1,s=!1,a=()=>Fx(t,o,r.reducedMotion||!i),c=Wx(e,r.win,u=>{u!==i&&(i=u,s&&a())});return c.observed||(i=!0),{show(u){o=u,s=!0,a()},restore(){c.stop(),Bx(n)}}}function Kx(e,t,r){let n=_(t.text("target")||":scope > :first-child > *",r,"scroll-story"),o=_(t.text("sections")||":scope > :last-child > *",r,"scroll-story sections"),i=n?$(e,r,n,"self"):[],s=o?$(e,r,o,"self"):[];return{media:i,sections:s}}function Ux(e,t,r){let{media:n,sections:o}=Kx(e,t,r);if(n.length===0)return r.warn("scroll-story target matched no media"),I(()=>{});if(o.length===0)return r.warn("scroll-story sections matched no elements"),I(()=>{});let i=x(e),s=j(e),a=t.text("side","end");i.set(Sp,a);let c=be(()=>[...n,...o],d=>r.warn(`scroll-story ${d}`)),u=qx(e,n,r),l=-1;function p(d){let g=d===-1?0:d;g!==l&&(l=g,i.set("data-kui-step",String(g)),s.set("--kui-step",String(g)),c.mark(g),u.show(g))}p(0);let m=t.text("offset-top","50vh"),f=Fr({el:e,sections:o,ctx:r,offsetTop:m,onChange:d=>p(d)});return I(()=>{f(),u.restore(),c.restore(),i.restore(),s.restore()})}var wp=ee("scroll-story",{channels:[D,A("data-kui-step"),A(Sp)],parameters:Hx,perfClass:"layout"},R("scroll-story",{because:"scroll position"},P(Ux))),xp=[{name:"scroll-story",primitive:"scroll-story",phase:"idle",requiresOwnSubtree:!0}];var zx={rate:{type:"number",default:"0.25",cssProperty:"--kui-slowmo-rate",finite:!0,minimum:.05,maximum:1},controls:{type:"keyword",default:"button",cssProperty:"--kui-slowmo-controls",keywords:["button","none"]}};function Tp(e,t=!1){let r=e.getAnimations;return typeof r=="function"?r.call(e,{subtree:t}):[]}function Yx(e,t){return e.timeline===t.timeline}function Xx(e,t,r){let n=e.playbackRate;Math.abs(Math.abs(n)-r)>1e-9||(e.playbackRate=Math.sign(n)*Math.abs(t))}function Jx(e){let t=new Map;return{slow(r,n){for(let o of r)Yx(o,e)&&(t.has(o)||t.set(o,o.playbackRate),o.playbackRate=Math.sign(o.playbackRate||1)*n)},restore(r){for(let[n,o]of t)Xx(n,o,r);t.clear()}}}function Zx(e,t,r){let n=e.effect;return!n||n.target!==t?!1:(n.pseudoElement??"")===r}function Qx(e){let t=e.target,r=e,n=e.type==="animationstart",o=n?"animationName":"transitionProperty",i=n?r.animationName:r.propertyName,s=r.pseudoElement??"";return Tp(t,!0).filter(a=>Zx(a,t,s)&&a[o]===i)}function eT(e,t){let r=x(e),n=t.num("rate",.25),o=t.text("controls","button"),i=o==="button"?e.ownerDocument.createElement("button"):null,s=o==="none",a=Jx(e.ownerDocument),c=()=>{s?r.set(Qe,String(n)):r.remove(Qe),i&&i.setAttribute("aria-pressed",String(s)),s?a.slow(Tp(e,!0),n):a.restore(n)},u=()=>{s=!s,c()},l=p=>{s&&a.slow(Qx(p),n)};return i&&(i.type="button",i.className="kui-slowmo-toggle",i.textContent=`Slow motion ${n}\xD7`,i.setAttribute("aria-pressed","false"),e.prepend(i),i.addEventListener("click",u)),e.addEventListener("animationstart",l,!0),e.addEventListener("transitionrun",l,!0),s&&c(),I(()=>{e.removeEventListener("animationstart",l,!0),e.removeEventListener("transitionrun",l,!0),i?.removeEventListener("click",u),a.restore(n),r.restore(),i?.remove()})}var Ap=ee("slow-mo",{channels:[D,A(Qe)],parameters:zx,perfClass:"compositor"},R("slow-mo",{because:"it changes playback rate rather than defining an animation timeline"},P(eT))),Cp=[{name:"slow-mo",primitive:"slow-mo"}];var tT=[Bl,sp,fp,yp,bp,wp,Ap],rT=[...Wl,...ap,...gp,...hp,...Ep,...xp,...Cp];function Rp(e){return pu(ip),Fl(e,tT,rT,"Showcase")}function Ue(){let e=new Ce;return co(e),Ju(e),Gu(e),al(e),Bu(e),_u(e),ll(e),xl(e),lu(e),Wu(e),Cu(e),Nl(e),jl(e),Rp(e),e}function Mp(e={}){return new Ge({registry:Ue(),...e})}var nT=Mp,Vo;function oT(e,t={}){return kt(t.registry??(Vo??=Ue()),e,t.notes)}function iT(e,t={}){return pr(t.registry??(Vo??=Ue()),e,t.notes)}function sT(e,t={}){return mr(t.registry??(Vo??=Ue()),e,t.notes)}return Dp(aT);})();
|
|
2
2
|
|
|
3
3
|
;(function () {
|
|
4
4
|
"use strict";var __kuineticBoot=(()=>{var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var O=(e,n)=>{for(var t in n)l(e,t,{get:n[t],enumerable:!0})},A=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of R(n))!y.call(e,o)&&o!==t&&l(e,o,{get:()=>n[o],enumerable:!(r=v(n,o))||r.enumerable});return e};var L=e=>A(l({},"__esModule",{value:!0}),e);var j={};O(j,{boot:()=>_});var m="__kuineticRuntime";function d(){return globalThis}function N(){let e=d(),n=e[m];if(n)return n;let t={v:1,animator:null,pending:[],booted:!1,started:!1,manual:!1,scheduled:!1,warnedVersion:!1,warnedManual:!1};return e[m]=t,t}function C(){let e=document.currentScript;return!!e&&e.hasAttribute("data-kui-manual")}function c(e){typeof console<"u"&&typeof console.warn=="function"&&console.warn(`kuinetic: ${e}`)}function M(e,n){e.v===1||e.warnedVersion||(e.warnedVersion=!0,c(`the "${n}" bundle expects runtime v1 but found v${e.v} on this page \u2014 the bundles are from different releases. Serve them all from the same version.`))}function k(e,n,t){if(!t)return;let r=d();if(!(t in r))return;let o=n,a=n.kuinetic,i={};for(let u of Object.getOwnPropertyNames(o))i[u]=o[u];let s=u=>S(e,a,n,u);i.kuinetic=s,o.default===a&&(i.default=s);try{r[t]=i}catch{}}function S(e,n,t,r){let o=!r||Object.entries(r).every(([i,s])=>i==="observe"&&s===!0);if(e.manual){let i=n.call(t,r);return B(e,i),i}if(!e.started){let i=n.call(t,r);return g(e,i),o&&f(e,"yours is now the one this page uses, exactly as it would have been before the script tag started one, so the call is safe to delete"),i}let a=e.animator;return a&&o?(f(e,"you have been handed the one it already made, so this call is safe to delete"),a):(f(e,"a second animator is now observing the same document, because this call arrived after the page was scanned and named its own root/registry/reporter"),n.call(t,r))}function f(e,n){e.warnedManual||(e.warnedManual=!0,c(`an animator was created by hand, and the script tag had already started one \u2014 ${n}. To turn the auto-start off entirely, put data-kui-manual on the <script> tag.`))}function g(e,n){let t=n.start.bind(n);n.start=()=>(e.started=!0,t()),e.animator=n,d().__kuinetic=n}function B(e,n){e.animator||g(e,n);let t={animator:n,started:!1},r=e.handBuilt??=[];r.push(t);let o=n.start.bind(n);if(n.start=()=>(t.started=!0,o()),typeof n.destroy=="function"){let a=n.destroy.bind(n);n.destroy=()=>{let i=r.indexOf(t);return i>=0&&r.splice(i,1),a()}}for(let a of e.pending)p(a,n)}function p(e,n){try{e.register(n)}catch(t){c(`the "${e.tier}" tier failed to register: ${String(t)}`)}}function E(e,n){e.pending.push(n);for(let{animator:t,started:r}of[...e.handBuilt??[]])p(n,t),r&&w(t)}function b(e,n){g(e,n.kuinetic({observe:!0}))}function T(e){if(document.readyState!=="loading"){h(e);return}e.scheduled||(e.scheduled=!0,document.addEventListener("DOMContentLoaded",()=>h(e),{once:!0}))}function w(e){for(let n of document.querySelectorAll("[data-kui]"))e.reset(n);e.scan()}function V(){let e=d().kuinetic;return e&&typeof e.kuinetic=="function"?e:null}function $(e){let n=e.pending.map(t=>`"${t.tier}"`).join(", ");n&&c(`the ${n} tier bundle loaded but core did not \u2014 add <script src=".../kuinetic.min.js"><\/script> to the page (in any order).`)}function x(e,n){let t=e.pending.splice(0,e.pending.length);for(let r of t)p(r,n);return t.length}function h(e){if(e.manual)return;if(!e.animator){let r=V();r&&b(e,r)}let n=e.animator;if(!n){$(e);return}let t=x(e,n);if(e.booted=!0,!e.started){n.start();return}t&&w(n)}function I(e,n){if(n.core){if(e.animator)return;b(e,n.core),k(e,n.core,n.globalName);return}n.register&&e.pending.push({tier:n.tier,register:n.register})}function _(e){if(typeof document>"u"||typeof globalThis>"u")return;let n=N();if(M(n,e.tier),C()){e.core&&(n.manual=!0,k(n,e.core,e.globalName));return}if(n.manual){e.register&&E(n,{tier:e.tier,register:e.register});return}I(n,e),T(n)}return L(j);})();
|