kuinetic 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- "use strict";var kuinetic=(()=>{var dr=Object.defineProperty;var _l=Object.getOwnPropertyDescriptor;var $l=Object.getOwnPropertyNames;var Dl=Object.prototype.hasOwnProperty;var jl=(e,t)=>{for(var r in t)dr(e,r,{get:t[r],enumerable:!0})},Hl=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $l(t))!Dl.call(e,i)&&i!==r&&dr(e,i,{get:()=>t[i],enumerable:!(n=_l(t,i))||n.enumerable});return e};var Gl=e=>Hl(dr({},"__esModule",{value:!0}),e);var nk={};jl(nk,{ATTR:()=>E,Animator:()=>ve,CHANNEL:()=>g,COMBOS:()=>Zt,KUI_EVENT:()=>G,PRESETS:()=>Jt,PRIMITIVES:()=>Xt,Registry:()=>le,collectingReporter:()=>Ts,consoleReporter:()=>ws,control:()=>bt,createActivationBinder:()=>et,createAnimator:()=>Rs,createRegistry:()=>mr,default:()=>rk,detect:()=>St,inertInstance:()=>ft,kuinetic:()=>Ol,play:()=>vt,resolveActivationSpec:()=>Z,resolveTargets:()=>Fe,silentReporter:()=>_t,toAttributeValue:()=>Cr});function _e(e,t){try{return t.documentElement.matches(e)||t.body?.matches(e)?"document-wide":"ok"}catch{return"invalid"}}function O(e,t,r){if(!e)return e;let n=_e(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 D={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 L(e,t,r,n){return[...(n==="page"?t.doc:e).querySelectorAll(r)]}function _n(){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 $n({el:e,from:t,reporter:r}){if(!t)return[e];let n=e.ownerDocument,i=_e(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 Vl(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 fr(e){return`${Math.round(e*1e3)/10}%`}function Dn(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=Vl(t);i===void 0||i>=r-1e-6||(e.thresholdWarned=!0,n.warn(`threshold:${fr(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 ${fr(i)} and never reaches ${fr(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 Hn(){let e=new WeakMap,t,r=Number.NEGATIVE_INFINITY,n=0,i=s=>{let a=s.target,c=jn(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=jn(window.document);s&&e.set(window.document,s)},release(){n===0||--n>0||o()},reset:o}}function jn(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 $e="/",gr={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"]}},Fl={load:["load"],manual:["manual"],enter:["enter"],leave:["enter"],hover:["hover"],unhover:["hover"],focus:["focus"],blur:["focus"],click:["click"]},Bl=["hover","focus","click"],Bn=["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"],Wl=/^[A-Za-z][A-Za-z0-9._:-]*$/,Gn=2;function yr(e){return Object.hasOwn(gr,e)}function Vn(e){return yr(e)?gr[e]:{kind:"events",types:[e]}}function Z(e){let t=String(e).split($e),[r="",n]=t;return{source:e,names:t,start:Vn(r),...n===void 0?{}:{end:Vn(n)}}}function hr(e){let t=e.split($e);if(t.length>2)return[`activation "${e}" has more than one "${$e}" \u2014 expected "start${$e}end"`];if(t.filter(i=>!Wl.test(i)).length>0)return[`activation "${e}" is not an event name or a "start${$e}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 vr(e){return Z(e).start.kind}function De(e){return e.end===void 0&&e.start.kind==="observed"}function ql(e){return yr(e)?Fl[e]:Bl}function Ul(e){return/[-:.]/.test(e)?!0:Bn.includes(e)}function Kl(e){let t,r=Gn+1;for(let n of[...Object.keys(gr),...Bn]){let i=zl(e,n);i>=r||(r=i,t=n)}return r<=Gn&&r*2<e.length?t:void 0}function zl(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 Fn=()=>{},Yl=1e-6;function Wn(e,t){return e.isIntersecting?t<=0?!0:e.intersectionRatio>=t-Yl:!1}function Xl(e,t,r,n){if(Dn(e,t,r),e.onCross)return Jl(e,t,r,n);let i=Wn(t,r);if(i===e.entered)return;e.entered=i;let o=i?e.onEnter:e.onLeave;o&&(o(),e.oneShot&&e.release())}function Jl(e,t,r,n){let i=eu(t);if(!Wn(t,r))return Zl(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 Zl(e,t,r){if(t&&(e.outside=t),!e.entered)return;e.entered=!1;let n=t??Ql(r);e.onCross?.(n==="after"?"leave-back":"leave")}function Ql(e){if(e)return e==="after"?"before":"after"}function eu(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 et(e={}){let t=new Map,r=new WeakMap,n=_n(),i=e.createObserver??iu(),o=Hn(),s=e.reporter;function a(u){if(!i)return;let l=nu(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 S=r.get(v.target);S&&Xl(S,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(),Fn;let{key:f,shared:d}=m,y=!!l.onCross;y&&o.retain();let v=!0,S=()=>{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:S,entered:!1,reporter:s,sawIntersecting:!1,thresholdWarned:!1}),d.count++,d.observer.observe(u),S}return{bind(u,l,p){let m=Z(l),f=tu(m,p),d=[],y,v=ru(f);if(v){let S=m.start.kind==="observed",P=p.cross;d.push(c(u,{...v,...P?{onCross:P}:{},oneShot:P?!1:De(m),failOpen:S},p))}for(let S of f){let{trigger:P}=S;P.kind==="events"?(y??=$n({el:u,from:p.from,reporter:s}),d.push(n.bind({sources:y,types:P.types,run:S.run}))):P.kind==="immediate"&&S.run()}return d.length===0?Fn:()=>{for(let S of d)S()}},destroy(){for(let{observer:u}of t.values())u.disconnect();t.clear(),n.destroy(),o.reset()}}}function tu(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 ru(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 nu(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 iu(){if(!(typeof IntersectionObserver>"u"))return(e,t)=>new IntersectionObserver(e,t)}function qn(e){ou(e),su(e)}function ou({el:e,spec:t,supported:r,reporter:n}){if(r.length!==0)for(let i of t.names)ql(i).some(o=>r.includes(o))||n.warn(`activation "${i}" is not supported by this effect (supports: ${r.join(", ")})`,e)}function su({el:e,spec:t,reporter:r}){if("onclick"in e)for(let n of t.names){if(yr(n)||Ul(n)||`on${n}`in e)continue;let i=Kl(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 E={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 br={sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},rt=Object.keys(br),Un=[["above","below"],["wide","narrow"]];function Kn(e){return Un.find(t=>t.includes(e))}function zn(e){return Object.hasOwn(br,e)}function je(e){return rt.indexOf(e)}function tt(e,t){return`--kui-${e}-${t}`}function Yn(e){return`(min-width: ${br[e]})`}function Xn(e,t){if(!t)return e;let r=e;return t.narrow&&(r=`var(${tt("narrow",t.narrow)}, ${r})`),t.wide&&(r=`var(${tt("wide",t.wide)}, ${r})`),t.below&&(r=`var(${tt("below",t.below)}, ${r})`),t.above&&(r=`var(${tt("above",t.above)}, ${r})`),r}function nt(e,t){if(!e||typeof t?.matchMedia!="function")return!0;let r=n=>t.matchMedia(Yn(n)).matches;return!(e.above&&!r(e.above)||e.below&&r(e.below))}function Jn(e,t){if(!e||!t)return!0;let r=(i,[o,s])=>[i[o]?je(i[o]):-1,i[s]?je(i[s]):rt.length],n=i=>{let[o,s]=r(e,i),[a,c]=r(t,i);return o<c&&a<s};return Un.every(n)}function Zn(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 Qn(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(Yn(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 X={stiffness:180,damping:24,mass:1,restVelocity:.05,restDisplacement:.05},au=1/240,cu=.25;function Er(e,t,r,n){let{value:i,velocity:o}=e,s=Math.min(Math.max(n,0),cu);for(;s>0;){let a=Math.min(au,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 Sr(e,t,r){return Math.abs(e.velocity)<r.restVelocity&&Math.abs(e.value-t)<r.restDisplacement}var ei=1e4;function se(e,t,r){let n=lu(e)?e:X;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=Er(i,o,n,d),!uu(i)||!Number.isFinite(o)){m("spring produced non-finite state");return}if(f-c>=ei){m(`spring exceeded ${ei}ms settle budget`);return}if(Sr(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 lu(e){return Object.values(e).every(Number.isFinite)&&e.stiffness>0&&e.damping>0&&e.mass>0&&e.restVelocity>0&&e.restDisplacement>0}function uu(e){return Number.isFinite(e.value)&&Number.isFinite(e.velocity)}function it(){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 oi=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),si="spring(",wr=2/3,ai=180,ci=1,pu=2*wr*Math.sqrt(ai*ci),st=.15,Pr=4,ot=1-st,kr=["stiffness","damping","mass"],ti=["bounce",...kr],li=1/240,mu=4e4,du=.001,fu=.001,ri=16,gu=64,yu=10,at=1e3;function Tr(e){return e.startsWith(si)&&e.endsWith(")")}function ae(e){return oi.has(e)?e:Tr(e)?di(ui(e)):e.includes("(")?e:`var(--kui-ease-${e}, ease-out)`}var ni="ease-out";function ct(e,t,r){if(!e)return;if(oi.has(e))return e;if(Tr(e))return di(ui(e));if(e.includes("("))return e;let n=hu(e,t);return n||(r(`easing "${e}" has no --kui-ease-${e} definition \u2014 using ${ni}`),ni)}function hu(e,t){let r=t.ownerDocument.defaultView;return r?r.getComputedStyle(t).getPropertyValue(`--kui-ease-${e}`).trim():""}function lt(e){if(!Tr(e))return[];let{values:t,problems:r}=pi(e);return mi(t,r),r}function ui(e){let{values:t,problems:r}=pi(e);return mi(t,r)}function pi(e){let t=new Map,r=[],n=e.slice(si.length,-1).trim();if(n)for(let i of n.split(/\s+/))vu(i,t,r);return{values:t,problems:r}}function vu(e,t,r){let n=e.indexOf(":"),i=n<0?e:e.slice(0,n),o=n<0?"":e.slice(n+1);if(!ti.includes(i)){r.push(`unknown spring parameter "${e}" \u2014 expected ${ti.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 mi(e,t){let r=e.get("bounce"),n=kr.some(a=>e.has(a));if(r!==void 0)return n&&t.push(`spring "bounce" and "${kr.join('"/"')}" describe the same curve two ways \u2014 "bounce" wins`),1-bu(r,t);if(!n)return wr;let i=e.get("stiffness")??ai,o=e.get("mass")??ci,s=e.get("damping")??pu;return Eu(s/(2*Math.sqrt(i*o)),t)}function bu(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 Eu(e,t){if(!Number.isFinite(e))return t.push("spring constants do not describe a spring \u2014 using the default curve"),wr;if(e>=st&&e<=Pr)return e;let r=Math.min(Math.max(e,st),Pr);return t.push(`spring damping ratio ${xr(e)} is outside ${st}\u2013${Pr} \u2014 clamped to ${xr(r)} so the curve settles`),r}var ii=new Map;function di(e){let t=Math.round(e*at),r=ii.get(t);if(r!==void 0)return r;let n=Su(t/at);return ii.set(t,n),n}function Su(e){let t=Pu(e),r=ku(e,(t.length-1)*li),n=[];for(let i=0;i<=r;i++)n.push(String(xr(xu(t,i/r))));return n[0]="0",n[r]="1",`linear(${n.join(", ")})`}function Pu(e){let t={stiffness:1,damping:2*e,mass:1,restVelocity:fu,restDisplacement:du},r=[0],n={value:0,velocity:0};for(let i=0;i<mu&&(n=Er(n,1,t,li),r.push(n.value),!Sr(n,1,t));i++);return r}function ku(e,t){if(e>=1)return ri;let r=2*Math.PI/Math.sqrt(1-e*e),n=ri+Math.round(yu*t/r);return Math.min(n,gu)}function xu(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 xr(e){return Math.round(e*at)/at}var He="infinite",wu=/^(?:\d+(?:\.\d+)?|\.\d+)$/,Tu=new Set(["view","scroll","pin"]),Au=new Set(["repeat","yoyo"]);function fi(e){return Au.has(e)}function gi(e,t,r,n){e[t]!==void 0&&n.warn(`duplicate parameter "${t}" in "${n.segment}"`),t==="yoyo"?Ru(e,r,n):Cu(e,r,n)}function Cu(e,t,r){if(t===He){e.repeat=He;return}if(!wu.test(t)){r.warn(Mu(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 Ru(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 Mu(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 yi(e){let t=[];if(e.repeat===void 0&&e.yoyo===void 0)return{warnings:t};if(e.renderer!=="css-keyframes")return{warnings:[Lu(e)]};if(e.repeat===He&&Tu.has(e.timeline))return t.push(Ou(e.name,e.timeline)),{yoyo:e.yoyo,warnings:t};let r=Iu(e);return r&&t.push(r),{repeat:e.repeat,yoyo:e.yoyo,warnings:t}}function Iu(e){if(!e.cloak||e.yoyo!==!0)return null;let t=ut(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 Lu(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 Ou(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 ut(e){if(!(e===void 0||e===He))return Number(e)}function hi(e){return e===He}function vi(e){return e?"alternate":"normal"}function pt(e,t){let r=ut(t);return r===void 0||r===1?e:`${e} * ${r}`}var mt=["enter","leave","enter-back","leave-back"],bi=new Set(["play","pause","resume","reverse","reset","restart","complete","none"]),Si=new Set(["pause","resume","reset","restart","complete"]),Ei="/";function dt(e,t=[]){let r=e.split(Ei);r.length>mt.length&&t.push(`"actions:${e}" has ${String(r.length)} verbs \u2014 there are four crossings (${mt.join(Ei)}), so the extras are ignored`);let n={enter:"none",leave:"none","enter-back":"none","leave-back":"none"};for(let[i,o]of mt.entries()){let s=r[i]?.trim();s===void 0||s===""||(n[o]=Nu(s,o,t))}return n}function Nu(e,t,r){return bi.has(e)?e:(r.push(`unrecognised action "${e}" for the "${t}" crossing \u2014 expected ${[...bi].join(", ")}`),"none")}function Pi(e){let t=[];return dt(e,t),t}function _u(e){for(let t of mt)if(Si.has(e[t]))return e[t]}function ki(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=_u(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 xi(e,t){e==="play"?t.activate():e==="reverse"?t.reverse():Si.has(e)&&$u(e,t)}function $u(e,t){if(!t.started){Du(e)&&t.activate();return}(e==="restart"||e==="complete")&&t.activate();for(let r of t.controls)ju(e,r)}function Du(e){return e==="resume"||e==="restart"||e==="complete"}function ju(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 ft(e=()=>{}){return{activate(){},cancel(){},finish(){},finished:Promise.resolve(),destroy:e}}var fe=["activation","actions","timeline","threshold","cascade","spread","order","cols","along"];var Hu=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/,Gu=["cubic-bezier(","steps(","linear(","spring("],Vu=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 ce(e,t,r=[]){let n=[],i={depth:0,quote:null,escaped:!1},o="";for(let s of e){if(Fu(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 Fu(e,t,r){return r.quote?Bu(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 Bu(e,t){return t.escaped?t.escaped=!1:e==="\\"?t.escaped=!0:e===t.quote&&(t.quote=null),!1}function Ge(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=Wu(e.slice(r+1).trim());return i&&o?[i,o]:null}}return null}function Wu(e){let t=e[0];return(t==='"'||t==="'")&&e.endsWith(t)&&e.length>1?e.slice(1,-1).replaceAll(`\\${t}`,t):e}function Ai(e){let t=[],r=ce(e??""," ",t),[n,...i]=r;if(!n)return{warnings:t};t.push(...hr(n));let o;for(let s of i){let a=Ge(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 qu(e){let t=Ge(e);return t?{kind:"pair",key:t[0],value:t[1]}:Hu.test(e)?{kind:"time",value:e}:Uu(e)?{kind:"easing",value:e}:{kind:"unknown",value:e}}function Uu(e){return Vu.has(e)?!0:Gu.some(t=>e.startsWith(t)&&e.endsWith(")"))}function ke(e){let t={specs:[],warnings:[]};for(let r of ce(e??"",",",t.warnings)){let n=Ku(r,t);n&&t.specs.push(n)}return t}function Ku(e,t){let r=ce(e," ",t.warnings),n=r.shift();if(Ge(n))return Zu(n,r,t)||t.warnings.push(`effect name expected, got "${n}"`),null;let i={name:n,params:{}},o=0,s=Yu(r)?{specs:[],warnings:[]}:null;for(let a of r){let c=qu(a);c.kind==="time"?o=ep(i,c.value,o,t.warnings):tp(c,i,{segment:e,result:t,sink:s})}return zu(i,s,t),i}function zu(e,t,r){if(!t)return;r.warnings.push(...t.warnings);let n=Xu(t);n&&(e.hoists=n)}function Yu(e){return e.some(t=>Ge(t)?.[0]==="target")}function Xu(e){let t={},r=!1;for(let n of fe){let i=e[n];i!==void 0&&(t[n]=i,r=!0)}return r?t:void 0}var Ju=new Set(["on","actions","timeline","threshold","cascade","spread","order","cols","along"]);function Zu(e,t,r){let n=[];for(let i of[e,...t]){let o=Ge(i);if(!o||!Qu.has(o[0])||!Object.hasOwn(gt,o[0]))return!1;n.push(o)}for(let[i,o]of n)gt[i](r,o);return!0}var Qu=new Set(["cascade","spread","order","cols","along"]);function ep(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 tp(e,t,r){let{segment:n,result:i,sink:o}=r;if(e.kind==="easing"){rp(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(!np(e.key,e.value,t,r)){if(Object.hasOwn(gt,e.key)){let s=o&&Ju.has(e.key)?o:i;gt[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 rp(e,t,r,n){t.easing&&n.warnings.push(`duplicate easing "${e}" in "${r}"`);for(let i of lt(e))n.warnings.push(`${i} in "${r}"`);t.easing=e}function np(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):op(e)?(sp(r,e,t,n),!0):fi(e)?(gi(r,e,t,{segment:i,warn:s=>o.warnings.push(s)}),!0):!1}var ip=new Set(["above","below","wide","narrow"]);function op(e){return ip.has(e)}function sp(e,t,r,n){let{segment:i,result:o}=n;if(!zn(r)){o.warnings.push(`unknown breakpoint "${r}" in "${i}" \u2014 expected one of ${rt.join(", ")}`);return}let s=e.gate??={};s[t]!==void 0&&o.warnings.push(`duplicate parameter "${t}" in "${i}"`),s[t]=r,ap(s,Kn(t),i,o)}function ap(e,t,r,n){let[i,o]=t,s=e[i],a=e[o];!s||!a||je(s)<je(a)||n.warnings.push(`"${i}:${s} ${o}:${a}" in "${r}" can never match \u2014 "${i}" must name a smaller breakpoint than "${o}"`)}var wi=new Set(["shorten","crossfade","disable"]),gt={on(e,t){let r=hr(t);if(r.length>0){e.warnings.push(...r);return}W(e,"activation",t,"activations")},timeline(e,t){W(e,"timeline",t,"timelines")},actions(e,t){let r=Pi(t);if(r.length>0){e.warnings.push(...r);return}W(e,"actions",t,"crossing actions")},threshold(e,t){W(e,"threshold",t,"thresholds")},cascade(e,t){Ti(e,"spread","cascade",t),W(e,"cascade",t,"stagger steps")},spread(e,t){Ti(e,"cascade","spread",t),W(e,"spread",t,"stagger budgets")},order(e,t){W(e,"order",t,"stagger orders")},cols(e,t){W(e,"cols",t,"stagger column counts")},along(e,t){W(e,"along",t,"stagger axes")},rm(e,t){if(!wi.has(t)){e.warnings.push(`unrecognised "rm:${t}" \u2014 expected ${[...wi].join(", ")}`);return}W(e,"rm",t,"reduced-motion policies")},func(e,t){W(e,"func",t,"callbacks")}};function Ti(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 W(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 le=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,lp(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(Ci(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(Ci(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)}},cp=["duration","delay","ease"];function ue(e,t){return`--kui-${e}-${t}`}function lp(e){let t={...e.parameters};for(let r of cp){let n=t[r];n&&(t[r]={...n,cssProperty:ue(e.id,r)})}return{...e,parameters:t}}function Ci(e){return[...e].sort((t,r)=>t.localeCompare(r)).join("+")}function yt(e,t){let r,n=1/0;for(let i of t){let o=up(e,i);o<n&&(n=o,r=i)}return n<=Math.max(2,Math.floor(e.length/3))?r:void 0}function up(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 Ri=["activation","timeline","threshold","rm","func"],pp={activation:"on",timeline:"timeline",threshold:"threshold",rm:"rm",func:"func"},ht=class{constructor(t){this.registry=t}bundles=new Map;collect(t,r){let n=0;for(let i of gp(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 Ri)Mi(i,r.hoists,o);return i}define(t,r){let n=t.getAttribute(E.define).trim(),i=t.getAttribute(E.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,mp(n,i,t,r)),!0)}nameProblem(t){if(!t)return`${E.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 ${E.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(fp(r,o.name));continue}dp(s,o.name,n);let a=this.expandList(s.specs,[...r,o.name],n);vp(o,a,n.warnings);for(let c of a)i.push(yp(c,o))}return i}noteNearMiss(t,r){if(this.registry.has(t))return;let n=yt(t,[...this.bundles.keys()]);n&&r.push(`"${t}" is not a registered effect \u2014 did you mean the bundle "${n}"?`)}};function mp(e,t,r,n){let i=ke(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 dp(e,t,r){for(let n of Ri){if(Mi(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 fp(e,t){let r=[...e,t].join(" \u2192 ");return`bundle "${t}" is defined in terms of itself (${r}) \u2014 the reference is dropped`}function gp(e){let t=`[${E.define}]`,r=[...e.querySelectorAll(t)],n=e.nodeType===1?e:null;return n?.matches(t)&&r.unshift(n),r}function Mi(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 yp(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:hp(e.hoists,t.hoists)}}function hp(e,t){if(!e&&!t)return;let r={...e};for(let n of fe){let i=t?.[n];i!==void 0&&(r[n]=i)}return r}function vp(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 Fe(e,t){return typeof e=="string"?[...t.querySelectorAll(e)]:e instanceof Element?[e]:[...e]}function Ar(e){if(e!==void 0)return typeof e=="number"?`${e}ms`:e}var bp=/[\s,()"']/;function Ep(e){return bp.test(e)?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:e}function Sp(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 Ve(e,t){let r=[],n=ce(t," ",r),i=ce(t,",",r),o=n.length===1&&n[0]===t;if(!(r.length===0&&o&&i.length===1&&!Sp(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 Cr(e,t={}){Ve("effect",e);let{duration:r,delay:n,ease:i,...o}=t;delete o.stagger;let s=[e],a=Ar(n),c=Ar(r);c&&(Ve("duration",c),s.push(c)),a&&(Ve("delay",a),s.push(c?a:`delay:${a}`)),i&&(Ve("easing",i),s.push(i));for(let[u,l]of Object.entries(o))l!==void 0&&(Ve("parameter name",u),s.push(`${u}:${Ep(String(l))}`));return s.join(" ")}function vt(e,t={}){let{animator:r,root:n,target:i,effect:o}=e,s=Fe(i,n),a=Ar(t.stagger),c=Cr(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(E.on)||m.setAttribute(E.on,"manual"),m.setAttribute(E.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 Rr=0;function Ii(e){return Math.min(1,Math.max(0,e))}function Ni(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function _i(e){return Ni(e.effect?.getComputedTiming?.().endTime)}function Li(e){let t=Rr;for(let r of e)t=Math.max(t,_i(r));return t}function $i(e){return e.length===0?"idle":e.includes("running")?"running":e.includes("paused")?"paused":e.every(t=>t==="finished")?"finished":"idle"}function Oi(e){try{e()}catch{}}function Di(e,t){return{pause(){t.set("animation-play-state","paused")},resume(){t.set("animation-play-state","running")},reverse(){for(let r of e())Oi(()=>r.reverse());t.set("animation-play-state","running")},seek(r){let n=e(),i=Li(n);if(i===Rr)return;let o=Ii(r)*i;for(let s of n)Oi(()=>{s.currentTime=Math.min(o,_i(s))})},rate(r){for(let n of e())n.playbackRate=r},get progress(){let r=e(),n=Li(r);if(n===Rr)return 0;let i=0;for(let o of r)i=Math.max(i,Ni(o.currentTime));return Ii(i/n)},get playState(){return $i(e().map(r=>r.playState))}}}function Pp(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 kp(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 bt(e){let{animator:t,root:r,target:n}=e,i=Fe(n,r),o=kp(t,i),s=o.map(p=>Pp(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 $i(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 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 Hi(e){let{el:t,name:r,reporter:n,signal:i}=e,o=s=>{if(s.target!==t)return;let a=xp(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 xp(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 ge(e,t){if(typeof CSS>"u"||typeof CSS.supports!="function")return!1;try{return CSS.supports(e,t)}catch{return!1}}var Et;function St(e=!1){return Et&&!e||(Et={viewTimeline:ge("animation-timeline","view()"),scrollTimeline:ge("animation-timeline","scroll()"),animationRange:ge("animation-range","entry 0% cover 30%"),individualTransforms:ge("translate","0 10px")&&ge("scale","1.1"),scrollTimelineName:ge("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:ge("offset-path",'path("M 0 0")')}),Et}var wp=[{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 Gi(e,t){return wp.filter(r=>e.includes(r.channel)&&!t[r.capability]).map(r=>r.message)}var Tp=new Set(["entrance|state","exit|state"]);function Ap(e,t){return e<t?`${e}|${t}`:`${t}|${e}`}function Cp(e,t){return!e.phase||!t.phase?!1:Tp.has(Ap(e.phase,t.phase))}var Rp={translate:"add"};function Vi(e){return e.length>0&&e.every(t=>Rp[t]==="add")}function Fi(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 Bi(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=>Jn(a.gate,n.gate)&&!Cp(a,n));s&&t.push({channel:i,effects:[s.name,n.name]}),o.push(n),r.set(i,o)}return t}function Wi(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 qi(e){return e.map(t=>`"${t.effects[0]}" and "${t.effects[1]}" both animate ${t.channel}`).join("; ")}var Ui=/[;<]|\/\*|url\s*\(|expression\s*\(|@import|image-set\s*\(/i,Mp=/^(?:[a-z][a-z0-9+.-]*:|[/\\]{2})/i,Mr=200,Ip=2e3,Lp=/^[MmZzLlHhVvCcSsQqTtAa0-9eE.,+\-\s]+$/,xe=String.raw`-?(?:\d+(?:\.\d+)?|\.\d+)`,Op="px|rem|em|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc|q|%",Ki={length:new RegExp(`^(?:0|${xe}(?:${Op}))$`,"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")},Np=new RegExp(`^(${xe})d?$`,"i");function _p(e){let t=Np.exec(e);return t?`${t[1]}deg`:e}var $p=/^([+-]?)(\d+(?:\.\d+)?|\.\d+)(?:e([+-]?\d+))?$/i,Dp=/^#[0-9a-f]{3,8}$/i,jp=/^(?:rgba?|hsla?|okl(?:ch|ab)|l(?:ch|ab)|color)\([^()]*\)$/i,Hp=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"]),Gp=/^(?:linear|ease|step-start|step-end|spring|bounce|[a-z]+-(?:in|out|in-out))$/i,Vp=/^(?:cubic-bezier|steps|linear|spring)\([^()]*\)$/i,Fp={"number|percentage":["number","percentage"],"length|percentage":["length","percentage"],"angle|keyword":["angle"]};function Bp(e){return Fp[e]??[e]}var Wp=new Set(["length","percentage","number"]),qp=new Set(["number","number|percentage"]),Up=/^[\d.\s+\-*/%a-z,]$/i,Kp=/^--[\w-]+$/;function we(e,t){let r=e.trim(),n=Qp(r,t);if(n)return n;let i=zp(r,t);if(i)return i;if(t.type==="text")return{value:r,ok:!0};if(t.type==="path")return Zp(r,t);let o=Yp(r,t.type);return em(o,t.type)?nm(o,t):J(t,`not a valid ${tm(t)}`)}function zp(e,t){return t.type!=="keyword"&&t.type!=="angle|keyword"?null:t.keywords?.includes(e)?{value:e,ok:!0}:t.type!=="keyword"?null:J(t,`expected one of ${t.keywords?.join(", ")||"(none declared)"}`)}function Yp(e,t){return t==="angle"||t==="angle|keyword"?_p(e):t==="number|percentage"?Xp(e):e}function Xp(e){return Ki.percentage.test(e)?Pt(e.slice(0,-1),-2)??e:e}function Pt(e,t=0){let r=$p.exec(e);if(!r||e.length>Mr)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=Jp(u,l);return`${n==="-"?"-":""}${p}${m}`}function Jp(e,t){let r=e.length;for(;r>t&&e[r-1]==="0";)r--;return r>t?"."+e.slice(t,r):""}function zi(e){return e.length<=Mr&&!Ui.test(e)}function Zp(e,t){return Lp.test(e)?/^[Mm]/.test(e)?{value:`"${e}"`,ok:!0}:J(t,"path data must start with a moveto (M or m)"):J(t,"path data contains an unsupported character")}function Qp(e,t){if(!e)return J(t,"empty value");let r=t.type==="path"?Ip:Mr;return e.length>r?J(t,`value exceeds ${r} characters`):Ui.test(e)?J(t,"value contains disallowed CSS syntax"):null}function em(e,t){if(t==="color")return rm(e);if(t==="easing")return Gp.test(e)||Vp.test(e);let r=Bp(t);return r.some(n=>Ki[n]?.test(e))?!0:r.some(n=>Wp.has(n))?im(e)&&am(e):!1}function tm(e){return e.type==="angle|keyword"?`angle or one of ${e.keywords?.join(", ")||"(none declared)"}`:e.type.replace("|"," or ")}function rm(e){return Dp.test(e)||jp.test(e)||Hp.has(e.toLowerCase())}function Yi(e){return!Mp.test(e)}function nm(e,t){if(!qp.has(t.type))return{value:e,ok:!0};let r=Number(e);return t.finite&&!Number.isFinite(r)?J(t,"expected a finite number"):t.integer&&!Number.isInteger(r)?J(t,"expected an integer"):t.minimum!==void 0&&r<t.minimum?J(t,`expected at least ${t.minimum}`):t.maximum!==void 0&&r>t.maximum?J(t,`expected at most ${t.maximum}`):{value:e,ok:!0}}function J(e,t){return{value:e.default,ok:!1,reason:t}}function im(e){if(!e.startsWith("calc(")||!e.endsWith(")"))return!1;let t=e.length-1,r=5;for(;r<t;)if(r=om(e,r,t),r<0)return!1;return!0}function om(e,t,r){return e.startsWith("var(",t)?sm(e,t,r):Up.test(e[t])?t+1:-1}function sm(e,t,r){let n=e.indexOf(")",t+4);if(n<0||n>=r)return-1;let i=e.slice(t+4,n);return Kp.test(i)?n+1:-1}function am(e){let t=e.slice(5,-1).trim();return t!==""&&!/[+\-*/]$/.test(t)}function Xi(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=we(o,s);if(!a.ok){r(`parameter "${i}": ${a.reason} \u2014 got "${o}", using default "${s.default}"`);continue}n[s.cssProperty]=cm(a.value,s,i,r)}return n}function cm(e,t,r,n){if(t.type!=="easing")return e;for(let i of lt(e))n(`parameter "${r}": ${i}`);return ae(e)}var Zi={viewportWidth:0,viewportHeight:0,percentBasis:0,fontSize:16,rootFontSize:16},lm={px:1,cm:96/2.54,mm:96/25.4,q:96/101.6,in:96,pt:96/72,pc:16},um={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},Ir=/^(-?(?:\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=we(o,s);n[i]=a.value,a.ok||r(`parameter "${i}": ${a.reason} \u2014 got "${o}", using default "${s.default}"`)}return n}function Be(e,t=0){let r=Ir.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 ee(e,t,r=0){let n=Ir.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=lm[o];if(s!==void 0)return i*s;let a=um[o];return a?i*a(t):r}function mm(e,t=0){let r=Ir.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),i=r[2];return i===""?n:i==="%"?n/100:t}var dm={type:"easing",default:"",cssProperty:"--kui-ease"};function Ji(e,t,r){if(e===void 0)return;let n=Be(e,Number.NaN);if(Number.isFinite(n))return n;r(`${t} "${e}" is not a valid time \u2014 ignored`)}function fm(e,t){if(e===void 0)return;let r=we(e,dm);if(r.ok)return r.value;t(`easing "${e}": ${r.reason} \u2014 ignored`)}function Qi(e,t){return{durationMs:Ji(e.duration,"duration",t),delayMs:Ji(e.delay,"delay",t),easing:fm(e.easing,t)}}function Q(e,t){return e.timing.durationMs??e.ms("duration",t)}function gm(e,t={}){return{text:(r,n="")=>e[r]??n,ms:(r,n=0)=>Be(e[r]??"",n),num:(r,n=0)=>mm(e[r]??"",n),is:(r,n="true")=>(e[r]??"")===n,timing:t}}function eo(e,t,r,n={}){return gm(pm(e,t,r),n)}var ym="600ms",ro="0ms";function kt(e,t){return e??`var(${ue(t,"duration")}, ${ym})`}function hm(e,t){return e??`var(${ue(t,"delay")}, ${ro})`}var vm=/^(with|after)/i,bm=/^([+-])(\d+(?:\.\d+)?|\.\d+)(ms|s)$/i,Em=/^(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/i,Sm=new Set(["view","scroll"]);function Pm(e){let t=e.trim(),r=vm.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:to(t)};let o=bm.exec(i);if(!o)return{ok:!1,reason:to(t)};let[,s,a,c]=o,u=`${a}${c}`,l=Be(u,0);return{ok:!0,position:{anchor:n,offsetMs:s==="-"?-l:l,term:` ${s} ${u}`}}}function to(e){return Em.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 no(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(io(s));continue}!i&&Sm.has(t)&&(i=!0,r(Cm(t))),n.steps.push(km(n,o))}return n.steps}function io(e){return{delayExpr:hm(e.delay,e.primitiveId),delayMs:Lr(e.delay??e.cascadeDelay??ro)??0,sequenced:!1}}function km(e,t){let r=e.members[t],n=io(r),i=Pm(r.at);if(!i.ok)return e.warn(`"${r.name}": ${i.reason}`),n;let o=xm(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`),wm(e,t,i.position,n))}function xm(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 wm(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(hi(i.repeat))return Am(e,t,n);let s=Lr(i.duration??i.cascadeDuration??"");if(s===void 0)return Tm(e,t,n);let a=pt(kt(i.duration,i.primitiveId),i.repeat);return{delayExpr:`${o.delayExpr} + ${a}${r.term}`,delayMs:o.delayMs+s*(ut(i.repeat)??1)+r.offsetMs,sequenced:!0}}function Tm(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 Am(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 Cm(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 Lr(e){let t=Be(e,Number.NaN);return Number.isFinite(t)?t:void 0}function oo(e){return Lr(e)!==void 0}function so(){return{names:[],keyframes:[],durations:[],delays:[],ends:[],easings:[],iterationCounts:[],directions:[],compositions:[]}}function Rm(e){let{preset:t}=e.resolved;return e.variant?.keyframes??[t.keyframes??`kui-${t.name}`]}function Mm(e){return`--kui-fx-${e}-iterations`}function ao(e,t,r){let{spec:n,resolved:i}=t,o=i.primitive.id,s=kt(n.duration,o),a=Im(r.delayExpr),c=`${r.delayExpr} + ${pt(s,n.repeat)}`,u=po(n.easing,o),l=n.repeat??`var(${Mm(i.preset.name)}, 1)`,p=vi(n.yoyo),m=t.composite??"replace";for(let f of Rm(t))e.names.push(Xn(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 co(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??kt(i.duration,a.id),p=c.easing??po(i.easing,a.id),m=`var(--kui-tx-delay-${s.name}, 0ms)`;e.push(`${c.property} ${l} ${p} ${m}`)}}function lo(e,t){if(e.names.length===0)return{};let r=t==="pin"?Lm(e):e.delays.map(uo),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 Im(e){return`${e} + var(--kui-i, 0) * var(--kui-stagger, 0ms)`}function uo(e){return`calc(${e})`}function Lm(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=>uo(`${i} - var(--kui-progress, 0) * (${n})`))}function po(e,t){return e?ae(e):`var(${ue(t,"ease")}, ease-out)`}var Or=new Set(["time","view","scroll","pointer","pin"]);function mo(e){return{source:e.getAttribute(E.source)??"",on:e.getAttribute(E.on),timeline:e.getAttribute(E.timeline),threshold:e.getAttribute(E.threshold)}}function fo(e,t){let r=t.timeline??e.timeline??"time",[n="time",...i]=r.trim().split(/\s+/),o=Ai(e.on),s=t.activation??o.activation;return{activation:s??"enter",activationAuthored:s!==void 0,...Om({parsed:t,longhand:o}),...t.actions===void 0?{}:{actions:dt(t.actions)},timeline:Or.has(n)?n:"time",range:i.join(" "),threshold:t.threshold??e.threshold??"0%"}}function go(e,t){if(e===void 0)return t;let[r]=e.trim().split(/\s+/);return Or.has(r)?r:t}function yo(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=dt(t.actions)),t.timeline!==void 0){let[i="time",...o]=t.timeline.trim().split(/\s+/);n.timeline=Or.has(i)?i:e.timeline,n.range=o.join(" ")}return t.threshold!==void 0&&(n.threshold=t.threshold),n}function Om({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 ho(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 vo(e){let t="shorten";for(let{plan:r}of e)t=_r(t,r.reducedMotion);for(let{plan:r}of e)r.reducedMotion=t}function bo(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 Nr(e,t){return e?e.filter(r=>t.includes(r)):[...t]}function _r(e,t){return xt[t]>xt[e]?t:e}var Nm=/^[.#[*:]/,_m=/[>~+]/;function $m(e){return Nm.test(e)||_m.test(e)}function Eo(e,t){let r=[];for(let[n,i]of e.entries()){let o=e[n-1]?.params.target;!o||t.has(i.name)||!$m(i.name)||r.push({previous:o,segment:i.name})}return r}function So(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 $r(e){let t=e.resolved.primitive.channels;return e.variant?.channels?[...t,...e.variant.channels]:t}function wt(e){return e.variant?.params??e.spec.params}function Dm(e){let t=e.variant?.schema;return t?{...e.resolved.primitive.parameters,...t}:e.resolved.primitive.parameters}function Tt(e,t,r){let n=[...e.warnings],i=Eo(e.specs,t);for(let f of i)n.push(So(f));let o=i.length>0?{suspectSelectors:i.map(f=>f.segment)}:{},{entries:s,unknown:a}=Bm(e.specs,t,n);if(s.length===0)return{targets:[{selector:"",scope:"self",specs:[],plan:To(a,[])}],warnings:n,...o};let c=s.map(f=>zm(Km(f,n),r,n)),u=no(c.map(Zm),r,f=>n.push(f)),l=c.map((f,d)=>({...f,step:u[d]}));Vm(l,e.activation,n);let p=Fm(l).map(({selector:f,scope:d,entries:y})=>{let v=[],S=Xm(y,t,v),P=Hm(y,v),x=go(P?.timeline,r),k=Jm(S,x,a,v);return k.defaultActivation=ho(S.map(M=>({phase:Ao(M),defaultActivation:M.resolved.primitive.defaultActivation}))),{selector:f,scope:d,hoists:P,specs:y.map(M=>M.spec),plan:k}});vo(p);let m=bo(p[0].plan.reducedMotion,e.rm,n);for(let f of p)f.plan.reducedMotion=m;return{targets:p,warnings:n,...o}}function xo(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||!jm(o,t))return o;for(let a of fe){let c=o.hoists[a];c!==void 0&&W(n,a,c,wo[a])}let s={...o};return delete s.hoists,s});return{...n,specs:i}}function jm(e,t){let r=t.resolve(e.name);return r?Object.hasOwn(r.primitive.parameters,"target"):!0}var wo={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 Hm(e,t){let r;for(let n of e)n.spec.hoists&&(r=Gm(r??{},n.spec.hoists,t));return r}function Gm(e,t,r){for(let n of fe){let i=t[n];if(i===void 0)continue;let o=e[n];o===void 0?e[n]=i:o!==i&&r.push(`conflicting ${wo[n]} "${o}" and "${i}" in one target: group \u2014 the first wins`)}return e}function Vm(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(Po(i)===Po(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 Po(e){return`${e.scope??"self"} ${e.target??""}`}function Fm(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 To(e,t){return{fxNames:[],vars:{},declarations:{},keyframeNames:[],jsEffects:[],unknown:e,reducedMotion:"shorten",supportedActivations:[],supportedTimelines:[],channels:[],warnings:t}}function Bm(e,t,r){let n=[],i=[];for(let o of e){let s=t.resolve(o.name);if(!s){i.push(o.name),qm(o.name,t,r);continue}n.push(Wm(o,s,r))}return{entries:n,unknown:i}}function Wm(e,t,r){let n=Um(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 qm(e,t,r){let n=yt(e,t.names()),i=n?` \u2014 did you mean "${n}"?`:"";r.push(`unknown effect "${e}"${i}`)}function Um(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 Km(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 zm(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}=yi({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 Ao(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 Ym(e){return e.resolved.primitive.renderer!=="css-keyframes"||e.variant?.keyframes?!1:Vi($r(e))}function Xm(e,t,r){if(e.length<=1)return e;let n=e.map(m=>({name:m.spec.name,channels:$r(m),gate:m.spec.gate,phase:Ao(m),additive:Ym(m),delivery:m.resolved.preset.delivery,inlineAnimation:m.resolved.primitive.renderer==="css-keyframes"})),i=Bi(n),o=Wi(n);if(i.length===0&&o.length===0)return e;if(o.length===0){let m=Fi(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?[qi(i)]:[],...o];return r.push(`cannot compose: ${p.join("; ")}. ${l} ${a}`),[e[0]]}function Jm(e,t,r,n){let i=To(r,n),o=so(),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=_r(i.reducedMotion,f.reducedMotion),u=Nr(u,f.supportedActivations),l=Nr(l,f.supportedTimelines);for(let y of $r(p))s.add(y);ed(m.name,f.supportedTimelines,t,n),Object.assign(i.vars,Xi(wt(p),Dm(p),y=>n.push(y))),f.renderer==="css-keyframes"?ao(o,p,d):i.jsEffects.push(Qm(p,d)),co(a,c,p,n)}return Object.assign(i.declarations,lo(o,t)),i.keyframeNames=o.keyframes,a.length>0&&(i.transition=a.join(", ")),i.supportedActivations=u,i.supportedTimelines=l,i.channels=[...s],i}function Zm(e){let{spec:t,resolved:r}=e,{preset:n,primitive:i}=r,o=wt(e);return{name:n.name,primitiveId:i.id,at:t.at,delay:t.delay,duration:t.duration,cascadeDelay:ko(o,n,i.parameters,"delay"),cascadeDuration:ko(o,n,i.parameters,"duration"),repeat:t.repeat,positionable:i.renderer==="css-keyframes"||Object.hasOwn(i.parameters,"delay")}}function ko(e,t,r,n){return[e[n],t.params?.[n],r[n]?.default].find(o=>o!==void 0&&oo(o))}function Qm(e,t){return t.sequenced?{...e,sequencedDelayMs:t.delayMs}:e}function ed(e,t,r,n){t.includes(r)||n.push(`"${e}" does not support timeline "${r}" (supports: ${t.join(", ")})`)}function Co(){return{derived:new WeakMap,hosts:new WeakMap,groups:new WeakMap,contexts:new WeakMap,unions:new WeakMap,cleanups:new WeakMap}}function At(e,t){return[...e.derived.get(t)??[]]}function Ro(e,t){return e.hosts.get(t)}function td(e){return e.status==="running"&&e.direction!=="reverse"}function rd(e){return e.status==="running"}function nd(e){return e.status==="failed"}function id(e){return e.status==="finished"||e.status==="failed"}function od(e){return e.status==="ready"}function sd(e,t){let r=[];for(let n of At(e.book,t)){let i=e.stateOf(n);i&&r.push(i)}return r}function ad(e,t,r,n){r.status!=="running"&&(e.writeStatus(t,r,"running"),n.some(td)&&e.emit(t,r,G.start,"activated"))}function cd(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 We(e,t){let r=e.stateOf(t);if(!r||!r.aggregate)return;let n=sd(e,t);n.length!==0&&(n.some(rd)?ad(e,t,r,n):n.every(nd)?e.writeStatus(t,r,"failed"):n.every(id)?cd(e,t,r,n):n.every(od)&&e.writeStatus(t,r,"ready"))}function ld(e){return e.map(t=>`${t.scope} ${t.selector}`).sort((t,r)=>t.localeCompare(r)).join("")}function Mo(e,t,r){let n=ld(r),i=e.book.unions.get(t.host),o=i?.get(n);if(o)return o;let s=r[0],c=Tt({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=>nt(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 qe(e){let{plan:t,config:r,capabilities:n,respectReducedMotion:i}=e,o=i&&n.reducedMotion,{scrubbed:s,useNativeTimeline:a}=ud(t,r,n),c={...t.vars,...t.declarations};Object.assign(c,pd(t)),Object.assign(c,md(r,n,a));let u=Object.keys(t.declarations).length>0,l=e.elementHasCssAnimation??u,p=dd({useNativeTimeline:a,scrubbed:s&&l,reduce:o,activation:r.activation,hasWork:l||t.jsEffects.length>0,hasCssAnimation:u,unsupportedTransform:fd(t.channels,n)});return(p==="deferred"||p==="scrubbed")&&(c["animation-play-state"]="paused"),{properties:c,attributes:{[E.normalized]:t.fxNames.join(" "),[E.rm]:t.reducedMotion,[E.state]:"ready"},gate:p,activation:p==="deferred"?yd(r):null}}function ud(e,t,r){let n=t.timeline==="pin"&&e.supportedTimelines.includes("pin"),i=!n&&gd(t.timeline,r)&&e.supportedTimelines.includes(t.timeline);return{scrubbed:n,useNativeTimeline:i}}function pd(e){return e.transition?{"--kui-transition":e.transition}:{}}function md(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 dd(e){return e.useNativeTimeline?"native-timeline":e.scrubbed?"scrubbed":!e.hasWork||e.reduce||vr(e.activation)==="immediate"||e.unsupportedTransform?"immediate":"deferred"}function fd(e,t){return t.individualTransforms?!1:e.some(r=>r==="translate"||r==="rotate"||r==="scale")}function gd(e,t){return e==="view"?t.viewTimeline:e==="scroll"?t.scrollTimeline:!1}function yd(e){let t="enter";return e.timeline!=="time"&&vr(e.activation)==="manual"?t:e.activation}var hd=["cascade","spread","order","cols","along"];function Io(e){let t={};for(let r of hd){let n=e(r);n!==void 0&&(t[r]=n)}return Object.keys(t).length>0?t:void 0}function Ct(e){return Io(t=>e[t])}function Rt(e,t){return Io(r=>e?.[r]??t?.[r])}function Lo(e){return e?.cascade!==void 0||e?.spread!==void 0||e?.order!==void 0}var Te=new WeakMap;function Oo(e){Te.set(e,(Te.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let r=Te.get(e)-1;r>0?Te.set(e,r):Te.delete(e)}}function No(e){return Te.has(e)}function Dr(e,t,r){let n=Rt(r.hoists,Ct(t.parsed));return Lo(n)?t.host:void 0}function _o(e){return e.gateOwner!==void 0}function vd(e,t,r){for(let n of t.members)r&&e.stateOf(n)?.status!=="ready"||e.activateOne(n)}function bd(e,t){for(let r of t.members)e.deactivateOne(r)}function Ed(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function Sd(e,t,r){let n=qe({plan:r.target.plan,config:r.config,capabilities:e.capabilities,respectReducedMotion:e.respectReducedMotion});if(n.gate!=="deferred")return;let i=n.activation,o=De(Z(i)),s=e.binder.bind(t,i,{threshold:r.config.threshold,from:r.config.activationSource,activate:()=>vd(e,r,o),deactivate:()=>bd(e,r)});Ed(e,t,s)}function $o(e,t){let r=e.book.groups.get(t);if(r!==void 0)for(let n of r)n.gateOwner===t&&Sd(e,t,n)}function N(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 w(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 Do=Symbol.for("kuinetic.owned-styles.1");function jo(e){let r=e[Do];return r||(r=new Map,Object.defineProperty(e,Do,{value:r,configurable:!0,writable:!0})),r}function Pd(e,t,r){let n=jo(e),i=n.get(t);return i||(i={ledger:r(e),owners:new Set},n.set(t,i)),i}function Ho(e,t){let r={},n=new Map;return{join(i){let o=n.get(i);return o||(o=Pd(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)&&(jo(i).delete(e),o.ledger.restore()))},elements:()=>[...n.keys()]}}function kd(){let e=Ho("style",N),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 xd(){let e=Ho("attributes",w),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 Ue(e){let t=kd(),r=xd();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 wd=new Set(["start","end","center","edges","random"]),Td=new Set(["from","order"]),Ad="spread",Cd="cols",Rd=new Set(["axis","along"]),Md=new Set(["x","y"]),Id=/^(\d+(?:\.\d+)?|\.\d+)\/(\d+(?:\.\d+)?|\.\d+)$/,Ld=/^\d{1,9}$/,Od=/^([a-zA-Z-]+):(.*)$/,Nd=/^-?\d{1,9}$/;function _d(e,t){let r={from:"start"},n={from:!1,spread:!1,cols:!1,along:!1};for(let i of ce(e," ",t)){let o=Od.exec(i);o?$d(o[1],o[2],{config:r,seen:n,warnings:t}):r.step=Kd(r.step,i,t)}return{config:r,sawFrom:n.from}}function $d(e,t,r){let n=Dd(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}Hd(n,t,r,e)&&jd[n](t,r,e)}function Dd(e){if(e===Ad)return"spread";if(e===Cd)return"cols";if(Rd.has(e))return"along";if(Td.has(e))return"from"}var jd={spread:(e,t)=>{t.config.spread=e.trim()},cols:(e,t)=>{t.config.cols=Fo(e,t.warnings)},along:(e,t,r)=>{t.config.along=Bo(e,t.warnings,r)},from:(e,t,r)=>{t.config.from=Wo(e,t.warnings,r)}};function Hd(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 Fo(e,t){let r=e.trim();if(r==="auto")return"auto";if(Ld.test(r)&&Number(r)>0)return Number(r);t.push(`unrecognised "cols:${e}" \u2014 expected a column count or "auto"`)}function Bo(e,t,r){let n=e.trim();if(Md.has(n))return n;t.push(`unrecognised "${r}:${e}" \u2014 expected x or y`)}function Mt(e,t,r=[]){let n=Vd(t);if(!(e===null&&n===void 0))return jr(e,n,r)}function jr(e,t,r=[]){if(e===null&&t===void 0)return;let{config:n,sawFrom:i}=_d(e??"",r);return Gd(Fd(Bd(n,i,t??{},r),r),r)}function Gd(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 Vd(e){if(!qd(e))return;let{cascade:t,spread:r,order:n,cols:i,along:o}=ke(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 Fd(e,t){let r={...e};return Go("step",e.step,t)||delete r.step,Go("spread",e.spread,t)||delete r.spread,r}function Go(e,t,r){return t===void 0?!1:zi(t)?!0:(r.push(`stagger ${e} "${t}" contains disallowed CSS syntax \u2014 ignored`),!1)}function Bd(e,t,r,n){let i={...e};if(r.cascade!==void 0&&(Ke("stagger step",e.step,r.cascade,n),i.step=r.cascade),r.spread!==void 0&&(Ke("stagger budget",e.spread,r.spread,n),i.spread=r.spread),Wd(i,e,r,n),r.order!==void 0){let o=Wo(r.order,n,"order");Ke("stagger order",t?e.from:void 0,o,n),i.from=o}return i}function Wd(e,t,r,n){if(r.cols!==void 0){let i=Fo(r.cols,n);Ke("stagger columns",t.cols,i,n),i!==void 0&&(e.cols=i)}if(r.along!==void 0){let i=Bo(r.along,n,"along");Ke("stagger axis",t.along,i,n),i!==void 0&&(e.along=i)}}function qd(e){return Ud.some(t=>e.includes(t))}var Ud=["cascade:","spread:","order:","cols:","along:"];function Ke(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 Kd(e,t,r){return e===void 0?t:(r.push(`extra token "${t}" in data-kui-stagger (expected one time step)`),e)}function Wo(e,t,r="from"){let n=e.trim();if(wd.has(n))return n;if(Nd.test(n))return Number(n);let i=Id.exec(n);return i?{x:Vo(Number(i[1]),n,t),y:Vo(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 Vo(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,zd=2654435761,Yd=2246822507,Xd=569420461,Jd=1935289751;function Ko(e,t){return e.spread===void 0?e.step:t<=0?"0ms":`calc((${e.spread}) / ${String(t)})`}function Gr(e,t,r=[],n){if(e<=0)return[];if(t==="random")return ef(e);if(n)return Yo(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`),Gr(e,"start",r);let i=e-1;if(t==="edges")return Array.from({length:e},(s,a)=>Math.min(a,i-a));let o=Zd(t,i,r);return Array.from({length:e},(s,a)=>Math.floor(Math.abs(a-o)))}function Zd(e,t,r){return e==="start"?0:e==="end"?t:e==="center"?t/2:zo(e,t,r)}function zo(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 Yo(e,t,r,n){let i=Math.min(Math.max(1,r.cols),e),o=Math.ceil(e/i);if(t==="edges"){let a=Yo(e,"center",r,n),c=0;for(let u of a)c=Math.max(c,u);return a.map(u=>Ae(c-u))}let s=Qd(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"?Ae(Math.abs(u)):r.along==="y"?Ae(Math.abs(l)):Ae(Math.hypot(u,l))})}function Qd(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=zo(e,o,r);return{x:s%n,y:Math.floor(s/n)}}function Ae(e){return Math.round(e*qo)/qo}function ef(e){let t=Array.from({length:e},(n,i)=>i);t.sort((n,i)=>Uo(n,e)-Uo(i,e));let r=new Array(e);for(let[n,i]of t.entries())r[i]=n;return r}function Uo(e,t){let r=(Math.imul(e,zd)^Math.imul(t,Yd))>>>0;return r^=r>>>16,r=Math.imul(r,Xd)>>>0,r^=r>>>15,r=Math.imul(r,Jd)>>>0,r^=r>>>15,r>>>0}function Xo(e,t){let r=[],n=tf(e),i=Mt(e.getAttribute(E.stagger),e.getAttribute(E.source)??"",r)??{from:"start"},o=sf(e),s=Gr(o.length,i.from,r,rs(i,o,r)),a=0;for(let[u,l]of o.entries()){let p=s[u];n.style(l).set("--kui-i",String(p)),Jo.set(l,e),p>a&&(a=p)}let c=Ko(i,a);c&&n.style(e).set("--kui-stagger",c),n.style(e).set("--kui-stagger-count",String(Ae(a+1)));for(let u of r)t?.warn(u,e)}var It=new WeakMap,Jo=new WeakMap;function Zo(e,t){let r=new Set;for(let n of e){let i=Jo.get(n);i&&r.add(i)}for(let n of r)Xo(n,t)}function tf(e){It.get(e)?.restore();let t=Ue(e);return It.set(e,t),t}function Hr(e){It.get(e)?.restore(),It.delete(e)}function Qo(e){let t=`[${E.stagger}], [${E.source}]`;e instanceof Element&&e.matches(t)&&Hr(e);for(let r of e.querySelectorAll(t))Hr(r)}function es(e,t){Lt(e,t);let r=e.parentElement;r&&Lt(r,t)}function Lt(e,t){af(e)?Xo(e,t):Hr(e)}function ts(e){let{host:t,matches:r,styleOf:n,keys:i,reporter:o}=e,s=[],a=t.getAttribute(E.stagger),c=(i?jr(a,i,s):Mt(a,t.getAttribute(E.source)??"",s))??{from:"start"},u=nf(rf(r),c,n,s),l=Ko(c,u);l&&n(t).set("--kui-stagger",l),n(t).set("--kui-stagger-count",String(Ae(u+1)));for(let p of s)o?.warn(p,t)}function rf(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 nf(e,t,r,n){let i=0;for(let o of e.values()){let s=rs(t,o,n),a=Gr(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 rs(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"?of(t,r):e.cols;if(n!==void 0)return e.along===void 0?{cols:n}:{cols:n,along:e.along}}function of(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 sf(e){let t=[];for(let r of e.children)r.hasAttribute(E.source)&&t.push(r);return t}function ns(e,t){let r=`[${E.stagger}], [${E.source}]`;e instanceof Element&&e.matches(r)&&Lt(e,t);for(let n of e.querySelectorAll(r))Lt(n,t)}function af(e){return e.hasAttribute(E.define)||No(e)?!1:e.hasAttribute(E.stagger)?!0:Mt(null,e.getAttribute(E.source)??"")!==void 0}var cf=64;function Ot(e){return e.id?`${e.tagName.toLowerCase()}#${e.id}`:e.tagName.toLowerCase()}function os(e,t){return t.some(r=>e.resolve(r)?.preset.establishes3d===!0)}function is(e,t){let r=e.stateOf(t);return!r||r.aggregate?!1:os(e.registry,r.fxNames)}function lf(e,t,r){if(is(e,t))return t;let n=r.parentElement,i=0;for(;n&&i<cf;){if(n!==t&&is(e,n))return n;n=n.parentElement,i++}}function Vr(e,t,r){if(t.length===0){e.removeAttribute(E.unmatched);return}let n=t.join(", ");r?r.set(E.unmatched,n):e.setAttribute(E.unmatched,n)}function ss(e,t,r,n){if(!os(e.registry,n.plan.fxNames))return;let i=lf(e,t,r);if(!i)return;let o=i===t?"its target: host":"an ancestor";e.reporter.warn(`<${Ot(r)}> establishes a 3D rendering context nested inside ${o} <${Ot(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 as(e,t,r){r.scope==="page"&&r.plan.fxNames.some(n=>e.registry.resolve(n)?.preset.cloak===!0)&&t.ownerDocument.documentElement.hasAttribute(E.cloak)&&e.reporter.warn(`target "${r.selector}" (scope:page) on <${Ot(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 <${Ot(t)}>'s own subtree will flash unstyled before this library runs; use scope:self, or drop the cloaked preset from this group`,t)}var Fr=new WeakMap;function uf(e,t,r){let n=Fr.get(e);n||(n=new WeakMap,Fr.set(e,n)),n.set(t,r)}function pf(e,t){return Fr.get(e)?.get(t)}function cs(e){return`${e.scope} ${e.selector}`}function mf(e){return e.length===1?cs(e[0]):e.map(cs).sort((t,r)=>t.localeCompare(r)).join("")}function ls(e,t,r,n){let i=n.get(r);if(i)return i;let o={...yo(t.baseConfig,r.hoists)};return o.activation=e.resolveActivation(t.host,o,r.plan),n.set(r,o),o}function df(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:ls(e,t,a,n),gateOwner:Dr(e,t,a),members:[]})}return{live:i,resolved:o,unmatched:s}}function ff(e){let t=e.baseConfig;return{host:e.el,fingerprint:e.fingerprint,parsed:e.parsed,baseConfig:t,timeline:t.timeline}}function gf(e,t,r){r?e.install({...t,document:{targets:[r],warnings:[]}}):e.installAggregate(t)}function yf(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function us(e,t,r){return r.length===1?r[0]:Mo(e,t,r)}function hf(e,t,r){let n=t.host,i=e.stateOf(n);Vr(n,[...r.unmatched,...r.suspects??[]],i.attributes),yf(e,n,Oo(n)),Nt(e,n),$o(e,n);for(let[o,s]of r.claims)ss(e,n,o,us(e,t,s));for(let o of r.resolved)as(e,n,o.target);We(e,n)}function ps(e,t){let r=ff(t),n=new Map,{live:i,resolved:o,unmatched:s}=df(e,r,t.document.targets,n);e.book.contexts.set(r.host,r),e.book.groups.set(r.host,i);let a=Br(e,r.host,o),c=t.document.targets.find(u=>u.selector==="");if(!c&&a.size===0){r.host.setAttribute(E.state,"failed"),Vr(r.host,[...s,...t.document.suspectSelectors??[]]);return}Wr(e,r,a,n),gf(e,t,c),hf(e,r,{claims:a,resolved:o,unmatched:s,suspects:t.document.suspectSelectors})}function vf(e,t,r){let{book:n}=e;uf(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 bf(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 ms(e,t){let r=e.book.hosts.get(t);if(r){vf(e,r,t);return}e.book.derived.has(t)&&bf(e,t)}function ds(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)&&(Nt(e,n),We(e,n))}var Ef={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 Sf(e,t,r){if(r===t)return"host";if(r.hasAttribute(E.source))return"authored";let n=e.book.hosts.get(r);if(n!==void 0&&n!==t)return"claimed"}function Pf(e,t,r){let n=e.get(r);n?n.push(t):e.set(r,[t])}function kf(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 ${Ef[o]}`,t)}}function Br(e,t,r){let n=new Map;for(let i of r){let o=new Map;for(let s of i.matches){let a=Sf(e,t,s);a?o.set(a,(o.get(a)??0)+1):Pf(n,i.target,s)}kf(e,t,i.target,o)}return n}function xf(e,t,r,n){let{match:i,targets:o}=r,s=us(e,t,o);return{match:i,targets:o,target:s,config:ls(e,t,s,n)}}function wf(e,t,r){return r.some(i=>Dr(e,t,i)!==void 0)?t.host:void 0}function Tf(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 Af(e,t,r){e.install({el:r.match,fingerprint:`${t.fingerprint}\0${mf(r.targets)}`,parsed:{specs:r.target.specs,warnings:[]},config:r.config,document:{targets:[{...r.target,selector:"",scope:"self"}],warnings:[]},host:t.host,gateOwner:wf(e,t,r.targets)}),Tf(e,t,r)}function Wr(e,t,r,n=new Map){let i=[];for(let[o,s]of r){let a=xf(e,t,{match:o,targets:s},n);Af(e,t,a),i.push(a.match)}return i}function Nt(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=Ct(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&&ts({host:t,matches:a.members,styleOf:s,keys:Rt(a.target.hoists,o),reporter:e.reporter})}var Cf=64;function Rf(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(E.part))}function Mf(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=Rf(e,t,o.target);s.length>0&&n.push({target:o.target,matches:s})}return{resolved:n,before:i}}function If(e,t){let r=e.findIndex(n=>!!(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING));return r===-1?e.length:r}function Lf(e,t,r){return t.members.some(n=>!r.includes(n)&&e.stateOf(n)?.status!=="ready")}function Of(e,t,r){if(t.gateOwner!==void 0&&Lf(e,t,r))for(let n of r)e.activateOne(n)}function Nf(e,t,r){if(t.members.length===r)return;let n=t.members.splice(r);t.members.splice(If(t.members,n[0]),0,...n),Of(e,t,n)}function _f(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}=Mf(t,r,n);if(o.length===0)return;let a=Br(e,r,o);if(a.size!==0){Wr(e,i,a);for(let c of n)Nf(e,c,s.get(c));Nt(e,r)}}function fs(e,t){if(t.hasAttribute(E.part))return;let r=t.parentElement,n=0;for(;r&&n<Cf;)_f(e,t,r),r=r.parentElement,n++}var $f=100;function hs(e){let{root:t,onElementAdded:r,onElementRemoved:n,onAttributeChanged:i}=e,o=e.schedule??Df,s=e.createObserver??jf(),a=new Set,c=new Set,u=new Set,l,p=!1,m=!1;function f(P){if(P.type==="attributes"){let x=Ur(P.target);x&&u.add(x);return}for(let x of P.addedNodes)ys(a,Ur(x));for(let x of P.removedNodes)ys(c,Ur(x))}function d(P){for(let x of P)f(x);p||(p=!0,o(S))}let y=gs(t,r),v=gs(t,i);function S(){if(p=!1,m)return;let P=$f;P=qr(c,n,P),P=qr(a,y,P),qr(u,v,P),a.size+c.size+u.size>0&&(p=!0,o(S))}return{watch(){s&&(m=!1,l=s(d),l.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[E.source,E.on,E.timeline,E.threshold,E.stagger]}))},destroy(){m=!0,l?.disconnect(),a.clear(),c.clear(),u.clear()}}}function gs(e,t){return r=>{e.contains(r)&&t(r)}}function ys(e,t){if(t){for(let r of e){if(r.contains(t))return;t.contains(r)&&e.delete(r)}e.add(t)}}function qr(e,t,r){for(let n of e){if(r===0)break;e.delete(n),t(n),r--}return r}function Ur(e){return e.nodeType===1?e:null}function Df(e){let t=globalThis.requestAnimationFrame;typeof t=="function"?t(()=>e()):queueMicrotask(e)}function jf(){if(!(typeof MutationObserver>"u"))return e=>new MutationObserver(e)}function Hf(e,t){let r=Qi(e.spec,t);return e.sequencedDelayMs!==void 0&&(r.delayMs=e.sequencedDelayMs),r}function vs(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 S=x=>i.warn(x,a),P=eo({...y.preset.params,...wt(f)},y.primitive.parameters,S,Hf(f,S));try{p.push(v(a,P,m))}catch(x){i.warn(`"${d.name}" failed to initialise: ${String(x)}`,a)}}return p}}}function Gf(){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 Ss(e=Gf()){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 Vf(e){return{key:"window",metrics:()=>({scrollTop:e.scrollY,scrollLeft:e.scrollX,viewportWidth:e.innerWidth,viewportHeight:e.innerHeight,viewportTop:0,viewportLeft:0}),onScroll:t=>Kr(e,"scroll",t),onResize:t=>Ps(e.document.documentElement,e,t)}}function Ff(e,t){return{key:`el:${Wf(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=>Kr(e,"scroll",r),onResize:r=>Ps(e,t,r)}}function Kr(e,t,r){return e.addEventListener(t,r,{passive:!0}),()=>e.removeEventListener(t,r)}function Ps(e,t,r){let n=Kr(t,"resize",r);if(typeof ResizeObserver>"u")return n;let i=new ResizeObserver(r);return i.observe(e),()=>{n(),i.disconnect()}}var Bf=0,bs=new WeakMap;function Wf(e){let t=bs.get(e);if(t)return t;let r=String(++Bf);return bs.set(e,r),r}function ks(e){let{win:t}=e,r=e.isScrollable??qf(t),n=Vf(t);return i=>{for(let o=i.parentElement;o;o=o.parentElement)if(r(o))return Ff(o,t);return n}}var Es=new Set(["auto","scroll","overlay"]);function qf(e){return t=>{let r=e.getComputedStyle(t),n=Es.has(r.overflowY)&&t.scrollHeight>t.clientHeight,i=Es.has(r.overflowX)&&t.scrollWidth>t.clientWidth;return n||i}}function xs(e){return Number.isNaN(e)?0:Math.min(1,Math.max(0,e))}function ye(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 ws(){return{warn(e,t){t===void 0?console.warn(`[kuinetic] ${e}`):console.warn(`[kuinetic] ${e}`,t)}}}function _t(){return{warn(){}}}function Ts(){let e=[];return{messages:e,warn(t){e.push(t)}}}var ze="data-kui-time-scale";function he(e){let r=e.closest(`[${ze}]`)?.getAttribute(ze)?.trim();if(!r)return 1;let n=Number(r);return Number.isFinite(n)?Math.min(4,Math.max(.05,n)):1}function Uf(e){let t=e.getAnimations;return typeof t=="function"?t.call(e):[]}function Ce(e,t){return Uf(e).filter(r=>{let n=r.animationName;return typeof n=="string"&&t.has(n)})}function Kf(e){return getComputedStyle(e).animationName}function zf(e,t){let r=e.style.getPropertyValue("animation-name");t.set("animation-name","none"),Kf(e),t.set("animation-name",r)}function Yf(e,t){if(e.length===0){t();return}Promise.all(e.map(r=>r.finished.catch(()=>{}))).then(()=>t())}function Xf(e,t,r,n){let i=Ce(e,r);if(!n){zf(e,t),t.set("animation-play-state","running"),i=Ce(e,r);let s=he(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 As(e,t,r,n=!1){let i=new Set(r),o,s=new Promise(l=>{o=l}),a=!1,c=l=>Yf(l,()=>o?.());function u(l){if(n)return;let p=Ce(e,i);s=new Promise(m=>{o=m});for(let m of p)m.playbackRate=l*he(e),m.play();t.set("animation-play-state","running"),c(p)}return{control:Di(()=>Ce(e,i),t),activate(){if(s=new Promise(p=>{o=p}),n){o?.();return}let l=Xf(e,t,i,a);a=!0,c(l)},play(){u(1)},reverse(){u(-1)},cancel(){for(let l of Ce(e,i))l.cancel();o?.()},finish(){for(let l of Ce(e,i))l.finish();o?.()},get finished(){return s},destroy(){o?.()}}}function A(e){return{cleanup:e,continuous:!0}}function Jf(e){if(e!==void 0)return typeof e=="function"?e:e.cleanup}function zr(e){let t,r,n=Promise.resolve(),i=()=>{Jf(t)?.(),t=void 0,r?.()};return Zf({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)=>zr(()=>e(...t))}function Zf(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 Qf=3e3;function eg(e){return[e.source,e.on,e.timeline,e.threshold].join("\0")}function Xr(e){return typeof Element<"u"&&e instanceof Element}var ve=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=Co();port;constructor(t={}){let r=tg(t);this.registry=r.registry,this.bundles=new ht(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(),Qf);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=`[${E.source}]`;Xr(t)&&t.matches(n)&&this.process(t);for(let i of t.querySelectorAll(n))this.process(i);return ns(t,this.reporter),r>0&&t!==this.root&&this.retryPending(),this}retryPending(){for(let t of this.root.querySelectorAll(`[${E.state}="pending"]`))this.process(t)}process(t){if(t.hasAttribute(E.define))return;let r=mo(t),n=eg(r),i=this.states.get(t);if(i?.fingerprint===n)return;i&&this.release(t);let o=xo(this.bundles.expand(ke(r.source)),this.registry),s=fo(r,o),a={...s},c=Tt(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(E.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 Gi(n,this.capabilities))this.reporter.warn(i,t)}resolveActivation(t,r,n){return r.activationAuthored?(qn({el:t,spec:Z(r.activation),supported:n.supportedActivations,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=>nt(s.spec.gate,i));this.watchGates(t,i,Zn(n))}watchGates(t,r,n){this.gateWatcher??=Qn(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!=="")?(ps(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=Ue(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=qe({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(S=>S.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(E.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=Ue(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(E.state,"ready")}installGroup(t,r){let{target:n,matches:i}=t,o=qe({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(E.normalized,o.attributes[E.normalized]),l.set(E.rm,o.attributes[E.rm]),u.claim("animation-play-state"),s){let p=o.gate==="scrubbed";a.instances.push(As(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&&Hi({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=_e(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=L(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(_o(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&&De(Z(c))&&(n.releaseActivation=p)}reducedMotionDisables(t){return this.respectReducedMotion&&this.capabilities.reducedMotion&&t.reducedMotion==="disable"}warnAboutCrossings(t,r,n,i){let o=Z(n),s=ki({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&&xi(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(Yr).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(Yr);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(Yr);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){ji(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(E.state,n)}syncHost(t){t.host&&We(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)Cs(()=>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 bt({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 vt({animator:this,root:this.root,target:t,effect:r},n)}uncloak(){(Xr(this.root)?this.root.ownerDocument:this.root)?.documentElement?.removeAttribute(E.cloak)}stateOf(t){return this.states.get(t)}derivedOf(t){return At(this.book,t)}hostOf(t){return Ro(this.book,t)}reset(t){this.release(t)}release(t){let r=this.states.get(t);if(!r)return;ms(this.port,t);let n=r.status==="running";r.cancelled=!0,r.controller.abort();for(let i of r.instances)Cs(()=>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);Zo(r,this.reporter),ds(this.port,r)}destroy(){this.domWatcher?.destroy(),Qo(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??=hs({root:this.root,onElementAdded:t=>{this.scan(t),fs(this.port,t)},onElementRemoved:t=>this.releaseTree(t),onAttributeChanged:t=>{this.process(t),es(t,this.reporter)}}),this.domWatcher.watch()}};function Rs(e={}){return new ve(e)}function tg(e){let t=e.root??globalThis.document,r=e.capabilities??St(),n=e.reporter??_t(),i=e.scheduler??Ss(),o=e.rootResolver??ng(t),s=(e.reducedMotion??"respect")==="respect";return{registry:e.registry??new le,capabilities:r,root:t,reporter:n,binder:e.binder??et({reporter:n}),scheduler:i,rootResolver:o,jsEffectPreparer:rg(e.jsEffectPreparer,{scheduler:i,rootResolver:o,capabilities:r,reporter:n,respectReducedMotion:s}),domWatcher:e.domWatcher,respectReducedMotion:s,shouldObserve:e.observe??!1}}function rg(e,t){return e??vs(t)}function ng(e){let r=(Xr(e)?e.ownerDocument:e)?.defaultView??globalThis;return ks({win:r})}function Yr(e){return e.play!==void 0&&e.reverse!==void 0}function Cs(e){try{e()}catch{}}var R={delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"}},V=["duration","delay","ease"];function Ms(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 Is(e,t,r,n){let i=t.honours??[];for(let o of V){if(i.includes(o)||Ms(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 Re(e,t=0){return e.timing.delayMs??e.ms("delay",t)}function $t(e,t=""){return e.timing.easing??e.text("ease",t)}function Ye(e,t,r,n){for(let i of t){let o=Ms(r,i);o!==void 0&&n.style.set(ue(e,i),o)}}function T(e,t,r){return(n,i,o)=>(Is(e,t,i,o.warn),r(n,i,o))}function q(e,t){return(r,n,i)=>(Is(e,t,n,i.warn),zr(()=>(Ye(e,t.honours??[],n,i),()=>{})))}var te=["time","view","scroll","pin"],ig={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},...R,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:{...ig,...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 Ls={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"}},og={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"}},sg={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"}},ag={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"}},cg={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}},lg=[h("ambient-gradient",[g.background],{parameters:Ls,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-gradient-ring",[g.background,"mask","layout"],{parameters:Ls,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-tint",[g.background],{parameters:og,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-float",[g.translate],{parameters:sg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-orbit",[g.rotate],{parameters:ag,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-pulse",[g.scale,g.opacity],{parameters:cg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"})],ug=[{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 Os(e){return e.registerPrimitives(lg).registerPresets(ug)}var pg={duration:{type:"time",default:"240ms",cssProperty:"--kui-duration"},...R,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},mg="discrete.css pins that value on this effect";function Ns(e,t){return{scale:{type:"number",default:t,cssProperty:e,finite:!0,minimum:0}}}function Jr(e,t){return{distance:{type:"length",default:t,cssProperty:e}}}function Me(e,t,r={}){return{id:e,renderer:"javascript",channels:t,parameters:{...pg,...r},supportedTimelines:["time"],supportedActivations:["manual"],defaultActivation:"manual",perfClass:"compositor",reducedMotion:"shorten",prepare:q(e,{honours:V,because:mg})}}var Ie=[{property:"display"},{property:"overlay"}],dg=[Me("fade-open",["opacity","discrete"]),Me("pop-open",["opacity","scale","discrete"],Ns("--kui-pop-open-scale","0.92")),Me("scale-open",["scale","discrete"],Ns("--kui-scale-open-scale","0.85")),Me("drop-open",["opacity","translate","discrete"],Jr("--kui-drop-open-distance","12px")),Me("slide-open-up",["opacity","translate","discrete"],Jr("--kui-slide-open-up-distance","16px")),Me("slide-open-down",["opacity","translate","discrete"],Jr("--kui-slide-open-down-distance","16px"))],fg=[{name:"fade-open",primitive:"fade-open",transitions:[{property:"opacity"},...Ie]},{name:"pop-open",primitive:"pop-open",transitions:[{property:"opacity"},{property:"scale"},...Ie]},{name:"scale-open",primitive:"scale-open",transitions:[{property:"scale"},...Ie]},{name:"drop-open",primitive:"drop-open",transitions:[{property:"opacity"},{property:"translate"},...Ie]},{name:"slide-open-up",primitive:"slide-open-up",transitions:[{property:"opacity"},{property:"translate"},...Ie]},{name:"slide-open-down",primitive:"slide-open-down",transitions:[{property:"opacity"},{property:"translate"},...Ie]}];function _s(e){return e.registerPrimitives(dg).registerPresets(fg)}var gg={duration:{type:"time",default:"1.6s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},yg={duration:{type:"time",default:"900ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},hg={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"}},vg={duration:{type:"time",default:"1.4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"}},bg={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"}},Eg={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Zr={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}},Sg={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}},Pg={...Zr,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"}},kg={duration:{type:"time",default:"1400ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},xg={distance:{type:"length",default:"36px",cssProperty:"--kui-pull-distance"}},wg=[h("feedback-shimmer",[g.background],{parameters:gg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-fade",[g.opacity],{defaultActivation:"manual"}),h("feedback-spin",[g.rotate,"discrete"],{parameters:yg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-dot-pulse",[g.scale,g.opacity,g.background,"shadow","discrete"],{parameters:hg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-progress-track",[g.translate,g.scale,g.background,"transform-origin"],{parameters:vg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-toast",[g.opacity,g.translate],{parameters:bg,defaultActivation:"manual"}),h("feedback-shake",[g.translate],{parameters:Eg,defaultActivation:"manual"}),h("feedback-wobble",[g.translate,g.rotate],{defaultActivation:"click"}),h("feedback-ripple",[g.scale,g.opacity,"sweep"],{parameters:Sg,defaultActivation:"click"}),h("feedback-pop",[g.scale],{parameters:Zr,defaultActivation:"manual"}),h("feedback-burst",[g.scale,g.opacity,g.background,"sweep"],{parameters:Pg,defaultActivation:"click"}),h("feedback-heart-burst",[g.scale,g.color],{parameters:Zr,defaultActivation:"click"}),h("feedback-confirm",[g.opacity],{parameters:kg,defaultActivation:"click"}),h("feedback-pull",[g.translate],{parameters:xg,defaultActivation:"manual"})],Tg=[{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 $s(e){return e.registerPrimitives(wg).registerPresets(Tg)}function Ds(e,t){return{x:t.width>0?e.x/t.width-.5:0,y:t.height>0?e.y/t.height-.5:0}}function js(e,t,r){let n=Ds(e,t);return{rotateY:n.x*r*2,rotateX:-n.y*r*2}}function Hs(e,t,r){let n=Ds(e,t);return{x:n.x*r*2,y:n.y*r*2}}function re(e){return e.matchMedia?.("(hover: hover) and (pointer: fine)").matches??!0}var Qr={lift:[{property:"translate"}],pop:[{property:"scale"}],"lift-shadow":[{property:"translate"},{property:"box-shadow"}],"border-draw":[{property:"--kui-border-pct"}],"border-glow":[{property:"box-shadow"}]},Gs=["icon-bounce","icon-spin","icon-wiggle","split-flap"],en={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}},Vs={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}},Xe={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"}}},Fs={...Xe.borderDraw,width:{type:"length",default:"2px",cssProperty:"--kui-border-draw-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-border-draw-outset"}};function Ag(e){return{duration:{type:"time",default:e,cssProperty:"--kui-duration"},...R,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}}}function Bs(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...Ag(r),...n},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:q(e,{honours:V,because:"interaction.css pins that value on this effect"})}}var Cg={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"}},Rg={opacity:{type:"number|percentage",default:"0.4",cssProperty:"--kui-group-dim-opacity",finite:!0,minimum:0,maximum:1}},Mg=[Bs("press",["scale","shadow"],"120ms",Cg)],Ig=[{name:"press-depth",primitive:"press",transitions:[{property:"scale"},{property:"box-shadow"}]}],Lg=[Bs("group-dim",["group"],"260ms",Rg)],Og=[{name:"group-dim",phase:"state",primitive:"group-dim",requiresOwnSubtree:!0}],Ws=[...Mg,...Lg],qs=[...Ig,...Og];function Dt(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:q(e,{honours:V,because:"interaction.css pins that value on this effect"})}}var Ng={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"}},_g=[Dt("label-swap",["discrete","label-swap"],Ng)],$g=[{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"}],Dg={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"}},jg=[Dt("hover-intent",["hint"],Dg)],Hg=[{name:"hover-intent",phase:"state",primitive:"hover-intent"}],Gg={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}},Vg=[Dt("anchored-preview",["preview"],Gg)],Fg=[{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"}],Bg={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"}},Wg=[Dt("search-expand",["expand","discrete","search-field"],Bg,"layout")],qg=[{name:"search-expand",primitive:"search-expand",transitions:[{property:"inline-size"}]}],Us=[..._g,...jg,...Vg,...Wg],Ks=[...$g,...Hg,...Fg,...qg];var Js={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},...R,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},zs={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"},Ug="interaction.css pins that value on this effect",Ys={distance:{type:"length",default:"6px",cssProperty:"--kui-lift-distance"}},Kg={scale:{type:"number",default:"1.06",cssProperty:"--kui-pop-scale",finite:!0,minimum:0}};function zg(e){return Object.fromEntries(Object.entries(Js).filter(([t])=>e.includes(t)))}function U(e,t,r={},n={honours:V,because:Ug}){let i=n.honours;return{id:e,renderer:"javascript",channels:t,parameters:{...zg(i),...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:q(e,n)}}var Zs=[U("lift",["translate"],Ys),U("pop",["scale"],Kg),U("lift-shadow",["translate","shadow"],Ys),U("shine-sweep",["sweep"],Vs),U("split-flap",["skew","discrete"]),U("border-draw",["border","pseudo-before"],Fs),U("border-glow",["shadow"],Xe.borderGlow),U("beam-border",["border","pseudo-before"],en,zs),U("underline-slide",["scale"],Xe.underlineSlide),U("underline-center",["scale"],Xe.underlineCenter),U("icon-wiggle",["rotate"]),U("icon-spin",["rotate"],{},zs),U("icon-bounce",["translate"])],Yg=Zs.map(e=>({name:e.id,primitive:e.id,...Qr[e.id]?{transitions:Qr[e.id]}:{},...Gs.includes(e.id)?{delivery:"stylesheet-animation"}:{}})),Xg=[{id:"beam-border-auto",renderer:"javascript",channels:["border","pseudo-before"],parameters:{duration:Js.duration,...en},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:q("beam-border-auto",{honours:["duration"],because:"it is an always-on linear loop with no start moment and no curve"})}],Jg=[{name:"beam-border-auto",primitive:"beam-border-auto"}],Zg={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 be(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:T(e,{because:"it tracks pointer position continuously, so it has no start moment and no fixed span"},n)}}function Qg(e){return{...X,stiffness:e.num("stiffness",X.stiffness),damping:e.num("damping",X.damping),mass:e.num("mass",X.mass)}}function ey(e){return{...it(),warn:e.warn}}function ty(e,t,r){if(!re(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}=js(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 ry(e){return[...e.querySelectorAll("[data-depth]")].map(t=>({ledger:N(t),depth:Number(t.dataset.depth)||0}))}function Xs(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 ny(e,t,r){if(!re(r.win))return()=>{};let n=e,i=t.num("strength",24),o=ry(n);function s(c){let u=n.getBoundingClientRect(),l={x:c.clientX-u.left,y:c.clientY-u.top},p=Hs(l,u,i);Xs(o,p.x,p.y,120)}function a(){Xs(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 Qs(e,t,r){e.style.translate=`${t.toFixed(1)}px ${r.toFixed(1)}px`}function iy(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 oy(e,t,r){let n={x:0,y:0},i=o=>s=>{n[o]=s,Qs(e,n.x,n.y)};return{x:se(t,i("x"),r),y:se(t,i("y"),r)}}function Ht(e,t,r,n){if(!re(r.win))return()=>{};let i=e.ownerDocument,o=e,s=iy(i,n,t.text("label","")),a=oy(s,Qg(t),ey(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),Qs(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 sy(e,t,r){if(!re(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 ay={maxAngle:{type:"number",default:"14",cssProperty:"--kui-max-angle"},perspective:{type:"length",default:"800px",cssProperty:"--kui-perspective"}},cy={strength:{type:"number",default:"24",cssProperty:"--kui-strength"}},jt={...Zg,label:{type:"text",default:"",cssProperty:"--kui-label"}},ly=[be("tilt-3d",["rotate"],ay,b(ty)),be("tilt-parallax",["translate"],cy,b(ny)),be("cursor-follow",["translate"],jt,b(uy)),be("cursor-lag",["translate"],jt,b(py)),be("cursor-label",["translate"],jt,b(my)),be("cursor-invert",["translate"],jt,b(dy)),be("cursor-spotlight",["spotlight","pseudo-before"],{},b(sy))];function uy(e,t,r){return Ht(e,t,r,"kui-cursor-dot-follow")}function py(e,t,r){return Ht(e,t,r,"kui-cursor-dot-lag")}function my(e,t,r){return Ht(e,t,r,"kui-cursor-dot-label")}function dy(e,t,r){return Ht(e,t,r,"kui-cursor-dot-invert")}var fy=[{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"}}],gy=[...Zs,...ly,...Xg,...Ws,...Us],yy=[...Yg,...fy,...Jg,...qs,...Ks];function ea(e){return e.registerPrimitives(gy).registerPresets(yy)}function hy(e,t,r){if(!re(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 vy=[{id:"proximity-field",renderer:"javascript",channels:["proximity"],parameters:{},supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:T("proximity-field",{because:"it tracks pointer position continuously across a container, so it has no start moment and no fixed span"},b(hy))}],by=[{name:"proximity-field",phase:"state",primitive:"proximity-field"}],Ey={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"}},Sy=[{id:"proximity-glow",renderer:"javascript",channels:["pseudo-before"],parameters:Ey,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:q("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"})}],Py=[{name:"proximity-glow",phase:"state",primitive:"proximity-glow"}],ky=[...vy,...Sy],xy=[...by,...Py];function ta(e){return e.registerPrimitives(ky).registerPresets(xy)}var tn="",wy={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:tn,cssProperty:"--kui-glass-tint"},rim:{type:"color",default:tn,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:tn,cssProperty:"--kui-glass-radius"}};function Ty(){return A(()=>{})}var Ay=[{id:"glass",renderer:"javascript",channels:["background","backdrop"],parameters:wy,supportedTimelines:te,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:T("glass",{because:"it paints a resting surface rather than animating, so there is no motion to time"},b(Ty))}],Cy=[{name:"glass",primitive:"glass"}];function ra(e){return e.registerPrimitives(Ay).registerPresets(Cy)}var Ry=new Set(["mp4","webm","mov","m4v","ogv"]),My=new Set(["youtube.com","www.youtube.com","m.youtube.com","youtube-nocookie.com","www.youtube-nocookie.com","youtu.be","www.youtu.be"]);function na(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 Iy(e){let t=na(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 Ly(e){return My.has(Iy(e))}var rn={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%"},ia=Object.keys(rn);function oa(e){return rn[e]??rn.center}function Oy(e){return e.overlay!=="transparent"&&e.overlayOpacity>0}function Ny(e){let t=e.split("?")[0].split("#")[0],r=t.lastIndexOf(".");return r<=t.lastIndexOf("/")?!1:Ry.has(t.slice(r+1).toLowerCase())}var _y=new Set(["http","https"]);function $y(e){let t=/^([a-z][a-z0-9+.-]*):/i.exec(na(e));return t?t[1].toLowerCase():""}function nn(e,t,r){if(!e)return e;if(Ly(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=$y(e);return!n||_y.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 sa(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 Dy(e,t){let r=e.createElement("div");return sa(r),r.style.setProperty("background",t.overlay),r.style.setProperty("opacity",String(t.overlayOpacity)),r.setAttribute("aria-hidden","true"),r}function jy(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 aa(e){let t=e.play();t&&t.catch(()=>{})}function Hy(e,t,r){return r.reducedMotion||r.autoplay==="never"?()=>{}:r.autoplay==="always"?(aa(e),()=>{e.paused||e.pause()}):Vy(e,t)}function Gy(e,t){let r=e.createElement("img");return r.alt="",r.decoding="async",r.src=t.src,r}function Vy(e,t){let r=t.IntersectionObserver;if(!r)return()=>{};let n=new r(i=>{for(let o of i)o.isIntersecting?aa(e):e.paused||e.pause()},{threshold:0});return n.observe(e),()=>{n.disconnect(),e.paused||e.pause()}}function ca(e,t,r){let n=e.ownerDocument,i=Ny(r.src)?jy(n,r):null,o=i??Gy(n,r);sa(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=Oy(r)?Dy(n,r):null;s&&(s.setAttribute("data-kui-background-overlay",""),e.append(s));let a=i?Hy(i,t.win,r):()=>{};return{remove:()=>{a(),o.remove(),s?.remove()}}}function Le(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 Gt(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 on={vertical:0,horizontal:90},Fy={deg:1,d:1,grad:.9,rad:180/Math.PI,turn:360},la=1,By="kui-slat-stage",Wy="kui-slat-item",qy=.6180339887498949;function Uy(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*qy%1*t);case"alternate":default:return Ky(e,t)}}function Ky(e,t){let r=e,n=t-1-e,i=Math.min(r,n);return r<=n?i*2:i*2+1}function ua(e,t){let r=e.trim();if(!r)return on[t];let n=/^(-?(?:\d+(?:\.\d+)?|\.\d+))(deg|d|rad|grad|turn)?$/.exec(r);if(!n)return on[t];let i=Number(n[1]);if(!Number.isFinite(i))return on[t];let o=n[2]??"deg";return(i*Fy[o]%180+180)%180}function pa(e){let t=e*Math.PI/180;return{x:-Math.sin(t),y:Math.cos(t)}}function zy(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}=pa(r),p=Math.abs(a)*i+Math.abs(c)*o,m=i/2,f=o/2,d=p/t,y=e*d-p/2-la,v=(e+1)*d-p/2+la,S=i+o,P=(x,k)=>`${(m+x*a+k*u).toFixed(2)}px ${(f+x*c+k*l).toFixed(2)}px`;return`polygon(${P(y,S)}, ${P(y,-S)}, ${P(v,-S)}, ${P(v,S)})`}function Yy(e){return e===0?"vertical":e===90?"horizontal":"diagonal"}function ma(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=zy(c,n.length,i,{width:o,height:s})})}function Xy(e,t,r,n){let o=Le(r,()=>ma(e,t,n));return o.observe(t),o.disconnect}function Jy(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 da(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=pa(a),p=t.createElement("div");p.className=By,p.setAttribute("aria-hidden","true"),p.dataset.kuiSlatAxis=Yy(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=Jy(i,r),f=[];for(let S=0;S<s;S++){let P=t.createElement("div");P.className=Wy,P.style.setProperty("--kui-slat-index",String(S)),P.style.setProperty("--kui-i",String(Uy(S,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};ma(p,i,d);let y=Xy(p,i,r,d),v=N(i);return v.set("visibility","hidden"),{stage:p,slats:f,restore:()=>{y(),v.restore(),p.remove()}}}function fa(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",ae(i??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","60ms"))}function ga(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 sn={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},scale:{type:"number",default:"1.12",cssProperty:"--kui-to-scale"}},Zy=[h("media-wipe",[g.clip]),h("media-mask",["mask"],{perfClass:"paint"}),h("media-ken-burns",[g.translate,g.scale],{parameters:sn}),h("media-filter",[g.filter],{defaultActivation:"hover",perfClass:"paint"}),h("media-blur-up",[g.translate,g.filter],{parameters:{distance:sn.distance,blur:{type:"length",default:"16px",cssProperty:"--kui-blur"}},perfClass:"paint"}),h("media-parallax-frame",[g.translate],{parameters:{distance:sn.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"}}})],Qy=[{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"}],eh={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"},...R,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"60ms",cssProperty:"--kui-stagger"}};function th(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=ua(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=da(e,n,r.win,{count:i,angleDegrees:s,from:a,fold:c});if(!l)return()=>{};let{stage:p}=l;fa(p,t),p.classList.add("kui-slat-animating");let m,f=new Promise(S=>{m=S}),d=!1,y=()=>{d||(d=!0,p.classList.remove("kui-slat-animating"),l.restore(),m())},v=r.win.setTimeout(y,ga(t,i));return{cleanup:()=>{r.win.clearTimeout(v),!d&&(d=!0,l.restore())},finished:f,finish:()=>{r.win.clearTimeout(v),y()}}}var rh={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:ia},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 nh(e,t,r){let n=t.text("src");if(!n)return r.warn('background-media needs a "src:" \u2014 nothing installed'),()=>{};let i=nn(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=ca(e,r,{src:i,poster:nn(t.text("poster"),"poster",r),fit:t.is("fit","contain")?"contain":"cover",position:oa(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 A(s.remove)}var ih=[{id:"slat-assemble",renderer:"javascript",channels:[g.opacity,g.translate,g.rotate],parameters:eh,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"disable",restoresOnFinish:!0,prepare:b(th)},{id:"background-media",channels:["media","layout"],renderer:"javascript",parameters:rh,supportedTimelines:te,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:T("background-media",{because:"it paints a backdrop rather than animating, so there is no motion to time"},b(nh))}],oh=[{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"}}],sh=[...Zy,...ih],ah=[...Qy,...oh];function ya(e){return e.registerPrimitives(sh).registerPresets(ah)}function Vt(e){let t=Array.from(e.childNodes);return()=>{e.replaceChildren(...t)}}var ch="kui-sr-only",lh="kui-split-decorative",uh="a[href], button, input, select, textarea, [tabindex], [contenteditable], details, summary, iframe, audio[controls], video[controls]";function ne(e){return e.querySelector(uh)!==null}function Ee(e,t){let r=e.textContent.trim(),n=Vt(e),i=t.createElement("span");i.setAttribute("aria-hidden","true"),i.className=lh;let o=t.createElement("span");return o.className=ch,o.textContent=r,e.textContent="",e.append(i,o),{decorative:i,srOnly:o,originalText:r,restore:n}}function Ft(e){let t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),r=>r.segment)}function ph(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 Bt(e,t,r){e.className=r?`kui-split-item ${r}`:"kui-split-item",e.style.setProperty("--kui-i",String(t))}function Wt(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",ae(i??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","30ms"))}function cn(e,t,r){let n=e.timing.durationMs;return n===void 0||t<=0?e.ms("step",r):Math.max(1,n/t)}function qt(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 Ut(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 ln(e,t,r){let n=[],i=0,o=null;for(let s of Ft(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");Bt(a,i),a.textContent=s,o.append(a),n.push(a),i++}return n}function an(e,t){let r=e.doc.createElement("span");return Bt(r,e.spans.length),r.textContent=t,e.container.append(r),e.spans.push(r),r}function mh(e,t,r){for(let{segment:n}of r.segment(t))n.trim()===""?(e.leading&&an(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 ha(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 ph(r)){if(!o.isWord){mh(n,o.text,i);continue}n.preceding=an(n,n.leading+o.text),n.leading=""}return n.leading&&an(n,n.leading),n.spans}function dh(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 va(e,t){let r=dh(e);return e.replaceChildren(),r.map((n,i)=>{let o=t.createElement("span");Bt(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 fh(e,t,r){return ha(e,t,r),va(e,t)}function ba(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&&Bt(i,n++);return va(e,t)}function un(e,t,r,n){return e==="words"?ha(t,r,n):e==="lines"?fh(t,r,n):ln(t,r,n)}function Ea(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 Sa={upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",binary:"01",symbols:"!<>-_\\/[]{}=+*^?#~"};function Pa(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 gh=/^[A-Za-z0-9]{4}$/,ka={type:"keyword",default:'"wght"',cssProperty:"--kui-axis",keywords:[]},xa={axis:ka,from:{type:"number",default:"100",cssProperty:"--kui-from-axis",finite:!0},to:{type:"number",default:"900",cssProperty:"--kui-to-axis",finite:!0}};function wa(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(!gh.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:{...ka,keywords:[i]}}}}var yh="kui-sr-only",hh="kui-count-decorative";function Ca(e,t){let r=Vt(e),n=t.createElement("span");n.setAttribute("aria-hidden","true"),n.className=hh;let i=t.createElement("span");return i.className=yh,e.textContent="",e.append(n,i),{decorative:n,srOnly:i,restore:r}}function Ta(e){return 1-(1-Math.min(Math.max(e,0),1))**3}function Ra(e,t,r){return t+(r-t)*e}function Aa(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 x=m(y);if(Math.abs(x)<1e-6)break;let k=y-(l(y)-d)/x;if(Math.abs(l(k)-d)<1e-6)return k;y=k}let v=0,S=1;for(y=d;S-v>1e-6;)l(y)<d?v=y:S=y,y=(v+S)/2;return y}return d=>p(f(Math.min(Math.max(d,0),1)))}var vh={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]},bh=/^cubic-bezier\(\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\)$/i;function Kt(e,t){if(e===void 0)return Ta;if(e==="linear")return i=>Math.min(Math.max(i,0),1);let r=vh[e];if(r)return Aa(...r);let n=bh.exec(e);return n?Aa(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`),Ta)}var Eh={notation:"compact",maximumFractionDigits:1};function zt(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,Eh).format(e):new Intl.NumberFormat(void 0,{minimumFractionDigits:n,maximumFractionDigits:n}).format(e)}function pn(e,t){return Math.round(Math.max(0,e)).toString().padStart(t,"0")}function Yt(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 mn(e){return[...e].map(t=>({char:t,digit:t>="0"&&t<="9"}))}var Ma=16,Sh=1,Ph={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...R,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"}},kh={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...R,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"}};function Ia(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 xh(e,t){return t.reducedMotion?Sh:Math.max(0,Q(e,1600))}function La(e,t){return{durationMs:xh(e,t),delayMs:Math.max(0,e.timing.delayMs??e.ms("delay",0)),easing:Kt(e.timing.easing,t.warn)}}function Oa(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+=Ma;let y=i<=0?1:Math.min(c/i,1),v=y>=1;a(Ra(s(y),r,n),v),v&&(m(),l())},d=e.win.setTimeout(()=>{u=e.win.setInterval(f,Ma)},o);return{cleanup:m,finished:p,finish:()=>{m(),a(n,!0),l()}}}function Na(e,t,r){let n=Ca(e,t);try{let i=r(n);return{...i,cleanup:()=>{i.cleanup(),n.restore()}}}catch(i){throw n.restore(),i}}function _a(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 wh(e,t,r){if(ne(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=zt(i,u),p=zt(o,u);return _a(e,"count",p,r),Na(e,n,m=>{m.decorative.textContent=l,m.srOnly.textContent=p;let f=Oa(r,{from:i,to:o,...La(t,r),onTick:d=>{m.decorative.textContent=zt(d,u)}});return{cleanup:f.cleanup,finished:f.finished,finish:f.finish}})}function Th(e,t,r){let n=[];for(let i of mn(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 Ah(e,t){let r=0;for(let n of mn(t))n.digit&&(e[r]?.style.setProperty("--kui-o",n.char),r++)}function Ch(e,t,r){if(ne(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=Yt(pn(i,s)),c=Yt(String(Math.round(o)));return _a(e,"count-odometer",c,r),Na(e,n,u=>{u.srOnly.textContent=c;let l=Th(u.decorative,n,a),p=Oa(r,{from:i,to:o,...La(t,r),onTick:m=>{Ah(l,Yt(pn(m,s)))}});return{cleanup:p.cleanup,finished:p.finished,finish:p.finish}})}var Rh=[Ia("count",Ph,b(wh)),Ia("count-odometer",kh,b(Ch))],Mh=[{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"}}],Ih=[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])],Lh=[{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"}],Oh=[...Rh,...Ih],Nh=[...Mh,...Lh];function $a(e){return e.registerPrimitives(Oh).registerPresets(Nh)}var _h={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}},$h={from:{type:"percentage",default:"75%",cssProperty:"--kui-from-width"},to:{type:"percentage",default:"125%",cssProperty:"--kui-to-width"}},Dh={from:{type:"angle",default:"0deg",cssProperty:"--kui-from-slant"},to:{type:"angle",default:"10deg",cssProperty:"--kui-to-slant"}},Da={color:{type:"color",default:"currentColor",cssProperty:"--kui-sweep-color"}},jh={angle:{type:"angle",default:"-20deg",cssProperty:"--kui-from-angle"},distance:{type:"length",default:"32px",cssProperty:"--kui-distance"}},Hh=[h("text-shimmer",[g.background,g.color],{reducedMotion:"disable"}),h("text-gradient-sweep",[g.background,g.color],{parameters:Da}),h("text-sweep",[g.background],{parameters:Da}),h("text-outline-fill",[g.stroke,g.color]),h("var-weight",["font"],{parameters:_h}),h("var-width",["font"],{parameters:$h}),h("var-slant",["font"],{parameters:Dh}),{...h("var-axis",["font"],{parameters:xa}),variantFor:wa},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:jh})],Gh=[{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 Je(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 Vh={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...R,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"]}},Fh={stagger:{type:"time",default:"40ms",cssProperty:"--kui-stagger"},...R,motion:{type:"keyword",default:"wave",cssProperty:"--kui-motion",keywords:["wave","jitter"]}},Bh={step:{type:"time",default:"55ms",cssProperty:"--kui-step"},loop:{type:"keyword",default:"false",cssProperty:"--kui-loop",keywords:["true","false"]},...R},Wh={step:{type:"time",default:"40ms",cssProperty:"--kui-step"},...R,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"]}},qh={words:{type:"text",default:"",cssProperty:"--kui-words"},interval:{type:"time",default:"2200ms",cssProperty:"--kui-interval"},...R};function Uh(e,t,r){if(ne(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 Yh(e,t,r);let o=t.text("direction","fade"),s=Ee(e,n);s.decorative.setAttribute("data-kui-split-fx",o),Wt(s.decorative,t);let a=un(i,s.decorative,n,s.originalText),c,u=new Promise(p=>{c=p}),l=r.win.setTimeout(()=>{s.restore(),c()},qt(t,a.length));return{cleanup:()=>{r.win.clearTimeout(l),s.restore()},finished:u,finish:()=>{r.win.clearTimeout(l),s.restore(),c()}}}function ja(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 Kh(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,qt(t,n));return{finished:o,land:s,rearm(c){a!==void 0&&(e.win.clearTimeout(a),a=e.win.setTimeout(s,qt(t,c)))},cancel(){a!==void 0&&e.win.clearTimeout(a)}}}function zh(e,t,r,n){let i=!0,o=Gt(t.win,r),s=Le(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 Yh(e,t,r){let n=e.ownerDocument,i=Ee(e,n);i.decorative.setAttribute("data-kui-split-fx",t.text("direction","fade")),Wt(i.decorative,t);let o=un("lines",i.decorative,n,i.originalText),s=ja(e,r.win),a=!1,c=Kh(r,t,i,o.length),l=zh(e,r,()=>{let p=ja(e,r.win);if(!a&&p===s)return;a=!1,s=p;let m=ba(i.decorative,n);c.rearm(m.length)},()=>{a=!0});return{cleanup:()=>{l(),c.cancel(),i.restore()},finished:c.finished,finish:c.land}}function Xh(e,t,r){if(ne(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=Ee(e,n);return o.decorative.setAttribute("data-kui-split-fx",i),Wt(o.decorative,t),ln(o.decorative,n,o.originalText),o.restore}function Jh(e,t,r){if(ne(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=Ee(e,e.ownerDocument);i.decorative.classList.add("kui-typewriter");let o=Ft(i.originalText),s={index:0,deleting:!1},a=u=>{i.decorative.textContent=o.slice(0,u).join("")},c=Ut(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:cn(t,o.length,55),tick:()=>{let u=Ea(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 Zh(e,t,r){if(ne(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=Sa[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=Ee(e,e.ownerDocument);l.decorative.classList.add("kui-scramble");let p=Ft(l.originalText),m=0,f=0,d=()=>{l.decorative.textContent=Pa(p,m,n,Math.random)};d();let y=Math.max(1,p.length*i),v=Ut(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:cn(t,y,Math.max(1,700/y)),tick:()=>{f++,f%i===0&&m++,d();let S=m>=p.length;return S&&(u(),l.restore()),S}});return{cleanup:()=>{v.stop(),l.restore(),u()},finished:v.finished,finish:()=>{v.stop(),m=p.length,d(),u(),l.restore()}}}function Qh(e,t,r){if(ne(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=Ee(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=Ut(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 ev=[Je("split-text",[g.opacity,g.translate,g.clip,"content"],{parameters:Vh,prepare:b(Uh)}),Je("split-text-motion",[g.translate,g.rotate,"content"],{parameters:Fh,prepare:b(Xh),perfClass:"continuous"}),Je("typewriter",[g.clip,"content"],{parameters:Bh,prepare:b(Jh),perfClass:"continuous"}),Je("scramble-text",["content"],{parameters:Wh,prepare:b(Zh),perfClass:"continuous"}),Je("word-cycler",["content",g.opacity,"discrete"],{parameters:qh,prepare:b(Qh),perfClass:"continuous"})],tv="30ms",dn="90ms",Ha="160ms",rv=[{name:"split-chars",primitive:"split-text",params:{unit:"chars",direction:"fade",stagger:tv}},{name:"split-words",primitive:"split-text",params:{unit:"words",direction:"fade",stagger:dn}},{name:"split-lines",primitive:"split-text",params:{unit:"lines",direction:"fade",stagger:Ha}},{name:"text-reveal-up",primitive:"split-text",params:{unit:"words",direction:"up",stagger:dn},cloak:!0},{name:"text-reveal-down",primitive:"split-text",params:{unit:"words",direction:"down",stagger:dn},cloak:!0},{name:"text-reveal-mask",primitive:"split-text",params:{unit:"lines",direction:"mask",stagger:Ha},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"}]}],nv=[...Hh,...ev],iv=[...Gh,...rv];function Ga(e){return e.registerPrimitives(nv).registerPresets(iv)}var fn="",ov={angle:{type:"angle",default:fn,cssProperty:"--kui-static-angle"}};function sv(e,t,r){let n=t.text("angle",fn);return n!==fn&&r.style.set("rotate",n),A(()=>{})}var av=[{id:"rotate-static",renderer:"javascript",channels:[g.rotate],parameters:ov,supportedTimelines:te,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:T("rotate-static",{because:"it sets a fixed rotation once rather than animating, so there is no motion to time"},b(sv))}],cv=[{name:"rotate-static",primitive:"rotate-static"}];function Va(e){return e.registerPrimitives(av).registerPresets(cv)}function Fa(e){return ya(e),Ga(e),Os(e),$s(e),$a(e),ea(e),ta(e),_s(e),Va(e),ra(e),e}var Ze={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},pe=["time","view","scroll","pin"],Xt=[h("reveal",[g.opacity,g.translate],{timelines:pe,parameters:Ze}),h("scale",[g.scale],{timelines:pe,parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),h("scale-move",[g.scale,g.translate],{timelines:pe,parameters:{distance:Ze.distance,scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),h("rotate",[g.rotate],{timelines:pe,parameters:{angle:{type:"angle",default:"-8deg",cssProperty:"--kui-from-angle"}}}),h("roll",[g.rotate,g.translate],{timelines:pe,parameters:{distance:Ze.distance,angle:{type:"angle",default:"-120deg",cssProperty:"--kui-from-angle"}}}),h("flip-3d",[g.skew],{timelines:pe,parameters:{angle:{type:"angle",default:"90deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),h("blur",[g.filter],{timelines:pe,parameters:{blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),h("reveal-blur",[g.opacity,g.translate,g.filter],{timelines:pe,parameters:{...Ze,blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),h("parallax",[g.translate],{parameters:{distance:Ze.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"})],K=(e,t,r,n)=>({name:e,primitive:t,keyframes:r,...n?{params:n}:{}}),C=(e,t,r,n)=>({...K(e,t,r,n),cloak:!0,phase:"entrance"}),j=(e,t,r,n)=>({...K(e,t,r,n),phase:"exit"}),lv=[C("fade-in","reveal","kui-in"),j("fade-out","reveal","kui-out"),C("fade-up","reveal","kui-in-up"),C("fade-down","reveal","kui-in-down"),C("fade-left","reveal","kui-in-right"),C("fade-right","reveal","kui-in-left"),j("fade-out-up","reveal","kui-out-up"),j("fade-out-down","reveal","kui-out-down"),j("fade-out-left","reveal","kui-out-left"),j("fade-out-right","reveal","kui-out-right")],z={distance:"100px",opacity:"1"},uv=[C("slide-up","reveal","kui-in-up",z),C("slide-down","reveal","kui-in-down",z),C("slide-left","reveal","kui-in-right",z),C("slide-right","reveal","kui-in-left",z),j("slide-out-up","reveal","kui-out-up",z),j("slide-out-down","reveal","kui-out-down",z),j("slide-out-left","reveal","kui-out-left",z),j("slide-out-right","reveal","kui-out-right",z)],pv=[C("slide-inline-start","reveal","kui-in-inline-end",z),C("slide-inline-end","reveal","kui-in-inline-start",z),C("slide-block-start","reveal","kui-in-up",z),C("slide-block-end","reveal","kui-in-down",z)],mv=[C("zoom-in","scale","kui-zoom-in"),j("zoom-out","scale","kui-zoom-out"),C("pop-in","scale","kui-zoom-in",{scale:"0.6",ease:"back-out"}),j("pop-out","scale","kui-zoom-out",{scale:"0.6",ease:"back-in"}),C("zoom-in-up","scale-move","kui-zoom-in-up"),C("zoom-in-down","scale-move","kui-zoom-in-down")],dv=[C("flip-in-x","flip-3d","kui-flip-in-x"),C("flip-in-y","flip-3d","kui-flip-in-y"),j("flip-out-x","flip-3d","kui-flip-out-x"),j("flip-out-y","flip-3d","kui-flip-out-y")],fv=[C("rotate-in","rotate","kui-rotate-in"),j("rotate-out","rotate","kui-rotate-out"),C("rotate-in-left","rotate","kui-rotate-in",{angle:"-45deg"}),C("rotate-in-right","rotate","kui-rotate-in",{angle:"45deg"}),C("roll-in","roll","kui-roll-in"),j("roll-out","roll","kui-roll-out"),C("swing-in","rotate","kui-swing-in",{angle:"-15deg",ease:"back-out"})],gv=[C("blur-in","blur","kui-blur-in"),j("blur-out","blur","kui-blur-out"),C("fade-blur-up","reveal-blur","kui-fade-blur-up"),C("fade-blur-in","reveal-blur","kui-fade-blur-in")],yv=[C("bounce-in","scale","kui-zoom-in",{scale:"0.3",ease:"bounce"}),C("bounce-in-up","reveal","kui-in-up",{distance:"60px",ease:"back-out"}),C("bounce-in-down","reveal","kui-in-down",{distance:"60px",ease:"back-out"}),C("back-in-up","reveal","kui-in-up",{distance:"120px",ease:"expo-out"}),C("back-in-down","reveal","kui-in-down",{distance:"120px",ease:"expo-out"})],hv=[K("parallax-y","parallax","kui-parallax-y"),K("parallax-x","parallax","kui-parallax-x"),K("parallax-scale","parallax-scale","kui-parallax-scale"),K("parallax-rotate","parallax-rotate","kui-parallax-rotate"),K("depth-layer","parallax","kui-parallax-y",{distance:"200px"}),K("scroll-fade","scroll-fade","kui-scroll-fade"),K("scroll-desaturate","desaturate","kui-desaturate"),K("scroll-skew","skew","kui-scroll-skew"),K("scroll-progress-bar","progress","kui-progress-x"),K("scroll-progress-bar-y","progress","kui-progress-y"),K("scroll-progress-ring","progress-stroke","kui-progress-ring"),C("reveal-once","reveal","kui-in-up")],Jt=[...lv,...uv,...pv,...mv,...dv,...fv,...gv,...yv,...hv],Zt=[[["fade-up","blur-in"],"fade-blur-up"],[["fade-in","blur-in"],"fade-blur-in"]];function gn(e){e.registerPrimitives(Xt).registerPresets(Jt);for(let[t,r]of Zt)e.registerCombo(t,r);return e}var vv="data-kui-step-state",bv="data-kui-step-offset";function Ev(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 Sv(e,t){return(e%t+t)%t}function ie(e,t){let r=new Map,n=new Map,i=!1;return{mark(o){let{order:s,sizes:a}=Ev(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=Sv(o,p),f=r.get(c);f||(f=w(c),r.set(c,f)),f.set(vv,kv(l,m));let d=n.get(c);d||(d=N(c),n.set(c,d));let y=Pv(l,m,p);d.set("--kui-offset",String(y)),f.set(bv,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 Pv(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 kv(e,t){return e<t?"before":e===t?"active":"after"}function Qt(e,t){return t>0?(e+1)%t:0}function er(e,t){return t>0?(e-1+t)%t:0}function Ba(e,t){return t>0?(e%t+t)%t:0}function tr(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 rr(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=L(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 nr(e){let{el:t,params:r,ctx:n,scope:i,resolveSteps:o,onRender:s}=e,a=e.name??"step-progress",c=ie(o,I=>n.warn(`${a} ${I}`)),u=w(t),l=N(t),p=()=>tr(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=I=>{m=Ba(I,p()),f()},y=()=>d(Qt(m,p())),v=()=>d(er(m,p())),S=[],P=(I,H)=>{let Pe=O(r.text(I),n,`${a} ${I}`);return Pe?(L(t,n,Pe,i).length===0&&n.warn(`${a} ${I} "${Pe}" matched nothing`),S.push({selector:Pe,run:H}),!0):!1},x=[P("next",y),P("prev",v),P("jump",(I,H)=>{H>=0&&d(H)})].some(Boolean),k=e.clickFallback!==!1&&!x;k&&t.addEventListener("click",y);let M=rr({el:t,ctx:n,scope:i,groups:S});return f(),{goTo:d,next:y,prev:v,current:()=>m,total:p,release:()=>{k&&t.removeEventListener("click",y),M(),u.restore(),l.restore(),c.restore()}}}var xv={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...R,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},Wa={because:"forms.css pins its timing literally \u2014 the motion lands on a sibling that inline custom properties cannot reach"},qa={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:T("native-state",Wa,()=>ft())};function wv(e){return(t,r)=>{let n=t.nextElementSibling;return n?.style.setProperty(e,String(r.num("scale",1))),()=>n?.style.removeProperty(e)}}function Ua(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:T(e,Wa,b(wv(t)))}}var Ka=Ua("toggle-morph","--kui-toggle-scale"),za=Ua("radio-fill","--kui-radio-scale"),Ya=h("focus-ring",["shadow"],{activations:["focus","manual"],defaultActivation:"focus"}),Xa=h("validate-shake",[g.translate],{activations:["click","manual"],defaultActivation:"click"}),Ja=h("validate-check",[g.stroke],{activations:["click","manual"],defaultActivation:"click"});function ir(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...xv,...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:n}}function Tv(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 Av(e){let t=e,r=()=>{e.setAttribute("data-kui-strength-level",String(Tv(t.value)))};return t.addEventListener("input",r),r(),()=>{t.removeEventListener("input",r),e.removeAttribute("data-kui-strength-level")}}function Cv(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 Za=ir("strength-meter",["meter"],{},b(Av)),Qa=ir("range-fill",[g.background],{},b(Cv));function Rv(e,t,r){let n=O(t.text("target"),r,"step-progress"),i=_(t,"page");return nr({el:e,params:t,ctx:r,scope:i,resolveSteps:()=>n?L(e,r,n,i):e.children}).release}var Mv=ir("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:D},b(Rv)),ec={...Mv,reducedMotion:"shorten"};function yn(e){return e==="idle"?"loading":e==="loading"?"done":"idle"}function Iv(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=yn(o),a()},u=()=>{o=yn(o),a(),s=r.win.setTimeout(c,i)},l=()=>{o==="idle"&&(o=yn(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 tc=ir("submit-flow",["state"],{load:{type:"time",default:"1200ms",cssProperty:"--kui-load"},hold:{type:"time",default:"1500ms",cssProperty:"--kui-hold"}},b(Iv));var Lv=[qa,Ya,Xa,Ja,Za,Ka,za,Qa,ec,tc],Ov=[{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 rc(e){return e.registerPrimitives(Lv).registerPresets(Ov)}function Nv(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 _v(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 $v(e,t){return t==="x"?{...e,dy:0,vy:0}:t==="y"?{...e,dx:0,vx:0}:e}function me(e,t,r={},n=Dv()){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;function d(k){return{x:k.clientX,y:k.clientY,time:n.now()}}function y(k){let M=l,{vx:I,vy:H}=Nv(u);return $v({dx:k.x-M.x,dy:k.y-M.y,vx:I,vy:H},o)}function v(){m!==null&&n.clearTimer(m),m=null}function S(k){l=d(k),u=[l],p=!1,f=!1,a&&e.setPointerCapture?.(k.pointerId),c>0&&(m=n.setTimer(()=>{f=!0,t.onLongPress?.(l)},c))}function P(k){if(!l)return;let M=d(k);u.push(M),u.length>12&&u.shift();let I=y(M);!p&&Math.hypot(I.dx,I.dy)<i||(p||(p=!0,v(),t.onStart?.(l)),t.onMove?.(I,M))}function x(k){if(v(),a&&e.releasePointerCapture?.(k.pointerId),!l)return;let M=d(k);u.push(M);let I=y(M);if(p){t.onEnd?.(I,M);let H=_v(I,s);H&&t.onSwipe?.(H,I)}else f&&t.onEnd?.(I,M);l=null,p=!1,f=!1,u=[]}return e.addEventListener("pointerdown",S),e.addEventListener("pointermove",P,{passive:!0}),e.addEventListener("pointerup",x,{passive:!0}),e.addEventListener("pointercancel",x,{passive:!0}),()=>{v(),e.removeEventListener("pointerdown",S),e.removeEventListener("pointermove",P),e.removeEventListener("pointerup",x),e.removeEventListener("pointercancel",x)}}function Dv(){return{now:()=>typeof performance>"u"?Date.now():performance.now(),setTimer:(e,t)=>globalThis.setTimeout(e,t),clearTimer:e=>globalThis.clearTimeout(e)}}function nc(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 ic={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}},jv="it is driven by pointer position and velocity, so it has no start moment and no authored curve";function or(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:T(e,{honours:i,because:jv},n)}}function sc(e){return{...X,stiffness:e.num("stiffness",X.stiffness),damping:e.num("damping",X.damping),mass:e.num("mass",X.mass)}}function ac(e){return{...it(),warn:e.warn}}function hn(e,t,r){e.style.set("translate",`${t.toFixed(2)}px ${r.toFixed(2)}px`)}function Hv(e,t,r){let n=sc(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=ac(r),m={x:se(n,y=>f({...u,x:y}),p),y:se(n,y=>f({...u,y}),p)};function f(y){u.x=y.x,u.y=y.y,hn(r,u.x,u.y)}let d=me(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:oc(l.x+y.dx,i,a),y:oc(l.y+y.dy,i,a)})},onEnd(y){e.setAttribute("data-kui-dragging","false"),Gv(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 oc(e,t,r){return t>0?nc(e,t,r):e}function Gv(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 Vv(e,t){let r=me(e,{onSwipe(n){e.setAttribute("data-kui-swipe",n)}},{axis:t.text("axis","both"),swipeVelocity:t.num("velocity",300),capturePointer:!1});return()=>{r(),e.removeAttribute("data-kui-swipe")}}function Fv(e,t){let r=me(e,{onLongPress(){e.setAttribute("data-kui-pressed","true")},onEnd(){e.setAttribute("data-kui-pressed","false")}},{longPressMs:Q(t,500)});return()=>{r(),e.removeAttribute("data-kui-pressed")}}function Bv(e,t,r){let n=e,i=t.num("radius",120),o=t.num("strength",.35),s=sc(t),a=ac(r),c={x:0,y:0},u=se(s,m=>{c.x=m,hn(r,c.x,c.y)},a),l=se(s,m=>{c.y=m,hn(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 cc=[or("draggable",["translate"],{...ic,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(Hv)),or("swipeable",["state"],{axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},velocity:{type:"number",default:"300",cssProperty:"--kui-velocity"}},b(Vv)),or("pressable",["state"],{duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"}},b(Fv)),or("magnetic",["translate"],{...ic,radius:{type:"number",default:"120",cssProperty:"--kui-radius"},strength:{type:"number",default:"0.35",cssProperty:"--kui-strength"}},b(Bv))];var Wv=[{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 lc(e){return e.registerPrimitives(cc).registerPresets(Wv)}var uc=.5;function qv(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}function Uv(e,t,r){let n=e.animate;return typeof n=="function"?n.call(e,t,r):null}function vn(e={}){let t=e.measure??qv,r=e.animate??Uv;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=Kv(n,i,t,o.scale??!1);return s.length===0?{moved:[],finished:Promise.resolve(),cancel:()=>{}}:Yv(s,r,o)}}}function Kv(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=zv(o,s,a,n);c&&i.push(c)}return i}function zv(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)<uc&&Math.abs(o)<uc&&Math.abs(s-1)<.001&&Math.abs(a-1)<.001?null:{el:e,dx:i,dy:o,sx:s,sy:a}}function Yv(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=he(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 bn(){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 pc(e,t,r,n){let i=t.snapshot(e.children),o=bn(),s=n(()=>{o.track(t.play(i,e.children,r)),i=t.snapshot(e.children)});return()=>{s(),o.cancelAll()}}function mc(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 Xv={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...R,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}};function En(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...Xv,...r},supportedTimelines:["time"],supportedActivations:["load","manual","click"],defaultActivation:"load",perfClass:"layout",reducedMotion:"disable",prepare:n}}function Jv(e,t,r){let n=vn();return pc(e,n,{durationMs:Q(t,400),delayMs:Re(t),easing:ct($t(t),e,r.warn),scale:t.is("scale")},mc(e))}function Zv(e,t,r){let n=e;r.style.set("overflow","hidden"),r.style.claim("height");let i=Q(t,400),o=Re(t),s=ct($t(t),e,r.warn),a=null,c=n.getBoundingClientRect().height,u=dc(n,t.text("attribute"),()=>{a?.cancel();let l=Qv(n,c);c=l.to,a=eb(n,l,{duration:i,delay:o,easing:s})});return r.invalidate(),()=>{u(),a?.cancel()}}function Qv(e,t){e.style.removeProperty("height");let r=e.getBoundingClientRect().height;return{from:t,to:r}}function eb(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=he(e);return o!==1&&(i.playbackRate=o),i}function tb(e,t,r){let n=e,i=vn(),o=ct($t(t),e,r.warn),s=t.text("follow"),a=bn(),c=0,u=null,l=()=>{if(!s)return;let y=r.doc.querySelector(s);if(!(y instanceof Element))return;let v=i.snapshot([n]),S=y.getBoundingClientRect(),P=n.getBoundingClientRect(),x=S.left-P.left+c;c=x,r.style.set("width",`${S.width}px`),r.style.set("translate",`${x}px 0`),a.track(i.play(v,[n],{durationMs:Q(t,400),delayMs:Re(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=Gt(r.win,p),f=Le(r.win,m.request);f.observe(e.parentElement??e),u&&f.observe(u);let d=dc(r.doc.documentElement,t.text("attribute"),p);return()=>{d(),f.disconnect(),m.cancel(),a.cancelAll()}}function dc(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 fc=[En("flip-container",["translate","scale"],{scale:{type:"keyword",default:"false",cssProperty:"--kui-flip-scale",keywords:["true","false"]}},b(Jv)),En("auto-height",["layout"],{attribute:{type:"text",default:"data-open",cssProperty:"--kui-attribute"}},b(Zv)),En("flip-indicator",["translate","layout"],{follow:{type:"text",default:"",cssProperty:"--kui-follow"},attribute:{type:"text",default:"aria-selected",cssProperty:"--kui-attribute"}},b(tb))];var gc=[{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 yc(e){return e.registerPrimitives(fc).registerPresets(gc)}var rb="offset",nb=["time","view","scroll","pin"],ib={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"}},ob=[h("motion-path",[rb],{timelines:nb,parameters:ib})],sb="kui-motion-travel",Qe=(e,t,r)=>({name:e,primitive:"motion-path",keyframes:sb,params:{path:t,...r}}),ab=[Qe("motion-path","M 0 0 L 120 0",{duration:"1200ms"}),Qe("path-arc","M 0 0 C 40 -70 120 -70 160 0",{duration:"1200ms",ease:"ease-in-out"}),Qe("path-wave","M 0 0 C 45 -45 105 45 150 0",{duration:"1600ms",ease:"ease-in-out"}),Qe("path-loop","M 0 0 C 0 -70 110 -70 110 0 C 110 70 0 70 0 0",{duration:"2400ms",ease:"linear"}),{...Qe("path-swoop","M -120 70 C -70 70 -25 25 0 0",{duration:"900ms",ease:"expo-out"}),cloak:!0}];function hc(e){return e.registerPrimitives(ob).registerPresets(ab)}var cb=[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"})],lb=[{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"}],ub="it reacts to scroll position rather than a clock, so style the state attribute it publishes and put your timing there";function Sn(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:T(e,{because:ub},n)}}function Pn(e,t,r){return t.scheduler.subscribe(t.rootFor(e),n=>r(n.metrics.scrollTop))}function pb(e,t,r){let n=t.num("offset",120),i=w(e),o=Pn(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 mb(e,t,r){let n=t.num("offset",8),i=0,o=w(e),s=Pn(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 db(e,t,r){let n=t.num("offset",400),i=w(e),o=Pn(e,r,s=>{i.set("data-kui-visible",String(s>n))});return()=>{o(),i.restore()}}var fb=[Sn("header-shrink",["layout","shadow"],{offset:{type:"number",default:"120",cssProperty:"--kui-offset"}},b(pb)),Sn("header-hide-on-scroll",[g.translate],{offset:{type:"number",default:"8",cssProperty:"--kui-offset"}},b(mb)),Sn("back-to-top-fade",[g.opacity,g.translate],{offset:{type:"number",default:"400",cssProperty:"--kui-offset"}},b(db))],gb=[{property:"padding-block",duration:"200ms",easing:"ease-out"},{property:"font-size",duration:"200ms",easing:"ease-out"},{property:"box-shadow",duration:"200ms",easing:"ease-out"}],yb=[{name:"header-shrink",primitive:"header-shrink",transitions:gb},{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"}]}],hb=[...cb,...fb],vb=[...lb,...yb];function vc(e){return e.registerPrimitives(hb).registerPresets(vb)}var kn=e=>{let t=e.getBoundingClientRect();return{top:t.top,height:t.height}},xn=e=>{let t=e.ownerDocument?.defaultView;return t?t.getComputedStyle(e).position:"static"},bb=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 Eb(e,t){let r=null;for(let n=e;n;n=n.parentElement)t(n)==="sticky"&&(r=n);return r?.parentElement??e}function Sb(e,t,r,n){let i=Eb(e,n);return i===e?t.top:r(i).top}function oe(e,t,r,n){let i=r.measure??kn,o=r.positionOf??xn,s=r.offsetOf??bb,a=0,c=0,u=ye(()=>{let f=i(e),d=r.contentAnchor?i(r.contentAnchor):null,y=d?d.top-f.height:Sb(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!==""&&!kb(l)&&!r.contentAnchor&&wb(t,l);let m=l!==""&&xb(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:Tb(r.distance,{top:0,height:d.height},f);n(Ab(d.contentTop-a,y),f)})}var wn={viewportWidth:1,viewportHeight:1,percentBasis:1,fontSize:16,rootFontSize:16},Pb={...wn,percentBasis:2};function kb(e){return Number.isFinite(ee(e,wn,Number.NaN))}function xb(e){let t=ee(e,wn,Number.NaN);return Number.isFinite(t)?t!==ee(e,Pb,Number.NaN):!0}function wb(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 Tb(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 ee(e,n,t.height)}function Ab(e,t){return t<=0?0:xs(-e/t)}function Cb(e,t){return ee(e,{viewportWidth:t.metrics.viewportWidth,viewportHeight:t.metrics.viewportHeight,percentBasis:0,fontSize:16,rootFontSize:16},0)}function Rb(e,t,r){let n=-1;for(let i=0;i<e.length;i++)e[i]-t-r<=0&&(n=i);return n}function sr(e){let{el:t,sections:r,ctx:n,onChange:i}=e,o=e.offsetTop??"0px",s=0,a=0,c=ye(()=>r.map(p=>kn(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=Cb(o,p),d=Rb(m,s,f);if(d===u)return;let y=u;u=d,i(d,y)});return Object.assign(()=>l(),{release:()=>l()})}function bc(e,t,r){let n=t.text("sections");if(n){let i=O(n,r,"scroll-spy sections");return Nb(e,t,r,i)}return Mb(e,t,r)}function Mb(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=O(t.text("target"),r,"scroll-spy"),i=_(t,"page"),o=new Map,s=w(e),a,c=oe(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&&Ib(L(e,r,n,i),l,o))});return A(()=>{c(),s.restore();for(let u of o.values())u.restore()})}function Ib(e,t,r){for(let n of e){let i=r.get(n);i||(i=w(n),r.set(n,i)),i.set("data-kui-active",String(t))}}function Lb(e){let t=e.getAttribute("href")??"",r=t.indexOf("#");return r===-1?"":t.slice(r)}function Ob(e,t,r,n){let i=new Map;for(let a of t){let c=Lb(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 Nb(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=O(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?L(e,r,i,o):[],c=Ob(s,a,r,n),u=c.map(d=>w(d.section)),l=new Map;for(let{link:d}of c)d&&!l.has(d)&&l.set(d,w(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=sr({el:e,sections:s,ctx:r,offsetTop:p,onChange:(d,y)=>{y!==-1&&m(y,!1),d!==-1&&m(d,!0)}});return A(()=>{f();for(let d of u)d.restore();for(let d of l.values())d.restore()})}var Oe={distance:{type:"length",default:"100vh",cssProperty:"--kui-distance"}},Tn={"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 _b="--kui-progress";function Ec(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")?Sc(e,t.text("distance"),r):null;return{spacer:n?.spacer??null,dispose:()=>n?.remove()}}function Se(e){let{id:t,channels:r,parameters:n,prepare:i,perfClass:o="compositor"}=e;return{id:t,renderer:"javascript",channels:r,parameters:n,supportedTimelines:te,supportedActivations:["manual","load","enter"],defaultActivation:"load",perfClass:o,reducedMotion:"disable",prepare:T(t,{because:"it is driven by scroll position rather than a clock, so it has no start moment and no fixed span"},i)}}function Ne(e,t){e.style.set(_b,t.toFixed(4))}function $b(e,t,r){let n=e,{spacer:i,dispose:o}=Ec(n,t,r),s=i?n:n.parentElement??e,a=oe(s,r,{distance:t.text("distance"),contentAnchor:i??void 0,stickyEl:n},c=>{Ne(r,c);let u=c>0&&c<1&&xn(n)==="sticky";e.setAttribute("data-kui-pinned",u?"true":"false")});return A(()=>{a(),o(),e.removeAttribute("data-kui-pinned")})}function Sc(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 Db(e,t,r){let n=Math.max(0,Math.round(t.num("steps",0))),i=O(t.text("target"),r,"scroll-progress"),o=_(t,"page"),s=ie(()=>L(e,r,i,o),l=>r.warn(`scroll-progress ${l}`)),a=w(e),c,u=oe(e,r,{distance:t.text("distance")},l=>{if(Ne(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 A(()=>{u(),a.restore(),s.restore()})}function jb(e,t,r){let n=O(t.text("target"),r,"horizontal-track");if(!n)return Hb(e,t,r);let i=_(t,"self"),o=L(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`),Gb(e,s,t,r)):(r.warn(`horizontal-track target "${n}" matched nothing inside this element`),()=>{})}function Hb(e,t,r){let n=t.text("travel","auto"),i=ye(()=>Pc(e,n,e.ownerDocument));return A(oe(e,r,{distance:t.text("distance")},(o,s)=>{r.style.set("translate",`${-o*i.read(s.epoch)}px 0`),Ne(r,o)}))}function Gb(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}=Sc(e,r.text("distance"),n),a=N(t);a.set("display","flex"),a.set("width","max-content");let c=r.text("travel","auto"),u=ye(()=>Pc(t,c,t.ownerDocument)),l=oe(e,n,{distance:r.text("distance"),contentAnchor:o,stickyEl:e},(p,m)=>{a.set("translate",`${-p*u.read(m.epoch)}px 0`),Ne(n,p)});return A(()=>{l(),a.restore(),s()})}function Pc(e,t,r){if(t&&t!=="auto")return ee(t,Zi,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 Vb(e,t,r){let n=t.is("spacer")?Ec(e,t,r):null,i=n?.spacer??void 0,o=n?e:void 0,s=O(t.text("target"),r,"media-scrub"),a=_(t,"page"),c=s?Fb(e,t,r,{selector:s,scope:a,contentAnchor:i,stickyEl:o}):Bb(e,t,r,{contentAnchor:i,stickyEl:o});return A(()=>{c(),n?.dispose()})}function Fb(e,t,r,n){let{selector:i,scope:o,contentAnchor:s,stickyEl:a}=n,c=ie(()=>L(e,r,i,o),m=>r.warn(`media-scrub ${m}`)),u=Math.max(1,L(e,r,i,o).length),l,p=oe(e,r,{distance:t.text("distance"),contentAnchor:s,stickyEl:a},m=>{Ne(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 Bb(e,t,r,n){let{contentAnchor:i,stickyEl:o}=n,s=Math.max(1,Math.round(t.num("frames",1))),a=Wb(t.text("src"),r),c=e,u=-1;return oe(e,r,{distance:t.text("distance"),contentAnchor:i,stickyEl:o},p=>{Ne(r,p);let m=Math.min(s-1,Math.floor(p*s));m!==u&&(u=m,qb(c,{index:m,frames:s,progress:p,pattern:a}))})}function Wb(e,t){return!e||Yi(e)?e:(t.warn(`media-scrub "src" must be a same-origin path, got "${e}" \u2014 ignoring`),"")}function qb(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 Ub(e,t,r){return r.style.set("scroll-behavior",t.text("behavior","smooth")),()=>{}}function Kb(e,t,r){let n=t.is("axis","x")?"x":"y";r.style.set("scroll-snap-type",`${n} ${t.text("strictness","mandatory")}`);let i=O(t.text("target"),r,"scroll-snap"),o=_(t,"self"),s=i?L(e,r,i,o):[...e.children];i&&s.length===0&&r.warn(`scroll-snap target "${i}" matched nothing inside this element`),i&&zb(n,r);let a=s.map(c=>N(c));for(let c of a)c.set("scroll-snap-align",t.text("align","start"));return()=>{for(let c of a)c.restore()}}function zb(e,t){t.style.set(e==="x"?"overflow-x":"overflow-y","auto"),e==="x"&&t.style.set("display","flex")}var kc=[Se({id:"pin",channels:["layout","progress"],parameters:{...Oe,...Tn},prepare:b($b),perfClass:"layout"}),Se({id:"scroll-progress",channels:["progress"],parameters:{...Oe,steps:{type:"number",default:"0",cssProperty:"--kui-steps"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:D},prepare:b(Db)}),Se({id:"horizontal-track",channels:["translate","progress"],parameters:{...Oe,travel:{type:"text",default:"auto",cssProperty:"--kui-travel"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:D,"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"}},prepare:b(jb)}),Se({id:"media-scrub",channels:["media","progress"],parameters:{...Oe,...Tn,frames:{type:"number",default:"1",cssProperty:"--kui-frames"},src:{type:"text",default:"",cssProperty:"--kui-src"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:D},prepare:b(Vb),perfClass:"paint"}),Se({id:"scroll-spy",channels:["state"],parameters:{...Oe,target:{type:"text",default:"",cssProperty:"--kui-target"},scope:D,sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"0px",cssProperty:"--kui-offset-top"}},prepare:b(bc)}),Se({id:"smooth-scroll",channels:["scroll-behavior"],parameters:{behavior:{type:"keyword",default:"smooth",cssProperty:"--kui-scroll-behavior",keywords:["smooth","auto"]}},prepare:b(Ub),perfClass:"layout"}),Se({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:D},prepare:b(Kb),perfClass:"layout"})];var xc=[{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 wc(e){return e.registerPrimitives(kc).registerPresets(xc)}var Yb=/([mlhvcz])|(-?(?:\d+(?:\.\d+)?|\.\d+))/gi,Xb=/[AaSsQqTt]/;function Jb(e,t,r){let n=e[t];r.command=n,n.toLowerCase()==="z"&&eE(r);let i=Ic[n.toLowerCase()],o=e[t+1];if(i>0&&(o===void 0||/[a-z]/i.test(o)))return An(n,i,"0")}function Zb(e,t){let r=0;for(;r<e.length;){let n=e[r];if(/[a-z]/i.test(n)){let o=Jb(e,r,t);if(o!==void 0)return o;r++;continue}if(!t.command)return"path must start with a command letter";let i=tE(e,r,t);if("reason"in i)return i.reason;r=i.index}}function Tc(e){if(Xb.test(e))return{segments:[],subpaths:[],reason:"arc and shorthand commands (A S Q T) are not supported"};let t=[...e.matchAll(Yb)].map(i=>i[1]??i[2]),r={subpaths:[],open:void 0,current:{x:0,y:0},start:{x:0,y:0},command:""},n=Zb(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 Qb(e,t){e.open||(e.open={segments:[],closed:!1},e.subpaths.push(e.open)),e.open.segments.push(t)}var Ic={m:2,l:2,h:1,v:1,c:6,z:0};function eE(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(Lc(t,r)),n.closed=!0,e.current={...r},e.open=void 0)}function An(e,t,r){return`'${e}' expects ${t} number${t===1?"":"s"}, found ${r}`}function tE(e,t,r){let n=r.command.toLowerCase(),i=r.command===n,o=Ic[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:An(r.command,o,String(s.length))};let a=s.findIndex(Number.isNaN);if(a!==-1)return{reason:An(r.command,o,`the command letter '${e[t+a]}'`)};let c=rE(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}):(Qb(r,nE({key:n,args:s,from:r.current,relative:i},c)),r.current=c,{index:t+o})}function rE(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 nE(e,t){let{key:r,args:n,from:i,relative:o}=e;if(r!=="c")return Lc(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 Lc(e,t){return{from:e,c1:Y(e,t,1/3),c2:Y(e,t,2/3),to:t}}function Ac(e,t,r){return e+(t-e)*r}function Y(e,t,r){return{x:Ac(e.x,t.x,r),y:Ac(e.y,t.y,r)}}function iE(e,t){let r=Y(e.from,e.c1,t),n=Y(e.c1,e.c2,t),i=Y(e.c2,e.to,t),o=Y(r,n,t),s=Y(n,i,t),a=Y(o,s,t);return[{from:e.from,c1:r,c2:o,to:a},{from:a,c1:s,c2:i,to:e.to}]}function Cc(e,t){let r=[...e];for(;r.length<t&&r.length>0;){let n=0;for(let s=1;s<r.length;s++)Rc(r[s])>Rc(r[n])&&(n=s);let[i,o]=iE(r[n],.5);r.splice(n,1,i,o)}return r}function Rc(e){return Math.hypot(e.to.x-e.from.x,e.to.y-e.from.y)}function de(e){return Math.round(e*100)/100}function oE(e){let t=[];for(let r of e){let n=r.segments[0];t.push(`M${de(n.from.x)},${de(n.from.y)}`);for(let i of r.segments)t.push(`C${de(i.c1.x)},${de(i.c1.y)} ${de(i.c2.x)},${de(i.c2.y)} ${de(i.to.x)},${de(i.to.y)}`);r.closed&&t.push("Z")}return t.join(" ")}function sE(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 Mc(e){let t=sE(e);return{segments:e.segments.map(()=>({from:{...t},c1:{...t},c2:{...t},to:{...t}})),closed:e.closed}}function aE(e,t){let r=Math.max(e.length,t.length),n=[],i=[];for(let o=0;o<r;o++){let s=e[o]??Mc(t[o]),a=t[o]??Mc(e[o]),c=Math.max(s.segments.length,a.segments.length),u=s.closed&&a.closed;n.push({segments:Cc(s.segments,c),closed:u}),i.push({segments:Cc(a.segments,c),closed:u})}return{from:n,to:i}}function Oc(e,t){let r=Tc(e),n=Tc(t);if(r.reason)return{reason:`start path: ${r.reason}`};if(n.reason)return{reason:`end path: ${n.reason}`};let{from:i,to:o}=aE(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 oE(i.map((u,l)=>({segments:u.segments.map((p,m)=>cE(p,o[l].segments[m],c)),closed:u.closed})))}}}}function cE(e,t,r){return{from:Y(e.from,t.from,r),c1:Y(e.c1,t.c1,r),c2:Y(e.c2,t.c2,r),to:Y(e.to,t.to,r)}}var lE="line, rect, path, polyline, circle";function uE(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(lE)):t.filter(n=>n.textContent.trim()==="")}function Nc(e){return(t,r,n)=>{if(!t.querySelector(".kui-bar")){let i=uE(t);if(i.length>0){let o=i.map(s=>{let a=w(s);return a.set(E.part,"bar"),a});n.signal.addEventListener("abort",()=>{for(let s of o)s.restore()},{once:!0})}}return e(t,r,n)}}function pE(e,t,r){let n=e,i=t.text("from")||n.getAttribute("d")||"",{morph:o,reason:s}=Oc(i,t.text("to"));if(!o)return r.warn(`cannot morph: ${s}`),()=>{};let a=Q(t,300),c=Kt(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 S=performance.now(),P=f,x=v===1?u:0,k=M=>{if(p)return;let I=M-S-x;if(I<0){l=requestAnimationFrame(k);return}let H=a>0?Math.min(1,I/a):1;f=P+(v-P)*c(H),n.setAttribute("d",o.at(f)),H<1&&(l=requestAnimationFrame(k))};l=requestAnimationFrame(k)},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 mE=h("path-draw",[g.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length",finite:!0}}}),dE=h("shape-fill",[g.clip]),fE=h("bar-grow",[g.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),gE=h("logo-assemble",[g.opacity,g.scale,g.rotate]),yE={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"},...R,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:Nc(q("icon-toggle",{honours:V,because:"svg.css pins that value on this effect"}))},hE=[{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"},...R,ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["hover","focus","manual","load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"disable",prepare:b(pE)},mE,dE,fE,gE,yE],vE=[{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 _c(e){return e.registerPrimitives(hE).registerPresets(vE)}var bE=":scope > .kui-face-front, :scope > .kui-face-back",$c=`:scope > :is(.kui-flip-control, [${E.part}~='control'])`;function EE(e,t){if(e.querySelector(bE))return;let[r,n]=Array.from(e.children).filter(i=>i.tagName!=="BUTTON");r&&t(r,"front"),n&&t(n,"back")}function SE(e,t,r){let n=t.createElement("button");return n.type="button",n.className="kui-flip-control",n.setAttribute(E.part,r?"control injected quiet":"control injected"),n.setAttribute("aria-pressed","false"),n.textContent="Flip card",e.append(n),n}function PE(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=SE(e,t,r);return{control:s,injected:s}}function Dc(e,t,r){let n=[],i=(l,p)=>{let m=w(l);m.set(E.part,p),n.push(m)};EE(e,i);let o=t.text("trigger","click")!=="click",{control:s,injected:a}=PE(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 kE(e,t,r){Ye("card-toggle",V,t,r);let n=t.text("trigger","click");if(n==="click")return()=>{};if(!re(r.win))return()=>{};let i=e.querySelector($c),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 xE(e,t,r){let n=Dc(e,t,r);return r.signal.addEventListener("abort",n.cleanup,{once:!0}),b(kE)(e,t,r)}var wE={id:"card-toggle",renderer:"javascript",channels:[g.rotate,"discrete"],parameters:{duration:{type:"time",default:"700ms",cssProperty:"--kui-duration"},...R,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:xE},TE=[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"}}}),wE],AE=[{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 jc(e){return e.registerPrimitives(TE).registerPresets(AE)}var CE=.28,Hc=4,RE=6;function ME(e,t,r){if(r<=0)return e;let n=t/r*CE,i=Math.max(-Hc,Math.min(Hc,n));return e-i}function Gc(e){return Math.round(e)+0}function Vc(e,t){return t>0?(e%t+t)%t:0}var IE={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1,PageDown:1,PageUp:-1,Home:null,End:null};function Fc(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?me(t,{onStart(){c(!0)},onMove(d){a(s()-d.dx/i)},onEnd(d){c(!1),u=!0;let y=Gc(ME(s(),d.vx,i));a(Vc(y,o()))}},{axis:"x",threshold:RE}):()=>{};n&&r.style.set("touch-action","pan-y");let m=d=>{let y=d,v=y.key,S=IE[v];if(S===void 0||y.altKey||y.ctrlKey||y.metaKey)return;let P=o(),x=v==="Home"?0:P-1,k=S===null?x:Gc(s())+S;d.preventDefault(),a(Vc(k,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 LE="data-kui-ring-dragging",OE="data-kui-ring-face",NE=90,_E=[["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 $E(e,t){let r=e.ownerDocument.body,n=e.parentElement;for(;n&&n!==r;){let i=DE(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 DE(e,t){let r=t.win.getComputedStyle?.(e);if(!r)return null;for(let[n,i]of _E){let o=r.getPropertyValue(n);if(i(o))return{property:n,value:o}}return null}function jE(e,t){let r=e.attributes.get(t);r||(r=w(t),e.attributes.set(t,r));let n=e.styles.get(t);return n||(n=N(t),e.styles.set(t,n)),{attributes:r,styles:n}}function HE(e){return Math.abs(GE(e))>=NE?"back":"front"}function GE(e){let t=(e%360+360)%360;return t>180?t-360:t}function Cn(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 VE={duration:{type:"time",default:"620ms",cssProperty:"--kui-duration"},...R,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:D};function FE(e,t){for(let r of t){let n=r.offsetWidth;n>0&&e.set("--kui-item-width",`${n}px`);return}}function BE(e,t,r){$E(e,r),Ye("spatial-ring",V,t,r);let n=O(t.text("target"),r,"carousel"),i=_(t,"self"),o=()=>n?L(e,r,n,i):e.children,s=ie(o,k=>r.warn(`carousel ${k}`)),a=()=>tr(t,o),c=w(e),u=N(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=WE(t.text("arc","360deg"),360),d=()=>{let k=a(),{step:M,drift:I}=Cn(m,k);c.set("data-kui-step",String(M)),u.set("--kui-step",String(M)),u.set("--kui-step-position",(M+I).toFixed(4)),s.mark(M);let H=[...o()];p&&FE(u,H);let Pe=f/k;for(let Nn of H){let Nl=(Number(Nn.getAttribute("data-kui-step-offset"))-I)*Pe;jE(l,Nn).attributes.set(OE,HE(Nl))}},y=k=>{m=k,d()},v=[],S=(k,M)=>{let I=O(t.text(k),r,`carousel ${k}`);return I?(L(e,r,I,i).length===0&&r.warn(`carousel ${k} "${I}" matched nothing`),v.push({selector:I,run:M}),!0):!1};S("next",()=>y(Qt(Cn(m,a()).step,a()))),S("prev",()=>y(er(Cn(m,a()).step,a()))),S("jump",(k,M)=>{M>=0&&y(M)});let P=rr({el:e,ctx:r,scope:i,groups:v}),x=Fc({el:e,ctx:r,enabled:t.is("grab"),travelPx:t.num("travel",220),total:a,positionOf:()=>m,moveTo:y,setDragging:k=>c.set(LE,String(k))});return d(),()=>{x(),P(),s.restore();for(let k of l.attributes.values())k.restore();for(let k of l.styles.values())k.restore();l.attributes.clear(),l.styles.clear(),c.restore(),u.restore()}}function WE(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 qE={id:"spatial-ring",renderer:"javascript",channels:[g.skew,"discrete"],parameters:VE,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:b(BE)},UE=[qE],KE=[{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 Bc(e){return e.registerPrimitives(UE).registerPresets(KE)}var Rn=["translate","rotate","scale","opacity","filter","color","background"],Wc={translate:g.translate,rotate:g.rotate,scale:g.scale,opacity:g.opacity,filter:g.filter,color:g.color,background:g.background};function $(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([$("translate","x","length","0"),$("translate","y","length","0"),$("translate","z","length","0"),$("rotate","rotate","angle","0deg"),$("scale","scale","number","1"),$("scale","scale-x","number","1"),$("scale","scale-y","number","1"),$("opacity","opacity","number","1"),$("filter","blur","length","0px"),$("filter","brightness","number","1"),$("filter","saturate","number","1"),$("filter","grayscale","number","0"),$("filter","contrast","number","1"),$("filter","hue-rotate","angle","0deg"),$("filter","invert","number","0"),$("filter","sepia","number","0"),$("color","color","color","currentcolor"),$("background","background-color","color","transparent")]),qc=Object.fromEntries([...Object.entries(F).map(([e,t])=>[e,t.spec]),...Rn.map(e=>[`${e}-ease`,{type:"easing",default:"ease-out",cssProperty:`--kui-tween-${e}-ease`}])]);function Mn(e,t){if(e=e.trim(),t==="number"&&e.endsWith("%")){let n=e.slice(0,-1);return Pt(n,-2)??e}let r=Pt(e);return r===void 0?e:t==="length"?`${r}px`:t==="angle"?`${r}deg`:t==="number"?r:e}function ar(e,t,r,n=e){let i=F[e].spec,o=Mn(t,i.type),s=zE(e,o),a=s?{ok:!1,reason:s,value:o}:we(o,i);if(!a.ok){r(`parameter "${n}": ${a.reason} \u2014 got "${t}", using default "${i.default}"`);return}return a.value}function zE(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 cr=5,Uc=2;function Kc(e){let t=[],r=0,n=0,i=0;for(;i<e.length;){let o=e[i];o==='"'||o==="'"?i=YE(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 YE(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 XE(e,t,r,n){for(let[i,o]of t){if(o.length===r)continue;let s=o.at(-1);for(o.length>=Uc&&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 JE(e,t,r){return t.length<=cr?t:(r(`"${e}" has ${String(t.length)} waypoints \u2014 at most ${String(cr)} are supported, so the animation now ends at "${t[cr-1]}"`),t.slice(0,cr))}function zc(e,t){let r=new Map;for(let[n,i]of e){if(i.length<Uc)continue;let o=Object.hasOwn(F,n)?F[n]:void 0;if(!o)continue;let s=JE(n,i,t).map(c=>Mn(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)XE(n,i.keys,i.count,t);return r}function Yc(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=ar(i,c,n,l);p!==void 0&&(t[l]=p,r[l]=ZE(s,i,u))}}}function ZE(e,t,r){return{...e,cssProperty:`--kui-tween-${t}-${String(r)}`}}function Xc(e,t){return`kui-tween-keys${String(t)}-${e}`}var QE=["time","view","scroll","pin"];function eS(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 tS(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 rS(e,t,r){let n=Object.create(null),i=nS(t,n,r),o=new Set(i.map(([l])=>F[l].group)),s=Rn.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};eS(t.name,tS(e,i,n),r);let a=zc(i,r),c={};for(let l of a.values())Yc(l,n,c,r);for(let l of s){let p=`${l}[ease]`,m=iS(e,t,l);n[p]=m.value,c[p]=m.schema}return{channels:s.map(l=>Wc[l]),keyframes:s.map(l=>oS(l,e,a.get(l))),params:n,schema:c}}function nS(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=Kc(o);n.push([i,a]);let c=ar(i,a[0],r);c!==void 0&&(t[i]=c)}return n}function iS(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 oS(e,t,r){return r?Xc(e,r.count):`kui-tween-${t}-${e}`}function Jc(e,t){return{...h(e,[],{timelines:QE,parameters:qc,perfClass:"paint"}),variantFor:(r,n)=>rS(t,r,n)}}var sS=[Jc("tween","to"),Jc("tween-from","from")],aS=[{name:"tween",primitive:"tween"},{name:"tween-from",primitive:"tween-from",cloak:!0}];function Zc(e){return e.registerPrimitives(sS).registerPresets(aS)}var Qc=/^-?[A-Za-z_][\w-]*$/,cS=new Set(["none","match-element"]);function lS(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 Qc.test(i)?i:el(i,r)}if(cS.has(n)){r(`page-morph name:${n} is a keyword, not a name \u2014 omit the effect instead`);return}return Qc.test(n)?n:el(n,r)}function el(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 uS(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=lS(e,t,r.warn);return n===void 0?()=>{}:(r.style.set("view-transition-name",n),()=>{})}var pS={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:T("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(uS))};function mS(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 dS(e){let r=e.ViewTransition?.prototype;return typeof r=="object"&&r!==null&&"types"in r}function fS(e,t){return!e||!t.capabilities.viewTransitions?"":dS(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 tl(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 gS(e,t,r){let n=mS(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=fS(t.text("type","").trim(),r),s=Re(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){tl(a,o,r);return}let l=r.win.setTimeout(()=>{c.delete(l),tl(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 yS={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"},...R},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"layout",reducedMotion:"shorten",prepare:T("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(gS))},hS=[pS,yS],vS=[{name:"page-morph",primitive:"view-morph"},{name:"view-swap",primitive:"view-swap",phase:"state"}];function rl(e){return e.registerPrimitives(hS).registerPresets(vS)}function nl(e){return Array.isArray(e)?e:[e]}function il(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.registerPrimitives=="function"&&typeof t.registerPresets=="function"}function bS(e){if(!e||typeof e!="object")return;if(il(e))return e;let t=e;if(il(t.registry))return t.registry}function ol(e,t,r,n="module"){let i=bS(e);if(!i)throw new Error(`kuinetic: register${n} requires a Registry or Animator instance`);return i.registerPrimitives(nl(t)),i.registerPresets(nl(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 ES=["browser","phone","tablet","laptop"],SS="",PS={kind:{type:"keyword",default:"browser",cssProperty:"--kui-device-kind",keywords:[...ES]},color:{type:"color",default:"#111",cssProperty:"--kui-device-color"},radius:{type:"length",default:SS,cssProperty:"--kui-device-radius"}};function kS(e,t){let r=w(e);return r.set("data-kui-device",t.text("kind","browser")),A(()=>r.restore())}var sl=B("device-frame",{channels:["frame"],parameters:PS,perfClass:"layout"},T("device-frame",{because:"it stamps its frame kind once, synchronously, on activation; there is no motion to time"},b(kS))),al=[{name:"device-frame",primitive:"device-frame",requiresOwnSubtree:!0}];var In=new WeakMap;function cl(e){e.lock?.restore(),e.lock=void 0}function xS(e){if(e.lock)return;let t=e.doc.documentElement,r=N(t),n=e.doc.defaultView.innerWidth-t.clientWidth;r.set("overflow","hidden"),n>0&&r.set("padding-right",`${n}px`),e.lock=r}function Ln(e){e.current?.onClose?.(),e.current=void 0,e.currentOwner=void 0,e.slot?.replaceChildren()}function ll(e){e.dialog?.classList.remove("is-open"),cl(e),Ln(e)}function lr(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(),cl(e),Ln(e)},e.current.reducedMotion?0:e.current.duration))}function wS(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 TS(e){return e.offsetWidth}function AS(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",()=>lr(e)),t.addEventListener("click",i=>{wS(e,i.target)&&lr(e)}),t.addEventListener("cancel",i=>{i.preventDefault(),lr(e)}),t.addEventListener("close",()=>ll(e)),t.addEventListener("keydown",i=>e.current?.onKey?.(i)),e.dialog=t,e.slot=n,e.style=N(t)}function CS(e,t,r){AS(e);let n=e.dialog;e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,Ln(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),xS(e),n.open||n.showModal(),n.scrollTop=0,TS(n),n.classList.add("is-open")}function RS(e){e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,e.dialog?.open&&e.dialog.close(),ll(e)}function MS(e,t){e.refs-=1,(e.currentOwner===t||e.refs===0)&&RS(e),!(e.refs>0)&&(e.style?.restore(),e.dialog?.remove(),In.delete(e.doc))}function ul(e){let t=In.get(e);t||(t={doc:e,refs:0},In.set(e,t)),t.refs+=1;let r=t,n={},i=!1;return{open:o=>CS(r,o,n),dismiss:()=>lr(r),release:()=>{i||(i=!0,MS(r,n))}}}var IS="https://kuinetic.invalid/",LS=/^[\w-]{6,}$/,OS=new Set(["youtube.com","www.youtube.com","m.youtube.com"]),NS=new Set(["youtu.be","www.youtu.be"]),_S=new Set(["vimeo.com","www.vimeo.com"]);function pl(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||!LS.test(n)?null:{kind:"youtube",embedUrl:`https://www.youtube-nocookie.com/embed/${n}?autoplay=1`,aspect:t[0]==="shorts"?"tall":"wide"}}function $S(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 ml(e){let t;try{t=new URL(e,IS)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:")return null;let r=t.hostname.toLowerCase(),n=t.pathname.split("/").filter(Boolean);return OS.has(r)?pl(t,n,!1):NS.has(r)?pl(t,n,!0):_S.has(r)?$S(n):/\.(mp4|webm|ogg)$/i.test(t.pathname)?{kind:"file",embedUrl:e,aspect:"wide"}:null}var DS={media:{type:"keyword",default:"image",cssProperty:"--kui-lightbox-media",keywords:["image","video"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:D,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 jS(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 HS(e,t,r,n){let i=t.text("target");if(!i)return jS(e,n);let o=O(i,r,n==="video"?"video-lightbox":"lightbox");return o?L(e,r,o,_(t,"self")):[]}function GS(e){return e instanceof HTMLImageElement?e.closest("a[href]")??e:e}function VS(e){return e instanceof HTMLImageElement?e:e.querySelector("img")}function FS(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 BS(e,t){let r=VS(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:FS(e,r,t)}}function WS(e,t){let r=new Set,n=[];for(let i of e){let o=GS(i);if(r.has(o))continue;let s=BS(o,t);s&&(r.add(o),n.push(s))}return n}function qS(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 US(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 ur(e,t){US(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 On(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,ur(e,r))}function dl(e,t,r){On(e,t,!1),r.disabled&&r.ownerDocument.activeElement===r&&e.figure.focus()}function KS(e,t){if(!(e.items.length<2)){if(t.key==="ArrowLeft")On(e,-1,!0);else if(t.key==="ArrowRight")On(e,1,!0);else if(t.key==="Home")e.index=0,ur(e,!0);else if(t.key==="End")e.index=e.items.length-1,ur(e,!0);else return;t.preventDefault()}}function fl(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",()=>dl(m,-1,l)),p.addEventListener("click",()=>dl(m,1,p))),ur(m,!1),{...n,node:o,label:"Image viewer",onClose:()=>a.removeAttribute("src"),onKey:f=>KS(m,f)}}function zS(e){let t=e.querySelector("video");t&&(t.readyState>0&&t.pause(),t.removeAttribute("src")),e.replaceChildren()}function YS(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:()=>zS(o)}}function gl(e){return e.button===0&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}function XS(e,t,r){let n=[];return e.forEach((i,o)=>{let s=i.trigger===i.image;if(s){let a=w(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(fl(e,o,r,t.options)))},{signal:t.signal})}i.trigger.addEventListener("click",a=>{gl(a)&&(s||a.preventDefault(),t.shell.open(fl(e,o,r,t.options)))},{signal:t.signal})}),n}function JS(e,t,r,n){let i=new Set;for(let o of e)o instanceof HTMLAnchorElement&&o.addEventListener("click",s=>{if(!gl(s))return;let a=o.getAttribute("href")??"",c=ml(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(YS(o,c,t.options,r||c.aspect))},{signal:t.signal})}function ZS(e,t,r){let n=t.text("media","image"),i=HS(e,t,r,n);if(i.length===0)return()=>{};let o=new AbortController,s=ul(r.doc),a={shell:s,options:qS(t,r),signal:o.signal},c=[];if(n==="video")JS(i,a,t.text("aspect"),r);else{let u=WS(i,t.text("caption","figcaption"));c=XS(u,a,t.is("loop"))}return A(()=>{o.abort();for(let u of c)u();s.release()})}var yl=B("lightbox",{channels:["widget"],parameters:DS,perfClass:"paint"},T("lightbox",{honours:["duration","ease"],because:"the dialog opens immediately, so it has no delay phase"},b(ZS))),hl=[{name:"lightbox",primitive:"lightbox",params:{media:"image"}},{name:"video-lightbox",primitive:"lightbox",params:{media:"video"}}];var QS=["x","y"],eP="data-kui-compare-axis",tP={position:{type:"percentage",default:"50%",cssProperty:"--kui-compare"},axis:{type:"keyword",default:"x",cssProperty:"--kui-compare-axis",keywords:[...QS]}},rP={ArrowUp:-1,ArrowDown:1};function vl(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 nP(e,t){let r=e.getAttribute("aria-label")?.trim();if(r)return r;let n=t[0],i=t[1];return n&&i?`Compare: ${vl(n,"Before")} / ${vl(i,"After")}`:"Compare"}function iP(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 oP(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=w(e);o.set(eP,i);let s=Math.round(t.num("position",.5)*100),a=N(e);a.set("--kui-compare",t.text("position","50%"));let{range:c,handle:u}=iP(e.ownerDocument,nP(e,n),s,i),l=()=>{let m=c.value;a.set("--kui-compare",`${m}%`),c.setAttribute("aria-valuetext",`${m}% after`)},p=m=>{let f=rP[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),A(()=>{c.removeEventListener("input",l),c.removeEventListener("keydown",p),c.remove(),u.remove(),o.restore(),a.restore()})}var bl=B("compare",{channels:["clip","widget"],parameters:tP,perfClass:"paint"},T("compare",{because:"it builds an interactive before/after slider; there is no motion to time"},b(oP))),El=[{name:"compare",primitive:"compare",requiresOwnSubtree:!0}];var sP=["number","dot"],aP={target:{type:"text",default:"",cssProperty:"--kui-target"},marker:{type:"keyword",default:"number",keywords:[...sP],cssProperty:"--kui-hotspot-marker"},scope:D},cP=0,lP=0;function uP(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 pP(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 mP(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(!pP(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 dP(e,t){let r=`--kui-anchor-${++lP}`;e.set("anchor-name",r),t.set("position-anchor",r),t.set("position-area","top"),t.set("position-try-fallbacks","flip-block")}function fP(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("position-area: top")}function gP(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 yP(e){let t=e.getAttribute("id"),r=t||`kui-hotspot-note-${++cP}`,n=w(e);return t||n.set("id",r),n.set("popover","auto"),{noteId:r,noteAttrs:n}}function hP(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=N(a);return s.x&&c.set("--kui-x",s.x),s.y&&c.set("--kui-y",s.y),{button:a,buttonStyle:c}}function vP(e,t,r){let{el:n,marker:i,ctx:o}=r,s=o.doc.defaultView??window,a=gP(e,s);(!a.x||!a.y)&&o.warn("hotspots note is missing --kui-x or --kui-y position");let{noteId:c,noteAttrs:u}=yP(e),l=uP(e,t,i),{button:p,buttonStyle:m}=hP({doc:n.ownerDocument,noteId:c,label:l,marker:i,index:t,coords:a}),f=N(e),d;return fP()?dP(m,f):d=mP(p,e,f),{button:p,teardown:()=>{d?.(),f.restore(),u.restore(),m.restore(),p.remove()}}}function bP(e,t,r){let i=t.text("target")||":scope > :is(ol, ul) > li",o=O(i,r,"hotspots"),s=_(t,"self"),a=o?L(e,r,o,s):[],c=t.text("marker","number"),u=w(e);u.set("data-kui-hotspot-marker",c);let l=a.map((p,m)=>vP(p,m,{el:e,marker:c,ctx:r}));for(let p of l)e.appendChild(p.button);return A(()=>{for(let p of l)p.teardown();u.restore()})}var Sl=B("hotspots",{channels:["widget"],parameters:aP,perfClass:"layout"},T("hotspots",{because:"it places interactive hotspot markers and binds popovers; there is no motion to time"},b(bP))),Pl=[{name:"hotspots",primitive:"hotspots",requiresOwnSubtree:!0}];var EP="data-kui-slideshow-list",SP="data-kui-slideshow-mode",PP=["auto","dots","arrows","none"],kP={target:{type:"text",default:"",cssProperty:"--kui-target"},scope:D,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:[...PP]},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 pr(e,t){let r=e.createElement("button");return r.type="button",r.setAttribute("aria-label",t),r}function xP(e,t){if(t!=="auto"&&t!=="arrows")return{previous:null,next:null};let r=pr(e.ownerDocument,"Previous slide"),n=pr(e.ownerDocument,"Next slide");return e.append(r,n),{previous:r,next:n}}function wP(e,t,r){return r!=="auto"&&r!=="dots"?[]:t.map((n,i)=>{let o=pr(e.ownerDocument,`Go to slide ${i+1} of ${t.length}`);return o.className="kui-slideshow-dot",e.appendChild(o),o})}function TP(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?pr(e.ownerDocument,"Pause slideshow"):null;o&&i.appendChild(o);let{previous:s,next:a}=xP(i,r),c=wP(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 AP(e,t,r){let n=w(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(SP,r),n}function CP(e,t,r,n){let i=AP(e,r,n),o=t[0].parentElement,s=w(o);s.set(EP,"");let a=t.map((c,u)=>{let l=w(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 RP(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 MP(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 IP(e){let{el:t,params:r,ctx:n,index:i,slides:o}=e,s=()=>{},a=O(r.text("mute"),n,"slideshow mute");if(!a)return{release:s,render:s};let c=L(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=>w(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 LP(e){let{el:t,ctx:r,index:n,controls:i,liveList:o,interval:s}=e,a=w(o);if(s===0)return a.set("aria-live","polite"),()=>a.restore();let c=i.pause,u=w(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()},S=()=>{p=!1,y()},P=()=>{m=!0,y()},x=()=>{m=t.contains(r.doc.activeElement),y()},k=()=>{l=!l,y()};return t.addEventListener("pointerenter",v),t.addEventListener("pointerleave",S),t.addEventListener("focusin",P),t.addEventListener("focusout",x),r.doc.addEventListener("visibilitychange",y),c.addEventListener("click",k),y(),()=>{f!==null&&clearTimeout(f),t.removeEventListener("pointerenter",v),t.removeEventListener("pointerleave",S),t.removeEventListener("focusin",P),t.removeEventListener("focusout",x),r.doc.removeEventListener("visibilitychange",y),c.removeEventListener("click",k),u.restore(),a.restore()}}function OP(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 NP(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 _P(e,t,r){return t.text("swipe","true")!=="true"?()=>{}:me(e,{onSwipe:n=>{n==="left"&&r.next(),n==="right"&&r.prev()}},{axis:"x",capturePointer:!1})}function $P(e,t,r){let n=O(t.text("target")||":scope > :is(ul, ol) > li",r,"slideshow"),i=_(t,"self"),o=()=>n?L(e,r,n,i):[],s=o();if(s.length===0)return r.warn("slideshow target matched no slides"),A(()=>{});let a=s[0].parentElement;if(!a||a===e||!e.contains(a)||s.some(x=>x.parentElement!==a))return r.warn("slideshow slides must share one list inside the host"),A(()=>{});let u=["next","prev","jump"].some(x=>t.text(x)!=="")?"none":t.text("controls","auto"),l=OP(t,r,u),p=CP(e,s,r,t.text("transition","fade")),m=TP(e,s,u,l>0);NP(t,r);let f=()=>{},d=nr({el:e,params:t,ctx:r,scope:i,resolveSteps:o,name:"slideshow",clickFallback:!1,onRender:x=>{RP(s,p.slides,m,x),f()}}),y=MP(m,d),v=_P(e,t,d),S=IP({el:e,params:t,ctx:r,index:d,slides:s});f=S.render;let P=LP({el:e,ctx:r,index:d,controls:m,liveList:p.liveList,interval:l});return A(()=>{P(),S.release(),v(),y(),d.release(),m.root?.remove(),p.slides.forEach(x=>x.restore()),p.list.restore(),p.host.restore()})}var kl=B("slideshow",{channels:["widget"],parameters:kP,perfClass:"layout"},T("slideshow",{honours:["duration","ease"],because:"the slideshow has no delayed start"},b($P))),xl=[{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 DP="data-kui-story-side",jP={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 wl(e){return e.localName==="video"?e:e.querySelector("video")}function HP(e){return e.hasAttribute("autoplay")||e.hasAttribute("loop")}function Tl(e){let t=e.play();t&&typeof t.catch=="function"&&t.catch(()=>{})}function GP(e,t,r){e.forEach((n,i)=>{let o=wl(n);if(o){if(i!==t||r){o.pause();return}HP(o)&&Tl(o)}})}function VP(e){let t=new Map;for(let r of e){let n=wl(r);n&&t.set(n,!n.paused)}return t}function FP(e){for(let[t,r]of e)r?Tl(t):t.pause()}function BP(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 WP(e,t,r){let n=VP(t),i=0,o=!1,s=!1,a=()=>GP(t,i,r.reducedMotion||!o),c=BP(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(),FP(n)}}}function qP(e,t,r){let n=O(t.text("target")||":scope > :first-child > *",r,"scroll-story"),i=O(t.text("sections")||":scope > :last-child > *",r,"scroll-story sections"),o=n?L(e,r,n,"self"):[],s=i?L(e,r,i,"self"):[];return{media:o,sections:s}}function UP(e,t,r){let{media:n,sections:i}=qP(e,t,r);if(n.length===0)return r.warn("scroll-story target matched no media"),A(()=>{});if(i.length===0)return r.warn("scroll-story sections matched no elements"),A(()=>{});let o=w(e),s=N(e),a=t.text("side","end");o.set(DP,a);let c=ie(()=>[...n,...i],d=>r.warn(`scroll-story ${d}`)),u=WP(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=sr({el:e,sections:i,ctx:r,offsetTop:m,onChange:d=>p(d)});return A(()=>{f(),u.restore(),c.restore(),o.restore(),s.restore()})}var Al=B("scroll-story",{channels:["widget"],parameters:jP,perfClass:"layout"},T("scroll-story",{because:"scroll position"},b(UP))),Cl=[{name:"scroll-story",primitive:"scroll-story",phase:"idle",requiresOwnSubtree:!0}];var KP={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 Rl(e,t=!1){let r=e.getAnimations;return typeof r=="function"?r.call(e,{subtree:t}):[]}function zP(e,t){return e.timeline===t.timeline}function YP(e,t,r){let n=e.playbackRate;Math.abs(Math.abs(n)-r)>1e-9||(e.playbackRate=Math.sign(n)*Math.abs(t))}function XP(e){let t=new Map;return{slow(r,n){for(let i of r)zP(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)YP(n,i,r);t.clear()}}}function JP(e,t,r){let n=e.effect;return!n||n.target!==t?!1:(n.pseudoElement??"")===r}function ZP(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 Rl(t,!0).filter(a=>JP(a,t,s)&&a[i]===o)}function QP(e,t){let r=w(e),n=t.num("rate",.25),i=t.text("controls","button"),o=i==="button"?e.ownerDocument.createElement("button"):null,s=i==="none",a=XP(e.ownerDocument),c=()=>{s?r.set(ze,String(n)):r.remove(ze),o&&o.setAttribute("aria-pressed",String(s)),s?a.slow(Rl(e,!0),n):a.restore(n)},u=()=>{s=!s,c()},l=p=>{s&&a.slow(ZP(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(),A(()=>{e.removeEventListener("animationstart",l,!0),e.removeEventListener("transitionrun",l,!0),o?.removeEventListener("click",u),a.restore(n),r.restore(),o?.remove()})}var Ml=B("slow-mo",{channels:["widget"],parameters:KP,perfClass:"compositor"},T("slow-mo",{because:"it changes playback rate rather than defining an animation timeline"},b(QP))),Il=[{name:"slow-mo",primitive:"slow-mo"}];var ek=[sl,yl,bl,Sl,kl,Al,Ml],tk=[...al,...hl,...El,...Pl,...xl,...Cl,...Il];function Ll(e){return ol(e,ek,tk,"Showcase")}function mr(){let e=new le;return gn(e),wc(e),yc(e),_c(e),hc(e),lc(e),jc(e),Bc(e),Fa(e),vc(e),rc(e),Zc(e),rl(e),Ll(e),e}function Ol(e={}){return new ve({registry:mr(),...e})}var rk=Ol;return Gl(nk);})();
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);})();
2
2
 
3
3
  ;(function () {
4
- "use strict";var __kuineticBoot=(()=>{var l=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var v=(e,n)=>{for(var t in n)l(e,t,{get:n[t],enumerable:!0})},R=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of b(n))!w.call(e,o)&&o!==t&&l(e,o,{get:()=>n[o],enumerable:!(r=k(n,o))||r.enumerable});return e};var y=e=>R(l({},"__esModule",{value:!0}),e);var I={};v(I,{boot:()=>B});var g="__kuineticRuntime";function c(){return globalThis}function O(){let e=c(),n=e[g];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[g]=t,t}function A(){let e=document.currentScript;return!!e&&e.hasAttribute("data-kui-manual")}function d(e){typeof console<"u"&&typeof console.warn=="function"&&console.warn(`kuinetic: ${e}`)}function N(e,n){e.v===1||e.warnedVersion||(e.warnedVersion=!0,d(`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 L(e,n,t){if(!t)return;let r=c();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=>C(e,a,n,u);i.kuinetic=s,o.default===a&&(i.default=s);try{r[t]=i}catch{}}function C(e,n,t,r){if(!e.started){let i=n.call(t,r);return p(e,i),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 o=e.animator,a=!r||Object.entries(r).every(([i,s])=>i==="observe"&&s===!0);return o&&a?(f(e,"you have been handed the one it already made, so this call is safe to delete"),o):(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,d(`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 p(e,n){let t=n.start.bind(n);n.start=()=>(e.started=!0,t()),e.animator=n,c().__kuinetic=n}function h(e,n){p(e,n.kuinetic({observe:!0}))}function S(e){if(document.readyState!=="loading"){m(e);return}e.scheduled||(e.scheduled=!0,document.addEventListener("DOMContentLoaded",()=>m(e),{once:!0}))}function E(e){for(let n of document.querySelectorAll("[data-kui]"))e.reset(n);e.scan()}function M(){let e=c().kuinetic;return e&&typeof e.kuinetic=="function"?e:null}function V(e){let n=e.pending.map(t=>`"${t.tier}"`).join(", ");n&&d(`the ${n} tier bundle loaded but core did not \u2014 add <script src=".../kuinetic.min.js"><\/script> to the page (in any order).`)}function $(e,n){let t=e.pending.splice(0,e.pending.length);for(let r of t)try{r.register(n)}catch(o){d(`the "${r.tier}" tier failed to register: ${String(o)}`)}return t.length}function m(e){if(e.manual)return;if(!e.animator){let r=M();r&&h(e,r)}let n=e.animator;if(!n){V(e);return}let t=$(e,n);if(e.booted=!0,!e.started){n.start();return}t&&E(n)}function T(e,n){return A()?(n.core&&(e.manual=!0),!0):e.manual}function x(e,n){if(n.core){if(e.animator)return;h(e,n.core),L(e,n.core,n.globalName);return}n.register&&e.pending.push({tier:n.tier,register:n.register})}function B(e){if(typeof document>"u"||typeof globalThis>"u")return;let n=O();N(n,e.tier),!T(n,e)&&(x(n,e),S(n))}return y(I);})();
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);})();
5
5
 
6
6
  __kuineticBoot.boot({ tier: 'core', core: kuinetic, globalName: 'kuinetic' });
7
7
  })();