kuinetic 0.2.0 → 0.2.1

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,4 +1,4 @@
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 rk={};jl(rk,{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:()=>tk,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"]}};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){let t=VS(e);if(!t)return null;let r=e instanceof HTMLAnchorElement?e:null,n=e.closest("figure")?.querySelector("figcaption")?.textContent?.trim();return{trigger:e,image:t,src:r?.href??(t.currentSrc||t.src),caption:n||t.alt}}function BS(e){let t=new Set,r=[];for(let n of e){let i=GS(n);if(t.has(i))continue;let o=FS(i);o&&(t.add(i),r.push(o))}return r}function WS(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 qS(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){qS(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 US(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=>US(m,f)}}function KS(e){let t=e.querySelector("video");t&&(t.readyState>0&&t.pause(),t.removeAttribute("src")),e.replaceChildren()}function zS(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.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:()=>KS(o)}}function gl(e){return e.button===0&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}function YS(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 XS(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(zS(o,c,t.options,r||c.aspect))},{signal:t.signal})}function JS(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:WS(t,r),signal:o.signal},c=[];if(n==="video")XS(i,a,t.text("aspect"),r);else{let u=BS(i);c=YS(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(JS))),hl=[{name:"lightbox",primitive:"lightbox",params:{media:"image"}},{name:"video-lightbox",primitive:"lightbox",params:{media:"video"}}];var ZS=["x","y"],QS="data-kui-compare-axis",eP={position:{type:"percentage",default:"50%",cssProperty:"--kui-compare"},axis:{type:"keyword",default:"x",cssProperty:"--kui-compare-axis",keywords:[...ZS]}},tP={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 rP(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 nP(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 iP(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(QS,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}=nP(e.ownerDocument,rP(e,n),s,i),l=()=>{let m=c.value;a.set("--kui-compare",`${m}%`),c.setAttribute("aria-valuetext",`${m}% after`)},p=m=>{let f=tP[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:eP,perfClass:"paint"},T("compare",{because:"it builds an interactive before/after slider; there is no motion to time"},b(iP))),El=[{name:"compare",primitive:"compare",requiresOwnSubtree:!0}];var oP=["number","dot"],sP={target:{type:"text",default:"",cssProperty:"--kui-target"},marker:{type:"keyword",default:"number",keywords:[...oP],cssProperty:"--kui-hotspot-marker"},scope:D},aP=0,cP=0;function lP(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 uP(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 pP(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(!uP(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 mP(e,t){let r=`--kui-anchor-${++cP}`;e.set("anchor-name",r),t.set("position-anchor",r),t.set("position-area","top"),t.set("position-try-fallbacks","flip-block")}function dP(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("position-area: top")}function fP(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 gP(e){let t=e.getAttribute("id"),r=t||`kui-hotspot-note-${++aP}`,n=w(e);return t||n.set("id",r),n.set("popover","auto"),{noteId:r,noteAttrs:n}}function yP(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 hP(e,t,r){let{el:n,marker:i,ctx:o}=r,s=o.doc.defaultView??window,a=fP(e,s);(!a.x||!a.y)&&o.warn("hotspots note is missing --kui-x or --kui-y position");let{noteId:c,noteAttrs:u}=gP(e),l=lP(e,t,i),{button:p,buttonStyle:m}=yP({doc:n.ownerDocument,noteId:c,label:l,marker:i,index:t,coords:a}),f=N(e),d;return dP()?mP(m,f):d=pP(p,e,f),{button:p,teardown:()=>{d?.(),f.restore(),u.restore(),m.restore(),p.remove()}}}function vP(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)=>hP(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:sP,perfClass:"layout"},T("hotspots",{because:"it places interactive hotspot markers and binds popovers; there is no motion to time"},b(vP))),Pl=[{name:"hotspots",primitive:"hotspots",requiresOwnSubtree:!0}];var bP="data-kui-slideshow-list",EP="data-kui-slideshow-mode",SP=["auto","dots","arrows","none"],PP={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:[...SP]},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 kP(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 xP(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 wP(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}=kP(i,r),c=xP(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 TP(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(EP,r),n}function AP(e,t,r,n){let i=TP(e,r,n),o=t[0].parentElement,s=w(o);s.set(bP,"");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 CP(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 RP(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 MP(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 IP(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 LP(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 OP(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 NP(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=LP(t,r,u),p=AP(e,s,r,t.text("transition","fade")),m=wP(e,s,u,l>0);OP(t,r);let f=()=>{},d=nr({el:e,params:t,ctx:r,scope:i,resolveSteps:o,name:"slideshow",clickFallback:!1,onRender:x=>{CP(s,p.slides,m,x),f()}}),y=RP(m,d),v=NP(e,t,d),S=MP({el:e,params:t,ctx:r,index:d,slides:s});f=S.render;let P=IP({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:PP,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 $P="data-kui-story-side",DP={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 jP(e){return e.hasAttribute("autoplay")||e.hasAttribute("loop")}function Tl(e){let t=e.play();t&&typeof t.catch=="function"&&t.catch(()=>{})}function HP(e,t,r){e.forEach((n,i)=>{let o=wl(n);if(o){if(i!==t||r){o.pause();return}jP(o)&&Tl(o)}})}function GP(e){let t=new Map;for(let r of e){let n=wl(r);n&&t.set(n,!n.paused)}return t}function VP(e){for(let[t,r]of e)r?Tl(t):t.pause()}function FP(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 BP(e,t,r){let n=GP(t),i=0,o=!1,s=!1,a=()=>HP(t,i,r.reducedMotion||!o),c=FP(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(),VP(n)}}}function WP(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 qP(e,t,r){let{media:n,sections:i}=WP(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($P,a);let c=ie(()=>[...n,...i],d=>r.warn(`scroll-story ${d}`)),u=BP(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:DP,perfClass:"layout"},T("scroll-story",{because:"scroll position"},b(qP))),Cl=[{name:"scroll-story",primitive:"scroll-story",phase:"idle",requiresOwnSubtree:!0}];var UP={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 KP(e,t){return e.timeline===t.timeline}function zP(e,t,r){let n=e.playbackRate;Math.abs(Math.abs(n)-r)>1e-9||(e.playbackRate=Math.sign(n)*Math.abs(t))}function YP(e){let t=new Map;return{slow(r,n){for(let i of r)KP(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)zP(n,i,r);t.clear()}}}function XP(e,t,r){let n=e.effect;return!n||n.target!==t?!1:(n.pseudoElement??"")===r}function JP(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=>XP(a,t,s)&&a[i]===o)}function ZP(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=YP(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(JP(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:UP,perfClass:"compositor"},T("slow-mo",{because:"it changes playback rate rather than defining an animation timeline"},b(ZP))),Il=[{name:"slow-mo",primitive:"slow-mo"}];var QP=[sl,yl,bl,Sl,kl,Al,Ml],ek=[...al,...hl,...El,...Pl,...xl,...Cl,...Il];function Ll(e){return ol(e,QP,ek,"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 tk=Ol;return Gl(rk);})();
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);})();
2
2
 
3
3
  ;(function () {
4
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);})();