kuinetic 0.2.2 → 0.2.4

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.
Files changed (52) hide show
  1. package/README.md +2 -2
  2. package/dist/esm/{chunk-XDDJVANU.mjs → chunk-EHS45PIK.mjs} +2346 -536
  3. package/dist/esm/{chunk-K2M7O6W5.mjs → chunk-FASAEQDR.mjs} +32 -1
  4. package/dist/esm/{chunk-BBQ22D7A.mjs → chunk-MZQG2VMG.mjs} +202 -2
  5. package/dist/esm/core/index.mjs +21 -3
  6. package/dist/esm/effects/index.mjs +2 -2
  7. package/dist/esm/index.mjs +35 -4
  8. package/dist/esm/notes/index.mjs +1083 -0
  9. package/dist/kuinetic.all.js +2547 -509
  10. package/dist/kuinetic.all.min.js +2 -2
  11. package/dist/kuinetic.css +338 -76
  12. package/dist/kuinetic.js +2546 -508
  13. package/dist/kuinetic.min.css +1 -1
  14. package/dist/kuinetic.min.js +1 -1
  15. package/dist/kuinetic.notes.js +1 -0
  16. package/dist/types/3d/flattening.d.ts +8 -7
  17. package/dist/types/core/deck-viewer.d.ts +87 -0
  18. package/dist/types/core/describe.d.ts +174 -0
  19. package/dist/types/core/gesture.d.ts +10 -0
  20. package/dist/types/core/index.d.ts +6 -2
  21. package/dist/types/core/target.d.ts +28 -0
  22. package/dist/types/core/timing-contract.d.ts +61 -0
  23. package/dist/types/core/types.d.ts +59 -0
  24. package/dist/types/effects/auto-motion.d.ts +169 -0
  25. package/dist/types/effects/carousel/deck.d.ts +170 -0
  26. package/dist/types/effects/carousel/drag.d.ts +6 -0
  27. package/dist/types/effects/carousel/fit.d.ts +130 -0
  28. package/dist/types/effects/carousel/index.d.ts +13 -23
  29. package/dist/types/effects/carousel/stack.d.ts +77 -0
  30. package/dist/types/effects/catalog/interaction-reveal.d.ts +69 -9
  31. package/dist/types/effects/forms/primitives.d.ts +1 -2
  32. package/dist/types/effects/gestures/index.d.ts +3 -4
  33. package/dist/types/effects/shared.d.ts +3 -30
  34. package/dist/types/effects/step-index.d.ts +48 -10
  35. package/dist/types/effects/swipe-event.d.ts +75 -0
  36. package/dist/types/index.d.ts +26 -0
  37. package/dist/types/notes/catalog-core.d.ts +3 -0
  38. package/dist/types/notes/catalog.d.ts +3 -0
  39. package/dist/types/notes/index.d.ts +13 -0
  40. package/dist/types/notes/interaction-reveal.d.ts +3 -0
  41. package/dist/types/notes/interaction.d.ts +6 -0
  42. package/dist/types/notes/keys.d.ts +7 -0
  43. package/dist/types/notes/mechanics.d.ts +7 -0
  44. package/dist/types/notes/scroll-nav-forms.d.ts +6 -0
  45. package/dist/types/notes/shared.d.ts +6 -0
  46. package/dist/types/notes/showcase.d.ts +7 -0
  47. package/dist/types/notes/text.d.ts +3 -0
  48. package/dist/types/showcase/compare.d.ts +9 -0
  49. package/dist/types/showcase/index.d.ts +3 -0
  50. package/dist/types/showcase/lightbox.d.ts +24 -1
  51. package/dist/types/showcase/modal-shell.d.ts +11 -0
  52. package/package.json +7 -3
@@ -1,4 +1,4 @@
1
- "use strict";var kuinetic=(()=>{var br=Object.defineProperty;var Ul=Object.getOwnPropertyDescriptor;var Kl=Object.getOwnPropertyNames;var zl=Object.prototype.hasOwnProperty;var Yl=(e,t)=>{for(var r in t)br(e,r,{get:t[r],enumerable:!0})},Xl=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Kl(t))!zl.call(e,i)&&i!==r&&br(e,i,{get:()=>t[i],enumerable:!(n=Ul(t,i))||n.enumerable});return e};var Jl=e=>Xl(br({},"__esModule",{value:!0}),e);var gk={};Yl(gk,{ATTR:()=>S,Animator:()=>ke,CHANNEL:()=>g,COMBOS:()=>ir,KUI_EVENT:()=>G,PRESETS:()=>nr,PRIMITIVES:()=>rr,Registry:()=>fe,collectingReporter:()=>_s,consoleReporter:()=>Ns,control:()=>wt,createActivationBinder:()=>st,createAnimator:()=>js,createRegistry:()=>vr,default:()=>fk,detect:()=>At,inertInstance:()=>Et,kuinetic:()=>Fl,play:()=>xt,resolveActivationSpec:()=>ee,resolveTargets:()=>ze,silentReporter:()=>Vt,toAttributeValue:()=>Nr});function Ve(e,t){try{return t.documentElement.matches(e)||t.body?.matches(e)?"document-wide":"ok"}catch{return"invalid"}}function L(e,t,r){if(!e)return e;let n=Ve(e,t.doc);return n==="invalid"?(t.warn(`${r} target "${e}" is not a valid selector and will be ignored`),""):n==="document-wide"?(t.warn(`${r} target "${e}" matches the whole document and will be ignored`),""):e}var j={type:"keyword",default:"",cssProperty:"--kui-scope",keywords:["self","page"]};function $(e,t){let r=e.text("scope");return r==="page"?"page":r==="self"?"self":t}function I(e,t,r,n){return[...(n==="page"?t.doc:e).querySelectorAll(r)]}function Bn(){let e=new Map;function t(r,n,i){let o=e.get(r);o||(o=new Map,e.set(r,o));let s=o.get(n);if(!s){let c=new Set,u=()=>{for(let l of[...c])l()};s={listener:u,runs:c},o.set(n,s),r.addEventListener(n,u,{passive:!0})}s.runs.add(i);let a=!0;return()=>{a&&(a=!1,s.runs.delete(i),!(s.runs.size>0)&&(r.removeEventListener(n,s.listener),o?.delete(n),o?.size===0&&e.delete(r)))}}return{bind({sources:r,types:n,run:i}){let o=[];for(let s of r)for(let a of n)o.push(t(s,a,i));return()=>{for(let s of o)s()}},destroy(){for(let[r,n]of e)for(let[i,o]of n)r.removeEventListener(i,o.listener);e.clear()}}}function Wn({el:e,from:t,reporter:r}){if(!t)return[e];let n=e.ownerDocument,i=Ve(t,n);if(i!=="ok"){let s=i==="invalid"?"is not a valid selector":"matches the whole document";return r?.warn(`activation source "${t}" ${s} and will be ignored`,e),[]}let o=[...n.querySelectorAll(t)];return o.length===0&&r?.warn(`activation source "${t}" matched nothing`,e),o}function Zl(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||r.width<=0||r.height<=0))return Math.min(1,t.width/r.width)*Math.min(1,t.height/r.height)}function Er(e){return`${Math.round(e*1e3)/10}%`}function qn(e,t,r){let n=e.reporter;if(!n||r<=0||e.thresholdWarned)return;if(t.isIntersecting){e.sawIntersecting=!0;return}if(!e.sawIntersecting||e.entered)return;let i=Zl(t);i===void 0||i>=r-1e-6||(e.thresholdWarned=!0,n.warn(`threshold:${Er(r)} can never be met on this element \u2014 it is larger than the root it scrolls through, so its intersection ratio maxes out around ${Er(i)} and never reaches ${Er(r)}. An IntersectionObserver only reports ratio crossings, so the library cannot soften this from here \u2014 author a smaller threshold, or make the element (or its scrolling root) fit the other.`,t.target))}function Kn(){let e=new WeakMap,t,r=Number.NEGATIVE_INFINITY,n=0,i=s=>{let a=s.target,c=Un(a);if(!c)return;let u=e.get(a);if(e.set(a,c),!u)return;let l=c.y-u.y,p=c.x-u.x,m=Math.abs(l)>=Math.abs(p)?l:p;m!==0&&(t=m>0?"after":"before",r=s.timeStamp)},o=()=>{n=0,t=void 0,r=Number.NEGATIVE_INFINITY,typeof window<"u"&&window.removeEventListener("scroll",i,{capture:!0})};return{arrivedFrom:s=>s-r<=200?t:void 0,retain(){if(n++>0||typeof window>"u")return;window.addEventListener("scroll",i,{capture:!0,passive:!0});let s=Un(window.document);s&&e.set(window.document,s)},release(){n===0||--n>0||o()},reset:o}}function Un(e){if(e===window||e===window.document)return{x:window.scrollX,y:window.scrollY};if(e instanceof Element)return{x:e.scrollLeft,y:e.scrollTop}}var Fe="/",Sr={load:{kind:"immediate"},manual:{kind:"manual"},enter:{kind:"observed",when:"enter"},leave:{kind:"observed",when:"leave"},hover:{kind:"events",types:["pointerenter","focusin"]},unhover:{kind:"events",types:["pointerleave","focusout"]},focus:{kind:"events",types:["focusin"]},blur:{kind:"events",types:["focusout"]},click:{kind:"events",types:["click"]}},Ql={load:["load"],manual:["manual"],enter:["enter"],leave:["enter"],hover:["hover"],unhover:["hover"],focus:["focus"],blur:["focus"],click:["click"]},eu=["hover","focus","click"],Jn=["click","dblclick","auxclick","contextmenu","pointerdown","pointerup","pointerenter","pointerleave","pointerover","pointerout","pointermove","pointercancel","gotpointercapture","lostpointercapture","mousedown","mouseup","mouseenter","mouseleave","mouseover","mouseout","mousemove","focusin","focusout","focus","blur","keydown","keyup","keypress","input","beforeinput","change","submit","reset","invalid","select","search","touchstart","touchend","touchmove","touchcancel","wheel","scroll","scrollend","dragstart","drag","dragend","dragenter","dragover","dragleave","drop","animationstart","animationend","animationiteration","animationcancel","transitionstart","transitionend","transitionrun","transitioncancel","play","playing","pause","ended","timeupdate","seeked","volumechange","ratechange","loadeddata","loadedmetadata","canplay","canplaythrough","waiting","stalled","toggle","beforetoggle","close","cancel","copy","cut","paste","load","error","abort","resize","fullscreenchange"],tu=/^[A-Za-z][A-Za-z0-9._:-]*$/,zn=2;function Pr(e){return Object.hasOwn(Sr,e)}function Yn(e){return Pr(e)?Sr[e]:{kind:"events",types:[e]}}function ee(e){let t=String(e).split(Fe),[r="",n]=t;return{source:e,names:t,start:Yn(r),...n===void 0?{}:{end:Yn(n)}}}function kr(e){let t=e.split(Fe);if(t.length>2)return[`activation "${e}" has more than one "${Fe}" \u2014 expected "start${Fe}end"`];if(t.filter(i=>!tu.test(i)).length>0)return[`activation "${e}" is not an event name or a "start${Fe}end" pair`];let n=t[1];return n!==void 0&&(n==="load"||n==="manual")?[`activation "${e}" cannot end on "${n}" \u2014 an exit needs an event to fire on`]:[]}function xr(e){return ee(e).start.kind}function Be(e){return e.end===void 0&&e.start.kind==="observed"}function Zn(e){return Pr(e)?Ql[e]:eu}function ru(e){return/[-:.]/.test(e)?!0:Jn.includes(e)}function nu(e){let t,r=zn+1;for(let n of[...Object.keys(Sr),...Jn]){let i=iu(e,n);i>=r||(r=i,t=n)}return r<=zn&&r*2<e.length?t:void 0}function iu(e,t){let r=Array.from({length:t.length+1},(n,i)=>i);for(let n=1;n<=e.length;n++){let i=[n];for(let o=1;o<=t.length;o++){let s=r[o-1]+(e[n-1]===t[o-1]?0:1);i.push(Math.min(r[o]+1,i[o-1]+1,s))}r=i}return r[t.length]}var Xn=()=>{},ou=1e-6;function Qn(e,t){return e.isIntersecting?t<=0?!0:e.intersectionRatio>=t-ou:!1}function su(e,t,r,n){if(qn(e,t,r),e.onCross)return au(e,t,r,n);let i=Qn(t,r);if(i===e.entered)return;e.entered=i;let o=i?e.onEnter:e.onLeave;o&&(o(),e.oneShot&&e.release())}function au(e,t,r,n){let i=uu(t);if(!Qn(t,r))return cu(e,i,n);if(e.entered)return;let o=(n??e.outside)==="before"?"enter-back":"enter";e.entered=!0,e.outside=void 0,e.onCross?.(o)}function cu(e,t,r){if(t&&(e.outside=t),!e.entered)return;e.entered=!1;let n=t??lu(r);e.onCross?.(n==="after"?"leave-back":"leave")}function lu(e){if(e)return e==="after"?"before":"after"}function uu(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||!r)){if(r.bottom<=t.top||r.right<=t.left)return"before";if(r.top>=t.bottom||r.left>=t.right)return"after"}}function st(e={}){let t=new Map,r=new WeakMap,n=Bn(),i=e.createObserver??fu(),o=Kn(),s=e.reporter;function a(u){if(!i)return;let l=du(u),p=String(l),m=t.get(p);if(m)return{key:p,shared:m};let d={observer:i(y=>{for(let v of y){let E=r.get(v.target);E&&su(E,v,l,o.arrivedFrom(v.time))}},{threshold:l}),count:0};return t.set(p,d),{key:p,shared:d}}function c(u,l,p){let m=a(p.threshold);if(!m)return l.failOpen&&p.activate(),Xn;let{key:f,shared:d}=m,y=!!l.onCross;y&&o.retain();let v=!0,E=()=>{v&&(v=!1,y&&o.release(),r.delete(u),d.observer.unobserve(u),d.count--,!(d.count>0)&&(d.observer.disconnect(),t.delete(f)))};return r.set(u,{onEnter:l.onEnter,onLeave:l.onLeave,...l.onCross?{onCross:l.onCross}:{},oneShot:l.oneShot,release:E,entered:!1,reporter:s,sawIntersecting:!1,thresholdWarned:!1}),d.count++,d.observer.observe(u),E}return{bind(u,l,p){let m=ee(l),f=pu(m,p),d=[],y,v=mu(f);if(v){let E=m.start.kind==="observed",P=p.cross;d.push(c(u,{...v,...P?{onCross:P}:{},oneShot:P?!1:Be(m),failOpen:E},p))}for(let E of f){let{trigger:P}=E;P.kind==="events"?(y??=Wn({el:u,from:p.from,reporter:s}),d.push(n.bind({sources:y,types:P.types,run:E.run}))):P.kind==="immediate"&&E.run()}return d.length===0?Xn:()=>{for(let E of d)E()}},destroy(){for(let{observer:u}of t.values())u.disconnect();t.clear(),n.destroy(),o.reset()}}}function pu(e,t){let r=[{trigger:e.start,run:()=>t.activate()}],n=t.deactivate;return e.end&&n&&r.push({trigger:e.end,run:()=>n()}),r}function mu(e){let t={},r=!1;for(let n of e)n.trigger.kind==="observed"&&(r=!0,n.trigger.when==="enter"?t.onEnter=n.run:t.onLeave=n.run);return r?t:void 0}function du(e){let t=Number.parseFloat(e);if(Number.isNaN(t))return 0;let r=e.includes("%")?t/100:t;return Math.min(1,Math.max(0,r))}function fu(){if(!(typeof IntersectionObserver>"u"))return(e,t)=>new IntersectionObserver(e,t)}function gu(e,t){let r=Zn(e);if(!r.includes("enter"))return!1;let n=i=>r.some(o=>i.supported.includes(o));return t.some(i=>i.entrance&&n(i))?t.every(i=>n(i)||i.supported.includes("load")):!1}function ei(e){yu(e),hu(e)}function yu({el:e,spec:t,supported:r,claims:n,reporter:i}){if(!(r.length>0||(n?.some(a=>a.supported.length>0)??!1)))return;let s=r.length>0?r.join(", "):"none in common across the composed effects";for(let a of t.names)Zn(a).some(c=>r.includes(c))||n&&gu(a,n)||i.warn(`activation "${a}" is not supported by this effect (supports: ${s})`,e)}function hu({el:e,spec:t,reporter:r}){if("onclick"in e)for(let n of t.names){if(Pr(n)||ru(n)||`on${n}`in e)continue;let i=nu(n),o=i?`; did you mean "${i}"?`:"",s=`no DOM event named "${n}" \u2014 data-kui-on binds it anyway, so nothing will start it`;r.warn(`${s}${o}`,e)}}var S={source:"data-kui",define:"data-kui-define",normalized:"data-kui-fx",state:"data-kui-state",on:"data-kui-on",timeline:"data-kui-timeline",threshold:"data-kui-threshold",stagger:"data-kui-stagger",cloak:"data-kui-cloak",rm:"data-kui-rm",unmatched:"data-kui-unmatched",part:"data-kui-part"};var wr={sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},ct=Object.keys(wr),ti=[["above","below"],["wide","narrow"]];function ri(e){return ti.find(t=>t.includes(e))}function ni(e){return Object.hasOwn(wr,e)}function We(e){return ct.indexOf(e)}function at(e,t){return`--kui-${e}-${t}`}function ii(e){return`(min-width: ${wr[e]})`}function oi(e,t){if(!t)return e;let r=e;return t.narrow&&(r=`var(${at("narrow",t.narrow)}, ${r})`),t.wide&&(r=`var(${at("wide",t.wide)}, ${r})`),t.below&&(r=`var(${at("below",t.below)}, ${r})`),t.above&&(r=`var(${at("above",t.above)}, ${r})`),r}function lt(e,t){if(!e||typeof t?.matchMedia!="function")return!0;let r=n=>t.matchMedia(ii(n)).matches;return!(e.above&&!r(e.above)||e.below&&r(e.below))}function si(e,t){if(!e||!t)return!0;let r=(i,[o,s])=>[i[o]?We(i[o]):-1,i[s]?We(i[s]):ct.length],n=i=>{let[o,s]=r(e,i),[a,c]=r(t,i);return o<c&&a<s};return ti.every(n)}function ai(e){let t=new Set;for(let r of e)r.above&&t.add(r.above),r.below&&t.add(r.below);return[...t]}function ci(e,t){let r=new Map,n=new Map;function i(o){if(typeof e?.matchMedia!="function"||n.has(o))return;let s=e.matchMedia(ii(o));if(typeof s.addEventListener!="function")return;let a=()=>{for(let[c,u]of[...r])u.includes(o)&&t(c)};s.addEventListener("change",a),n.set(o,()=>s.removeEventListener("change",a))}return{watch(o,s){if(s.length===0){r.delete(o);return}r.set(o,[...s]);for(let a of s)i(a)},unwatch(o){r.delete(o)},destroy(){for(let o of n.values())o();n.clear(),r.clear()}}}var Z={stiffness:180,damping:24,mass:1,restVelocity:.05,restDisplacement:.05},vu=1/240,bu=.25;function Tr(e,t,r,n){let{value:i,velocity:o}=e,s=Math.min(Math.max(n,0),bu);for(;s>0;){let a=Math.min(vu,s),c=-r.stiffness*(i-t)-r.damping*o;o+=c/r.mass*a,i+=o*a,s-=a}return{value:i,velocity:o}}function Ar(e,t,r){return Math.abs(e.velocity)<r.restVelocity&&Math.abs(e.value-t)<r.restDisplacement}var li=1e4;function pe(e,t,r){let n=Eu(e)?e:Z;n!==e&&r.warn?.("invalid spring configuration; using defaults");let i={value:0,velocity:0},o=0,s=null,a=0,c=0;function u(f){s=null;let d=(f-a)/1e3;if(a=f,i=Tr(i,o,n,d),!Su(i)||!Number.isFinite(o)){m("spring produced non-finite state");return}if(f-c>=li){m(`spring exceeded ${li}ms settle budget`);return}if(Ar(i,o,n)){i={value:o,velocity:0},t(i.value,!0);return}t(i.value,!1),l()}function l(){s===null&&(s=r.requestFrame(u))}function p(){c=r.now(),s===null&&(a=c),l()}function m(f){i={value:Number.isFinite(o)?o:0,velocity:0},r.warn?.(f),t(i.value,!0)}return{to(f,d){o=f,d!==void 0&&(i={...i,velocity:d}),p()},set(f,d=0){i={value:f,velocity:d}},current:()=>({...i}),stop(){s!==null&&r.cancelFrame(s),s=null}}}function Eu(e){return Object.values(e).every(Number.isFinite)&&e.stiffness>0&&e.damping>0&&e.mass>0&&e.restVelocity>0&&e.restDisplacement>0}function Su(e){return Number.isFinite(e.value)&&Number.isFinite(e.velocity)}function ut(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(()=>t(Date.now()),16),cancelFrame:t=>globalThis.clearTimeout(t),now:()=>Date.now()}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t),now:()=>performance.now()}}var fi=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),gi="spring(",Ir=2/3,yi=180,hi=1,Pu=2*Ir*Math.sqrt(yi*hi),mt=.15,Cr=4,pt=1-mt,Rr=["stiffness","damping","mass"],ui=["bounce",...Rr],vi=1/240,ku=4e4,xu=.001,wu=.001,pi=16,Tu=64,Au=10,dt=1e3;function Lr(e){return e.startsWith(gi)&&e.endsWith(")")}function me(e){return fi.has(e)?e:Lr(e)?Pi(bi(e)):e.includes("(")?e:`var(--kui-ease-${e}, ease-out)`}var mi="ease-out";function ft(e,t,r){if(!e)return;if(fi.has(e))return e;if(Lr(e))return Pi(bi(e));if(e.includes("("))return e;let n=Cu(e,t);return n||(r(`easing "${e}" has no --kui-ease-${e} definition \u2014 using ${mi}`),mi)}function Cu(e,t){let r=t.ownerDocument.defaultView;return r?r.getComputedStyle(t).getPropertyValue(`--kui-ease-${e}`).trim():""}function gt(e){if(!Lr(e))return[];let{values:t,problems:r}=Ei(e);return Si(t,r),r}function bi(e){let{values:t,problems:r}=Ei(e);return Si(t,r)}function Ei(e){let t=new Map,r=[],n=e.slice(gi.length,-1).trim();if(n)for(let i of n.split(/\s+/))Ru(i,t,r);return{values:t,problems:r}}function Ru(e,t,r){let n=e.indexOf(":"),i=n<0?e:e.slice(0,n),o=n<0?"":e.slice(n+1);if(!ui.includes(i)){r.push(`unknown spring parameter "${e}" \u2014 expected ${ui.join(", ")}`);return}let s=Number(o);if(o===""||!Number.isFinite(s)||s<0){r.push(`spring "${i}" expects a non-negative number \u2014 got "${o}"`);return}t.has(i)&&r.push(`duplicate spring parameter "${i}"`),t.set(i,s)}function Si(e,t){let r=e.get("bounce"),n=Rr.some(a=>e.has(a));if(r!==void 0)return n&&t.push(`spring "bounce" and "${Rr.join('"/"')}" describe the same curve two ways \u2014 "bounce" wins`),1-Mu(r,t);if(!n)return Ir;let i=e.get("stiffness")??yi,o=e.get("mass")??hi,s=e.get("damping")??Pu;return Iu(s/(2*Math.sqrt(i*o)),t)}function Mu(e,t){return e<=pt?e:(t.push(`spring "bounce:${e}" is past ${pt} \u2014 a spring that bouncy never settles inside one animation, so it is capped at ${pt}`),pt)}function Iu(e,t){if(!Number.isFinite(e))return t.push("spring constants do not describe a spring \u2014 using the default curve"),Ir;if(e>=mt&&e<=Cr)return e;let r=Math.min(Math.max(e,mt),Cr);return t.push(`spring damping ratio ${Mr(e)} is outside ${mt}\u2013${Cr} \u2014 clamped to ${Mr(r)} so the curve settles`),r}var di=new Map;function Pi(e){let t=Math.round(e*dt),r=di.get(t);if(r!==void 0)return r;let n=Lu(t/dt);return di.set(t,n),n}function Lu(e){let t=Ou(e),r=Nu(e,(t.length-1)*vi),n=[];for(let i=0;i<=r;i++)n.push(String(Mr(_u(t,i/r))));return n[0]="0",n[r]="1",`linear(${n.join(", ")})`}function Ou(e){let t={stiffness:1,damping:2*e,mass:1,restVelocity:wu,restDisplacement:xu},r=[0],n={value:0,velocity:0};for(let i=0;i<ku&&(n=Tr(n,1,t,vi),r.push(n.value),!Ar(n,1,t));i++);return r}function Nu(e,t){if(e>=1)return pi;let r=2*Math.PI/Math.sqrt(1-e*e),n=pi+Math.round(Au*t/r);return Math.min(n,Tu)}function _u(e,t){let r=t*(e.length-1),n=Math.floor(r),i=Math.min(n+1,e.length-1),o=e[n];return o+(e[i]-o)*(r-n)}function Mr(e){return Math.round(e*dt)/dt}var qe="infinite",$u=/^(?:\d+(?:\.\d+)?|\.\d+)$/,Du=new Set(["view","scroll","pin"]),ju=new Set(["repeat","yoyo"]);function ki(e){return ju.has(e)}function xi(e,t,r,n){e[t]!==void 0&&n.warn(`duplicate parameter "${t}" in "${n.segment}"`),t==="yoyo"?Gu(e,r,n):Hu(e,r,n)}function Hu(e,t,r){if(t===qe){e.repeat=qe;return}if(!$u.test(t)){r.warn(Vu(t,r.segment));return}Number(t)===0&&r.warn(`"repeat:0" in "${r.segment}" means the effect never plays \u2014 with animation-fill-mode: both it jumps straight to its end state. Write "repeat:1" to play it once, or drop the key.`),e.repeat=t}function Gu(e,t,r){if(t!=="true"&&t!=="false"){r.warn(`"yoyo:${t}" in "${r.segment}" is not a boolean \u2014 expected yoyo:true or yoyo:false`);return}e.yoyo=t==="true"}function Vu(e,t){return e.startsWith("-")?`"repeat:${e}" in "${t}" is negative \u2014 a play count cannot be. Write "repeat:infinite" to loop forever, or a non-negative number such as repeat:3.`:`"repeat:${e}" in "${t}" is not a play count \u2014 expected a non-negative number such as repeat:3, or repeat:infinite`}function wi(e){let t=[];if(e.repeat===void 0&&e.yoyo===void 0)return{warnings:t};if(e.renderer!=="css-keyframes")return{warnings:[Bu(e)]};if(e.repeat===qe&&Du.has(e.timeline))return t.push(Wu(e.name,e.timeline)),{yoyo:e.yoyo,warnings:t};let r=Fu(e);return r&&t.push(r),{repeat:e.repeat,yoyo:e.yoyo,warnings:t}}function Fu(e){if(!e.cloak||e.yoyo!==!0)return null;let t=yt(e.repeat);return t===void 0||t===0||t%2!==0?null:`"${e.name}" with yoyo:true and an even repeat:${e.repeat} ends on a reversed iteration, and this effect's from-state is one the visitor is not meant to see \u2014 the element finishes hidden. Use an odd count (repeat:${t+1}) to end at the rest state.`}function Bu(e){let t=[e.repeat===void 0?"":`repeat:${e.repeat}`,e.yoyo===void 0?"":`yoyo:${e.yoyo}`].filter(Boolean).join(" and ");return`"${e.name}" is rendered in JavaScript and compiles no animation-iteration-count, so ${t} does nothing \u2014 it plays once. Repeat is a CSS-keyframes capability; a JS-rendered effect that loops does it through a parameter of its own (typewriter's "loop:"), if it has one.`}function Wu(e,t){let r=t==="pin"?"a pin scrubs a single playthrough with a negative animation-delay, so no iteration past the first is ever reachable":`a "${t}" timeline is a finite range driven by scroll position rather than a clock, and an infinite iteration count collapses the animation's active duration to zero there \u2014 the element renders frozen at its end state`;return`"${e}" has repeat:infinite on a "${t}" timeline: ${r}. Dropping the repeat, so it plays once across the range \u2014 put an infinite loop on a "time" timeline instead.`}function yt(e){if(!(e===void 0||e===qe))return Number(e)}function Ti(e){return e===qe}function Ai(e){return e?"alternate":"normal"}function ht(e,t){let r=yt(t);return r===void 0||r===1?e:`${e} * ${r}`}var vt=["enter","leave","enter-back","leave-back"],Ci=new Set(["play","pause","resume","reverse","reset","restart","complete","none"]),Mi=new Set(["pause","resume","reset","restart","complete"]),Ri="/";function bt(e,t=[]){let r=e.split(Ri);r.length>vt.length&&t.push(`"actions:${e}" has ${String(r.length)} verbs \u2014 there are four crossings (${vt.join(Ri)}), so the extras are ignored`);let n={enter:"none",leave:"none","enter-back":"none","leave-back":"none"};for(let[i,o]of vt.entries()){let s=r[i]?.trim();s===void 0||s===""||(n[o]=qu(s,o,t))}return n}function qu(e,t,r){return Ci.has(e)?e:(r.push(`unrecognised action "${e}" for the "${t}" crossing \u2014 expected ${[...Ci].join(", ")}`),"none")}function Ii(e){let t=[];return bt(e,t),t}function Uu(e){for(let t of vt)if(Mi.has(e[t]))return e[t]}function Li(e){if(!e.observed)return[`"actions:" describes the four crossings of a scroll trigger, but this element activates on "${e.activation}" \u2014 nothing here is ever reached. Use on:enter or on:enter/leave`];let t=Uu(e.actions);if(t===void 0)return[];let r=[];e.progressDriven&&r.push(`"actions:" asks to ${t} an element whose progress is driven by scroll position rather than by a clock \u2014 its playhead belongs to the scroller and would be overwritten on the next frame`);let n=e.jsEffectNames;if(n.length>0){let i=n.length===1;r.push(`"actions:" asks to ${t}, which needs a playhead, and "${n.join(" ")}" ${i?"is":"are"} rendered in JavaScript and expose${i?"s":""} none \u2014 that crossing does nothing for ${i?"it":"them"}`)}return r}function Oi(e,t){e==="play"?t.activate():e==="reverse"?t.reverse():Mi.has(e)&&Ku(e,t)}function Ku(e,t){if(!t.started){zu(e)&&t.activate();return}(e==="restart"||e==="complete")&&t.activate();for(let r of t.controls)Yu(e,r)}function zu(e){return e==="resume"||e==="restart"||e==="complete"}function Yu(e,t){e==="pause"?t.pause():e==="resume"?t.resume():e==="complete"?t.seek(1):(t.seek(0),e==="reset"?t.pause():t.resume())}var g={opacity:"opacity",translate:"translate",scale:"scale",rotate:"rotate",filter:"filter",clip:"clip",background:"background",color:"color",stroke:"stroke",text:"text",skew:"skew"};function Et(e=()=>{}){return{activate(){},cancel(){},finish(){},finished:Promise.resolve(),destroy:e}}var be=["activation","actions","timeline","threshold","cascade","spread","order","cols","along"];var Xu=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/,Ju=["cubic-bezier(","steps(","linear(","spring("],Zu=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end","expo-in","expo-out","expo-in-out","back-in","back-out","back-in-out","quart-out","circ-out","spring","bounce"]);function de(e,t,r=[]){let n=[],i={depth:0,quote:null,escaped:!1},o="";for(let s of e){if(Qu(s,t,i)){o.trim()&&n.push(o.trim()),o="";continue}o+=s}return o.trim()&&n.push(o.trim()),i.quote?r.push(`unterminated ${i.quote} quote in "${e}"`):i.depth>0&&r.push(`unclosed "(" in "${e}"`),n}function Qu(e,t,r){return r.quote?ep(e,r):e==='"'||e==="'"?(r.quote=e,!1):(e==="("?r.depth++:e===")"&&(r.depth=Math.max(0,r.depth-1)),r.depth!==0?!1:t===" "?/\s/.test(e):e===t)}function ep(e,t){return t.escaped?t.escaped=!1:e==="\\"?t.escaped=!0:e===t.quote&&(t.quote=null),!1}function Ue(e){let t=0;for(let r=0;r<e.length;r++){let n=e[r];if(n==="(")t++;else if(n===")")t=Math.max(0,t-1);else if(n===":"&&t===0){let i=e.slice(0,r).trim(),o=tp(e.slice(r+1).trim());return i&&o?[i,o]:null}}return null}function tp(e){let t=e[0];return(t==='"'||t==="'")&&e.endsWith(t)&&e.length>1?e.slice(1,-1).replaceAll(`\\${t}`,t):e}function $i(e){let t=[],r=de(e??""," ",t),[n,...i]=r;if(!n)return{warnings:t};t.push(...kr(n));let o;for(let s of i){let a=Ue(s);if(!a||a[0]!=="from"){t.push(`unrecognised activation option "${s}"`);continue}if(o!==void 0){t.push(`duplicate activation option "from" in "${e}"`);continue}o=a[1]}return t.length>0?{warnings:t}:{activation:n,...o===void 0?{}:{from:o},warnings:t}}function rp(e){let t=Ue(e);return t?{kind:"pair",key:t[0],value:t[1]}:Xu.test(e)?{kind:"time",value:e}:np(e)?{kind:"easing",value:e}:{kind:"unknown",value:e}}function np(e){return Zu.has(e)?!0:Ju.some(t=>e.startsWith(t)&&e.endsWith(")"))}function Re(e){let t={specs:[],warnings:[]};for(let r of de(e??"",",",t.warnings)){let n=ip(r,t);n&&t.specs.push(n)}return t}function ip(e,t){let r=de(e," ",t.warnings),n=r.shift();if(Ue(n))return lp(n,r,t)||t.warnings.push(`effect name expected, got "${n}"`),null;let i={name:n,params:{}},o=0,s=sp(r)?{specs:[],warnings:[]}:null;for(let a of r){let c=rp(a);c.kind==="time"?o=pp(i,c.value,o,t.warnings):mp(c,i,{segment:e,result:t,sink:s})}return op(i,s,t),i}function op(e,t,r){if(!t)return;r.warnings.push(...t.warnings);let n=ap(t);n&&(e.hoists=n)}function sp(e){return e.some(t=>Ue(t)?.[0]==="target")}function ap(e){let t={},r=!1;for(let n of be){let i=e[n];i!==void 0&&(t[n]=i,r=!0)}return r?t:void 0}var cp=new Set(["on","actions","timeline","threshold","cascade","spread","order","cols","along"]);function lp(e,t,r){let n=[];for(let i of[e,...t]){let o=Ue(i);if(!o||!up.has(o[0])||!Object.hasOwn(St,o[0]))return!1;n.push(o)}for(let[i,o]of n)St[i](r,o);return!0}var up=new Set(["cascade","spread","order","cols","along"]);function pp(e,t,r,n){return r===0?e.duration=t:r===1?e.delay=t:n.push(`third time value "${t}" ignored (expected duration then delay)`),r+1}function mp(e,t,r){let{segment:n,result:i,sink:o}=r;if(e.kind==="easing"){dp(e.value,t,n,i);return}if(e.kind==="unknown"){i.warnings.push(`unrecognised token "${e.value}" in "${n}" \u2014 expected [duration] [delay] [easing] or key:value`);return}if(!fp(e.key,e.value,t,r)){if(Object.hasOwn(St,e.key)){let s=o&&cp.has(e.key)?o:i;St[e.key](s,e.value);return}e.key in t.params&&i.warnings.push(`duplicate parameter "${e.key}" in "${n}"`),t.params[e.key]=e.value}}function dp(e,t,r,n){t.easing&&n.warnings.push(`duplicate easing "${e}" in "${r}"`);for(let i of gt(e))n.warnings.push(`${i} in "${r}"`);t.easing=e}function fp(e,t,r,n){let{segment:i,result:o}=n;return e==="at"?(r.at!==void 0&&o.warnings.push(`duplicate parameter "at" in "${i}"`),r.at=t,!0):yp(e)?(hp(r,e,t,n),!0):ki(e)?(xi(r,e,t,{segment:i,warn:s=>o.warnings.push(s)}),!0):!1}var gp=new Set(["above","below","wide","narrow"]);function yp(e){return gp.has(e)}function hp(e,t,r,n){let{segment:i,result:o}=n;if(!ni(r)){o.warnings.push(`unknown breakpoint "${r}" in "${i}" \u2014 expected one of ${ct.join(", ")}`);return}let s=e.gate??={};s[t]!==void 0&&o.warnings.push(`duplicate parameter "${t}" in "${i}"`),s[t]=r,vp(s,ri(t),i,o)}function vp(e,t,r,n){let[i,o]=t,s=e[i],a=e[o];!s||!a||We(s)<We(a)||n.warnings.push(`"${i}:${s} ${o}:${a}" in "${r}" can never match \u2014 "${i}" must name a smaller breakpoint than "${o}"`)}var Ni=new Set(["shorten","crossfade","disable"]),St={on(e,t){let r=kr(t);if(r.length>0){e.warnings.push(...r);return}q(e,"activation",t,"activations")},timeline(e,t){q(e,"timeline",t,"timelines")},actions(e,t){let r=Ii(t);if(r.length>0){e.warnings.push(...r);return}q(e,"actions",t,"crossing actions")},threshold(e,t){q(e,"threshold",t,"thresholds")},cascade(e,t){_i(e,"spread","cascade",t),q(e,"cascade",t,"stagger steps")},spread(e,t){_i(e,"cascade","spread",t),q(e,"spread",t,"stagger budgets")},order(e,t){q(e,"order",t,"stagger orders")},cols(e,t){q(e,"cols",t,"stagger column counts")},along(e,t){q(e,"along",t,"stagger axes")},rm(e,t){if(!Ni.has(t)){e.warnings.push(`unrecognised "rm:${t}" \u2014 expected ${[...Ni].join(", ")}`);return}q(e,"rm",t,"reduced-motion policies")},func(e,t){q(e,"func",t,"callbacks")}};function _i(e,t,r,n){let i=e[t];i!==void 0&&e.warnings.push(`"${t}:${i}" and "${r}:${n}" are two ways to set one stagger step \u2014 the total budget ("spread:") wins`)}function q(e,t,r,n){let i=e[t];if(i===void 0){e[t]=r;return}i!==r&&e.warnings.push(`conflicting ${n} "${String(i)}" and "${String(r)}"`)}var fe=class{primitives=new Map;presets=new Map;combos=new Map;registerPrimitive(t){if(this.primitives.has(t.id))throw new Error(`kuinetic: primitive "${t.id}" is already registered`);return this.primitives.set(t.id,Ep(t)),this}registerPreset(t){if(this.presets.has(t.name))throw new Error(`kuinetic: effect "${t.name}" is already registered`);if(!this.primitives.has(t.primitive))throw new Error(`kuinetic: effect "${t.name}" references unknown primitive "${t.primitive}"`);for(let r of t.transitions??[])if(r.property==="all"||r.property==="none")throw new Error(`kuinetic: effect "${t.name}" declares a transition on "${r.property}", which would swallow every other preset's segment in the merged transition list \u2014 name the real property instead`);return this.presets.set(t.name,t),this}registerPresets(t){for(let r of t)this.registerPreset(r);return this}registerPrimitives(t){for(let r of t)this.registerPrimitive(r);return this}registerCombo(t,r){return this.combos.set(Di(t),r),this}resolve(t){let r=this.presets.get(t);if(!r)return;let n=this.primitives.get(r.primitive);return{preset:r,primitive:n}}findCombo(t){let r=this.combos.get(Di(t));return r?this.resolve(r):void 0}has(t){return this.presets.has(t)}names(){return[...this.presets.keys()].sort((t,r)=>t.localeCompare(r))}getPrimitive(t){return this.primitives.get(t)}},bp=["duration","delay","ease"];function ge(e,t){return`--kui-${e}-${t}`}function Ep(e){let t={...e.parameters};for(let r of bp){let n=t[r];n&&(t[r]={...n,cssProperty:ge(e.id,r)})}return{...e,parameters:t}}function Di(e){return[...e].sort((t,r)=>t.localeCompare(r)).join("+")}function Pt(e,t){let r,n=1/0;for(let i of t){let o=Sp(e,i);o<n&&(n=o,r=i)}return n<=Math.max(2,Math.floor(e.length/3))?r:void 0}function Sp(e,t){let r=e.length+1,n=t.length+1,i=Array.from({length:n},(o,s)=>s);for(let o=1;o<r;o++){let s=[o,...Array(n-1).fill(0)];for(let a=1;a<n;a++){let c=e[o-1]===t[a-1]?0:1;s[a]=Math.min(s[a-1]+1,i[a]+1,i[a-1]+c)}i=s}return i[n-1]}var ji=["activation","timeline","threshold","rm","func"],Pp={activation:"on",timeline:"timeline",threshold:"threshold",rm:"rm",func:"func"},kt=class{constructor(t){this.registry=t}bundles=new Map;collect(t,r){let n=0;for(let i of Tp(t))this.define(i,r)&&n++;return n}expand(t){if(this.bundles.size===0)return t;let r={warnings:[...t.warnings],hoists:{}},n=this.expandList(t.specs,[],r),i={...t,specs:n,warnings:r.warnings};for(let o of ji)Hi(i,r.hoists,o);return i}define(t,r){let n=t.getAttribute(S.define).trim(),i=t.getAttribute(S.source)??"",o=this.nameProblem(n);if(o)return r.warn(o,t),!1;let s=this.bundles.get(n);return s?(s.source!==i&&r.warn(`bundle "${n}" is already defined \u2014 the first definition wins`,t),!1):(t.localName!=="template"&&r.warn(`bundle "${n}" is defined on <${t.localName}> \u2014 a definition is data, so it is never animated; use <template>`,t),this.bundles.set(n,kp(n,i,t,r)),!0)}nameProblem(t){if(!t)return`${S.define} needs a name \u2014 an empty one defines nothing`;if(/[\s,:()"']/.test(t))return`bundle name "${t}" cannot contain whitespace, a comma, a colon, parentheses or quotes \u2014 those are grammar, so a name carrying them could never be written in ${S.source}`;if(this.registry.has(t))return`bundle "${t}" is already the name of a registered effect \u2014 the effect wins and this definition is ignored`}expandList(t,r,n){let i=[];for(let o of t){let s=this.bundles.get(o.name);if(!s){i.push(o),this.noteNearMiss(o.name,n.warnings);continue}if(r.includes(o.name)){n.warnings.push(wp(r,o.name));continue}xp(s,o.name,n);let a=this.expandList(s.specs,[...r,o.name],n);Rp(o,a,n.warnings);for(let c of a)i.push(Ap(c,o))}return i}noteNearMiss(t,r){if(this.registry.has(t))return;let n=Pt(t,[...this.bundles.keys()]);n&&r.push(`"${t}" is not a registered effect \u2014 did you mean the bundle "${n}"?`)}};function kp(e,t,r,n){let i=Re(t);for(let s of i.warnings)n.warn(`in bundle "${e}": ${s}`,r);i.specs.length===0&&n.warn(`bundle "${e}" names no effect \u2014 elements that use it animate nothing`,r);let o=["cascade","spread","order","cols","along"].filter(s=>i[s]!==void 0).map(s=>`"${s}:"`).join(" and ");return o&&n.warn(`bundle "${e}" declares ${o} \u2014 a stagger group is read from the group element's own attribute, which never sees a bundle, so it is dropped; write it on the group element itself`,r),{source:t,specs:i.specs,hoists:i}}function xp(e,t,r){for(let n of ji){if(Hi(r.hoists,e.hoists,n)!=="clash")continue;let i=Pp[n],o=String(r.hoists[n]);r.warnings.push(`bundle "${t}" sets "${i}:${String(e.hoists[n])}", which conflicts with "${i}:${o}" from an earlier bundle \u2014 the first wins`)}}function wp(e,t){let r=[...e,t].join(" \u2192 ");return`bundle "${t}" is defined in terms of itself (${r}) \u2014 the reference is dropped`}function Tp(e){let t=`[${S.define}]`,r=[...e.querySelectorAll(t)],n=e.nodeType===1?e:null;return n?.matches(t)&&r.unshift(n),r}function Hi(e,t,r){let n=t[r];if(n===void 0)return"kept";let i=e[r];return i===void 0?(e[r]=n,"taken"):i===n?"kept":"clash"}function Ap(e,t){return{...e,duration:t.duration??e.duration,delay:t.delay??e.delay,easing:t.easing??e.easing,at:t.at??e.at,gate:t.gate??e.gate,repeat:t.repeat??e.repeat,yoyo:t.yoyo??e.yoyo,params:{...e.params,...t.params},hoists:Cp(e.hoists,t.hoists)}}function Cp(e,t){if(!e&&!t)return;let r={...e};for(let n of be){let i=t?.[n];i!==void 0&&(r[n]=i)}return r}function Rp(e,t,r){e.at===void 0||!t.some(n=>n.at!==void 0)||r.push(`"at:${e.at}" on "${e.name}" overrides the offsets the bundle sets on its own segments \u2014 they now all start at the same position`)}function ze(e,t){return typeof e=="string"?[...t.querySelectorAll(e)]:e instanceof Element?[e]:[...e]}function Or(e){if(e!==void 0)return typeof e=="number"?`${e}ms`:e}var Mp=/[\s,()"']/;function Ip(e){return Mp.test(e)?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:e}function Lp(e){let t=0;for(let r of e)if(r==="(")t++;else if(r===")")t=Math.max(0,t-1);else if(r===":"&&t===0)return!0;return!1}function Ke(e,t){let r=[],n=de(t," ",r),i=de(t,",",r),o=n.length===1&&n[0]===t;if(!(r.length===0&&o&&i.length===1&&!Lp(t)))throw new Error(`play(): ${e} "${t}" cannot be serialized \u2014 it contains a space, comma, colon, quote, or unbalanced parenthesis the parser cannot read back as one token`)}function Nr(e,t={}){Ke("effect",e);let{duration:r,delay:n,ease:i,...o}=t;delete o.stagger;let s=[e],a=Or(n),c=Or(r);c&&(Ke("duration",c),s.push(c)),a&&(Ke("delay",a),s.push(c?a:`delay:${a}`)),i&&(Ke("easing",i),s.push(i));for(let[u,l]of Object.entries(o))l!==void 0&&(Ke("parameter name",u),s.push(`${u}:${Ip(String(l))}`));return s.join(" ")}function xt(e,t={}){let{animator:r,root:n,target:i,effect:o}=e,s=ze(i,n),a=Or(t.stagger),c=Nr(o,t);for(let[p,m]of s.entries())a&&(m.style.setProperty("--kui-stagger",a),m.style.setProperty("--kui-i",String(p))),r.reset(m),m.hasAttribute(S.on)||m.setAttribute(S.on,"manual"),m.setAttribute(S.source,c),r.process(m),r.activate(m);let u=p=>[p,...r.derivedOf(p)].flatMap(m=>r.stateOf(m)?.instances??[]),l=Promise.all(s.flatMap(p=>u(p).map(m=>m.finished))).then(()=>{});return{elements:s,finished:l,cancel(){for(let p of s)r.cancel(p)},finish(){for(let p of s)for(let m of u(p))m.finish()}}}var _r=0;function Gi(e){return Math.min(1,Math.max(0,e))}function Bi(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Wi(e){return Bi(e.effect?.getComputedTiming?.().endTime)}function Vi(e){let t=_r;for(let r of e)t=Math.max(t,Wi(r));return t}function qi(e){return e.length===0?"idle":e.includes("running")?"running":e.includes("paused")?"paused":e.every(t=>t==="finished")?"finished":"idle"}function Fi(e){try{e()}catch{}}function Ui(e,t){return{pause(){t.set("animation-play-state","paused")},resume(){t.set("animation-play-state","running")},reverse(){for(let r of e())Fi(()=>r.reverse());t.set("animation-play-state","running")},seek(r){let n=e(),i=Vi(n);if(i===_r)return;let o=Gi(r)*i;for(let s of n)Fi(()=>{s.currentTime=Math.min(o,Wi(s))})},rate(r){for(let n of e())n.playbackRate=r},get progress(){let r=e(),n=Vi(r);if(n===_r)return 0;let i=0;for(let o of r)i=Math.max(i,Bi(o.currentTime));return Gi(i/n)},get playState(){return qi(e().map(r=>r.playState))}}}function Op(e,t){let r=e.stateOf(t);if(!r)return{el:t,controls:[],unreachable:[],refused:!0,note:"no kUInetic effect is installed on this element \u2014 it has no playhead to control"};if(r.progressDriven)return{el:t,controls:[],unreachable:[...r.fxNames],refused:!0,note:`"${r.fxNames.join(" ")}" is driven by scroll position rather than a clock, so its playhead belongs to the scroller \u2014 pausing or seeking it would be overwritten on the next frame`};let n=r.instances.map(o=>o.control).filter(o=>o!==void 0),i=[...r.jsEffectNames];return i.length===0?{el:t,controls:n,unreachable:i}:{el:t,controls:n,unreachable:i,note:`"${i.join(" ")}" ${i.length===1?"is":"are"} rendered in JavaScript and expose${i.length===1?"s":""} no playhead, so pause, seek and timeScale do not reach ${i.length===1?"it":"them"}`}}function Np(e,t){let r=new Set,n=[];for(let i of t)for(let o of[i,...e.derivedOf(i)])r.has(o)||(r.add(o),n.push(o));return n}function wt(e){let{animator:t,root:r,target:n}=e,i=ze(n,r),o=Np(t,i),s=o.map(p=>Op(t,p));for(let[p,m]of s.entries())m.note&&t.reporter.warn(`control(): ${m.note}`,o[p]);let a=p=>{for(let m of s)for(let f of m.controls)p(f);return l},c=(p,m)=>(t.reporter.warn(`control(): ${p} ignored \u2014 ${String(m)} is not a finite number`),l),u=()=>{for(let p of s)p.refused||t.reverseFrom(p.el);return l},l={elements:i,get uncontrolled(){return s.flatMap(p=>p.unreachable)},pause:()=>a(p=>p.pause()),play:()=>a(p=>p.resume()),reverse:()=>u(),seek:p=>Number.isFinite(p)?a(m=>m.seek(p)):c("seek()",p),timeScale:p=>Number.isFinite(p)?a(m=>m.rate(p)):c("timeScale()",p),get progress(){let p=1,m=!1;for(let f of s)for(let d of f.controls)p=Math.min(p,d.progress),m=!0;return m?p:0},get state(){return qi(s.flatMap(p=>p.controls.map(m=>m.playState)))}};return l}var G={start:"kui:start",finish:"kui:finish",reverseFinish:"kui:reverse-finish",cancel:"kui:cancel"};function Ki(e,t,r){let n=e.ownerDocument?.defaultView?.CustomEvent??globalThis.CustomEvent;typeof n=="function"&&e.dispatchEvent(new n(t,{detail:r,bubbles:!0,composed:!0}))}function zi(e){let{el:t,name:r,reporter:n,signal:i}=e,o=s=>{if(s.target!==t)return;let a=_p(t,r);if(!a){n.warn(`func:${r} \u2014 no global function named "${r}". A function declaration (\`function ${r}() {}\`) or an explicit \`window.${r} = \u2026\` creates one; \`const\` and \`let\` deliberately do not, and neither does a bundled or \`type="module"\` script.`,t);return}Reflect.apply(a,t,[s])};t.addEventListener(G.finish,o),i.addEventListener("abort",()=>t.removeEventListener(G.finish,o))}function _p(e,t){let r=e.ownerDocument?.defaultView??globalThis;if(!Object.hasOwn(r,t))return;let n=r[t];return typeof n=="function"?n:void 0}function Ee(e,t){if(typeof CSS>"u"||typeof CSS.supports!="function")return!1;try{return CSS.supports(e,t)}catch{return!1}}var Tt;function At(e=!1){return Tt&&!e||(Tt={viewTimeline:Ee("animation-timeline","view()"),scrollTimeline:Ee("animation-timeline","scroll()"),animationRange:Ee("animation-range","entry 0% cover 30%"),individualTransforms:Ee("translate","0 10px")&&Ee("scale","1.1"),scrollTimelineName:Ee("scroll-timeline-name","--x"),viewTransitions:typeof document<"u"&&"startViewTransition"in document,intersectionObserver:typeof IntersectionObserver<"u",reducedMotion:typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches,motionPath:Ee("offset-path",'path("M 0 0")')}),Tt}var $p=[{channel:"offset",capability:"motionPath",message:"this browser does not support CSS Motion Path (offset-path), so the element will not travel \u2014 the animation still runs and completes, it just has no path to follow"}];function Yi(e,t){return $p.filter(r=>e.includes(r.channel)&&!t[r.capability]).map(r=>r.message)}var Dp=new Set(["entrance|state","exit|state"]);function jp(e,t){return e<t?`${e}|${t}`:`${t}|${e}`}function Hp(e,t){return!e.phase||!t.phase?!1:Dp.has(jp(e.phase,t.phase))}var Gp={translate:"add"};function Xi(e){return e.length>0&&e.every(t=>Gp[t]==="add")}function Ji(e,t){if(t.some(i=>i.effects[0]===i.effects[1]))return;let r=new Set(t.map(i=>i.channel)),n=new Set;e.forEach((i,o)=>{i.channels.some(s=>r.has(s))&&n.add(o)});for(let i of n)if(!e[i].additive)return;return n}function Zi(e){let t=[],r=new Map;for(let n of e)for(let i of n.channels){let o=r.get(i)??[],s=o.find(a=>si(a.gate,n.gate)&&!Hp(a,n));s&&t.push({channel:i,effects:[s.name,n.name]}),o.push(n),r.set(i,o)}return t}function Qi(e){let t=e.filter(n=>n.delivery==="stylesheet-animation");if(t.length===0)return[];let r=e.find(n=>n.inlineAnimation&&!n.delivery);return r?t.map(n=>`"${r.name}" writes an inline animation, which outranks the stylesheet rule "${n.name}" delivers its motion from`):[]}function eo(e){return e.map(t=>`"${t.effects[0]}" and "${t.effects[1]}" both animate ${t.channel}`).join("; ")}var to=/[;<]|\/\*|url\s*\(|expression\s*\(|@import|image-set\s*\(/i,Vp=/^(?:[a-z][a-z0-9+.-]*:|[/\\]{2})/i,$r=200,Fp=2e3,Bp=/^[MmZzLlHhVvCcSsQqTtAa0-9eE.,+\-\s]+$/,Me=String.raw`-?(?:\d+(?:\.\d+)?|\.\d+)`,Wp="px|rem|em|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc|q|%",ro={length:new RegExp(`^(?:0|${Me}(?:${Wp}))$`,"i"),time:new RegExp(`^${Me}(?:ms|s)$`,"i"),number:new RegExp(`^${Me}$`),percentage:new RegExp(`^${Me}%$`),angle:new RegExp(`^${Me}(?:deg|rad|turn|grad)$`,"i")},qp=new RegExp(`^(${Me})d?$`,"i");function Up(e){let t=qp.exec(e);return t?`${t[1]}deg`:e}var Kp=/^([+-]?)(\d+(?:\.\d+)?|\.\d+)(?:e([+-]?\d+))?$/i,zp=/^#[0-9a-f]{3,8}$/i,Yp=/^(?:rgba?|hsla?|okl(?:ch|ab)|l(?:ch|ab)|color)\([^()]*\)$/i,Xp=new Set(["accentcolor","accentcolortext","activetext","buttonborder","buttonface","buttontext","canvas","canvastext","field","fieldtext","graytext","highlight","highlighttext","linktext","mark","marktext","selecteditem","selecteditemtext","visitedtext","transparent","currentcolor","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),Jp=/^(?:linear|ease|step-start|step-end|spring|bounce|[a-z]+-(?:in|out|in-out))$/i,Zp=/^(?:cubic-bezier|steps|linear|spring)\([^()]*\)$/i,Qp={"number|percentage":["number","percentage"],"length|percentage":["length","percentage"],"angle|keyword":["angle"]};function em(e){return Qp[e]??[e]}var tm=new Set(["length","percentage","number"]),rm=new Set(["number","number|percentage"]),nm=/^[\d.\s+\-*/%a-z,]$/i,im=/^--[\w-]+$/;function Ie(e,t){let r=e.trim(),n=um(r,t);if(n)return n;let i=om(r,t);if(i)return i;if(t.type==="text")return{value:r,ok:!0};if(t.type==="path")return lm(r,t);let o=sm(r,t.type);return pm(o,t.type)?fm(o,t):Q(t,`not a valid ${mm(t)}`)}function om(e,t){return t.type!=="keyword"&&t.type!=="angle|keyword"?null:t.keywords?.includes(e)?{value:e,ok:!0}:t.type!=="keyword"?null:Q(t,`expected one of ${t.keywords?.join(", ")||"(none declared)"}`)}function sm(e,t){return t==="angle"||t==="angle|keyword"?Up(e):t==="number|percentage"?am(e):e}function am(e){return ro.percentage.test(e)?Ct(e.slice(0,-1),-2)??e:e}function Ct(e,t=0){let r=Kp.exec(e);if(!r||e.length>$r)return;let[,n,i,o]=r,s=i.replace(".",""),a=i.indexOf("."),c=(a<0?s.length:a)+Number(o??0)+t;if(Math.abs(c)+s.length>190)return;let u="0".repeat(Math.max(0,-c))+s+"0".repeat(Math.max(0,c-s.length)),l=Math.max(0,c),p=u.slice(0,l).replace(/^0+/,"")||"0",m=cm(u,l);return`${n==="-"?"-":""}${p}${m}`}function cm(e,t){let r=e.length;for(;r>t&&e[r-1]==="0";)r--;return r>t?"."+e.slice(t,r):""}function no(e){return e.length<=$r&&!to.test(e)}function lm(e,t){return Bp.test(e)?/^[Mm]/.test(e)?{value:`"${e}"`,ok:!0}:Q(t,"path data must start with a moveto (M or m)"):Q(t,"path data contains an unsupported character")}function um(e,t){if(!e)return Q(t,"empty value");let r=t.type==="path"?Fp:$r;return e.length>r?Q(t,`value exceeds ${r} characters`):to.test(e)?Q(t,"value contains disallowed CSS syntax"):null}function pm(e,t){if(t==="color")return dm(e);if(t==="easing")return Jp.test(e)||Zp.test(e);let r=em(t);return r.some(n=>ro[n]?.test(e))?!0:r.some(n=>tm.has(n))?gm(e)&&vm(e):!1}function mm(e){return e.type==="angle|keyword"?`angle or one of ${e.keywords?.join(", ")||"(none declared)"}`:e.type.replace("|"," or ")}function dm(e){return zp.test(e)||Yp.test(e)||Xp.has(e.toLowerCase())}function io(e){return!Vp.test(e)}function fm(e,t){if(!rm.has(t.type))return{value:e,ok:!0};let r=Number(e);return t.finite&&!Number.isFinite(r)?Q(t,"expected a finite number"):t.integer&&!Number.isInteger(r)?Q(t,"expected an integer"):t.minimum!==void 0&&r<t.minimum?Q(t,`expected at least ${t.minimum}`):t.maximum!==void 0&&r>t.maximum?Q(t,`expected at most ${t.maximum}`):{value:e,ok:!0}}function Q(e,t){return{value:e.default,ok:!1,reason:t}}function gm(e){if(!e.startsWith("calc(")||!e.endsWith(")"))return!1;let t=e.length-1,r=5;for(;r<t;)if(r=ym(e,r,t),r<0)return!1;return!0}function ym(e,t,r){return e.startsWith("var(",t)?hm(e,t,r):nm.test(e[t])?t+1:-1}function hm(e,t,r){let n=e.indexOf(")",t+4);if(n<0||n>=r)return-1;let i=e.slice(t+4,n);return im.test(i)?n+1:-1}function vm(e){let t=e.slice(5,-1).trim();return t!==""&&!/[+\-*/]$/.test(t)}function oo(e,t,r){let n={};for(let[i,o]of Object.entries(e)){let s=Object.hasOwn(t,i)?t[i]:void 0;if(!s){r(`unknown parameter "${i}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}if(s.type==="text")continue;let a=Ie(o,s);if(!a.ok){r(`parameter "${i}": ${a.reason} \u2014 got "${o}", using default "${s.default}"`);continue}n[s.cssProperty]=bm(a.value,s,i,r)}return n}function bm(e,t,r,n){if(t.type!=="easing")return e;for(let i of gt(e))n(`parameter "${r}": ${i}`);return me(e)}var ao={viewportWidth:0,viewportHeight:0,percentBasis:0,fontSize:16,rootFontSize:16},Em={px:1,cm:96/2.54,mm:96/25.4,q:96/101.6,in:96,pt:96/72,pc:16},Sm={vh:e=>e.viewportHeight/100,vw:e=>e.viewportWidth/100,vmin:e=>Math.min(e.viewportWidth,e.viewportHeight)/100,vmax:e=>Math.max(e.viewportWidth,e.viewportHeight)/100,"%":e=>e.percentBasis/100,em:e=>e.fontSize,rem:e=>e.rootFontSize,ch:e=>e.fontSize*.5,ex:e=>e.fontSize*.5},Dr=/^(-?(?:\d+(?:\.\d+)?|\.\d+))([a-z%]*)$/i;function Pm(e,t,r){let n={};for(let[i,o]of Object.entries(t))n[i]=o.default;for(let[i,o]of Object.entries(e)){let s=Object.hasOwn(t,i)?t[i]:void 0;if(!s){r(`unknown parameter "${i}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}let a=Ie(o,s);n[i]=a.value,a.ok||r(`parameter "${i}": ${a.reason} \u2014 got "${o}", using default "${s.default}"`)}return n}function Ye(e,t=0){let r=Dr.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),i=r[2].toLowerCase();return i==="ms"?n:i==="s"?n*1e3:t}function ne(e,t,r=0){let n=Dr.exec(e.trim());if(!n)return r;let i=Number.parseFloat(n[1]),o=n[2].toLowerCase();if(o==="")return i===0?0:r;let s=Em[o];if(s!==void 0)return i*s;let a=Sm[o];return a?i*a(t):r}function km(e,t=0){let r=Dr.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),i=r[2];return i===""?n:i==="%"?n/100:t}var xm={type:"easing",default:"",cssProperty:"--kui-ease"};function so(e,t,r){if(e===void 0)return;let n=Ye(e,Number.NaN);if(Number.isFinite(n))return n;r(`${t} "${e}" is not a valid time \u2014 ignored`)}function wm(e,t){if(e===void 0)return;let r=Ie(e,xm);if(r.ok)return r.value;t(`easing "${e}": ${r.reason} \u2014 ignored`)}function co(e,t){return{durationMs:so(e.duration,"duration",t),delayMs:so(e.delay,"delay",t),easing:wm(e.easing,t)}}function te(e,t){return e.timing.durationMs??e.ms("duration",t)}function Tm(e,t={}){return{text:(r,n="")=>e[r]??n,ms:(r,n=0)=>Ye(e[r]??"",n),num:(r,n=0)=>km(e[r]??"",n),is:(r,n="true")=>(e[r]??"")===n,timing:t}}function lo(e,t,r,n={}){return Tm(Pm(e,t,r),n)}var Am="600ms",po="0ms";function Rt(e,t){return e??`var(${ge(t,"duration")}, ${Am})`}function Cm(e,t){return e??`var(${ge(t,"delay")}, ${po})`}var Rm=/^(with|after)/i,Mm=/^([+-])(\d+(?:\.\d+)?|\.\d+)(ms|s)$/i,Im=/^(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/i,Lm=new Set(["view","scroll"]);function Om(e){let t=e.trim(),r=Rm.exec(t),n=r?.[1]?.toLowerCase()==="with"?"start":"end",i=r?t.slice(r[0].length):t;if(i==="")return r?{ok:!0,position:{anchor:n,offsetMs:0,term:""}}:{ok:!1,reason:uo(t)};let o=Mm.exec(i);if(!o)return{ok:!1,reason:uo(t)};let[,s,a,c]=o,u=`${a}${c}`,l=Ye(u,0);return{ok:!0,position:{anchor:n,offsetMs:s==="-"?-l:l,term:` ${s} ${u}`}}}function uo(e){return Im.test(e)?`at:"${e}" is an absolute position, which is only another spelling of delay:${e} \u2014 write at:+${e} to start that long after the previous effect ends, at:-${e} to overlap it by that much, or at:with to start alongside it`:`at:"${e}" is not a position \u2014 expected at:with, at:after, or a signed time such as at:-200ms, at:+100ms or at:with+150ms`}function mo(e,t,r){let n={members:e,steps:[],warn:r},i=!1;for(let[o,s]of e.entries()){if(s.at===void 0){n.steps.push(fo(s));continue}!i&&Lm.has(t)&&(i=!0,r(Hm(t))),n.steps.push(Nm(n,o))}return n.steps}function fo(e){return{delayExpr:Cm(e.delay,e.primitiveId),delayMs:jr(e.delay??e.cascadeDelay??po)??0,sequenced:!1}}function Nm(e,t){let r=e.members[t],n=fo(r),i=Om(r.at);if(!i.ok)return e.warn(`"${r.name}": ${i.reason}`),n;let o=_m(e,t);return o?(e.warn(o),n):(r.delay!==void 0&&e.warn(`"${r.name}" has both a positional delay (${r.delay}) and at:"${r.at}" \u2014 the delay is ignored, because at: positions the effect itself`),$m(e,t,i.position,n))}function _m(e,t){let r=e.members[t];return t===0?`"${r.name}" is the first effect in the list, so at:"${r.at}" has nothing to be relative to \u2014 using its own delay instead`:r.positionable?null:`"${r.name}" is rendered in JavaScript and declares no "delay", so at:"${r.at}" cannot position it \u2014 it starts with the rest of the list`}function $m(e,t,r,n){let i=e.members[t-1],o=e.steps[t-1];if(r.anchor==="start")return{delayExpr:`${o.delayExpr}${r.term}`,delayMs:o.delayMs+r.offsetMs,sequenced:!0};if(Ti(i.repeat))return jm(e,t,n);let s=jr(i.duration??i.cascadeDuration??"");if(s===void 0)return Dm(e,t,n);let a=ht(Rt(i.duration,i.primitiveId),i.repeat);return{delayExpr:`${o.delayExpr} + ${a}${r.term}`,delayMs:o.delayMs+s*(yt(i.repeat)??1)+r.offsetMs,sequenced:!0}}function Dm(e,t,r){let n=e.members[t],i=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${i.name}": "${i.name}" has no readable duration, so it has no end to measure from \u2014 give it an explicit duration, or use at:with to start alongside it instead`),r}function jm(e,t,r){let n=e.members[t],i=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${i.name}": "${i.name}" has repeat:infinite, so it never ends \u2014 use at:with to start alongside it, or give it a finite repeat count`),r}function Hm(e){return`at: compiles to an animation-delay, and a "${e}" timeline is driven by scroll position rather than a clock, so it ignores one \u2014 position a scroll-driven effect with a range instead (the trailing tokens of data-kui-timeline, e.g. data-kui-timeline="${e} entry 0% cover 60%"). The delay still applies where the browser has no scroll-driven animations and the effect degrades to a clock.`}function jr(e){let t=Ye(e,Number.NaN);return Number.isFinite(t)?t:void 0}function go(e){return jr(e)!==void 0}function yo(){return{names:[],keyframes:[],durations:[],delays:[],ends:[],easings:[],iterationCounts:[],directions:[],compositions:[]}}function Gm(e){let{preset:t}=e.resolved;return e.variant?.keyframes??[t.keyframes??`kui-${t.name}`]}function Vm(e){return`--kui-fx-${e}-iterations`}function ho(e,t,r){let{spec:n,resolved:i}=t,o=i.primitive.id,s=Rt(n.duration,o),a=Fm(r.delayExpr),c=`${r.delayExpr} + ${ht(s,n.repeat)}`,u=So(n.easing,o),l=n.repeat??`var(${Vm(i.preset.name)}, 1)`,p=Ai(n.yoyo),m=t.composite??"replace";for(let f of Gm(t))e.names.push(oi(f,n.gate)),e.keyframes.push(f),e.durations.push(s),e.delays.push(a),e.ends.push(c),e.easings.push(u),e.iterationCounts.push(l),e.directions.push(p),e.compositions.push(m)}function vo(e,t,r,n){let{spec:i,resolved:o}=r,{preset:s,primitive:a}=o;for(let c of s.transitions??[]){let u=t.get(c.property);u!==void 0&&u!==s.name&&n.push(`"${u}" and "${s.name}" both transition ${c.property} \u2014 "${s.name}" wins (last in the list)`),t.set(c.property,s.name);let l=c.duration??Rt(i.duration,a.id),p=c.easing??So(i.easing,a.id),m=`var(--kui-tx-delay-${s.name}, 0ms)`;e.push(`${c.property} ${l} ${p} ${m}`)}}function bo(e,t){if(e.names.length===0)return{};let r=t==="pin"?Bm(e):e.delays.map(Eo),n={"animation-name":e.names.join(", "),"animation-duration":e.durations.join(", "),"animation-delay":r.join(", "),"animation-timing-function":e.easings.join(", "),"animation-iteration-count":e.iterationCounts.join(", "),"animation-fill-mode":e.names.map(()=>"both").join(", ")};return e.directions.some(i=>i!=="normal")&&(n["animation-direction"]=e.directions.join(", ")),e.compositions.some(i=>i!=="replace")&&(n["animation-composition"]=e.compositions.join(", ")),n}function Fm(e){return`${e} + var(--kui-i, 0) * var(--kui-stagger, 0ms)`}function Eo(e){return`calc(${e})`}function Bm(e){let t=[...new Set(e.ends)],n=`${t.length===1?t[0]:`max(${t.join(", ")})`} + (var(--kui-stagger-count, 1) - 1) * var(--kui-stagger, 0ms)`;return e.delays.map(i=>Eo(`${i} - var(--kui-progress, 0) * (${n})`))}function So(e,t){return e?me(e):`var(${ge(t,"ease")}, ease-out)`}var Hr=new Set(["time","view","scroll","pointer","pin"]);function Po(e){return{source:e.getAttribute(S.source)??"",on:e.getAttribute(S.on),timeline:e.getAttribute(S.timeline),threshold:e.getAttribute(S.threshold)}}function ko(e,t){let r=t.timeline??e.timeline??"time",[n="time",...i]=r.trim().split(/\s+/),o=$i(e.on),s=t.activation??o.activation;return{activation:s??"enter",activationAuthored:s!==void 0,...Wm({parsed:t,longhand:o}),...t.actions===void 0?{}:{actions:bt(t.actions)},timeline:Hr.has(n)?n:"time",range:i.join(" "),threshold:t.threshold??e.threshold??"0%"}}function xo(e,t){if(e===void 0)return t;let[r]=e.trim().split(/\s+/);return Hr.has(r)?r:t}function wo(e,t){if(!t)return e;let r=t.activation,n={...e,activation:r??e.activation,activationAuthored:r!==void 0||e.activationAuthored};if(t.actions!==void 0&&(n.actions=bt(t.actions)),t.timeline!==void 0){let[i="time",...o]=t.timeline.trim().split(/\s+/);n.timeline=Hr.has(i)?i:e.timeline,n.range=o.join(" ")}return t.threshold!==void 0&&(n.threshold=t.threshold),n}function Wm({parsed:e,longhand:t}){return e.activation!==void 0||t.from===void 0?{}:{activationSource:t.from}}var Mt={shorten:0,crossfade:1,disable:2};function To(e){let t=e.map(i=>i.defaultActivation),r=t.find(i=>i!==void 0),n=e.findIndex(i=>i.phase==="entrance");return r===void 0||n===-1?r:t[n]??"enter"}function Ao(e){let t="shorten";for(let{plan:r}of e)t=Vr(t,r.reducedMotion);for(let{plan:r}of e)r.reducedMotion=t}function Co(e,t,r){return t===void 0?e:Mt[t]<Mt[e]?(r.push(`"rm:${t}" is weaker than the "${e}" these effects declare \u2014 keeping "${e}" (rm: may only strengthen the reduced-motion policy)`),e):t}function Gr(e,t){return e?e.filter(r=>t.includes(r)):[...t]}function Vr(e,t){return Mt[t]>Mt[e]?t:e}var qm=/^[.#[*:]/,Um=/[>~+]/;function Km(e){return qm.test(e)||Um.test(e)}function Ro(e,t){let r=[];for(let[n,i]of e.entries()){let o=e[n-1]?.params.target;!o||t.has(i.name)||!Km(i.name)||r.push({previous:o,segment:i.name})}return r}function Mo(e){return`target:${e.previous} looks like it continues into "${e.segment}", but a comma always starts a new effect segment \u2014 a target: selector containing a comma must be quoted, e.g. target:'${e.previous}, ${e.segment}'`}function Fr(e){let t=e.resolved.primitive.channels;return e.variant?.channels?[...t,...e.variant.channels]:t}function It(e){return e.variant?.params??e.spec.params}function zm(e){let t=e.variant?.schema;return t?{...e.resolved.primitive.parameters,...t}:e.resolved.primitive.parameters}function Lt(e,t,r){let n=[...e.warnings],i=Ro(e.specs,t);for(let f of i)n.push(Mo(f));let o=i.length>0?{suspectSelectors:i.map(f=>f.segment)}:{},{entries:s,unknown:a}=ed(e.specs,t,n);if(s.length===0)return{targets:[{selector:"",scope:"self",specs:[],plan:_o(a,[])}],warnings:n,...o};let c=s.map(f=>od(id(f,n),r,n)),u=mo(c.map(ld),r,f=>n.push(f)),l=c.map((f,d)=>({...f,step:u[d]}));Zm(l,e.activation,n);let p=Qm(l).map(({selector:f,scope:d,entries:y})=>{let v=[],E=ad(y,t,v),P=Xm(y,v),k=xo(P?.timeline,r),w=cd(E,k,a,v);return w.defaultActivation=To(E.map(_=>({phase:Br(_),defaultActivation:_.resolved.primitive.defaultActivation}))),{selector:f,scope:d,hoists:P,specs:y.map(_=>_.spec),plan:w}});Ao(p);let m=Co(p[0].plan.reducedMotion,e.rm,n);for(let f of p)f.plan.reducedMotion=m;return{targets:p,warnings:n,...o}}function Oo(e,t){if(!e.specs.some(o=>o.hoists))return e;let r=[...e.warnings],n={...e,warnings:r},i=e.specs.map(o=>{if(!o.hoists||!Ym(o,t))return o;for(let a of be){let c=o.hoists[a];c!==void 0&&q(n,a,c,No[a])}let s={...o};return delete s.hoists,s});return{...n,specs:i}}function Ym(e,t){let r=t.resolve(e.name);return r?Object.hasOwn(r.primitive.parameters,"target"):!0}var No={activation:"activations",actions:"crossing actions",timeline:"timelines",threshold:"thresholds",cascade:"stagger steps",spread:"stagger budgets",order:"stagger orders",cols:"stagger column counts",along:"stagger axes"};function Xm(e,t){let r;for(let n of e)n.spec.hoists&&(r=Jm(r??{},n.spec.hoists,t));return r}function Jm(e,t,r){for(let n of be){let i=t[n];if(i===void 0)continue;let o=e[n];o===void 0?e[n]=i:o!==i&&r.push(`conflicting ${No[n]} "${o}" and "${i}" in one target: group \u2014 the first wins`)}return e}function Zm(e,t,r){for(let n=1;n<e.length;n++){let i=e[n];if(!i.step.sequenced)continue;let o=e[n-1];if(Io(i)===Io(o))continue;let s=i.spec.hoists?.activation??t,a=o.spec.hoists?.activation??t;s!==a&&r.push(`"${i.spec.name}"'s at:"${i.spec.at}" is relative to "${o.spec.name}", which targets a different element and may start on a different trigger \u2014 the offset is relative to each one's own start, not a shared clock`)}}function Io(e){return`${e.scope??"self"} ${e.target??""}`}function Qm(e){let t=new Map,r=[];for(let i of e){let o=i.target??"",s=i.scope??"self",a=`${s} ${o}`,c=t.get(a);c||(c={selector:o,scope:s,entries:[]},t.set(a,c),r.push(c)),c.entries.push(i)}let n=r.findIndex(i=>i.selector==="");if(n>0){let[i]=r.splice(n,1);r.unshift(i)}return r}function _o(e,t){return{fxNames:[],vars:{},declarations:{},keyframeNames:[],jsEffects:[],unknown:e,reducedMotion:"shorten",supportedActivations:[],activationClaims:[],supportedTimelines:[],channels:[],warnings:t}}function ed(e,t,r){let n=[],i=[];for(let o of e){let s=t.resolve(o.name);if(!s){i.push(o.name),rd(o.name,t,r);continue}n.push(td(o,s,r))}return{entries:n,unknown:i}}function td(e,t,r){let n=nd(e,t,r),i=t.primitive.variantFor?.(n.spec,s=>r.push(s)),o=i?{spec:n.spec,resolved:t,variant:i}:{spec:n.spec,resolved:t};return n.target!==void 0&&(o.target=n.target,o.scope=n.scope),o}function rd(e,t,r){let n=Pt(e,t.names()),i=n?` \u2014 did you mean "${n}"?`:"";r.push(`unknown effect "${e}"${i}`)}function nd(e,t,r){if(Object.hasOwn(t.primitive.parameters,"target"))return{spec:e};let n=e.params.target;if(!n)return{spec:e};let i={...e.params},o=i.scope;delete i.target,delete i.scope;let s={...e,params:i};return t.preset.requiresOwnSubtree?(r.push(`"${t.preset.name}" cannot be retargeted \u2014 its CSS reaches past the animated element itself, so "target:${n}" is dropped and it stays on the host`),{spec:s}):{spec:s,target:n,scope:o==="page"?"page":"self"}}function id(e,t){let{spec:r,resolved:n}=e;if(n.primitive.renderer==="css-keyframes"||!r.gate?.wide&&!r.gate?.narrow)return e;t.push(`"${r.name}" ignores "wide:"/"narrow:" \u2014 container gates are not supported on JavaScript-rendered effects yet, so it runs unconditionally`);let{above:i,below:o}=r.gate;return{...e,spec:{...r,gate:i||o?{above:i,below:o}:void 0}}}function od(e,t,r){let{spec:n,resolved:i}=e;if(n.repeat===void 0&&n.yoyo===void 0)return e;let{repeat:o,yoyo:s,warnings:a}=wi({name:i.preset.name,renderer:i.primitive.renderer,cloak:i.preset.cloak,timeline:t,repeat:n.repeat,yoyo:n.yoyo});return r.push(...a),{...e,spec:{...n,repeat:o,yoyo:s}}}function Br(e){if(e.spec.repeat==="infinite")return"idle";let{preset:t}=e.resolved;if(t.phase)return t.phase;if(t.transitions?.length)return"state"}function sd(e){return e.resolved.primitive.renderer!=="css-keyframes"||e.variant?.keyframes?!1:Xi(Fr(e))}function ad(e,t,r){if(e.length<=1)return e;let n=e.map(m=>({name:m.spec.name,channels:Fr(m),gate:m.spec.gate,phase:Br(m),additive:sd(m),delivery:m.resolved.preset.delivery,inlineAnimation:m.resolved.primitive.renderer==="css-keyframes"})),i=Zi(n),o=Qi(n);if(i.length===0&&o.length===0)return e;if(o.length===0){let m=Ji(n,i);if(m)return e.map((f,d)=>m.has(d)?{...f,composite:"add"}:f)}let s=t.findCombo(e.map(m=>m.spec.name)),a=s?`Use the "${s.preset.name}" effect instead.`:"Apply them to nested elements, or register a combined effect.",c=e[0].spec.name,l=`Dropped ${e.slice(1).map(m=>`"${m.spec.name}"`).join(", ")} \u2014 only "${c}" will run.`,p=[...i.length>0?[eo(i)]:[],...o];return r.push(`cannot compose: ${p.join("; ")}. ${l} ${a}`),[e[0]]}function cd(e,t,r,n){let i=_o(r,n),o=yo(),s=new Set,a=[],c=new Map,u,l;for(let p of e){let{preset:m,primitive:f}=p.resolved,d=p.step;i.fxNames.push(m.name),i.reducedMotion=Vr(i.reducedMotion,f.reducedMotion),u=Gr(u,f.supportedActivations),i.activationClaims.push({supported:f.supportedActivations,entrance:Br(p)==="entrance"}),l=Gr(l,f.supportedTimelines);for(let y of Fr(p))s.add(y);pd(m.name,f.supportedTimelines,t,n),Object.assign(i.vars,oo(It(p),zm(p),y=>n.push(y))),f.renderer==="css-keyframes"?ho(o,p,d):i.jsEffects.push(ud(p,d)),vo(a,c,p,n)}return Object.assign(i.declarations,bo(o,t)),i.keyframeNames=o.keyframes,a.length>0&&(i.transition=a.join(", ")),i.supportedActivations=u,i.supportedTimelines=l,i.channels=[...s],i}function ld(e){let{spec:t,resolved:r}=e,{preset:n,primitive:i}=r,o=It(e);return{name:n.name,primitiveId:i.id,at:t.at,delay:t.delay,duration:t.duration,cascadeDelay:Lo(o,n,i.parameters,"delay"),cascadeDuration:Lo(o,n,i.parameters,"duration"),repeat:t.repeat,positionable:i.renderer==="css-keyframes"||Object.hasOwn(i.parameters,"delay")}}function Lo(e,t,r,n){return[e[n],t.params?.[n],r[n]?.default].find(o=>o!==void 0&&go(o))}function ud(e,t){return t.sequenced?{...e,sequencedDelayMs:t.delayMs}:e}function pd(e,t,r,n){t.includes(r)||n.push(`"${e}" does not support timeline "${r}" (supports: ${t.join(", ")})`)}function $o(){return{derived:new WeakMap,hosts:new WeakMap,groups:new WeakMap,contexts:new WeakMap,unions:new WeakMap,cleanups:new WeakMap}}function Ot(e,t){return[...e.derived.get(t)??[]]}function Do(e,t){return e.hosts.get(t)}function md(e){return e.status==="running"&&e.direction!=="reverse"}function dd(e){return e.status==="running"}function fd(e){return e.status==="failed"}function gd(e){return e.status==="finished"||e.status==="failed"}function yd(e){return e.status==="ready"}function hd(e,t){let r=[];for(let n of Ot(e.book,t)){let i=e.stateOf(n);i&&r.push(i)}return r}function vd(e,t,r,n){r.status!=="running"&&(e.writeStatus(t,r,"running"),n.some(md)&&e.emit(t,r,G.start,"activated"))}function bd(e,t,r,n){if(r.status==="finished")return;let i=r.status==="running";e.writeStatus(t,r,"finished"),!n.every(o=>o.cancelled===!0)&&e.emit(t,r,G.finish,i?"complete":"reduced-motion")}function Xe(e,t){let r=e.stateOf(t);if(!r||!r.aggregate)return;let n=hd(e,t);n.length!==0&&(n.some(dd)?vd(e,t,r,n):n.every(fd)?e.writeStatus(t,r,"failed"):n.every(gd)?bd(e,t,r,n):n.every(yd)&&e.writeStatus(t,r,"ready"))}function Ed(e){return e.map(t=>`${t.scope} ${t.selector}`).sort((t,r)=>t.localeCompare(r)).join("")}function jo(e,t,r){let n=Ed(r),i=e.book.unions.get(t.host),o=i?.get(n);if(o)return o;let s=r[0],c=Lt({specs:r.flatMap(f=>f.specs),warnings:[]},e.registry,t.timeline).targets[0];c.plan.reducedMotion=s.plan.reducedMotion;let u=t.host.ownerDocument?.defaultView??void 0;c.plan.jsEffects=c.plan.jsEffects.filter(f=>lt(f.spec.gate,u));let l=new Set(r.flatMap(f=>f.plan.warnings));for(let f of c.plan.warnings)l.has(f)||e.reporter.warn(f,t.host);let p={...c,selector:s.selector,scope:s.scope},m=i??new Map;return m.set(n,p),i||e.book.unions.set(t.host,m),p}function Je(e){let{plan:t,config:r,capabilities:n,respectReducedMotion:i}=e,o=i&&n.reducedMotion,{scrubbed:s,useNativeTimeline:a}=Sd(t,r,n),c={...t.vars,...t.declarations};Object.assign(c,Pd(t)),Object.assign(c,kd(r,n,a));let u=Object.keys(t.declarations).length>0,l=e.elementHasCssAnimation??u,p=xd({useNativeTimeline:a,scrubbed:s&&l,reduce:o,activation:r.activation,hasWork:l||t.jsEffects.length>0,hasCssAnimation:u,unsupportedTransform:wd(t.channels,n)});return(p==="deferred"||p==="scrubbed")&&(c["animation-play-state"]="paused"),{properties:c,attributes:{[S.normalized]:t.fxNames.join(" "),[S.rm]:t.reducedMotion,[S.state]:"ready"},gate:p,activation:p==="deferred"?Ad(r):null}}function Sd(e,t,r){let n=t.timeline==="pin"&&e.supportedTimelines.includes("pin"),i=!n&&Td(t.timeline,r)&&e.supportedTimelines.includes(t.timeline);return{scrubbed:n,useNativeTimeline:i}}function Pd(e){return e.transition?{"--kui-transition":e.transition}:{}}function kd(e,t,r){if(!r)return{};let n={"animation-timeline":e.timeline==="scroll"?"scroll()":"view()"};return t.animationRange&&(n["animation-range"]=e.range||(e.timeline==="scroll"?"0% 100%":"entry 0% cover 60%")),n}function xd(e){return e.useNativeTimeline?"native-timeline":e.scrubbed?"scrubbed":!e.hasWork||e.reduce||xr(e.activation)==="immediate"||e.unsupportedTransform?"immediate":"deferred"}function wd(e,t){return t.individualTransforms?!1:e.some(r=>r==="translate"||r==="rotate"||r==="scale")}function Td(e,t){return e==="view"?t.viewTimeline:e==="scroll"?t.scrollTimeline:!1}function Ad(e){let t="enter";return e.timeline!=="time"&&xr(e.activation)==="manual"?t:e.activation}var Cd=["cascade","spread","order","cols","along"];function Ho(e){let t={};for(let r of Cd){let n=e(r);n!==void 0&&(t[r]=n)}return Object.keys(t).length>0?t:void 0}function Nt(e){return Ho(t=>e[t])}function _t(e,t){return Ho(r=>e?.[r]??t?.[r])}function Go(e){return e?.cascade!==void 0||e?.spread!==void 0||e?.order!==void 0}var Le=new WeakMap;function Vo(e){Le.set(e,(Le.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let r=Le.get(e)-1;r>0?Le.set(e,r):Le.delete(e)}}function Fo(e){return Le.has(e)}function Wr(e,t,r){let n=_t(r.hoists,Nt(t.parsed));return Go(n)?t.host:void 0}function Bo(e){return e.gateOwner!==void 0}function Rd(e,t,r){for(let n of t.members)r&&e.stateOf(n)?.status!=="ready"||e.activateOne(n)}function Md(e,t){for(let r of t.members)e.deactivateOne(r)}function Id(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function Ld(e,t,r){let n=Je({plan:r.target.plan,config:r.config,capabilities:e.capabilities,respectReducedMotion:e.respectReducedMotion});if(n.gate!=="deferred")return;let i=n.activation,o=Be(ee(i)),s=e.binder.bind(t,i,{threshold:r.config.threshold,from:r.config.activationSource,activate:()=>Rd(e,r,o),deactivate:()=>Md(e,r)});Id(e,t,s)}function Wo(e,t){let r=e.book.groups.get(t);if(r!==void 0)for(let n of r)n.gateOwner===t&&Ld(e,t,n)}function O(e){let t=e.style,r=new Map,n=e.hasAttribute("style");function i(o){if(r.has(o))return;let s=t.getPropertyValue(o);r.set(o,s===""?void 0:{value:s,priority:t.getPropertyPriority(o)})}return{set(o,s){i(o),t.setProperty(o,s)},claim:i,restore(){for(let[o,s]of r)s===void 0?t.removeProperty(o):t.setProperty(o,s.value,s.priority);r.clear(),!n&&t.length===0&&!e.getAttribute("style")&&e.removeAttribute("style")},owned:()=>[...r.keys()],peek(o){if(!r.has(o))return;let s=r.get(o);return s===void 0?"":s.value}}}function T(e){let t=new Map;return{set(r,n){t.has(r)||t.set(r,e.getAttribute(r)),e.setAttribute(r,n)},remove(r){t.has(r)||t.set(r,e.getAttribute(r)),e.removeAttribute(r)},restore(){for(let[r,n]of t)n===null?e.removeAttribute(r):e.setAttribute(r,n);t.clear()}}}var qo=Symbol.for("kuinetic.owned-styles.1");function Uo(e){let r=e[qo];return r||(r=new Map,Object.defineProperty(e,qo,{value:r,configurable:!0,writable:!0})),r}function Od(e,t,r){let n=Uo(e),i=n.get(t);return i||(i={ledger:r(e),owners:new Set},n.set(t,i)),i}function Ko(e,t){let r={},n=new Map;return{join(i){let o=n.get(i);return o||(o=Od(i,e,t),o.owners.add(r),n.set(i,o)),o.ledger},held:i=>n.get(i)?.ledger??null,leave(i){let o=n.get(i);o&&(n.delete(i),o.owners.delete(r),!(o.owners.size>0)&&(Uo(i).delete(e),o.ledger.restore()))},elements:()=>[...n.keys()]}}function Nd(){let e=Ko("style",O),t=new WeakMap;function r(n){return{set:(i,o)=>{e.join(n).set(i,o)},claim:i=>{e.join(n).claim(i)},restore:()=>{e.leave(n)},owned:()=>e.held(n)?.owned()??[],peek:i=>e.held(n)?.peek(i)}}return{style(n){let i=t.get(n);return i||(i=r(n),t.set(n,i)),e.join(n),i},release:n=>{e.leave(n)},elements:()=>e.elements()}}function _d(){let e=Ko("attributes",T),t=new WeakMap;function r(n){return{set:(i,o)=>{e.join(n).set(i,o)},restore:()=>{e.leave(n)}}}return{attributes(n){let i=t.get(n);return i||(i=r(n),t.set(n,i)),e.join(n),i},release:n=>{e.leave(n)},elements:()=>e.elements()}}function Ze(e){let t=Nd(),r=_d();function n(i){t.release(i),r.release(i)}return{style:i=>t.style(i),attributes:i=>r.attributes(i),restore(){for(let i of new Set([...t.elements(),...r.elements()]))i!==e&&n(i);n(e)}}}var $d=new Set(["start","end","center","edges","random"]),Dd=new Set(["from","order"]),jd="spread",Hd="cols",Gd=new Set(["axis","along"]),Vd=new Set(["x","y"]),Fd=/^(\d+(?:\.\d+)?|\.\d+)\/(\d+(?:\.\d+)?|\.\d+)$/,Bd=/^\d{1,9}$/,Wd=/^([a-zA-Z-]+):(.*)$/,qd=/^-?\d{1,9}$/;function Ud(e,t){let r={from:"start"},n={from:!1,spread:!1,cols:!1,along:!1};for(let i of de(e," ",t)){let o=Wd.exec(i);o?Kd(o[1],o[2],{config:r,seen:n,warnings:t}):r.step=of(r.step,i,t)}return{config:r,sawFrom:n.from}}function Kd(e,t,r){let n=zd(e);if(n===void 0){r.warnings.push(`unrecognised key "${e}" in data-kui-stagger \u2014 expected a time step, "spread:", "cols:", "along:", "from:" or "order:"`);return}Xd(n,t,r,e)&&Yd[n](t,r,e)}function zd(e){if(e===jd)return"spread";if(e===Hd)return"cols";if(Gd.has(e))return"along";if(Dd.has(e))return"from"}var Yd={spread:(e,t)=>{t.config.spread=e.trim()},cols:(e,t)=>{t.config.cols=Xo(e,t.warnings)},along:(e,t,r)=>{t.config.along=Jo(e,t.warnings,r)},from:(e,t,r)=>{t.config.from=Zo(e,t.warnings,r)}};function Xd(e,t,r,n){return r.seen[e]?(r.warnings.push(`duplicate "${n}:" in data-kui-stagger \u2014 "${t}" ignored`),!1):(r.seen[e]=!0,!0)}function Xo(e,t){let r=e.trim();if(r==="auto")return"auto";if(Bd.test(r)&&Number(r)>0)return Number(r);t.push(`unrecognised "cols:${e}" \u2014 expected a column count or "auto"`)}function Jo(e,t,r){let n=e.trim();if(Vd.has(n))return n;t.push(`unrecognised "${r}:${e}" \u2014 expected x or y`)}function $t(e,t,r=[]){let n=Zd(t);if(!(e===null&&n===void 0))return qr(e,n,r)}function qr(e,t,r=[]){if(e===null&&t===void 0)return;let{config:n,sawFrom:i}=Ud(e??"",r);return Jd(Qd(ef(n,i,t??{},r),r),r)}function Jd(e,t){if(e.spread===void 0||e.step===void 0)return e;t.push(`stagger step "${e.step}" is ignored \u2014 "spread:${e.spread}" already budgets the whole group, and the step is what it divides out`);let r={...e};return delete r.step,r}function Zd(e){if(!rf(e))return;let{cascade:t,spread:r,order:n,cols:i,along:o}=Re(e),s={cascade:t,spread:r,order:n,cols:i,along:o};return Object.values(s).some(a=>a!==void 0)?s:void 0}function Qd(e,t){let r={...e};return zo("step",e.step,t)||delete r.step,zo("spread",e.spread,t)||delete r.spread,r}function zo(e,t,r){return t===void 0?!1:no(t)?!0:(r.push(`stagger ${e} "${t}" contains disallowed CSS syntax \u2014 ignored`),!1)}function ef(e,t,r,n){let i={...e};if(r.cascade!==void 0&&(Qe("stagger step",e.step,r.cascade,n),i.step=r.cascade),r.spread!==void 0&&(Qe("stagger budget",e.spread,r.spread,n),i.spread=r.spread),tf(i,e,r,n),r.order!==void 0){let o=Zo(r.order,n,"order");Qe("stagger order",t?e.from:void 0,o,n),i.from=o}return i}function tf(e,t,r,n){if(r.cols!==void 0){let i=Xo(r.cols,n);Qe("stagger columns",t.cols,i,n),i!==void 0&&(e.cols=i)}if(r.along!==void 0){let i=Jo(r.along,n,"along");Qe("stagger axis",t.along,i,n),i!==void 0&&(e.along=i)}}function rf(e){return nf.some(t=>e.includes(t))}var nf=["cascade:","spread:","order:","cols:","along:"];function Qe(e,t,r,n){t===void 0||r===void 0||t===r||n.push(`conflicting ${e}: data-kui-stagger says "${String(t)}", data-kui says "${String(r)}" \u2014 data-kui wins`)}function of(e,t,r){return e===void 0?t:(r.push(`extra token "${t}" in data-kui-stagger (expected one time step)`),e)}function Zo(e,t,r="from"){let n=e.trim();if($d.has(n))return n;if(qd.test(n))return Number(n);let i=Fd.exec(n);return i?{x:Yo(Number(i[1]),n,t),y:Yo(Number(i[2]),n,t)}:(t.push(`unrecognised "${r}:${e}" \u2014 expected start, end, center, edges, random, a child index, or an "x/y" point in a grid`),"start")}function Yo(e,t,r){return e>=0&&e<=1?e:(r.push(`stagger order "${t}" is outside the grid (0 to 1 on each axis) \u2014 clamped`),Math.min(Math.max(e,0),1))}var Qo=1e3,sf=2654435761,af=2246822507,cf=569420461,lf=1935289751;function ts(e,t){return e.spread===void 0?e.step:t<=0?"0ms":`calc((${e.spread}) / ${String(t)})`}function Kr(e,t,r=[],n){if(e<=0)return[];if(t==="random")return mf(e);if(n)return ns(e,t,n,r);if(typeof t=="object")return r.push(`stagger order "${String(t.x)}/${String(t.y)}" is a point in a grid, but this group has no "cols:" \u2014 add one, or name an edge with start/end/center/edges`),Kr(e,"start",r);let i=e-1;if(t==="edges")return Array.from({length:e},(s,a)=>Math.min(a,i-a));let o=uf(t,i,r);return Array.from({length:e},(s,a)=>Math.floor(Math.abs(a-o)))}function uf(e,t,r){return e==="start"?0:e==="end"?t:e==="center"?t/2:rs(e,t,r)}function rs(e,t,r){return(e<0||e>t)&&r.push(`stagger order "${String(e)}" is outside the group (0 to ${String(t)}) \u2014 clamped`),Math.min(Math.max(e,0),t)}function ns(e,t,r,n){let i=Math.min(Math.max(1,r.cols),e),o=Math.ceil(e/i);if(t==="edges"){let a=ns(e,"center",r,n),c=0;for(let u of a)c=Math.max(c,u);return a.map(u=>Oe(c-u))}let s=pf(t,{cols:i,rows:o,last:e-1},n);return Array.from({length:e},(a,c)=>{let u=c%i-s.x,l=Math.floor(c/i)-s.y;return r.along==="x"?Oe(Math.abs(u)):r.along==="y"?Oe(Math.abs(l)):Oe(Math.hypot(u,l))})}function pf(e,t,r){let{cols:n,rows:i,last:o}=t;if(typeof e=="object")return{x:e.x*(n-1),y:e.y*(i-1)};if(e==="start")return{x:0,y:0};if(e==="end")return{x:n-1,y:i-1};if(e==="center")return{x:(n-1)/2,y:(i-1)/2};let s=rs(e,o,r);return{x:s%n,y:Math.floor(s/n)}}function Oe(e){return Math.round(e*Qo)/Qo}function mf(e){let t=Array.from({length:e},(n,i)=>i);t.sort((n,i)=>es(n,e)-es(i,e));let r=new Array(e);for(let[n,i]of t.entries())r[i]=n;return r}function es(e,t){let r=(Math.imul(e,sf)^Math.imul(t,af))>>>0;return r^=r>>>16,r=Math.imul(r,cf)>>>0,r^=r>>>15,r=Math.imul(r,lf)>>>0,r^=r>>>15,r>>>0}function is(e,t){let r=[],n=df(e),i=$t(e.getAttribute(S.stagger),e.getAttribute(S.source)??"",r)??{from:"start"},o=hf(e),s=Kr(o.length,i.from,r,us(i,o,r)),a=0;for(let[u,l]of o.entries()){let p=s[u];n.style(l).set("--kui-i",String(p)),os.set(l,e),p>a&&(a=p)}let c=ts(i,a);c&&n.style(e).set("--kui-stagger",c),n.style(e).set("--kui-stagger-count",String(Oe(a+1)));for(let u of r)t?.warn(u,e)}var Dt=new WeakMap,os=new WeakMap;function ss(e,t){let r=new Set;for(let n of e){let i=os.get(n);i&&r.add(i)}for(let n of r)is(n,t)}function df(e){Dt.get(e)?.restore();let t=Ze(e);return Dt.set(e,t),t}function Ur(e){Dt.get(e)?.restore(),Dt.delete(e)}function as(e){let t=`[${S.stagger}], [${S.source}]`;e instanceof Element&&e.matches(t)&&Ur(e);for(let r of e.querySelectorAll(t))Ur(r)}function cs(e,t){jt(e,t);let r=e.parentElement;r&&jt(r,t)}function jt(e,t){vf(e)?is(e,t):Ur(e)}function ls(e){let{host:t,matches:r,styleOf:n,keys:i,reporter:o}=e,s=[],a=t.getAttribute(S.stagger),c=(i?qr(a,i,s):$t(a,t.getAttribute(S.source)??"",s))??{from:"start"},u=gf(ff(r),c,n,s),l=ts(c,u);l&&n(t).set("--kui-stagger",l),n(t).set("--kui-stagger-count",String(Oe(u+1)));for(let p of s)o?.warn(p,t)}function ff(e){let t=new Map;for(let r of e){let n=t.get(r.parentElement);n?n.push(r):t.set(r.parentElement,[r])}return t}function gf(e,t,r,n){let i=0;for(let o of e.values()){let s=us(t,o,n),a=Kr(o.length,t.from,n,s);for(let[c,u]of o.entries()){let l=a[c];r(u).set("--kui-i",String(l)),l>i&&(i=l)}}return i}function us(e,t,r){if(e.cols===void 0){e.along!==void 0&&r.push(`"along:${e.along}" names an axis of a grid this group has not declared \u2014 add "cols:" (a column count, or "auto")`);return}let n=e.cols==="auto"?yf(t,r):e.cols;if(n!==void 0)return e.along===void 0?{cols:n}:{cols:n,along:e.along}}function yf(e,t){if(e.length<2)return 1;let r=[],n=!1;for(let s of e){let a=s.getBoundingClientRect();(a.width!==0||a.height!==0)&&(n=!0),r.push(a.left)}if(!n){t.push('"cols:auto" could not measure this group \u2014 none of its children have been laid out yet (display:none, or detached), so the stagger falls back to DOM order');return}let i=Math.sign(r[1]-r[0]);if(i===0)return 1;let o=1;for(let s=1;s<r.length&&Math.sign(r[s]-r[s-1])===i;s++)o=s+1;return o}function hf(e){let t=[];for(let r of e.children)r.hasAttribute(S.source)&&t.push(r);return t}function ps(e,t){let r=`[${S.stagger}], [${S.source}]`;e instanceof Element&&e.matches(r)&&jt(e,t);for(let n of e.querySelectorAll(r))jt(n,t)}function vf(e){return e.hasAttribute(S.define)||Fo(e)?!1:e.hasAttribute(S.stagger)?!0:$t(null,e.getAttribute(S.source)??"")!==void 0}var bf=64;function Ht(e){return e.id?`${e.tagName.toLowerCase()}#${e.id}`:e.tagName.toLowerCase()}function ds(e,t){return t.some(r=>e.resolve(r)?.preset.establishes3d===!0)}function ms(e,t){let r=e.stateOf(t);return!r||r.aggregate?!1:ds(e.registry,r.fxNames)}function Ef(e,t,r){if(ms(e,t))return t;let n=r.parentElement,i=0;for(;n&&i<bf;){if(n!==t&&ms(e,n))return n;n=n.parentElement,i++}}function zr(e,t,r){if(t.length===0){e.removeAttribute(S.unmatched);return}let n=t.join(", ");r?r.set(S.unmatched,n):e.setAttribute(S.unmatched,n)}function fs(e,t,r,n){if(!ds(e.registry,n.plan.fxNames))return;let i=Ef(e,t,r);if(!i)return;let o=i===t?"its target: host":"an ancestor";e.reporter.warn(`<${Ht(r)}> establishes a 3D rendering context nested inside ${o} <${Ht(i)}>, which also runs a 3D-establishing effect \u2014 preserve-3d/perspective contexts do not compose when nested, so move one of the two 3D effects off its descendant`,r)}function gs(e,t,r){r.scope==="page"&&r.plan.fxNames.some(n=>e.registry.resolve(n)?.preset.cloak===!0)&&t.ownerDocument.documentElement.hasAttribute(S.cloak)&&e.reporter.warn(`target "${r.selector}" (scope:page) on <${Ht(t)}> carries a cloaked entrance \u2014 the pre-JS cloak selector only hides descendants of the element it is authored on, so a scope:page match outside <${Ht(t)}>'s own subtree will flash unstyled before this library runs; use scope:self, or drop the cloaked preset from this group`,t)}var Yr=new WeakMap;function Sf(e,t,r){let n=Yr.get(e);n||(n=new WeakMap,Yr.set(e,n)),n.set(t,r)}function Pf(e,t){return Yr.get(e)?.get(t)}function ys(e){return`${e.scope} ${e.selector}`}function kf(e){return e.length===1?ys(e[0]):e.map(ys).sort((t,r)=>t.localeCompare(r)).join("")}function hs(e,t,r,n){let i=n.get(r);if(i)return i;let o={...wo(t.baseConfig,r.hoists)};return o.activation=e.resolveActivation(t.host,o,r.plan),n.set(r,o),o}function xf(e,t,r,n){let i=[],o=[],s=[];for(let a of r){if(a.selector==="")continue;let c=e.resolveGroupMatches(t.host,a);c.length===0&&s.push(a.selector),o.push({target:a,matches:c}),i.push({target:a,config:hs(e,t,a,n),gateOwner:Wr(e,t,a),members:[]})}return{live:i,resolved:o,unmatched:s}}function wf(e){let t=e.baseConfig;return{host:e.el,fingerprint:e.fingerprint,parsed:e.parsed,baseConfig:t,timeline:t.timeline}}function Tf(e,t,r){r?e.install({...t,document:{targets:[r],warnings:[]}}):e.installAggregate(t)}function Af(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function vs(e,t,r){return r.length===1?r[0]:jo(e,t,r)}function Cf(e,t,r){let n=t.host,i=e.stateOf(n);zr(n,[...r.unmatched,...r.suspects??[]],i.attributes),Af(e,n,Vo(n)),Gt(e,n),Wo(e,n);for(let[o,s]of r.claims)fs(e,n,o,vs(e,t,s));for(let o of r.resolved)gs(e,n,o.target);Xe(e,n)}function bs(e,t){let r=wf(t),n=new Map,{live:i,resolved:o,unmatched:s}=xf(e,r,t.document.targets,n);e.book.contexts.set(r.host,r),e.book.groups.set(r.host,i);let a=Xr(e,r.host,o),c=t.document.targets.find(u=>u.selector==="");if(!c&&a.size===0){r.host.setAttribute(S.state,"failed"),zr(r.host,[...s,...t.document.suspectSelectors??[]]);return}Jr(e,r,a,n),Tf(e,t,c),Cf(e,r,{claims:a,resolved:o,unmatched:s,suspects:t.document.suspectSelectors})}function Rf(e,t,r){let{book:n}=e;Sf(n,r,t),n.hosts.delete(r),n.derived.get(t)?.delete(r);for(let i of n.groups.get(t)??[]){let o=i.members.indexOf(r);o!==-1&&i.members.splice(o,1)}}function Mf(e,t){let{book:r}=e;for(let n of[...r.derived.get(t)??[]])e.release(n);for(let n of r.cleanups.get(t)??[])n();r.derived.delete(t),r.groups.delete(t),r.contexts.delete(t),r.unions.delete(t),r.cleanups.delete(t)}function Es(e,t){let r=e.book.hosts.get(t);if(r){Rf(e,r,t);return}e.book.derived.has(t)&&Mf(e,t)}function Ss(e,t){let r=new Set;for(let n of t){let i=Pf(e.book,n);i&&r.add(i)}for(let n of r)e.stateOf(n)&&(Gt(e,n),Xe(e,n))}var If={host:"is the target: host itself",authored:"already carries its own data-kui and animates itself",claimed:"is already claimed by another target: host"};function Lf(e,t,r){if(r===t)return"host";if(r.hasAttribute(S.source))return"authored";let n=e.book.hosts.get(r);if(n!==void 0&&n!==t)return"claimed"}function Of(e,t,r){let n=e.get(r);n?n.push(t):e.set(r,[t])}function Nf(e,t,r,n){let i=r.plan.fxNames.join(", ");for(let[o,s]of n){let a=s===1?"match":"matches";e.reporter.warn(`target "${r.selector}" (${i}) skipped ${s} ${a} that ${If[o]}`,t)}}function Xr(e,t,r){let n=new Map;for(let i of r){let o=new Map;for(let s of i.matches){let a=Lf(e,t,s);a?o.set(a,(o.get(a)??0)+1):Of(n,i.target,s)}Nf(e,t,i.target,o)}return n}function _f(e,t,r,n){let{match:i,targets:o}=r,s=vs(e,t,o);return{match:i,targets:o,target:s,config:hs(e,t,s,n)}}function $f(e,t,r){return r.some(i=>Wr(e,t,i)!==void 0)?t.host:void 0}function Df(e,t,r){let{book:n}=e;n.hosts.set(r.match,t.host);let i=n.derived.get(t.host)??new Set;i.add(r.match),n.derived.set(t.host,i);let o=n.groups.get(t.host)??[];for(let s of r.targets)o.find(a=>a.target===s)?.members.push(r.match)}function jf(e,t,r){e.install({el:r.match,fingerprint:`${t.fingerprint}\0${kf(r.targets)}`,parsed:{specs:r.target.specs,warnings:[]},config:r.config,document:{targets:[{...r.target,selector:"",scope:"self"}],warnings:[]},host:t.host,gateOwner:$f(e,t,r.targets)}),Df(e,t,r)}function Jr(e,t,r,n=new Map){let i=[];for(let[o,s]of r){let a=_f(e,t,{match:o,targets:s},n);jf(e,t,a),i.push(a.match)}return i}function Gt(e,t){let r=e.book.contexts.get(t),n=e.book.groups.get(t),i=e.stateOf(t);if(!r||!n||!i)return;let o=Nt(r.parsed),s=a=>a===t?i.ledgers.style(t):e.stateOf(a).ledgers.style(a);for(let a of n)a.members.length!==0&&ls({host:t,matches:a.members,styleOf:s,keys:_t(a.target.hoists,o),reporter:e.reporter})}var Hf=64;function Gf(e,t,r){let n=[...e.querySelectorAll(r.selector)];return e.matches(r.selector)&&n.unshift(e),n.filter(i=>t.contains(i)&&i!==t&&!i.hasAttribute(S.part))}function Vf(e,t,r){let n=[],i=new Map;for(let o of r){if(i.set(o,o.members.length),o.target.scope!=="self")continue;let s=Gf(e,t,o.target);s.length>0&&n.push({target:o.target,matches:s})}return{resolved:n,before:i}}function Ff(e,t){let r=e.findIndex(n=>!!(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING));return r===-1?e.length:r}function Bf(e,t,r){return t.members.some(n=>!r.includes(n)&&e.stateOf(n)?.status!=="ready")}function Wf(e,t,r){if(t.gateOwner!==void 0&&Bf(e,t,r))for(let n of r)e.activateOne(n)}function qf(e,t,r){if(t.members.length===r)return;let n=t.members.splice(r);t.members.splice(Ff(t.members,n[0]),0,...n),Wf(e,t,n)}function Uf(e,t,r){let n=e.book.groups.get(r),i=e.book.contexts.get(r);if(!n||!i)return;let{resolved:o,before:s}=Vf(t,r,n);if(o.length===0)return;let a=Xr(e,r,o);if(a.size!==0){Jr(e,i,a);for(let c of n)qf(e,c,s.get(c));Gt(e,r)}}function Ps(e,t){if(t.hasAttribute(S.part))return;let r=t.parentElement,n=0;for(;r&&n<Hf;)Uf(e,t,r),r=r.parentElement,n++}var Kf=100;function ws(e){let{root:t,onElementAdded:r,onElementRemoved:n,onAttributeChanged:i}=e,o=e.schedule??zf,s=e.createObserver??Yf(),a=new Set,c=new Set,u=new Set,l,p=!1,m=!1;function f(P){if(P.type==="attributes"){let k=Qr(P.target);k&&u.add(k);return}for(let k of P.addedNodes)xs(a,Qr(k));for(let k of P.removedNodes)xs(c,Qr(k))}function d(P){for(let k of P)f(k);p||(p=!0,o(E))}let y=ks(t,r),v=ks(t,i);function E(){if(p=!1,m)return;let P=Kf;P=Zr(c,n,P),P=Zr(a,y,P),Zr(u,v,P),a.size+c.size+u.size>0&&(p=!0,o(E))}return{watch(){s&&(m=!1,l=s(d),l.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[S.source,S.on,S.timeline,S.threshold,S.stagger]}))},destroy(){m=!0,l?.disconnect(),a.clear(),c.clear(),u.clear()}}}function ks(e,t){return r=>{e.contains(r)&&t(r)}}function xs(e,t){if(t){for(let r of e){if(r.contains(t))return;t.contains(r)&&e.delete(r)}e.add(t)}}function Zr(e,t,r){for(let n of e){if(r===0)break;e.delete(n),t(n),r--}return r}function Qr(e){return e.nodeType===1?e:null}function zf(e){let t=globalThis.requestAnimationFrame;typeof t=="function"?t(()=>e()):queueMicrotask(e)}function Yf(){if(!(typeof MutationObserver>"u"))return e=>new MutationObserver(e)}function Xf(e,t){let r=co(e.spec,t);return e.sequencedDelayMs!==void 0&&(r.delayMs=e.sequencedDelayMs),r}function Ts(e){let{scheduler:t,rootResolver:r,capabilities:n,reporter:i,respectReducedMotion:o}=e;function s(a,c,u){let l=a.ownerDocument;return{doc:l,win:l.defaultView??globalThis,scheduler:t,rootFor:r,capabilities:n,invalidate:()=>t.invalidate(),warn:p=>i.warn(p,a),reducedMotion:o&&n.reducedMotion,signal:c,style:u}}return{prepare({el:a,plan:c,signal:u,ledger:l}){let p=[];if(c.jsEffects.length===0)return p;let m=s(a,u,l);for(let f of c.jsEffects){let{spec:d,resolved:y}=f,v=y.primitive.prepare;if(!v)continue;let E=k=>i.warn(k,a),P=lo({...y.preset.params,...It(f)},y.primitive.parameters,E,Xf(f,E));try{p.push(v(a,P,m))}catch(k){i.warn(`"${d.name}" failed to initialise: ${String(k)}`,a)}}return p}}}function Jf(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(t,16),cancelFrame:t=>globalThis.clearTimeout(t)}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t)}}function Ms(e=Jf()){let t=new Map,r=0,n=null;function i(c){if(c)c.dirty=!0;else for(let u of t.values())u.dirty=!0;n===null&&(n=e.requestFrame(o))}function o(){n=null;for(let c of t.values()){if(!c.dirty||c.subscribers.size===0)continue;c.dirty=!1;let u={metrics:c.root.metrics(),epoch:r};for(let l of[...c.subscribers])l(u)}}function s(c){let u=t.get(c.key);if(u)return u;let l={root:c,subscribers:new Set,detach:[],dirty:!1};return l.detach.push(c.onScroll(()=>i(l))),l.detach.push(c.onResize(()=>{r++,i()})),t.set(c.key,l),l}function a(c){if(!(c.subscribers.size>0)){for(let u of c.detach)u();t.delete(c.root.key)}}return{subscribe(c,u){let l=s(c);return l.subscribers.add(u),i(l),()=>{l.subscribers.delete(u),a(l)}},invalidate(){r++,i()},rootCount:()=>t.size,destroy(){n!==null&&e.cancelFrame(n),n=null;for(let c of t.values()){c.subscribers.clear();for(let u of c.detach)u()}t.clear()}}}function Zf(e){return{key:"window",metrics:()=>({scrollTop:e.scrollY,scrollLeft:e.scrollX,viewportWidth:e.innerWidth,viewportHeight:e.innerHeight,viewportTop:0,viewportLeft:0}),onScroll:t=>en(e,"scroll",t),onResize:t=>Is(e.document.documentElement,e,t)}}function Qf(e,t){return{key:`el:${tg(e)}`,metrics:()=>{let r=e.getBoundingClientRect();return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.clientWidth,viewportHeight:e.clientHeight,viewportTop:r.top,viewportLeft:r.left}},onScroll:r=>en(e,"scroll",r),onResize:r=>Is(e,t,r)}}function en(e,t,r){return e.addEventListener(t,r,{passive:!0}),()=>e.removeEventListener(t,r)}function Is(e,t,r){let n=en(t,"resize",r);if(typeof ResizeObserver>"u")return n;let i=new ResizeObserver(r);return i.observe(e),()=>{n(),i.disconnect()}}var eg=0,As=new WeakMap;function tg(e){let t=As.get(e);if(t)return t;let r=String(++eg);return As.set(e,r),r}function Ls(e){let{win:t}=e,r=e.isScrollable??ng(t),n=Zf(t);return i=>{for(let o=i.parentElement;o;o=o.parentElement){if(rg(o,t))return n;if(r(o))return Qf(o,t)}return n}}function rg(e,t){let r=t.document.documentElement;if(e===r)return!0;if(e!==t.document.body)return!1;let n=t.getComputedStyle(r);return!Cs.has(n.overflowX)&&!Cs.has(n.overflowY)}var Cs=new Set(["auto","scroll","overlay","hidden","clip"]),Rs=new Set(["auto","scroll","overlay"]);function ng(e){return t=>{let r=e.getComputedStyle(t),n=Rs.has(r.overflowY)&&t.scrollHeight>t.clientHeight,i=Rs.has(r.overflowX)&&t.scrollWidth>t.clientWidth;return n||i}}function Os(e){return Number.isNaN(e)?0:Math.min(1,Math.max(0,e))}function Se(e){let t=-1,r;return{read(n){return(t!==n||r===void 0)&&(r=e(),t=n),r},clear(){t=-1,r=void 0}}}function Ns(){return{warn(e,t){t===void 0?console.warn(`[kuinetic] ${e}`):console.warn(`[kuinetic] ${e}`,t)}}}function Vt(){return{warn(){}}}function _s(){let e=[];return{messages:e,warn(t){e.push(t)}}}var et="data-kui-time-scale";function Pe(e){let r=e.closest(`[${et}]`)?.getAttribute(et)?.trim();if(!r)return 1;let n=Number(r);return Number.isFinite(n)?Math.min(4,Math.max(.05,n)):1}function ig(e){let t=e.getAnimations;return typeof t=="function"?t.call(e):[]}function Ne(e,t){return ig(e).filter(r=>{let n=r.animationName;return typeof n=="string"&&t.has(n)})}function og(e){return getComputedStyle(e).animationName}function sg(e,t){let r=e.style.getPropertyValue("animation-name");t.set("animation-name","none"),og(e),t.set("animation-name",r)}function ag(e,t){if(e.length===0){t();return}Promise.all(e.map(r=>r.finished.catch(()=>{}))).then(()=>t())}function cg(e,t,r,n){let i=Ne(e,r);if(!n){sg(e,t),t.set("animation-play-state","running"),i=Ne(e,r);let s=Pe(e);if(s!==1)for(let a of i)a.playbackRate=s;return i}let o=i.filter(s=>s.playState==="finished");if(o.length>0)for(let s of o)s.reverse();else t.set("animation-play-state","running");return i}function $s(e,t,r,n=!1){let i=new Set(r),o,s=new Promise(l=>{o=l}),a=!1,c=l=>ag(l,()=>o?.());function u(l){if(n)return;let p=Ne(e,i);s=new Promise(m=>{o=m});for(let m of p)m.playbackRate=l*Pe(e),m.play();t.set("animation-play-state","running"),c(p)}return{control:Ui(()=>Ne(e,i),t),activate(){if(s=new Promise(p=>{o=p}),n){o?.();return}let l=cg(e,t,i,a);a=!0,c(l)},play(){u(1)},reverse(){u(-1)},cancel(){for(let l of Ne(e,i))l.cancel();o?.()},finish(){for(let l of Ne(e,i))l.finish();o?.()},get finished(){return s},destroy(){o?.()}}}function C(e){return{cleanup:e,continuous:!0}}function lg(e){if(e!==void 0)return typeof e=="function"?e:e.cleanup}function tn(e){let t,r,n=Promise.resolve(),i=()=>{lg(t)?.(),t=void 0,r?.()};return ug({activate(){if(t!==void 0&&i(),t=e(),typeof t=="function"||"continuous"in t)return;let o=t.finished;n=new Promise(s=>{r=s}),o.then(()=>r?.())},cancel:i,finish(){typeof t=="object"&&"finish"in t&&t.finish?.(),r?.()},destroy:i,finished:()=>n,continuous:()=>typeof t=="object"&&"continuous"in t})}function b(e){return(...t)=>tn(()=>e(...t))}function ug(e){let t=!1,r=0;return{activate(){if(t)return;e.activate(),t=!0;let n=++r;e.continuous?.()||(e.finished?.()??Promise.resolve()).then(()=>{n===r&&(t=!1)})},cancel(){e.cancel?.(),t=!1},finish(){e.finish?.()},get finished(){return e.finished?.()??Promise.resolve()},get continuous(){return e.continuous?.()??!1},destroy(){t=!1,e.destroy()}}}var pg=3e3;function mg(e){return[e.source,e.on,e.timeline,e.threshold].join("\0")}function nn(e){return typeof Element<"u"&&e instanceof Element}var ke=class{registry;capabilities;reporter;root;bundles;binder;scheduler;rootResolver;jsEffectPreparer;respectReducedMotion;shouldObserve;states=new WeakMap;liveElements=new Set;currentRun=new WeakMap;settleArmed=new WeakMap;domWatcher;gateWatcher;started=!1;book=$o();port;constructor(t={}){let r=dg(t);this.registry=r.registry,this.bundles=new kt(r.registry),this.capabilities=r.capabilities,this.root=r.root,this.reporter=r.reporter,this.binder=r.binder,this.scheduler=r.scheduler,this.rootResolver=r.rootResolver,this.jsEffectPreparer=r.jsEffectPreparer,this.domWatcher=r.domWatcher,this.respectReducedMotion=r.respectReducedMotion,this.shouldObserve=r.shouldObserve,this.port={registry:this.registry,reporter:this.reporter,binder:this.binder,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,book:this.book,stateOf:n=>this.states.get(n),install:n=>this.install(n),installAggregate:n=>this.installAggregate(n),resolveGroupMatches:(n,i)=>this.resolveGroupMatches(n,i),resolveActivation:(n,i,o)=>this.resolveActivation(n,i,o),release:n=>this.release(n),activateOne:n=>this.activateOne(n),deactivateOne:n=>this.deactivate(n),writeStatus:(n,i,o)=>this.writeStatus(n,i,o),emit:(n,i,o,s)=>this.emit(n,i,o,s)}}start(){if(this.started)return this;this.started=!0;let t=globalThis.setTimeout(()=>this.uncloak(),pg);try{this.scan(this.root),this.shouldObserve&&this.watch()}finally{globalThis.clearTimeout(t),this.uncloak()}return this}scan(t=this.root){if(!t)return this;let r=this.bundles.collect(t,this.reporter),n=`[${S.source}]`;nn(t)&&t.matches(n)&&this.process(t);for(let i of t.querySelectorAll(n))this.process(i);return ps(t,this.reporter),r>0&&t!==this.root&&this.retryPending(),this}retryPending(){for(let t of this.root.querySelectorAll(`[${S.state}="pending"]`))this.process(t)}process(t){if(t.hasAttribute(S.define))return;let r=Po(t),n=mg(r),i=this.states.get(t);if(i?.fingerprint===n)return;i&&this.release(t);let o=Oo(this.bundles.expand(Re(r.source)),this.registry),s=ko(r,o),a={...s},c=Lt(o,this.registry,s.timeline),u=c.targets[0].plan;if(this.applyViewportGates(t,c),a.activation=this.resolveActivation(t,s,u),this.reportCompiled(t,c),c.targets.every(l=>l.plan.fxNames.length===0)){t.setAttribute(S.state,u.unknown.length>0?"pending":"failed");return}this.install({el:t,fingerprint:n,parsed:o,config:a,baseConfig:s,document:c})}reportCompiled(t,r){for(let i of r.warnings)this.reporter.warn(i,t);for(let i of r.targets)for(let o of i.plan.warnings)this.reporter.warn(o,t);let n=[...new Set(r.targets.flatMap(i=>i.plan.channels))];for(let i of Yi(n,this.capabilities))this.reporter.warn(i,t)}resolveActivation(t,r,n){return r.activationAuthored?(ei({el:t,spec:ee(r.activation),supported:n.supportedActivations,claims:n.activationClaims,reporter:this.reporter}),r.activation):n.defaultActivation??r.activation}applyViewportGates(t,r){let n=r.targets.flatMap(o=>o.plan.jsEffects).map(o=>o.spec.gate).filter(o=>o!==void 0);if(n.length===0){this.gateWatcher?.unwatch(t);return}let i=t.ownerDocument.defaultView??void 0;for(let o of r.targets)o.plan.jsEffects=o.plan.jsEffects.filter(s=>lt(s.spec.gate,i));this.watchGates(t,i,ai(n))}watchGates(t,r,n){this.gateWatcher??=ci(r,i=>this.regate(i)),this.gateWatcher.watch(t,n)}regate(t){this.release(t),this.process(t)}installedAsHost(t){return t.document.targets.some(r=>r.selector!=="")?(bs(this.port,t),!0):!1}install(t){if(this.installedAsHost(t))return;let{el:r,fingerprint:n,parsed:i,config:o,document:s}=t,a=s.targets.map(v=>({target:v,matches:this.resolveGroupMatches(r,v)})).filter(v=>v.matches.length>0),c=Ze(r),u=c.style(r),l=c.attributes(r),p=new AbortController;this.bindAuthorCallback(r,i,p.signal);let m=s.targets.some(v=>Object.keys(v.plan.declarations).length>0),f=Je({plan:a[0].target.plan,config:o,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:m}),d={fingerprint:n,specs:i.specs,activation:o.activation,timeline:o.timeline,fxNames:s.targets.flatMap(v=>v.plan.fxNames),jsEffectNames:s.targets.flatMap(v=>v.plan.jsEffects.map(E=>E.spec.name)),progressDriven:f.gate==="scrubbed"||f.gate==="native-timeline",instances:[],ledger:u,attributes:l,ledgers:c,controller:p,status:"ready"};t.host&&(d.host=t.host),t.gateOwner&&(d.gateOwner=t.gateOwner),this.states.set(r,d),this.liveElements.add(r),l.set(S.state,"ready");let y={el:r,state:d,ledgers:c,config:o,signal:p.signal,elementHasCssAnimation:m};for(let v of a)this.installGroup(v,y);this.openGate({el:r,state:d,stylePlan:f,config:o,plan:a[0].target.plan})}installAggregate(t){let{el:r,fingerprint:n,parsed:i,config:o,document:s}=t,a=Ze(r),c=new AbortController;this.bindAuthorCallback(r,i,c.signal);let u={fingerprint:n,specs:i.specs,activation:o.activation,timeline:o.timeline,fxNames:s.targets.flatMap(l=>l.plan.fxNames),jsEffectNames:[],progressDriven:!1,instances:[],ledger:a.style(r),attributes:a.attributes(r),ledgers:a,controller:c,status:"ready",aggregate:!0};this.states.set(r,u),this.liveElements.add(r),u.attributes.set(S.state,"ready")}installGroup(t,r){let{target:n,matches:i}=t,o=Je({plan:n.plan,config:r.config,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:r.elementHasCssAnimation}),s=Object.keys(o.properties).some(c=>c.startsWith("animation-")),a={target:n,stylePlan:o,hasCssAnimation:s};for(let c of i)this.installMatch(c,a,r)}installMatch(t,r,n){let{target:i,stylePlan:o,hasCssAnimation:s}=r,{state:a,ledgers:c}=n,u=c.style(t),l=c.attributes(t);for(let[p,m]of Object.entries(o.properties))u.set(p,m);if(l.set(S.normalized,o.attributes[S.normalized]),l.set(S.rm,o.attributes[S.rm]),u.claim("animation-play-state"),s){let p=o.gate==="scrubbed";a.instances.push($s(t,u,i.plan.keyframeNames,p))}a.instances.push(...this.jsEffectPreparer.prepare({el:t,plan:i.plan,signal:n.signal,ledger:u}))}bindAuthorCallback(t,r,n){r.func!==void 0&&zi({el:t,name:r.func,reporter:this.reporter,signal:n})}resolveGroupMatches(t,r){if(r.selector==="")return[t];let n=t.ownerDocument,i=r.plan.fxNames.join(", "),o=Ve(r.selector,n);if(o!=="ok"){let a=o==="invalid"?"is not a valid selector":"matches the whole document";return this.reporter.warn(`target "${r.selector}" (${i}) ${a} and will be ignored`,t),[]}let s=I(t,{doc:n},r.selector,r.scope);return s.length===0&&this.reporter.warn(`target "${r.selector}" (${i}) matched nothing`,t),s}openGate(t){let{el:r,state:n,stylePlan:i,config:o,plan:s}=t;if(this.reducedMotionDisables(s)){this.writeStatus(r,n,"finished"),this.emit(r,n,G.finish,"reduced-motion"),this.syncHost(n);return}let a=o.actions;if(a&&this.warnAboutCrossings(r,n,i.activation??o.activation,a),i.gate!=="deferred"){this.activateOne(r);return}if(Bo(n))return;let c=i.activation,u=this.binder.bind(r,c,{threshold:o.threshold,from:o.activationSource,activate:()=>this.activateOne(r),deactivate:()=>this.deactivate(r),...a?{cross:m=>this.applyCrossing(r,m,a)}:{}}),l=!1,p=()=>{l||(l=!0,u())};n.controller.signal.addEventListener("abort",p),!a&&Be(ee(c))&&(n.releaseActivation=p)}reducedMotionDisables(t){return this.respectReducedMotion&&this.capabilities.reducedMotion&&t.reducedMotion==="disable"}warnAboutCrossings(t,r,n,i){let o=ee(n),s=Li({actions:i,observed:o.start.kind==="observed"||o.end?.kind==="observed",activation:String(n),jsEffectNames:r.jsEffectNames,progressDriven:r.progressDriven});for(let a of s)this.reporter.warn(a,t)}applyCrossing(t,r,n){let i=this.states.get(t);i&&Oi(n[r],{started:i.status!=="ready",controls:i.instances.map(o=>o.control).filter(o=>o!==void 0),activate:()=>this.activateOne(t),reverse:()=>this.reverseOne(t)})}activate(t){this.activateOne(t);for(let r of this.derivedOf(t))this.activateOne(r)}activateOne(t){let r=this.states.get(t);if(!r||r.aggregate)return;if(r.status==="running"&&r.direction==="reverse"){this.turnAround(t,r);return}if(r.status==="running")return;r.releaseActivation?.(),r.releaseActivation=void 0,this.writeStatus(t,r,"running"),r.direction="forward";let n=this.beginRun(r),i=r.instances.filter(o=>this.startInstance(o,t));if(i.length===0&&r.instances.length>0){this.writeStatus(t,r,"failed"),this.syncHost(r);return}this.emit(t,r,G.start,"activated"),this.syncHost(r),this.settleWhen({el:t,state:r,run:n},i,"finished")}deactivate(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;r.instances.filter(rn).length<r.instances.length&&this.reporter.warn("effect cannot play backwards, so the exit half of this activation does nothing for it (JS-rendered effects have no playhead \u2014 see EffectInstance.reverse)",t),this.reverseOne(t)}reverseFrom(t){this.reverseOne(t);for(let r of this.derivedOf(t))this.reverseOne(r)}reverseOne(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;let n=r.instances.filter(rn);if(n.length===0)return;this.writeStatus(t,r,"running"),r.direction="reverse",this.syncHost(r);let i=this.beginRun(r);for(let o of n)o.reverse();this.settleWhen({el:t,state:r,run:i},n,"ready")}turnAround(t,r){let n=r.instances.filter(rn);r.direction="forward";let i=this.beginRun(r);for(let o of n)o.play();this.settleWhen({el:t,state:r,run:i},n,"finished")}settleWhen(t,r,n){let{el:i,state:o,run:s}=t,a=r.filter(u=>!u.continuous);if(a.length===0&&r.length>0){this.settleArmed.set(o,!1);return}this.settleArmed.set(o,!0);let c=o.direction;Promise.all(a.map(u=>u.finished)).then(()=>{this.states.get(i)!==o||o.status!=="running"||o.direction===c&&this.currentRun.get(o)===s&&(this.writeStatus(i,o,n),o.cancelled||(n==="finished"?this.emit(i,o,G.finish,"complete"):this.emit(i,o,G.reverseFinish,"reversed")),this.syncHost(o))})}beginRun(t){let r=Symbol("kui-run");return this.currentRun.set(t,r),t.cancelled=!1,r}emit(t,r,n,i){Ki(t,n,{effects:r.fxNames,activation:r.activation,timeline:r.timeline,reason:i,...r.host?{host:r.host}:{}})}writeStatus(t,r,n){r.status=n,r.attributes.set(S.state,n)}syncHost(t){t.host&&Xe(this.port,t.host)}cancel(t){this.cancelOne(t);for(let r of this.derivedOf(t))this.cancelOne(r)}cancelOne(t){let r=this.states.get(t);if(!r)return;let n=r.status==="running";r.cancelled=!0;for(let i of r.instances)Ds(()=>i.cancel());n&&this.settleArmed.get(r)===!1&&(this.writeStatus(t,r,"finished"),this.syncHost(r)),n&&this.emit(t,r,G.cancel,"cancelled")}control(t){return wt({animator:this,root:this.root,target:t})}startInstance(t,r){try{return t.activate(),!0}catch(n){return this.reporter.warn(`effect failed to activate: ${String(n)}`,r),!1}}play(t,r,n={}){return xt({animator:this,root:this.root,target:t,effect:r},n)}uncloak(){(nn(this.root)?this.root.ownerDocument:this.root)?.documentElement?.removeAttribute(S.cloak)}stateOf(t){return this.states.get(t)}derivedOf(t){return Ot(this.book,t)}hostOf(t){return Do(this.book,t)}reset(t){this.release(t)}release(t){let r=this.states.get(t);if(!r)return;Es(this.port,t);let n=r.status==="running";r.cancelled=!0,r.controller.abort();for(let i of r.instances)Ds(()=>i.destroy());this.states.delete(t),this.liveElements.delete(t),this.gateWatcher?.unwatch(t),r.ledgers.restore(),n&&this.emit(t,r,G.cancel,"reset")}releaseTree(t){let r=[t,...t.querySelectorAll("*")];for(let n of r)this.liveElements.has(n)&&this.release(n);ss(r,this.reporter),Ss(this.port,r)}destroy(){this.domWatcher?.destroy(),as(this.root);for(let t of[...this.liveElements])this.release(t);this.gateWatcher?.destroy(),this.binder.destroy(),this.scheduler.destroy(),this.started=!1}watch(){this.domWatcher??=ws({root:this.root,onElementAdded:t=>{this.scan(t),Ps(this.port,t)},onElementRemoved:t=>this.releaseTree(t),onAttributeChanged:t=>{this.process(t),cs(t,this.reporter)}}),this.domWatcher.watch()}};function js(e={}){return new ke(e)}function dg(e){let t=e.root??globalThis.document,r=e.capabilities??At(),n=e.reporter??Vt(),i=e.scheduler??Ms(),o=e.rootResolver??gg(t),s=(e.reducedMotion??"respect")==="respect";return{registry:e.registry??new fe,capabilities:r,root:t,reporter:n,binder:e.binder??st({reporter:n}),scheduler:i,rootResolver:o,jsEffectPreparer:fg(e.jsEffectPreparer,{scheduler:i,rootResolver:o,capabilities:r,reporter:n,respectReducedMotion:s}),domWatcher:e.domWatcher,respectReducedMotion:s,shouldObserve:e.observe??!1}}function fg(e,t){return e??Ts(t)}function gg(e){let r=(nn(e)?e.ownerDocument:e)?.defaultView??globalThis;return Ls({win:r})}function rn(e){return e.play!==void 0&&e.reverse!==void 0}function Ds(e){try{e()}catch{}}var M={delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"}},V=["duration","delay","ease"];function Hs(e,t){if(t==="ease")return e.timing.easing;let r=t==="duration"?e.timing.durationMs:e.timing.delayMs;return r===void 0?void 0:`${r}ms`}function Gs(e,t,r,n){let i=t.honours??[];for(let o of V){if(i.includes(o)||Hs(r,o)===void 0)continue;let s=i.length>0?i.join(", "):"no timing parameters";n(`"${e}" cannot honour ${o}: ${t.because} (honours: ${s})`)}}function _e(e,t=0){return e.timing.delayMs??e.ms("delay",t)}function Ft(e,t=""){return e.timing.easing??e.text("ease",t)}function tt(e,t,r,n){for(let i of t){let o=Hs(r,i);o!==void 0&&n.style.set(ge(e,i),o)}}function A(e,t,r){return(n,i,o)=>(Gs(e,t,i,o.warn),r(n,i,o))}function U(e,t){return(r,n,i)=>(Gs(e,t,n,i.warn),tn(()=>(tt(e,t.honours??[],n,i),()=>{})))}var ie=["time","view","scroll","pin"],yg={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"0ms",cssProperty:"--kui-stagger"}};function h(e,t,r={}){return{id:e,renderer:"css-keyframes",channels:t,parameters:{...yg,...r.parameters},supportedTimelines:r.timelines??["time"],supportedActivations:r.activations??["load","enter","hover","focus","click","manual"],perfClass:r.perfClass??"compositor",reducedMotion:r.reducedMotion??"shorten",...r.defaultActivation?{defaultActivation:r.defaultActivation}:{}}}var Vs={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"},to:{type:"color",default:"",cssProperty:"--kui-ambient-c2"}},hg={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"}},vg={duration:{type:"time",default:"4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"14px",cssProperty:"--kui-distance"}},bg={duration:{type:"time",default:"3.5s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"},angle:{type:"angle",default:"360deg",cssProperty:"--kui-to-angle"}},Eg={duration:{type:"time",default:"2.2s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.15",cssProperty:"--kui-pulse-scale",finite:!0,minimum:1}},Sg=[h("ambient-gradient",[g.background],{parameters:Vs,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-gradient-ring",[g.background,"mask","layout"],{parameters:Vs,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-tint",[g.background],{parameters:hg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-float",[g.translate],{parameters:vg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-orbit",[g.rotate],{parameters:bg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("ambient-pulse",[g.scale,g.opacity],{parameters:Eg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"})],Pg=[{name:"gradient-mesh",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-gradient-mesh"},{name:"aurora",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-aurora"},{name:"gradient-rotate-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-rotate-border",params:{duration:"6s",ease:"linear"}},{name:"gradient-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-border",params:{duration:"6s",ease:"linear"}},{name:"scanline",phase:"idle",primitive:"ambient-tint",keyframes:"kui-scanline",params:{duration:"3.5s",ease:"linear"}},{name:"dot-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-dot-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"line-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-line-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"starfield",phase:"idle",primitive:"ambient-tint",keyframes:"kui-starfield",params:{duration:"40s",ease:"linear"}},{name:"spotlight-follow",phase:"idle",primitive:"ambient-tint",keyframes:"kui-spotlight-follow",params:{duration:"9s"}},{name:"wave-blob",phase:"idle",primitive:"ambient-tint",keyframes:"kui-wave-blob",params:{duration:"12s"}},{name:"float",phase:"idle",primitive:"ambient-float",keyframes:"kui-float"},{name:"bob",phase:"idle",primitive:"ambient-float",keyframes:"kui-bob",params:{duration:"2s",distance:"8px"}},{name:"floating-shapes",phase:"idle",primitive:"ambient-float",keyframes:"kui-floating-shapes",params:{duration:"6s",distance:"10px"}},{name:"orbit",phase:"idle",primitive:"ambient-orbit",keyframes:"kui-orbit"},{name:"glow-pulse",phase:"idle",primitive:"ambient-pulse",keyframes:"kui-glow-pulse"}];function Fs(e){return e.registerPrimitives(Sg).registerPresets(Pg)}var kg={duration:{type:"time",default:"240ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},xg="discrete.css pins that value on this effect";function Bs(e,t){return{scale:{type:"number",default:t,cssProperty:e,finite:!0,minimum:0}}}function on(e,t){return{distance:{type:"length",default:t,cssProperty:e}}}function $e(e,t,r={}){return{id:e,renderer:"javascript",channels:t,parameters:{...kg,...r},supportedTimelines:["time"],supportedActivations:["manual"],defaultActivation:"manual",perfClass:"compositor",reducedMotion:"shorten",prepare:U(e,{honours:V,because:xg})}}var De=[{property:"display"},{property:"overlay"}],wg=[$e("fade-open",["opacity","discrete"]),$e("pop-open",["opacity","scale","discrete"],Bs("--kui-pop-open-scale","0.92")),$e("scale-open",["scale","discrete"],Bs("--kui-scale-open-scale","0.85")),$e("drop-open",["opacity","translate","discrete"],on("--kui-drop-open-distance","12px")),$e("slide-open-up",["opacity","translate","discrete"],on("--kui-slide-open-up-distance","16px")),$e("slide-open-down",["opacity","translate","discrete"],on("--kui-slide-open-down-distance","16px"))],Tg=[{name:"fade-open",primitive:"fade-open",transitions:[{property:"opacity"},...De]},{name:"pop-open",primitive:"pop-open",transitions:[{property:"opacity"},{property:"scale"},...De]},{name:"scale-open",primitive:"scale-open",transitions:[{property:"scale"},...De]},{name:"drop-open",primitive:"drop-open",transitions:[{property:"opacity"},{property:"translate"},...De]},{name:"slide-open-up",primitive:"slide-open-up",transitions:[{property:"opacity"},{property:"translate"},...De]},{name:"slide-open-down",primitive:"slide-open-down",transitions:[{property:"opacity"},{property:"translate"},...De]}];function Ws(e){return e.registerPrimitives(wg).registerPresets(Tg)}var Ag={duration:{type:"time",default:"1.6s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Cg={duration:{type:"time",default:"900ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Rg={duration:{type:"time",default:"1.2s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},dotSize:{type:"length",default:"8px",cssProperty:"--kui-dot-size"}},Mg={duration:{type:"time",default:"1.4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"}},Ig={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"24px",cssProperty:"--kui-distance"}},Lg={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},sn={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.18",cssProperty:"--kui-pop-scale",finite:!0,minimum:1}},Og={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},extent:{type:"number",default:"4",cssProperty:"--kui-ripple-scale",finite:!0,minimum:1},color:{type:"color",default:"",cssProperty:"--kui-ripple-color"},strength:{type:"number|percentage",default:"0.6",cssProperty:"--kui-ripple-opacity",finite:!0,minimum:0,maximum:1},startScale:{type:"number",default:"0.2",cssProperty:"--kui-ripple-start",finite:!0,minimum:0}},Ng={...sn,distance:{type:"length|percentage",default:"45%",cssProperty:"--kui-confetti-distance"},fan:{type:"number",default:"1",cssProperty:"--kui-confetti-fan",finite:!0,minimum:0},size:{type:"length",default:"6px",cssProperty:"--kui-confetti-size"},spill:{type:"length",default:"24px",cssProperty:"--kui-confetti-spill"},color1:{type:"color",default:"",cssProperty:"--kui-confetti-c1"},color2:{type:"color",default:"",cssProperty:"--kui-confetti-c2"},color3:{type:"color",default:"",cssProperty:"--kui-confetti-c3"},color4:{type:"color",default:"",cssProperty:"--kui-confetti-c4"},color5:{type:"color",default:"",cssProperty:"--kui-confetti-c5"}},_g={duration:{type:"time",default:"1400ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},$g={distance:{type:"length",default:"36px",cssProperty:"--kui-pull-distance"}},Dg=[h("feedback-shimmer",[g.background],{parameters:Ag,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-fade",[g.opacity],{defaultActivation:"manual"}),h("feedback-spin",[g.rotate,"discrete"],{parameters:Cg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-dot-pulse",[g.scale,g.opacity,g.background,"shadow","discrete"],{parameters:Rg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-progress-track",[g.translate,g.scale,g.background,"transform-origin"],{parameters:Mg,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),h("feedback-toast",[g.opacity,g.translate],{parameters:Ig,defaultActivation:"manual"}),h("feedback-shake",[g.translate],{parameters:Lg,defaultActivation:"manual"}),h("feedback-wobble",[g.translate,g.rotate],{defaultActivation:"click"}),h("feedback-ripple",[g.scale,g.opacity,"sweep"],{parameters:Og,defaultActivation:"click"}),h("feedback-pop",[g.scale],{parameters:sn,defaultActivation:"manual"}),h("feedback-burst",[g.scale,g.opacity,g.background,"sweep"],{parameters:Ng,defaultActivation:"click"}),h("feedback-heart-burst",[g.scale,g.color],{parameters:sn,defaultActivation:"click"}),h("feedback-confirm",[g.opacity],{parameters:_g,defaultActivation:"click"}),h("feedback-pull",[g.translate],{parameters:$g,defaultActivation:"manual"})],jg=[{name:"skeleton-shimmer",phase:"idle",primitive:"feedback-shimmer",keyframes:"kui-skeleton-shimmer"},{name:"skeleton-to-content",primitive:"feedback-fade",keyframes:"kui-skeleton-to-content"},{name:"spinner",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-spin"},{name:"spinner-dots",phase:"idle",primitive:"feedback-dot-pulse",keyframes:"kui-spinner-dots"},{name:"spinner-ring",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-ring-spin"},{name:"progress-indeterminate",phase:"idle",primitive:"feedback-progress-track",keyframes:"kui-progress-indeterminate"},{name:"toast-slide-in",primitive:"feedback-toast",keyframes:"kui-toast-slide-in"},{name:"toast-slide-out",primitive:"feedback-toast",keyframes:"kui-toast-slide-out",params:{ease:"ease-in"}},{name:"shake-error",primitive:"feedback-shake",keyframes:"kui-shake-error"},{name:"wobble",primitive:"feedback-wobble",keyframes:"kui-wobble",params:{duration:"600ms",ease:"ease-in-out"}},{name:"ripple",primitive:"feedback-ripple",keyframes:"kui-ripple"},{name:"badge-pop",primitive:"feedback-pop",keyframes:"kui-badge-pop"},{name:"count-bump",primitive:"feedback-pop",keyframes:"kui-count-bump",params:{duration:"280ms",scale:"1.3"}},{name:"heart-burst",primitive:"feedback-heart-burst",keyframes:"kui-heart-burst",params:{duration:"700ms",scale:"1.4"}},{name:"confetti-burst",primitive:"feedback-burst",keyframes:"kui-confetti-burst",params:{duration:"900ms",scale:"1.15"}},{name:"copy-confirm",primitive:"feedback-confirm",keyframes:"kui-copy-confirm"},{name:"pull-to-refresh",primitive:"feedback-pull",keyframes:"kui-pull-to-refresh",params:{duration:"900ms",ease:"ease-out"}}];function qs(e){return e.registerPrimitives(Dg).registerPresets(jg)}function Us(e,t){return{x:t.width>0?e.x/t.width-.5:0,y:t.height>0?e.y/t.height-.5:0}}function Ks(e,t,r){let n=Us(e,t);return{rotateY:n.x*r*2,rotateX:-n.y*r*2}}function zs(e,t,r){let n=Us(e,t);return{x:n.x*r*2,y:n.y*r*2}}function oe(e){return e.matchMedia?.("(hover: hover) and (pointer: fine)").matches??!0}var an={lift:[{property:"translate"}],pop:[{property:"scale"}],"lift-shadow":[{property:"translate"},{property:"box-shadow"}],"border-draw":[{property:"--kui-border-pct"}],"border-glow":[{property:"box-shadow"}]},Ys=["icon-bounce","icon-spin","icon-wiggle","split-flap"],cn={color:{type:"color",default:"",cssProperty:"--kui-beam-border-c1"},outset:{type:"length",default:"",cssProperty:"--kui-beam-border-outset"},arc:{type:"angle",default:"100deg",cssProperty:"--kui-beam-border-arc"},softness:{type:"number|percentage",default:"0.22",cssProperty:"--kui-beam-border-softness",finite:!0,minimum:0,maximum:.9}},Xs={color:{type:"color",default:"",cssProperty:"--kui-shine-sweep-color"},angle:{type:"angle",default:"115deg",cssProperty:"--kui-shine-sweep-angle"},width:{type:"number|percentage",default:"0.2",cssProperty:"--kui-shine-sweep-width",finite:!0,minimum:0,maximum:1}},rt={borderDraw:{color:{type:"color",default:"",cssProperty:"--kui-border-draw-color"}},borderGlow:{color:{type:"color",default:"",cssProperty:"--kui-border-glow-color"}},underlineSlide:{color:{type:"color",default:"",cssProperty:"--kui-underline-slide-color"}},underlineCenter:{color:{type:"color",default:"",cssProperty:"--kui-underline-center-color"}}},Js={...rt.borderDraw,width:{type:"length",default:"2px",cssProperty:"--kui-border-draw-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-border-draw-outset"}};function Hg(e){return{duration:{type:"time",default:e,cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}}}function Zs(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...Hg(r),...n},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:U(e,{honours:V,because:"interaction.css pins that value on this effect"})}}var Gg={scale:{type:"number",default:"0.96",cssProperty:"--kui-press-scale",finite:!0,minimum:0},depth:{type:"length",default:"2px",cssProperty:"--kui-press-shadow-depth"},color:{type:"color",default:"",cssProperty:"--kui-press-shadow-color"}},Vg={opacity:{type:"number|percentage",default:"0.4",cssProperty:"--kui-group-dim-opacity",finite:!0,minimum:0,maximum:1}},Fg=[Zs("press",["scale","shadow"],"120ms",Gg)],Bg=[{name:"press-depth",primitive:"press",transitions:[{property:"scale"},{property:"box-shadow"}]}],Wg=[Zs("group-dim",["group"],"260ms",Vg)],qg=[{name:"group-dim",phase:"state",primitive:"group-dim",requiresOwnSubtree:!0}],Qs=[...Fg,...Wg],ea=[...Bg,...qg];function Bt(e,t,r,n="compositor"){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:n,reducedMotion:"shorten",prepare:U(e,{honours:V,because:"interaction.css pins that value on this effect"})}}var Ug={duration:{type:"time",default:"320ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length|percentage",default:"100%",cssProperty:"--kui-label-swap-distance"}},Kg=[Bt("label-swap",["discrete","label-swap"],Ug)],zg=[{name:"masked-label-swap",phase:"state",primitive:"label-swap"},{name:"masked-label-swap-x",phase:"state",primitive:"label-swap"},{name:"masked-label-swap-diagonal",phase:"state",primitive:"label-swap"}],Yg={duration:{type:"time",default:"160ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"1000ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"4px",cssProperty:"--kui-hover-intent-distance"}},Xg=[Bt("hover-intent",["hint"],Yg)],Jg=[{name:"hover-intent",phase:"state",primitive:"hover-intent"}],Zg={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-distance"},gap:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-gap"},scale:{type:"number",default:"0.85",cssProperty:"--kui-anchored-preview-scale",finite:!0,minimum:0,maximum:1}},Qg=[Bt("anchored-preview",["preview"],Zg)],ey=[{name:"anchored-preview",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-bottom",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-left",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-right",phase:"state",primitive:"anchored-preview"}],ty={duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},collapsed:{type:"length|percentage",default:"2.5em",cssProperty:"--kui-search-expand-collapsed"},width:{type:"length|percentage",default:"240px",cssProperty:"--kui-search-expand-width"}},ry=[Bt("search-expand",["expand","discrete","search-field"],ty,"layout")],ny=[{name:"search-expand",primitive:"search-expand",transitions:[{property:"inline-size"}]}],ta=[...Kg,...Xg,...Qg,...ry],ra=[...zg,...Jg,...ey,...ny];var sa={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},na={honours:["duration","delay"],because:"it is a continuous rotation and interaction.css runs it linear, so a curve would visibly stutter at the seam of every revolution"},iy="interaction.css pins that value on this effect",ia={distance:{type:"length",default:"6px",cssProperty:"--kui-lift-distance"}},oy={scale:{type:"number",default:"1.06",cssProperty:"--kui-pop-scale",finite:!0,minimum:0}};function sy(e){return Object.fromEntries(Object.entries(sa).filter(([t])=>e.includes(t)))}function K(e,t,r={},n={honours:V,because:iy}){let i=n.honours;return{id:e,renderer:"javascript",channels:t,parameters:{...sy(i),...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:U(e,n)}}var aa=[K("lift",["translate"],ia),K("pop",["scale"],oy),K("lift-shadow",["translate","shadow"],ia),K("shine-sweep",["sweep"],Xs),K("split-flap",["skew","discrete"]),K("border-draw",["border","pseudo-before"],Js),K("border-glow",["shadow"],rt.borderGlow),K("beam-border",["border","pseudo-before"],cn,na),K("underline-slide",["scale"],rt.underlineSlide),K("underline-center",["scale"],rt.underlineCenter),K("icon-wiggle",["rotate"]),K("icon-spin",["rotate"],{},na),K("icon-bounce",["translate"])],ay=aa.map(e=>({name:e.id,primitive:e.id,...an[e.id]?{transitions:an[e.id]}:{},...Ys.includes(e.id)?{delivery:"stylesheet-animation"}:{}})),cy=[{id:"beam-border-auto",renderer:"javascript",channels:["border","pseudo-before"],parameters:{duration:sa.duration,...cn},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:U("beam-border-auto",{honours:["duration"],because:"it is an always-on linear loop with no start moment and no curve"})}],ly=[{name:"beam-border-auto",primitive:"beam-border-auto"}],uy={stiffness:{type:"number",default:"260",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"26",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}};function xe(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:A(e,{because:"it tracks pointer position continuously, so it has no start moment and no fixed span"},n)}}function py(e){return{...Z,stiffness:e.num("stiffness",Z.stiffness),damping:e.num("damping",Z.damping),mass:e.num("mass",Z.mass)}}function my(e){return{...ut(),warn:e.warn}}function dy(e,t,r){if(!oe(r.win))return()=>{};let n=e,i=t.num("maxAngle",14),o=t.text("perspective","800px");function s(l,p,m){r.style.set("transition",`transform ${m}ms ease-out`),r.style.set("transform",`perspective(${o}) rotateX(${l.toFixed(2)}deg) rotateY(${p.toFixed(2)}deg)`)}function a(l){let p=n.getBoundingClientRect(),m={x:l.clientX-p.left,y:l.clientY-p.top},{rotateX:f,rotateY:d}=Ks(m,p,i);s(f,d,100)}function c(){s(0,0,400)}function u(){s(-i/2,i/2,250)}return n.addEventListener("pointermove",a,{passive:!0}),n.addEventListener("pointerleave",c,{passive:!0}),n.addEventListener("focus",u),n.addEventListener("blur",c),()=>{n.removeEventListener("pointermove",a),n.removeEventListener("pointerleave",c),n.removeEventListener("focus",u),n.removeEventListener("blur",c)}}function fy(e){return[...e.querySelectorAll("[data-depth]")].map(t=>({ledger:O(t),depth:Number(t.dataset.depth)||0}))}function oa(e,t,r,n){for(let i of e)i.ledger.set("transition",`translate ${n}ms ease-out`),i.ledger.set("translate",`${(t*i.depth).toFixed(2)}px ${(r*i.depth).toFixed(2)}px`)}function gy(e,t,r){if(!oe(r.win))return()=>{};let n=e,i=t.num("strength",24),o=fy(n);function s(c){let u=n.getBoundingClientRect(),l={x:c.clientX-u.left,y:c.clientY-u.top},p=zs(l,u,i);oa(o,p.x,p.y,120)}function a(){oa(o,0,0,400)}return n.addEventListener("pointermove",s,{passive:!0}),n.addEventListener("pointerleave",a,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",a),()=>{n.removeEventListener("pointermove",s),n.removeEventListener("pointerleave",a),n.removeEventListener("focus",a),n.removeEventListener("blur",a);for(let c of o)c.ledger.restore()}}function ca(e,t,r){e.style.translate=`${t.toFixed(1)}px ${r.toFixed(1)}px`}function yy(e,t,r){let n=e.createElement("span");return n.className=`kui-cursor-dot ${t}`,n.setAttribute("aria-hidden","true"),r&&(n.textContent=r),e.body.append(n),n}function hy(e,t,r){let n={x:0,y:0},i=o=>s=>{n[o]=s,ca(e,n.x,n.y)};return{x:pe(t,i("x"),r),y:pe(t,i("y"),r)}}function qt(e,t,r,n){if(!oe(r.win))return()=>{};let i=e.ownerDocument,o=e,s=yy(i,n,t.text("label","")),a=hy(s,py(t),my(r));function c(){s.classList.add("kui-cursor-dot-active")}function u(){s.classList.remove("kui-cursor-dot-active")}function l(m){c(),a.x.to(m.clientX),a.y.to(m.clientY)}function p(){let m=o.getBoundingClientRect(),f=m.left+m.width/2,d=m.top+m.height/2;c(),a.x.set(f),a.y.set(d),ca(s,f,d)}return o.addEventListener("pointermove",l,{passive:!0}),o.addEventListener("pointerleave",u,{passive:!0}),o.addEventListener("focus",p),o.addEventListener("blur",u),()=>{o.removeEventListener("pointermove",l),o.removeEventListener("pointerleave",u),o.removeEventListener("focus",p),o.removeEventListener("blur",u),a.x.stop(),a.y.stop(),s.remove()}}function vy(e,t,r){if(!oe(r.win))return()=>{};let n=e;r.win.getComputedStyle(n).position==="static"&&r.style.set("position","relative");function i(c,u,l){r.style.set("--kui-x",c),r.style.set("--kui-y",u),r.style.set("--kui-spotlight-opacity",l?"1":"0")}function o(c){let u=n.getBoundingClientRect();i(`${(c.clientX-u.left).toFixed(1)}px`,`${(c.clientY-u.top).toFixed(1)}px`,!0)}function s(){i("50%","50%",!1)}function a(){i("50%","50%",!0)}return n.addEventListener("pointermove",o,{passive:!0}),n.addEventListener("pointerleave",s,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",s),()=>{n.removeEventListener("pointermove",o),n.removeEventListener("pointerleave",s),n.removeEventListener("focus",a),n.removeEventListener("blur",s)}}var by={maxAngle:{type:"number",default:"14",cssProperty:"--kui-max-angle"},perspective:{type:"length",default:"800px",cssProperty:"--kui-perspective"}},Ey={strength:{type:"number",default:"24",cssProperty:"--kui-strength"}},Wt={...uy,label:{type:"text",default:"",cssProperty:"--kui-label"}},Sy=[xe("tilt-3d",["rotate"],by,b(dy)),xe("tilt-parallax",["translate"],Ey,b(gy)),xe("cursor-follow",["translate"],Wt,b(Py)),xe("cursor-lag",["translate"],Wt,b(ky)),xe("cursor-label",["translate"],Wt,b(xy)),xe("cursor-invert",["translate"],Wt,b(wy)),xe("cursor-spotlight",["spotlight","pseudo-before"],{},b(vy))];function Py(e,t,r){return qt(e,t,r,"kui-cursor-dot-follow")}function ky(e,t,r){return qt(e,t,r,"kui-cursor-dot-lag")}function xy(e,t,r){return qt(e,t,r,"kui-cursor-dot-label")}function wy(e,t,r){return qt(e,t,r,"kui-cursor-dot-invert")}var Ty=[{name:"tilt-3d",primitive:"tilt-3d"},{name:"tilt-parallax",primitive:"tilt-parallax"},{name:"cursor-follow",primitive:"cursor-follow",params:{stiffness:"300",damping:"30"}},{name:"cursor-lag",primitive:"cursor-lag",params:{stiffness:"80",damping:"14"}},{name:"cursor-label",primitive:"cursor-label",params:{stiffness:"260",damping:"26",label:"View"}},{name:"cursor-spotlight",primitive:"cursor-spotlight"},{name:"cursor-invert",primitive:"cursor-invert",params:{stiffness:"260",damping:"26"}}],Ay=[...aa,...Sy,...cy,...Qs,...ta],Cy=[...ay,...Ty,...ly,...ea,...ra];function la(e){return e.registerPrimitives(Ay).registerPresets(Cy)}function Ry(e,t,r){if(!oe(r.win))return()=>{};let n=e;function i(s){r.style.set("--kui-proximity-x",`${s.clientX}px`),r.style.set("--kui-proximity-y",`${s.clientY}px`),r.style.set("--kui-proximity-opacity","1")}function o(){r.style.set("--kui-proximity-opacity","0")}return n.addEventListener("pointermove",i,{passive:!0}),n.addEventListener("pointerleave",o,{passive:!0}),()=>{n.removeEventListener("pointermove",i),n.removeEventListener("pointerleave",o)}}var My=[{id:"proximity-field",renderer:"javascript",channels:["proximity"],parameters:{},supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:A("proximity-field",{because:"it tracks pointer position continuously across a container, so it has no start moment and no fixed span"},b(Ry))}],Iy=[{name:"proximity-field",phase:"state",primitive:"proximity-field"}],Ly={duration:{type:"time",default:"200ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},color:{type:"color",default:"",cssProperty:"--kui-proximity-glow-color"},radius:{type:"length",default:"220px",cssProperty:"--kui-proximity-glow-radius"},width:{type:"length",default:"1px",cssProperty:"--kui-proximity-glow-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-proximity-glow-outset"}},Oy=[{id:"proximity-glow",renderer:"javascript",channels:["pseudo-before"],parameters:Ly,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:U("proximity-glow",{honours:["duration","ease"],because:"the ring is ambient chrome fed by an ancestor proximity-field and has no discrete start moment of its own to delay"})}],Ny=[{name:"proximity-glow",phase:"state",primitive:"proximity-glow"}],_y=[...My,...Oy],$y=[...Iy,...Ny];function ua(e){return e.registerPrimitives(_y).registerPresets($y)}var ln="",Dy={blur:{type:"length",default:"16px",cssProperty:"--kui-glass-blur"},saturate:{type:"number|percentage",default:"1.6",cssProperty:"--kui-glass-saturate",finite:!0,minimum:0},opacity:{type:"number|percentage",default:"0.12",cssProperty:"--kui-glass-opacity",finite:!0,minimum:0,maximum:1},tint:{type:"color",default:ln,cssProperty:"--kui-glass-tint"},rim:{type:"color",default:ln,cssProperty:"--kui-glass-rim"},"rim-width":{type:"length",default:"1px",cssProperty:"--kui-glass-rim-width"},sheen:{type:"number|percentage",default:"0.16",cssProperty:"--kui-glass-sheen",finite:!0,minimum:0,maximum:1},radius:{type:"length|percentage",default:ln,cssProperty:"--kui-glass-radius"}};function jy(){return C(()=>{})}var Hy=[{id:"glass",renderer:"javascript",channels:["background","backdrop"],parameters:Dy,supportedTimelines:ie,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:A("glass",{because:"it paints a resting surface rather than animating, so there is no motion to time"},b(jy))}],Gy=[{name:"glass",primitive:"glass"}];function pa(e){return e.registerPrimitives(Hy).registerPresets(Gy)}var Vy=new Set(["mp4","webm","mov","m4v","ogv"]),Fy=new Set(["youtube.com","www.youtube.com","m.youtube.com","youtube-nocookie.com","www.youtube-nocookie.com","youtu.be","www.youtu.be"]);function ma(e){let t=e.replace(/[\t\n\r]/g,""),r=0;for(;r<t.length&&t.charCodeAt(r)<=32;)r+=1;return t.slice(r)}function By(e){let t=ma(e).replace(/^[a-z][a-z0-9+.-]*:/i,"").replace(/^\/\//,""),r=t.search(/[/?#]/),n=r===-1?t:t.slice(0,r);return n.slice(n.lastIndexOf("@")+1).toLowerCase()}function Wy(e){return Fy.has(By(e))}var un={center:"50% 50%",top:"50% 0%",bottom:"50% 100%",left:"0% 50%",right:"100% 50%","top-left":"0% 0%","top-right":"100% 0%","bottom-left":"0% 100%","bottom-right":"100% 100%"},da=Object.keys(un);function fa(e){return un[e]??un.center}function qy(e){return e.overlay!=="transparent"&&e.overlayOpacity>0}function Uy(e){let t=e.split("?")[0].split("#")[0],r=t.lastIndexOf(".");return r<=t.lastIndexOf("/")?!1:Vy.has(t.slice(r+1).toLowerCase())}var Ky=new Set(["http","https"]);function zy(e){let t=/^([a-z][a-z0-9+.-]*):/i.exec(ma(e));return t?t[1].toLowerCase():""}function pn(e,t,r){if(!e)return e;if(Wy(e))return r.warn(`background-media "${t}": "${e}" is a video *page*, not a media file \u2014 a YouTube URL cannot be played by <video> and needs an iframe embed instead. Point "${t}" at an .mp4/.webm file, or use a YouTube facade alongside this effect.`),"";let n=zy(e);return!n||Ky.has(n)?e:(r.warn(`background-media "${t}": "${n}:" URLs are not allowed \u2014 use https:, http:, or a path such as "/media/hero.mp4".`),"")}function ga(e){let{style:t}=e;t.setProperty("position","absolute"),t.setProperty("top","0"),t.setProperty("left","0"),t.setProperty("width","100%"),t.setProperty("height","100%"),t.setProperty("border-radius","inherit"),t.setProperty("pointer-events","none"),t.setProperty("z-index","-1")}function Yy(e,t){let r=e.createElement("div");return ga(r),r.style.setProperty("background",t.overlay),r.style.setProperty("opacity",String(t.overlayOpacity)),r.setAttribute("aria-hidden","true"),r}function Xy(e,t){let r=e.createElement("video");return r.muted=!0,r.setAttribute("muted",""),r.playsInline=!0,r.setAttribute("playsinline",""),r.loop=t.loop,r.defaultPlaybackRate=t.rate,r.playbackRate=t.rate,r.preload="metadata",t.poster&&(r.poster=t.poster),r.src=t.src,r}function ya(e){let t=e.play();t&&t.catch(()=>{})}function Jy(e,t,r){return r.reducedMotion||r.autoplay==="never"?()=>{}:r.autoplay==="always"?(ya(e),()=>{e.paused||e.pause()}):Qy(e,t)}function Zy(e,t){let r=e.createElement("img");return r.alt="",r.decoding="async",r.src=t.src,r}function Qy(e,t){let r=t.IntersectionObserver;if(!r)return()=>{};let n=new r(i=>{for(let o of i)o.isIntersecting?ya(e):e.paused||e.pause()},{threshold:0});return n.observe(e),()=>{n.disconnect(),e.paused||e.pause()}}function ha(e,t,r){let n=e.ownerDocument,i=Uy(r.src)?Xy(n,r):null,o=i??Zy(n,r);ga(o),o.style.setProperty("object-fit",r.fit),o.style.setProperty("object-position",r.position),o.setAttribute("aria-hidden","true"),o.setAttribute("data-kui-background",""),e.append(o);let s=qy(r)?Yy(n,r):null;s&&(s.setAttribute("data-kui-background-overlay",""),e.append(s));let a=i?Jy(i,t.win,r):()=>{};return{remove:()=>{a(),o.remove(),s?.remove()}}}function je(e,t){let r=e.ResizeObserver,n=r?new r(t):void 0,i=new Set;return e.addEventListener("resize",t,{passive:!0}),{observe(o){i.has(o)||(i.add(o),n?.observe(o))},unobserve(o){i.delete(o),n?.unobserve(o)},disconnect(){e.removeEventListener("resize",t),n?.disconnect(),i.clear()}}}function Ut(e,t){let r,n,i=()=>{r=void 0,n=void 0,t()};return{request(){r!==void 0||n!==void 0||(e.requestAnimationFrame?r=e.requestAnimationFrame(i):n=e.setTimeout(i,16))},cancel(){r!==void 0&&e.cancelAnimationFrame(r),n!==void 0&&e.clearTimeout(n),r=void 0,n=void 0}}}var mn={vertical:0,horizontal:90},eh={deg:1,d:1,grad:.9,rad:180/Math.PI,turn:360},va=1,th="kui-slat-stage",rh="kui-slat-item",nh=.6180339887498949;function ih(e,t,r){if(t<=1)return 0;switch(r){case"start":return e;case"end":return t-1-e;case"edges":return Math.min(e,t-1-e);case"random-ish":return Math.floor(e*nh%1*t);case"alternate":default:return oh(e,t)}}function oh(e,t){let r=e,n=t-1-e,i=Math.min(r,n);return r<=n?i*2:i*2+1}function ba(e,t){let r=e.trim();if(!r)return mn[t];let n=/^(-?(?:\d+(?:\.\d+)?|\.\d+))(deg|d|rad|grad|turn)?$/.exec(r);if(!n)return mn[t];let i=Number(n[1]);if(!Number.isFinite(i))return mn[t];let o=n[2]??"deg";return(i*eh[o]%180+180)%180}function Ea(e){let t=e*Math.PI/180;return{x:-Math.sin(t),y:Math.cos(t)}}function sh(e,t,r,n){let{width:i,height:o}=n,s=r*Math.PI/180,a=Math.cos(s),c=Math.sin(s),{x:u,y:l}=Ea(r),p=Math.abs(a)*i+Math.abs(c)*o,m=i/2,f=o/2,d=p/t,y=e*d-p/2-va,v=(e+1)*d-p/2+va,E=i+o,P=(k,w)=>`${(m+k*a+w*u).toFixed(2)}px ${(f+k*c+w*l).toFixed(2)}px`;return`polygon(${P(y,E)}, ${P(y,-E)}, ${P(v,-E)}, ${P(v,E)})`}function ah(e){return e===0?"vertical":e===90?"horizontal":"diagonal"}function Sa(e,t,r){let{slats:n,angleDegrees:i}=r,o=t.offsetWidth,s=t.offsetHeight;e.style.top=`${t.offsetTop}px`,e.style.left=`${t.offsetLeft}px`,e.style.width=`${o}px`,e.style.height=`${s}px`,n.forEach((a,c)=>{a.style.clipPath=sh(c,n.length,i,{width:o,height:s})})}function ch(e,t,r,n){let o=je(r,()=>Sa(e,t,n));return o.observe(t),o.disconnect}function lh(e,t){let r=t.getComputedStyle(e),n=r.objectPosition||"50% 50%",i=r.objectFit;return i==="cover"?{size:"cover",position:n}:i==="contain"||i==="scale-down"?{size:"contain",position:n}:i==="none"?{size:"auto",position:n}:{size:"100% 100%",position:n}}function Pa(e,t,r,n){let i=e.querySelector("img");if(!i)return null;let o=i.currentSrc||i.getAttribute("src")||"";if(!o)return null;let{count:s,angleDegrees:a,from:c,fold:u}=n,l=Ea(a),p=t.createElement("div");p.className=th,p.setAttribute("aria-hidden","true"),p.dataset.kuiSlatAxis=ah(a),p.dataset.kuiSlatAngle=String(a),p.dataset.kuiSlatFold=String(u),p.style.setProperty("--kui-slat-count",String(s)),p.style.setProperty("--kui-slat-dx",l.x.toFixed(4)),p.style.setProperty("--kui-slat-dy",l.y.toFixed(4));let m=lh(i,r),f=[];for(let E=0;E<s;E++){let P=t.createElement("div");P.className=rh,P.style.setProperty("--kui-slat-index",String(E)),P.style.setProperty("--kui-i",String(ih(E,s,c))),P.style.backgroundImage=`url("${o}")`,P.style.backgroundSize=m.size,P.style.backgroundPosition=m.position,p.append(P),f.push(P)}e.append(p);let d={slats:f,angleDegrees:a};Sa(p,i,d);let y=ch(p,i,r,d),v=O(i);return v.set("visibility","hidden"),{stage:p,slats:f,restore:()=>{y(),v.restore(),p.remove()}}}function ka(e,t){let{durationMs:r,delayMs:n,easing:i}=t.timing,o=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",o),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",me(i??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","60ms"))}function xa(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),i=e.ms("stagger",60);return n+(t-1)*i+r}var dn={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},scale:{type:"number",default:"1.12",cssProperty:"--kui-to-scale"}},uh=[h("media-wipe",[g.clip]),h("media-mask",["mask"],{perfClass:"paint"}),h("media-ken-burns",[g.translate,g.scale],{parameters:dn}),h("media-filter",[g.filter],{defaultActivation:"hover",perfClass:"paint"}),h("media-blur-up",[g.translate,g.filter],{parameters:{distance:dn.distance,blur:{type:"length",default:"16px",cssProperty:"--kui-blur"}},perfClass:"paint"}),h("media-parallax-frame",[g.translate],{parameters:{distance:dn.distance},timelines:["view","scroll"],activations:["manual"],reducedMotion:"disable"}),h("media-lightbox",[g.opacity,g.scale],{parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}})],ph=[{name:"wipe-up",primitive:"media-wipe",keyframes:"kui-wipe-up",cloak:!0},{name:"wipe-down",primitive:"media-wipe",keyframes:"kui-wipe-down",cloak:!0},{name:"wipe-left",primitive:"media-wipe",keyframes:"kui-wipe-left",cloak:!0},{name:"wipe-right",primitive:"media-wipe",keyframes:"kui-wipe-right",cloak:!0},{name:"wipe-circle",primitive:"media-wipe",keyframes:"kui-wipe-circle",cloak:!0},{name:"wipe-diagonal",primitive:"media-wipe",keyframes:"kui-wipe-diagonal",cloak:!0},{name:"mask-reveal",primitive:"media-mask",keyframes:"kui-mask-reveal",cloak:!0},{name:"curtain-reveal",primitive:"media-wipe",keyframes:"kui-curtain-reveal",cloak:!0},{name:"ken-burns",primitive:"media-ken-burns",keyframes:"kui-ken-burns"},{name:"ken-burns-out",primitive:"media-ken-burns",keyframes:"kui-ken-burns-out"},{name:"blur-up",primitive:"media-blur-up",keyframes:"kui-blur-up",cloak:!0},{name:"duotone-hover",primitive:"media-filter",keyframes:"kui-duotone-hover"},{name:"grayscale-hover",primitive:"media-filter",keyframes:"kui-grayscale-hover"},{name:"saturate-hover",primitive:"media-filter",keyframes:"kui-saturate-hover"},{name:"image-parallax-frame",primitive:"media-parallax-frame",keyframes:"kui-image-parallax-frame"},{name:"before-after-wipe",primitive:"media-wipe",keyframes:"kui-before-after-wipe"},{name:"lightbox-open",primitive:"media-lightbox",keyframes:"kui-lightbox-open"}],mh={slats:{type:"number",default:"8",cssProperty:"--kui-slats",minimum:2,maximum:24,integer:!0},axis:{type:"keyword",default:"vertical",cssProperty:"--kui-axis",keywords:["vertical","horizontal"]},angle:{type:"text",default:"",cssProperty:"--kui-slat-angle"},from:{type:"keyword",default:"alternate",cssProperty:"--kui-from",keywords:["alternate","start","end","edges","random-ish"]},fold:{type:"keyword",default:"false",cssProperty:"--kui-fold",keywords:["true","false"]},duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"60ms",cssProperty:"--kui-stagger"}};function dh(e,t,r){let n=e.ownerDocument,i=Math.min(24,Math.max(2,Math.round(t.num("slats",8)))),o=t.text("axis","vertical"),s=ba(t.text("angle",""),o),a=t.text("from","alternate"),c=t.is("fold"),u=e;r.win.getComputedStyle(u).position==="static"&&r.style.set("position","relative");let l=Pa(e,n,r.win,{count:i,angleDegrees:s,from:a,fold:c});if(!l)return()=>{};let{stage:p}=l;ka(p,t),p.classList.add("kui-slat-animating");let m,f=new Promise(E=>{m=E}),d=!1,y=()=>{d||(d=!0,p.classList.remove("kui-slat-animating"),l.restore(),m())},v=r.win.setTimeout(y,xa(t,i));return{cleanup:()=>{r.win.clearTimeout(v),!d&&(d=!0,l.restore())},finished:f,finish:()=>{r.win.clearTimeout(v),y()}}}var fh={src:{type:"text",default:"",cssProperty:"--kui-src"},poster:{type:"text",default:"",cssProperty:"--kui-poster"},fit:{type:"keyword",default:"cover",cssProperty:"--kui-fit",keywords:["cover","contain"]},focus:{type:"keyword",default:"center",cssProperty:"--kui-focus",keywords:da},overlay:{type:"color",default:"transparent",cssProperty:"--kui-overlay"},"overlay-opacity":{type:"percentage",default:"100%",cssProperty:"--kui-overlay-opacity"},autoplay:{type:"keyword",default:"in-view",cssProperty:"--kui-autoplay",keywords:["in-view","always","never"]},rate:{type:"number",default:"1",cssProperty:"--kui-rate",finite:!0,minimum:.25,maximum:4},loop:{type:"keyword",default:"true",cssProperty:"--kui-loop",keywords:["true","false"]}};function gh(e,t,r){let n=t.text("src");if(!n)return r.warn('background-media needs a "src:" \u2014 nothing installed'),()=>{};let i=pn(n,"src",r);if(!i)return()=>{};let o=e;r.win.getComputedStyle(o).position==="static"&&r.style.set("position","relative"),r.style.set("isolation","isolate");let s=ha(e,r,{src:i,poster:pn(t.text("poster"),"poster",r),fit:t.is("fit","contain")?"contain":"cover",position:fa(t.text("focus","center")),overlay:t.text("overlay","transparent"),overlayOpacity:Math.min(1,Math.max(0,t.num("overlay-opacity",1))),autoplay:t.text("autoplay","in-view"),rate:t.num("rate",1),loop:!t.is("loop","false"),reducedMotion:r.reducedMotion});return C(s.remove)}var yh=[{id:"slat-assemble",renderer:"javascript",channels:[g.opacity,g.translate,g.rotate],parameters:mh,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"disable",restoresOnFinish:!0,prepare:b(dh)},{id:"background-media",channels:["media","layout"],renderer:"javascript",parameters:fh,supportedTimelines:ie,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:A("background-media",{because:"it paints a backdrop rather than animating, so there is no motion to time"},b(gh))}],hh=[{name:"slat-assemble",primitive:"slat-assemble",cloak:!0},{name:"bg",primitive:"background-media"},{name:"background",primitive:"background-media"},{name:"video-backdrop",primitive:"background-media",params:{overlay:"black","overlay-opacity":"45%"}},{name:"video-hero",primitive:"background-media",params:{overlay:"black","overlay-opacity":"45%",autoplay:"always"}}],vh=[...uh,...yh],bh=[...ph,...hh];function wa(e){return e.registerPrimitives(vh).registerPresets(bh)}function Kt(e){let t=Array.from(e.childNodes);return()=>{e.replaceChildren(...t)}}var Eh="kui-sr-only",Sh="kui-split-decorative",Ph="a[href], button, input, select, textarea, [tabindex], [contenteditable], details, summary, iframe, audio[controls], video[controls]";function se(e){return e.querySelector(Ph)!==null}function we(e,t){let r=e.textContent.trim(),n=Kt(e),i=t.createElement("span");i.setAttribute("aria-hidden","true"),i.className=Sh;let o=t.createElement("span");return o.className=Eh,o.textContent=r,e.textContent="",e.append(i,o),{decorative:i,srOnly:o,originalText:r,restore:n}}function zt(e){let t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),r=>r.segment)}function kh(e){let t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e),r=>({text:r.segment,isWord:r.isWordLike===!0}))}function Yt(e,t,r){e.className=r?`kui-split-item ${r}`:"kui-split-item",e.style.setProperty("--kui-i",String(t))}function Xt(e,t){let{durationMs:r,delayMs:n,easing:i}=t.timing,o=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",o),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",me(i??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","30ms"))}function gn(e,t,r){let n=e.timing.durationMs;return n===void 0||t<=0?e.ms("step",r):Math.max(1,n/t)}function Jt(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),i=e.ms("stagger",30);return n+(t-1)*i+r}function Zt(e,t){let r,n=new Promise(a=>{r=a}),i;function o(){e.clearTimeout(s),i!==void 0&&e.clearInterval(i),r?.()}let s=e.setTimeout(()=>{i=e.setInterval(()=>{t.tick()&&o()},t.stepMs)},t.delayMs);return{finished:n,stop:o}}function yn(e,t,r){let n=[],i=0,o=null;for(let s of zt(r)){if(s.trim()===""){e.append(t.createTextNode(s)),o=null;continue}o||(o=t.createElement("span"),o.className="kui-split-word",e.append(o));let a=t.createElement("span");Yt(a,i),a.textContent=s,o.append(a),n.push(a),i++}return n}function fn(e,t){let r=e.doc.createElement("span");return Yt(r,e.spans.length),r.textContent=t,e.container.append(r),e.spans.push(r),r}function xh(e,t,r){for(let{segment:n}of r.segment(t))n.trim()===""?(e.leading&&fn(e,e.leading),e.leading="",e.preceding=null,e.container.append(e.doc.createTextNode(n))):e.leading||/^[\p{Ps}\p{Pi}¿¡]$/u.test(n)||!e.preceding?e.leading+=n:e.preceding.textContent+=n}function Ta(e,t,r){let n={container:e,doc:t,spans:[],preceding:null,leading:""},i=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(let o of kh(r)){if(!o.isWord){xh(n,o.text,i);continue}n.preceding=fn(n,n.leading+o.text),n.leading=""}return n.leading&&fn(n,n.leading),n.spans}function wh(e){let t=[],r=null;for(let n of Array.from(e.childNodes)){if(n instanceof HTMLElement){let i=n.offsetTop;(r===null||Math.abs(i-r)>1)&&(t.push([]),r=i)}else t.length===0&&t.push([]);t.at(-1).push(n)}return t}function Aa(e,t){let r=wh(e);return e.replaceChildren(),r.map((n,i)=>{let o=t.createElement("span");Yt(o,i,"kui-split-line");for(let s of n)s instanceof HTMLElement&&(s.removeAttribute("class"),s.style.removeProperty("--kui-i")),o.append(s);return e.append(o),o})}function Th(e,t,r){return Ta(e,t,r),Aa(e,t)}function Ca(e,t){let r=Array.from(e.childNodes).flatMap(i=>Array.from(i.childNodes));e.replaceChildren(...r);let n=0;for(let i of r)i instanceof HTMLElement&&Yt(i,n++);return Aa(e,t)}function hn(e,t,r,n){return e==="words"?Ta(t,r,n):e==="lines"?Th(t,r,n):yn(t,r,n)}function Ra(e,t,r){if(!e.deleting){let i=e.index+1;return i<t?{index:i,deleting:!1,done:!1}:r?{index:t,deleting:!0,done:!1}:{index:t,deleting:!1,done:!0}}let n=e.index-1;return n>0?{index:n,deleting:!0,done:!1}:{index:0,deleting:!1,done:!1}}var Ma={upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",binary:"01",symbols:"!<>-_\\/[]{}=+*^?#~"};function Ia(e,t,r,n){return e.map((i,o)=>o<t||i.trim()===""?i:r[Math.floor(n()*r.length)]??r[0]??i).join("")}var Ah=/^[A-Za-z0-9]{4}$/,La={type:"keyword",default:'"wght"',cssProperty:"--kui-axis",keywords:[]},Oa={axis:La,from:{type:"number",default:"100",cssProperty:"--kui-from-axis",finite:!0},to:{type:"number",default:"900",cssProperty:"--kui-to-axis",finite:!0}};function Na(e,t){let r=e.params.axis;if(r===void 0)return{};let n=Object.fromEntries(Object.entries(e.params).filter(([o])=>o!=="axis"));if(!Ah.test(r))return t(`"axis:${r}" is not an OpenType axis tag \u2014 expected exactly four letters or digits, case-significant, e.g. axis:wght (registered) or axis:GRAD (vendor)`),{params:n};let i=`"${r}"`;return{params:{...n,axis:i},schema:{axis:{...La,keywords:[i]}}}}var Ch="kui-sr-only",Rh="kui-count-decorative";function Da(e,t){let r=Kt(e),n=t.createElement("span");n.setAttribute("aria-hidden","true"),n.className=Rh;let i=t.createElement("span");return i.className=Ch,e.textContent="",e.append(n,i),{decorative:n,srOnly:i,restore:r}}function _a(e){return 1-(1-Math.min(Math.max(e,0),1))**3}function ja(e,t,r){return t+(r-t)*e}function $a(e,t,r,n){let i=3*e,o=3*(r-e)-i,s=1-i-o,a=3*t,c=3*(n-t)-a,u=1-a-c,l=d=>((s*d+o)*d+i)*d,p=d=>((u*d+c)*d+a)*d,m=d=>(3*s*d+2*o)*d+i;function f(d){let y=d;for(let P=0;P<8;P++){let k=m(y);if(Math.abs(k)<1e-6)break;let w=y-(l(y)-d)/k;if(Math.abs(l(w)-d)<1e-6)return w;y=w}let v=0,E=1;for(y=d;E-v>1e-6;)l(y)<d?v=y:E=y,y=(v+E)/2;return y}return d=>p(f(Math.min(Math.max(d,0),1)))}var Mh={ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"expo-in":[.7,0,.84,0],"expo-out":[.16,1,.3,1],"expo-in-out":[.87,0,.13,1],"back-in":[.36,0,.66,-.56],"back-out":[.34,1.56,.64,1],"back-in-out":[.68,-.6,.32,1.6],"quart-out":[.25,1,.5,1],"circ-out":[0,.55,.45,1]},Ih=/^cubic-bezier\(\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\)$/i;function Qt(e,t){if(e===void 0)return _a;if(e==="linear")return i=>Math.min(Math.max(i,0),1);let r=Mh[e];if(r)return $a(...r);let n=Ih.exec(e);return n?$a(Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])):(t(`easing "${e}" has no JS equivalent for a JS-driven tween \u2014 using the default ease-out`),_a)}var Lh={notation:"compact",maximumFractionDigits:1};function er(e,t){let{format:r,decimals:n,currency:i}=t;return r==="currency"?new Intl.NumberFormat(void 0,{style:"currency",currency:i,minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="percent"?new Intl.NumberFormat(void 0,{style:"percent",minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="compact"?new Intl.NumberFormat(void 0,Lh).format(e):new Intl.NumberFormat(void 0,{minimumFractionDigits:n,maximumFractionDigits:n}).format(e)}function vn(e,t){return Math.round(Math.max(0,e)).toString().padStart(t,"0")}function tr(e){let t=[];for(let r=e.length;r>0;r-=3)t.unshift(e.slice(Math.max(0,r-3),r));return t.join(",")}function bn(e){return[...e].map(t=>({char:t,digit:t>="0"&&t<="9"}))}var Ha=16,Oh=1,Nh={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...M,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"},decimals:{type:"number",default:"0",cssProperty:"--kui-decimals",integer:!0,minimum:0,maximum:6},format:{type:"keyword",default:"number",cssProperty:"--kui-format",keywords:["number","currency","percent","compact"]},currency:{type:"text",default:"USD",cssProperty:"--kui-currency"}},_h={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...M,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"}};function Ga(e,t,r){return{id:e,renderer:"javascript",channels:["content"],parameters:t,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"shorten",prepare:r}}function $h(e,t){return t.reducedMotion?Oh:Math.max(0,te(e,1600))}function Va(e,t){return{durationMs:$h(e,t),delayMs:Math.max(0,e.timing.delayMs??e.ms("delay",0)),easing:Qt(e.timing.easing,t.warn)}}function Fa(e,t){let{from:r,to:n,durationMs:i,delayMs:o,easing:s,onTick:a}=t,c=0,u,l,p=new Promise(y=>{l=y}),m=()=>{e.win.clearTimeout(d),u!==void 0&&e.win.clearInterval(u)},f=()=>{c+=Ha;let y=i<=0?1:Math.min(c/i,1),v=y>=1;a(ja(s(y),r,n),v),v&&(m(),l())},d=e.win.setTimeout(()=>{u=e.win.setInterval(f,Ha)},o);return{cleanup:m,finished:p,finish:()=>{m(),a(n,!0),l()}}}function Ba(e,t,r){let n=Da(e,t);try{let i=r(n);return{...i,cleanup:()=>{i.cleanup(),n.restore()}}}catch(i){throw n.restore(),i}}function Wa(e,t,r,n){let i=e.textContent,o=i.replace(/\D/g,""),s=r.replace(/\D/g,"");o!==s&&n.warn(`${t}: authored text "${i}" doesn't match the value it will count to (${r}) \u2014 author the final value as the element's text so crawlers and no-JS readers see it`)}function Dh(e,t,r){if(se(e))return r.warn("count would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,i=t.num("from",0),o=t.num("to",100),s=Math.max(0,Math.round(t.num("decimals",0))),a=t.text("format","number"),c=t.text("currency","USD"),u={format:a,decimals:s,currency:c},l=er(i,u),p=er(o,u);return Wa(e,"count",p,r),Ba(e,n,m=>{m.decorative.textContent=l,m.srOnly.textContent=p;let f=Fa(r,{from:i,to:o,...Va(t,r),onTick:d=>{m.decorative.textContent=er(d,u)}});return{cleanup:f.cleanup,finished:f.finished,finish:f.finish}})}function jh(e,t,r){let n=[];for(let i of bn(r)){if(!i.digit){e.append(t.createTextNode(i.char));continue}let o=t.createElement("span");o.className="kui-odometer-col";let s=t.createElement("span");s.className="kui-odometer-strip";for(let a=0;a<=9;a++){let c=t.createElement("span");c.textContent=String(a),s.append(c)}s.style.setProperty("--kui-o",i.char),o.append(s),e.append(o),n.push(s)}return n}function Hh(e,t){let r=0;for(let n of bn(t))n.digit&&(e[r]?.style.setProperty("--kui-o",n.char),r++)}function Gh(e,t,r){if(se(e))return r.warn("count-odometer would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,i=Math.max(0,t.num("from",0)),o=Math.max(0,t.num("to",100)),s=Math.max(String(Math.round(i)).length,String(Math.round(o)).length),a=tr(vn(i,s)),c=tr(String(Math.round(o)));return Wa(e,"count-odometer",c,r),Ba(e,n,u=>{u.srOnly.textContent=c;let l=jh(u.decorative,n,a),p=Fa(r,{from:i,to:o,...Va(t,r),onTick:m=>{Hh(l,tr(vn(m,s)))}});return{cleanup:p.cleanup,finished:p.finished,finish:p.finish}})}var Vh=[Ga("count",Nh,b(Dh)),Ga("count-odometer",_h,b(Gh))],Fh=[{name:"count-up",primitive:"count",params:{from:"0",to:"100"}},{name:"count-down",primitive:"count",params:{from:"100",to:"0"}},{name:"count-currency",primitive:"count",params:{from:"0",to:"4820",format:"currency",currency:"USD",decimals:"0"}},{name:"count-percent",primitive:"count",params:{from:"0",to:"0.82",format:"percent",decimals:"0"}},{name:"count-compact",primitive:"count",params:{from:"0",to:"128400",format:"compact"}},{name:"odometer-roll",primitive:"count-odometer",params:{from:"0",to:"4820"}}],Bh=[h("stroke-sweep",[g.stroke]),h("meter-bar",[g.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),h("meter-segments",[g.opacity]),h("meter-stars",[g.clip])],Wh=[{name:"progress-ring",primitive:"stroke-sweep",keyframes:"kui-progress-ring"},{name:"gauge-sweep",primitive:"stroke-sweep",keyframes:"kui-gauge-sweep"},{name:"donut-sweep",primitive:"stroke-sweep",keyframes:"kui-donut-sweep"},{name:"sparkline-draw",primitive:"stroke-sweep",keyframes:"kui-sparkline-draw"},{name:"progress-bar",primitive:"meter-bar",keyframes:"kui-progress-bar",cloak:!0},{name:"progress-segments",primitive:"meter-segments",keyframes:"kui-progress-segments"},{name:"star-rating-fill",primitive:"meter-stars",keyframes:"kui-star-rating-fill"}],qh=[...Vh,...Bh],Uh=[...Fh,...Wh];function qa(e){return e.registerPrimitives(qh).registerPresets(Uh)}var Kh={from:{type:"number",default:"100",cssProperty:"--kui-from-weight",minimum:1,maximum:1e3},to:{type:"number",default:"800",cssProperty:"--kui-to-weight",minimum:1,maximum:1e3}},zh={from:{type:"percentage",default:"75%",cssProperty:"--kui-from-width"},to:{type:"percentage",default:"125%",cssProperty:"--kui-to-width"}},Yh={from:{type:"angle",default:"0deg",cssProperty:"--kui-from-slant"},to:{type:"angle",default:"10deg",cssProperty:"--kui-to-slant"}},Ua={color:{type:"color",default:"currentColor",cssProperty:"--kui-sweep-color"}},Xh={angle:{type:"angle",default:"-20deg",cssProperty:"--kui-from-angle"},distance:{type:"length",default:"32px",cssProperty:"--kui-distance"}},Jh=[h("text-shimmer",[g.background,g.color],{reducedMotion:"disable"}),h("text-gradient-sweep",[g.background,g.color],{parameters:Ua}),h("text-sweep",[g.background],{parameters:Ua}),h("text-outline-fill",[g.stroke,g.color]),h("var-weight",["font"],{parameters:Kh}),h("var-width",["font"],{parameters:zh}),h("var-slant",["font"],{parameters:Yh}),{...h("var-axis",["font"],{parameters:Oa}),variantFor:Na},h("text-marquee",[g.translate,"discrete"],{timelines:["time","scroll"],defaultActivation:"load",reducedMotion:"disable"}),h("redaction-reveal",[g.clip,"discrete"]),h("text-3d-extrude",[g.rotate,g.translate,"text-shadow","discrete"],{parameters:Xh})],Zh=[{name:"gradient-shimmer",phase:"idle",primitive:"text-shimmer",keyframes:"kui-gradient-shimmer"},{name:"gradient-sweep",primitive:"text-gradient-sweep",keyframes:"kui-gradient-sweep"},{name:"highlight-sweep",primitive:"text-sweep",keyframes:"kui-highlight-sweep",params:{color:"gold"}},{name:"underline-draw",primitive:"text-sweep",keyframes:"kui-underline-draw"},{name:"text-outline-fill",primitive:"text-outline-fill",keyframes:"kui-text-outline-fill"},{name:"var-weight",primitive:"var-weight",keyframes:"kui-var-weight"},{name:"var-width",primitive:"var-width",keyframes:"kui-var-width"},{name:"var-slant",primitive:"var-slant",keyframes:"kui-var-slant"},{name:"var-axis",primitive:"var-axis",keyframes:"kui-var-axis"},{name:"marquee",phase:"idle",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"marquee-scroll-linked",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"redaction-reveal",primitive:"redaction-reveal",keyframes:"kui-redaction-reveal"},{name:"text-3d-extrude",primitive:"text-3d-extrude",keyframes:"kui-text-3d-extrude"}];function nt(e,t,r){return{id:e,renderer:"javascript",channels:t,parameters:r.parameters,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:r.perfClass??"dom-transform",reducedMotion:"disable",prepare:r.prepare}}var Qh={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"30ms",cssProperty:"--kui-stagger"},unit:{type:"keyword",default:"chars",cssProperty:"--kui-unit",keywords:["chars","words","lines"]},direction:{type:"keyword",default:"fade",cssProperty:"--kui-direction",keywords:["fade","up","down","mask"]}},ev={stagger:{type:"time",default:"40ms",cssProperty:"--kui-stagger"},...M,motion:{type:"keyword",default:"wave",cssProperty:"--kui-motion",keywords:["wave","jitter"]}},tv={step:{type:"time",default:"55ms",cssProperty:"--kui-step"},loop:{type:"keyword",default:"false",cssProperty:"--kui-loop",keywords:["true","false"]},...M},rv={step:{type:"time",default:"40ms",cssProperty:"--kui-step"},...M,revealEvery:{type:"number",default:"2",cssProperty:"--kui-reveal-every",minimum:1,integer:!0},charset:{type:"keyword",default:"upper",cssProperty:"--kui-charset",keywords:["upper","binary","symbols"]}},nv={words:{type:"text",default:"",cssProperty:"--kui-words"},interval:{type:"time",default:"2200ms",cssProperty:"--kui-interval"},...M};function iv(e,t,r){if(se(e))return r.warn("split-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,i=t.text("unit","chars");if(i==="lines")return av(e,t,r);let o=t.text("direction","fade"),s=we(e,n);s.decorative.setAttribute("data-kui-split-fx",o),Xt(s.decorative,t);let a=hn(i,s.decorative,n,s.originalText),c,u=new Promise(p=>{c=p}),l=r.win.setTimeout(()=>{s.restore(),c()},Jt(t,a.length));return{cleanup:()=>{r.win.clearTimeout(l),s.restore()},finished:u,finish:()=>{r.win.clearTimeout(l),s.restore(),c()}}}function Ka(e,t){let r=t.getComputedStyle(e),n=/^(vertical|sideways)/.test(r.writingMode),i=e.getBoundingClientRect(),o=n?e.clientHeight:e.clientWidth,s=n?i.height:i.width,a=n?parseFloat(r.paddingBlockStart)+parseFloat(r.paddingBlockEnd):parseFloat(r.paddingInlineStart)+parseFloat(r.paddingInlineEnd);return(o||s)-(Number.isNaN(a)?0:a)}function ov(e,t,r,n){let i,o=new Promise(c=>{i=c}),s=()=>{e.win.clearTimeout(a),a=void 0,r.decorative.removeAttribute("aria-hidden"),r.srOnly.remove(),i()},a=e.win.setTimeout(s,Jt(t,n));return{finished:o,land:s,rearm(c){a!==void 0&&(e.win.clearTimeout(a),a=e.win.setTimeout(s,Jt(t,c)))},cancel(){a!==void 0&&e.win.clearTimeout(a)}}}function sv(e,t,r,n){let i=!0,o=Ut(t.win,r),s=je(t.win,o.request);s.observe(e);let a=e.ownerDocument.fonts;return a&&a.status!=="loaded"&&a.ready.then(()=>{i&&(n(),o.request())}),()=>{i=!1,s.disconnect(),o.cancel()}}function av(e,t,r){let n=e.ownerDocument,i=we(e,n);i.decorative.setAttribute("data-kui-split-fx",t.text("direction","fade")),Xt(i.decorative,t);let o=hn("lines",i.decorative,n,i.originalText),s=Ka(e,r.win),a=!1,c=ov(r,t,i,o.length),l=sv(e,r,()=>{let p=Ka(e,r.win);if(!a&&p===s)return;a=!1,s=p;let m=Ca(i.decorative,n);c.rearm(m.length)},()=>{a=!0});return{cleanup:()=>{l(),c.cancel(),i.restore()},finished:c.finished,finish:c.land}}function cv(e,t,r){if(se(e))return r.warn("split-text-motion would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,i=t.text("motion","wave"),o=we(e,n);return o.decorative.setAttribute("data-kui-split-fx",i),Xt(o.decorative,t),yn(o.decorative,n,o.originalText),o.restore}function lv(e,t,r){if(se(e))return r.warn("typewriter would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.is("loop"),i=we(e,e.ownerDocument);i.decorative.classList.add("kui-typewriter");let o=zt(i.originalText),s={index:0,deleting:!1},a=u=>{i.decorative.textContent=o.slice(0,u).join("")},c=Zt(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:gn(t,o.length,55),tick:()=>{let u=Ra(s,o.length,n);return s=u,a(u.index),u.done}});return{cleanup:()=>{c.stop(),i.restore()},finished:c.finished,finish:()=>{c.stop(),a(o.length)}}}function uv(e,t,r){if(se(e))return r.warn("scramble-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=Ma[t.text("charset","upper")],i=Math.max(1,Math.round(t.num("revealEvery",2))),o=e,s=o.style.getPropertyValue("min-width"),a=o.style.getPropertyValue("min-height"),c=e.getBoundingClientRect();r.style.set("min-width",`${c.width}px`),r.style.set("min-height",`${c.height}px`);let u=()=>{r.style.set("min-width",s),r.style.set("min-height",a)},l=we(e,e.ownerDocument);l.decorative.classList.add("kui-scramble");let p=zt(l.originalText),m=0,f=0,d=()=>{l.decorative.textContent=Ia(p,m,n,Math.random)};d();let y=Math.max(1,p.length*i),v=Zt(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:gn(t,y,Math.max(1,700/y)),tick:()=>{f++,f%i===0&&m++,d();let E=m>=p.length;return E&&(u(),l.restore()),E}});return{cleanup:()=>{v.stop(),l.restore(),u()},finished:v.finished,finish:()=>{v.stop(),m=p.length,d(),u(),l.restore()}}}function pv(e,t,r){if(se(e))return r.warn("word-cycler would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.text("words","").split("|").map(l=>l.trim()).filter(Boolean);if(n.length===0)return()=>{};let i=we(e,e.ownerDocument),o=150,s=0;i.decorative.textContent=n[0];let a=new Set;function c(){for(let l of a)r.win.clearTimeout(l);a.clear()}let u=Zt(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:t.ms("interval",2200),tick:()=>{e.classList.add("kui-word-cycler-swap");let l=r.win.setTimeout(()=>{a.delete(l),s=(s+1)%n.length,i.decorative.textContent=n[s],e.classList.remove("kui-word-cycler-swap")},o);return a.add(l),!1}});return{cleanup:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap"),i.restore()},finished:u.finished,finish:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap")}}}var mv=[nt("split-text",[g.opacity,g.translate,g.clip,"content"],{parameters:Qh,prepare:b(iv)}),nt("split-text-motion",[g.translate,g.rotate,"content"],{parameters:ev,prepare:b(cv),perfClass:"continuous"}),nt("typewriter",[g.clip,"content"],{parameters:tv,prepare:b(lv),perfClass:"continuous"}),nt("scramble-text",["content"],{parameters:rv,prepare:b(uv),perfClass:"continuous"}),nt("word-cycler",["content",g.opacity,"discrete"],{parameters:nv,prepare:b(pv),perfClass:"continuous"})],dv="30ms",En="90ms",za="160ms",fv=[{name:"split-chars",primitive:"split-text",params:{unit:"chars",direction:"fade",stagger:dv}},{name:"split-words",primitive:"split-text",params:{unit:"words",direction:"fade",stagger:En}},{name:"split-lines",primitive:"split-text",params:{unit:"lines",direction:"fade",stagger:za}},{name:"text-reveal-up",primitive:"split-text",params:{unit:"words",direction:"up",stagger:En},cloak:!0},{name:"text-reveal-down",primitive:"split-text",params:{unit:"words",direction:"down",stagger:En},cloak:!0},{name:"text-reveal-mask",primitive:"split-text",params:{unit:"lines",direction:"mask",stagger:za},cloak:!0},{name:"text-wave",primitive:"split-text-motion",params:{motion:"wave"}},{name:"text-jitter",primitive:"split-text-motion",params:{motion:"jitter"}},{name:"typewriter",primitive:"typewriter",params:{loop:"false"}},{name:"typewriter-loop",primitive:"typewriter",params:{loop:"true"}},{name:"scramble",primitive:"scramble-text",params:{charset:"upper"}},{name:"decode",primitive:"scramble-text",params:{charset:"binary"}},{name:"glitch",primitive:"scramble-text",params:{charset:"symbols"}},{name:"word-cycler",primitive:"word-cycler",transitions:[{property:"opacity",duration:"150ms",easing:"ease-out"}]}],gv=[...Jh,...mv],yv=[...Zh,...fv];function Ya(e){return e.registerPrimitives(gv).registerPresets(yv)}var Sn="",hv={angle:{type:"angle",default:Sn,cssProperty:"--kui-static-angle"}};function vv(e,t,r){let n=t.text("angle",Sn);return n!==Sn&&r.style.set("rotate",n),C(()=>{})}var bv=[{id:"rotate-static",renderer:"javascript",channels:[g.rotate],parameters:hv,supportedTimelines:ie,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:A("rotate-static",{because:"it sets a fixed rotation once rather than animating, so there is no motion to time"},b(vv))}],Ev=[{name:"rotate-static",primitive:"rotate-static"}];function Xa(e){return e.registerPrimitives(bv).registerPresets(Ev)}function Ja(e){return wa(e),Ya(e),Fs(e),qs(e),qa(e),la(e),ua(e),Ws(e),Xa(e),pa(e),e}var it={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},ye=["time","view","scroll","pin"],rr=[h("reveal",[g.opacity,g.translate],{timelines:ye,parameters:it}),h("scale",[g.scale],{timelines:ye,parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),h("scale-move",[g.scale,g.translate],{timelines:ye,parameters:{distance:it.distance,scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),h("rotate",[g.rotate],{timelines:ye,parameters:{angle:{type:"angle",default:"-8deg",cssProperty:"--kui-from-angle"}}}),h("roll",[g.rotate,g.translate],{timelines:ye,parameters:{distance:it.distance,angle:{type:"angle",default:"-120deg",cssProperty:"--kui-from-angle"}}}),h("flip-3d",[g.skew],{timelines:ye,parameters:{angle:{type:"angle",default:"90deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),h("blur",[g.filter],{timelines:ye,parameters:{blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),h("reveal-blur",[g.opacity,g.translate,g.filter],{timelines:ye,parameters:{...it,blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),h("parallax",[g.translate],{parameters:{distance:it.distance},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"compositor"}),h("parallax-scale",[g.scale],{parameters:{scale:{type:"number",default:"1.2",cssProperty:"--kui-to-scale"},from:{type:"number",default:"1",cssProperty:"--kui-from-scale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),h("parallax-rotate",[g.rotate],{parameters:{angle:{type:"angle",default:"12deg",cssProperty:"--kui-to-angle"},from:{type:"angle",default:"0deg",cssProperty:"--kui-from-angle"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),h("scroll-fade",[g.opacity],{parameters:{opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),h("desaturate",[g.filter],{parameters:{from:{type:"percentage",default:"100%",cssProperty:"--kui-from-grayscale"},to:{type:"percentage",default:"0%",cssProperty:"--kui-to-grayscale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"}),h("skew",[g.skew],{parameters:{from:{type:"angle",default:"8deg",cssProperty:"--kui-from-skew"},to:{type:"angle",default:"0deg",cssProperty:"--kui-to-skew"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),h("progress",[g.scale,"transform-origin"],{timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable"}),h("progress-stroke",[g.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length"}},timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"})],z=(e,t,r,n)=>({name:e,primitive:t,keyframes:r,...n?{params:n}:{}}),R=(e,t,r,n)=>({...z(e,t,r,n),cloak:!0,phase:"entrance"}),H=(e,t,r,n)=>({...z(e,t,r,n),phase:"exit"}),Sv=[R("fade-in","reveal","kui-in"),H("fade-out","reveal","kui-out"),R("fade-up","reveal","kui-in-up"),R("fade-down","reveal","kui-in-down"),R("fade-left","reveal","kui-in-right"),R("fade-right","reveal","kui-in-left"),H("fade-out-up","reveal","kui-out-up"),H("fade-out-down","reveal","kui-out-down"),H("fade-out-left","reveal","kui-out-left"),H("fade-out-right","reveal","kui-out-right")],X={distance:"100px",opacity:"1"},Pv=[R("slide-up","reveal","kui-in-up",X),R("slide-down","reveal","kui-in-down",X),R("slide-left","reveal","kui-in-right",X),R("slide-right","reveal","kui-in-left",X),H("slide-out-up","reveal","kui-out-up",X),H("slide-out-down","reveal","kui-out-down",X),H("slide-out-left","reveal","kui-out-left",X),H("slide-out-right","reveal","kui-out-right",X)],kv=[R("slide-inline-start","reveal","kui-in-inline-end",X),R("slide-inline-end","reveal","kui-in-inline-start",X),R("slide-block-start","reveal","kui-in-up",X),R("slide-block-end","reveal","kui-in-down",X)],xv=[R("zoom-in","scale","kui-zoom-in"),H("zoom-out","scale","kui-zoom-out"),R("pop-in","scale","kui-zoom-in",{scale:"0.6",ease:"back-out"}),H("pop-out","scale","kui-zoom-out",{scale:"0.6",ease:"back-in"}),R("zoom-in-up","scale-move","kui-zoom-in-up"),R("zoom-in-down","scale-move","kui-zoom-in-down")],wv=[R("flip-in-x","flip-3d","kui-flip-in-x"),R("flip-in-y","flip-3d","kui-flip-in-y"),H("flip-out-x","flip-3d","kui-flip-out-x"),H("flip-out-y","flip-3d","kui-flip-out-y")],Tv=[R("rotate-in","rotate","kui-rotate-in"),H("rotate-out","rotate","kui-rotate-out"),R("rotate-in-left","rotate","kui-rotate-in",{angle:"-45deg"}),R("rotate-in-right","rotate","kui-rotate-in",{angle:"45deg"}),R("roll-in","roll","kui-roll-in"),H("roll-out","roll","kui-roll-out"),R("swing-in","rotate","kui-swing-in",{angle:"-15deg",ease:"back-out"})],Av=[R("blur-in","blur","kui-blur-in"),H("blur-out","blur","kui-blur-out"),R("fade-blur-up","reveal-blur","kui-fade-blur-up"),R("fade-blur-in","reveal-blur","kui-fade-blur-in")],Cv=[R("bounce-in","scale","kui-zoom-in",{scale:"0.3",ease:"bounce"}),R("bounce-in-up","reveal","kui-in-up",{distance:"60px",ease:"back-out"}),R("bounce-in-down","reveal","kui-in-down",{distance:"60px",ease:"back-out"}),R("back-in-up","reveal","kui-in-up",{distance:"120px",ease:"expo-out"}),R("back-in-down","reveal","kui-in-down",{distance:"120px",ease:"expo-out"})],Rv=[z("parallax-y","parallax","kui-parallax-y"),z("parallax-x","parallax","kui-parallax-x"),z("parallax-scale","parallax-scale","kui-parallax-scale"),z("parallax-rotate","parallax-rotate","kui-parallax-rotate"),z("depth-layer","parallax","kui-parallax-y",{distance:"200px"}),z("scroll-fade","scroll-fade","kui-scroll-fade"),z("scroll-desaturate","desaturate","kui-desaturate"),z("scroll-skew","skew","kui-scroll-skew"),z("scroll-progress-bar","progress","kui-progress-x"),z("scroll-progress-bar-y","progress","kui-progress-y"),z("scroll-progress-ring","progress-stroke","kui-progress-ring"),R("reveal-once","reveal","kui-in-up")],nr=[...Sv,...Pv,...kv,...xv,...wv,...Tv,...Av,...Cv,...Rv],ir=[[["fade-up","blur-in"],"fade-blur-up"],[["fade-in","blur-in"],"fade-blur-in"]];function Pn(e){e.registerPrimitives(rr).registerPresets(nr);for(let[t,r]of ir)e.registerCombo(t,r);return e}var Mv="data-kui-step-state",Iv="data-kui-step-offset";function Lv(e){let t=[],r=new Map;for(let n of e){let i=n.parentElement,o=r.get(i)??0;r.set(i,o+1),t.push({node:n,parent:i,position:o})}return{order:t,sizes:r}}function Ov(e,t){return(e%t+t)%t}function ae(e,t){let r=new Map,n=new Map,i=!1;return{mark(o){let{order:s,sizes:a}=Lv(e());!i&&t&&new Set(a.values()).size>1&&(i=!0,t(`target matched groups of different sizes (${[...a.values()].join(", ")}) \u2014 the shorter group wraps onto its own ring, so its active element will not line up with the longer one`));for(let{node:c,parent:u,position:l}of s){let p=a.get(u),m=Ov(o,p),f=r.get(c);f||(f=T(c),r.set(c,f)),f.set(Mv,_v(l,m));let d=n.get(c);d||(d=O(c),n.set(c,d));let y=Nv(l,m,p);d.set("--kui-offset",String(y)),f.set(Iv,String(y)),d.set("--kui-item-count",String(p))}},restore(){for(let o of r.values())o.restore();for(let o of n.values())o.restore();r.clear(),n.clear()}}}function Nv(e,t,r){if(r<=0)return 0;let n=((e-t)%r+r)%r;return n>Math.floor(r/2)?n-r:n}function _v(e,t){return e<t?"before":e===t?"active":"after"}function or(e,t){return t>0?(e+1)%t:0}function sr(e,t){return t>0?(e-1+t)%t:0}function Za(e,t){return t>0?(e%t+t)%t:0}function ar(e,t){let r=Math.round(e.num("steps",0));if(r>=1)return r;let n=new Map;for(let i of t())n.set(i.parentElement,(n.get(i.parentElement)??0)+1);return Math.max(1,...n.values())}function cr(e){let{el:t,ctx:r,scope:n,groups:i}=e;if(i.length===0)return()=>{};let o=n==="page"?r.doc:t,s=a=>{let c=a.target;if(typeof c?.closest=="function")for(let{selector:u,run:l}of i){let p=I(t,r,u,n),m=new Set(p),f=c;for(;f&&!m.has(f);)f=f.parentElement;f&&l(f,p.indexOf(f))}};return o.addEventListener("click",s),()=>o.removeEventListener("click",s)}function lr(e){let{el:t,params:r,ctx:n,scope:i,resolveSteps:o,onRender:s}=e,a=e.name??"step-progress",c=ae(o,N=>n.warn(`${a} ${N}`)),u=T(t),l=O(t),p=()=>ar(r,o),m=0,f=()=>{u.set("data-kui-step",String(m)),l.set("--kui-step",String(m)),c.mark(m),s?.(m,p())},d=N=>{m=Za(N,p()),f()},y=()=>d(or(m,p())),v=()=>d(sr(m,p())),E=[],P=(N,Y)=>{let le=L(r.text(N),n,`${a} ${N}`);return le?(I(t,n,le,i).length===0&&n.warn(`${a} ${N} "${le}" matched nothing`),E.push({selector:le,run:Y}),!0):!1},k=[P("next",y),P("prev",v),P("jump",(N,Y)=>{Y>=0&&d(Y)})].some(Boolean),w=e.clickFallback!==!1&&!k;w&&t.addEventListener("click",y);let _=cr({el:t,ctx:n,scope:i,groups:E});return f(),{goTo:d,next:y,prev:v,current:()=>m,total:p,release:()=>{w&&t.removeEventListener("click",y),_(),u.restore(),l.restore(),c.restore()}}}var $v={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},Qa={because:"forms.css pins its timing literally \u2014 the motion lands on a sibling that inline custom properties cannot reach"},ec={id:"native-state",renderer:"javascript",channels:[g.translate,g.scale,g.opacity,g.stroke,g.color],parameters:{},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:A("native-state",Qa,()=>Et())};function Dv(e){return(t,r)=>{let n=t.nextElementSibling;return n?.style.setProperty(e,String(r.num("scale",1))),()=>n?.style.removeProperty(e)}}function tc(e,t){return{id:e,renderer:"javascript",channels:[g.translate,g.scale,g.opacity,g.stroke,g.color],parameters:{scale:{type:"number",default:"1",cssProperty:t}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:A(e,Qa,b(Dv(t)))}}var rc=tc("toggle-morph","--kui-toggle-scale"),nc=tc("radio-fill","--kui-radio-scale"),ic=h("focus-ring",["shadow"],{activations:["focus","manual"],defaultActivation:"focus"}),oc=h("validate-shake",[g.translate],{activations:["click","manual"],defaultActivation:"click"}),sc=h("validate-check",[g.stroke],{activations:["click","manual"],defaultActivation:"click"});function ur(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...$v,...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:n}}function jv(e){let t=0;return e.length>=6&&t++,e.length>=10&&t++,/[a-z]/.test(e)&&/[A-Z]/.test(e)&&t++,/\d/.test(e)&&t++,/[^A-Za-z0-9]/.test(e)&&t++,Math.min(4,t)}function Hv(e){let t=e,r=()=>{e.setAttribute("data-kui-strength-level",String(jv(t.value)))};return t.addEventListener("input",r),r(),()=>{t.removeEventListener("input",r),e.removeAttribute("data-kui-strength-level")}}function Gv(e,t,r){let n=e,i=()=>{let o=Number(n.min||"0"),s=Number(n.max||"100"),a=s>o?(Number(n.value)-o)/(s-o)*100:0;r.style.set("--kui-fill",`${a.toFixed(2)}%`)};return n.addEventListener("input",i),i(),()=>n.removeEventListener("input",i)}var ac=ur("strength-meter",["meter"],{},b(Hv)),cc=ur("range-fill",[g.background],{},b(Gv));function Vv(e,t,r){let n=L(t.text("target"),r,"step-progress"),i=$(t,"page");return lr({el:e,params:t,ctx:r,scope:i,resolveSteps:()=>n?I(e,r,n,i):e.children}).release}var Fv=ur("step-progress",["state"],{steps:{type:"number",default:"",cssProperty:"--kui-steps",minimum:1,maximum:20,integer:!0},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},peek:{type:"percentage",default:"56%",cssProperty:"--kui-peek"},rest:{type:"number",default:"0.78",cssProperty:"--kui-rest"},main:{type:"number",default:"1",cssProperty:"--kui-main",finite:!0,minimum:0},scope:j},b(Vv)),lc={...Fv,reducedMotion:"shorten"};function kn(e){return e==="idle"?"loading":e==="loading"?"done":"idle"}function Bv(e,t,r){let n=t.ms("load",1200),i=t.ms("hold",1500),o="idle",s,a=()=>e.setAttribute("data-kui-stage",o),c=()=>{o=kn(o),a()},u=()=>{o=kn(o),a(),s=r.win.setTimeout(c,i)},l=()=>{o==="idle"&&(o=kn(o),a(),s=r.win.setTimeout(u,n))};return e.addEventListener("click",l),a(),()=>{e.removeEventListener("click",l),s!==void 0&&r.win.clearTimeout(s),e.removeAttribute("data-kui-stage")}}var uc=ur("submit-flow",["state"],{load:{type:"time",default:"1200ms",cssProperty:"--kui-load"},hold:{type:"time",default:"1500ms",cssProperty:"--kui-hold"}},b(Bv));var Wv=[ec,ic,oc,sc,ac,rc,nc,cc,lc,uc],qv=[{name:"label-float",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"input-underline-grow",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"focus-ring-grow",primitive:"focus-ring",keyframes:"kui-focus-ring-grow"},{name:"validate-shake",primitive:"validate-shake",keyframes:"kui-validate-shake"},{name:"validate-check",primitive:"validate-check",keyframes:"kui-validate-check"},{name:"strength-meter",primitive:"strength-meter",requiresOwnSubtree:!0,phase:"state"},{name:"toggle-morph",primitive:"toggle-morph",requiresOwnSubtree:!0,phase:"state"},{name:"checkbox-draw",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"radio-fill",primitive:"radio-fill",requiresOwnSubtree:!0,phase:"state"},{name:"range-fill",primitive:"range-fill",phase:"state"},{name:"submit-to-spinner-to-check",primitive:"submit-flow",requiresOwnSubtree:!0,phase:"state"},{name:"step-progress",primitive:"step-progress",requiresOwnSubtree:!0,phase:"state"},{name:"carousel",primitive:"step-progress",params:{scope:"self"},phase:"state"}];function pc(e){return e.registerPrimitives(Wv).registerPresets(qv)}function Uv(e){let t=e[e.length-1];if(!t||e.length<2)return{vx:0,vy:0};let r=t.time-100,n=e.find(o=>o.time>=r)??e[0],i=(t.time-n.time)/1e3;return i<=0?{vx:0,vy:0}:{vx:(t.x-n.x)/i,vy:(t.y-n.y)/i}}function Kv(e,t){let{vx:r,vy:n}=e;return Math.abs(r)<t&&Math.abs(n)<t?null:Math.abs(r)>=Math.abs(n)?r>0?"right":"left":n>0?"down":"up"}function zv(e,t){return t==="x"?{...e,dy:0,vy:0}:t==="y"?{...e,dx:0,vx:0}:e}function he(e,t,r={},n=Yv()){let i=r.threshold??4,o=r.axis??"both",s=r.swipeVelocity??300,a=r.capturePointer??!0,c=r.longPressMs??0,u=[],l=null,p=!1,m=null,f=!1,d=!1,y=null,v=null,E=null;function P(x){return{x:x.clientX,y:x.clientY,time:n.now()}}function k(x){let W=l,{vx:ue,vy:ql}=Uv(u);return zv({dx:x.x-W.x,dy:x.y-W.y,vx:ue,vy:ql},o)}function w(){m!==null&&n.clearTimer(m),m=null}function _(x){l=P(x),u=[l],p=!1,f=!1,y=x.pointerId,d=a===!0&&N(x.pointerId),d||le(),c>0&&(m=n.setTimer(()=>{f=!0,t.onLongPress?.(l)},c))}function N(x){if(typeof e.setPointerCapture!="function")return!1;try{return e.setPointerCapture(x),!0}catch{return!1}}function Y(x){a==="drag"&&(d=N(x.pointerId),d&&Ae())}function le(){let x=e.ownerDocument;!x||E||(E=x,x.addEventListener("pointermove",Ce,{passive:!0}),x.addEventListener("pointerup",re,{passive:!0}),x.addEventListener("pointercancel",re,{passive:!0}))}function Ae(){let x=E;x&&(E=null,x.removeEventListener("pointermove",Ce),x.removeEventListener("pointerup",re),x.removeEventListener("pointercancel",re))}function Vn(x){return x===v?!1:(v=x,!0)}function Ce(x){if(!l||!Vn(x))return;let W=P(x);u.push(W),u.length>12&&u.shift();let ue=k(W);!p&&Math.hypot(ue.dx,ue.dy)<i||(p||(p=!0,w(),Y(x),t.onStart?.(l)),t.onMove?.(ue,W))}function Bl(x){d&&e.releasePointerCapture?.(x),d=!1,y=null}function Wl(x,W){if(p){t.onEnd?.(x,W);let ue=Kv(x,s);ue&&t.onSwipe?.(ue,x)}else f&&t.onEnd?.(x,W)}function re(x){if(w(),Ae(),Bl(x.pointerId),!l)return;let W=P(x);u.push(W),Wl(k(W),W),l=null,p=!1,f=!1,u=[]}function Fn(x){!d||x.pointerId!==y||(d=!1,re(x))}return e.addEventListener("pointerdown",_),e.addEventListener("pointermove",Ce,{passive:!0}),e.addEventListener("pointerup",re,{passive:!0}),e.addEventListener("pointercancel",re,{passive:!0}),e.addEventListener("lostpointercapture",Fn,{passive:!0}),()=>{w(),Ae(),e.removeEventListener("pointerdown",_),e.removeEventListener("pointermove",Ce),e.removeEventListener("pointerup",re),e.removeEventListener("pointercancel",re),e.removeEventListener("lostpointercapture",Fn)}}function Yv(){return{now:()=>typeof performance>"u"?Date.now():performance.now(),setTimer:(e,t)=>globalThis.setTimeout(e,t),clearTimer:e=>globalThis.clearTimeout(e)}}function mc(e,t,r=.55){if(t<=0)return 0;let n=Math.sign(e),i=Math.abs(e);return n*(1-1/(i/t/r+1))*t}var dc={stiffness:{type:"number",default:"180",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"24",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}},Xv="it is driven by pointer position and velocity, so it has no start moment and no authored curve";function pr(e,t,r,n){let i=Object.hasOwn(r,"duration")?["duration"]:[];return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:A(e,{honours:i,because:Xv},n)}}function gc(e){return{...Z,stiffness:e.num("stiffness",Z.stiffness),damping:e.num("damping",Z.damping),mass:e.num("mass",Z.mass)}}function yc(e){return{...ut(),warn:e.warn}}function xn(e,t,r){e.style.set("translate",`${t.toFixed(2)}px ${r.toFixed(2)}px`)}function Jv(e,t,r){let n=gc(t),i=t.num("bounds",0),o=t.is("return"),s=t.is("inertia"),a=t.num("resistance",.55),c=t.num("momentum",.2),u={x:0,y:0},l={x:0,y:0},p=yc(r),m={x:pe(n,y=>f({...u,x:y}),p),y:pe(n,y=>f({...u,y}),p)};function f(y){u.x=y.x,u.y=y.y,xn(r,u.x,u.y)}let d=he(e,{onStart(){m.x.stop(),m.y.stop(),l.x=u.x,l.y=u.y,e.setAttribute("data-kui-dragging","true")},onMove(y){f({x:fc(l.x+y.dx,i,a),y:fc(l.y+y.dy,i,a)})},onEnd(y){e.setAttribute("data-kui-dragging","false"),Zv(m,u,y,{returns:o,inertia:s,momentum:c})}},{axis:t.text("axis","both")});return r.invalidate(),()=>{d(),m.x.stop(),m.y.stop(),e.removeAttribute("data-kui-dragging")}}function fc(e,t,r){return t>0?mc(e,t,r):e}function Zv(e,t,r,n){if(e.x.set(t.x,n.inertia?r.vx:0),e.y.set(t.y,n.inertia?r.vy:0),n.returns){e.x.to(0),e.y.to(0);return}let i=n.inertia?n.momentum:0;e.x.to(t.x+r.vx*i),e.y.to(t.y+r.vy*i)}function Qv(e,t){let r=he(e,{onSwipe(n){e.setAttribute("data-kui-swipe",n)}},{axis:t.text("axis","both"),swipeVelocity:t.num("velocity",300),capturePointer:"drag"});return()=>{r(),e.removeAttribute("data-kui-swipe")}}function eb(e,t){let r=he(e,{onLongPress(){e.setAttribute("data-kui-pressed","true")},onEnd(){e.setAttribute("data-kui-pressed","false")}},{longPressMs:te(t,500)});return()=>{r(),e.removeAttribute("data-kui-pressed")}}function tb(e,t,r){let n=e,i=t.num("radius",120),o=t.num("strength",.35),s=gc(t),a=yc(r),c={x:0,y:0},u=pe(s,m=>{c.x=m,xn(r,c.x,c.y)},a),l=pe(s,m=>{c.y=m,xn(r,c.x,c.y)},a),p=m=>{let f=n.getBoundingClientRect(),d=m.clientX-(f.left+f.width/2),y=m.clientY-(f.top+f.height/2),v=Math.hypot(d,y)<i;u.to(v?d*o:0),l.to(v?y*o:0)};return r.win.addEventListener("pointermove",p,{passive:!0}),()=>{r.win.removeEventListener("pointermove",p),u.stop(),l.stop()}}var hc=[pr("draggable",["translate"],{...dc,axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},bounds:{type:"number",default:"0",cssProperty:"--kui-bounds"},return:{type:"keyword",default:"false",cssProperty:"--kui-return",keywords:["true","false"]},inertia:{type:"keyword",default:"false",cssProperty:"--kui-inertia",keywords:["true","false"]},resistance:{type:"number",default:"0.55",cssProperty:"--kui-resistance",finite:!0,minimum:0,maximum:1},momentum:{type:"number",default:"0.2",cssProperty:"--kui-momentum",finite:!0}},b(Jv)),pr("swipeable",["state"],{axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},velocity:{type:"number",default:"300",cssProperty:"--kui-velocity"}},b(Qv)),pr("pressable",["state"],{duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"}},b(eb)),pr("magnetic",["translate"],{...dc,radius:{type:"number",default:"120",cssProperty:"--kui-radius"},strength:{type:"number",default:"0.35",cssProperty:"--kui-strength"}},b(tb))];var rb=[{name:"drag",primitive:"draggable",phase:"state"},{name:"drag-x",primitive:"draggable",params:{axis:"x"},phase:"state"},{name:"drag-y",primitive:"draggable",params:{axis:"y"},phase:"state"},{name:"drag-inertia",primitive:"draggable",params:{inertia:"true"},phase:"state"},{name:"throwable",primitive:"draggable",params:{inertia:"true",damping:"18"},phase:"state"},{name:"elastic-pull",primitive:"draggable",params:{return:"true",bounds:"80"},phase:"state"},{name:"rubber-band",primitive:"draggable",params:{return:"true",bounds:"120"},phase:"state"},{name:"snap-back",primitive:"draggable",params:{return:"true",stiffness:"260"},phase:"state"},{name:"swipe",primitive:"swipeable",phase:"state"},{name:"swipe-x",primitive:"swipeable",params:{axis:"x"},phase:"state"},{name:"long-press",primitive:"pressable",phase:"state"},{name:"magnetic",primitive:"magnetic",phase:"state"},{name:"magnetic-snap",primitive:"magnetic",params:{strength:"0.6",radius:"160"},phase:"state"}];function vc(e){return e.registerPrimitives(hc).registerPresets(rb)}var bc=.5;function nb(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}function ib(e,t,r){let n=e.animate;return typeof n=="function"?n.call(e,t,r):null}function wn(e={}){let t=e.measure??nb,r=e.animate??ib;return{snapshot(n){let i=new Map;for(let o of n)i.set(o,t(o));return{boxes:i}},play(n,i,o={}){let s=ob(n,i,t,o.scale??!1);return s.length===0?{moved:[],finished:Promise.resolve(),cancel:()=>{}}:ab(s,r,o)}}}function ob(e,t,r,n){let i=[];for(let o of t){let s=e.boxes.get(o);if(!s)continue;let a=r(o),c=sb(o,s,a,n);c&&i.push(c)}return i}function sb(e,t,r,n){let i=t.x-r.x,o=t.y-r.y,s=n&&r.width>0?t.width/r.width:1,a=n&&r.height>0?t.height/r.height:1;return Math.abs(i)<bc&&Math.abs(o)<bc&&Math.abs(s-1)<.001&&Math.abs(a-1)<.001?null:{el:e,dx:i,dy:o,sx:s,sy:a}}function ab(e,t,r){let n=r.durationMs??400,i=r.delayMs??0,o=r.easing??"cubic-bezier(0.2, 0, 0, 1)",s=[];for(let{el:c,dx:u,dy:l,sx:p,sy:m}of e){let f=t(c,[{translate:`${u}px ${l}px`,scale:`${p} ${m}`},{translate:"0px 0px",scale:"1 1"}],{duration:n,delay:i,easing:o,fill:i>0?"backwards":"none"});if(f){let d=Pe(c);d!==1&&(f.playbackRate=d),s.push(f)}}let a=Promise.all(s.map(c=>c.finished.catch(()=>{}))).then(()=>{});return{moved:e.map(c=>c.el),finished:a,cancel(){for(let c of s)c.cancel()}}}function Tn(){let e=new Set;return{track(t){e.add(t),t.finished.then(()=>e.delete(t))},cancelAll(){for(let t of e)t.cancel();e.clear()}}}function Ec(e,t,r,n){let i=t.snapshot(e.children),o=Tn(),s=n(()=>{o.track(t.play(i,e.children,r)),i=t.snapshot(e.children)});return()=>{s(),o.cancelAll()}}function Sc(e){return t=>{if(typeof MutationObserver>"u")return()=>{};let r=new MutationObserver(t);return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["hidden"]}),()=>r.disconnect()}}var cb={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}};function An(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...cb,...r},supportedTimelines:["time"],supportedActivations:["load","manual","click"],defaultActivation:"load",perfClass:"layout",reducedMotion:"disable",prepare:n}}function lb(e,t,r){let n=wn();return Ec(e,n,{durationMs:te(t,400),delayMs:_e(t),easing:ft(Ft(t),e,r.warn),scale:t.is("scale")},Sc(e))}function ub(e,t,r){let n=e;r.style.set("overflow","hidden"),r.style.claim("height");let i=te(t,400),o=_e(t),s=ft(Ft(t),e,r.warn),a=null,c=n.getBoundingClientRect().height,u=Pc(n,t.text("attribute"),()=>{a?.cancel();let l=pb(n,c);c=l.to,a=mb(n,l,{duration:i,delay:o,easing:s})});return r.invalidate(),()=>{u(),a?.cancel()}}function pb(e,t){e.style.removeProperty("height");let r=e.getBoundingClientRect().height;return{from:t,to:r}}function mb(e,t,r){let n=e.animate;if(typeof n!="function")return null;let i=n.call(e,[{height:`${t.from}px`},{height:`${t.to}px`}],{...r,fill:r.delay>0?"backwards":"none"}),o=Pe(e);return o!==1&&(i.playbackRate=o),i}function db(e,t,r){let n=e,i=wn(),o=ft(Ft(t),e,r.warn),s=t.text("follow"),a=Tn(),c=0,u=null,l=()=>{if(!s)return;let y=r.doc.querySelector(s);if(!(y instanceof Element))return;let v=i.snapshot([n]),E=y.getBoundingClientRect(),P=n.getBoundingClientRect(),k=E.left-P.left+c;c=k,r.style.set("width",`${E.width}px`),r.style.set("translate",`${k}px 0`),a.track(i.play(v,[n],{durationMs:te(t,400),delayMs:_e(t),easing:o,scale:!0})),u=y};l();let p=()=>{let y=u;l(),y!==u&&(y&&f.unobserve(y),u&&f.observe(u))},m=Ut(r.win,p),f=je(r.win,m.request);f.observe(e.parentElement??e),u&&f.observe(u);let d=Pc(r.doc.documentElement,t.text("attribute"),p);return()=>{d(),f.disconnect(),m.cancel(),a.cancelAll()}}function Pc(e,t,r){if(typeof MutationObserver>"u"||!t)return()=>{};let n=new MutationObserver(r);return n.observe(e,{subtree:!0,attributes:!0,attributeFilter:[t]}),()=>n.disconnect()}var kc=[An("flip-container",["translate","scale"],{scale:{type:"keyword",default:"false",cssProperty:"--kui-flip-scale",keywords:["true","false"]}},b(lb)),An("auto-height",["layout"],{attribute:{type:"text",default:"data-open",cssProperty:"--kui-attribute"}},b(ub)),An("flip-indicator",["translate","layout"],{follow:{type:"text",default:"",cssProperty:"--kui-follow"},attribute:{type:"text",default:"aria-selected",cssProperty:"--kui-attribute"}},b(db))];var xc=[{name:"flip-reorder",primitive:"flip-container"},{name:"flip-filter",primitive:"flip-container"},{name:"flip-sort",primitive:"flip-container"},{name:"flip-shuffle",primitive:"flip-container"},{name:"grid-to-list",primitive:"flip-container",params:{scale:"true"}},{name:"masonry-reflow",primitive:"flip-container"},{name:"expand-to-modal",primitive:"flip-container",params:{scale:"true",duration:"500ms"}},{name:"accordion-height",primitive:"auto-height"},{name:"tab-indicator-slide",primitive:"flip-indicator",params:{duration:"300ms"},phase:"state"}];function wc(e){return e.registerPrimitives(kc).registerPresets(xc)}var fb="offset",gb=["time","view","scroll","pin"],yb={path:{type:"path",default:"M 0 0 L 120 0",cssProperty:"--kui-motion-path"},rotate:{type:"angle|keyword",keywords:["auto","reverse"],default:"0deg",cssProperty:"--kui-motion-rotate"},anchor:{type:"keyword",default:"0 0",cssProperty:"--kui-motion-anchor",keywords:["auto","center","top","bottom","left","right","0 0","top left","top right","bottom left","bottom right"]},from:{type:"percentage",default:"0%",cssProperty:"--kui-motion-from"},to:{type:"percentage",default:"100%",cssProperty:"--kui-motion-to"}},hb=[h("motion-path",[fb],{timelines:gb,parameters:yb})],vb="kui-motion-travel",ot=(e,t,r)=>({name:e,primitive:"motion-path",keyframes:vb,params:{path:t,...r}}),bb=[ot("motion-path","M 0 0 L 120 0",{duration:"1200ms"}),ot("path-arc","M 0 0 C 40 -70 120 -70 160 0",{duration:"1200ms",ease:"ease-in-out"}),ot("path-wave","M 0 0 C 45 -45 105 45 150 0",{duration:"1600ms",ease:"ease-in-out"}),ot("path-loop","M 0 0 C 0 -70 110 -70 110 0 C 110 70 0 70 0 0",{duration:"2400ms",ease:"linear"}),{...ot("path-swoop","M -120 70 C -70 70 -25 25 0 0",{duration:"900ms",ease:"expo-out"}),cloak:!0}];function Tc(e){return e.registerPrimitives(hb).registerPresets(bb)}var Eb=[h("nav-reveal",[g.opacity,g.translate]),h("menu-fullscreen",[g.clip,g.opacity]),h("panel-reveal",[g.opacity,g.translate]),h("drawer-slide",[g.translate],{defaultActivation:"click"})],Sb=[{name:"menu-stagger-open",primitive:"nav-reveal",keyframes:"kui-nav-reveal",phase:"entrance"},{name:"menu-fullscreen",primitive:"menu-fullscreen",keyframes:"kui-menu-fullscreen"},{name:"dropdown-open",primitive:"panel-reveal",keyframes:"kui-panel-reveal",phase:"entrance"},{name:"mega-menu-drop",primitive:"panel-reveal",keyframes:"kui-panel-reveal",params:{duration:"550ms"},phase:"entrance"},{name:"drawer-slide",primitive:"drawer-slide",keyframes:"kui-drawer-slide-right",phase:"entrance"}],Pb="it reacts to scroll position rather than a clock, so style the state attribute it publishes and put your timing there";function Cn(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:A(e,{because:Pb},n)}}function Rn(e,t,r){return t.scheduler.subscribe(t.rootFor(e),n=>r(n.metrics.scrollTop))}function kb(e,t,r){let n=t.num("offset",120),i=T(e),o=Rn(e,r,s=>{let a=n>0?Math.min(1,Math.max(0,s/n)):1;r.style.set("--kui-shrink",a.toFixed(4)),i.set("data-kui-shrunk",String(a>=1))});return()=>{o(),i.restore()}}function xb(e,t,r){let n=t.num("offset",8),i=0,o=T(e),s=Rn(e,r,a=>{let c=a-i;Math.abs(c)<n||(o.set("data-kui-hidden",String(c>0&&a>n)),i=a)});return()=>{s(),o.restore()}}function wb(e,t,r){let n=t.num("offset",400),i=T(e),o=Rn(e,r,s=>{i.set("data-kui-visible",String(s>n))});return()=>{o(),i.restore()}}var Tb=[Cn("header-shrink",["layout","shadow"],{offset:{type:"number",default:"120",cssProperty:"--kui-offset"}},b(kb)),Cn("header-hide-on-scroll",[g.translate],{offset:{type:"number",default:"8",cssProperty:"--kui-offset"}},b(xb)),Cn("back-to-top-fade",[g.opacity,g.translate],{offset:{type:"number",default:"400",cssProperty:"--kui-offset"}},b(wb))],Ab=[{property:"padding-block",duration:"200ms",easing:"ease-out"},{property:"font-size",duration:"200ms",easing:"ease-out"},{property:"box-shadow",duration:"200ms",easing:"ease-out"}],Cb=[{name:"header-shrink",primitive:"header-shrink",transitions:Ab},{name:"header-hide-on-scroll",primitive:"header-hide-on-scroll",transitions:[{property:"translate",duration:"220ms",easing:"ease-out"}]},{name:"back-to-top-fade",primitive:"back-to-top-fade",transitions:[{property:"opacity",duration:"200ms",easing:"ease-out"},{property:"translate",duration:"200ms",easing:"ease-out"}]}],Rb=[...Eb,...Tb],Mb=[...Sb,...Cb];function Ac(e){return e.registerPrimitives(Rb).registerPresets(Mb)}var Mn=e=>{let t=e.getBoundingClientRect();return{top:t.top,height:t.height}},In=e=>{let t=e.ownerDocument?.defaultView;return t?t.getComputedStyle(e).position:"static"},Ib=e=>{let t=e.ownerDocument?.defaultView;if(!t)return 0;let r=Number.parseFloat(t.getComputedStyle(e).top);return Number.isFinite(r)?r:0};function Lb(e,t){let r=null;for(let n=e;n;n=n.parentElement)t(n)==="sticky"&&(r=n);return r?.parentElement??e}function Ob(e,t,r,n){let i=Lb(e,n);return i===e?t.top:r(i).top}function ce(e,t,r,n){let i=r.measure??Mn,o=r.positionOf??In,s=r.offsetOf??Ib,a=0,c=0,u=Se(()=>{let f=i(e),d=r.contentAnchor?i(r.contentAnchor):null,y=d?d.top-f.height:Ob(e,f,i,o),v=r.stickyEl?s(r.stickyEl):0;return{contentTop:y-v-c+a,height:f.height,anchorHeight:d?.height??0}}),l=r.distance??"";l!==""&&!_b(l)&&!r.contentAnchor&&Db(t,l);let m=l!==""&&$b(l);return t.scheduler.subscribe(t.rootFor(e),f=>{a=f.metrics.scrollTop,c=f.metrics.viewportTop;let d=u.read(f.epoch),y=m&&r.contentAnchor?d.anchorHeight:jb(r.distance,{top:0,height:d.height},f);n(Hb(d.contentTop-a,y),f)})}var Ln={viewportWidth:1,viewportHeight:1,percentBasis:1,fontSize:16,rootFontSize:16},Nb={...Ln,percentBasis:2};function _b(e){return Number.isFinite(ne(e,Ln,Number.NaN))}function $b(e){let t=ne(e,Ln,Number.NaN);return Number.isFinite(t)?t!==ne(e,Nb,Number.NaN):!0}function Db(e,t){e.warn(`distance "${t}" is a CSS expression this effect cannot measure, so progress runs over the element's own height instead \u2014 author a plain length like "200vh", or turn on spacer:true so the distance can be measured from the box the library reserves.`)}function jb(e,t,r){if(!e)return t.height;let n={viewportWidth:r.metrics.viewportWidth,viewportHeight:r.metrics.viewportHeight,percentBasis:t.height,fontSize:16,rootFontSize:16};return ne(e,n,t.height)}function Hb(e,t){return t<=0?0:Os(-e/t)}function Gb(e,t){return ne(e,{viewportWidth:t.metrics.viewportWidth,viewportHeight:t.metrics.viewportHeight,percentBasis:0,fontSize:16,rootFontSize:16},0)}function Vb(e,t,r){let n=-1;for(let i=0;i<e.length;i++)e[i]-t-r<=0&&(n=i);return n}function mr(e){let{el:t,sections:r,ctx:n,onChange:i}=e,o=e.offsetTop??"0px",s=0,a=0,c=Se(()=>r.map(p=>Mn(p).top-a+s)),u=-1,l=n.scheduler.subscribe(n.rootFor(t),p=>{s=p.metrics.scrollTop,a=p.metrics.viewportTop;let m=c.read(p.epoch),f=Gb(o,p),d=Vb(m,s,f);if(d===u)return;let y=u;u=d,i(d,y)});return Object.assign(()=>l(),{release:()=>l()})}function Cc(e,t,r){let n=t.text("sections");if(n){let i=L(n,r,"scroll-spy sections");return Ub(e,t,r,i)}return Fb(e,t,r)}function Fb(e,t,r){t.text("offset-top","0px")!=="0px"&&r.warn('scroll-spy "offset-top" has no effect without sections: and is ignored here');let n=L(t.text("target"),r,"scroll-spy"),i=$(t,"page"),o=new Map,s=T(e),a,c=ce(e,r,{distance:t.text("distance")},u=>{let l=u>0&&u<1;l!==a&&(a=l,s.set("data-kui-active",String(l)),n&&Bb(I(e,r,n,i),l,o))});return C(()=>{c(),s.restore();for(let u of o.values())u.restore()})}function Bb(e,t,r){for(let n of e){let i=r.get(n);i||(i=T(n),r.set(n,i)),i.set("data-kui-active",String(t))}}function Wb(e){let t=e.getAttribute("href")??"",r=t.indexOf("#");return r===-1?"":t.slice(r)}function qb(e,t,r,n){let i=new Map;for(let a of t){let c=Wb(a);c&&i.set(c,a)}let o=new Set,s=e.map(a=>{if(!a.id)return r.warn(`scroll-spy: a section matched by sections:"${n}" has no id and cannot be paired with a link`),{section:a,link:null};let c=`#${a.id}`,u=i.get(c)??null;return u&&o.add(c),{section:a,link:u}});for(let[a,c]of i)o.has(a)||r.warn(`scroll-spy: link "${c.getAttribute("href")}" matches no section id in sections:"${n}"`);return s}function Ub(e,t,r,n){t.text("distance","100vh")!=="100vh"&&r.warn('scroll-spy "distance" has no effect with sections: \u2014 each section measures its own height');let i=L(t.text("target"),r,"scroll-spy target"),o=$(t,"self"),s=n?[...e.querySelectorAll(n)]:[];n&&s.length===0&&r.warn(`scroll-spy sections:"${n}" matched nothing inside this element`);let a=i?I(e,r,i,o):[],c=qb(s,a,r,n),u=c.map(d=>T(d.section)),l=new Map;for(let{link:d}of c)d&&!l.has(d)&&l.set(d,T(d));let p=t.text("offset-top","0px");function m(d,y){let v=c[d];u[d].set("data-kui-active",String(y)),v.link&&l.get(v.link).set("data-kui-active",String(y))}let f=mr({el:e,sections:s,ctx:r,offsetTop:p,onChange:(d,y)=>{y!==-1&&m(y,!1),d!==-1&&m(d,!0)}});return C(()=>{f();for(let d of u)d.restore();for(let d of l.values())d.restore()})}var He={distance:{type:"length",default:"100vh",cssProperty:"--kui-distance"}},On={"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"},spacer:{type:"keyword",default:"false",cssProperty:"--kui-spacer",keywords:["true","false"]}};var Kb="--kui-progress";function Rc(e,t,r){r.style.set("position","sticky"),r.style.set("top",t.text("offset-top","var(--kui-pin-offset, 0px)"));let n=t.is("spacer")?Mc(e,t.text("distance"),r):null;return{spacer:n?.spacer??null,dispose:()=>n?.remove()}}function Te(e){let{id:t,channels:r,parameters:n,prepare:i,perfClass:o="compositor"}=e;return{id:t,renderer:"javascript",channels:r,parameters:n,supportedTimelines:ie,supportedActivations:["manual","load","enter"],defaultActivation:"load",perfClass:o,reducedMotion:"disable",prepare:A(t,{because:"it is driven by scroll position rather than a clock, so it has no start moment and no fixed span"},i)}}function Ge(e,t){e.style.set(Kb,t.toFixed(4))}function zb(e,t,r){let n=e,{spacer:i,dispose:o}=Rc(n,t,r),s=i?n:n.parentElement??e,a=ce(s,r,{distance:t.text("distance"),contentAnchor:i??void 0,stickyEl:n},c=>{Ge(r,c);let u=c>0&&c<1&&In(n)==="sticky";e.setAttribute("data-kui-pinned",u?"true":"false")});return C(()=>{a(),o(),e.removeAttribute("data-kui-pinned")})}function Mc(e,t,r){let n=r.doc.createElement("div");return n.setAttribute("data-kui-spacer",""),n.setAttribute("aria-hidden","true"),n.style.height=t,n.style.pointerEvents="none",e.after(n),r.invalidate(),{spacer:n,remove:()=>{n.remove(),r.invalidate()}}}function Yb(e,t,r){let n=Math.max(0,Math.round(t.num("steps",0))),i=L(t.text("target"),r,"scroll-progress"),o=$(t,"page"),s=ae(()=>I(e,r,i,o),l=>r.warn(`scroll-progress ${l}`)),a=T(e),c,u=ce(e,r,{distance:t.text("distance")},l=>{if(Ge(r,l),n===0)return;let p=Math.min(n-1,Math.floor(l*n));p!==c&&(c=p,a.set("data-kui-step",String(p)),r.style.set("--kui-step",String(p)),i&&s.mark(p))});return C(()=>{u(),a.restore(),s.restore()})}function Xb(e,t,r){let n=L(t.text("target"),r,"horizontal-track");if(!n)return Jb(e,t,r);let i=$(t,"self"),o=I(e,r,n,i),s=o[0];return s?(o.length>1&&r.warn(`horizontal-track target "${n}" matched ${o.length} elements; only the first is used`),Zb(e,s,t,r)):(r.warn(`horizontal-track target "${n}" matched nothing inside this element`),()=>{})}function Jb(e,t,r){let n=t.text("travel","auto"),i=Se(()=>Ic(e,n,e.ownerDocument));return C(ce(e,r,{distance:t.text("distance")},(o,s)=>{r.style.set("translate",`${-o*i.read(s.epoch)}px 0`),Ge(r,o)}))}function Zb(e,t,r,n){let i=r.text("offset-top","var(--kui-pin-offset, 0px)");n.style.set("position","sticky"),n.style.set("top",i),n.style.set("height",`calc(100vh - ${i})`),n.style.set("overflow","hidden"),n.style.set("display","grid"),n.style.set("align-content","center");let{spacer:o,remove:s}=Mc(e,r.text("distance"),n),a=O(t);a.set("display","flex"),a.set("width","max-content");let c=r.text("travel","auto"),u=Se(()=>Ic(t,c,t.ownerDocument)),l=ce(e,n,{distance:r.text("distance"),contentAnchor:o,stickyEl:e},(p,m)=>{a.set("translate",`${-p*u.read(m.epoch)}px 0`),Ge(n,p)});return C(()=>{l(),a.restore(),s()})}function Ic(e,t,r){if(t&&t!=="auto")return ne(t,ao,0);let n=e.scrollWidth-e.clientWidth;if(n>0)return n;let i=e.parentElement?.clientWidth||r.documentElement.clientWidth;return Math.max(0,e.scrollWidth-i)}function Qb(e,t,r){let n=t.is("spacer")?Rc(e,t,r):null,i=n?.spacer??void 0,o=n?e:void 0,s=L(t.text("target"),r,"media-scrub"),a=$(t,"page"),c=s?eE(e,t,r,{selector:s,scope:a,contentAnchor:i,stickyEl:o}):tE(e,t,r,{contentAnchor:i,stickyEl:o});return C(()=>{c(),n?.dispose()})}function eE(e,t,r,n){let{selector:i,scope:o,contentAnchor:s,stickyEl:a}=n,c=ae(()=>I(e,r,i,o),m=>r.warn(`media-scrub ${m}`)),u=Math.max(1,I(e,r,i,o).length),l,p=ce(e,r,{distance:t.text("distance"),contentAnchor:s,stickyEl:a},m=>{Ge(r,m);let f=Math.min(u-1,Math.floor(m*u));f!==l&&(l=f,c.mark(f))});return c.mark(0),()=>{p(),c.restore()}}function tE(e,t,r,n){let{contentAnchor:i,stickyEl:o}=n,s=Math.max(1,Math.round(t.num("frames",1))),a=rE(t.text("src"),r),c=e,u=-1;return ce(e,r,{distance:t.text("distance"),contentAnchor:i,stickyEl:o},p=>{Ge(r,p);let m=Math.min(s-1,Math.floor(p*s));m!==u&&(u=m,nE(c,{index:m,frames:s,progress:p,pattern:a}))})}function rE(e,t){return!e||io(e)?e:(t.warn(`media-scrub "src" must be a same-origin path, got "${e}" \u2014 ignoring`),"")}function nE(e,t){let{index:r,frames:n,progress:i,pattern:o}=t;if(e.tagName==="VIDEO"){let s=Number.isFinite(e.duration)?e.duration:0;s>0&&(e.currentTime=s*i);return}e.tagName==="IMG"&&o&&(e.src=o.replace("{i}",String(r).padStart(String(n).length,"0")))}function iE(e,t,r){return r.style.set("scroll-behavior",t.text("behavior","smooth")),()=>{}}function oE(e,t,r){let n=t.is("axis","x")?"x":"y";r.style.set("scroll-snap-type",`${n} ${t.text("strictness","mandatory")}`);let i=L(t.text("target"),r,"scroll-snap"),o=$(t,"self"),s=i?I(e,r,i,o):[...e.children];i&&s.length===0&&r.warn(`scroll-snap target "${i}" matched nothing inside this element`),i&&sE(n,r);let a=s.map(c=>O(c));for(let c of a)c.set("scroll-snap-align",t.text("align","start"));return()=>{for(let c of a)c.restore()}}function sE(e,t){t.style.set(e==="x"?"overflow-x":"overflow-y","auto"),e==="x"&&t.style.set("display","flex")}var Lc=[Te({id:"pin",channels:["layout","progress"],parameters:{...He,...On},prepare:b(zb),perfClass:"layout"}),Te({id:"scroll-progress",channels:["progress"],parameters:{...He,steps:{type:"number",default:"0",cssProperty:"--kui-steps"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j},prepare:b(Yb)}),Te({id:"horizontal-track",channels:["translate","progress"],parameters:{...He,travel:{type:"text",default:"auto",cssProperty:"--kui-travel"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j,"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"}},prepare:b(Xb)}),Te({id:"media-scrub",channels:["media","progress"],parameters:{...He,...On,frames:{type:"number",default:"1",cssProperty:"--kui-frames"},src:{type:"text",default:"",cssProperty:"--kui-src"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j},prepare:b(Qb),perfClass:"paint"}),Te({id:"scroll-spy",channels:["state"],parameters:{...He,target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j,sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"0px",cssProperty:"--kui-offset-top"}},prepare:b(Cc)}),Te({id:"smooth-scroll",channels:["scroll-behavior"],parameters:{behavior:{type:"keyword",default:"smooth",cssProperty:"--kui-scroll-behavior",keywords:["smooth","auto"]}},prepare:b(iE),perfClass:"layout"}),Te({id:"scroll-snap",channels:["layout"],parameters:{axis:{type:"keyword",default:"y",cssProperty:"--kui-axis",keywords:["x","y"]},strictness:{type:"keyword",default:"mandatory",cssProperty:"--kui-snap-strictness",keywords:["mandatory","proximity"]},align:{type:"keyword",default:"start",cssProperty:"--kui-snap-align",keywords:["start","center","end"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j},prepare:b(oE),perfClass:"layout"})];var Oc=[{name:"pin-section",primitive:"pin",params:{distance:"100vh",spacer:"true"},phase:"idle"},{name:"pin-until",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"pin-spacer",primitive:"pin",params:{spacer:"true"},phase:"idle"},{name:"stacking-cards",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"scroll-progress",primitive:"scroll-progress",phase:"idle"},{name:"scrollytelling-step",primitive:"scroll-progress",params:{steps:"4"},phase:"idle"},{name:"horizontal-scroll",primitive:"horizontal-track",phase:"idle"},{name:"sequence-scrub",primitive:"media-scrub",params:{spacer:"true"},requiresOwnSubtree:!0,phase:"idle"},{name:"video-scrub",primitive:"media-scrub",requiresOwnSubtree:!0,phase:"idle"},{name:"scroll-spy",primitive:"scroll-spy",phase:"idle"},{name:"smooth-scroll-to",primitive:"smooth-scroll",phase:"idle"},{name:"scroll-snap-x",primitive:"scroll-snap",params:{axis:"x"},phase:"idle"},{name:"scroll-snap-y",primitive:"scroll-snap",params:{axis:"y"},phase:"idle"}];function Nc(e){return e.registerPrimitives(Lc).registerPresets(Oc)}var aE=/([mlhvcz])|(-?(?:\d+(?:\.\d+)?|\.\d+))/gi,cE=/[AaSsQqTt]/;function lE(e,t,r){let n=e[t];r.command=n,n.toLowerCase()==="z"&&mE(r);let i=Gc[n.toLowerCase()],o=e[t+1];if(i>0&&(o===void 0||/[a-z]/i.test(o)))return Nn(n,i,"0")}function uE(e,t){let r=0;for(;r<e.length;){let n=e[r];if(/[a-z]/i.test(n)){let o=lE(e,r,t);if(o!==void 0)return o;r++;continue}if(!t.command)return"path must start with a command letter";let i=dE(e,r,t);if("reason"in i)return i.reason;r=i.index}}function _c(e){if(cE.test(e))return{segments:[],subpaths:[],reason:"arc and shorthand commands (A S Q T) are not supported"};let t=[...e.matchAll(aE)].map(i=>i[1]??i[2]),r={subpaths:[],open:void 0,current:{x:0,y:0},start:{x:0,y:0},command:""},n=uE(t,r);return n!==void 0?{segments:[],subpaths:[],reason:n}:r.subpaths.length===0?{segments:[],subpaths:[],reason:"no drawable segments"}:{segments:r.subpaths.flatMap(i=>i.segments),subpaths:r.subpaths}}function pE(e,t){e.open||(e.open={segments:[],closed:!1},e.subpaths.push(e.open)),e.open.segments.push(t)}var Gc={m:2,l:2,h:1,v:1,c:6,z:0};function mE(e){let{current:t,start:r,open:n}=e;n&&((Math.abs(t.x-r.x)>=1e-6||Math.abs(t.y-r.y)>=1e-6)&&n.segments.push(Vc(t,r)),n.closed=!0,e.current={...r},e.open=void 0)}function Nn(e,t,r){return`'${e}' expects ${t} number${t===1?"":"s"}, found ${r}`}function dE(e,t,r){let n=r.command.toLowerCase(),i=r.command===n,o=Gc[n];if(o===0)return{reason:`'${r.command}' does not take arguments`};let s=e.slice(t,t+o).map(Number);if(s.length<o)return{reason:Nn(r.command,o,String(s.length))};let a=s.findIndex(Number.isNaN);if(a!==-1)return{reason:Nn(r.command,o,`the command letter '${e[t+a]}'`)};let c=fE(n,s,r.current,i);return n==="m"?(r.current=c,r.start=c,r.open=void 0,r.command=i?"l":"L",{index:t+o}):(pE(r,gE({key:n,args:s,from:r.current,relative:i},c)),r.current=c,{index:t+o})}function fE(e,t,r,n){let i=n?r:{x:0,y:0};return e==="h"?{x:i.x+t[0],y:r.y}:e==="v"?{x:r.x,y:i.y+t[0]}:e==="c"?{x:i.x+t[4],y:i.y+t[5]}:{x:i.x+t[0],y:i.y+t[1]}}function gE(e,t){let{key:r,args:n,from:i,relative:o}=e;if(r!=="c")return Vc(i,t);let s=o?i:{x:0,y:0};return{from:i,c1:{x:s.x+n[0],y:s.y+n[1]},c2:{x:s.x+n[2],y:s.y+n[3]},to:t}}function Vc(e,t){return{from:e,c1:J(e,t,1/3),c2:J(e,t,2/3),to:t}}function $c(e,t,r){return e+(t-e)*r}function J(e,t,r){return{x:$c(e.x,t.x,r),y:$c(e.y,t.y,r)}}function yE(e,t){let r=J(e.from,e.c1,t),n=J(e.c1,e.c2,t),i=J(e.c2,e.to,t),o=J(r,n,t),s=J(n,i,t),a=J(o,s,t);return[{from:e.from,c1:r,c2:o,to:a},{from:a,c1:s,c2:i,to:e.to}]}function Dc(e,t){let r=[...e];for(;r.length<t&&r.length>0;){let n=0;for(let s=1;s<r.length;s++)jc(r[s])>jc(r[n])&&(n=s);let[i,o]=yE(r[n],.5);r.splice(n,1,i,o)}return r}function jc(e){return Math.hypot(e.to.x-e.from.x,e.to.y-e.from.y)}function ve(e){return Math.round(e*100)/100}function hE(e){let t=[];for(let r of e){let n=r.segments[0];t.push(`M${ve(n.from.x)},${ve(n.from.y)}`);for(let i of r.segments)t.push(`C${ve(i.c1.x)},${ve(i.c1.y)} ${ve(i.c2.x)},${ve(i.c2.y)} ${ve(i.to.x)},${ve(i.to.y)}`);r.closed&&t.push("Z")}return t.join(" ")}function vE(e){let t=0,r=0;for(let n of e.segments)t+=n.from.x,r+=n.from.y;return{x:t/e.segments.length,y:r/e.segments.length}}function Hc(e){let t=vE(e);return{segments:e.segments.map(()=>({from:{...t},c1:{...t},c2:{...t},to:{...t}})),closed:e.closed}}function bE(e,t){let r=Math.max(e.length,t.length),n=[],i=[];for(let o=0;o<r;o++){let s=e[o]??Hc(t[o]),a=t[o]??Hc(e[o]),c=Math.max(s.segments.length,a.segments.length),u=s.closed&&a.closed;n.push({segments:Dc(s.segments,c),closed:u}),i.push({segments:Dc(a.segments,c),closed:u})}return{from:n,to:i}}function Fc(e,t){let r=_c(e),n=_c(t);if(r.reason)return{reason:`start path: ${r.reason}`};if(n.reason)return{reason:`end path: ${n.reason}`};let{from:i,to:o}=bE(r.subpaths,n.subpaths);return{morph:{segmentCount:i.reduce((a,c)=>a+c.segments.length,0),at(a){let c=Math.min(1,Math.max(0,a));return hE(i.map((u,l)=>({segments:u.segments.map((p,m)=>EE(p,o[l].segments[m],c)),closed:u.closed})))}}}}function EE(e,t,r){return{from:J(e.from,t.from,r),c1:J(e.c1,t.c1,r),c2:J(e.c2,t.c2,r),to:J(e.to,t.to,r)}}var SE="line, rect, path, polyline, circle";function PE(e){let t=Array.from(e.children),r=t.length===1?t[0]:void 0;return r&&r.tagName.toLowerCase()==="svg"?Array.from(r.querySelectorAll(SE)):t.filter(n=>n.textContent.trim()==="")}function Bc(e){return(t,r,n)=>{if(!t.querySelector(".kui-bar")){let i=PE(t);if(i.length>0){let o=i.map(s=>{let a=T(s);return a.set(S.part,"bar"),a});n.signal.addEventListener("abort",()=>{for(let s of o)s.restore()},{once:!0})}}return e(t,r,n)}}function kE(e,t,r){let n=e,i=t.text("from")||n.getAttribute("d")||"",{morph:o,reason:s}=Fc(i,t.text("to"));if(!o)return r.warn(`cannot morph: ${s}`),()=>{};let a=te(t,300),c=Qt(t.timing.easing??t.text("ease","linear"),r.warn),u=t.timing.delayMs??t.ms("delay",0),l=0,p=!1,m=v=>{cancelAnimationFrame(l);let E=performance.now(),P=f,k=v===1?u:0,w=_=>{if(p)return;let N=_-E-k;if(N<0){l=requestAnimationFrame(w);return}let Y=a>0?Math.min(1,N/a):1;f=P+(v-P)*c(Y),n.setAttribute("d",o.at(f)),Y<1&&(l=requestAnimationFrame(w))};l=requestAnimationFrame(w)},f=0,d=()=>m(1),y=()=>m(0);return e.addEventListener("pointerenter",d,{passive:!0}),e.addEventListener("focusin",d,{passive:!0}),e.addEventListener("pointerleave",y,{passive:!0}),e.addEventListener("focusout",y,{passive:!0}),()=>{p=!0,cancelAnimationFrame(l),e.removeEventListener("pointerenter",d),e.removeEventListener("focusin",d),e.removeEventListener("pointerleave",y),e.removeEventListener("focusout",y),n.setAttribute("d",i)}}var xE=h("path-draw",[g.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length",finite:!0}}}),wE=h("shape-fill",[g.clip]),TE=h("bar-grow",[g.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),AE=h("logo-assemble",[g.opacity,g.scale,g.rotate]),CE={id:"icon-toggle",renderer:"javascript",channels:[g.translate,g.rotate,g.scale,g.opacity,g.clip],parameters:{duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:Bc(U("icon-toggle",{honours:V,because:"svg.css pins that value on this effect"}))},RE=[{id:"path-morph",renderer:"javascript",channels:["path"],parameters:{from:{type:"text",default:"",cssProperty:"--kui-path-from"},to:{type:"text",default:"",cssProperty:"--kui-path-to"},duration:{type:"time",default:"300ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["hover","focus","manual","load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"disable",prepare:b(kE)},xE,wE,TE,AE,CE],ME=[{name:"icon-morph",primitive:"path-morph"},{name:"blob-morph",primitive:"path-morph",params:{duration:"800ms"}},{name:"draw-stroke",primitive:"path-draw",keyframes:"kui-draw-stroke",params:{duration:"800ms",ease:"ease-in-out"}},{name:"draw-signature",primitive:"path-draw",keyframes:"kui-draw-signature",params:{duration:"1600ms",ease:"ease-in-out"}},{name:"draw-underline",primitive:"path-draw",keyframes:"kui-draw-underline",params:{duration:"420ms"}},{name:"checkmark-draw",primitive:"path-draw",keyframes:"kui-checkmark-draw",params:{duration:"320ms"}},{name:"cross-draw",primitive:"path-draw",keyframes:"kui-cross-draw",params:{duration:"260ms"}},{name:"chart-line-draw",primitive:"path-draw",keyframes:"kui-chart-line-draw",params:{duration:"1200ms",ease:"ease-in-out"}},{name:"gradient-stroke",phase:"idle",primitive:"path-draw",keyframes:"kui-gradient-stroke",params:{duration:"2400ms",ease:"ease-in-out"}},{name:"heart-fill",primitive:"shape-fill",keyframes:"kui-heart-fill",params:{duration:"420ms"}},{name:"bookmark-fill",primitive:"shape-fill",keyframes:"kui-bookmark-fill",params:{duration:"360ms"}},{name:"chart-area-fill",primitive:"shape-fill",keyframes:"kui-chart-area-fill",params:{duration:"900ms"}},{name:"chart-bar-grow",primitive:"bar-grow",keyframes:"kui-chart-bar-grow",params:{duration:"700ms",ease:"back-out"},cloak:!0},{name:"logo-build",primitive:"logo-assemble",keyframes:"kui-logo-build",params:{duration:"520ms",ease:"back-out"}},{name:"hamburger-to-x",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"play-to-pause",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"plus-to-minus",primitive:"icon-toggle",transitions:[{property:"rotate"}],requiresOwnSubtree:!0}];function Wc(e){return e.registerPrimitives(RE).registerPresets(ME)}var IE=":scope > .kui-face-front, :scope > .kui-face-back",qc=`:scope > :is(.kui-flip-control, [${S.part}~='control'])`;function LE(e,t){if(e.querySelector(IE))return;let[r,n]=Array.from(e.children).filter(i=>i.tagName!=="BUTTON");r&&t(r,"front"),n&&t(n,"back")}function OE(e,t,r){let n=t.createElement("button");return n.type="button",n.className="kui-flip-control",n.setAttribute(S.part,r?"control injected quiet":"control injected"),n.setAttribute("aria-pressed","false"),n.textContent="Flip card",e.append(n),n}function NE(e,t,r,n){let i=e.querySelector(":scope > .kui-flip-control");if(i)return{control:i,injected:null};let o=e.querySelector(":scope > button[aria-pressed]");if(o)return n(o,"control"),{control:o,injected:null};let s=OE(e,t,r);return{control:s,injected:s}}function Uc(e,t,r){let n=[],i=(l,p)=>{let m=T(l);m.set(S.part,p),n.push(m)};LE(e,i);let o=t.text("trigger","click")!=="click",{control:s,injected:a}=NE(e,r.doc,o,i),c=a?{button:a,onClick:()=>{a.setAttribute("aria-pressed",String(a.getAttribute("aria-pressed")!=="true"))}}:null;return c&&c.button.addEventListener("click",c.onClick),{control:s,cleanup:()=>{c&&(c.button.removeEventListener("click",c.onClick),c.button.remove());for(let l of n)l.restore()}}}function _E(e,t,r){tt("card-toggle",V,t,r);let n=t.text("trigger","click");if(n==="click")return()=>{};if(!oe(r.win))return()=>{};let i=e.querySelector(qc),o=u=>i.setAttribute("aria-pressed",String(u)),s=()=>i.getAttribute("aria-pressed")==="true",a=()=>{o(n==="hover-toggle"?!s():!0)},c=()=>o(!1);return e.addEventListener("pointerenter",a,{passive:!0}),n==="hover"&&e.addEventListener("pointerleave",c,{passive:!0}),()=>{e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",c)}}function $E(e,t,r){let n=Uc(e,t,r);return r.signal.addEventListener("abort",n.cleanup,{once:!0}),b(_E)(e,t,r)}var DE={id:"card-toggle",renderer:"javascript",channels:[g.rotate,"discrete"],parameters:{duration:{type:"time",default:"700ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},trigger:{type:"keyword",default:"click",cssProperty:"--kui-flip-trigger",keywords:["click","hover","hover-latch","hover-toggle"]}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:$E},jE=[h("flip-face",[g.skew,"transform-origin"],{parameters:{angle:{type:"angle",default:"180deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),h("page-reveal",[g.opacity,g.translate],{parameters:{distance:{type:"length",default:"40px",cssProperty:"--kui-distance"}}}),h("wipe",[g.clip]),h("bar",[g.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),DE],HE=[{name:"card-flip-y",primitive:"flip-face",keyframes:"kui-card-flip-y",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"card-flip-x",primitive:"flip-face",keyframes:"kui-card-flip-x",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"cube-rotate",primitive:"flip-face",keyframes:"kui-cube-rotate",params:{angle:"90deg"},establishes3d:!0},{name:"book-page-turn",primitive:"flip-face",keyframes:"kui-book-page-turn",params:{angle:"-160deg",duration:"900ms"},establishes3d:!0},{name:"fold-panel",phase:"entrance",primitive:"flip-face",keyframes:"kui-fold-panel",params:{angle:"-90deg"},cloak:!0,establishes3d:!0},{name:"page-fade",primitive:"page-reveal",keyframes:"kui-page-fade"},{name:"page-slide",primitive:"page-reveal",keyframes:"kui-page-slide"},{name:"curtain-wipe",primitive:"wipe",keyframes:"kui-curtain-wipe",params:{duration:"800ms"}},{name:"loading-bar",phase:"entrance",primitive:"bar",keyframes:"kui-loading-bar",cloak:!0},{name:"flip-card",phase:"state",primitive:"card-toggle",requiresOwnSubtree:!0,establishes3d:!0}];function Kc(e){return e.registerPrimitives(jE).registerPresets(HE)}var GE=.28,zc=4,VE=6;function FE(e,t,r){if(r<=0)return e;let n=t/r*GE,i=Math.max(-zc,Math.min(zc,n));return e-i}function Yc(e){return Math.round(e)+0}function Xc(e,t){return t>0?(e%t+t)%t:0}var BE={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1,PageDown:1,PageUp:-1,Home:null,End:null};function Jc(e){let{el:t,ctx:r,enabled:n,travelPx:i,total:o,positionOf:s,moveTo:a,setDragging:c}=e,u=!1,l=d=>{u&&(u=!1,d.stopPropagation(),d.preventDefault())},p=n?he(t,{onStart(){c(!0)},onMove(d){a(s()-d.dx/i)},onEnd(d){c(!1),u=!0;let y=Yc(FE(s(),d.vx,i));a(Xc(y,o()))}},{axis:"x",threshold:VE}):()=>{};n&&r.style.set("touch-action","pan-y");let m=d=>{let y=d,v=y.key,E=BE[v];if(E===void 0||y.altKey||y.ctrlKey||y.metaKey)return;let P=o(),k=v==="Home"?0:P-1,w=E===null?k:Yc(s())+E;d.preventDefault(),a(Xc(w,P))},f=t.getAttribute("tabindex")===null;return f&&t.setAttribute("tabindex","0"),t.addEventListener("keydown",m),t.addEventListener("click",l,!0),()=>{p(),t.removeEventListener("keydown",m),t.removeEventListener("click",l,!0),f&&t.removeAttribute("tabindex")}}var WE="data-kui-ring-dragging",qE="data-kui-ring-face",UE=90,KE=[["overflow",e=>e!==""&&e!=="visible"],["clip-path",e=>e!==""&&e!=="none"],["opacity",e=>e!==""&&Number(e)<1],["filter",e=>e!==""&&e!=="none"],["backdrop-filter",e=>e!==""&&e!=="none"]];function zE(e,t){let r=e.ownerDocument.body,n=e.parentElement;for(;n&&n!==r;){let i=YE(n,t);if(i){t.warn(`carousel: an ancestor <${n.localName}> has ${i.property}: ${i.value}, which flattens transform-style: preserve-3d \u2014 the ring will render as flat overlapping cards. Move the ring out of it, or drop that property on the ancestor.`);return}n=n.parentElement}}function YE(e,t){let r=t.win.getComputedStyle?.(e);if(!r)return null;for(let[n,i]of KE){let o=r.getPropertyValue(n);if(i(o))return{property:n,value:o}}return null}function XE(e,t){let r=e.attributes.get(t);r||(r=T(t),e.attributes.set(t,r));let n=e.styles.get(t);return n||(n=O(t),e.styles.set(t,n)),{attributes:r,styles:n}}function JE(e){return Math.abs(ZE(e))>=UE?"back":"front"}function ZE(e){let t=(e%360+360)%360;return t>180?t-360:t}function _n(e,t){if(t<=0)return{step:0,drift:0};let r=Math.round(e);return{step:(r%t+t)%t,drift:e-r}}var QE={duration:{type:"time",default:"620ms",cssProperty:"--kui-duration"},...M,ease:{type:"easing",default:"cubic-bezier(0.22, 1, 0.36, 1)",cssProperty:"--kui-ease"},tilt:{type:"angle",default:"0deg",cssProperty:"--kui-tilt"},arc:{type:"angle",default:"360deg",cssProperty:"--kui-arc"},radius:{type:"length",default:"",cssProperty:"--kui-radius"},gap:{type:"length",default:"24px",cssProperty:"--kui-gap"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},facing:{type:"keyword",default:"radial",cssProperty:"--kui-facing",keywords:["radial","camera"]},grab:{type:"keyword",default:"true",cssProperty:"--kui-grab",keywords:["true","false"]},travel:{type:"number",default:"220",cssProperty:"--kui-travel",finite:!0,minimum:1},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},scope:j};function eS(e,t){for(let r of t){let n=r.offsetWidth;n>0&&e.set("--kui-item-width",`${n}px`);return}}function tS(e,t,r){zE(e,r),tt("spatial-ring",V,t,r);let n=L(t.text("target"),r,"carousel"),i=$(t,"self"),o=()=>n?I(e,r,n,i):e.children,s=ae(o,w=>r.warn(`carousel ${w}`)),a=()=>ar(t,o),c=T(e),u=O(e);c.set("data-kui-ring-facing",t.text("facing","radial"));let l={attributes:new Map,styles:new Map},p=t.text("radius")==="",m=0,f=rS(t.text("arc","360deg"),360),d=()=>{let w=a(),{step:_,drift:N}=_n(m,w);c.set("data-kui-step",String(_)),u.set("--kui-step",String(_)),u.set("--kui-step-position",(_+N).toFixed(4)),s.mark(_);let Y=[...o()];p&&eS(u,Y);let le=f/w;for(let Ae of Y){let Ce=(Number(Ae.getAttribute("data-kui-step-offset"))-N)*le;XE(l,Ae).attributes.set(qE,JE(Ce))}},y=w=>{m=w,d()},v=[],E=(w,_)=>{let N=L(t.text(w),r,`carousel ${w}`);return N?(I(e,r,N,i).length===0&&r.warn(`carousel ${w} "${N}" matched nothing`),v.push({selector:N,run:_}),!0):!1};E("next",()=>y(or(_n(m,a()).step,a()))),E("prev",()=>y(sr(_n(m,a()).step,a()))),E("jump",(w,_)=>{_>=0&&y(_)});let P=cr({el:e,ctx:r,scope:i,groups:v}),k=Jc({el:e,ctx:r,enabled:t.is("grab"),travelPx:t.num("travel",220),total:a,positionOf:()=>m,moveTo:y,setDragging:w=>c.set(WE,String(w))});return d(),()=>{k(),P(),s.restore();for(let w of l.attributes.values())w.restore();for(let w of l.styles.values())w.restore();l.attributes.clear(),l.styles.clear(),c.restore(),u.restore()}}function rS(e,t){let r=/^(-?[\d.]+)(deg|rad|turn|grad)?$/i.exec(e.trim());if(!r)return t;let n=Number(r[1]);if(!Number.isFinite(n))return t;switch((r[2]??"deg").toLowerCase()){case"rad":return n*180/Math.PI;case"turn":return n*360;case"grad":return n*.9;default:return n}}var nS={id:"spatial-ring",renderer:"javascript",channels:[g.skew,"discrete"],parameters:QE,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:b(tS)},iS=[nS],oS=[{name:"carousel-3d",primitive:"spatial-ring",params:{tilt:"12deg"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-high",primitive:"spatial-ring",params:{tilt:"30deg",perspective:"1200px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-low",primitive:"spatial-ring",params:{tilt:"-18deg",perspective:"1800px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-inside",primitive:"spatial-ring",params:{arc:"120deg",facing:"camera",perspective:"900px"},requiresOwnSubtree:!0,phase:"idle"}];function Zc(e){return e.registerPrimitives(iS).registerPresets(oS)}var $n=["translate","rotate","scale","opacity","filter","color","background"],Qc={translate:g.translate,rotate:g.rotate,scale:g.scale,opacity:g.opacity,filter:g.filter,color:g.color,background:g.background};function D(e,t,r,n){let i=r==="number"?{finite:!0,...e==="filter"?{minimum:0}:{}}:{};return[t,{group:e,spec:{type:r,default:n,cssProperty:`--kui-tween-${t}`,...i}}]}var F=Object.fromEntries([D("translate","x","length","0"),D("translate","y","length","0"),D("translate","z","length","0"),D("rotate","rotate","angle","0deg"),D("scale","scale","number","1"),D("scale","scale-x","number","1"),D("scale","scale-y","number","1"),D("opacity","opacity","number","1"),D("filter","blur","length","0px"),D("filter","brightness","number","1"),D("filter","saturate","number","1"),D("filter","grayscale","number","0"),D("filter","contrast","number","1"),D("filter","hue-rotate","angle","0deg"),D("filter","invert","number","0"),D("filter","sepia","number","0"),D("color","color","color","currentcolor"),D("background","background-color","color","transparent")]),el=Object.fromEntries([...Object.entries(F).map(([e,t])=>[e,t.spec]),...$n.map(e=>[`${e}-ease`,{type:"easing",default:"ease-out",cssProperty:`--kui-tween-${e}-ease`}])]);function Dn(e,t){if(e=e.trim(),t==="number"&&e.endsWith("%")){let n=e.slice(0,-1);return Ct(n,-2)??e}let r=Ct(e);return r===void 0?e:t==="length"?`${r}px`:t==="angle"?`${r}deg`:t==="number"?r:e}function dr(e,t,r,n=e){let i=F[e].spec,o=Dn(t,i.type),s=sS(e,o),a=s?{ok:!1,reason:s,value:o}:Ie(o,i);if(!a.ok){r(`parameter "${n}": ${a.reason} \u2014 got "${t}", using default "${i.default}"`);return}return a.value}function sS(e,t){if(/^(?:inherit|initial|unset|revert|revert-layer)$/i.test(t))return"CSS-wide keyword cannot be passed through a tween custom property";if((e==="z"||e==="blur")&&t.includes("%"))return"expected a length without percentages";if(e==="blur"&&Number.parseFloat(t)<0)return"blur must be non-negative"}var fr=5,tl=2;function rl(e){let t=[],r=0,n=0,i=0;for(;i<e.length;){let o=e[i];o==='"'||o==="'"?i=aS(e,i):o==="("?n++:o===")"?n=Math.max(0,n-1):o===","&&n===0&&(t.push(e.slice(r,i).trim()),r=i+1),i++}return t.push(e.slice(r).trim()),t}function aS(e,t){for(let r=t+1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]===e[t])return r;return e.length}function cS(e,t,r,n){for(let[i,o]of t){if(o.length===r)continue;let s=o.at(-1);for(o.length>=tl&&n(`"${i}" has ${String(o.length)} waypoints and another "${e}" property has ${String(r)} \u2014 they share one keyframe block, so "${i}" holds at "${s}" for the rest`);o.length<r;)o.push(s)}}function lS(e,t,r){return t.length<=fr?t:(r(`"${e}" has ${String(t.length)} waypoints \u2014 at most ${String(fr)} are supported, so the animation now ends at "${t[fr-1]}"`),t.slice(0,fr))}function nl(e,t){let r=new Map;for(let[n,i]of e){if(i.length<tl)continue;let o=Object.hasOwn(F,n)?F[n]:void 0;if(!o)continue;let s=lS(n,i,t).map(c=>Dn(c.trim(),o.spec.type)),a=r.get(o.group)??{count:0,keys:new Map};a.keys.set(n,s),a.count=Math.max(a.count,s.length),r.set(o.group,a)}for(let[n,i]of r)cS(n,i.keys,i.count,t);return r}function il(e,t,r,n){for(let[i,o]of e.keys){if(!Object.hasOwn(F,i))continue;let s=F[i].spec;for(let[a,c]of o.entries()){let u=a+1,l=`${i}[${String(u)}]`,p=dr(i,c,n,l);p!==void 0&&(t[l]=p,r[l]=uS(s,i,u))}}}function uS(e,t,r){return{...e,cssProperty:`--kui-tween-${t}-${String(r)}`}}function ol(e,t){return`kui-tween-keys${String(t)}-${e}`}var pS=["time","view","scroll","pin"];function mS(e,t,r){let n=["scale-x","scale-y"].filter(i=>Number(t[i]??t.scale??"1")===0);n.length!==0&&r(`"${e}" starts with no box area on ${n.join(", ")}, which can prevent on:enter activation depending on its geometry \u2014 use a small non-zero scale, or on:load`)}function dS(e,t,r){let n={},i=new Set(t.filter(([,o])=>o.length>1).map(([o])=>F[o].group));for(let[o]of t)(e==="from"||i.has(F[o].group))&&r[o]!==void 0&&(n[o]=r[o]);return n}function fS(e,t,r){let n=Object.create(null),i=gS(t,n,r),o=new Set(i.map(([l])=>F[l].group)),s=$n.filter(l=>o.has(l));if(s.length===0)return r(`"${t.name}" names no properties to animate \u2014 add at least one, e.g. "${t.name} x:100" (known: ${Object.keys(F).join(", ")})`),{channels:[],keyframes:[],params:n};mS(t.name,dS(e,i,n),r);let a=nl(i,r),c={};for(let l of a.values())il(l,n,c,r);for(let l of s){let p=`${l}[ease]`,m=yS(e,t,l);n[p]=m.value,c[p]=m.schema}return{channels:s.map(l=>Qc[l]),keyframes:s.map(l=>hS(l,e,a.get(l))),params:n,schema:c}}function gS(e,t,r){let n=[];for(let[i,o]of Object.entries(e.params)){if(!(Object.hasOwn(F,i)?F[i]:void 0)){t[i]=o;continue}let a=rl(o);n.push([i,a]);let c=dr(i,a[0],r);c!==void 0&&(t[i]=c)}return n}function yS(e,t,r){let i=`var(--kui-${e==="from"?"tween-from":"tween"}-ease, ease-out)`,o=`--kui-tween-${r}-default-ease`;return t.easing?{value:t.easing,schema:{type:"easing",default:i,cssProperty:o}}:{value:i,schema:{type:"keyword",default:i,keywords:[i],cssProperty:o}}}function hS(e,t,r){return r?ol(e,r.count):`kui-tween-${t}-${e}`}function sl(e,t){return{...h(e,[],{timelines:pS,parameters:el,perfClass:"paint"}),variantFor:(r,n)=>fS(t,r,n)}}var vS=[sl("tween","to"),sl("tween-from","from")],bS=[{name:"tween",primitive:"tween"},{name:"tween-from",primitive:"tween-from",cloak:!0}];function al(e){return e.registerPrimitives(vS).registerPresets(bS)}var cl=/^-?[A-Za-z_][\w-]*$/,ES=new Set(["none","match-element"]);function SS(e,t,r){let n=t.text("name","auto").trim();if(n==="auto"){let i=e.id;if(!i){r("page-morph needs a name to morph *to*: give this element an id (and the same id to its counterpart on the other view), or write name:something explicitly");return}return cl.test(i)?i:ll(i,r)}if(ES.has(n)){r(`page-morph name:${n} is a keyword, not a name \u2014 omit the effect instead`);return}return cl.test(n)?n:ll(n,r)}function ll(e,t){t(`page-morph cannot use "${e}" as a view-transition-name \u2014 it must be a CSS identifier (a letter or underscore, then letters, digits, hyphens or underscores)`)}function PS(e,t,r){if(!r.capabilities.viewTransitions)return r.warn("this browser has no View Transitions API, so page-morph will not morph \u2014 the navigation or state change still happens, it just cuts instead of animating"),()=>{};let n=SS(e,t,r.warn);return n===void 0?()=>{}:(r.style.set("view-transition-name",n),()=>{})}var kS={id:"view-morph",renderer:"javascript",channels:["view-transition-name"],parameters:{name:{type:"text",default:"auto",cssProperty:"--kui-view-transition-name"}},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:A("view-morph",{because:"the ::view-transition pseudo-elements hang off the document root, not off this element, so no per-element value can reach them \u2014 set --kui-vt-duration/-delay/-ease on :root instead"},b(PS))};function xS(e,t,r){let n=t.text("controls","").trim();if(n){let s=r.doc.querySelector(n);if(s)return s;r.warn(`view-swap controls:${n} matched nothing \u2014 the click will do nothing`);return}let i=e.getAttribute("aria-controls"),o=i?r.doc.getElementById(i):null;if(o)return o;r.warn("view-swap has nothing to swap: give this control an aria-controls pointing at the element whose state changes, or name it with controls:#selector")}function wS(e){let r=e.ViewTransition?.prototype;return typeof r=="object"&&r!==null&&"types"in r}function TS(e,t){return!e||!t.capabilities.viewTransitions?"":wS(t.win)?e:(t.warn(`view-swap type:${e} needs View Transition types, which this browser's View Transitions API predates \u2014 the swap still animates, with the browser's default cross-fade instead of the motion this type names`),"")}function ul(e,t,r){let n=r.doc.startViewTransition;if(!r.capabilities.viewTransitions||typeof n!="function"||r.reducedMotion){e();return}t?n.call(r.doc,{update:e,types:[t]}):n.call(r.doc,e)}function AS(e,t,r){let n=xS(e,t,r);if(!n)return()=>{};r.capabilities.viewTransitions||r.warn("this browser has no View Transitions API, so view-swap will not animate \u2014 the state change still happens, it just cuts");let i=t.text("attribute","data-open").trim()||"data-open",o=TS(t.text("type","").trim(),r),s=_e(t),a=()=>{let l=n.hasAttribute(i);l?n.removeAttribute(i):n.setAttribute(i,""),e.hasAttribute("aria-expanded")&&e.setAttribute("aria-expanded",String(!l))},c=new Set,u=()=>{if(s<=0){ul(a,o,r);return}let l=r.win.setTimeout(()=>{c.delete(l),ul(a,o,r)},s);c.add(l)};return e.addEventListener("click",u,{signal:r.signal}),()=>{for(let l of c)r.win.clearTimeout(l);c.clear()}}var CS={id:"view-swap",channels:["view-transition-run"],renderer:"javascript",parameters:{controls:{type:"text",default:"",cssProperty:"--kui-view-swap-controls"},attribute:{type:"text",default:"data-open",cssProperty:"--kui-view-swap-attribute"},type:{type:"text",default:"",cssProperty:"--kui-view-swap-type"},...M},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"layout",reducedMotion:"shorten",prepare:A("view-swap",{honours:["delay"],because:"it starts a transition the browser then owns \u2014 the duration and curve live on the ::view-transition pseudo-elements at :root, not on this control"},b(AS))},RS=[kS,CS],MS=[{name:"page-morph",primitive:"view-morph"},{name:"view-swap",primitive:"view-swap",phase:"state"}];function pl(e){return e.registerPrimitives(RS).registerPresets(MS)}function ml(e){return Array.isArray(e)?e:[e]}function dl(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.registerPrimitives=="function"&&typeof t.registerPresets=="function"}function IS(e){if(!e||typeof e!="object")return;if(dl(e))return e;let t=e;if(dl(t.registry))return t.registry}function fl(e,t,r,n="module"){let i=IS(e);if(!i)throw new Error(`kuinetic: register${n} requires a Registry or Animator instance`);return i.registerPrimitives(ml(t)),i.registerPresets(ml(r)),e}function B(e,t,r){return{id:e,renderer:"javascript",channels:t.channels,parameters:t.parameters,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:t.perfClass,reducedMotion:"shorten",prepare:r}}var LS=["browser","phone","tablet","laptop"],OS="",NS={kind:{type:"keyword",default:"browser",cssProperty:"--kui-device-kind",keywords:[...LS]},color:{type:"color",default:"#111",cssProperty:"--kui-device-color"},radius:{type:"length",default:OS,cssProperty:"--kui-device-radius"}};function _S(e,t){let r=T(e);return r.set("data-kui-device",t.text("kind","browser")),C(()=>r.restore())}var gl=B("device-frame",{channels:["frame"],parameters:NS,perfClass:"layout"},A("device-frame",{because:"it stamps its frame kind once, synchronously, on activation; there is no motion to time"},b(_S))),yl=[{name:"device-frame",primitive:"device-frame",requiresOwnSubtree:!0}];var jn=new WeakMap;function hl(e){e.lock?.restore(),e.lock=void 0}function $S(e){if(e.lock)return;let t=e.doc.documentElement,r=O(t),n=e.doc.defaultView.innerWidth-t.clientWidth;r.set("overflow","hidden"),n>0&&r.set("padding-right",`${n}px`),e.lock=r}function Hn(e){e.current?.onClose?.(),e.current=void 0,e.currentOwner=void 0,e.slot?.replaceChildren()}function vl(e){e.dialog?.classList.remove("is-open"),hl(e),Hn(e)}function gr(e){let t=e.dialog;!t?.open||e.timer!==void 0||(t.classList.remove("is-open"),e.timer=setTimeout(()=>{e.timer=void 0,t.open&&t.close(),hl(e),Hn(e)},e.current.reducedMotion?0:e.current.duration))}function DS(e,t){let r=e.current.node;return r.classList.contains("kui-lightbox-gallery")?!r.contains(t)||!t.matches("img")&&!t.closest("button"):!r.contains(t)&&!t.closest("button")}function jS(e){return e.offsetWidth}function HS(e){if(e.dialog)return;let t=e.doc.createElement("dialog");t.className="kui-lightbox";let r=e.doc.createElement("button");r.type="button",r.className="kui-lightbox-close",r.setAttribute("aria-label","Close viewer"),r.textContent="\xD7";let n=e.doc.createElement("div");n.className="kui-lightbox-slot",t.append(r,n),e.doc.body.append(t),r.addEventListener("click",()=>gr(e)),t.addEventListener("click",i=>{DS(e,i.target)&&gr(e)}),t.addEventListener("cancel",i=>{i.preventDefault(),gr(e)}),t.addEventListener("close",()=>vl(e)),t.addEventListener("keydown",i=>e.current?.onKey?.(i)),e.dialog=t,e.slot=n,e.style=O(t)}function GS(e,t,r){HS(e);let n=e.dialog;e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,Hn(e),e.current=t,e.currentOwner=r,e.slot.replaceChildren(t.node),n.setAttribute("aria-label",t.label),e.style.set("--kui-lightbox-duration",`${t.duration}ms`),e.style.set("--kui-from-scale",t.scale),e.style.set("--kui-lightbox-ease",t.ease),$S(e),n.open||n.showModal(),n.scrollTop=0,jS(n),n.classList.add("is-open")}function VS(e){e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,e.dialog?.open&&e.dialog.close(),vl(e)}function FS(e,t){e.refs-=1,(e.currentOwner===t||e.refs===0)&&VS(e),!(e.refs>0)&&(e.style?.restore(),e.dialog?.remove(),jn.delete(e.doc))}function bl(e){let t=jn.get(e);t||(t={doc:e,refs:0},jn.set(e,t)),t.refs+=1;let r=t,n={},i=!1;return{open:o=>GS(r,o,n),dismiss:()=>gr(r),release:()=>{i||(i=!0,FS(r,n))}}}var BS="https://kuinetic.invalid/",WS=/^[\w-]{6,}$/,qS=new Set(["youtube.com","www.youtube.com","m.youtube.com"]),US=new Set(["youtu.be","www.youtu.be"]),KS=new Set(["vimeo.com","www.vimeo.com"]);function El(e,t,r){let n;return r?n=t[0]:t[0]==="watch"?n=e.searchParams.get("v"):(t[0]==="shorts"||t[0]==="embed")&&(n=t[1]),!n||!WS.test(n)?null:{kind:"youtube",embedUrl:`https://www.youtube-nocookie.com/embed/${n}?autoplay=1`,aspect:t[0]==="shorts"?"tall":"wide"}}function zS(e){let t=e[0];return!t||!/^\d+$/.test(t)?null:{kind:"vimeo",embedUrl:`https://player.vimeo.com/video/${t}?autoplay=1`,aspect:"wide"}}function Sl(e){let t;try{t=new URL(e,BS)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:")return null;let r=t.hostname.toLowerCase(),n=t.pathname.split("/").filter(Boolean);return qS.has(r)?El(t,n,!1):US.has(r)?El(t,n,!0):KS.has(r)?zS(n):/\.(mp4|webm|ogg)$/i.test(t.pathname)?{kind:"file",embedUrl:e,aspect:"wide"}:null}var YS={media:{type:"keyword",default:"image",cssProperty:"--kui-lightbox-media",keywords:["image","video"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j,scale:{type:"number",default:"0.965",cssProperty:"--kui-from-scale",finite:!0,minimum:0},duration:{type:"time",default:"280ms",cssProperty:"--kui-lightbox-duration"},ease:{type:"easing",default:"cubic-bezier(0.22, 1, 0.36, 1)",cssProperty:"--kui-lightbox-ease"},loop:{type:"keyword",default:"true",cssProperty:"--kui-lightbox-loop",keywords:["true","false"]},aspect:{type:"keyword",default:"",cssProperty:"--kui-lightbox-aspect",keywords:["wide","tall","square"]},caption:{type:"keyword",default:"figcaption",cssProperty:"--kui-lightbox-caption",keywords:["figcaption","alt","title","none"]}};function XS(e,t){return e.matches("a[href]")||t==="image"&&e.matches("img")?[e]:[...e.querySelectorAll(t==="video"?":scope a[href]":":scope a[href], :scope img")]}function JS(e,t,r,n){let i=t.text("target");if(!i)return XS(e,n);let o=L(i,r,n==="video"?"video-lightbox":"lightbox");return o?I(e,r,o,$(t,"self")):[]}function ZS(e){return e instanceof HTMLImageElement?e.closest("a[href]")??e:e}function QS(e){return e instanceof HTMLImageElement?e:e.querySelector("img")}function eP(e,t,r){return r==="none"?"":r==="alt"?t.alt:r==="title"?(e.getAttribute("title")||t.title).trim():e.closest("figure")?.querySelector("figcaption")?.textContent?.trim()||t.alt}function tP(e,t){let r=QS(e);if(!r)return null;let n=e instanceof HTMLAnchorElement?e:null;return{trigger:e,image:r,src:n?.href??(r.currentSrc||r.src),caption:eP(e,r,t)}}function rP(e,t){let r=new Set,n=[];for(let i of e){let o=ZS(i);if(r.has(o))continue;let s=tP(o,t);s&&(r.add(o),n.push(s))}return n}function nP(e,t){return{duration:e.timing.durationMs??e.ms("duration",280),scale:e.text("scale","0.965"),ease:e.timing.easing??e.text("ease","cubic-bezier(0.22, 1, 0.36, 1)"),reducedMotion:t.reducedMotion}}function iP(e,t,r){t.src=e.src,t.alt=e.image.alt,r.textContent=e.caption,r.hidden=e.caption==="";let n=e.image.naturalWidth?e.image.naturalHeight/e.image.naturalWidth:1;t.className=n>1.5?"is-tall":"is-fit"}function yr(e,t){iP(e.items[e.index],e.view,e.caption),e.counter.textContent=`${e.index+1} of ${e.items.length}`,e.previous.disabled=!e.loop&&e.index===0,e.next.disabled=!e.loop&&e.index===e.items.length-1,t&&e.figure.focus()}function Gn(e,t,r){let n=e.index+t;!e.loop&&(n<0||n>=e.items.length)||(e.index=(n+e.items.length)%e.items.length,yr(e,r))}function Pl(e,t,r){Gn(e,t,!1),r.disabled&&r.ownerDocument.activeElement===r&&e.figure.focus()}function oP(e,t){if(!(e.items.length<2)){if(t.key==="ArrowLeft")Gn(e,-1,!0);else if(t.key==="ArrowRight")Gn(e,1,!0);else if(t.key==="Home")e.index=0,yr(e,!0);else if(t.key==="End")e.index=e.items.length-1,yr(e,!0);else return;t.preventDefault()}}function kl(e,t,r,n){let i=e[t].image.ownerDocument,o=i.createElement("div");o.className="kui-lightbox-gallery";let s=i.createElement("figure");s.tabIndex=-1;let a=i.createElement("img");a.decoding="async";let c=i.createElement("figcaption");s.append(a,c),o.append(s);let u=i.createElement("span");u.className="kui-lightbox-counter",u.setAttribute("aria-hidden","true");let l=i.createElement("button"),p=i.createElement("button");l.type=p.type="button",l.textContent="\u2039",p.textContent="\u203A",l.setAttribute("aria-label","Previous image"),p.setAttribute("aria-label","Next image"),l.className="kui-lightbox-prev",p.className="kui-lightbox-next";let m={items:e,index:t,loop:r,figure:s,view:a,caption:c,counter:u,previous:l,next:p};return e.length>1&&(o.append(l,p,u),l.addEventListener("click",()=>Pl(m,-1,l)),p.addEventListener("click",()=>Pl(m,1,p))),yr(m,!1),{...n,node:o,label:"Image viewer",onClose:()=>a.removeAttribute("src"),onKey:f=>oP(m,f)}}function sP(e){let t=e.querySelector("video");t&&(t.readyState>0&&t.pause(),t.removeAttribute("src")),e.replaceChildren()}function aP(e,t,r,n){let i=e.ownerDocument,o=i.createElement("div");o.className=`kui-lightbox-frame kui-lightbox-frame--${n}`;let s=e.querySelector("img"),a=e.title||s?.getAttribute("alt")||e.getAttribute("aria-label")?.trim()||e.textContent?.trim()||"Video";if(t.kind==="file"){let c=i.createElement("video");c.src=t.embedUrl,c.controls=!0,c.autoplay=!0,c.playsInline=!0,c.setAttribute("aria-label",a),o.append(c)}else{let c=i.createElement("iframe");c.src=t.embedUrl,c.title=a,c.allow="autoplay; encrypted-media; picture-in-picture; fullscreen",c.allowFullscreen=!0,o.append(c)}return{...r,node:o,label:"Video viewer",onClose:()=>sP(o)}}function xl(e){return e.button===0&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}function cP(e,t,r){let n=[];return e.forEach((i,o)=>{let s=i.trigger===i.image;if(s){let a=T(i.image);a.set("role","button"),a.set("tabindex","0"),a.set("aria-label",i.image.alt?`Open larger image: ${i.image.alt}`:"Open larger image"),n.push(()=>a.restore()),i.image.addEventListener("keydown",c=>{c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),t.shell.open(kl(e,o,r,t.options)))},{signal:t.signal})}i.trigger.addEventListener("click",a=>{xl(a)&&(s||a.preventDefault(),t.shell.open(kl(e,o,r,t.options)))},{signal:t.signal})}),n}function lP(e,t,r,n){let i=new Set;for(let o of e)o instanceof HTMLAnchorElement&&o.addEventListener("click",s=>{if(!xl(s))return;let a=o.getAttribute("href")??"",c=Sl(a);if(!c){i.has(a)||n.warn(`video-lightbox cannot embed "${a}"; the link will navigate normally`),i.add(a);return}s.preventDefault(),t.shell.open(aP(o,c,t.options,r||c.aspect))},{signal:t.signal})}function uP(e,t,r){let n=t.text("media","image"),i=JS(e,t,r,n);if(i.length===0)return()=>{};let o=new AbortController,s=bl(r.doc),a={shell:s,options:nP(t,r),signal:o.signal},c=[];if(n==="video")lP(i,a,t.text("aspect"),r);else{let u=rP(i,t.text("caption","figcaption"));c=cP(u,a,t.is("loop"))}return C(()=>{o.abort();for(let u of c)u();s.release()})}var wl=B("lightbox",{channels:["widget"],parameters:YS,perfClass:"paint"},A("lightbox",{honours:["duration","ease"],because:"the dialog opens immediately, so it has no delay phase"},b(uP))),Tl=[{name:"lightbox",primitive:"lightbox",params:{media:"image"}},{name:"video-lightbox",primitive:"lightbox",params:{media:"video"}}];var pP=["x","y"],mP="data-kui-compare-axis",dP={position:{type:"percentage",default:"50%",cssProperty:"--kui-compare"},axis:{type:"keyword",default:"x",cssProperty:"--kui-compare-axis",keywords:[...pP]}},fP={ArrowUp:-1,ArrowDown:1};function Al(e,t){return(e.localName==="picture"?e.querySelector("img")?.getAttribute("alt"):e.getAttribute("alt"))?.trim()||e.getAttribute("aria-label")?.trim()||e.getAttribute("title")?.trim()||t}function gP(e,t){let r=e.getAttribute("aria-label")?.trim();if(r)return r;let n=t[0],i=t[1];return n&&i?`Compare: ${Al(n,"Before")} / ${Al(i,"After")}`:"Compare"}function yP(e,t,r,n){let i=e.createElement("input");i.type="range",i.className="kui-compare-range",i.min="0",i.max="100",i.step="1",i.value=String(r),i.setAttribute("aria-label",t),i.setAttribute("aria-valuetext",`${r}% after`),n==="y"&&i.setAttribute("aria-orientation","vertical");let o=e.createElement("span");return o.className="kui-compare-handle",o.setAttribute("aria-hidden","true"),{range:i,handle:o}}function hP(e,t,r){let n=Array.from(e.querySelectorAll(":scope > :is(img, picture, video)"));n.length<2&&r.warn("compare requires at least two media children (img, picture, or video)");let i=t.text("axis","x"),o=T(e);o.set(mP,i);let s=Math.round(t.num("position",.5)*100),a=O(e);a.set("--kui-compare",t.text("position","50%"));let{range:c,handle:u}=yP(e.ownerDocument,gP(e,n),s,i),l=()=>{let m=c.value;a.set("--kui-compare",`${m}%`),c.setAttribute("aria-valuetext",`${m}% after`)},p=m=>{let f=fP[m.key];i!=="y"||f===void 0||(m.preventDefault(),f<0?c.stepDown():c.stepUp(),l())};return c.addEventListener("input",l),c.addEventListener("keydown",p),e.appendChild(c),e.appendChild(u),C(()=>{c.removeEventListener("input",l),c.removeEventListener("keydown",p),c.remove(),u.remove(),o.restore(),a.restore()})}var Cl=B("compare",{channels:["clip","widget"],parameters:dP,perfClass:"paint"},A("compare",{because:"it builds an interactive before/after slider; there is no motion to time"},b(hP))),Rl=[{name:"compare",primitive:"compare",requiresOwnSubtree:!0}];var vP=["number","dot"],bP={target:{type:"text",default:"",cssProperty:"--kui-target"},marker:{type:"keyword",default:"number",keywords:[...vP],cssProperty:"--kui-hotspot-marker"},scope:j},EP=0,SP=0;function PP(e,t,r){let i=e.querySelector("strong, h1, h2, h3, h4, h5, h6")?.textContent?.trim();return i?r==="number"?`${t+1}: ${i}`:i:`Note ${t+1}`}function kP(e,t){let r=t;if(r.newState!==void 0)return r.newState==="open";try{return e.matches(":popover-open")||e.hasAttribute("open")}catch{return e.hasAttribute("open")}}function xP(e,t,r){let n=t.ownerDocument.defaultView??window,i=8,o=(a,c,u)=>Math.max(i,Math.min(a,Math.max(i,u-c-i))),s=a=>{if(!kP(t,a))return;let c=e.getBoundingClientRect(),u=t.getBoundingClientRect(),l=c.top-u.height-i,p=l>=i?l:c.bottom+i,f=c.left+c.width/2-u.width/2;r.set("position","fixed"),r.set("inset","auto"),r.set("top",`${o(p,u.height,n.innerHeight)}px`),r.set("left",`${o(f,u.width,n.innerWidth)}px`),r.set("translate","0 0"),r.set("margin","0")};return t.addEventListener("toggle",s),()=>t.removeEventListener("toggle",s)}function wP(e,t){let r=`--kui-anchor-${++SP}`;e.set("anchor-name",r),t.set("position-anchor",r),t.set("position-area","top"),t.set("position-try-fallbacks","flip-block")}function TP(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("position-area: top")}function AP(e,t){let r=t.getComputedStyle(e),n=e.style,i=r.getPropertyValue("--kui-x").trim(),o=r.getPropertyValue("--kui-y").trim(),s=i||n.getPropertyValue("--kui-x").trim(),a=o||n.getPropertyValue("--kui-y").trim();return{x:s,y:a}}function CP(e){let t=e.getAttribute("id"),r=t||`kui-hotspot-note-${++EP}`,n=T(e);return t||n.set("id",r),n.set("popover","auto"),{noteId:r,noteAttrs:n}}function RP(e){let{doc:t,noteId:r,label:n,marker:i,index:o,coords:s}=e,a=t.createElement("button");a.type="button",a.className="kui-hotspot",a.setAttribute("aria-label",n),a.setAttribute("popovertarget",r),i==="number"&&(a.textContent=String(o+1));let c=O(a);return s.x&&c.set("--kui-x",s.x),s.y&&c.set("--kui-y",s.y),{button:a,buttonStyle:c}}function MP(e,t,r){let{el:n,marker:i,ctx:o}=r,s=o.doc.defaultView??window,a=AP(e,s);(!a.x||!a.y)&&o.warn("hotspots note is missing --kui-x or --kui-y position");let{noteId:c,noteAttrs:u}=CP(e),l=PP(e,t,i),{button:p,buttonStyle:m}=RP({doc:n.ownerDocument,noteId:c,label:l,marker:i,index:t,coords:a}),f=O(e),d;return TP()?wP(m,f):d=xP(p,e,f),{button:p,teardown:()=>{d?.(),f.restore(),u.restore(),m.restore(),p.remove()}}}function IP(e,t,r){let i=t.text("target")||":scope > :is(ol, ul) > li",o=L(i,r,"hotspots"),s=$(t,"self"),a=o?I(e,r,o,s):[],c=t.text("marker","number"),u=T(e);u.set("data-kui-hotspot-marker",c);let l=a.map((p,m)=>MP(p,m,{el:e,marker:c,ctx:r}));for(let p of l)e.appendChild(p.button);return C(()=>{for(let p of l)p.teardown();u.restore()})}var Ml=B("hotspots",{channels:["widget"],parameters:bP,perfClass:"layout"},A("hotspots",{because:"it places interactive hotspot markers and binds popovers; there is no motion to time"},b(IP))),Il=[{name:"hotspots",primitive:"hotspots",requiresOwnSubtree:!0}];var LP="data-kui-slideshow-list",OP="data-kui-slideshow-mode",NP=["auto","dots","arrows","none"],_P={target:{type:"text",default:"",cssProperty:"--kui-target"},scope:j,next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},controls:{type:"keyword",default:"auto",cssProperty:"--kui-slideshow-controls",keywords:[...NP]},autoplay:{type:"time",default:"0s",cssProperty:"--kui-slideshow-autoplay"},transition:{type:"keyword",default:"fade",cssProperty:"--kui-slideshow-transition",keywords:["fade","slide"]},swipe:{type:"keyword",default:"true",cssProperty:"--kui-slideshow-swipe",keywords:["true","false"]},mute:{type:"text",default:"",cssProperty:"--kui-slideshow-mute"},duration:{type:"time",default:"500ms",cssProperty:"--kui-slideshow-duration"},ease:{type:"easing",default:"ease",cssProperty:"--kui-slideshow-ease"}};function hr(e,t){let r=e.createElement("button");return r.type="button",r.setAttribute("aria-label",t),r}function $P(e,t){if(t!=="auto"&&t!=="arrows")return{previous:null,next:null};let r=hr(e.ownerDocument,"Previous slide"),n=hr(e.ownerDocument,"Next slide");return e.append(r,n),{previous:r,next:n}}function DP(e,t,r){return r!=="auto"&&r!=="dots"?[]:t.map((n,i)=>{let o=hr(e.ownerDocument,`Go to slide ${i+1} of ${t.length}`);return o.className="kui-slideshow-dot",e.appendChild(o),o})}function jP(e,t,r,n){if(r==="none")return{root:null,pause:null,previous:null,next:null,dots:[]};let i=e.ownerDocument.createElement("div");i.className="kui-slideshow-controls";let o=n?hr(e.ownerDocument,"Pause slideshow"):null;o&&i.appendChild(o);let{previous:s,next:a}=$P(i,r),c=DP(i,t,r),u=t[0]?.parentElement;return u?.parentElement?.isSameNode(e)?u.after(i):e.appendChild(i),{root:i,pause:o,previous:s,next:a,dots:c}}function HP(e,t,r){let n=T(e);return e.hasAttribute("role")||n.set("role","region"),e.hasAttribute("aria-roledescription")||n.set("aria-roledescription","carousel"),!e.hasAttribute("aria-label")&&!e.hasAttribute("aria-labelledby")&&t.warn("slideshow needs an aria-label or aria-labelledby on its host"),n.set(OP,r),n}function GP(e,t,r,n){let i=HP(e,r,n),o=t[0].parentElement,s=T(o);s.set(LP,"");let a=t.map((c,u)=>{let l=T(c);return c.hasAttribute("role")||l.set("role","group"),c.hasAttribute("aria-roledescription")||l.set("aria-roledescription","slide"),c.hasAttribute("aria-label")||l.set("aria-label",`${u+1} of ${t.length}`),l});return{host:i,list:s,slides:a,liveList:o}}function VP(e,t,r,n){e.forEach((i,o)=>{let s=t[o];o===n?s.remove("inert"):s.set("inert","")}),r.dots.forEach((i,o)=>{o===n?i.setAttribute("aria-current","true"):i.removeAttribute("aria-current"),i.tabIndex=o===n?0:-1})}function FP(e,t){let r=()=>t.prev(),n=()=>t.next();e.previous?.addEventListener("click",r),e.next?.addEventListener("click",n);let i=e.dots.map((s,a)=>{let c=()=>t.goTo(a);return s.addEventListener("click",c),c}),o=s=>{if(e.dots.includes(s.target)){if(s.key==="ArrowRight")t.next();else if(s.key==="ArrowLeft")t.prev();else return;s.preventDefault(),e.dots[t.current()]?.focus()}};return e.root?.addEventListener("keydown",o),()=>{e.previous?.removeEventListener("click",r),e.next?.removeEventListener("click",n),e.dots.forEach((s,a)=>s.removeEventListener("click",i[a])),e.root?.removeEventListener("keydown",o)}}function BP(e){let{el:t,params:r,ctx:n,index:i,slides:o}=e,s=()=>{},a=L(r.text("mute"),n,"slideshow mute");if(!a)return{release:s,render:s};let c=I(t,n,a,"self").filter(d=>d.localName==="button");if(c.length===0)return n.warn("slideshow mute: must select a button inside the host"),{release:s,render:s};let u=c.map(d=>T(d)),l=new Map,p=()=>{let d=o[i.current()]?.querySelector("video"),y=d?.localName==="video"&&d.muted;for(let v of u)v.set("aria-pressed",String(y)),v.set("aria-label",y?"Unmute video":"Mute video")},m=()=>{let d=o[i.current()]?.querySelector("video");if(d?.localName!=="video")return;let y=d;l.has(y)||l.set(y,y.muted),y.muted=!y.muted,p()};for(let d of c)d.addEventListener("click",m);return p(),{release:()=>{for(let d of c)d.removeEventListener("click",m);for(let[d,y]of l)d.muted=y;for(let d of u)d.restore()},render:p}}function WP(e){let{el:t,ctx:r,index:n,controls:i,liveList:o,interval:s}=e,a=T(o);if(s===0)return a.set("aria-live","polite"),()=>a.restore();let c=i.pause,u=T(c),l=r.reducedMotion,p=!1,m=!1,f=null,d=()=>!l&&!p&&!m&&!r.doc.hidden,y=()=>{f!==null&&clearTimeout(f),f=null,a.set("aria-live",d()?"off":"polite"),u.set("aria-pressed",String(l)),u.set("aria-label",l?"Play slideshow":"Pause slideshow"),d()&&(f=setTimeout(()=>{n.next(),y()},s))},v=()=>{p=!0,y()},E=()=>{p=!1,y()},P=()=>{m=!0,y()},k=()=>{m=t.contains(r.doc.activeElement),y()},w=()=>{l=!l,y()};return t.addEventListener("pointerenter",v),t.addEventListener("pointerleave",E),t.addEventListener("focusin",P),t.addEventListener("focusout",k),r.doc.addEventListener("visibilitychange",y),c.addEventListener("click",w),y(),()=>{f!==null&&clearTimeout(f),t.removeEventListener("pointerenter",v),t.removeEventListener("pointerleave",E),t.removeEventListener("focusin",P),t.removeEventListener("focusout",k),r.doc.removeEventListener("visibilitychange",y),c.removeEventListener("click",w),u.restore(),a.restore()}}function qP(e,t,r){let n=e.ms("autoplay",0),i=n>0?Math.max(2e3,n):0;return n>0&&n<2e3&&t.warn("slideshow autoplay: minimum is 2s; clamped to 2s"),r==="none"&&i>0&&t.warn("slideshow autoplay needs a pause control; autoplay is disabled with authored or hidden controls"),r==="none"?0:i}function UP(e,t){e.timing.durationMs!==void 0&&t.style.set("--kui-slideshow-duration",`${e.timing.durationMs}ms`),e.timing.easing!==void 0&&t.style.set("--kui-slideshow-ease",e.timing.easing)}function KP(e,t,r){return t.text("swipe","true")!=="true"?()=>{}:he(e,{onSwipe:n=>{n==="left"&&r.next(),n==="right"&&r.prev()}},{axis:"x",capturePointer:"drag"})}function zP(e,t,r){let n=L(t.text("target")||":scope > :is(ul, ol) > li",r,"slideshow"),i=$(t,"self"),o=()=>n?I(e,r,n,i):[],s=o();if(s.length===0)return r.warn("slideshow target matched no slides"),C(()=>{});let a=s[0].parentElement;if(!a||a===e||!e.contains(a)||s.some(k=>k.parentElement!==a))return r.warn("slideshow slides must share one list inside the host"),C(()=>{});let u=["next","prev","jump"].some(k=>t.text(k)!=="")?"none":t.text("controls","auto"),l=qP(t,r,u),p=GP(e,s,r,t.text("transition","fade")),m=jP(e,s,u,l>0);UP(t,r);let f=()=>{},d=lr({el:e,params:t,ctx:r,scope:i,resolveSteps:o,name:"slideshow",clickFallback:!1,onRender:k=>{VP(s,p.slides,m,k),f()}}),y=FP(m,d),v=KP(e,t,d),E=BP({el:e,params:t,ctx:r,index:d,slides:s});f=E.render;let P=WP({el:e,ctx:r,index:d,controls:m,liveList:p.liveList,interval:l});return C(()=>{P(),E.release(),v(),y(),d.release(),m.root?.remove(),p.slides.forEach(k=>k.restore()),p.list.restore(),p.host.restore()})}var Ll=B("slideshow",{channels:["widget"],parameters:_P,perfClass:"layout"},A("slideshow",{honours:["duration","ease"],because:"the slideshow has no delayed start"},b(zP))),Ol=[{name:"carousel-fade",primitive:"slideshow",params:{transition:"fade"},requiresOwnSubtree:!0},{name:"carousel-slide",primitive:"slideshow",params:{transition:"slide"},requiresOwnSubtree:!0},{name:"video-hero-slideshow",primitive:"slideshow",params:{transition:"fade",autoplay:"7s",controls:"dots"},requiresOwnSubtree:!0}];var YP="data-kui-story-side",XP={target:{type:"text",default:"",cssProperty:"--kui-target"},sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"50vh",cssProperty:"--kui-offset-top"},side:{type:"keyword",default:"end",cssProperty:"--kui-side",keywords:["start","end"]}};function Nl(e){return e.localName==="video"?e:e.querySelector("video")}function JP(e){return e.hasAttribute("autoplay")||e.hasAttribute("loop")}function _l(e){let t=e.play();t&&typeof t.catch=="function"&&t.catch(()=>{})}function ZP(e,t,r){e.forEach((n,i)=>{let o=Nl(n);if(o){if(i!==t||r){o.pause();return}JP(o)&&_l(o)}})}function QP(e){let t=new Map;for(let r of e){let n=Nl(r);n&&t.set(n,!n.paused)}return t}function ek(e){for(let[t,r]of e)r?_l(t):t.pause()}function tk(e,t,r){let n=t.IntersectionObserver;if(!n)return{observed:!1,stop:()=>{}};let i=new n(o=>{let s=o[o.length-1];s&&r(s.isIntersecting)},{threshold:0});return i.observe(e),{observed:!0,stop:()=>i.disconnect()}}function rk(e,t,r){let n=QP(t),i=0,o=!1,s=!1,a=()=>ZP(t,i,r.reducedMotion||!o),c=tk(e,r.win,u=>{u!==o&&(o=u,s&&a())});return c.observed||(o=!0),{show(u){i=u,s=!0,a()},restore(){c.stop(),ek(n)}}}function nk(e,t,r){let n=L(t.text("target")||":scope > :first-child > *",r,"scroll-story"),i=L(t.text("sections")||":scope > :last-child > *",r,"scroll-story sections"),o=n?I(e,r,n,"self"):[],s=i?I(e,r,i,"self"):[];return{media:o,sections:s}}function ik(e,t,r){let{media:n,sections:i}=nk(e,t,r);if(n.length===0)return r.warn("scroll-story target matched no media"),C(()=>{});if(i.length===0)return r.warn("scroll-story sections matched no elements"),C(()=>{});let o=T(e),s=O(e),a=t.text("side","end");o.set(YP,a);let c=ae(()=>[...n,...i],d=>r.warn(`scroll-story ${d}`)),u=rk(e,n,r),l=-1;function p(d){let y=d===-1?0:d;y!==l&&(l=y,o.set("data-kui-step",String(y)),s.set("--kui-step",String(y)),c.mark(y),u.show(y))}p(0);let m=t.text("offset-top","50vh"),f=mr({el:e,sections:i,ctx:r,offsetTop:m,onChange:d=>p(d)});return C(()=>{f(),u.restore(),c.restore(),o.restore(),s.restore()})}var $l=B("scroll-story",{channels:["widget"],parameters:XP,perfClass:"layout"},A("scroll-story",{because:"scroll position"},b(ik))),Dl=[{name:"scroll-story",primitive:"scroll-story",phase:"idle",requiresOwnSubtree:!0}];var ok={rate:{type:"number",default:"0.25",cssProperty:"--kui-slowmo-rate",finite:!0,minimum:.05,maximum:1},controls:{type:"keyword",default:"button",cssProperty:"--kui-slowmo-controls",keywords:["button","none"]}};function jl(e,t=!1){let r=e.getAnimations;return typeof r=="function"?r.call(e,{subtree:t}):[]}function sk(e,t){return e.timeline===t.timeline}function ak(e,t,r){let n=e.playbackRate;Math.abs(Math.abs(n)-r)>1e-9||(e.playbackRate=Math.sign(n)*Math.abs(t))}function ck(e){let t=new Map;return{slow(r,n){for(let i of r)sk(i,e)&&(t.has(i)||t.set(i,i.playbackRate),i.playbackRate=Math.sign(i.playbackRate||1)*n)},restore(r){for(let[n,i]of t)ak(n,i,r);t.clear()}}}function lk(e,t,r){let n=e.effect;return!n||n.target!==t?!1:(n.pseudoElement??"")===r}function uk(e){let t=e.target,r=e,n=e.type==="animationstart",i=n?"animationName":"transitionProperty",o=n?r.animationName:r.propertyName,s=r.pseudoElement??"";return jl(t,!0).filter(a=>lk(a,t,s)&&a[i]===o)}function pk(e,t){let r=T(e),n=t.num("rate",.25),i=t.text("controls","button"),o=i==="button"?e.ownerDocument.createElement("button"):null,s=i==="none",a=ck(e.ownerDocument),c=()=>{s?r.set(et,String(n)):r.remove(et),o&&o.setAttribute("aria-pressed",String(s)),s?a.slow(jl(e,!0),n):a.restore(n)},u=()=>{s=!s,c()},l=p=>{s&&a.slow(uk(p),n)};return o&&(o.type="button",o.className="kui-slowmo-toggle",o.textContent=`Slow motion ${n}\xD7`,o.setAttribute("aria-pressed","false"),e.prepend(o),o.addEventListener("click",u)),e.addEventListener("animationstart",l,!0),e.addEventListener("transitionrun",l,!0),s&&c(),C(()=>{e.removeEventListener("animationstart",l,!0),e.removeEventListener("transitionrun",l,!0),o?.removeEventListener("click",u),a.restore(n),r.restore(),o?.remove()})}var Hl=B("slow-mo",{channels:["widget"],parameters:ok,perfClass:"compositor"},A("slow-mo",{because:"it changes playback rate rather than defining an animation timeline"},b(pk))),Gl=[{name:"slow-mo",primitive:"slow-mo"}];var mk=[gl,wl,Cl,Ml,Ll,$l,Hl],dk=[...yl,...Tl,...Rl,...Il,...Ol,...Dl,...Gl];function Vl(e){return fl(e,mk,dk,"Showcase")}function vr(){let e=new fe;return Pn(e),Nc(e),wc(e),Wc(e),Tc(e),vc(e),Kc(e),Zc(e),Ja(e),Ac(e),pc(e),al(e),pl(e),Vl(e),e}function Fl(e={}){return new ke({registry:vr(),...e})}var fk=Fl;return Jl(gk);})();
1
+ "use strict";var kuinetic=(()=>{var en=Object.defineProperty;var Op=Object.getOwnPropertyDescriptor;var Np=Object.getOwnPropertyNames;var _p=Object.prototype.hasOwnProperty;var Dp=(e,t)=>{for(var r in t)en(e,r,{get:t[r],enumerable:!0})},$p=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Np(t))!_p.call(e,o)&&o!==r&&en(e,o,{get:()=>t[o],enumerable:!(n=Op(t,o))||n.enumerable});return e};var jp=e=>$p(en({},"__esModule",{value:!0}),e);var uT={};Dp(uT,{ATTR:()=>w,Animator:()=>Ge,CHANNEL:()=>y,COMBOS:()=>Cr,KEY_NOTE_OWNER:()=>Fn,KUI_EVENT:()=>X,PRESETS:()=>Ar,PRIMITIVES:()=>Tr,Registry:()=>Ce,SUBTREE_CHANNEL:()=>D,attributeChannel:()=>A,collectingReporter:()=>ja,consoleReporter:()=>$a,control:()=>Kt,createActivationBinder:()=>Rt,createAnimator:()=>Fa,createRegistry:()=>Ue,default:()=>iT,describe:()=>sT,describeAttribute:()=>pr,describeEffect:()=>kt,describeElement:()=>cT,describeElementAttribute:()=>mr,describeKeys:()=>Vn,describeSteps:()=>aT,detect:()=>zt,inertInstance:()=>Gt,kuinetic:()=>Lp,play:()=>qt,resolveActivationSpec:()=>le,resolveTargets:()=>yt,silentReporter:()=>ar,spellingsFor:()=>Wn,timingContractOf:()=>ur,toAttributeValue:()=>yn});function ct(e,t){try{return t.documentElement.matches(e)||t.body?.matches(e)?"document-wide":"ok"}catch{return"invalid"}}function _(e,t,r){if(!e)return e;let n=ct(e,t.doc);return n==="invalid"?(t.warn(`${r} target "${e}" is not a valid selector and will be ignored`),""):n==="document-wide"?(t.warn(`${r} target "${e}" matches the whole document and will be ignored`),""):e}var U={type:"keyword",default:"",cssProperty:"--kui-scope",keywords:["self","page"]};function W(e,t){let r=e.text("scope");return r==="page"?"page":r==="self"?"self":t}function $(e,t,r,n){return[...(n==="page"?t.doc:e).querySelectorAll(r)]}function ut(e,t,r){let n=[...e.querySelectorAll(r)];return n.length>0?n:[...t.doc.querySelectorAll(r)]}function Uo(){let e=new Map;function t(r,n,o){let i=e.get(r);i||(i=new Map,e.set(r,i));let s=i.get(n);if(!s){let c=new Set,u=()=>{for(let l of[...c])l()};s={listener:u,runs:c},i.set(n,s),r.addEventListener(n,u,{passive:!0})}s.runs.add(o);let a=!0;return()=>{a&&(a=!1,s.runs.delete(o),!(s.runs.size>0)&&(r.removeEventListener(n,s.listener),i?.delete(n),i?.size===0&&e.delete(r)))}}return{bind({sources:r,types:n,run:o}){let i=[];for(let s of r)for(let a of n)i.push(t(s,a,o));return()=>{for(let s of i)s()}},destroy(){for(let[r,n]of e)for(let[o,i]of n)r.removeEventListener(o,i.listener);e.clear()}}}function zo({el:e,from:t,reporter:r}){if(!t)return[e];let n=e.ownerDocument,o=ct(t,n);if(o!=="ok"){let s=o==="invalid"?"is not a valid selector":"matches the whole document";return r?.warn(`activation source "${t}" ${s} and will be ignored`,e),[]}let i=[...n.querySelectorAll(t)];return i.length===0&&r?.warn(`activation source "${t}" matched nothing`,e),i}function Hp(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||r.width<=0||r.height<=0))return Math.min(1,t.width/r.width)*Math.min(1,t.height/r.height)}function tn(e){return`${Math.round(e*1e3)/10}%`}function Yo(e,t,r){let n=e.reporter;if(!n||r<=0||e.thresholdWarned)return;if(t.isIntersecting){e.sawIntersecting=!0;return}if(!e.sawIntersecting||e.entered)return;let o=Hp(t);o===void 0||o>=r-1e-6||(e.thresholdWarned=!0,n.warn(`threshold:${tn(r)} can never be met on this element \u2014 it is larger than the root it scrolls through, so its intersection ratio maxes out around ${tn(o)} and never reaches ${tn(r)}. An IntersectionObserver only reports ratio crossings, so the library cannot soften this from here \u2014 author a smaller threshold, or make the element (or its scrolling root) fit the other.`,t.target))}function Jo(){let e=new WeakMap,t,r=Number.NEGATIVE_INFINITY,n=0,o=s=>{let a=s.target,c=Xo(a);if(!c)return;let u=e.get(a);if(e.set(a,c),!u)return;let l=c.y-u.y,p=c.x-u.x,m=Math.abs(l)>=Math.abs(p)?l:p;m!==0&&(t=m>0?"after":"before",r=s.timeStamp)},i=()=>{n=0,t=void 0,r=Number.NEGATIVE_INFINITY,typeof window<"u"&&window.removeEventListener("scroll",o,{capture:!0})};return{arrivedFrom:s=>s-r<=200?t:void 0,retain(){if(n++>0||typeof window>"u")return;window.addEventListener("scroll",o,{capture:!0,passive:!0});let s=Xo(window.document);s&&e.set(window.document,s)},release(){n===0||--n>0||i()},reset:i}}function Xo(e){if(e===window||e===window.document)return{x:window.scrollX,y:window.scrollY};if(e instanceof Element)return{x:e.scrollLeft,y:e.scrollTop}}var lt="/",rn={load:{kind:"immediate"},manual:{kind:"manual"},enter:{kind:"observed",when:"enter"},leave:{kind:"observed",when:"leave"},hover:{kind:"events",types:["pointerenter","focusin"]},unhover:{kind:"events",types:["pointerleave","focusout"]},focus:{kind:"events",types:["focusin"]},blur:{kind:"events",types:["focusout"]},click:{kind:"events",types:["click"]}},Vp={load:["load"],manual:["manual"],enter:["enter"],leave:["enter"],hover:["hover"],unhover:["hover"],focus:["focus"],blur:["focus"],click:["click"]},Fp=["hover","focus","click"],ti=["click","dblclick","auxclick","contextmenu","pointerdown","pointerup","pointerenter","pointerleave","pointerover","pointerout","pointermove","pointercancel","gotpointercapture","lostpointercapture","mousedown","mouseup","mouseenter","mouseleave","mouseover","mouseout","mousemove","focusin","focusout","focus","blur","keydown","keyup","keypress","input","beforeinput","change","submit","reset","invalid","select","search","touchstart","touchend","touchmove","touchcancel","wheel","scroll","scrollend","dragstart","drag","dragend","dragenter","dragover","dragleave","drop","animationstart","animationend","animationiteration","animationcancel","transitionstart","transitionend","transitionrun","transitioncancel","play","playing","pause","ended","timeupdate","seeked","volumechange","ratechange","loadeddata","loadedmetadata","canplay","canplaythrough","waiting","stalled","toggle","beforetoggle","close","cancel","copy","cut","paste","load","error","abort","resize","fullscreenchange"],Gp=/^[A-Za-z][A-Za-z0-9._:-]*$/,Zo=2;function nn(e){return Object.hasOwn(rn,e)}function Qo(e){return nn(e)?rn[e]:{kind:"events",types:[e]}}function le(e){let t=String(e).split(lt),[r="",n]=t;return{source:e,names:t,start:Qo(r),...n===void 0?{}:{end:Qo(n)}}}function on(e){let t=e.split(lt);if(t.length>2)return[`activation "${e}" has more than one "${lt}" \u2014 expected "start${lt}end"`];if(t.filter(o=>!Gp.test(o)).length>0)return[`activation "${e}" is not an event name or a "start${lt}end" pair`];let n=t[1];return n!==void 0&&(n==="load"||n==="manual")?[`activation "${e}" cannot end on "${n}" \u2014 an exit needs an event to fire on`]:[]}function sn(e){return le(e).start.kind}function pt(e){return e.end===void 0&&e.start.kind==="observed"}function ri(e){return nn(e)?Vp[e]:Fp}function Bp(e){return/[-:.]/.test(e)?!0:ti.includes(e)}function Wp(e){let t,r=Zo+1;for(let n of[...Object.keys(rn),...ti]){let o=qp(e,n);o>=r||(r=o,t=n)}return r<=Zo&&r*2<e.length?t:void 0}function qp(e,t){let r=Array.from({length:t.length+1},(n,o)=>o);for(let n=1;n<=e.length;n++){let o=[n];for(let i=1;i<=t.length;i++){let s=r[i-1]+(e[n-1]===t[i-1]?0:1);o.push(Math.min(r[i]+1,o[i-1]+1,s))}r=o}return r[t.length]}var ei=()=>{},Kp=1e-6;function ni(e,t){return e.isIntersecting?t<=0?!0:e.intersectionRatio>=t-Kp:!1}function Up(e,t,r,n){if(Yo(e,t,r),e.onCross)return zp(e,t,r,n);let o=ni(t,r);if(o===e.entered)return;e.entered=o;let i=o?e.onEnter:e.onLeave;i&&(i(),e.oneShot&&e.release())}function zp(e,t,r,n){let o=Jp(t);if(!ni(t,r))return Yp(e,o,n);if(e.entered)return;let i=(n??e.outside)==="before"?"enter-back":"enter";e.entered=!0,e.outside=void 0,e.onCross?.(i)}function Yp(e,t,r){if(t&&(e.outside=t),!e.entered)return;e.entered=!1;let n=t??Xp(r);e.onCross?.(n==="after"?"leave-back":"leave")}function Xp(e){if(e)return e==="after"?"before":"after"}function Jp(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||!r)){if(r.bottom<=t.top||r.right<=t.left)return"before";if(r.top>=t.bottom||r.left>=t.right)return"after"}}function Rt(e={}){let t=new Map,r=new WeakMap,n=Uo(),o=e.createObserver??tm(),i=Jo(),s=e.reporter;function a(u){if(!o)return;let l=em(u),p=String(l),m=t.get(p);if(m)return{key:p,shared:m};let d={observer:o(g=>{for(let h of g){let v=r.get(h.target);v&&Up(v,h,l,i.arrivedFrom(h.time))}},{threshold:l}),count:0};return t.set(p,d),{key:p,shared:d}}function c(u,l,p){let m=a(p.threshold);if(!m)return l.failOpen&&p.activate(),ei;let{key:f,shared:d}=m,g=!!l.onCross;g&&i.retain();let h=!0,v=()=>{h&&(h=!1,g&&i.release(),r.delete(u),d.observer.unobserve(u),d.count--,!(d.count>0)&&(d.observer.disconnect(),t.delete(f)))};return r.set(u,{onEnter:l.onEnter,onLeave:l.onLeave,...l.onCross?{onCross:l.onCross}:{},oneShot:l.oneShot,release:v,entered:!1,reporter:s,sawIntersecting:!1,thresholdWarned:!1}),d.count++,d.observer.observe(u),v}return{bind(u,l,p){let m=le(l),f=Zp(m,p),d=[],g,h=Qp(f);if(h){let v=m.start.kind==="observed",E=p.cross;d.push(c(u,{...h,...E?{onCross:E}:{},oneShot:E?!1:pt(m),failOpen:v},p))}for(let v of f){let{trigger:E}=v;E.kind==="events"?(g??=zo({el:u,from:p.from,reporter:s}),d.push(n.bind({sources:g,types:E.types,run:v.run}))):E.kind==="immediate"&&v.run()}return d.length===0?ei:()=>{for(let v of d)v()}},destroy(){for(let{observer:u}of t.values())u.disconnect();t.clear(),n.destroy(),i.reset()}}}function Zp(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 Qp(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 em(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 tm(){if(!(typeof IntersectionObserver>"u"))return(e,t)=>new IntersectionObserver(e,t)}function rm(e,t){let r=ri(e);if(!r.includes("enter"))return!1;let n=o=>r.some(i=>o.supported.includes(i));return t.some(o=>o.entrance&&n(o))?t.every(o=>n(o)||o.supported.includes("load")):!1}function oi(e){nm(e),om(e)}function nm({el:e,spec:t,supported:r,claims:n,reporter:o}){if(!(r.length>0||(n?.some(a=>a.supported.length>0)??!1)))return;let s=r.length>0?r.join(", "):"none in common across the composed effects";for(let a of t.names)ri(a).some(c=>r.includes(c))||n&&rm(a,n)||o.warn(`activation "${a}" is not supported by this effect (supports: ${s})`,e)}function om({el:e,spec:t,reporter:r}){if("onclick"in e)for(let n of t.names){if(nn(n)||Bp(n)||`on${n}`in e)continue;let o=Wp(n),i=o?`; did you mean "${o}"?`:"",s=`no DOM event named "${n}" \u2014 data-kui-on binds it anyway, so nothing will start it`;r.warn(`${s}${i}`,e)}}var w={source:"data-kui",define:"data-kui-define",normalized:"data-kui-fx",state:"data-kui-state",on:"data-kui-on",timeline:"data-kui-timeline",threshold:"data-kui-threshold",stagger:"data-kui-stagger",cloak:"data-kui-cloak",rm:"data-kui-rm",unmatched:"data-kui-unmatched",part:"data-kui-part"};var an={sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},$e=Object.keys(an),ii=[["above","below"],["wide","narrow"]];function si(e){return ii.find(t=>t.includes(e))}function ai(e){return Object.hasOwn(an,e)}function mt(e){return $e.indexOf(e)}function Mt(e,t){return`--kui-${e}-${t}`}function ci(e){return`(min-width: ${an[e]})`}function ui(e,t){if(!t)return e;let r=e;return t.narrow&&(r=`var(${Mt("narrow",t.narrow)}, ${r})`),t.wide&&(r=`var(${Mt("wide",t.wide)}, ${r})`),t.below&&(r=`var(${Mt("below",t.below)}, ${r})`),t.above&&(r=`var(${Mt("above",t.above)}, ${r})`),r}function It(e,t){if(!e||typeof t?.matchMedia!="function")return!0;let r=n=>t.matchMedia(ci(n)).matches;return!(e.above&&!r(e.above)||e.below&&r(e.below))}function li(e,t){if(!e||!t)return!0;let r=(o,[i,s])=>[o[i]?mt(o[i]):-1,o[s]?mt(o[s]):$e.length],n=o=>{let[i,s]=r(e,o),[a,c]=r(t,o);return i<c&&a<s};return ii.every(n)}function pi(e){let t=new Set;for(let r of e)r.above&&t.add(r.above),r.below&&t.add(r.below);return[...t]}function mi(e,t){let r=new Map,n=new Map;function o(i){if(typeof e?.matchMedia!="function"||n.has(i))return;let s=e.matchMedia(ci(i));if(typeof s.addEventListener!="function")return;let a=()=>{for(let[c,u]of[...r])u.includes(i)&&t(c)};s.addEventListener("change",a),n.set(i,()=>s.removeEventListener("change",a))}return{watch(i,s){if(s.length===0){r.delete(i);return}r.set(i,[...s]);for(let a of s)o(a)},unwatch(i){r.delete(i)},destroy(){for(let i of n.values())i();n.clear(),r.clear()}}}var ce={stiffness:180,damping:24,mass:1,restVelocity:.05,restDisplacement:.05},im=1/240,sm=.25;function cn(e,t,r,n){let{value:o,velocity:i}=e,s=Math.min(Math.max(n,0),sm);for(;s>0;){let a=Math.min(im,s),c=-r.stiffness*(o-t)-r.damping*i;i+=c/r.mass*a,o+=i*a,s-=a}return{value:o,velocity:i}}function un(e,t,r){return Math.abs(e.velocity)<r.restVelocity&&Math.abs(e.value-t)<r.restDisplacement}var di=1e4;function xe(e,t,r){let n=am(e)?e:ce;n!==e&&r.warn?.("invalid spring configuration; using defaults");let o={value:0,velocity:0},i=0,s=null,a=0,c=0;function u(f){s=null;let d=(f-a)/1e3;if(a=f,o=cn(o,i,n,d),!cm(o)||!Number.isFinite(i)){m("spring produced non-finite state");return}if(f-c>=di){m(`spring exceeded ${di}ms settle budget`);return}if(un(o,i,n)){o={value:i,velocity:0},t(o.value,!0);return}t(o.value,!1),l()}function l(){s===null&&(s=r.requestFrame(u))}function p(){c=r.now(),s===null&&(a=c),l()}function m(f){o={value:Number.isFinite(i)?i:0,velocity:0},r.warn?.(f),t(o.value,!0)}return{to(f,d){i=f,d!==void 0&&(o={...o,velocity:d}),p()},set(f,d=0){o={value:f,velocity:d}},current:()=>({...o}),stop(){s!==null&&r.cancelFrame(s),s=null}}}function am(e){return Object.values(e).every(Number.isFinite)&&e.stiffness>0&&e.damping>0&&e.mass>0&&e.restVelocity>0&&e.restDisplacement>0}function cm(e){return Number.isFinite(e.value)&&Number.isFinite(e.velocity)}function Lt(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(()=>t(Date.now()),16),cancelFrame:t=>globalThis.clearTimeout(t),now:()=>Date.now()}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t),now:()=>performance.now()}}var vi=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),bi="spring(",dn=2/3,Ei=180,Si=1,um=2*dn*Math.sqrt(Ei*Si),Nt=.15,ln=4,Ot=1-Nt,pn=["stiffness","damping","mass"],fi=["bounce",...pn],Pi=1/240,lm=4e4,pm=.001,mm=.001,gi=16,dm=64,fm=10,_t=1e3;function fn(e){return e.startsWith(bi)&&e.endsWith(")")}function Te(e){return vi.has(e)?e:fn(e)?Ti(ki(e)):e.includes("(")?e:`var(--kui-ease-${e}, ease-out)`}var yi="ease-out";function Dt(e,t,r){if(!e)return;if(vi.has(e))return e;if(fn(e))return Ti(ki(e));if(e.includes("("))return e;let n=gm(e,t);return n||(r(`easing "${e}" has no --kui-ease-${e} definition \u2014 using ${yi}`),yi)}function gm(e,t){let r=t.ownerDocument.defaultView;return r?r.getComputedStyle(t).getPropertyValue(`--kui-ease-${e}`).trim():""}function $t(e){if(!fn(e))return[];let{values:t,problems:r}=wi(e);return xi(t,r),r}function ki(e){let{values:t,problems:r}=wi(e);return xi(t,r)}function wi(e){let t=new Map,r=[],n=e.slice(bi.length,-1).trim();if(n)for(let o of n.split(/\s+/))ym(o,t,r);return{values:t,problems:r}}function ym(e,t,r){let n=e.indexOf(":"),o=n<0?e:e.slice(0,n),i=n<0?"":e.slice(n+1);if(!fi.includes(o)){r.push(`unknown spring parameter "${e}" \u2014 expected ${fi.join(", ")}`);return}let s=Number(i);if(i===""||!Number.isFinite(s)||s<0){r.push(`spring "${o}" expects a non-negative number \u2014 got "${i}"`);return}t.has(o)&&r.push(`duplicate spring parameter "${o}"`),t.set(o,s)}function xi(e,t){let r=e.get("bounce"),n=pn.some(a=>e.has(a));if(r!==void 0)return n&&t.push(`spring "bounce" and "${pn.join('"/"')}" describe the same curve two ways \u2014 "bounce" wins`),1-hm(r,t);if(!n)return dn;let o=e.get("stiffness")??Ei,i=e.get("mass")??Si,s=e.get("damping")??um;return vm(s/(2*Math.sqrt(o*i)),t)}function hm(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 vm(e,t){if(!Number.isFinite(e))return t.push("spring constants do not describe a spring \u2014 using the default curve"),dn;if(e>=Nt&&e<=ln)return e;let r=Math.min(Math.max(e,Nt),ln);return t.push(`spring damping ratio ${mn(e)} is outside ${Nt}\u2013${ln} \u2014 clamped to ${mn(r)} so the curve settles`),r}var hi=new Map;function Ti(e){let t=Math.round(e*_t),r=hi.get(t);if(r!==void 0)return r;let n=bm(t/_t);return hi.set(t,n),n}function bm(e){let t=Em(e),r=Sm(e,(t.length-1)*Pi),n=[];for(let o=0;o<=r;o++)n.push(String(mn(Pm(t,o/r))));return n[0]="0",n[r]="1",`linear(${n.join(", ")})`}function Em(e){let t={stiffness:1,damping:2*e,mass:1,restVelocity:mm,restDisplacement:pm},r=[0],n={value:0,velocity:0};for(let o=0;o<lm&&(n=cn(n,1,t,Pi),r.push(n.value),!un(n,1,t));o++);return r}function Sm(e,t){if(e>=1)return gi;let r=2*Math.PI/Math.sqrt(1-e*e),n=gi+Math.round(fm*t/r);return Math.min(n,dm)}function Pm(e,t){let r=t*(e.length-1),n=Math.floor(r),o=Math.min(n+1,e.length-1),i=e[n];return i+(e[o]-i)*(r-n)}function mn(e){return Math.round(e*_t)/_t}var dt="infinite",km=/^(?:\d+(?:\.\d+)?|\.\d+)$/,wm=new Set(["view","scroll","pin"]),xm=new Set(["repeat","yoyo"]);function Ai(e){return xm.has(e)}function Ci(e,t,r,n){e[t]!==void 0&&n.warn(`duplicate parameter "${t}" in "${n.segment}"`),t==="yoyo"?Am(e,r,n):Tm(e,r,n)}function Tm(e,t,r){if(t===dt){e.repeat=dt;return}if(!km.test(t)){r.warn(Cm(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 Am(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 Cm(e,t){return e.startsWith("-")?`"repeat:${e}" in "${t}" is negative \u2014 a play count cannot be. Write "repeat:infinite" to loop forever, or a non-negative number such as repeat:3.`:`"repeat:${e}" in "${t}" is not a play count \u2014 expected a non-negative number such as repeat:3, or repeat:infinite`}function Ri(e){let t=[];if(e.repeat===void 0&&e.yoyo===void 0)return{warnings:t};if(e.renderer!=="css-keyframes")return{warnings:[Mm(e)]};if(e.repeat===dt&&wm.has(e.timeline))return t.push(Im(e.name,e.timeline)),{yoyo:e.yoyo,warnings:t};let r=Rm(e);return r&&t.push(r),{repeat:e.repeat,yoyo:e.yoyo,warnings:t}}function Rm(e){if(!e.cloak||e.yoyo!==!0)return null;let t=jt(e.repeat);return t===void 0||t===0||t%2!==0?null:`"${e.name}" with yoyo:true and an even repeat:${e.repeat} ends on a reversed iteration, and this effect's from-state is one the visitor is not meant to see \u2014 the element finishes hidden. Use an odd count (repeat:${t+1}) to end at the rest state.`}function Mm(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 Im(e,t){let r=t==="pin"?"a pin scrubs a single playthrough with a negative animation-delay, so no iteration past the first is ever reachable":`a "${t}" timeline is a finite range driven by scroll position rather than a clock, and an infinite iteration count collapses the animation's active duration to zero there \u2014 the element renders frozen at its end state`;return`"${e}" has repeat:infinite on a "${t}" timeline: ${r}. Dropping the repeat, so it plays once across the range \u2014 put an infinite loop on a "time" timeline instead.`}function jt(e){if(!(e===void 0||e===dt))return Number(e)}function Mi(e){return e===dt}function Ii(e){return e?"alternate":"normal"}function Ht(e,t){let r=jt(t);return r===void 0||r===1?e:`${e} * ${r}`}var Vt=["enter","leave","enter-back","leave-back"],Li=new Set(["play","pause","resume","reverse","reset","restart","complete","none"]),Ni=new Set(["pause","resume","reset","restart","complete"]),Oi="/";function Ft(e,t=[]){let r=e.split(Oi);r.length>Vt.length&&t.push(`"actions:${e}" has ${String(r.length)} verbs \u2014 there are four crossings (${Vt.join(Oi)}), so the extras are ignored`);let n={enter:"none",leave:"none","enter-back":"none","leave-back":"none"};for(let[o,i]of Vt.entries()){let s=r[o]?.trim();s===void 0||s===""||(n[i]=Lm(s,i,t))}return n}function Lm(e,t,r){return Li.has(e)?e:(r.push(`unrecognised action "${e}" for the "${t}" crossing \u2014 expected ${[...Li].join(", ")}`),"none")}function _i(e){let t=[];return Ft(e,t),t}function Om(e){for(let t of Vt)if(Ni.has(e[t]))return e[t]}function Di(e){if(!e.observed)return[`"actions:" describes the four crossings of a scroll trigger, but this element activates on "${e.activation}" \u2014 nothing here is ever reached. Use on:enter or on:enter/leave`];let t=Om(e.actions);if(t===void 0)return[];let r=[];e.progressDriven&&r.push(`"actions:" asks to ${t} an element whose progress is driven by scroll position rather than by a clock \u2014 its playhead belongs to the scroller and would be overwritten on the next frame`);let n=e.jsEffectNames;if(n.length>0){let o=n.length===1;r.push(`"actions:" asks to ${t}, which needs a playhead, and "${n.join(" ")}" ${o?"is":"are"} rendered in JavaScript and expose${o?"s":""} none \u2014 that crossing does nothing for ${o?"it":"them"}`)}return r}function $i(e,t){e==="play"?t.activate():e==="reverse"?t.reverse():Ni.has(e)&&Nm(e,t)}function Nm(e,t){if(!t.started){_m(e)&&t.activate();return}(e==="restart"||e==="complete")&&t.activate();for(let r of t.controls)Dm(e,r)}function _m(e){return e==="resume"||e==="restart"||e==="complete"}function Dm(e,t){e==="pause"?t.pause():e==="resume"?t.resume():e==="complete"?t.seek(1):(t.seek(0),e==="reset"?t.pause():t.resume())}var y={opacity:"opacity",translate:"translate",scale:"scale",rotate:"rotate",filter:"filter",clip:"clip",background:"background",color:"color",stroke:"stroke",text:"text",skew:"skew"};function A(e){return`attr:${e}`}var D="subtree";function Gt(e=()=>{}){return{activate(){},cancel(){},finish(){},finished:Promise.resolve(),destroy:e}}var je=["activation","actions","timeline","threshold","cascade","spread","order","cols","along"];var $m=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/,jm=["cubic-bezier(","steps(","linear(","spring("],Hm=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end","expo-in","expo-out","expo-in-out","back-in","back-out","back-in-out","quart-out","circ-out","spring","bounce"]);function Ae(e,t,r=[]){let n=[],o={depth:0,quote:null,escaped:!1},i="";for(let s of e){if(Vm(s,t,o)){i.trim()&&n.push(i.trim()),i="";continue}i+=s}return i.trim()&&n.push(i.trim()),o.quote?r.push(`unterminated ${o.quote} quote in "${e}"`):o.depth>0&&r.push(`unclosed "(" in "${e}"`),n}function Vm(e,t,r){return r.quote?Fm(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 Fm(e,t){return t.escaped?t.escaped=!1:e==="\\"?t.escaped=!0:e===t.quote&&(t.quote=null),!1}function ft(e){let t=0;for(let r=0;r<e.length;r++){let n=e[r];if(n==="(")t++;else if(n===")")t=Math.max(0,t-1);else if(n===":"&&t===0){let o=e.slice(0,r).trim(),i=Gm(e.slice(r+1).trim());return o&&i?[o,i]:null}}return null}function Gm(e){let t=e[0];return(t==='"'||t==="'")&&e.endsWith(t)&&e.length>1?e.slice(1,-1).replaceAll(`\\${t}`,t):e}function Vi(e){let t=[],r=Ae(e??""," ",t),[n,...o]=r;if(!n)return{warnings:t};t.push(...on(n));let i;for(let s of o){let a=ft(s);if(!a||a[0]!=="from"){t.push(`unrecognised activation option "${s}"`);continue}if(i!==void 0){t.push(`duplicate activation option "from" in "${e}"`);continue}i=a[1]}return t.length>0?{warnings:t}:{activation:n,...i===void 0?{}:{from:i},warnings:t}}function Bm(e){let t=ft(e);return t?{kind:"pair",key:t[0],value:t[1]}:$m.test(e)?{kind:"time",value:e}:Wm(e)?{kind:"easing",value:e}:{kind:"unknown",value:e}}function Wm(e){return Hm.has(e)?!0:jm.some(t=>e.startsWith(t)&&e.endsWith(")"))}function de(e){let t={specs:[],warnings:[]};for(let r of Ae(e??"",",",t.warnings)){let n=qm(r,t);n&&t.specs.push(n)}return t}function qm(e,t){let r=Ae(e," ",t.warnings),n=r.shift();if(ft(n))return Xm(n,r,t)||t.warnings.push(`effect name expected, got "${n}"`),null;let o={name:n,params:{}},i=0,s=Um(r)?{specs:[],warnings:[]}:null;for(let a of r){let c=Bm(a);c.kind==="time"?i=Zm(o,c.value,i,t.warnings):Qm(c,o,{segment:e,result:t,sink:s})}return Km(o,s,t),o}function Km(e,t,r){if(!t)return;r.warnings.push(...t.warnings);let n=zm(t);n&&(e.hoists=n)}function Um(e){return e.some(t=>ft(t)?.[0]==="target")}function zm(e){let t={},r=!1;for(let n of je){let o=e[n];o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0}var Ym=new Set(["on","actions","timeline","threshold","cascade","spread","order","cols","along"]);function Xm(e,t,r){let n=[];for(let o of[e,...t]){let i=ft(o);if(!i||!Jm.has(i[0])||!Object.hasOwn(Bt,i[0]))return!1;n.push(i)}for(let[o,i]of n)Bt[o](r,i);return!0}var Jm=new Set(["cascade","spread","order","cols","along"]);function Zm(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 Qm(e,t,r){let{segment:n,result:o,sink:i}=r;if(e.kind==="easing"){ed(e.value,t,n,o);return}if(e.kind==="unknown"){o.warnings.push(`unrecognised token "${e.value}" in "${n}" \u2014 expected [duration] [delay] [easing] or key:value`);return}if(!td(e.key,e.value,t,r)){if(Object.hasOwn(Bt,e.key)){let s=i&&Ym.has(e.key)?i:o;Bt[e.key](s,e.value);return}e.key in t.params&&o.warnings.push(`duplicate parameter "${e.key}" in "${n}"`),t.params[e.key]=e.value}}function ed(e,t,r,n){t.easing&&n.warnings.push(`duplicate easing "${e}" in "${r}"`);for(let o of $t(e))n.warnings.push(`${o} in "${r}"`);t.easing=e}function td(e,t,r,n){let{segment:o,result:i}=n;return e==="at"?(r.at!==void 0&&i.warnings.push(`duplicate parameter "at" in "${o}"`),r.at=t,!0):nd(e)?(od(r,e,t,n),!0):Ai(e)?(Ci(r,e,t,{segment:o,warn:s=>i.warnings.push(s)}),!0):!1}var rd=new Set(["above","below","wide","narrow"]);function nd(e){return rd.has(e)}function od(e,t,r,n){let{segment:o,result:i}=n;if(!ai(r)){i.warnings.push(`unknown breakpoint "${r}" in "${o}" \u2014 expected one of ${$e.join(", ")}`);return}let s=e.gate??={};s[t]!==void 0&&i.warnings.push(`duplicate parameter "${t}" in "${o}"`),s[t]=r,id(s,si(t),o,i)}function id(e,t,r,n){let[o,i]=t,s=e[o],a=e[i];!s||!a||mt(s)<mt(a)||n.warnings.push(`"${o}:${s} ${i}:${a}" in "${r}" can never match \u2014 "${o}" must name a smaller breakpoint than "${i}"`)}var ji=new Set(["shorten","crossfade","disable"]),Bt={on(e,t){let r=on(t);if(r.length>0){e.warnings.push(...r);return}re(e,"activation",t,"activations")},timeline(e,t){re(e,"timeline",t,"timelines")},actions(e,t){let r=_i(t);if(r.length>0){e.warnings.push(...r);return}re(e,"actions",t,"crossing actions")},threshold(e,t){re(e,"threshold",t,"thresholds")},cascade(e,t){Hi(e,"spread","cascade",t),re(e,"cascade",t,"stagger steps")},spread(e,t){Hi(e,"cascade","spread",t),re(e,"spread",t,"stagger budgets")},order(e,t){re(e,"order",t,"stagger orders")},cols(e,t){re(e,"cols",t,"stagger column counts")},along(e,t){re(e,"along",t,"stagger axes")},rm(e,t){if(!ji.has(t)){e.warnings.push(`unrecognised "rm:${t}" \u2014 expected ${[...ji].join(", ")}`);return}re(e,"rm",t,"reduced-motion policies")},func(e,t){re(e,"func",t,"callbacks")}};function Hi(e,t,r,n){let o=e[t];o!==void 0&&e.warnings.push(`"${t}:${o}" and "${r}:${n}" are two ways to set one stagger step \u2014 the total budget ("spread:") wins`)}function re(e,t,r,n){let o=e[t];if(o===void 0){e[t]=r;return}o!==r&&e.warnings.push(`conflicting ${n} "${String(o)}" and "${String(r)}"`)}var Ce=class{primitives=new Map;presets=new Map;combos=new Map;registerPrimitive(t){if(this.primitives.has(t.id))throw new Error(`kuinetic: primitive "${t.id}" is already registered`);return this.primitives.set(t.id,ad(t)),this}registerPreset(t){if(this.presets.has(t.name))throw new Error(`kuinetic: effect "${t.name}" is already registered`);if(!this.primitives.has(t.primitive))throw new Error(`kuinetic: effect "${t.name}" references unknown primitive "${t.primitive}"`);for(let r of t.transitions??[])if(r.property==="all"||r.property==="none")throw new Error(`kuinetic: effect "${t.name}" declares a transition on "${r.property}", which would swallow every other preset's segment in the merged transition list \u2014 name the real property instead`);return this.presets.set(t.name,t),this}registerPresets(t){for(let r of t)this.registerPreset(r);return this}registerPrimitives(t){for(let r of t)this.registerPrimitive(r);return this}registerCombo(t,r){return this.combos.set(Fi(t),r),this}resolve(t){let r=this.presets.get(t);if(!r)return;let n=this.primitives.get(r.primitive);return{preset:r,primitive:n}}findCombo(t){let r=this.combos.get(Fi(t));return r?this.resolve(r):void 0}has(t){return this.presets.has(t)}names(){return[...this.presets.keys()].sort((t,r)=>t.localeCompare(r))}getPrimitive(t){return this.primitives.get(t)}},sd=["duration","delay","ease"];function Re(e,t){return`--kui-${e}-${t}`}function ad(e){let t={...e.parameters};for(let r of sd){let n=t[r];n&&(t[r]={...n,cssProperty:Re(e.id,r)})}return{...e,parameters:t}}function Fi(e){return[...e].sort((t,r)=>t.localeCompare(r)).join("+")}function Ye(e,t){let r,n=1/0;for(let o of t){let i=cd(e,o);i<n&&(n=i,r=o)}return n<=Math.max(2,Math.floor(e.length/3))?r:void 0}function cd(e,t){let r=e.length+1,n=t.length+1,o=Array.from({length:n},(i,s)=>s);for(let i=1;i<r;i++){let s=[i,...Array(n-1).fill(0)];for(let a=1;a<n;a++){let c=e[i-1]===t[a-1]?0:1;s[a]=Math.min(s[a-1]+1,o[a]+1,o[a-1]+c)}o=s}return o[n-1]}var Gi=["activation","timeline","threshold","rm","func"],ud={activation:"on",timeline:"timeline",threshold:"threshold",rm:"rm",func:"func"},Wt=class{constructor(t){this.registry=t}bundles=new Map;collect(t,r){let n=0;for(let o of dd(t))this.define(o,r)&&n++;return n}expand(t){if(this.bundles.size===0)return t;let r={warnings:[...t.warnings],hoists:{}},n=this.expandList(t.specs,[],r),o={...t,specs:n,warnings:r.warnings};for(let i of Gi)Bi(o,r.hoists,i);return o}define(t,r){let n=t.getAttribute(w.define).trim(),o=t.getAttribute(w.source)??"",i=this.nameProblem(n);if(i)return r.warn(i,t),!1;let s=this.bundles.get(n);return s?(s.source!==o&&r.warn(`bundle "${n}" is already defined \u2014 the first definition wins`,t),!1):(t.localName!=="template"&&r.warn(`bundle "${n}" is defined on <${t.localName}> \u2014 a definition is data, so it is never animated; use <template>`,t),this.bundles.set(n,ld(n,o,t,r)),!0)}nameProblem(t){if(!t)return`${w.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 ${w.source}`;if(this.registry.has(t))return`bundle "${t}" is already the name of a registered effect \u2014 the effect wins and this definition is ignored`}expandList(t,r,n){let o=[];for(let i of t){let s=this.bundles.get(i.name);if(!s){o.push(i),this.noteNearMiss(i.name,n.warnings);continue}if(r.includes(i.name)){n.warnings.push(md(r,i.name));continue}pd(s,i.name,n);let a=this.expandList(s.specs,[...r,i.name],n);yd(i,a,n.warnings);for(let c of a)o.push(fd(c,i))}return o}noteNearMiss(t,r){if(this.registry.has(t))return;let n=Ye(t,[...this.bundles.keys()]);n&&r.push(`"${t}" is not a registered effect \u2014 did you mean the bundle "${n}"?`)}};function ld(e,t,r,n){let o=de(t);for(let s of o.warnings)n.warn(`in bundle "${e}": ${s}`,r);o.specs.length===0&&n.warn(`bundle "${e}" names no effect \u2014 elements that use it animate nothing`,r);let i=["cascade","spread","order","cols","along"].filter(s=>o[s]!==void 0).map(s=>`"${s}:"`).join(" and ");return i&&n.warn(`bundle "${e}" declares ${i} \u2014 a stagger group is read from the group element's own attribute, which never sees a bundle, so it is dropped; write it on the group element itself`,r),{source:t,specs:o.specs,hoists:o}}function pd(e,t,r){for(let n of Gi){if(Bi(r.hoists,e.hoists,n)!=="clash")continue;let o=ud[n],i=String(r.hoists[n]);r.warnings.push(`bundle "${t}" sets "${o}:${String(e.hoists[n])}", which conflicts with "${o}:${i}" from an earlier bundle \u2014 the first wins`)}}function md(e,t){let r=[...e,t].join(" \u2192 ");return`bundle "${t}" is defined in terms of itself (${r}) \u2014 the reference is dropped`}function dd(e){let t=`[${w.define}]`,r=[...e.querySelectorAll(t)],n=e.nodeType===1?e:null;return n?.matches(t)&&r.unshift(n),r}function Bi(e,t,r){let n=t[r];if(n===void 0)return"kept";let o=e[r];return o===void 0?(e[r]=n,"taken"):o===n?"kept":"clash"}function fd(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:gd(e.hoists,t.hoists)}}function gd(e,t){if(!e&&!t)return;let r={...e};for(let n of je){let o=t?.[n];o!==void 0&&(r[n]=o)}return r}function yd(e,t,r){e.at===void 0||!t.some(n=>n.at!==void 0)||r.push(`"at:${e.at}" on "${e.name}" overrides the offsets the bundle sets on its own segments \u2014 they now all start at the same position`)}function yt(e,t){return typeof e=="string"?[...t.querySelectorAll(e)]:e instanceof Element?[e]:[...e]}function gn(e){if(e!==void 0)return typeof e=="number"?`${e}ms`:e}var hd=/[\s,()"']/;function vd(e){return hd.test(e)?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:e}function bd(e){let t=0;for(let r of e)if(r==="(")t++;else if(r===")")t=Math.max(0,t-1);else if(r===":"&&t===0)return!0;return!1}function gt(e,t){let r=[],n=Ae(t," ",r),o=Ae(t,",",r),i=n.length===1&&n[0]===t;if(!(r.length===0&&i&&o.length===1&&!bd(t)))throw new Error(`play(): ${e} "${t}" cannot be serialized \u2014 it contains a space, comma, colon, quote, or unbalanced parenthesis the parser cannot read back as one token`)}function yn(e,t={}){gt("effect",e);let{duration:r,delay:n,ease:o,...i}=t;delete i.stagger;let s=[e],a=gn(n),c=gn(r);c&&(gt("duration",c),s.push(c)),a&&(gt("delay",a),s.push(c?a:`delay:${a}`)),o&&(gt("easing",o),s.push(o));for(let[u,l]of Object.entries(i))l!==void 0&&(gt("parameter name",u),s.push(`${u}:${vd(String(l))}`));return s.join(" ")}function qt(e,t={}){let{animator:r,root:n,target:o,effect:i}=e,s=yt(o,n),a=gn(t.stagger),c=yn(i,t);for(let[p,m]of s.entries())a&&(m.style.setProperty("--kui-stagger",a),m.style.setProperty("--kui-i",String(p))),r.reset(m),m.hasAttribute(w.on)||m.setAttribute(w.on,"manual"),m.setAttribute(w.source,c),r.process(m),r.activate(m);let u=p=>[p,...r.derivedOf(p)].flatMap(m=>r.stateOf(m)?.instances??[]),l=Promise.all(s.flatMap(p=>u(p).map(m=>m.finished))).then(()=>{});return{elements:s,finished:l,cancel(){for(let p of s)r.cancel(p)},finish(){for(let p of s)for(let m of u(p))m.finish()}}}var hn=0;function Wi(e){return Math.min(1,Math.max(0,e))}function Ui(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function zi(e){return Ui(e.effect?.getComputedTiming?.().endTime)}function qi(e){let t=hn;for(let r of e)t=Math.max(t,zi(r));return t}function Yi(e){return e.length===0?"idle":e.includes("running")?"running":e.includes("paused")?"paused":e.every(t=>t==="finished")?"finished":"idle"}function Ki(e){try{e()}catch{}}function Xi(e,t){return{pause(){t.set("animation-play-state","paused")},resume(){t.set("animation-play-state","running")},reverse(){for(let r of e())Ki(()=>r.reverse());t.set("animation-play-state","running")},seek(r){let n=e(),o=qi(n);if(o===hn)return;let i=Wi(r)*o;for(let s of n)Ki(()=>{s.currentTime=Math.min(i,zi(s))})},rate(r){for(let n of e())n.playbackRate=r},get progress(){let r=e(),n=qi(r);if(n===hn)return 0;let o=0;for(let i of r)o=Math.max(o,Ui(i.currentTime));return Wi(o/n)},get playState(){return Yi(e().map(r=>r.playState))}}}function Ed(e,t){let r=e.stateOf(t);if(!r)return{el:t,controls:[],unreachable:[],refused:!0,note:"no kUInetic effect is installed on this element \u2014 it has no playhead to control"};if(r.progressDriven)return{el:t,controls:[],unreachable:[...r.fxNames],refused:!0,note:`"${r.fxNames.join(" ")}" is driven by scroll position rather than a clock, so its playhead belongs to the scroller \u2014 pausing or seeking it would be overwritten on the next frame`};let n=r.instances.map(i=>i.control).filter(i=>i!==void 0),o=[...r.jsEffectNames];return o.length===0?{el:t,controls:n,unreachable:o}:{el:t,controls:n,unreachable:o,note:`"${o.join(" ")}" ${o.length===1?"is":"are"} rendered in JavaScript and expose${o.length===1?"s":""} no playhead, so pause, seek and timeScale do not reach ${o.length===1?"it":"them"}`}}function Sd(e,t){let r=new Set,n=[];for(let o of t)for(let i of[o,...e.derivedOf(o)])r.has(i)||(r.add(i),n.push(i));return n}function Kt(e){let{animator:t,root:r,target:n}=e,o=yt(n,r),i=Sd(t,o),s=i.map(p=>Ed(t,p));for(let[p,m]of s.entries())m.note&&t.reporter.warn(`control(): ${m.note}`,i[p]);let a=p=>{for(let m of s)for(let f of m.controls)p(f);return l},c=(p,m)=>(t.reporter.warn(`control(): ${p} ignored \u2014 ${String(m)} is not a finite number`),l),u=()=>{for(let p of s)p.refused||t.reverseFrom(p.el);return l},l={elements:o,get uncontrolled(){return s.flatMap(p=>p.unreachable)},pause:()=>a(p=>p.pause()),play:()=>a(p=>p.resume()),reverse:()=>u(),seek:p=>Number.isFinite(p)?a(m=>m.seek(p)):c("seek()",p),timeScale:p=>Number.isFinite(p)?a(m=>m.rate(p)):c("timeScale()",p),get progress(){let p=1,m=!1;for(let f of s)for(let d of f.controls)p=Math.min(p,d.progress),m=!0;return m?p:0},get state(){return Yi(s.flatMap(p=>p.controls.map(m=>m.playState)))}};return l}var X={start:"kui:start",finish:"kui:finish",reverseFinish:"kui:reverse-finish",cancel:"kui:cancel"};function Ji(e,t,r){let n=e.ownerDocument?.defaultView?.CustomEvent??globalThis.CustomEvent;typeof n=="function"&&e.dispatchEvent(new n(t,{detail:r,bubbles:!0,composed:!0}))}function Zi(e){let{el:t,name:r,reporter:n,signal:o}=e,i=s=>{if(s.target!==t)return;let a=Pd(t,r);if(!a){n.warn(`func:${r} \u2014 no global function named "${r}". A function declaration (\`function ${r}() {}\`) or an explicit \`window.${r} = \u2026\` creates one; \`const\` and \`let\` deliberately do not, and neither does a bundled or \`type="module"\` script.`,t);return}Reflect.apply(a,t,[s])};t.addEventListener(X.finish,i),o.addEventListener("abort",()=>t.removeEventListener(X.finish,i))}function Pd(e,t){let r=e.ownerDocument?.defaultView??globalThis;if(!Object.hasOwn(r,t))return;let n=r[t];return typeof n=="function"?n:void 0}function He(e,t){if(typeof CSS>"u"||typeof CSS.supports!="function")return!1;try{return CSS.supports(e,t)}catch{return!1}}var Ut;function zt(e=!1){return Ut&&!e||(Ut={viewTimeline:He("animation-timeline","view()"),scrollTimeline:He("animation-timeline","scroll()"),animationRange:He("animation-range","entry 0% cover 30%"),individualTransforms:He("translate","0 10px")&&He("scale","1.1"),scrollTimelineName:He("scroll-timeline-name","--x"),viewTransitions:typeof document<"u"&&"startViewTransition"in document,intersectionObserver:typeof IntersectionObserver<"u",reducedMotion:typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches,motionPath:He("offset-path",'path("M 0 0")')}),Ut}var kd=[{channel:"offset",capability:"motionPath",message:"this browser does not support CSS Motion Path (offset-path), so the element will not travel \u2014 the animation still runs and completes, it just has no path to follow"}];function Qi(e,t){return kd.filter(r=>e.includes(r.channel)&&!t[r.capability]).map(r=>r.message)}var wd=new Set(["entrance|state","exit|state"]);function xd(e,t){return e<t?`${e}|${t}`:`${t}|${e}`}function Td(e,t){return!e.phase||!t.phase?!1:wd.has(xd(e.phase,t.phase))}var Ad={translate:"add"};function es(e){return e.length>0&&e.every(t=>Ad[t]==="add")}function ts(e,t){if(t.some(o=>o.effects[0]===o.effects[1]))return;let r=new Set(t.map(o=>o.channel)),n=new Set;e.forEach((o,i)=>{o.channels.some(s=>r.has(s))&&n.add(i)});for(let o of n)if(!e[o].additive)return;return n}function rs(e){let t=[],r=new Map;for(let n of e)for(let o of n.channels){let i=r.get(o)??[],s=i.find(a=>li(a.gate,n.gate)&&!Td(a,n));s&&t.push({channel:o,effects:[s.name,n.name]}),i.push(n),r.set(o,i)}return t}function ns(e){let t=e.filter(n=>n.delivery==="stylesheet-animation");if(t.length===0)return[];let r=e.find(n=>n.inlineAnimation&&!n.delivery);return r?t.map(n=>`"${r.name}" writes an inline animation, which outranks the stylesheet rule "${n.name}" delivers its motion from`):[]}function os(e){return e.map(t=>`"${t.effects[0]}" and "${t.effects[1]}" both animate ${t.channel}`).join("; ")}var is=/[;<]|\/\*|url\s*\(|expression\s*\(|@import|image-set\s*\(/i,Cd=/^(?:[a-z][a-z0-9+.-]*:|[/\\]{2})/i,vn=200,Rd=2e3,Md=/^[MmZzLlHhVvCcSsQqTtAa0-9eE.,+\-\s]+$/,Xe=String.raw`-?(?:\d+(?:\.\d+)?|\.\d+)`,Id="px|rem|em|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc|q|%",ss={length:new RegExp(`^(?:0|${Xe}(?:${Id}))$`,"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")},Ld=new RegExp(`^(${Xe})d?$`,"i");function Od(e){let t=Ld.exec(e);return t?`${t[1]}deg`:e}var Nd=/^([+-]?)(\d+(?:\.\d+)?|\.\d+)(?:e([+-]?\d+))?$/i,_d=/^#[0-9a-f]{3,8}$/i,Dd=/^(?:rgba?|hsla?|okl(?:ch|ab)|l(?:ch|ab)|color)\([^()]*\)$/i,$d=new Set(["accentcolor","accentcolortext","activetext","buttonborder","buttonface","buttontext","canvas","canvastext","field","fieldtext","graytext","highlight","highlighttext","linktext","mark","marktext","selecteditem","selecteditemtext","visitedtext","transparent","currentcolor","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),jd=/^(?:linear|ease|step-start|step-end|spring|bounce|[a-z]+-(?:in|out|in-out))$/i,Hd=/^(?:cubic-bezier|steps|linear|spring)\([^()]*\)$/i,Vd={"number|percentage":["number","percentage"],"length|percentage":["length","percentage"],"angle|keyword":["angle"]};function Fd(e){return Vd[e]??[e]}var Gd=new Set(["length","percentage","number"]),Bd=new Set(["number","number|percentage"]),Wd=/^[\d.\s+\-*/%a-z,]$/i,qd=/^--[\w-]+$/;function Me(e,t){let r=e.trim(),n=Jd(r,t);if(n)return n;let o=Kd(r,t);if(o)return o;if(t.type==="text")return{value:r,ok:!0};if(t.type==="path")return Xd(r,t);let i=Ud(r,t.type);return Zd(i,t.type)?tf(i,t):ue(t,`not a valid ${Qd(t)}`)}function Kd(e,t){return t.type!=="keyword"&&t.type!=="angle|keyword"?null:t.keywords?.includes(e)?{value:e,ok:!0}:t.type!=="keyword"?null:ue(t,`expected one of ${t.keywords?.join(", ")||"(none declared)"}`)}function Ud(e,t){return t==="angle"||t==="angle|keyword"?Od(e):t==="number|percentage"?zd(e):e}function zd(e){return ss.percentage.test(e)?fe(e.slice(0,-1),-2)??e:e}function fe(e,t=0){let r=Nd.exec(e);if(!r||e.length>vn)return;let[,n,o,i]=r,s=o.replace(".",""),a=o.indexOf("."),c=(a<0?s.length:a)+Number(i??0)+t;if(Math.abs(c)+s.length>190)return;let u="0".repeat(Math.max(0,-c))+s+"0".repeat(Math.max(0,c-s.length)),l=Math.max(0,c),p=u.slice(0,l).replace(/^0+/,"")||"0",m=Yd(u,l);return`${n==="-"?"-":""}${p}${m}`}function Yd(e,t){let r=e.length;for(;r>t&&e[r-1]==="0";)r--;return r>t?"."+e.slice(t,r):""}function as(e){return e.length<=vn&&!is.test(e)}function Xd(e,t){return Md.test(e)?/^[Mm]/.test(e)?{value:`"${e}"`,ok:!0}:ue(t,"path data must start with a moveto (M or m)"):ue(t,"path data contains an unsupported character")}function Jd(e,t){if(!e)return ue(t,"empty value");let r=t.type==="path"?Rd:vn;return e.length>r?ue(t,`value exceeds ${r} characters`):is.test(e)?ue(t,"value contains disallowed CSS syntax"):null}function Zd(e,t){if(t==="color")return ef(e);if(t==="easing")return jd.test(e)||Hd.test(e);let r=Fd(t);return r.some(n=>ss[n]?.test(e))?!0:r.some(n=>Gd.has(n))?rf(e)&&sf(e):!1}function Qd(e){return e.type==="angle|keyword"?`angle or one of ${e.keywords?.join(", ")||"(none declared)"}`:e.type.replace("|"," or ")}function ef(e){return _d.test(e)||Dd.test(e)||$d.has(e.toLowerCase())}function cs(e){return!Cd.test(e)}function tf(e,t){if(!Bd.has(t.type))return{value:e,ok:!0};let r=Number(e);return t.finite&&!Number.isFinite(r)?ue(t,"expected a finite number"):t.integer&&!Number.isInteger(r)?ue(t,"expected an integer"):t.minimum!==void 0&&r<t.minimum?ue(t,`expected at least ${t.minimum}`):t.maximum!==void 0&&r>t.maximum?ue(t,`expected at most ${t.maximum}`):{value:e,ok:!0}}function ue(e,t){return{value:e.default,ok:!1,reason:t}}function rf(e){if(!e.startsWith("calc(")||!e.endsWith(")"))return!1;let t=e.length-1,r=5;for(;r<t;)if(r=nf(e,r,t),r<0)return!1;return!0}function nf(e,t,r){return e.startsWith("var(",t)?of(e,t,r):Wd.test(e[t])?t+1:-1}function of(e,t,r){let n=e.indexOf(")",t+4);if(n<0||n>=r)return-1;let o=e.slice(t+4,n);return qd.test(o)?n+1:-1}function sf(e){let t=e.slice(5,-1).trim();return t!==""&&!/[+\-*/]$/.test(t)}function us(e,t,r){let n={};for(let[o,i]of Object.entries(e)){let s=Object.hasOwn(t,o)?t[o]:void 0;if(!s){r(`unknown parameter "${o}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}if(s.type==="text")continue;let a=Me(i,s);if(!a.ok){r(`parameter "${o}": ${a.reason} \u2014 got "${i}", using default "${s.default}"`);continue}n[s.cssProperty]=af(a.value,s,o,r)}return n}function af(e,t,r,n){if(t.type!=="easing")return e;for(let o of $t(e))n(`parameter "${r}": ${o}`);return Te(e)}var ps={viewportWidth:0,viewportHeight:0,percentBasis:0,fontSize:16,rootFontSize:16},cf={px:1,cm:96/2.54,mm:96/25.4,q:96/101.6,in:96,pt:96/72,pc:16},uf={vh:e=>e.viewportHeight/100,vw:e=>e.viewportWidth/100,vmin:e=>Math.min(e.viewportWidth,e.viewportHeight)/100,vmax:e=>Math.max(e.viewportWidth,e.viewportHeight)/100,"%":e=>e.percentBasis/100,em:e=>e.fontSize,rem:e=>e.rootFontSize,ch:e=>e.fontSize*.5,ex:e=>e.fontSize*.5},bn=/^(-?(?:\d+(?:\.\d+)?|\.\d+))([a-z%]*)$/i;function lf(e,t,r){let n={};for(let[o,i]of Object.entries(t))n[o]=i.default;for(let[o,i]of Object.entries(e)){let s=Object.hasOwn(t,o)?t[o]:void 0;if(!s){r(`unknown parameter "${o}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}let a=Me(i,s);n[o]=a.value,a.ok||r(`parameter "${o}": ${a.reason} \u2014 got "${i}", using default "${s.default}"`)}return n}function ht(e,t=0){let r=bn.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),o=r[2].toLowerCase();return o==="ms"?n:o==="s"?n*1e3:t}function ge(e,t,r=0){let n=bn.exec(e.trim());if(!n)return r;let o=Number.parseFloat(n[1]),i=n[2].toLowerCase();if(i==="")return o===0?0:r;let s=cf[i];if(s!==void 0)return o*s;let a=uf[i];return a?o*a(t):r}function pf(e,t=0){let r=bn.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),o=r[2];return o===""?n:o==="%"?n/100:t}var mf={type:"easing",default:"",cssProperty:"--kui-ease"};function ls(e,t,r){if(e===void 0)return;let n=ht(e,Number.NaN);if(Number.isFinite(n))return n;r(`${t} "${e}" is not a valid time \u2014 ignored`)}function df(e,t){if(e===void 0)return;let r=Me(e,mf);if(r.ok)return r.value;t(`easing "${e}": ${r.reason} \u2014 ignored`)}function ms(e,t){return{durationMs:ls(e.duration,"duration",t),delayMs:ls(e.delay,"delay",t),easing:df(e.easing,t)}}function Z(e,t){return e.timing.durationMs??e.ms("duration",t)}function ff(e,t={}){return{text:(r,n="")=>e[r]??n,ms:(r,n=0)=>ht(e[r]??"",n),num:(r,n=0)=>pf(e[r]??"",n),is:(r,n="true")=>(e[r]??"")===n,timing:t}}function ds(e,t,r,n={}){return ff(lf(e,t,r),n)}var gf="600ms",gs="0ms";function Yt(e,t){return e??`var(${Re(t,"duration")}, ${gf})`}function yf(e,t){return e??`var(${Re(t,"delay")}, ${gs})`}var hf=/^(with|after)/i,vf=/^([+-])(\d+(?:\.\d+)?|\.\d+)(ms|s)$/i,bf=/^(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/i,Ef=new Set(["view","scroll"]);function Sf(e){let t=e.trim(),r=hf.exec(t),n=r?.[1]?.toLowerCase()==="with"?"start":"end",o=r?t.slice(r[0].length):t;if(o==="")return r?{ok:!0,position:{anchor:n,offsetMs:0,term:""}}:{ok:!1,reason:fs(t)};let i=vf.exec(o);if(!i)return{ok:!1,reason:fs(t)};let[,s,a,c]=i,u=`${a}${c}`,l=ht(u,0);return{ok:!0,position:{anchor:n,offsetMs:s==="-"?-l:l,term:` ${s} ${u}`}}}function fs(e){return bf.test(e)?`at:"${e}" is an absolute position, which is only another spelling of delay:${e} \u2014 write at:+${e} to start that long after the previous effect ends, at:-${e} to overlap it by that much, or at:with to start alongside it`:`at:"${e}" is not a position \u2014 expected at:with, at:after, or a signed time such as at:-200ms, at:+100ms or at:with+150ms`}function ys(e,t,r){let n={members:e,steps:[],warn:r},o=!1;for(let[i,s]of e.entries()){if(s.at===void 0){n.steps.push(hs(s));continue}!o&&Ef.has(t)&&(o=!0,r(Af(t))),n.steps.push(Pf(n,i))}return n.steps}function hs(e){return{delayExpr:yf(e.delay,e.primitiveId),delayMs:En(e.delay??e.cascadeDelay??gs)??0,sequenced:!1}}function Pf(e,t){let r=e.members[t],n=hs(r),o=Sf(r.at);if(!o.ok)return e.warn(`"${r.name}": ${o.reason}`),n;let i=kf(e,t);return i?(e.warn(i),n):(r.delay!==void 0&&e.warn(`"${r.name}" has both a positional delay (${r.delay}) and at:"${r.at}" \u2014 the delay is ignored, because at: positions the effect itself`),wf(e,t,o.position,n))}function kf(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 wf(e,t,r,n){let o=e.members[t-1],i=e.steps[t-1];if(r.anchor==="start")return{delayExpr:`${i.delayExpr}${r.term}`,delayMs:i.delayMs+r.offsetMs,sequenced:!0};if(Mi(o.repeat))return Tf(e,t,n);let s=En(o.duration??o.cascadeDuration??"");if(s===void 0)return xf(e,t,n);let a=Ht(Yt(o.duration,o.primitiveId),o.repeat);return{delayExpr:`${i.delayExpr} + ${a}${r.term}`,delayMs:i.delayMs+s*(jt(o.repeat)??1)+r.offsetMs,sequenced:!0}}function xf(e,t,r){let n=e.members[t],o=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${o.name}": "${o.name}" has no readable duration, so it has no end to measure from \u2014 give it an explicit duration, or use at:with to start alongside it instead`),r}function Tf(e,t,r){let n=e.members[t],o=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${o.name}": "${o.name}" has repeat:infinite, so it never ends \u2014 use at:with to start alongside it, or give it a finite repeat count`),r}function Af(e){return`at: compiles to an animation-delay, and a "${e}" timeline is driven by scroll position rather than a clock, so it ignores one \u2014 position a scroll-driven effect with a range instead (the trailing tokens of data-kui-timeline, e.g. data-kui-timeline="${e} entry 0% cover 60%"). The delay still applies where the browser has no scroll-driven animations and the effect degrades to a clock.`}function En(e){let t=ht(e,Number.NaN);return Number.isFinite(t)?t:void 0}function vs(e){return En(e)!==void 0}function bs(){return{names:[],keyframes:[],durations:[],delays:[],ends:[],easings:[],iterationCounts:[],directions:[],compositions:[]}}function Cf(e){let{preset:t}=e.resolved;return e.variant?.keyframes??[t.keyframes??`kui-${t.name}`]}function Rf(e){return`--kui-fx-${e}-iterations`}function Es(e,t,r){let{spec:n,resolved:o}=t,i=o.primitive.id,s=Yt(n.duration,i),a=Mf(r.delayExpr),c=`${r.delayExpr} + ${Ht(s,n.repeat)}`,u=ws(n.easing,i),l=n.repeat??`var(${Rf(o.preset.name)}, 1)`,p=Ii(n.yoyo),m=t.composite??"replace";for(let f of Cf(t))e.names.push(ui(f,n.gate)),e.keyframes.push(f),e.durations.push(s),e.delays.push(a),e.ends.push(c),e.easings.push(u),e.iterationCounts.push(l),e.directions.push(p),e.compositions.push(m)}function Ss(e,t,r,n){let{spec:o,resolved:i}=r,{preset:s,primitive:a}=i;for(let c of s.transitions??[]){let u=t.get(c.property);u!==void 0&&u!==s.name&&n.push(`"${u}" and "${s.name}" both transition ${c.property} \u2014 "${s.name}" wins (last in the list)`),t.set(c.property,s.name);let l=c.duration??Yt(o.duration,a.id),p=c.easing??ws(o.easing,a.id),m=`var(--kui-tx-delay-${s.name}, 0ms)`;e.push(`${c.property} ${l} ${p} ${m}`)}}function Ps(e,t){if(e.names.length===0)return{};let r=t==="pin"?If(e):e.delays.map(ks),n={"animation-name":e.names.join(", "),"animation-duration":e.durations.join(", "),"animation-delay":r.join(", "),"animation-timing-function":e.easings.join(", "),"animation-iteration-count":e.iterationCounts.join(", "),"animation-fill-mode":e.names.map(()=>"both").join(", ")};return e.directions.some(o=>o!=="normal")&&(n["animation-direction"]=e.directions.join(", ")),e.compositions.some(o=>o!=="replace")&&(n["animation-composition"]=e.compositions.join(", ")),n}function Mf(e){return`${e} + var(--kui-i, 0) * var(--kui-stagger, 0ms)`}function ks(e){return`calc(${e})`}function If(e){let t=[...new Set(e.ends)],n=`${t.length===1?t[0]:`max(${t.join(", ")})`} + (var(--kui-stagger-count, 1) - 1) * var(--kui-stagger, 0ms)`;return e.delays.map(o=>ks(`${o} - var(--kui-progress, 0) * (${n})`))}function ws(e,t){return e?Te(e):`var(${Re(t,"ease")}, ease-out)`}var Sn=new Set(["time","view","scroll","pointer","pin"]);function xs(e){return{source:e.getAttribute(w.source)??"",on:e.getAttribute(w.on),timeline:e.getAttribute(w.timeline),threshold:e.getAttribute(w.threshold)}}function Ts(e,t){let r=t.timeline??e.timeline??"time",[n="time",...o]=r.trim().split(/\s+/),i=Vi(e.on),s=t.activation??i.activation;return{activation:s??"enter",activationAuthored:s!==void 0,...Lf({parsed:t,longhand:i}),...t.actions===void 0?{}:{actions:Ft(t.actions)},timeline:Sn.has(n)?n:"time",range:o.join(" "),threshold:t.threshold??e.threshold??"0%"}}function As(e,t){if(e===void 0)return t;let[r]=e.trim().split(/\s+/);return Sn.has(r)?r:t}function Cs(e,t){if(!t)return e;let r=t.activation,n={...e,activation:r??e.activation,activationAuthored:r!==void 0||e.activationAuthored};if(t.actions!==void 0&&(n.actions=Ft(t.actions)),t.timeline!==void 0){let[o="time",...i]=t.timeline.trim().split(/\s+/);n.timeline=Sn.has(o)?o:e.timeline,n.range=i.join(" ")}return t.threshold!==void 0&&(n.threshold=t.threshold),n}function Lf({parsed:e,longhand:t}){return e.activation!==void 0||t.from===void 0?{}:{activationSource:t.from}}var Xt={shorten:0,crossfade:1,disable:2};function Rs(e){let t=e.map(o=>o.defaultActivation),r=t.find(o=>o!==void 0),n=e.findIndex(o=>o.phase==="entrance");return r===void 0||n===-1?r:t[n]??"enter"}function Ms(e){let t="shorten";for(let{plan:r}of e)t=kn(t,r.reducedMotion);for(let{plan:r}of e)r.reducedMotion=t}function Is(e,t,r){return t===void 0?e:Xt[t]<Xt[e]?(r.push(`"rm:${t}" is weaker than the "${e}" these effects declare \u2014 keeping "${e}" (rm: may only strengthen the reduced-motion policy)`),e):t}function Pn(e,t){return e?e.filter(r=>t.includes(r)):[...t]}function kn(e,t){return Xt[t]>Xt[e]?t:e}var Of=/^[.#[*:]/,Nf=/[>~+]/;function _f(e){return Of.test(e)||Nf.test(e)}function Ls(e,t){let r=[];for(let[n,o]of e.entries()){let i=e[n-1]?.params.target;!i||t.has(o.name)||!_f(o.name)||r.push({previous:i,segment:o.name})}return r}function Os(e){return`target:${e.previous} looks like it continues into "${e.segment}", but a comma always starts a new effect segment \u2014 a target: selector containing a comma must be quoted, e.g. target:'${e.previous}, ${e.segment}'`}function wn(e){let t=e.resolved.primitive.channels;return e.variant?.channels?[...t,...e.variant.channels]:t}function Jt(e){return e.variant?.params??e.spec.params}function Df(e){let t=e.variant?.schema;return t?{...e.resolved.primitive.parameters,...t}:e.resolved.primitive.parameters}function Zt(e,t,r){let n=[...e.warnings],o=Ls(e.specs,t);for(let f of o)n.push(Os(f));let i=o.length>0?{suspectSelectors:o.map(f=>f.segment)}:{},{entries:s,unknown:a}=Gf(e.specs,t,n);if(s.length===0)return{targets:[{selector:"",scope:"self",specs:[],plan:js(a,[])}],warnings:n,...i};let c=s.map(f=>Uf(Kf(f,n),r,n)),u=ys(c.map(Jf),r,f=>n.push(f)),l=c.map((f,d)=>({...f,step:u[d]}));Vf(l,e.activation,n);let p=Ff(l).map(({selector:f,scope:d,entries:g})=>{let h=[],v=Yf(g,t,h),E=jf(g,h),k=As(E?.timeline,r),C=Xf(v,k,a,h);return C.defaultActivation=Rs(v.map(F=>({phase:xn(F),defaultActivation:F.resolved.primitive.defaultActivation}))),{selector:f,scope:d,hoists:E,specs:g.map(F=>F.spec),plan:C}});Ms(p);let m=Is(p[0].plan.reducedMotion,e.rm,n);for(let f of p)f.plan.reducedMotion=m;return{targets:p,warnings:n,...i}}function Ds(e,t){if(!e.specs.some(i=>i.hoists))return e;let r=[...e.warnings],n={...e,warnings:r},o=e.specs.map(i=>{if(!i.hoists||!$f(i,t))return i;for(let a of je){let c=i.hoists[a];c!==void 0&&re(n,a,c,$s[a])}let s={...i};return delete s.hoists,s});return{...n,specs:o}}function $f(e,t){let r=t.resolve(e.name);return r?Object.hasOwn(r.primitive.parameters,"target"):!0}var $s={activation:"activations",actions:"crossing actions",timeline:"timelines",threshold:"thresholds",cascade:"stagger steps",spread:"stagger budgets",order:"stagger orders",cols:"stagger column counts",along:"stagger axes"};function jf(e,t){let r;for(let n of e)n.spec.hoists&&(r=Hf(r??{},n.spec.hoists,t));return r}function Hf(e,t,r){for(let n of je){let o=t[n];if(o===void 0)continue;let i=e[n];i===void 0?e[n]=o:i!==o&&r.push(`conflicting ${$s[n]} "${i}" and "${o}" in one target: group \u2014 the first wins`)}return e}function Vf(e,t,r){for(let n=1;n<e.length;n++){let o=e[n];if(!o.step.sequenced)continue;let i=e[n-1];if(Ns(o)===Ns(i))continue;let s=o.spec.hoists?.activation??t,a=i.spec.hoists?.activation??t;s!==a&&r.push(`"${o.spec.name}"'s at:"${o.spec.at}" is relative to "${i.spec.name}", which targets a different element and may start on a different trigger \u2014 the offset is relative to each one's own start, not a shared clock`)}}function Ns(e){return`${e.scope??"self"} ${e.target??""}`}function Ff(e){let t=new Map,r=[];for(let o of e){let i=o.target??"",s=o.scope??"self",a=`${s} ${i}`,c=t.get(a);c||(c={selector:i,scope:s,entries:[]},t.set(a,c),r.push(c)),c.entries.push(o)}let n=r.findIndex(o=>o.selector==="");if(n>0){let[o]=r.splice(n,1);r.unshift(o)}return r}function js(e,t){return{fxNames:[],vars:{},declarations:{},keyframeNames:[],jsEffects:[],unknown:e,reducedMotion:"shorten",supportedActivations:[],activationClaims:[],supportedTimelines:[],channels:[],warnings:t}}function Gf(e,t,r){let n=[],o=[];for(let i of e){let s=t.resolve(i.name);if(!s){o.push(i.name),Wf(i.name,t,r);continue}n.push(Bf(i,s,r))}return{entries:n,unknown:o}}function Bf(e,t,r){let n=qf(e,t,r),o=t.primitive.variantFor?.(n.spec,s=>r.push(s)),i=o?{spec:n.spec,resolved:t,variant:o}:{spec:n.spec,resolved:t};return n.target!==void 0&&(i.target=n.target,i.scope=n.scope),i}function Wf(e,t,r){let n=Ye(e,t.names()),o=n?` \u2014 did you mean "${n}"?`:"";r.push(`unknown effect "${e}"${o}`)}function qf(e,t,r){if(Object.hasOwn(t.primitive.parameters,"target"))return{spec:e};let n=e.params.target;if(!n)return{spec:e};let o={...e.params},i=o.scope;delete o.target,delete o.scope;let s={...e,params:o};return t.preset.requiresOwnSubtree?(r.push(`"${t.preset.name}" cannot be retargeted \u2014 its CSS reaches past the animated element itself, so "target:${n}" is dropped and it stays on the host`),{spec:s}):{spec:s,target:n,scope:i==="page"?"page":"self"}}function Kf(e,t){let{spec:r,resolved:n}=e;if(n.primitive.renderer==="css-keyframes"||!r.gate?.wide&&!r.gate?.narrow)return e;t.push(`"${r.name}" ignores "wide:"/"narrow:" \u2014 container gates are not supported on JavaScript-rendered effects yet, so it runs unconditionally`);let{above:o,below:i}=r.gate;return{...e,spec:{...r,gate:o||i?{above:o,below:i}:void 0}}}function Uf(e,t,r){let{spec:n,resolved:o}=e;if(n.repeat===void 0&&n.yoyo===void 0)return e;let{repeat:i,yoyo:s,warnings:a}=Ri({name:o.preset.name,renderer:o.primitive.renderer,cloak:o.preset.cloak,timeline:t,repeat:n.repeat,yoyo:n.yoyo});return r.push(...a),{...e,spec:{...n,repeat:i,yoyo:s}}}function xn(e){if(e.spec.repeat==="infinite")return"idle";let{preset:t}=e.resolved;if(t.phase)return t.phase;if(t.transitions?.length)return"state"}function zf(e){return e.resolved.primitive.renderer!=="css-keyframes"||e.variant?.keyframes?!1:es(wn(e))}function Yf(e,t,r){if(e.length<=1)return e;let n=e.map(m=>({name:m.spec.name,channels:wn(m),gate:m.spec.gate,phase:xn(m),additive:zf(m),delivery:m.resolved.preset.delivery,inlineAnimation:m.resolved.primitive.renderer==="css-keyframes"})),o=rs(n),i=ns(n);if(o.length===0&&i.length===0)return e;if(i.length===0){let m=ts(n,o);if(m)return e.map((f,d)=>m.has(d)?{...f,composite:"add"}:f)}let s=t.findCombo(e.map(m=>m.spec.name)),a=s?`Use the "${s.preset.name}" effect instead.`:"Apply them to nested elements, or register a combined effect.",c=e[0].spec.name,l=`Dropped ${e.slice(1).map(m=>`"${m.spec.name}"`).join(", ")} \u2014 only "${c}" will run.`,p=[...o.length>0?[os(o)]:[],...i];return r.push(`cannot compose: ${p.join("; ")}. ${l} ${a}`),[e[0]]}function Xf(e,t,r,n){let o=js(r,n),i=bs(),s=new Set,a=[],c=new Map,u,l;for(let p of e){let{preset:m,primitive:f}=p.resolved,d=p.step;o.fxNames.push(m.name),o.reducedMotion=kn(o.reducedMotion,f.reducedMotion),u=Pn(u,f.supportedActivations),o.activationClaims.push({supported:f.supportedActivations,entrance:xn(p)==="entrance"}),l=Pn(l,f.supportedTimelines);for(let g of wn(p))s.add(g);Qf(m.name,f.supportedTimelines,t,n),Object.assign(o.vars,us(Jt(p),Df(p),g=>n.push(g))),f.renderer==="css-keyframes"?Es(i,p,d):o.jsEffects.push(Zf(p,d)),Ss(a,c,p,n)}return Object.assign(o.declarations,Ps(i,t)),o.keyframeNames=i.keyframes,a.length>0&&(o.transition=a.join(", ")),o.supportedActivations=u,o.supportedTimelines=l,o.channels=[...s],o}function Jf(e){let{spec:t,resolved:r}=e,{preset:n,primitive:o}=r,i=Jt(e);return{name:n.name,primitiveId:o.id,at:t.at,delay:t.delay,duration:t.duration,cascadeDelay:_s(i,n,o.parameters,"delay"),cascadeDuration:_s(i,n,o.parameters,"duration"),repeat:t.repeat,positionable:o.renderer==="css-keyframes"||Object.hasOwn(o.parameters,"delay")}}function _s(e,t,r,n){return[e[n],t.params?.[n],r[n]?.default].find(i=>i!==void 0&&vs(i))}function Zf(e,t){return t.sequenced?{...e,sequencedDelayMs:t.delayMs}:e}function Qf(e,t,r,n){t.includes(r)||n.push(`"${e}" does not support timeline "${r}" (supports: ${t.join(", ")})`)}function Hs(){return{derived:new WeakMap,hosts:new WeakMap,groups:new WeakMap,contexts:new WeakMap,unions:new WeakMap,cleanups:new WeakMap}}function Qt(e,t){return[...e.derived.get(t)??[]]}function Vs(e,t){return e.hosts.get(t)}function eg(e){return e.status==="running"&&e.direction!=="reverse"}function tg(e){return e.status==="running"}function rg(e){return e.status==="failed"}function ng(e){return e.status==="finished"||e.status==="failed"}function og(e){return e.status==="ready"}function ig(e,t){let r=[];for(let n of Qt(e.book,t)){let o=e.stateOf(n);o&&r.push(o)}return r}function sg(e,t,r,n){r.status!=="running"&&(e.writeStatus(t,r,"running"),n.some(eg)&&e.emit(t,r,X.start,"activated"))}function ag(e,t,r,n){if(r.status==="finished")return;let o=r.status==="running";e.writeStatus(t,r,"finished"),!n.every(i=>i.cancelled===!0)&&e.emit(t,r,X.finish,o?"complete":"reduced-motion")}function vt(e,t){let r=e.stateOf(t);if(!r||!r.aggregate)return;let n=ig(e,t);n.length!==0&&(n.some(tg)?sg(e,t,r,n):n.every(rg)?e.writeStatus(t,r,"failed"):n.every(ng)?ag(e,t,r,n):n.every(og)&&e.writeStatus(t,r,"ready"))}function cg(e){return e.map(t=>`${t.scope} ${t.selector}`).sort((t,r)=>t.localeCompare(r)).join("")}function Fs(e,t,r){let n=cg(r),o=e.book.unions.get(t.host),i=o?.get(n);if(i)return i;let s=r[0],c=Zt({specs:r.flatMap(f=>f.specs),warnings:[]},e.registry,t.timeline).targets[0];c.plan.reducedMotion=s.plan.reducedMotion;let u=t.host.ownerDocument?.defaultView??void 0;c.plan.jsEffects=c.plan.jsEffects.filter(f=>It(f.spec.gate,u));let l=new Set(r.flatMap(f=>f.plan.warnings));for(let f of c.plan.warnings)l.has(f)||e.reporter.warn(f,t.host);let p={...c,selector:s.selector,scope:s.scope},m=o??new Map;return m.set(n,p),o||e.book.unions.set(t.host,m),p}function bt(e){let{plan:t,config:r,capabilities:n,respectReducedMotion:o}=e,i=o&&n.reducedMotion,{scrubbed:s,useNativeTimeline:a}=ug(t,r,n),c={...t.vars,...t.declarations};Object.assign(c,lg(t)),Object.assign(c,pg(r,n,a));let u=Object.keys(t.declarations).length>0,l=e.elementHasCssAnimation??u,p=mg({useNativeTimeline:a,scrubbed:s&&l,reduce:i,activation:r.activation,hasWork:l||t.jsEffects.length>0,hasCssAnimation:u,unsupportedTransform:dg(t.channels,n)});return(p==="deferred"||p==="scrubbed")&&(c["animation-play-state"]="paused"),{properties:c,attributes:{[w.normalized]:t.fxNames.join(" "),[w.rm]:t.reducedMotion,[w.state]:"ready"},gate:p,activation:p==="deferred"?gg(r):null}}function ug(e,t,r){let n=t.timeline==="pin"&&e.supportedTimelines.includes("pin"),o=!n&&fg(t.timeline,r)&&e.supportedTimelines.includes(t.timeline);return{scrubbed:n,useNativeTimeline:o}}function lg(e){return e.transition?{"--kui-transition":e.transition}:{}}function pg(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 mg(e){return e.useNativeTimeline?"native-timeline":e.scrubbed?"scrubbed":!e.hasWork||e.reduce||sn(e.activation)==="immediate"||e.unsupportedTransform?"immediate":"deferred"}function dg(e,t){return t.individualTransforms?!1:e.some(r=>r==="translate"||r==="rotate"||r==="scale")}function fg(e,t){return e==="view"?t.viewTimeline:e==="scroll"?t.scrollTimeline:!1}function gg(e){let t="enter";return e.timeline!=="time"&&sn(e.activation)==="manual"?t:e.activation}var yg=["cascade","spread","order","cols","along"];function Gs(e){let t={};for(let r of yg){let n=e(r);n!==void 0&&(t[r]=n)}return Object.keys(t).length>0?t:void 0}function er(e){return Gs(t=>e[t])}function tr(e,t){return Gs(r=>e?.[r]??t?.[r])}function Bs(e){return e?.cascade!==void 0||e?.spread!==void 0||e?.order!==void 0}var Je=new WeakMap;function Ws(e){Je.set(e,(Je.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let r=Je.get(e)-1;r>0?Je.set(e,r):Je.delete(e)}}function qs(e){return Je.has(e)}function Tn(e,t,r){let n=tr(r.hoists,er(t.parsed));return Bs(n)?t.host:void 0}function Ks(e){return e.gateOwner!==void 0}function hg(e,t,r){for(let n of t.members)r&&e.stateOf(n)?.status!=="ready"||e.activateOne(n)}function vg(e,t){for(let r of t.members)e.deactivateOne(r)}function bg(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function Eg(e,t,r){let n=bt({plan:r.target.plan,config:r.config,capabilities:e.capabilities,respectReducedMotion:e.respectReducedMotion});if(n.gate!=="deferred")return;let o=n.activation,i=pt(le(o)),s=e.binder.bind(t,o,{threshold:r.config.threshold,from:r.config.activationSource,activate:()=>hg(e,r,i),deactivate:()=>vg(e,r)});bg(e,t,s)}function Us(e,t){let r=e.book.groups.get(t);if(r!==void 0)for(let n of r)n.gateOwner===t&&Eg(e,t,n)}function j(e){let t=e.style,r=new Map,n=e.hasAttribute("style");function o(i){if(r.has(i))return;let s=t.getPropertyValue(i);r.set(i,s===""?void 0:{value:s,priority:t.getPropertyPriority(i)})}return{set(i,s){o(i),t.setProperty(i,s)},claim:o,restore(){for(let[i,s]of r)s===void 0?t.removeProperty(i):t.setProperty(i,s.value,s.priority);r.clear(),!n&&t.length===0&&!e.getAttribute("style")&&e.removeAttribute("style")},owned:()=>[...r.keys()],peek(i){if(!r.has(i))return;let s=r.get(i);return s===void 0?"":s.value}}}function x(e){let t=new Map;return{set(r,n){t.has(r)||t.set(r,e.getAttribute(r)),e.setAttribute(r,n)},remove(r){t.has(r)||t.set(r,e.getAttribute(r)),e.removeAttribute(r)},restore(){for(let[r,n]of t)n===null?e.removeAttribute(r):e.setAttribute(r,n);t.clear()}}}var zs=Symbol.for("kuinetic.owned-styles.1");function Ys(e){let r=e[zs];return r||(r=new Map,Object.defineProperty(e,zs,{value:r,configurable:!0,writable:!0})),r}function Sg(e,t,r){let n=Ys(e),o=n.get(t);return o||(o={ledger:r(e),owners:new Set},n.set(t,o)),o}function Xs(e,t){let r={},n=new Map;return{join(o){let i=n.get(o);return i||(i=Sg(o,e,t),i.owners.add(r),n.set(o,i)),i.ledger},held:o=>n.get(o)?.ledger??null,leave(o){let i=n.get(o);i&&(n.delete(o),i.owners.delete(r),!(i.owners.size>0)&&(Ys(o).delete(e),i.ledger.restore()))},elements:()=>[...n.keys()]}}function Pg(){let e=Xs("style",j),t=new WeakMap;function r(n){return{set:(o,i)=>{e.join(n).set(o,i)},claim:o=>{e.join(n).claim(o)},restore:()=>{e.leave(n)},owned:()=>e.held(n)?.owned()??[],peek:o=>e.held(n)?.peek(o)}}return{style(n){let o=t.get(n);return o||(o=r(n),t.set(n,o)),e.join(n),o},release:n=>{e.leave(n)},elements:()=>e.elements()}}function kg(){let e=Xs("attributes",x),t=new WeakMap;function r(n){return{set:(o,i)=>{e.join(n).set(o,i)},restore:()=>{e.leave(n)}}}return{attributes(n){let o=t.get(n);return o||(o=r(n),t.set(n,o)),e.join(n),o},release:n=>{e.leave(n)},elements:()=>e.elements()}}function Et(e){let t=Pg(),r=kg();function n(o){t.release(o),r.release(o)}return{style:o=>t.style(o),attributes:o=>r.attributes(o),restore(){for(let o of new Set([...t.elements(),...r.elements()]))o!==e&&n(o);n(e)}}}var wg=new Set(["start","end","center","edges","random"]),xg=new Set(["from","order"]),Tg="spread",Ag="cols",Cg=new Set(["axis","along"]),Rg=new Set(["x","y"]),Mg=/^(\d+(?:\.\d+)?|\.\d+)\/(\d+(?:\.\d+)?|\.\d+)$/,Ig=/^\d{1,9}$/,Lg=/^([a-zA-Z-]+):(.*)$/,Og=/^-?\d{1,9}$/;function Ng(e,t){let r={from:"start"},n={from:!1,spread:!1,cols:!1,along:!1};for(let o of Ae(e," ",t)){let i=Lg.exec(o);i?_g(i[1],i[2],{config:r,seen:n,warnings:t}):r.step=Kg(r.step,o,t)}return{config:r,sawFrom:n.from}}function _g(e,t,r){let n=Dg(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}jg(n,t,r,e)&&$g[n](t,r,e)}function Dg(e){if(e===Tg)return"spread";if(e===Ag)return"cols";if(Cg.has(e))return"along";if(xg.has(e))return"from"}var $g={spread:(e,t)=>{t.config.spread=e.trim()},cols:(e,t)=>{t.config.cols=Qs(e,t.warnings)},along:(e,t,r)=>{t.config.along=ea(e,t.warnings,r)},from:(e,t,r)=>{t.config.from=ta(e,t.warnings,r)}};function jg(e,t,r,n){return r.seen[e]?(r.warnings.push(`duplicate "${n}:" in data-kui-stagger \u2014 "${t}" ignored`),!1):(r.seen[e]=!0,!0)}function Qs(e,t){let r=e.trim();if(r==="auto")return"auto";if(Ig.test(r)&&Number(r)>0)return Number(r);t.push(`unrecognised "cols:${e}" \u2014 expected a column count or "auto"`)}function ea(e,t,r){let n=e.trim();if(Rg.has(n))return n;t.push(`unrecognised "${r}:${e}" \u2014 expected x or y`)}function rr(e,t,r=[]){let n=Vg(t);if(!(e===null&&n===void 0))return An(e,n,r)}function An(e,t,r=[]){if(e===null&&t===void 0)return;let{config:n,sawFrom:o}=Ng(e??"",r);return Hg(Fg(Gg(n,o,t??{},r),r),r)}function Hg(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 Vg(e){if(!Wg(e))return;let{cascade:t,spread:r,order:n,cols:o,along:i}=de(e),s={cascade:t,spread:r,order:n,cols:o,along:i};return Object.values(s).some(a=>a!==void 0)?s:void 0}function Fg(e,t){let r={...e};return Js("step",e.step,t)||delete r.step,Js("spread",e.spread,t)||delete r.spread,r}function Js(e,t,r){return t===void 0?!1:as(t)?!0:(r.push(`stagger ${e} "${t}" contains disallowed CSS syntax \u2014 ignored`),!1)}function Gg(e,t,r,n){let o={...e};if(r.cascade!==void 0&&(St("stagger step",e.step,r.cascade,n),o.step=r.cascade),r.spread!==void 0&&(St("stagger budget",e.spread,r.spread,n),o.spread=r.spread),Bg(o,e,r,n),r.order!==void 0){let i=ta(r.order,n,"order");St("stagger order",t?e.from:void 0,i,n),o.from=i}return o}function Bg(e,t,r,n){if(r.cols!==void 0){let o=Qs(r.cols,n);St("stagger columns",t.cols,o,n),o!==void 0&&(e.cols=o)}if(r.along!==void 0){let o=ea(r.along,n,"along");St("stagger axis",t.along,o,n),o!==void 0&&(e.along=o)}}function Wg(e){return qg.some(t=>e.includes(t))}var qg=["cascade:","spread:","order:","cols:","along:"];function St(e,t,r,n){t===void 0||r===void 0||t===r||n.push(`conflicting ${e}: data-kui-stagger says "${String(t)}", data-kui says "${String(r)}" \u2014 data-kui wins`)}function Kg(e,t,r){return e===void 0?t:(r.push(`extra token "${t}" in data-kui-stagger (expected one time step)`),e)}function ta(e,t,r="from"){let n=e.trim();if(wg.has(n))return n;if(Og.test(n))return Number(n);let o=Mg.exec(n);return o?{x:Zs(Number(o[1]),n,t),y:Zs(Number(o[2]),n,t)}:(t.push(`unrecognised "${r}:${e}" \u2014 expected start, end, center, edges, random, a child index, or an "x/y" point in a grid`),"start")}function Zs(e,t,r){return e>=0&&e<=1?e:(r.push(`stagger order "${t}" is outside the grid (0 to 1 on each axis) \u2014 clamped`),Math.min(Math.max(e,0),1))}var ra=1e3,Ug=2654435761,zg=2246822507,Yg=569420461,Xg=1935289751;function oa(e,t){return e.spread===void 0?e.step:t<=0?"0ms":`calc((${e.spread}) / ${String(t)})`}function Rn(e,t,r=[],n){if(e<=0)return[];if(t==="random")return Qg(e);if(n)return sa(e,t,n,r);if(typeof t=="object")return r.push(`stagger order "${String(t.x)}/${String(t.y)}" is a point in a grid, but this group has no "cols:" \u2014 add one, or name an edge with start/end/center/edges`),Rn(e,"start",r);let o=e-1;if(t==="edges")return Array.from({length:e},(s,a)=>Math.min(a,o-a));let i=Jg(t,o,r);return Array.from({length:e},(s,a)=>Math.floor(Math.abs(a-i)))}function Jg(e,t,r){return e==="start"?0:e==="end"?t:e==="center"?t/2:ia(e,t,r)}function ia(e,t,r){return(e<0||e>t)&&r.push(`stagger order "${String(e)}" is outside the group (0 to ${String(t)}) \u2014 clamped`),Math.min(Math.max(e,0),t)}function sa(e,t,r,n){let o=Math.min(Math.max(1,r.cols),e),i=Math.ceil(e/o);if(t==="edges"){let a=sa(e,"center",r,n),c=0;for(let u of a)c=Math.max(c,u);return a.map(u=>Ze(c-u))}let s=Zg(t,{cols:o,rows:i,last:e-1},n);return Array.from({length:e},(a,c)=>{let u=c%o-s.x,l=Math.floor(c/o)-s.y;return r.along==="x"?Ze(Math.abs(u)):r.along==="y"?Ze(Math.abs(l)):Ze(Math.hypot(u,l))})}function Zg(e,t,r){let{cols:n,rows:o,last:i}=t;if(typeof e=="object")return{x:e.x*(n-1),y:e.y*(o-1)};if(e==="start")return{x:0,y:0};if(e==="end")return{x:n-1,y:o-1};if(e==="center")return{x:(n-1)/2,y:(o-1)/2};let s=ia(e,i,r);return{x:s%n,y:Math.floor(s/n)}}function Ze(e){return Math.round(e*ra)/ra}function Qg(e){let t=Array.from({length:e},(n,o)=>o);t.sort((n,o)=>na(n,e)-na(o,e));let r=new Array(e);for(let[n,o]of t.entries())r[o]=n;return r}function na(e,t){let r=(Math.imul(e,Ug)^Math.imul(t,zg))>>>0;return r^=r>>>16,r=Math.imul(r,Yg)>>>0,r^=r>>>15,r=Math.imul(r,Xg)>>>0,r^=r>>>15,r>>>0}function aa(e,t){let r=[],n=ey(e),o=rr(e.getAttribute(w.stagger),e.getAttribute(w.source)??"",r)??{from:"start"},i=oy(e),s=Rn(i.length,o.from,r,da(o,i,r)),a=0;for(let[u,l]of i.entries()){let p=s[u];n.style(l).set("--kui-i",String(p)),ca.set(l,e),p>a&&(a=p)}let c=oa(o,a);c&&n.style(e).set("--kui-stagger",c),n.style(e).set("--kui-stagger-count",String(Ze(a+1)));for(let u of r)t?.warn(u,e)}var nr=new WeakMap,ca=new WeakMap;function ua(e,t){let r=new Set;for(let n of e){let o=ca.get(n);o&&r.add(o)}for(let n of r)aa(n,t)}function ey(e){nr.get(e)?.restore();let t=Et(e);return nr.set(e,t),t}function Cn(e){nr.get(e)?.restore(),nr.delete(e)}function la(e){let t=`[${w.stagger}], [${w.source}]`;e instanceof Element&&e.matches(t)&&Cn(e);for(let r of e.querySelectorAll(t))Cn(r)}function pa(e,t){or(e,t);let r=e.parentElement;r&&or(r,t)}function or(e,t){iy(e)?aa(e,t):Cn(e)}function ma(e){let{host:t,matches:r,styleOf:n,keys:o,reporter:i}=e,s=[],a=t.getAttribute(w.stagger),c=(o?An(a,o,s):rr(a,t.getAttribute(w.source)??"",s))??{from:"start"},u=ry(ty(r),c,n,s),l=oa(c,u);l&&n(t).set("--kui-stagger",l),n(t).set("--kui-stagger-count",String(Ze(u+1)));for(let p of s)i?.warn(p,t)}function ty(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 ry(e,t,r,n){let o=0;for(let i of e.values()){let s=da(t,i,n),a=Rn(i.length,t.from,n,s);for(let[c,u]of i.entries()){let l=a[c];r(u).set("--kui-i",String(l)),l>o&&(o=l)}}return o}function da(e,t,r){if(e.cols===void 0){e.along!==void 0&&r.push(`"along:${e.along}" names an axis of a grid this group has not declared \u2014 add "cols:" (a column count, or "auto")`);return}let n=e.cols==="auto"?ny(t,r):e.cols;if(n!==void 0)return e.along===void 0?{cols:n}:{cols:n,along:e.along}}function ny(e,t){if(e.length<2)return 1;let r=[],n=!1;for(let s of e){let a=s.getBoundingClientRect();(a.width!==0||a.height!==0)&&(n=!0),r.push(a.left)}if(!n){t.push('"cols:auto" could not measure this group \u2014 none of its children have been laid out yet (display:none, or detached), so the stagger falls back to DOM order');return}let o=Math.sign(r[1]-r[0]);if(o===0)return 1;let i=1;for(let s=1;s<r.length&&Math.sign(r[s]-r[s-1])===o;s++)i=s+1;return i}function oy(e){let t=[];for(let r of e.children)r.hasAttribute(w.source)&&t.push(r);return t}function fa(e,t){let r=`[${w.stagger}], [${w.source}]`;e instanceof Element&&e.matches(r)&&or(e,t);for(let n of e.querySelectorAll(r))or(n,t)}function iy(e){return e.hasAttribute(w.define)||qs(e)?!1:e.hasAttribute(w.stagger)?!0:rr(null,e.getAttribute(w.source)??"")!==void 0}var sy=64;function ir(e){return e.id?`${e.tagName.toLowerCase()}#${e.id}`:e.tagName.toLowerCase()}function ya(e,t){return t.some(r=>e.resolve(r)?.preset.establishes3d===!0)}function ga(e,t){let r=e.stateOf(t);return!r||r.aggregate?!1:ya(e.registry,r.fxNames)}function ay(e,t,r){if(ga(e,t))return t;let n=r.parentElement,o=0;for(;n&&o<sy;){if(n!==t&&ga(e,n))return n;n=n.parentElement,o++}}function Mn(e,t,r){if(t.length===0){e.removeAttribute(w.unmatched);return}let n=t.join(", ");r?r.set(w.unmatched,n):e.setAttribute(w.unmatched,n)}function ha(e,t,r,n){if(!ya(e.registry,n.plan.fxNames))return;let o=ay(e,t,r);if(!o)return;let i=o===t?"its target: host":"an ancestor";e.reporter.warn(`<${ir(r)}> establishes a 3D rendering context nested inside ${i} <${ir(o)}>, which also runs a 3D-establishing effect \u2014 preserve-3d/perspective contexts do not compose when nested, so move one of the two 3D effects off its descendant`,r)}function va(e,t,r){r.scope==="page"&&r.plan.fxNames.some(n=>e.registry.resolve(n)?.preset.cloak===!0)&&t.ownerDocument.documentElement.hasAttribute(w.cloak)&&e.reporter.warn(`target "${r.selector}" (scope:page) on <${ir(t)}> carries a cloaked entrance \u2014 the pre-JS cloak selector only hides descendants of the element it is authored on, so a scope:page match outside <${ir(t)}>'s own subtree will flash unstyled before this library runs; use scope:self, or drop the cloaked preset from this group`,t)}var In=new WeakMap;function cy(e,t,r){let n=In.get(e);n||(n=new WeakMap,In.set(e,n)),n.set(t,r)}function uy(e,t){return In.get(e)?.get(t)}function ba(e){return`${e.scope} ${e.selector}`}function ly(e){return e.length===1?ba(e[0]):e.map(ba).sort((t,r)=>t.localeCompare(r)).join("")}function Ea(e,t,r,n){let o=n.get(r);if(o)return o;let i={...Cs(t.baseConfig,r.hoists)};return i.activation=e.resolveActivation(t.host,i,r.plan),n.set(r,i),i}function py(e,t,r,n){let o=[],i=[],s=[];for(let a of r){if(a.selector==="")continue;let c=e.resolveGroupMatches(t.host,a);c.length===0&&s.push(a.selector),i.push({target:a,matches:c}),o.push({target:a,config:Ea(e,t,a,n),gateOwner:Tn(e,t,a),members:[]})}return{live:o,resolved:i,unmatched:s}}function my(e){let t=e.baseConfig;return{host:e.el,fingerprint:e.fingerprint,parsed:e.parsed,baseConfig:t,timeline:t.timeline}}function dy(e,t,r){r?e.install({...t,document:{targets:[r],warnings:[]}}):e.installAggregate(t)}function fy(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function Sa(e,t,r){return r.length===1?r[0]:Fs(e,t,r)}function gy(e,t,r){let n=t.host,o=e.stateOf(n);Mn(n,[...r.unmatched,...r.suspects??[]],o.attributes),fy(e,n,Ws(n)),sr(e,n),Us(e,n);for(let[i,s]of r.claims)ha(e,n,i,Sa(e,t,s));for(let i of r.resolved)va(e,n,i.target);vt(e,n)}function Pa(e,t){let r=my(t),n=new Map,{live:o,resolved:i,unmatched:s}=py(e,r,t.document.targets,n);e.book.contexts.set(r.host,r),e.book.groups.set(r.host,o);let a=Ln(e,r.host,i),c=t.document.targets.find(u=>u.selector==="");if(!c&&a.size===0){r.host.setAttribute(w.state,"failed"),Mn(r.host,[...s,...t.document.suspectSelectors??[]]);return}On(e,r,a,n),dy(e,t,c),gy(e,r,{claims:a,resolved:i,unmatched:s,suspects:t.document.suspectSelectors})}function yy(e,t,r){let{book:n}=e;cy(n,r,t),n.hosts.delete(r),n.derived.get(t)?.delete(r);for(let o of n.groups.get(t)??[]){let i=o.members.indexOf(r);i!==-1&&o.members.splice(i,1)}}function hy(e,t){let{book:r}=e;for(let n of[...r.derived.get(t)??[]])e.release(n);for(let n of r.cleanups.get(t)??[])n();r.derived.delete(t),r.groups.delete(t),r.contexts.delete(t),r.unions.delete(t),r.cleanups.delete(t)}function ka(e,t){let r=e.book.hosts.get(t);if(r){yy(e,r,t);return}e.book.derived.has(t)&&hy(e,t)}function wa(e,t){let r=new Set;for(let n of t){let o=uy(e.book,n);o&&r.add(o)}for(let n of r)e.stateOf(n)&&(sr(e,n),vt(e,n))}var vy={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 by(e,t,r){if(r===t)return"host";if(r.hasAttribute(w.source))return"authored";let n=e.book.hosts.get(r);if(n!==void 0&&n!==t)return"claimed"}function Ey(e,t,r){let n=e.get(r);n?n.push(t):e.set(r,[t])}function Sy(e,t,r,n){let o=r.plan.fxNames.join(", ");for(let[i,s]of n){let a=s===1?"match":"matches";e.reporter.warn(`target "${r.selector}" (${o}) skipped ${s} ${a} that ${vy[i]}`,t)}}function Ln(e,t,r){let n=new Map;for(let o of r){let i=new Map;for(let s of o.matches){let a=by(e,t,s);a?i.set(a,(i.get(a)??0)+1):Ey(n,o.target,s)}Sy(e,t,o.target,i)}return n}function Py(e,t,r,n){let{match:o,targets:i}=r,s=Sa(e,t,i);return{match:o,targets:i,target:s,config:Ea(e,t,s,n)}}function ky(e,t,r){return r.some(o=>Tn(e,t,o)!==void 0)?t.host:void 0}function wy(e,t,r){let{book:n}=e;n.hosts.set(r.match,t.host);let o=n.derived.get(t.host)??new Set;o.add(r.match),n.derived.set(t.host,o);let i=n.groups.get(t.host)??[];for(let s of r.targets)i.find(a=>a.target===s)?.members.push(r.match)}function xy(e,t,r){e.install({el:r.match,fingerprint:`${t.fingerprint}\0${ly(r.targets)}`,parsed:{specs:r.target.specs,warnings:[]},config:r.config,document:{targets:[{...r.target,selector:"",scope:"self"}],warnings:[]},host:t.host,gateOwner:ky(e,t,r.targets)}),wy(e,t,r)}function On(e,t,r,n=new Map){let o=[];for(let[i,s]of r){let a=Py(e,t,{match:i,targets:s},n);xy(e,t,a),o.push(a.match)}return o}function sr(e,t){let r=e.book.contexts.get(t),n=e.book.groups.get(t),o=e.stateOf(t);if(!r||!n||!o)return;let i=er(r.parsed),s=a=>a===t?o.ledgers.style(t):e.stateOf(a).ledgers.style(a);for(let a of n)a.members.length!==0&&ma({host:t,matches:a.members,styleOf:s,keys:tr(a.target.hoists,i),reporter:e.reporter})}var Ty=64;function Ay(e,t,r){let n=[...e.querySelectorAll(r.selector)];return e.matches(r.selector)&&n.unshift(e),n.filter(o=>t.contains(o)&&o!==t&&!o.hasAttribute(w.part))}function Cy(e,t,r){let n=[],o=new Map;for(let i of r){if(o.set(i,i.members.length),i.target.scope!=="self")continue;let s=Ay(e,t,i.target);s.length>0&&n.push({target:i.target,matches:s})}return{resolved:n,before:o}}function Ry(e,t){let r=e.findIndex(n=>!!(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING));return r===-1?e.length:r}function My(e,t,r){return t.members.some(n=>!r.includes(n)&&e.stateOf(n)?.status!=="ready")}function Iy(e,t,r){if(t.gateOwner!==void 0&&My(e,t,r))for(let n of r)e.activateOne(n)}function Ly(e,t,r){if(t.members.length===r)return;let n=t.members.splice(r);t.members.splice(Ry(t.members,n[0]),0,...n),Iy(e,t,n)}function Oy(e,t,r){let n=e.book.groups.get(r),o=e.book.contexts.get(r);if(!n||!o)return;let{resolved:i,before:s}=Cy(t,r,n);if(i.length===0)return;let a=Ln(e,r,i);if(a.size!==0){On(e,o,a);for(let c of n)Ly(e,c,s.get(c));sr(e,r)}}function xa(e,t){if(t.hasAttribute(w.part))return;let r=t.parentElement,n=0;for(;r&&n<Ty;)Oy(e,t,r),r=r.parentElement,n++}var Ny=100;function Ca(e){let{root:t,onElementAdded:r,onElementRemoved:n,onAttributeChanged:o}=e,i=e.schedule??_y,s=e.createObserver??Dy(),a=new Set,c=new Set,u=new Set,l,p=!1,m=!1;function f(E){if(E.type==="attributes"){let k=_n(E.target);k&&u.add(k);return}for(let k of E.addedNodes)Aa(a,_n(k));for(let k of E.removedNodes)Aa(c,_n(k))}function d(E){for(let k of E)f(k);p||(p=!0,i(v))}let g=Ta(t,r),h=Ta(t,o);function v(){if(p=!1,m)return;let E=Ny;E=Nn(c,n,E),E=Nn(a,g,E),Nn(u,h,E),a.size+c.size+u.size>0&&(p=!0,i(v))}return{watch(){s&&(m=!1,l=s(d),l.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[w.source,w.on,w.timeline,w.threshold,w.stagger]}))},destroy(){m=!0,l?.disconnect(),a.clear(),c.clear(),u.clear()}}}function Ta(e,t){return r=>{e.contains(r)&&t(r)}}function Aa(e,t){if(t){for(let r of e){if(r.contains(t))return;t.contains(r)&&e.delete(r)}e.add(t)}}function Nn(e,t,r){for(let n of e){if(r===0)break;e.delete(n),t(n),r--}return r}function _n(e){return e.nodeType===1?e:null}function _y(e){let t=globalThis.requestAnimationFrame;typeof t=="function"?t(()=>e()):queueMicrotask(e)}function Dy(){if(!(typeof MutationObserver>"u"))return e=>new MutationObserver(e)}function $y(e,t){let r=ms(e.spec,t);return e.sequencedDelayMs!==void 0&&(r.delayMs=e.sequencedDelayMs),r}function Ra(e){let{scheduler:t,rootResolver:r,capabilities:n,reporter:o,respectReducedMotion:i}=e;function s(a,c,u){let l=a.ownerDocument;return{doc:l,win:l.defaultView??globalThis,scheduler:t,rootFor:r,capabilities:n,invalidate:()=>t.invalidate(),warn:p=>o.warn(p,a),reducedMotion:i&&n.reducedMotion,signal:c,style:u}}return{prepare({el:a,plan:c,signal:u,ledger:l}){let p=[];if(c.jsEffects.length===0)return p;let m=s(a,u,l);for(let f of c.jsEffects){let{spec:d,resolved:g}=f,h=g.primitive.prepare;if(!h)continue;let v=k=>o.warn(k,a),E=ds({...g.preset.params,...Jt(f)},g.primitive.parameters,v,$y(f,v));try{p.push(h(a,E,m))}catch(k){o.warn(`"${d.name}" failed to initialise: ${String(k)}`,a)}}return p}}}function jy(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(t,16),cancelFrame:t=>globalThis.clearTimeout(t)}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t)}}function Oa(e=jy()){let t=new Map,r=0,n=null;function o(c){if(c)c.dirty=!0;else for(let u of t.values())u.dirty=!0;n===null&&(n=e.requestFrame(i))}function i(){n=null;for(let c of t.values()){if(!c.dirty||c.subscribers.size===0)continue;c.dirty=!1;let u={metrics:c.root.metrics(),epoch:r};for(let l of[...c.subscribers])l(u)}}function s(c){let u=t.get(c.key);if(u)return u;let l={root:c,subscribers:new Set,detach:[],dirty:!1};return l.detach.push(c.onScroll(()=>o(l))),l.detach.push(c.onResize(()=>{r++,o()})),t.set(c.key,l),l}function a(c){if(!(c.subscribers.size>0)){for(let u of c.detach)u();t.delete(c.root.key)}}return{subscribe(c,u){let l=s(c);return l.subscribers.add(u),o(l),()=>{l.subscribers.delete(u),a(l)}},invalidate(){r++,o()},rootCount:()=>t.size,destroy(){n!==null&&e.cancelFrame(n),n=null;for(let c of t.values()){c.subscribers.clear();for(let u of c.detach)u()}t.clear()}}}function Hy(e){return{key:"window",metrics:()=>({scrollTop:e.scrollY,scrollLeft:e.scrollX,viewportWidth:e.innerWidth,viewportHeight:e.innerHeight,viewportTop:0,viewportLeft:0}),onScroll:t=>Dn(e,"scroll",t),onResize:t=>Na(e.document.documentElement,e,t)}}function Vy(e,t){return{key:`el:${Gy(e)}`,metrics:()=>{let r=e.getBoundingClientRect();return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.clientWidth,viewportHeight:e.clientHeight,viewportTop:r.top,viewportLeft:r.left}},onScroll:r=>Dn(e,"scroll",r),onResize:r=>Na(e,t,r)}}function Dn(e,t,r){return e.addEventListener(t,r,{passive:!0}),()=>e.removeEventListener(t,r)}function Na(e,t,r){let n=Dn(t,"resize",r);if(typeof ResizeObserver>"u")return n;let o=new ResizeObserver(r);return o.observe(e),()=>{n(),o.disconnect()}}var Fy=0,Ma=new WeakMap;function Gy(e){let t=Ma.get(e);if(t)return t;let r=String(++Fy);return Ma.set(e,r),r}function _a(e){let{win:t}=e,r=e.isScrollable??Wy(t),n=Hy(t);return o=>{for(let i=o.parentElement;i;i=i.parentElement){if(By(i,t))return n;if(r(i))return Vy(i,t)}return n}}function By(e,t){let r=t.document.documentElement;if(e===r)return!0;if(e!==t.document.body)return!1;let n=t.getComputedStyle(r);return!Ia.has(n.overflowX)&&!Ia.has(n.overflowY)}var Ia=new Set(["auto","scroll","overlay","hidden","clip"]),La=new Set(["auto","scroll","overlay"]);function Wy(e){return t=>{let r=e.getComputedStyle(t),n=La.has(r.overflowY)&&t.scrollHeight>t.clientHeight,o=La.has(r.overflowX)&&t.scrollWidth>t.clientWidth;return n||o}}function Da(e){return Number.isNaN(e)?0:Math.min(1,Math.max(0,e))}function Ve(e){let t=-1,r;return{read(n){return(t!==n||r===void 0)&&(r=e(),t=n),r},clear(){t=-1,r=void 0}}}function $a(){return{warn(e,t){t===void 0?console.warn(`[kuinetic] ${e}`):console.warn(`[kuinetic] ${e}`,t)}}}function ar(){return{warn(){}}}function ja(){let e=[];return{messages:e,warn(t){e.push(t)}}}var Qe="data-kui-time-scale";function Fe(e){let r=e.closest(`[${Qe}]`)?.getAttribute(Qe)?.trim();if(!r)return 1;let n=Number(r);return Number.isFinite(n)?Math.min(4,Math.max(.05,n)):1}function qy(e){let t=e.getAnimations;return typeof t=="function"?t.call(e):[]}function et(e,t){return qy(e).filter(r=>{let n=r.animationName;return typeof n=="string"&&t.has(n)})}function Ky(e){return getComputedStyle(e).animationName}function Uy(e,t){let r=e.style.getPropertyValue("animation-name");t.set("animation-name","none"),Ky(e),t.set("animation-name",r)}function zy(e,t){if(e.length===0){t();return}Promise.all(e.map(r=>r.finished.catch(()=>{}))).then(()=>t())}function Yy(e,t,r,n){let o=et(e,r);if(!n){Uy(e,t),t.set("animation-play-state","running"),o=et(e,r);let s=Fe(e);if(s!==1)for(let a of o)a.playbackRate=s;return o}let i=o.filter(s=>s.playState==="finished");if(i.length>0)for(let s of i)s.reverse();else t.set("animation-play-state","running");return o}function Ha(e,t,r,n=!1){let o=new Set(r),i,s=new Promise(l=>{i=l}),a=!1,c=l=>zy(l,()=>i?.());function u(l){if(n)return;let p=et(e,o);s=new Promise(m=>{i=m});for(let m of p)m.playbackRate=l*Fe(e),m.play();t.set("animation-play-state","running"),c(p)}return{control:Xi(()=>et(e,o),t),activate(){if(s=new Promise(p=>{i=p}),n){i?.();return}let l=Yy(e,t,o,a);a=!0,c(l)},play(){u(1)},reverse(){u(-1)},cancel(){for(let l of et(e,o))l.cancel();i?.()},finish(){for(let l of et(e,o))l.finish();i?.()},get finished(){return s},destroy(){i?.()}}}function I(e){return{cleanup:e,continuous:!0}}function Xy(e){if(e!==void 0)return typeof e=="function"?e:e.cleanup}function Pt(e){let t,r,n=Promise.resolve(),o=()=>{Xy(t)?.(),t=void 0,r?.()};return Jy({activate(){if(t!==void 0&&o(),t=e(),typeof t=="function"||"continuous"in t)return;let i=t.finished;n=new Promise(s=>{r=s}),i.then(()=>r?.())},cancel:o,finish(){typeof t=="object"&&"finish"in t&&t.finish?.(),r?.()},destroy:o,finished:()=>n,continuous:()=>typeof t=="object"&&"continuous"in t})}function P(e){return(...t)=>Pt(()=>e(...t))}function Jy(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 Zy=3e3;function Qy(e){return[e.source,e.on,e.timeline,e.threshold].join("\0")}function jn(e){return typeof Element<"u"&&e instanceof Element}var Ge=class{registry;capabilities;reporter;root;bundles;binder;scheduler;rootResolver;jsEffectPreparer;respectReducedMotion;shouldObserve;states=new WeakMap;liveElements=new Set;currentRun=new WeakMap;settleArmed=new WeakMap;domWatcher;gateWatcher;started=!1;book=Hs();port;constructor(t={}){let r=eh(t);this.registry=r.registry,this.bundles=new Wt(r.registry),this.capabilities=r.capabilities,this.root=r.root,this.reporter=r.reporter,this.binder=r.binder,this.scheduler=r.scheduler,this.rootResolver=r.rootResolver,this.jsEffectPreparer=r.jsEffectPreparer,this.domWatcher=r.domWatcher,this.respectReducedMotion=r.respectReducedMotion,this.shouldObserve=r.shouldObserve,this.port={registry:this.registry,reporter:this.reporter,binder:this.binder,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,book:this.book,stateOf:n=>this.states.get(n),install:n=>this.install(n),installAggregate:n=>this.installAggregate(n),resolveGroupMatches:(n,o)=>this.resolveGroupMatches(n,o),resolveActivation:(n,o,i)=>this.resolveActivation(n,o,i),release:n=>this.release(n),activateOne:n=>this.activateOne(n),deactivateOne:n=>this.deactivate(n),writeStatus:(n,o,i)=>this.writeStatus(n,o,i),emit:(n,o,i,s)=>this.emit(n,o,i,s)}}start(){if(this.started)return this;this.started=!0;let t=globalThis.setTimeout(()=>this.uncloak(),Zy);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=`[${w.source}]`;jn(t)&&t.matches(n)&&this.process(t);for(let o of t.querySelectorAll(n))this.process(o);return fa(t,this.reporter),r>0&&t!==this.root&&this.retryPending(),this}retryPending(){for(let t of this.root.querySelectorAll(`[${w.state}="pending"]`))this.process(t)}process(t){if(t.hasAttribute(w.define))return;let r=xs(t),n=Qy(r),o=this.states.get(t);if(o?.fingerprint===n)return;o&&this.release(t);let i=Ds(this.bundles.expand(de(r.source)),this.registry),s=Ts(r,i),a={...s},c=Zt(i,this.registry,s.timeline),u=c.targets[0].plan;if(this.applyViewportGates(t,c),a.activation=this.resolveActivation(t,s,u),this.reportCompiled(t,c),c.targets.every(l=>l.plan.fxNames.length===0)){t.setAttribute(w.state,u.unknown.length>0?"pending":"failed");return}this.install({el:t,fingerprint:n,parsed:i,config:a,baseConfig:s,document:c})}reportCompiled(t,r){for(let o of r.warnings)this.reporter.warn(o,t);for(let o of r.targets)for(let i of o.plan.warnings)this.reporter.warn(i,t);let n=[...new Set(r.targets.flatMap(o=>o.plan.channels))];for(let o of Qi(n,this.capabilities))this.reporter.warn(o,t)}resolveActivation(t,r,n){return r.activationAuthored?(oi({el:t,spec:le(r.activation),supported:n.supportedActivations,claims:n.activationClaims,reporter:this.reporter}),r.activation):n.defaultActivation??r.activation}applyViewportGates(t,r){let n=r.targets.flatMap(i=>i.plan.jsEffects).map(i=>i.spec.gate).filter(i=>i!==void 0);if(n.length===0){this.gateWatcher?.unwatch(t);return}let o=t.ownerDocument.defaultView??void 0;for(let i of r.targets)i.plan.jsEffects=i.plan.jsEffects.filter(s=>It(s.spec.gate,o));this.watchGates(t,o,pi(n))}watchGates(t,r,n){this.gateWatcher??=mi(r,o=>this.regate(o)),this.gateWatcher.watch(t,n)}regate(t){this.release(t),this.process(t)}installedAsHost(t){return t.document.targets.some(r=>r.selector!=="")?(Pa(this.port,t),!0):!1}install(t){if(this.installedAsHost(t))return;let{el:r,fingerprint:n,parsed:o,config:i,document:s}=t,a=s.targets.map(h=>({target:h,matches:this.resolveGroupMatches(r,h)})).filter(h=>h.matches.length>0),c=Et(r),u=c.style(r),l=c.attributes(r),p=new AbortController;this.bindAuthorCallback(r,o,p.signal);let m=s.targets.some(h=>Object.keys(h.plan.declarations).length>0),f=bt({plan:a[0].target.plan,config:i,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:m}),d={fingerprint:n,specs:o.specs,activation:i.activation,timeline:i.timeline,fxNames:s.targets.flatMap(h=>h.plan.fxNames),jsEffectNames:s.targets.flatMap(h=>h.plan.jsEffects.map(v=>v.spec.name)),progressDriven:f.gate==="scrubbed"||f.gate==="native-timeline",instances:[],ledger:u,attributes:l,ledgers:c,controller:p,status:"ready"};t.host&&(d.host=t.host),t.gateOwner&&(d.gateOwner=t.gateOwner),this.states.set(r,d),this.liveElements.add(r),l.set(w.state,"ready");let g={el:r,state:d,ledgers:c,config:i,signal:p.signal,elementHasCssAnimation:m};for(let h of a)this.installGroup(h,g);this.openGate({el:r,state:d,stylePlan:f,config:i,plan:a[0].target.plan})}installAggregate(t){let{el:r,fingerprint:n,parsed:o,config:i,document:s}=t,a=Et(r),c=new AbortController;this.bindAuthorCallback(r,o,c.signal);let u={fingerprint:n,specs:o.specs,activation:i.activation,timeline:i.timeline,fxNames:s.targets.flatMap(l=>l.plan.fxNames),jsEffectNames:[],progressDriven:!1,instances:[],ledger:a.style(r),attributes:a.attributes(r),ledgers:a,controller:c,status:"ready",aggregate:!0};this.states.set(r,u),this.liveElements.add(r),u.attributes.set(w.state,"ready")}installGroup(t,r){let{target:n,matches:o}=t,i=bt({plan:n.plan,config:r.config,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:r.elementHasCssAnimation}),s=Object.keys(i.properties).some(c=>c.startsWith("animation-")),a={target:n,stylePlan:i,hasCssAnimation:s};for(let c of o)this.installMatch(c,a,r)}installMatch(t,r,n){let{target:o,stylePlan:i,hasCssAnimation:s}=r,{state:a,ledgers:c}=n,u=c.style(t),l=c.attributes(t);for(let[p,m]of Object.entries(i.properties))u.set(p,m);if(l.set(w.normalized,i.attributes[w.normalized]),l.set(w.rm,i.attributes[w.rm]),u.claim("animation-play-state"),s){let p=i.gate==="scrubbed";a.instances.push(Ha(t,u,o.plan.keyframeNames,p))}a.instances.push(...this.jsEffectPreparer.prepare({el:t,plan:o.plan,signal:n.signal,ledger:u}))}bindAuthorCallback(t,r,n){r.func!==void 0&&Zi({el:t,name:r.func,reporter:this.reporter,signal:n})}resolveGroupMatches(t,r){if(r.selector==="")return[t];let n=t.ownerDocument,o=r.plan.fxNames.join(", "),i=ct(r.selector,n);if(i!=="ok"){let a=i==="invalid"?"is not a valid selector":"matches the whole document";return this.reporter.warn(`target "${r.selector}" (${o}) ${a} and will be ignored`,t),[]}let s=$(t,{doc:n},r.selector,r.scope);return s.length===0&&this.reporter.warn(`target "${r.selector}" (${o}) matched nothing`,t),s}openGate(t){let{el:r,state:n,stylePlan:o,config:i,plan:s}=t;if(this.reducedMotionDisables(s)){this.writeStatus(r,n,"finished"),this.emit(r,n,X.finish,"reduced-motion"),this.syncHost(n);return}let a=i.actions;if(a&&this.warnAboutCrossings(r,n,o.activation??i.activation,a),o.gate!=="deferred"){this.activateOne(r);return}if(Ks(n))return;let c=o.activation,u=this.binder.bind(r,c,{threshold:i.threshold,from:i.activationSource,activate:()=>this.activateOne(r),deactivate:()=>this.deactivate(r),...a?{cross:m=>this.applyCrossing(r,m,a)}:{}}),l=!1,p=()=>{l||(l=!0,u())};n.controller.signal.addEventListener("abort",p),!a&&pt(le(c))&&(n.releaseActivation=p)}reducedMotionDisables(t){return this.respectReducedMotion&&this.capabilities.reducedMotion&&t.reducedMotion==="disable"}warnAboutCrossings(t,r,n,o){let i=le(n),s=Di({actions:o,observed:i.start.kind==="observed"||i.end?.kind==="observed",activation:String(n),jsEffectNames:r.jsEffectNames,progressDriven:r.progressDriven});for(let a of s)this.reporter.warn(a,t)}applyCrossing(t,r,n){let o=this.states.get(t);o&&$i(n[r],{started:o.status!=="ready",controls:o.instances.map(i=>i.control).filter(i=>i!==void 0),activate:()=>this.activateOne(t),reverse:()=>this.reverseOne(t)})}activate(t){this.activateOne(t);for(let r of this.derivedOf(t))this.activateOne(r)}activateOne(t){let r=this.states.get(t);if(!r||r.aggregate)return;if(r.status==="running"&&r.direction==="reverse"){this.turnAround(t,r);return}if(r.status==="running")return;r.releaseActivation?.(),r.releaseActivation=void 0,this.writeStatus(t,r,"running"),r.direction="forward";let n=this.beginRun(r),o=r.instances.filter(i=>this.startInstance(i,t));if(o.length===0&&r.instances.length>0){this.writeStatus(t,r,"failed"),this.syncHost(r);return}this.emit(t,r,X.start,"activated"),this.syncHost(r),this.settleWhen({el:t,state:r,run:n},o,"finished")}deactivate(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;r.instances.filter($n).length<r.instances.length&&this.reporter.warn("effect cannot play backwards, so the exit half of this activation does nothing for it (JS-rendered effects have no playhead \u2014 see EffectInstance.reverse)",t),this.reverseOne(t)}reverseFrom(t){this.reverseOne(t);for(let r of this.derivedOf(t))this.reverseOne(r)}reverseOne(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;let n=r.instances.filter($n);if(n.length===0)return;this.writeStatus(t,r,"running"),r.direction="reverse",this.syncHost(r);let o=this.beginRun(r);for(let i of n)i.reverse();this.settleWhen({el:t,state:r,run:o},n,"ready")}turnAround(t,r){let n=r.instances.filter($n);r.direction="forward";let o=this.beginRun(r);for(let i of n)i.play();this.settleWhen({el:t,state:r,run:o},n,"finished")}settleWhen(t,r,n){let{el:o,state:i,run:s}=t,a=r.filter(u=>!u.continuous);if(a.length===0&&r.length>0){this.settleArmed.set(i,!1);return}this.settleArmed.set(i,!0);let c=i.direction;Promise.all(a.map(u=>u.finished)).then(()=>{this.states.get(o)!==i||i.status!=="running"||i.direction===c&&this.currentRun.get(i)===s&&(this.writeStatus(o,i,n),i.cancelled||(n==="finished"?this.emit(o,i,X.finish,"complete"):this.emit(o,i,X.reverseFinish,"reversed")),this.syncHost(i))})}beginRun(t){let r=Symbol("kui-run");return this.currentRun.set(t,r),t.cancelled=!1,r}emit(t,r,n,o){Ji(t,n,{effects:r.fxNames,activation:r.activation,timeline:r.timeline,reason:o,...r.host?{host:r.host}:{}})}writeStatus(t,r,n){r.status=n,r.attributes.set(w.state,n)}syncHost(t){t.host&&vt(this.port,t.host)}cancel(t){this.cancelOne(t);for(let r of this.derivedOf(t))this.cancelOne(r)}cancelOne(t){let r=this.states.get(t);if(!r)return;let n=r.status==="running";r.cancelled=!0;for(let o of r.instances)Va(()=>o.cancel());n&&this.settleArmed.get(r)===!1&&(this.writeStatus(t,r,"finished"),this.syncHost(r)),n&&this.emit(t,r,X.cancel,"cancelled")}control(t){return Kt({animator:this,root:this.root,target:t})}startInstance(t,r){try{return t.activate(),!0}catch(n){return this.reporter.warn(`effect failed to activate: ${String(n)}`,r),!1}}play(t,r,n={}){return qt({animator:this,root:this.root,target:t,effect:r},n)}uncloak(){(jn(this.root)?this.root.ownerDocument:this.root)?.documentElement?.removeAttribute(w.cloak)}stateOf(t){return this.states.get(t)}derivedOf(t){return Qt(this.book,t)}hostOf(t){return Vs(this.book,t)}reset(t){this.release(t)}release(t){let r=this.states.get(t);if(!r)return;ka(this.port,t);let n=r.status==="running";r.cancelled=!0,r.controller.abort();for(let o of r.instances)Va(()=>o.destroy());this.states.delete(t),this.liveElements.delete(t),this.gateWatcher?.unwatch(t),r.ledgers.restore(),n&&this.emit(t,r,X.cancel,"reset")}releaseTree(t){let r=[t,...t.querySelectorAll("*")];for(let n of r)this.liveElements.has(n)&&this.release(n);ua(r,this.reporter),wa(this.port,r)}destroy(){this.domWatcher?.destroy(),la(this.root);for(let t of[...this.liveElements])this.release(t);this.gateWatcher?.destroy(),this.binder.destroy(),this.scheduler.destroy(),this.started=!1}watch(){this.domWatcher??=Ca({root:this.root,onElementAdded:t=>{this.scan(t),xa(this.port,t)},onElementRemoved:t=>this.releaseTree(t),onAttributeChanged:t=>{this.process(t),pa(t,this.reporter)}}),this.domWatcher.watch()}};function Fa(e={}){return new Ge(e)}function eh(e){let t=e.root??globalThis.document,r=e.capabilities??zt(),n=e.reporter??ar(),o=e.scheduler??Oa(),i=e.rootResolver??rh(t),s=(e.reducedMotion??"respect")==="respect";return{registry:e.registry??new Ce,capabilities:r,root:t,reporter:n,binder:e.binder??Rt({reporter:n}),scheduler:o,rootResolver:i,jsEffectPreparer:th(e.jsEffectPreparer,{scheduler:o,rootResolver:i,capabilities:r,reporter:n,respectReducedMotion:s}),domWatcher:e.domWatcher,respectReducedMotion:s,shouldObserve:e.observe??!1}}function th(e,t){return e??Ra(t)}function rh(e){let r=(jn(e)?e.ownerDocument:e)?.defaultView??globalThis;return _a({win:r})}function $n(e){return e.play!==void 0&&e.reverse!==void 0}function Va(e){try{e()}catch{}}var B=["duration","delay","ease"],Hn=new WeakMap;function cr(e,t){return Hn.set(e,t),e}function Ga(e,t){let r=Hn.get(e);return r?cr(t,r):t}function ur(e){return e.prepare?Hn.get(e.prepare):void 0}var Ua=[{slot:"duration",accepts:"time"},{slot:"delay",accepts:"time"},{slot:"ease",accepts:"easing"}];function kt(e,t,r={}){let n=e.resolve(t);if(!n)return;let{preset:o,primitive:i}=n,s=i.parameters,a=ur(i),c=a?a.honours??[]:B,u=Ua.map(m=>({...m,...Object.hasOwn(s,m.slot)?{param:m.slot}:{},honoured:c.includes(m.slot)})),l=Object.entries(s).map(([m,f])=>{let d=o.params?.[m],g=Ya(f.note,r,[o.name,i.id,"*"],m);return{name:m,type:f.type,default:d??f.default,presetDefault:d!==void 0,required:g?.required===!0,spellings:Wn(f,d??f.default),...nh(f,m,g)}}),p={name:o.name,primitive:i.id,renderer:i.renderer,params:l,positionalOrder:u};return a&&c.length<B.length&&(p.unhonouredBecause=a.because),p}function nh(e,t,r){let n={};e.keywords&&(n.keywords=e.keywords),e.minimum!==void 0&&(n.minimum=e.minimum),e.maximum!==void 0&&(n.maximum=e.maximum),e.integer&&(n.integer=!0);let o=Ua.findIndex(i=>i.slot===t);return o>=0&&(n.positionalIndex=o),r&&(n.note=r.why),r?.whenOmitted&&(n.whenOmitted=r.whenOmitted),n}function pr(e,t,r={}){return za(e,de(t).specs,r)}function mr(e,t,r={}){let n=de(t),o={};for(let[i,s]of Object.entries(Gn)){let a=n[i];a!==void 0&&(o[s.key]=a)}return{steps:za(e,n.specs,r),keys:Vn(r),written:o}}function Vn(e={}){return[...Object.values(Gn).map(r=>Ba(r,"element",e)),...ah.map(r=>Ba(r,"step",e))]}function za(e,t,r){return t.map(n=>{let o={written:oh(n),writtenKeys:ih(n)},i=kt(e,n.name,r);if(i)return{...i,...o};let s=Ye(n.name,e.names());return{...s?{name:n.name,unknown:!0,suggestion:s}:{name:n.name,unknown:!0},...o}})}function oh(e){let t={...e.params};return e.duration!==void 0&&(t.duration=e.duration),e.delay!==void 0&&(t.delay=e.delay),e.easing!==void 0&&(t.ease=e.easing),t}function ih(e){let t={};e.at!==void 0&&(t.at=e.at),Object.assign(t,e.gate),e.repeat!==void 0&&(t.repeat=e.repeat),e.yoyo!==void 0&&(t.yoyo=String(e.yoyo));for(let[r,n]of Object.entries(e.hoists??{}))t[Gn[r].key]=n;return t}var Fn="data-kui";function Ba(e,t,r){let n=Ya(void 0,r,[Fn],e.key),o={name:e.key,type:e.type,default:e.default,presetDefault:!1,required:!1,spellings:[...e.spellings],scope:t};return e.keywords&&(o.keywords=e.keywords),n&&(o.note=n.why),n?.whenOmitted&&(o.whenOmitted=n.whenOmitted),o}var Wa=Object.keys({time:0,view:0,scroll:0,pointer:0,pin:0}),qa=Object.keys({shorten:0,crossfade:0,disable:0}),Gn={activation:{key:"on",type:"text",default:"",spellings:["enter","load","hover","click","hover/unhover"]},actions:{key:"actions",type:"text",default:"",spellings:["play/pause/resume/reset","play/none/none/reset"]},timeline:{key:"timeline",type:"keyword",default:"",spellings:Wa,keywords:Wa},threshold:{key:"threshold",type:"percentage",default:"",spellings:["0%","25%"]},cascade:{key:"cascade",type:"time",default:"",spellings:["90ms","0.09s"]},spread:{key:"spread",type:"time",default:"",spellings:["600ms","0.6s"]},order:{key:"order",type:"text",default:"",spellings:["start","end","center","edges","random","3"]},cols:{key:"cols",type:"text",default:"",spellings:["auto","4"]},along:{key:"along",type:"keyword",default:"",spellings:["x","y"],keywords:["x","y"]},rm:{key:"rm",type:"keyword",default:"",spellings:qa,keywords:qa},func:{key:"func",type:"text",default:"",spellings:["onRevealDone"]}},lr=e=>({key:e,type:"keyword",default:"",spellings:$e,keywords:$e}),sh={at:{key:"at",type:"text",default:"",spellings:["after","with","-200ms","with+100ms"]},gate:{above:lr("above"),below:lr("below"),wide:lr("wide"),narrow:lr("narrow")},repeat:{key:"repeat",type:"text",default:"",spellings:["infinite","3"]},yoyo:{key:"yoyo",type:"keyword",default:"",spellings:["true","false"],keywords:["true","false"]}},ah=Object.values(sh).flatMap(e=>"key"in e?[e]:Object.values(e));function Ya(e,t,r,n){let o=r.map(s=>`${s}.${n}`).find(s=>Object.hasOwn(t,s)),i=e??(o===void 0?void 0:t[o]);if(i!==void 0)return typeof i=="string"?{why:i}:i}var Bn=/^-?(?:\d+(?:\.\d+)?|\.\d+)/;function Wn(e,t=e.default){let r=Me(t,e).ok?t.trim():"";return ch[e.type](r,e.keywords??[])}var ch={angle:e=>Ka(e),"angle|keyword":(e,t)=>[...Ka(t.includes(e)?"":e),...t],keyword:(e,t)=>[...t],time:uh,number:e=>[e||"1"],percentage:e=>[e||"50%"],"number|percentage":lh,length:e=>[e||"24px","calc(1rem + 4px)"],"length|percentage":e=>[e||"24px","50%"],color:e=>[e||"#e4f222","rgb(228 242 34)","currentcolor"],easing:e=>[e||"ease-out","linear","cubic-bezier(.2, .8, .2, 1)","spring"],path:()=>["M0,0L100,0"],text:()=>[]};function Ka(e){let t=Bn.exec(e)?.[0],r=e.endsWith("deg")||/^-?[\d.]+d?$/.test(e),n=r&&t?t:"45",o=[n,`${n}d`,`${n}deg`];return r||!e?o:[e,...o]}function uh(e){let t=Bn.exec(e)?.[0];return t?e.endsWith("ms")?[e,`${fe(t,-3)}s`]:[e,`${fe(t,3)}ms`]:["600ms","0.6s"]}function lh(e){let t=Bn.exec(e)?.[0];return t?e.endsWith("%")?[`${fe(t,-2)}`,e]:[e,`${fe(t,2)}%`]:["0.5","50%"]}var O={delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"}};function Xa(e,t){if(t==="ease")return e.timing.easing;let r=t==="duration"?e.timing.durationMs:e.timing.delayMs;return r===void 0?void 0:`${r}ms`}function Ja(e,t,r,n){let o=t.honours??[];for(let i of B){if(o.includes(i)||Xa(r,i)===void 0)continue;let s=o.length>0?o.join(", "):"no timing parameters";n(`"${e}" cannot honour ${i}: ${t.because} (honours: ${s})`)}}function tt(e,t=0){return e.timing.delayMs??e.ms("delay",t)}function dr(e,t=""){return e.timing.easing??e.text("ease",t)}function Be(e,t,r,n){for(let o of t){let i=Xa(r,o);i!==void 0&&n.style.set(Re(e,o),i)}}function R(e,t,r){return cr((n,o,i)=>(Ja(e,t,o,i.warn),r(n,o,i)),t)}function ne(e,t){return cr((r,n,o)=>(Ja(e,t,n,o.warn),Pt(()=>(Be(e,t.honours??[],n,o),()=>{}))),t)}var ye=["time","view","scroll","pin"],ph={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"0ms",cssProperty:"--kui-stagger"}};function b(e,t,r={}){return{id:e,renderer:"css-keyframes",channels:t,parameters:{...ph,...r.parameters},supportedTimelines:r.timelines??["time"],supportedActivations:r.activations??["load","enter","hover","focus","click","manual"],perfClass:r.perfClass??"compositor",reducedMotion:r.reducedMotion??"shorten",...r.defaultActivation?{defaultActivation:r.defaultActivation}:{}}}var Za={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"},to:{type:"color",default:"",cssProperty:"--kui-ambient-c2"}},mh={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"}},dh={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"}},fh={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"}},gh={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}},yh=[b("ambient-gradient",[y.background],{parameters:Za,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-gradient-ring",[y.background,"mask","position","padding"],{parameters:Za,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-tint",[y.background],{parameters:mh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-float",[y.translate],{parameters:dh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-orbit",[y.rotate],{parameters:fh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-pulse",[y.scale,y.opacity],{parameters:gh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"})],hh=[{name:"gradient-mesh",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-gradient-mesh"},{name:"aurora",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-aurora"},{name:"gradient-rotate-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-rotate-border",params:{duration:"6s",ease:"linear"}},{name:"gradient-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-border",params:{duration:"6s",ease:"linear"}},{name:"scanline",phase:"idle",primitive:"ambient-tint",keyframes:"kui-scanline",params:{duration:"3.5s",ease:"linear"}},{name:"dot-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-dot-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"line-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-line-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"starfield",phase:"idle",primitive:"ambient-tint",keyframes:"kui-starfield",params:{duration:"40s",ease:"linear"}},{name:"spotlight-follow",phase:"idle",primitive:"ambient-tint",keyframes:"kui-spotlight-follow",params:{duration:"9s"}},{name:"wave-blob",phase:"idle",primitive:"ambient-tint",keyframes:"kui-wave-blob",params:{duration:"12s"}},{name:"float",phase:"idle",primitive:"ambient-float",keyframes:"kui-float"},{name:"bob",phase:"idle",primitive:"ambient-float",keyframes:"kui-bob",params:{duration:"2s",distance:"8px"}},{name:"floating-shapes",phase:"idle",primitive:"ambient-float",keyframes:"kui-floating-shapes",params:{duration:"6s",distance:"10px"}},{name:"orbit",phase:"idle",primitive:"ambient-orbit",keyframes:"kui-orbit"},{name:"glow-pulse",phase:"idle",primitive:"ambient-pulse",keyframes:"kui-glow-pulse"}];function Qa(e){return e.registerPrimitives(yh).registerPresets(hh)}var vh={duration:{type:"time",default:"240ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},bh="discrete.css pins that value on this effect";function ec(e,t){return{scale:{type:"number",default:t,cssProperty:e,finite:!0,minimum:0}}}function qn(e,t){return{distance:{type:"length",default:t,cssProperty:e}}}function rt(e,t,r={}){return{id:e,renderer:"javascript",channels:t,parameters:{...vh,...r},supportedTimelines:["time"],supportedActivations:["manual"],defaultActivation:"manual",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,{honours:B,because:bh})}}var nt=[{property:"display"},{property:"overlay"}],Eh=[rt("fade-open",["opacity","discrete"]),rt("pop-open",["opacity","scale","discrete"],ec("--kui-pop-open-scale","0.92")),rt("scale-open",["scale","discrete"],ec("--kui-scale-open-scale","0.85")),rt("drop-open",["opacity","translate","discrete"],qn("--kui-drop-open-distance","12px")),rt("slide-open-up",["opacity","translate","discrete"],qn("--kui-slide-open-up-distance","16px")),rt("slide-open-down",["opacity","translate","discrete"],qn("--kui-slide-open-down-distance","16px"))],Sh=[{name:"fade-open",primitive:"fade-open",transitions:[{property:"opacity"},...nt]},{name:"pop-open",primitive:"pop-open",transitions:[{property:"opacity"},{property:"scale"},...nt]},{name:"scale-open",primitive:"scale-open",transitions:[{property:"scale"},...nt]},{name:"drop-open",primitive:"drop-open",transitions:[{property:"opacity"},{property:"translate"},...nt]},{name:"slide-open-up",primitive:"slide-open-up",transitions:[{property:"opacity"},{property:"translate"},...nt]},{name:"slide-open-down",primitive:"slide-open-down",transitions:[{property:"opacity"},{property:"translate"},...nt]}];function tc(e){return e.registerPrimitives(Eh).registerPresets(Sh)}var Ph={duration:{type:"time",default:"1.6s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},kh={duration:{type:"time",default:"900ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},wh={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"}},xh={duration:{type:"time",default:"1.4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"}},Th={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"}},Ah={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Kn={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.18",cssProperty:"--kui-pop-scale",finite:!0,minimum:1}},Ch={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}},Rh={...Kn,distance:{type:"length|percentage",default:"45%",cssProperty:"--kui-confetti-distance"},fan:{type:"number",default:"1",cssProperty:"--kui-confetti-fan",finite:!0,minimum:0},size:{type:"length",default:"6px",cssProperty:"--kui-confetti-size"},spill:{type:"length",default:"24px",cssProperty:"--kui-confetti-spill"},color1:{type:"color",default:"",cssProperty:"--kui-confetti-c1"},color2:{type:"color",default:"",cssProperty:"--kui-confetti-c2"},color3:{type:"color",default:"",cssProperty:"--kui-confetti-c3"},color4:{type:"color",default:"",cssProperty:"--kui-confetti-c4"},color5:{type:"color",default:"",cssProperty:"--kui-confetti-c5"}},Mh={duration:{type:"time",default:"1400ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Ih={distance:{type:"length",default:"36px",cssProperty:"--kui-pull-distance"}},Lh=[b("feedback-shimmer",[y.background],{parameters:Ph,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-fade",[y.opacity],{defaultActivation:"manual"}),b("feedback-spin",[y.rotate,"discrete"],{parameters:kh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-dot-pulse",[y.scale,y.opacity,y.background,"shadow","discrete"],{parameters:wh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-progress-track",[y.translate,y.scale,y.background,"transform-origin"],{parameters:xh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-toast",[y.opacity,y.translate],{parameters:Th,defaultActivation:"manual"}),b("feedback-shake",[y.translate],{parameters:Ah,defaultActivation:"manual"}),b("feedback-wobble",[y.translate,y.rotate],{defaultActivation:"click"}),b("feedback-ripple",[y.scale,y.opacity,"sweep"],{parameters:Ch,defaultActivation:"click"}),b("feedback-pop",[y.scale],{parameters:Kn,defaultActivation:"manual"}),b("feedback-burst",[y.scale,y.opacity,y.background,"sweep"],{parameters:Rh,defaultActivation:"click"}),b("feedback-heart-burst",[y.scale,y.color],{parameters:Kn,defaultActivation:"click"}),b("feedback-confirm",[y.opacity],{parameters:Mh,defaultActivation:"click"}),b("feedback-pull",[y.translate],{parameters:Ih,defaultActivation:"manual"})],Oh=[{name:"skeleton-shimmer",phase:"idle",primitive:"feedback-shimmer",keyframes:"kui-skeleton-shimmer"},{name:"skeleton-to-content",primitive:"feedback-fade",keyframes:"kui-skeleton-to-content"},{name:"spinner",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-spin"},{name:"spinner-dots",phase:"idle",primitive:"feedback-dot-pulse",keyframes:"kui-spinner-dots"},{name:"spinner-ring",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-ring-spin"},{name:"progress-indeterminate",phase:"idle",primitive:"feedback-progress-track",keyframes:"kui-progress-indeterminate"},{name:"toast-slide-in",primitive:"feedback-toast",keyframes:"kui-toast-slide-in"},{name:"toast-slide-out",primitive:"feedback-toast",keyframes:"kui-toast-slide-out",params:{ease:"ease-in"}},{name:"shake-error",primitive:"feedback-shake",keyframes:"kui-shake-error"},{name:"wobble",primitive:"feedback-wobble",keyframes:"kui-wobble",params:{duration:"600ms",ease:"ease-in-out"}},{name:"ripple",primitive:"feedback-ripple",keyframes:"kui-ripple"},{name:"badge-pop",primitive:"feedback-pop",keyframes:"kui-badge-pop"},{name:"count-bump",primitive:"feedback-pop",keyframes:"kui-count-bump",params:{duration:"280ms",scale:"1.3"}},{name:"heart-burst",primitive:"feedback-heart-burst",keyframes:"kui-heart-burst",params:{duration:"700ms",scale:"1.4"}},{name:"confetti-burst",primitive:"feedback-burst",keyframes:"kui-confetti-burst",params:{duration:"900ms",scale:"1.15"}},{name:"copy-confirm",primitive:"feedback-confirm",keyframes:"kui-copy-confirm"},{name:"pull-to-refresh",primitive:"feedback-pull",keyframes:"kui-pull-to-refresh",params:{duration:"900ms",ease:"ease-out"}}];function rc(e){return e.registerPrimitives(Lh).registerPresets(Oh)}function nc(e,t){return{x:t.width>0?e.x/t.width-.5:0,y:t.height>0?e.y/t.height-.5:0}}function oc(e,t,r){let n=nc(e,t);return{rotateY:n.x*r*2,rotateX:-n.y*r*2}}function ic(e,t,r){let n=nc(e,t);return{x:n.x*r*2,y:n.y*r*2}}function he(e){return e.matchMedia?.("(hover: hover) and (pointer: fine)").matches??!0}var Un={lift:[{property:"translate"}],pop:[{property:"scale"}],"lift-shadow":[{property:"translate"},{property:"box-shadow"}],"border-draw":[{property:"--kui-border-pct"}],"border-glow":[{property:"box-shadow"}]},sc=["icon-bounce","icon-spin","icon-wiggle","split-flap"],zn={color:{type:"color",default:"",cssProperty:"--kui-beam-border-c1"},outset:{type:"length",default:"",cssProperty:"--kui-beam-border-outset"},arc:{type:"angle",default:"100deg",cssProperty:"--kui-beam-border-arc"},softness:{type:"number|percentage",default:"0.22",cssProperty:"--kui-beam-border-softness",finite:!0,minimum:0,maximum:.9}},ac={color:{type:"color",default:"",cssProperty:"--kui-shine-sweep-color"},angle:{type:"angle",default:"115deg",cssProperty:"--kui-shine-sweep-angle"},width:{type:"number|percentage",default:"0.2",cssProperty:"--kui-shine-sweep-width",finite:!0,minimum:0,maximum:1}},wt={borderDraw:{color:{type:"color",default:"",cssProperty:"--kui-border-draw-color"}},borderGlow:{color:{type:"color",default:"",cssProperty:"--kui-border-glow-color"}},underlineSlide:{color:{type:"color",default:"",cssProperty:"--kui-underline-slide-color"}},underlineCenter:{color:{type:"color",default:"",cssProperty:"--kui-underline-center-color"}}},cc={...wt.borderDraw,width:{type:"length",default:"2px",cssProperty:"--kui-border-draw-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-border-draw-outset"}};function Nh(e){return{duration:{type:"time",default:e,cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}}}function uc(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...Nh(r),...n},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,{honours:B,because:"interaction.css pins that value on this effect"})}}var _h={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"}},Dh={opacity:{type:"number|percentage",default:"0.4",cssProperty:"--kui-group-dim-opacity",finite:!0,minimum:0,maximum:1}},$h=[uc("press",["scale","shadow"],"120ms",_h)],jh=[{name:"press-depth",primitive:"press",transitions:[{property:"scale"},{property:"box-shadow"}]}],Hh=[uc("group-dim",["group"],"260ms",Dh)],Vh=[{name:"group-dim",phase:"state",primitive:"group-dim",requiresOwnSubtree:!0}],lc=[...$h,...Hh],pc=[...jh,...Vh];function Ie(e,t){let r=e.ResizeObserver,n=r?new r(t):void 0,o=new Set;return e.addEventListener("resize",t,{passive:!0}),{observe(i){o.has(i)||(o.add(i),n?.observe(i))},unobserve(i){o.delete(i),n?.unobserve(i)},disconnect(){e.removeEventListener("resize",t),n?.disconnect(),o.clear()}}}function Le(e,t){let r,n,o=()=>{r=void 0,n=void 0,t()};return{request(){r!==void 0||n!==void 0||(e.requestAnimationFrame?r=e.requestAnimationFrame(o):n=e.setTimeout(o,16))},cancel(){r!==void 0&&e.cancelAnimationFrame(r),n!==void 0&&e.clearTimeout(n),r=void 0,n=void 0}}}function fr(e,t,r,{perfClass:n="compositor",placed:o}={}){let i={honours:B,because:"interaction.css pins that value on this effect"};return{id:e,renderer:"javascript",channels:o?[...t,A(o.attribute),A(o.tease)]:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:n,reducedMotion:"shorten",prepare:o?R(e,i,(s,a,c)=>Pt(()=>(Be(e,B,a,c),Bh(s,a,o,c)))):ne(e,i)}}var mc={top:"bottom",bottom:"top",left:"right",right:"left"};function dc(e){return e!==null&&Object.hasOwn(mc,e)}function Fh(e,t,r){if(t[e]>=r)return e;let n=mc[e];return t[n]>t[e]?n:e}function Gh(e,t,r){switch(r){case"top":return-e.offsetTop;case"bottom":return e.offsetTop+e.offsetHeight-t.clientHeight;case"left":return-e.offsetLeft;case"right":return e.offsetLeft+e.offsetWidth-t.clientWidth}}function Bh(e,t,r,n){let o=Wh(e,t,r,n),i=x(e),s=()=>{i.restore(),o()},a=t.text("place"),c=t.ms("tease",0),u=a==="auto";!u&&dc(a)&&i.set(r.attribute,a);let l=u?qh(e,r,i,n.win):void 0,p=zh(e,r,n),m=()=>{l?.(),p()},f=()=>{},d=Yh(e,n,m,()=>f()),g=c>0?Xh(e,n,{ms:c,attribute:r.tease,attrs:i,shown:d}):void 0;return g&&(f=g.end),()=>{g?.stop(),d.stop(),s()}}function Wh(e,t,r,n){let o=_(t.text("target"),n,r.name);if(!o)return()=>{};let i=$(e,n,o,"self"),s=i[0];if(!s)return n.warn(`${r.name} target "${o}" matched nothing inside this element`),()=>{};i.length>1&&n.warn(`${r.name} target "${o}" matched ${i.length} elements; only the first is used`);let a=x(s);return s.hasAttribute(r.marker)||a.set(r.marker,""),()=>a.restore()}function qh(e,t,r,n){let o=t.preferred(e),i=o;return r.set(t.attribute,i),()=>{let s=e.querySelector(`[${t.marker}]`);if(!s)return;let a=e.getBoundingClientRect(),c={top:a.top,bottom:n.innerHeight-a.bottom,left:a.left,right:n.innerWidth-a.right},u=Fh(o,c,Gh(s,e,i));u!==i&&(i=u,r.set(t.attribute,i))}}var Kh=8;function Uh(e,t,r,n=Kh){let o=n,i=r-n;return e<o||t>i-o?o-e:e+t>i?i-e-t:0}function zh(e,t,r){let n=0;return()=>{let o=e.querySelector(`[${t.marker}]`);if(!o)return;let i=e.getAttribute(t.attribute),s=dc(i)?i:t.preferred(e),a=o.getBoundingClientRect(),c=e.getBoundingClientRect(),[u,l,p,m,f,d,g]=s==="top"||s==="bottom"?["left","width","offsetLeft","clientLeft","offsetWidth","clientWidth","innerWidth"]:["top","height","offsetTop","clientTop","offsetHeight","clientHeight","innerHeight"],h=e[f],v=h>0?c[l]/h:1;if(v<=0)return;let E=parseFloat(r.win.getComputedStyle(o).scale)||1,k=a[l]/E,C=c[u]+(e[m]+o[p])*v-k/2,F=r.doc.documentElement[d]||r.win[g],M=Uh(C,k,F)/v;M!==n&&(n=M,r.style.set(t.shift,`${M}px`))}}function Yh(e,t,r,n){let{win:o}=t,i=Le(o,r),s=!1,a=!1,c=!1,u,l=()=>{let m=s||a||c;if(m&&!u){r(),u=new AbortController;let f={capture:!0,passive:!0,signal:u.signal};o.addEventListener("scroll",i.request,f),o.addEventListener("resize",i.request,f)}else!m&&u&&(u.abort(),u=void 0,i.cancel())},p=(m,f)=>e.addEventListener(m,d=>{f(d),l()},{signal:t.signal});return p("pointerenter",()=>{s=!0,n()}),p("pointerleave",()=>s=!1),p("focusin",()=>{a=!0,n()}),p("focusout",m=>{a=e.contains(m.relatedTarget)}),{setTeasing(m){c=m,l()},stop(){u?.abort(),i.cancel()}}}function Xh(e,t,{ms:r,attribute:n,attrs:o,shown:i}){let{win:s}=t,a,c,u=()=>{a!==void 0&&(s.clearTimeout(a),a=void 0,o.remove(n),i.setTeasing(!1))},l=()=>{i.setTeasing(!0),o.set(n,""),a=s.setTimeout(u,r)},p=s.IntersectionObserver;return p&&(c=new p(m=>{m.some(f=>f.isIntersecting&&f.intersectionRatio>=.5)&&(c.disconnect(),l())},{threshold:.5}),c.observe(e)),{end:u,stop(){c?.disconnect(),a!==void 0&&s.clearTimeout(a),a=void 0}}}var Jh={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"}},Zh=[fr("label-swap",["discrete","label-swap"],Jh)],Qh=[{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"}],ev={duration:{type:"time",default:"160ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"1000ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"4px",cssProperty:"--kui-hover-intent-distance"},color:{type:"color",default:"#f4f4f0",cssProperty:"--kui-hover-intent-color"},"bg-color":{type:"color",default:"#111111",cssProperty:"--kui-hover-intent-bg-color"},radius:{type:"length",default:"12px",cssProperty:"--kui-hover-intent-radius"},place:{type:"keyword",default:"top",keywords:["top","bottom","auto"],cssProperty:"--kui-hover-intent-place"},tease:{type:"time",default:"0ms",cssProperty:"--kui-hover-intent-tease"},target:{type:"text",default:"",cssProperty:"--kui-target"}},tv=[fr("hover-intent",["hint"],ev,{placed:{name:"hover-intent",marker:"data-kui-hint",attribute:"data-kui-hint-place",tease:"data-kui-hint-tease",shift:"--kui-hover-intent-shift",preferred:()=>"top"}})],rv=[{name:"hover-intent",phase:"state",primitive:"hover-intent"}],nv={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-distance"},gap:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-gap"},scale:{type:"number",default:"0.85",cssProperty:"--kui-anchored-preview-scale",finite:!0,minimum:0,maximum:1},color:{type:"color",default:"currentcolor",cssProperty:"--kui-anchored-preview-color"},"bg-color":{type:"color",default:"transparent",cssProperty:"--kui-anchored-preview-bg-color"},radius:{type:"length",default:"0px",cssProperty:"--kui-anchored-preview-radius"},place:{type:"keyword",default:"top",keywords:["top","bottom","left","right","auto"],cssProperty:"--kui-anchored-preview-place"},tease:{type:"time",default:"0ms",cssProperty:"--kui-anchored-preview-tease"},target:{type:"text",default:"",cssProperty:"--kui-target"}};function ov(e){for(let t of(e.getAttribute(w.normalized)??"").split(/\s+/)){let r=/^anchored-preview(?:-(bottom|left|right))?$/.exec(t);if(r)return r[1]??"top"}return"top"}var iv=[fr("anchored-preview",["preview"],nv,{placed:{name:"anchored-preview",marker:"data-kui-preview",attribute:"data-kui-preview-place",tease:"data-kui-preview-tease",shift:"--kui-anchored-preview-shift",preferred:ov}})],sv=[{name:"anchored-preview",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-bottom",phase:"state",primitive:"anchored-preview",params:{place:"bottom"}},{name:"anchored-preview-left",phase:"state",primitive:"anchored-preview",params:{place:"left"}},{name:"anchored-preview-right",phase:"state",primitive:"anchored-preview",params:{place:"right"}}],av={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"}},cv=[fr("search-expand",["expand","discrete","search-field"],av,{perfClass:"layout"})],uv=[{name:"search-expand",primitive:"search-expand",transitions:[{property:"inline-size"}]}],fc=[...Zh,...tv,...iv,...cv],gc=[...Qh,...rv,...sv,...uv];var bc={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},yc={honours:["duration","delay"],because:"it is a continuous rotation and interaction.css runs it linear, so a curve would visibly stutter at the seam of every revolution"},lv="interaction.css pins that value on this effect",hc={distance:{type:"length",default:"6px",cssProperty:"--kui-lift-distance"}},pv={scale:{type:"number",default:"1.06",cssProperty:"--kui-pop-scale",finite:!0,minimum:0}};function mv(e){return Object.fromEntries(Object.entries(bc).filter(([t])=>e.includes(t)))}function oe(e,t,r={},n={honours:B,because:lv}){let o=n.honours;return{id:e,renderer:"javascript",channels:t,parameters:{...mv(o),...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,n)}}var Ec=[oe("lift",["translate"],hc),oe("pop",["scale"],pv),oe("lift-shadow",["translate","shadow"],hc),oe("shine-sweep",["sweep"],ac),oe("split-flap",["skew","discrete"]),oe("border-draw",["border","pseudo-before"],cc),oe("border-glow",["shadow"],wt.borderGlow),oe("beam-border",["border","pseudo-before"],zn,yc),oe("underline-slide",["scale"],wt.underlineSlide),oe("underline-center",["scale"],wt.underlineCenter),oe("icon-wiggle",["rotate"]),oe("icon-spin",["rotate"],{},yc),oe("icon-bounce",["translate"])],dv=Ec.map(e=>({name:e.id,primitive:e.id,...Un[e.id]?{transitions:Un[e.id]}:{},...sc.includes(e.id)?{delivery:"stylesheet-animation"}:{}})),fv=[{id:"beam-border-auto",renderer:"javascript",channels:["border","pseudo-before"],parameters:{duration:bc.duration,...zn},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:ne("beam-border-auto",{honours:["duration"],because:"it is an always-on linear loop with no start moment and no curve"})}],gv=[{name:"beam-border-auto",primitive:"beam-border-auto"}],yv={stiffness:{type:"number",default:"260",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"26",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}};function We(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R(e,{because:"it tracks pointer position continuously, so it has no start moment and no fixed span"},n)}}function hv(e){return{...ce,stiffness:e.num("stiffness",ce.stiffness),damping:e.num("damping",ce.damping),mass:e.num("mass",ce.mass)}}function vv(e){return{...Lt(),warn:e.warn}}function bv(e,t,r){if(!he(r.win))return()=>{};let n=e,o=t.num("maxAngle",14),i=t.text("perspective","800px");function s(l,p,m){r.style.set("transition",`transform ${m}ms ease-out`),r.style.set("transform",`perspective(${i}) rotateX(${l.toFixed(2)}deg) rotateY(${p.toFixed(2)}deg)`)}function a(l){let p=n.getBoundingClientRect(),m={x:l.clientX-p.left,y:l.clientY-p.top},{rotateX:f,rotateY:d}=oc(m,p,o);s(f,d,100)}function c(){s(0,0,400)}function u(){s(-o/2,o/2,250)}return n.addEventListener("pointermove",a,{passive:!0}),n.addEventListener("pointerleave",c,{passive:!0}),n.addEventListener("focus",u),n.addEventListener("blur",c),()=>{n.removeEventListener("pointermove",a),n.removeEventListener("pointerleave",c),n.removeEventListener("focus",u),n.removeEventListener("blur",c)}}function Ev(e){return[...e.querySelectorAll("[data-depth]")].map(t=>({ledger:j(t),depth:Number(t.dataset.depth)||0}))}function vc(e,t,r,n){for(let o of e)o.ledger.set("transition",`translate ${n}ms ease-out`),o.ledger.set("translate",`${(t*o.depth).toFixed(2)}px ${(r*o.depth).toFixed(2)}px`)}function Sv(e,t,r){if(!he(r.win))return()=>{};let n=e,o=t.num("strength",24),i=Ev(n);function s(c){let u=n.getBoundingClientRect(),l={x:c.clientX-u.left,y:c.clientY-u.top},p=ic(l,u,o);vc(i,p.x,p.y,120)}function a(){vc(i,0,0,400)}return n.addEventListener("pointermove",s,{passive:!0}),n.addEventListener("pointerleave",a,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",a),()=>{n.removeEventListener("pointermove",s),n.removeEventListener("pointerleave",a),n.removeEventListener("focus",a),n.removeEventListener("blur",a);for(let c of i)c.ledger.restore()}}function Sc(e,t,r){e.style.translate=`${t.toFixed(1)}px ${r.toFixed(1)}px`}function Pv(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 kv(e,t,r){let n={x:0,y:0},o=i=>s=>{n[i]=s,Sc(e,n.x,n.y)};return{x:xe(t,o("x"),r),y:xe(t,o("y"),r)}}function yr(e,t,r,n){if(!he(r.win))return()=>{};let o=e.ownerDocument,i=e,s=Pv(o,n,t.text("label","")),a=kv(s,hv(t),vv(r));function c(){s.classList.add("kui-cursor-dot-active")}function u(){s.classList.remove("kui-cursor-dot-active")}function l(m){c(),a.x.to(m.clientX),a.y.to(m.clientY)}function p(){let m=i.getBoundingClientRect(),f=m.left+m.width/2,d=m.top+m.height/2;c(),a.x.set(f),a.y.set(d),Sc(s,f,d)}return i.addEventListener("pointermove",l,{passive:!0}),i.addEventListener("pointerleave",u,{passive:!0}),i.addEventListener("focus",p),i.addEventListener("blur",u),()=>{i.removeEventListener("pointermove",l),i.removeEventListener("pointerleave",u),i.removeEventListener("focus",p),i.removeEventListener("blur",u),a.x.stop(),a.y.stop(),s.remove()}}function wv(e,t,r){if(!he(r.win))return()=>{};let n=e;r.win.getComputedStyle(n).position==="static"&&r.style.set("position","relative");function o(c,u,l){r.style.set("--kui-x",c),r.style.set("--kui-y",u),r.style.set("--kui-spotlight-opacity",l?"1":"0")}function i(c){let u=n.getBoundingClientRect();o(`${(c.clientX-u.left).toFixed(1)}px`,`${(c.clientY-u.top).toFixed(1)}px`,!0)}function s(){o("50%","50%",!1)}function a(){o("50%","50%",!0)}return n.addEventListener("pointermove",i,{passive:!0}),n.addEventListener("pointerleave",s,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",s),()=>{n.removeEventListener("pointermove",i),n.removeEventListener("pointerleave",s),n.removeEventListener("focus",a),n.removeEventListener("blur",s)}}var xv={maxAngle:{type:"number",default:"14",cssProperty:"--kui-max-angle"},perspective:{type:"length",default:"800px",cssProperty:"--kui-perspective"}},Tv={strength:{type:"number",default:"24",cssProperty:"--kui-strength"}},gr={...yv,label:{type:"text",default:"",cssProperty:"--kui-label"}},Av=[We("tilt-3d",["skew","transition"],xv,P(bv)),We("tilt-parallax",["translate"],Tv,P(Sv)),We("cursor-follow",["translate"],gr,P(Cv)),We("cursor-lag",["translate"],gr,P(Rv)),We("cursor-label",["translate"],gr,P(Mv)),We("cursor-invert",["translate"],gr,P(Iv)),We("cursor-spotlight",["spotlight","pseudo-before","position"],{},P(wv))];function Cv(e,t,r){return yr(e,t,r,"kui-cursor-dot-follow")}function Rv(e,t,r){return yr(e,t,r,"kui-cursor-dot-lag")}function Mv(e,t,r){return yr(e,t,r,"kui-cursor-dot-label")}function Iv(e,t,r){return yr(e,t,r,"kui-cursor-dot-invert")}var Lv=[{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"}}],Ov=[...Ec,...Av,...fv,...lc,...fc],Nv=[...dv,...Lv,...gv,...pc,...gc];function Pc(e){return e.registerPrimitives(Ov).registerPresets(Nv)}function _v(e,t,r){if(!he(r.win))return()=>{};let n=e;function o(s){r.style.set("--kui-proximity-x",`${s.clientX}px`),r.style.set("--kui-proximity-y",`${s.clientY}px`),r.style.set("--kui-proximity-opacity","1")}function i(){r.style.set("--kui-proximity-opacity","0")}return n.addEventListener("pointermove",o,{passive:!0}),n.addEventListener("pointerleave",i,{passive:!0}),()=>{n.removeEventListener("pointermove",o),n.removeEventListener("pointerleave",i)}}var Dv=[{id:"proximity-field",renderer:"javascript",channels:["proximity"],parameters:{},supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R("proximity-field",{because:"it tracks pointer position continuously across a container, so it has no start moment and no fixed span"},P(_v))}],$v=[{name:"proximity-field",phase:"state",primitive:"proximity-field"}],jv={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"}},Hv=[{id:"proximity-glow",renderer:"javascript",channels:["pseudo-before"],parameters:jv,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:ne("proximity-glow",{honours:["duration","ease"],because:"the ring is ambient chrome fed by an ancestor proximity-field and has no discrete start moment of its own to delay"})}],Vv=[{name:"proximity-glow",phase:"state",primitive:"proximity-glow"}],Fv=[...Dv,...Hv],Gv=[...$v,...Vv];function kc(e){return e.registerPrimitives(Fv).registerPresets(Gv)}var Yn="",Bv={blur:{type:"length",default:"16px",cssProperty:"--kui-glass-blur"},saturate:{type:"number|percentage",default:"1.6",cssProperty:"--kui-glass-saturate",finite:!0,minimum:0},opacity:{type:"number|percentage",default:"0.12",cssProperty:"--kui-glass-opacity",finite:!0,minimum:0,maximum:1},tint:{type:"color",default:Yn,cssProperty:"--kui-glass-tint"},rim:{type:"color",default:Yn,cssProperty:"--kui-glass-rim"},"rim-width":{type:"length",default:"1px",cssProperty:"--kui-glass-rim-width"},sheen:{type:"number|percentage",default:"0.16",cssProperty:"--kui-glass-sheen",finite:!0,minimum:0,maximum:1},radius:{type:"length|percentage",default:Yn,cssProperty:"--kui-glass-radius"}};function Wv(){return I(()=>{})}var qv=[{id:"glass",renderer:"javascript",channels:["background","backdrop"],parameters:Bv,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:R("glass",{because:"it paints a resting surface rather than animating, so there is no motion to time"},P(Wv))}],Kv=[{name:"glass",primitive:"glass"}];function wc(e){return e.registerPrimitives(qv).registerPresets(Kv)}var Uv=new Set(["mp4","webm","mov","m4v","ogv"]),zv=new Set(["youtube.com","www.youtube.com","m.youtube.com","youtube-nocookie.com","www.youtube-nocookie.com","youtu.be","www.youtu.be"]);function xc(e){let t=e.replace(/[\t\n\r]/g,""),r=0;for(;r<t.length&&t.charCodeAt(r)<=32;)r+=1;return t.slice(r)}function Yv(e){let t=xc(e).replace(/^[a-z][a-z0-9+.-]*:/i,"").replace(/^\/\//,""),r=t.search(/[/?#]/),n=r===-1?t:t.slice(0,r);return n.slice(n.lastIndexOf("@")+1).toLowerCase()}function Xv(e){return zv.has(Yv(e))}var Xn={center:"50% 50%",top:"50% 0%",bottom:"50% 100%",left:"0% 50%",right:"100% 50%","top-left":"0% 0%","top-right":"100% 0%","bottom-left":"0% 100%","bottom-right":"100% 100%"},Tc=Object.keys(Xn);function Ac(e){return Xn[e]??Xn.center}function Jv(e){return e.overlay!=="transparent"&&e.overlayOpacity>0}function Zv(e){let t=e.split("?")[0].split("#")[0],r=t.lastIndexOf(".");return r<=t.lastIndexOf("/")?!1:Uv.has(t.slice(r+1).toLowerCase())}var Qv=new Set(["http","https"]);function eb(e){let t=/^([a-z][a-z0-9+.-]*):/i.exec(xc(e));return t?t[1].toLowerCase():""}function Jn(e,t,r){if(!e)return e;if(Xv(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=eb(e);return!n||Qv.has(n)?e:(r.warn(`background-media "${t}": "${n}:" URLs are not allowed \u2014 use https:, http:, or a path such as "/media/hero.mp4".`),"")}function Cc(e){let{style:t}=e;t.setProperty("position","absolute"),t.setProperty("top","0"),t.setProperty("left","0"),t.setProperty("width","100%"),t.setProperty("height","100%"),t.setProperty("border-radius","inherit"),t.setProperty("pointer-events","none"),t.setProperty("z-index","-1")}function tb(e,t){let r=e.createElement("div");return Cc(r),r.style.setProperty("background",t.overlay),r.style.setProperty("opacity",String(t.overlayOpacity)),r.setAttribute("aria-hidden","true"),r}function rb(e,t){let r=e.createElement("video");return r.muted=!0,r.setAttribute("muted",""),r.playsInline=!0,r.setAttribute("playsinline",""),r.loop=t.loop,r.defaultPlaybackRate=t.rate,r.playbackRate=t.rate,r.preload="metadata",t.poster&&(r.poster=t.poster),r.src=t.src,r}function Rc(e){let t=e.play();t&&t.catch(()=>{})}function nb(e,t,r){return r.reducedMotion||r.autoplay==="never"?()=>{}:r.autoplay==="always"?(Rc(e),()=>{e.paused||e.pause()}):ib(e,t)}function ob(e,t){let r=e.createElement("img");return r.alt="",r.decoding="async",r.src=t.src,r}function ib(e,t){let r=t.IntersectionObserver;if(!r)return()=>{};let n=new r(o=>{for(let i of o)i.isIntersecting?Rc(e):e.paused||e.pause()},{threshold:0});return n.observe(e),()=>{n.disconnect(),e.paused||e.pause()}}function Mc(e,t,r){let n=e.ownerDocument,o=Zv(r.src)?rb(n,r):null,i=o??ob(n,r);Cc(i),i.style.setProperty("object-fit",r.fit),i.style.setProperty("object-position",r.position),i.setAttribute("aria-hidden","true"),i.setAttribute("data-kui-background",""),e.append(i);let s=Jv(r)?tb(n,r):null;s&&(s.setAttribute("data-kui-background-overlay",""),e.append(s));let a=o?nb(o,t.win,r):()=>{};return{remove:()=>{a(),i.remove(),s?.remove()}}}var Zn={vertical:0,horizontal:90},sb={deg:1,d:1,grad:.9,rad:180/Math.PI,turn:360},Ic=1,ab="kui-slat-stage",cb="kui-slat-item",ub=.6180339887498949;function lb(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*ub%1*t);case"alternate":default:return pb(e,t)}}function pb(e,t){let r=e,n=t-1-e,o=Math.min(r,n);return r<=n?o*2:o*2+1}function Lc(e,t){let r=e.trim();if(!r)return Zn[t];let n=/^(-?(?:\d+(?:\.\d+)?|\.\d+))(deg|d|rad|grad|turn)?$/.exec(r);if(!n)return Zn[t];let o=Number(n[1]);if(!Number.isFinite(o))return Zn[t];let i=n[2]??"deg";return(o*sb[i]%180+180)%180}function Oc(e){let t=e*Math.PI/180;return{x:-Math.sin(t),y:Math.cos(t)}}function mb(e,t,r,n){let{width:o,height:i}=n,s=r*Math.PI/180,a=Math.cos(s),c=Math.sin(s),{x:u,y:l}=Oc(r),p=Math.abs(a)*o+Math.abs(c)*i,m=o/2,f=i/2,d=p/t,g=e*d-p/2-Ic,h=(e+1)*d-p/2+Ic,v=o+i,E=(k,C)=>`${(m+k*a+C*u).toFixed(2)}px ${(f+k*c+C*l).toFixed(2)}px`;return`polygon(${E(g,v)}, ${E(g,-v)}, ${E(h,-v)}, ${E(h,v)})`}function db(e){return e===0?"vertical":e===90?"horizontal":"diagonal"}function Nc(e,t,r){let{slats:n,angleDegrees:o}=r,i=t.offsetWidth,s=t.offsetHeight;e.style.top=`${t.offsetTop}px`,e.style.left=`${t.offsetLeft}px`,e.style.width=`${i}px`,e.style.height=`${s}px`,n.forEach((a,c)=>{a.style.clipPath=mb(c,n.length,o,{width:i,height:s})})}function fb(e,t,r,n){let i=Ie(r,()=>Nc(e,t,n));return i.observe(t),i.disconnect}function gb(e,t){let r=t.getComputedStyle(e),n=r.objectPosition||"50% 50%",o=r.objectFit;return o==="cover"?{size:"cover",position:n}:o==="contain"||o==="scale-down"?{size:"contain",position:n}:o==="none"?{size:"auto",position:n}:{size:"100% 100%",position:n}}function _c(e,t,r,n){let o=e.querySelector("img");if(!o)return null;let i=o.currentSrc||o.getAttribute("src")||"";if(!i)return null;let{count:s,angleDegrees:a,from:c,fold:u}=n,l=Oc(a),p=t.createElement("div");p.className=ab,p.setAttribute("aria-hidden","true"),p.dataset.kuiSlatAxis=db(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=gb(o,r),f=[];for(let v=0;v<s;v++){let E=t.createElement("div");E.className=cb,E.style.setProperty("--kui-slat-index",String(v)),E.style.setProperty("--kui-i",String(lb(v,s,c))),E.style.backgroundImage=`url("${i}")`,E.style.backgroundSize=m.size,E.style.backgroundPosition=m.position,p.append(E),f.push(E)}e.append(p);let d={slats:f,angleDegrees:a};Nc(p,o,d);let g=fb(p,o,r,d),h=j(o);return h.set("visibility","hidden"),{stage:p,slats:f,restore:()=>{g(),h.restore(),p.remove()}}}function Dc(e,t){let{durationMs:r,delayMs:n,easing:o}=t.timing,i=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",i),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",Te(o??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","60ms"))}function $c(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),o=e.ms("stagger",60);return n+(t-1)*o+r}var Qn={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},scale:{type:"number",default:"1.12",cssProperty:"--kui-to-scale"}},yb=[b("media-wipe",[y.clip]),b("media-mask",["mask"],{perfClass:"paint"}),b("media-ken-burns",[y.translate,y.scale],{parameters:Qn}),b("media-filter",[y.filter],{defaultActivation:"hover",perfClass:"paint"}),b("media-blur-up",[y.translate,y.filter],{parameters:{distance:Qn.distance,blur:{type:"length",default:"16px",cssProperty:"--kui-blur"}},perfClass:"paint"}),b("media-parallax-frame",[y.translate],{parameters:{distance:Qn.distance},timelines:["view","scroll"],activations:["manual"],reducedMotion:"disable"}),b("media-lightbox",[y.opacity,y.scale],{parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}})],hb=[{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"}],vb={slats:{type:"number",default:"8",cssProperty:"--kui-slats",minimum:2,maximum:24,integer:!0},axis:{type:"keyword",default:"vertical",cssProperty:"--kui-axis",keywords:["vertical","horizontal"]},angle:{type:"text",default:"",cssProperty:"--kui-slat-angle"},from:{type:"keyword",default:"alternate",cssProperty:"--kui-from",keywords:["alternate","start","end","edges","random-ish"]},fold:{type:"keyword",default:"false",cssProperty:"--kui-fold",keywords:["true","false"]},duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"60ms",cssProperty:"--kui-stagger"}};function bb(e,t,r){let n=e.ownerDocument,o=Math.min(24,Math.max(2,Math.round(t.num("slats",8)))),i=t.text("axis","vertical"),s=Lc(t.text("angle",""),i),a=t.text("from","alternate"),c=t.is("fold"),u=e;r.win.getComputedStyle(u).position==="static"&&r.style.set("position","relative");let l=_c(e,n,r.win,{count:o,angleDegrees:s,from:a,fold:c});if(!l)return()=>{};let{stage:p}=l;Dc(p,t),p.classList.add("kui-slat-animating");let m,f=new Promise(v=>{m=v}),d=!1,g=()=>{d||(d=!0,p.classList.remove("kui-slat-animating"),l.restore(),m())},h=r.win.setTimeout(g,$c(t,o));return{cleanup:()=>{r.win.clearTimeout(h),!d&&(d=!0,l.restore())},finished:f,finish:()=>{r.win.clearTimeout(h),g()}}}var Eb={src:{type:"text",default:"",cssProperty:"--kui-src"},poster:{type:"text",default:"",cssProperty:"--kui-poster"},fit:{type:"keyword",default:"cover",cssProperty:"--kui-fit",keywords:["cover","contain"]},focus:{type:"keyword",default:"center",cssProperty:"--kui-focus",keywords:Tc},overlay:{type:"color",default:"transparent",cssProperty:"--kui-overlay"},"overlay-opacity":{type:"percentage",default:"100%",cssProperty:"--kui-overlay-opacity"},autoplay:{type:"keyword",default:"in-view",cssProperty:"--kui-autoplay",keywords:["in-view","always","never"]},rate:{type:"number",default:"1",cssProperty:"--kui-rate",finite:!0,minimum:.25,maximum:4},loop:{type:"keyword",default:"true",cssProperty:"--kui-loop",keywords:["true","false"]}};function Sb(e,t,r){let n=t.text("src");if(!n)return r.warn('background-media needs a "src:" \u2014 nothing installed'),()=>{};let o=Jn(n,"src",r);if(!o)return()=>{};let i=e;r.win.getComputedStyle(i).position==="static"&&r.style.set("position","relative"),r.style.set("isolation","isolate");let s=Mc(e,r,{src:o,poster:Jn(t.text("poster"),"poster",r),fit:t.is("fit","contain")?"contain":"cover",position:Ac(t.text("focus","center")),overlay:t.text("overlay","transparent"),overlayOpacity:Math.min(1,Math.max(0,t.num("overlay-opacity",1))),autoplay:t.text("autoplay","in-view"),rate:t.num("rate",1),loop:!t.is("loop","false"),reducedMotion:r.reducedMotion});return I(s.remove)}var Pb=[{id:"slat-assemble",renderer:"javascript",channels:[y.opacity,y.translate,y.rotate,"position",D],parameters:vb,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"disable",restoresOnFinish:!0,prepare:P(bb)},{id:"background-media",channels:["media","position","isolation",D],renderer:"javascript",parameters:Eb,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:R("background-media",{because:"it paints a backdrop rather than animating, so there is no motion to time"},P(Sb))}],kb=[{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"}}],wb=[...yb,...Pb],xb=[...hb,...kb];function jc(e){return e.registerPrimitives(wb).registerPresets(xb)}function hr(e){let t=Array.from(e.childNodes);return()=>{e.replaceChildren(...t)}}var Tb="kui-sr-only",Ab="kui-split-decorative",Cb="a[href], button, input, select, textarea, [tabindex], [contenteditable], details, summary, iframe, audio[controls], video[controls]";function ve(e){return e.querySelector(Cb)!==null}function qe(e,t){let r=e.textContent.trim(),n=hr(e),o=t.createElement("span");o.setAttribute("aria-hidden","true"),o.className=Ab;let i=t.createElement("span");return i.className=Tb,i.textContent=r,e.textContent="",e.append(o,i),{decorative:o,srOnly:i,originalText:r,restore:n}}function vr(e){let t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),r=>r.segment)}function Rb(e){let t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e),r=>({text:r.segment,isWord:r.isWordLike===!0}))}function br(e,t,r){e.className=r?`kui-split-item ${r}`:"kui-split-item",e.style.setProperty("--kui-i",String(t))}function Er(e,t){let{durationMs:r,delayMs:n,easing:o}=t.timing,i=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",i),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",Te(o??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","30ms"))}function to(e,t,r){let n=e.timing.durationMs;return n===void 0||t<=0?e.ms("step",r):Math.max(1,n/t)}function Sr(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),o=e.ms("stagger",30);return n+(t-1)*o+r}function Pr(e,t){let r,n=new Promise(a=>{r=a}),o;function i(){e.clearTimeout(s),o!==void 0&&e.clearInterval(o),r?.()}let s=e.setTimeout(()=>{o=e.setInterval(()=>{t.tick()&&i()},t.stepMs)},t.delayMs);return{finished:n,stop:i}}function ro(e,t,r){let n=[],o=0,i=null;for(let s of vr(r)){if(s.trim()===""){e.append(t.createTextNode(s)),i=null;continue}i||(i=t.createElement("span"),i.className="kui-split-word",e.append(i));let a=t.createElement("span");br(a,o),a.textContent=s,i.append(a),n.push(a),o++}return n}function eo(e,t){let r=e.doc.createElement("span");return br(r,e.spans.length),r.textContent=t,e.container.append(r),e.spans.push(r),r}function Mb(e,t,r){for(let{segment:n}of r.segment(t))n.trim()===""?(e.leading&&eo(e,e.leading),e.leading="",e.preceding=null,e.container.append(e.doc.createTextNode(n))):e.leading||/^[\p{Ps}\p{Pi}¿¡]$/u.test(n)||!e.preceding?e.leading+=n:e.preceding.textContent+=n}function Hc(e,t,r){let n={container:e,doc:t,spans:[],preceding:null,leading:""},o=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(let i of Rb(r)){if(!i.isWord){Mb(n,i.text,o);continue}n.preceding=eo(n,n.leading+i.text),n.leading=""}return n.leading&&eo(n,n.leading),n.spans}function Ib(e){let t=[],r=null;for(let n of Array.from(e.childNodes)){if(n instanceof HTMLElement){let o=n.offsetTop;(r===null||Math.abs(o-r)>1)&&(t.push([]),r=o)}else t.length===0&&t.push([]);t.at(-1).push(n)}return t}function Vc(e,t){let r=Ib(e);return e.replaceChildren(),r.map((n,o)=>{let i=t.createElement("span");br(i,o,"kui-split-line");for(let s of n)s instanceof HTMLElement&&(s.removeAttribute("class"),s.style.removeProperty("--kui-i")),i.append(s);return e.append(i),i})}function Lb(e,t,r){return Hc(e,t,r),Vc(e,t)}function Fc(e,t){let r=Array.from(e.childNodes).flatMap(o=>Array.from(o.childNodes));e.replaceChildren(...r);let n=0;for(let o of r)o instanceof HTMLElement&&br(o,n++);return Vc(e,t)}function no(e,t,r,n){return e==="words"?Hc(t,r,n):e==="lines"?Lb(t,r,n):ro(t,r,n)}function Gc(e,t,r){if(!e.deleting){let o=e.index+1;return o<t?{index:o,deleting:!1,done:!1}:r?{index:t,deleting:!0,done:!1}:{index:t,deleting:!1,done:!0}}let n=e.index-1;return n>0?{index:n,deleting:!0,done:!1}:{index:0,deleting:!1,done:!1}}var Bc={upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",binary:"01",symbols:"!<>-_\\/[]{}=+*^?#~"};function Wc(e,t,r,n){return e.map((o,i)=>i<t||o.trim()===""?o:r[Math.floor(n()*r.length)]??r[0]??o).join("")}var Ob=/^[A-Za-z0-9]{4}$/,qc={type:"keyword",default:'"wght"',cssProperty:"--kui-axis",keywords:[]},Kc={axis:qc,from:{type:"number",default:"100",cssProperty:"--kui-from-axis",finite:!0},to:{type:"number",default:"900",cssProperty:"--kui-to-axis",finite:!0}};function Uc(e,t){let r=e.params.axis;if(r===void 0)return{};let n=Object.fromEntries(Object.entries(e.params).filter(([i])=>i!=="axis"));if(!Ob.test(r))return t(`"axis:${r}" is not an OpenType axis tag \u2014 expected exactly four letters or digits, case-significant, e.g. axis:wght (registered) or axis:GRAD (vendor)`),{params:n};let o=`"${r}"`;return{params:{...n,axis:o},schema:{axis:{...qc,keywords:[o]}}}}var Nb="kui-sr-only",_b="kui-count-decorative";function Xc(e,t){let r=hr(e),n=t.createElement("span");n.setAttribute("aria-hidden","true"),n.className=_b;let o=t.createElement("span");return o.className=Nb,e.textContent="",e.append(n,o),{decorative:n,srOnly:o,restore:r}}function zc(e){return 1-(1-Math.min(Math.max(e,0),1))**3}function Jc(e,t,r){return t+(r-t)*e}function Yc(e,t,r,n){let o=3*e,i=3*(r-e)-o,s=1-o-i,a=3*t,c=3*(n-t)-a,u=1-a-c,l=d=>((s*d+i)*d+o)*d,p=d=>((u*d+c)*d+a)*d,m=d=>(3*s*d+2*i)*d+o;function f(d){let g=d;for(let E=0;E<8;E++){let k=m(g);if(Math.abs(k)<1e-6)break;let C=g-(l(g)-d)/k;if(Math.abs(l(C)-d)<1e-6)return C;g=C}let h=0,v=1;for(g=d;v-h>1e-6;)l(g)<d?h=g:v=g,g=(h+v)/2;return g}return d=>p(f(Math.min(Math.max(d,0),1)))}var Db={ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"expo-in":[.7,0,.84,0],"expo-out":[.16,1,.3,1],"expo-in-out":[.87,0,.13,1],"back-in":[.36,0,.66,-.56],"back-out":[.34,1.56,.64,1],"back-in-out":[.68,-.6,.32,1.6],"quart-out":[.25,1,.5,1],"circ-out":[0,.55,.45,1]},$b=/^cubic-bezier\(\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\)$/i;function kr(e,t){if(e===void 0)return zc;if(e==="linear")return o=>Math.min(Math.max(o,0),1);let r=Db[e];if(r)return Yc(...r);let n=$b.exec(e);return n?Yc(Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])):(t(`easing "${e}" has no JS equivalent for a JS-driven tween \u2014 using the default ease-out`),zc)}var jb={notation:"compact",maximumFractionDigits:1};function wr(e,t){let{format:r,decimals:n,currency:o}=t;return r==="currency"?new Intl.NumberFormat(void 0,{style:"currency",currency:o,minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="percent"?new Intl.NumberFormat(void 0,{style:"percent",minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="compact"?new Intl.NumberFormat(void 0,jb).format(e):new Intl.NumberFormat(void 0,{minimumFractionDigits:n,maximumFractionDigits:n}).format(e)}function oo(e,t){return Math.round(Math.max(0,e)).toString().padStart(t,"0")}function xr(e){let t=[];for(let r=e.length;r>0;r-=3)t.unshift(e.slice(Math.max(0,r-3),r));return t.join(",")}function io(e){return[...e].map(t=>({char:t,digit:t>="0"&&t<="9"}))}var Zc=16,Hb=1,Vb={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...O,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"},decimals:{type:"number",default:"0",cssProperty:"--kui-decimals",integer:!0,minimum:0,maximum:6},format:{type:"keyword",default:"number",cssProperty:"--kui-format",keywords:["number","currency","percent","compact"]},currency:{type:"text",default:"USD",cssProperty:"--kui-currency"}},Fb={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...O,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"}};function Qc(e,t,r){return{id:e,renderer:"javascript",channels:["content",D],parameters:t,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"shorten",prepare:r}}function Gb(e,t){return t.reducedMotion?Hb:Math.max(0,Z(e,1600))}function eu(e,t){return{durationMs:Gb(e,t),delayMs:Math.max(0,e.timing.delayMs??e.ms("delay",0)),easing:kr(e.timing.easing,t.warn)}}function tu(e,t){let{from:r,to:n,durationMs:o,delayMs:i,easing:s,onTick:a}=t,c=0,u,l,p=new Promise(g=>{l=g}),m=()=>{e.win.clearTimeout(d),u!==void 0&&e.win.clearInterval(u)},f=()=>{c+=Zc;let g=o<=0?1:Math.min(c/o,1),h=g>=1;a(Jc(s(g),r,n),h),h&&(m(),l())},d=e.win.setTimeout(()=>{u=e.win.setInterval(f,Zc)},i);return{cleanup:m,finished:p,finish:()=>{m(),a(n,!0),l()}}}function ru(e,t,r){let n=Xc(e,t);try{let o=r(n);return{...o,cleanup:()=>{o.cleanup(),n.restore()}}}catch(o){throw n.restore(),o}}function nu(e,t,r,n){let o=e.textContent,i=o.replace(/\D/g,""),s=r.replace(/\D/g,"");i!==s&&n.warn(`${t}: authored text "${o}" doesn't match the value it will count to (${r}) \u2014 author the final value as the element's text so crawlers and no-JS readers see it`)}function Bb(e,t,r){if(ve(e))return r.warn("count would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.num("from",0),i=t.num("to",100),s=Math.max(0,Math.round(t.num("decimals",0))),a=t.text("format","number"),c=t.text("currency","USD"),u={format:a,decimals:s,currency:c},l=wr(o,u),p=wr(i,u);return nu(e,"count",p,r),ru(e,n,m=>{m.decorative.textContent=l,m.srOnly.textContent=p;let f=tu(r,{from:o,to:i,...eu(t,r),onTick:d=>{m.decorative.textContent=wr(d,u)}});return{cleanup:f.cleanup,finished:f.finished,finish:f.finish}})}function Wb(e,t,r){let n=[];for(let o of io(r)){if(!o.digit){e.append(t.createTextNode(o.char));continue}let i=t.createElement("span");i.className="kui-odometer-col";let s=t.createElement("span");s.className="kui-odometer-strip";for(let a=0;a<=9;a++){let c=t.createElement("span");c.textContent=String(a),s.append(c)}s.style.setProperty("--kui-o",o.char),i.append(s),e.append(i),n.push(s)}return n}function qb(e,t){let r=0;for(let n of io(t))n.digit&&(e[r]?.style.setProperty("--kui-o",n.char),r++)}function Kb(e,t,r){if(ve(e))return r.warn("count-odometer would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=Math.max(0,t.num("from",0)),i=Math.max(0,t.num("to",100)),s=Math.max(String(Math.round(o)).length,String(Math.round(i)).length),a=xr(oo(o,s)),c=xr(String(Math.round(i)));return nu(e,"count-odometer",c,r),ru(e,n,u=>{u.srOnly.textContent=c;let l=Wb(u.decorative,n,a),p=tu(r,{from:o,to:i,...eu(t,r),onTick:m=>{qb(l,xr(oo(m,s)))}});return{cleanup:p.cleanup,finished:p.finished,finish:p.finish}})}var Ub=[Qc("count",Vb,P(Bb)),Qc("count-odometer",Fb,P(Kb))],zb=[{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"}}],Yb=[b("stroke-sweep",[y.stroke]),b("meter-bar",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),b("meter-segments",[y.opacity]),b("meter-stars",[y.clip])],Xb=[{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"}],Jb=[...Ub,...Yb],Zb=[...zb,...Xb];function ou(e){return e.registerPrimitives(Jb).registerPresets(Zb)}var Qb={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}},eE={from:{type:"percentage",default:"75%",cssProperty:"--kui-from-width"},to:{type:"percentage",default:"125%",cssProperty:"--kui-to-width"}},tE={from:{type:"angle",default:"0deg",cssProperty:"--kui-from-slant"},to:{type:"angle",default:"10deg",cssProperty:"--kui-to-slant"}},iu={color:{type:"color",default:"currentColor",cssProperty:"--kui-sweep-color"}},rE={angle:{type:"angle",default:"-20deg",cssProperty:"--kui-from-angle"},distance:{type:"length",default:"32px",cssProperty:"--kui-distance"}},nE=[b("text-shimmer",[y.background,y.color],{reducedMotion:"disable"}),b("text-gradient-sweep",[y.background,y.color],{parameters:iu}),b("text-sweep",[y.background],{parameters:iu}),b("text-outline-fill",[y.stroke,y.color]),b("var-weight",["font"],{parameters:Qb}),b("var-width",["font"],{parameters:eE}),b("var-slant",["font"],{parameters:tE}),{...b("var-axis",["font"],{parameters:Kc}),variantFor:Uc},b("text-marquee",[y.translate,"discrete"],{timelines:["time","scroll"],defaultActivation:"load",reducedMotion:"disable"}),b("redaction-reveal",[y.clip,"discrete"]),b("text-3d-extrude",[y.rotate,y.translate,"text-shadow","discrete"],{parameters:rE})],oE=[{name:"gradient-shimmer",phase:"idle",primitive:"text-shimmer",keyframes:"kui-gradient-shimmer"},{name:"gradient-sweep",primitive:"text-gradient-sweep",keyframes:"kui-gradient-sweep"},{name:"highlight-sweep",primitive:"text-sweep",keyframes:"kui-highlight-sweep",params:{color:"gold"}},{name:"underline-draw",primitive:"text-sweep",keyframes:"kui-underline-draw"},{name:"text-outline-fill",primitive:"text-outline-fill",keyframes:"kui-text-outline-fill"},{name:"var-weight",primitive:"var-weight",keyframes:"kui-var-weight"},{name:"var-width",primitive:"var-width",keyframes:"kui-var-width"},{name:"var-slant",primitive:"var-slant",keyframes:"kui-var-slant"},{name:"var-axis",primitive:"var-axis",keyframes:"kui-var-axis"},{name:"marquee",phase:"idle",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"marquee-scroll-linked",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"redaction-reveal",primitive:"redaction-reveal",keyframes:"kui-redaction-reveal"},{name:"text-3d-extrude",primitive:"text-3d-extrude",keyframes:"kui-text-3d-extrude"}];function xt(e,t,r){return{id:e,renderer:"javascript",channels:[...t,D],parameters:r.parameters,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:r.perfClass??"dom-transform",reducedMotion:"disable",prepare:r.prepare}}var iE={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"30ms",cssProperty:"--kui-stagger"},unit:{type:"keyword",default:"chars",cssProperty:"--kui-unit",keywords:["chars","words","lines"]},direction:{type:"keyword",default:"fade",cssProperty:"--kui-direction",keywords:["fade","up","down","mask"]}},sE={stagger:{type:"time",default:"40ms",cssProperty:"--kui-stagger"},...O,motion:{type:"keyword",default:"wave",cssProperty:"--kui-motion",keywords:["wave","jitter"]}},aE={step:{type:"time",default:"55ms",cssProperty:"--kui-step"},loop:{type:"keyword",default:"false",cssProperty:"--kui-loop",keywords:["true","false"]},...O},cE={step:{type:"time",default:"40ms",cssProperty:"--kui-step"},...O,revealEvery:{type:"number",default:"2",cssProperty:"--kui-reveal-every",minimum:1,integer:!0},charset:{type:"keyword",default:"upper",cssProperty:"--kui-charset",keywords:["upper","binary","symbols"]}},uE={words:{type:"text",default:"",cssProperty:"--kui-words"},interval:{type:"time",default:"2200ms",cssProperty:"--kui-interval"},...O};function lE(e,t,r){if(ve(e))return r.warn("split-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.text("unit","chars");if(o==="lines")return dE(e,t,r);let i=t.text("direction","fade"),s=qe(e,n);s.decorative.setAttribute("data-kui-split-fx",i),Er(s.decorative,t);let a=no(o,s.decorative,n,s.originalText),c,u=new Promise(p=>{c=p}),l=r.win.setTimeout(()=>{s.restore(),c()},Sr(t,a.length));return{cleanup:()=>{r.win.clearTimeout(l),s.restore()},finished:u,finish:()=>{r.win.clearTimeout(l),s.restore(),c()}}}function su(e,t){let r=t.getComputedStyle(e),n=/^(vertical|sideways)/.test(r.writingMode),o=e.getBoundingClientRect(),i=n?e.clientHeight:e.clientWidth,s=n?o.height:o.width,a=n?parseFloat(r.paddingBlockStart)+parseFloat(r.paddingBlockEnd):parseFloat(r.paddingInlineStart)+parseFloat(r.paddingInlineEnd);return(i||s)-(Number.isNaN(a)?0:a)}function pE(e,t,r,n){let o,i=new Promise(c=>{o=c}),s=()=>{e.win.clearTimeout(a),a=void 0,r.decorative.removeAttribute("aria-hidden"),r.srOnly.remove(),o()},a=e.win.setTimeout(s,Sr(t,n));return{finished:i,land:s,rearm(c){a!==void 0&&(e.win.clearTimeout(a),a=e.win.setTimeout(s,Sr(t,c)))},cancel(){a!==void 0&&e.win.clearTimeout(a)}}}function mE(e,t,r,n){let o=!0,i=Le(t.win,r),s=Ie(t.win,i.request);s.observe(e);let a=e.ownerDocument.fonts;return a&&a.status!=="loaded"&&a.ready.then(()=>{o&&(n(),i.request())}),()=>{o=!1,s.disconnect(),i.cancel()}}function dE(e,t,r){let n=e.ownerDocument,o=qe(e,n);o.decorative.setAttribute("data-kui-split-fx",t.text("direction","fade")),Er(o.decorative,t);let i=no("lines",o.decorative,n,o.originalText),s=su(e,r.win),a=!1,c=pE(r,t,o,i.length),l=mE(e,r,()=>{let p=su(e,r.win);if(!a&&p===s)return;a=!1,s=p;let m=Fc(o.decorative,n);c.rearm(m.length)},()=>{a=!0});return{cleanup:()=>{l(),c.cancel(),o.restore()},finished:c.finished,finish:c.land}}function fE(e,t,r){if(ve(e))return r.warn("split-text-motion would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.text("motion","wave"),i=qe(e,n);return i.decorative.setAttribute("data-kui-split-fx",o),Er(i.decorative,t),ro(i.decorative,n,i.originalText),i.restore}function gE(e,t,r){if(ve(e))return r.warn("typewriter would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.is("loop"),o=qe(e,e.ownerDocument);o.decorative.classList.add("kui-typewriter");let i=vr(o.originalText),s={index:0,deleting:!1},a=u=>{o.decorative.textContent=i.slice(0,u).join("")},c=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:to(t,i.length,55),tick:()=>{let u=Gc(s,i.length,n);return s=u,a(u.index),u.done}});return{cleanup:()=>{c.stop(),o.restore()},finished:c.finished,finish:()=>{c.stop(),a(i.length)}}}function yE(e,t,r){if(ve(e))return r.warn("scramble-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=Bc[t.text("charset","upper")],o=Math.max(1,Math.round(t.num("revealEvery",2))),i=e,s=i.style.getPropertyValue("min-width"),a=i.style.getPropertyValue("min-height"),c=e.getBoundingClientRect();r.style.set("min-width",`${c.width}px`),r.style.set("min-height",`${c.height}px`);let u=()=>{r.style.set("min-width",s),r.style.set("min-height",a)},l=qe(e,e.ownerDocument);l.decorative.classList.add("kui-scramble");let p=vr(l.originalText),m=0,f=0,d=()=>{l.decorative.textContent=Wc(p,m,n,Math.random)};d();let g=Math.max(1,p.length*o),h=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:to(t,g,Math.max(1,700/g)),tick:()=>{f++,f%o===0&&m++,d();let v=m>=p.length;return v&&(u(),l.restore()),v}});return{cleanup:()=>{h.stop(),l.restore(),u()},finished:h.finished,finish:()=>{h.stop(),m=p.length,d(),u(),l.restore()}}}function hE(e,t,r){if(ve(e))return r.warn("word-cycler would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.text("words","").split("|").map(l=>l.trim()).filter(Boolean);if(n.length===0)return()=>{};let o=qe(e,e.ownerDocument),i=150,s=0;o.decorative.textContent=n[0];let a=new Set;function c(){for(let l of a)r.win.clearTimeout(l);a.clear()}let u=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:t.ms("interval",2200),tick:()=>{e.classList.add("kui-word-cycler-swap");let l=r.win.setTimeout(()=>{a.delete(l),s=(s+1)%n.length,o.decorative.textContent=n[s],e.classList.remove("kui-word-cycler-swap")},i);return a.add(l),!1}});return{cleanup:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap"),o.restore()},finished:u.finished,finish:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap")}}}var vE=[xt("split-text",[y.opacity,y.translate,y.clip,"content"],{parameters:iE,prepare:P(lE)}),xt("split-text-motion",[y.translate,y.rotate,"content"],{parameters:sE,prepare:P(fE),perfClass:"continuous"}),xt("typewriter",[y.clip,"content"],{parameters:aE,prepare:P(gE),perfClass:"continuous"}),xt("scramble-text",["content","min-width","min-height"],{parameters:cE,prepare:P(yE),perfClass:"continuous"}),xt("word-cycler",["content",y.opacity,"discrete"],{parameters:uE,prepare:P(hE),perfClass:"continuous"})],bE="30ms",so="90ms",au="160ms",EE=[{name:"split-chars",primitive:"split-text",params:{unit:"chars",direction:"fade",stagger:bE}},{name:"split-words",primitive:"split-text",params:{unit:"words",direction:"fade",stagger:so}},{name:"split-lines",primitive:"split-text",params:{unit:"lines",direction:"fade",stagger:au}},{name:"text-reveal-up",primitive:"split-text",params:{unit:"words",direction:"up",stagger:so},cloak:!0},{name:"text-reveal-down",primitive:"split-text",params:{unit:"words",direction:"down",stagger:so},cloak:!0},{name:"text-reveal-mask",primitive:"split-text",params:{unit:"lines",direction:"mask",stagger:au},cloak:!0},{name:"text-wave",primitive:"split-text-motion",params:{motion:"wave"}},{name:"text-jitter",primitive:"split-text-motion",params:{motion:"jitter"}},{name:"typewriter",primitive:"typewriter",params:{loop:"false"}},{name:"typewriter-loop",primitive:"typewriter",params:{loop:"true"}},{name:"scramble",primitive:"scramble-text",params:{charset:"upper"}},{name:"decode",primitive:"scramble-text",params:{charset:"binary"}},{name:"glitch",primitive:"scramble-text",params:{charset:"symbols"}},{name:"word-cycler",primitive:"word-cycler",transitions:[{property:"opacity",duration:"150ms",easing:"ease-out"}]}],SE=[...nE,...vE],PE=[...oE,...EE];function cu(e){return e.registerPrimitives(SE).registerPresets(PE)}var ao="",kE={angle:{type:"angle",default:ao,cssProperty:"--kui-static-angle"}};function wE(e,t,r){let n=t.text("angle",ao);return n!==ao&&r.style.set("rotate",n),I(()=>{})}var xE=[{id:"rotate-static",renderer:"javascript",channels:[y.rotate],parameters:kE,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:R("rotate-static",{because:"it sets a fixed rotation once rather than animating, so there is no motion to time"},P(wE))}],TE=[{name:"rotate-static",primitive:"rotate-static"}];function uu(e){return e.registerPrimitives(xE).registerPresets(TE)}function lu(e){return jc(e),cu(e),Qa(e),rc(e),ou(e),Pc(e),kc(e),tc(e),uu(e),wc(e),e}var Tt={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},Oe=["time","view","scroll","pin"],Tr=[b("reveal",[y.opacity,y.translate],{timelines:Oe,parameters:Tt}),b("scale",[y.scale],{timelines:Oe,parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),b("scale-move",[y.scale,y.translate],{timelines:Oe,parameters:{distance:Tt.distance,scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),b("rotate",[y.rotate],{timelines:Oe,parameters:{angle:{type:"angle",default:"-8deg",cssProperty:"--kui-from-angle"}}}),b("roll",[y.rotate,y.translate],{timelines:Oe,parameters:{distance:Tt.distance,angle:{type:"angle",default:"-120deg",cssProperty:"--kui-from-angle"}}}),b("flip-3d",[y.skew],{timelines:Oe,parameters:{angle:{type:"angle",default:"90deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),b("blur",[y.filter],{timelines:Oe,parameters:{blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),b("reveal-blur",[y.opacity,y.translate,y.filter],{timelines:Oe,parameters:{...Tt,blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),b("parallax",[y.translate],{parameters:{distance:Tt.distance},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"compositor"}),b("parallax-scale",[y.scale],{parameters:{scale:{type:"number",default:"1.2",cssProperty:"--kui-to-scale"},from:{type:"number",default:"1",cssProperty:"--kui-from-scale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("parallax-rotate",[y.rotate],{parameters:{angle:{type:"angle",default:"12deg",cssProperty:"--kui-to-angle"},from:{type:"angle",default:"0deg",cssProperty:"--kui-from-angle"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("scroll-fade",[y.opacity],{parameters:{opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("desaturate",[y.filter],{parameters:{from:{type:"percentage",default:"100%",cssProperty:"--kui-from-grayscale"},to:{type:"percentage",default:"0%",cssProperty:"--kui-to-grayscale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"}),b("skew",[y.skew],{parameters:{from:{type:"angle",default:"8deg",cssProperty:"--kui-from-skew"},to:{type:"angle",default:"0deg",cssProperty:"--kui-to-skew"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("progress",[y.scale,"transform-origin"],{timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable"}),b("progress-stroke",[y.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length"}},timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"})],ie=(e,t,r,n)=>({name:e,primitive:t,keyframes:r,...n?{params:n}:{}}),L=(e,t,r,n)=>({...ie(e,t,r,n),cloak:!0,phase:"entrance"}),z=(e,t,r,n)=>({...ie(e,t,r,n),phase:"exit"}),AE=[L("fade-in","reveal","kui-in"),z("fade-out","reveal","kui-out"),L("fade-up","reveal","kui-in-up"),L("fade-down","reveal","kui-in-down"),L("fade-left","reveal","kui-in-right"),L("fade-right","reveal","kui-in-left"),z("fade-out-up","reveal","kui-out-up"),z("fade-out-down","reveal","kui-out-down"),z("fade-out-left","reveal","kui-out-left"),z("fade-out-right","reveal","kui-out-right")],se={distance:"100px",opacity:"1"},CE=[L("slide-up","reveal","kui-in-up",se),L("slide-down","reveal","kui-in-down",se),L("slide-left","reveal","kui-in-right",se),L("slide-right","reveal","kui-in-left",se),z("slide-out-up","reveal","kui-out-up",se),z("slide-out-down","reveal","kui-out-down",se),z("slide-out-left","reveal","kui-out-left",se),z("slide-out-right","reveal","kui-out-right",se)],RE=[L("slide-inline-start","reveal","kui-in-inline-end",se),L("slide-inline-end","reveal","kui-in-inline-start",se),L("slide-block-start","reveal","kui-in-up",se),L("slide-block-end","reveal","kui-in-down",se)],ME=[L("zoom-in","scale","kui-zoom-in"),z("zoom-out","scale","kui-zoom-out"),L("pop-in","scale","kui-zoom-in",{scale:"0.6",ease:"back-out"}),z("pop-out","scale","kui-zoom-out",{scale:"0.6",ease:"back-in"}),L("zoom-in-up","scale-move","kui-zoom-in-up"),L("zoom-in-down","scale-move","kui-zoom-in-down")],IE=[L("flip-in-x","flip-3d","kui-flip-in-x"),L("flip-in-y","flip-3d","kui-flip-in-y"),z("flip-out-x","flip-3d","kui-flip-out-x"),z("flip-out-y","flip-3d","kui-flip-out-y")],LE=[L("rotate-in","rotate","kui-rotate-in"),z("rotate-out","rotate","kui-rotate-out"),L("rotate-in-left","rotate","kui-rotate-in",{angle:"-45deg"}),L("rotate-in-right","rotate","kui-rotate-in",{angle:"45deg"}),L("roll-in","roll","kui-roll-in"),z("roll-out","roll","kui-roll-out"),L("swing-in","rotate","kui-swing-in",{angle:"-15deg",ease:"back-out"})],OE=[L("blur-in","blur","kui-blur-in"),z("blur-out","blur","kui-blur-out"),L("fade-blur-up","reveal-blur","kui-fade-blur-up"),L("fade-blur-in","reveal-blur","kui-fade-blur-in")],NE=[L("bounce-in","scale","kui-zoom-in",{scale:"0.3",ease:"bounce"}),L("bounce-in-up","reveal","kui-in-up",{distance:"60px",ease:"back-out"}),L("bounce-in-down","reveal","kui-in-down",{distance:"60px",ease:"back-out"}),L("back-in-up","reveal","kui-in-up",{distance:"120px",ease:"expo-out"}),L("back-in-down","reveal","kui-in-down",{distance:"120px",ease:"expo-out"})],_E=[ie("parallax-y","parallax","kui-parallax-y"),ie("parallax-x","parallax","kui-parallax-x"),ie("parallax-scale","parallax-scale","kui-parallax-scale"),ie("parallax-rotate","parallax-rotate","kui-parallax-rotate"),ie("depth-layer","parallax","kui-parallax-y",{distance:"200px"}),ie("scroll-fade","scroll-fade","kui-scroll-fade"),ie("scroll-desaturate","desaturate","kui-desaturate"),ie("scroll-skew","skew","kui-scroll-skew"),ie("scroll-progress-bar","progress","kui-progress-x"),ie("scroll-progress-bar-y","progress","kui-progress-y"),ie("scroll-progress-ring","progress-stroke","kui-progress-ring"),L("reveal-once","reveal","kui-in-up")],Ar=[...AE,...CE,...RE,...ME,...IE,...LE,...OE,...NE,..._E],Cr=[[["fade-up","blur-in"],"fade-blur-up"],[["fade-in","blur-in"],"fade-blur-in"]];function co(e){e.registerPrimitives(Tr).registerPresets(Ar);for(let[t,r]of Cr)e.registerCombo(t,r);return e}var uo=null;function pu(e){uo=e}function DE(e){return uo?uo(e):null}var Rr="kui:viewer";function lo(e,t,r){let n=e.defaultView?.CustomEvent??CustomEvent;(t.isConnected?t:e).dispatchEvent(new n(Rr,{bubbles:!0,detail:{open:r}}))}var Mr={type:"keyword",default:"false",cssProperty:"--kui-deck-lightbox",keywords:["true","false"]};function Ir(e,t,r){if(!e)return()=>{};let n=DE(t);return n||(r("lightbox:true needs the showcase module (the lightbox gallery), which is not loaded; cards will not open"),()=>{})}var po="data-kui-step-state",$E="data-kui-step-offset";function jE(e){let t=[],r=new Map;for(let n of e){let o=n.parentElement,i=r.get(o)??0;r.set(o,i+1),t.push({node:n,parent:o,position:i})}return{order:t,sizes:r}}function HE(e,t){return(e%t+t)%t}function be(e,t){let r=new Map,n=new Map,o=!1;return{mark(i){let{order:s,sizes:a}=jE(e());!o&&t&&new Set(a.values()).size>1&&(o=!0,t(`target matched groups of different sizes (${[...a.values()].join(", ")}) \u2014 the shorter group wraps onto its own ring, so its active element will not line up with the longer one`));for(let{node:c,parent:u,position:l}of s){let p=a.get(u),m=HE(i,p),f=r.get(c);f||(f=x(c),r.set(c,f)),f.set(po,FE(l,m));let d=n.get(c);d||(d=j(c),n.set(c,d));let g=VE(l,m,p);d.set("--kui-offset",String(g)),f.set($E,String(g)),d.set("--kui-item-count",String(p))}},restore(){for(let i of r.values())i.restore();for(let i of n.values())i.restore();r.clear(),n.clear()}}}function VE(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 FE(e,t){return e<t?"before":e===t?"active":"after"}function Lr(e,t){return t>0?(e+1)%t:0}function Or(e,t){return t>0?(e-1+t)%t:0}function GE(e,t){return t>0?(e%t+t)%t:0}function mo(e,t){let r=Math.round(e.num("steps",0));if(r>=1)return r;let n=new Map;for(let o of t())n.set(o.parentElement,(n.get(o.parentElement)??0)+1);return Math.max(1,...n.values())}function Ee(e,t,r){let{el:n,ctx:o,params:i,label:s}=e,a=_(i.text(t),o,`${s} ${t}`);return a?(ut(n,o,a).length===0&&o.warn(`${s} ${t} "${a}" matched nothing`),{selector:a,run:r}):null}function fo(e){let{el:t,ctx:r,groups:n}=e;if(n.length===0)return()=>{};let o=(c,u)=>{for(let{selector:l,run:p}of n){let m=ut(t,r,l),f=new Set(m),d=u?t:null,g=c;for(;g&&g!==d&&!f.has(g);)g=g.parentElement;!g||g===d||p(g,m.indexOf(g))}},i=c=>{let u=c.target;return typeof u?.closest=="function"?u:null},s=c=>{let u=i(c);u&&o(u,!0)},a=c=>{let u=i(c);u&&!t.contains(u)&&o(u,!1)};return t.addEventListener("click",s),r.doc.addEventListener("click",a),()=>{t.removeEventListener("click",s),r.doc.removeEventListener("click",a)}}function Nr(e){let{el:t,params:r,ctx:n,resolveSteps:o,onRender:i}=e,s=e.name??"step-progress",a=be(o,M=>n.warn(`${s} ${M}`)),c=x(t),u=j(t),l=()=>mo(r,o),p=0,m=()=>{c.set("data-kui-step",String(p)),u.set("--kui-step",String(p)),a.mark(p),i?.(p,l())},f=M=>{p=GE(M,l()),m()},d=()=>f(Lr(p,l())),g=()=>f(Or(p,l())),h=M=>{e.onInput?.(),M()},v={el:t,ctx:n,params:r,label:s},E=[Ee(v,"next",()=>h(d)),Ee(v,"prev",()=>h(g)),Ee(v,"jump",(M,J)=>{J>=0&&h(()=>f(J))}),...e.controls??[]].filter(M=>M!==null),k=e.clickFallback!==!1&&E.length===0,C=()=>h(d);k&&t.addEventListener("click",C);let F=fo({el:t,ctx:n,groups:E});return m(),{goTo:f,next:d,prev:g,current:()=>p,total:l,release:()=>{k&&t.removeEventListener("click",C),F(),c.restore(),u.restore(),a.restore()}}}var BE=2e3,WE=100;function mu(e){return!Number.isFinite(e)||e===0?0:Math.sign(e)*Math.max(BE,Math.abs(e))}function qE(e,t){return Math.min(Math.max(e,0),WE)/t}function du(e){let t=e;if(typeof t?.matches!="function")return!0;try{return t.matches(":focus-visible")}catch{return!0}}function KE(e){let{el:t,ctx:r,spinMs:n,autoplayMs:o,settleMs:i,advance:s,step:a,setSpinning:c,onPausedChange:u}=e,l=e.pauseOnHover??!0,p=n!==0||o!==0;if(!p)return{enabled:p,interrupt(){},hold(){},toggle(){},release(){}};let m=r.win,f=r.reducedMotion,d=!1,g=!1,h=!0,v=!1,E=!1,k=!1,C=!1,F=!1,M=0,J=null,te=null,K=null,Pe=!1,me=()=>!f&&!d&&!g&&h&&!v&&!E&&!k&&!r.doc.hidden,_e=V=>typeof m.requestAnimationFrame=="function"?m.requestAnimationFrame(V):m.setTimeout(()=>V(Date.now()),16),ze=V=>{typeof m.cancelAnimationFrame=="function"?m.cancelAnimationFrame(V):m.clearTimeout(V)},Y=V=>{V!==Pe&&(Pe=V,c(V))},De=V=>{M=0,me()&&(J!==null&&s(qE(V-J,n)),J=V,M=_e(De))},T=()=>{M===0&&(Y(!0),J=null,M=_e(De))},S=()=>{M!==0&&ze(M),M=0,Y(!1)},N=()=>{te===null&&(te=m.setTimeout(()=>{te=null,a(o>0?1:-1),G()},Math.abs(o)))},H=()=>{te!==null&&(m.clearTimeout(te),te=null)};function G(){let V=me();n!==0&&(V?T:S)(),o!==0&&(V?N:H)()}let ke=()=>{d=!0,G()},at=()=>{d=!1,G()},Fo=V=>{g=(!C||F)&&du(V.target),G()},Go=V=>{C||(F=g);let we=V.relatedTarget;g=we!==null&&t.contains(we)&&du(we),G()},Bo=()=>G(),Wo=V=>{let we=V.detail?.open===!0;C=we,k=we&&t.contains(V.target),G()};l&&(t.addEventListener("pointerenter",ke),t.addEventListener("pointerleave",at)),t.addEventListener("focusin",Fo),t.addEventListener("focusout",Go),r.doc.addEventListener("visibilitychange",Bo),r.doc.addEventListener(Rr,Wo);let qo=m.IntersectionObserver,Ko=qo?new qo(V=>{for(let we of V)h=we.isIntersecting;G()}):null;return Ko?.observe(t),u(f),G(),{enabled:p,interrupt(){E=!0,K!==null&&m.clearTimeout(K),K=m.setTimeout(()=>{K=null,E=!1,G()},Math.max(0,i)),G()},hold(V){v=V,G()},toggle(){f=!f,u(f),G()},release(){M!==0&&ze(M),M=0,te!==null&&m.clearTimeout(te),K!==null&&m.clearTimeout(K),te=null,K=null,Ko?.disconnect(),t.removeEventListener("pointerenter",ke),t.removeEventListener("pointerleave",at),t.removeEventListener("focusin",Fo),t.removeEventListener("focusout",Go),r.doc.removeEventListener("visibilitychange",Bo),r.doc.removeEventListener(Rr,Wo),Y(!1)}}}var _r={type:"time",default:"0s",cssProperty:"--kui-autoplay"},Dr={type:"text",default:"",cssProperty:"--kui-pause"},$r={type:"keyword",default:"pause",keywords:["pause","none"],cssProperty:"--kui-hover"};function UE(e){let{params:t,ctx:r,label:n}=e,o=e.spin?t.ms("spin",0):0,i=t.ms("autoplay",0),s=mu(o),a=mu(i);return s!==o&&r.warn(`${n} spin: minimum is 2s; clamped to ${Math.abs(s)/1e3}s`),a!==i&&r.warn(`${n} autoplay: minimum is 2s; clamped to ${Math.abs(a)/1e3}s`),s!==0&&a!==0?(r.warn(`${n}: spin: and autoplay: are both set; spin: wins`),{spin:s,autoplay:0}):{spin:s,autoplay:a}}function jr(e){let{el:t,ctx:r,params:n,label:o,settleMs:i,step:s}=e,{spin:a,autoplay:c}=UE(e),u=new Map,l=_(n.text("pause"),r,`${o} pause`),p=d=>{if(l)for(let g of ut(t,r,l)){let h=u.get(g);h||(h=x(g),u.set(g,h)),h.set("aria-pressed",String(d))}},m=KE({el:t,ctx:r,spinMs:a,autoplayMs:c,settleMs:i,pauseOnHover:!n.is("hover","none"),advance:e.spin?.advance,step:s,setSpinning:e.spin?.setSpinning,onPausedChange:p}),f=null;return l&&!m.enabled?r.warn(`${o} pause: has nothing to pause without ${e.spin?"spin: or ":""}autoplay:`):l&&(f=Ee({el:t,ctx:r,params:n,label:o},"pause",()=>m.toggle())),{motion:m,pause:f,release(){m.release();for(let d of u.values())d.restore();u.clear()}}}var go="kui:swipe",zE=new Set(["left","right","up","down"]);function fu(e,t,r){let n=e.CustomEvent;t.dispatchEvent(new n(go,{bubbles:!0,detail:{direction:r}}))}function yo(e){return e==="left"||e==="up"?1:-1}function YE(e,t){if(e===t)return!0;if(!e.contains(t))return!1;for(let r=t.parentElement;r&&r!==e;r=r.parentElement)if(r.hasAttribute("data-kui-step"))return!1;return!0}function gu(e,t,r){let n=o=>{let i=o.detail?.direction,s=o.target;!i||!zE.has(i)||s.nodeType!==1||YE(s,t)&&r(yo(i))};return e.addEventListener(go,n),()=>e.removeEventListener(go,n)}var XE={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},yu={because:"forms.css pins its timing literally \u2014 the motion lands on a sibling that inline custom properties cannot reach"},hu={id:"native-state",renderer:"javascript",channels:[y.translate,y.scale,y.opacity,y.stroke,y.color],parameters:{},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R("native-state",yu,()=>Gt())};function JE(e){return(t,r)=>{let n=t.nextElementSibling;return n?.style.setProperty(e,String(r.num("scale",1))),()=>n?.style.removeProperty(e)}}function vu(e,t){return{id:e,renderer:"javascript",channels:[y.translate,y.scale,y.opacity,y.stroke,y.color],parameters:{scale:{type:"number",default:"1",cssProperty:t}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R(e,yu,P(JE(t)))}}var bu=vu("toggle-morph","--kui-toggle-scale"),Eu=vu("radio-fill","--kui-radio-scale"),Su=b("focus-ring",["shadow"],{activations:["focus","manual"],defaultActivation:"focus"}),Pu=b("validate-shake",[y.translate],{activations:["click","manual"],defaultActivation:"click"}),ku=b("validate-check",[y.stroke],{activations:["click","manual"],defaultActivation:"click"});function Hr(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...XE,...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:n}}function ZE(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 QE(e){let t=e,r=()=>{e.setAttribute("data-kui-strength-level",String(ZE(t.value)))};return t.addEventListener("input",r),r(),()=>{t.removeEventListener("input",r),e.removeAttribute("data-kui-strength-level")}}function eS(e,t,r){let n=e,o=()=>{let i=Number(n.min||"0"),s=Number(n.max||"100"),a=s>i?(Number(n.value)-i)/(s-i)*100:0;r.style.set("--kui-fill",`${a.toFixed(2)}%`)};return n.addEventListener("input",o),o(),()=>n.removeEventListener("input",o)}var wu=Hr("strength-meter",["meter",A("data-kui-strength-level")],{},P(QE)),xu=Hr("range-fill",[y.background],{},P(eS));function tS(e,t,r){let n="step-progress",o=_(t.text("target"),r,n),i=W(t,"page"),s=()=>o?$(e,r,o,i):e.children,a=t.is("lightbox"),{motion:c,pause:u,release:l}=jr({el:e,ctx:r,params:t,label:n,settleMs:Z(t,400),step:d=>d>0?p.next():p.prev()}),p=Nr({el:e,params:t,ctx:r,resolveSteps:s,controls:u?[u]:[],onInput:()=>c.interrupt(),clickFallback:!a}),m=Ir(a,{host:e,cards:s,doc:r.doc,reducedMotion:r.reducedMotion},d=>r.warn(`${n} ${d}`)),f=gu(r.doc,e,d=>{c.interrupt(),d>0?p.next():p.prev()});return()=>{m(),f(),l(),p.release()}}var rS=Hr("step-progress",[D,A("data-kui-step")],{steps:{type:"number",default:"",cssProperty:"--kui-steps",minimum:1,maximum:20,integer:!0},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},peek:{type:"percentage",default:"56%",cssProperty:"--kui-peek"},rest:{type:"number",default:"0.78",cssProperty:"--kui-rest"},main:{type:"number",default:"1",cssProperty:"--kui-main",finite:!0,minimum:0},autoplay:_r,pause:Dr,hover:$r,lightbox:Mr,scope:U},P(tS)),Tu={...rS,reducedMotion:"shorten"};function ho(e){return e==="idle"?"loading":e==="loading"?"done":"idle"}function nS(e,t,r){let n=t.ms("load",1200),o=t.ms("hold",1500),i="idle",s,a=()=>e.setAttribute("data-kui-stage",i),c=()=>{i=ho(i),a()},u=()=>{i=ho(i),a(),s=r.win.setTimeout(c,o)},l=()=>{i==="idle"&&(i=ho(i),a(),s=r.win.setTimeout(u,n))};return e.addEventListener("click",l),a(),()=>{e.removeEventListener("click",l),s!==void 0&&r.win.clearTimeout(s),e.removeAttribute("data-kui-stage")}}var Au=Hr("submit-flow",[A("data-kui-stage")],{load:{type:"time",default:"1200ms",cssProperty:"--kui-load"},hold:{type:"time",default:"1500ms",cssProperty:"--kui-hold"}},P(nS));var oS=[hu,Su,Pu,ku,wu,bu,Eu,xu,Tu,Au],iS=[{name:"label-float",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"input-underline-grow",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"focus-ring-grow",primitive:"focus-ring",keyframes:"kui-focus-ring-grow"},{name:"validate-shake",primitive:"validate-shake",keyframes:"kui-validate-shake"},{name:"validate-check",primitive:"validate-check",keyframes:"kui-validate-check"},{name:"strength-meter",primitive:"strength-meter",requiresOwnSubtree:!0,phase:"state"},{name:"toggle-morph",primitive:"toggle-morph",requiresOwnSubtree:!0,phase:"state"},{name:"checkbox-draw",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"radio-fill",primitive:"radio-fill",requiresOwnSubtree:!0,phase:"state"},{name:"range-fill",primitive:"range-fill",phase:"state"},{name:"submit-to-spinner-to-check",primitive:"submit-flow",requiresOwnSubtree:!0,phase:"state"},{name:"step-progress",primitive:"step-progress",requiresOwnSubtree:!0,phase:"state"},{name:"carousel",primitive:"step-progress",params:{scope:"self"},phase:"state"}];function Cu(e){return e.registerPrimitives(oS).registerPresets(iS)}function sS(e){let t=e[e.length-1];if(!t||e.length<2)return{vx:0,vy:0};let r=t.time-100,n=e.find(i=>i.time>=r)??e[0],o=(t.time-n.time)/1e3;return o<=0?{vx:0,vy:0}:{vx:(t.x-n.x)/o,vy:(t.y-n.y)/o}}function aS(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 cS(e,t){return t==="x"?{...e,dy:0,vy:0}:t==="y"?{...e,dx:0,vx:0}:e}function pe(e,t,r={},n=uS()){let o=r.threshold??4,i=r.axis??"both",s=r.swipeVelocity??300,a=r.capturePointer??!0,c=r.longPressMs??0,u=[],l=null,p=!1,m=null,f=!1,d=!1,g=null,h=null,v=null;function E(S){return{x:S.clientX,y:S.clientY,time:n.now()}}function k(S){let N=l,{vx:H,vy:G}=sS(u);return cS({dx:S.x-N.x,dy:S.y-N.y,vx:H,vy:G},i)}function C(){m!==null&&n.clearTimer(m),m=null}function F(S){if(l&&g!==null&&S.pointerId!==g){C();let N=u[u.length-1];_e(g),De({x:N.x,y:N.y,time:n.now()});return}if(r.accept&&!r.accept(S)){l=null;return}l=E(S),u=[l],p=!1,f=!1,g=S.pointerId,d=a===!0&&M(S.pointerId),d||te(),c>0&&(m=n.setTimer(()=>{f=!0,t.onLongPress?.(l)},c))}function M(S){if(typeof e.setPointerCapture!="function")return!1;try{return e.setPointerCapture(S),!0}catch{return!1}}function J(S){a==="drag"&&(d=M(S.pointerId),d&&K())}function te(){let S=e.ownerDocument;!S||v||(v=S,S.addEventListener("pointermove",me,{passive:!0}),S.addEventListener("pointerup",Y,{passive:!0}),S.addEventListener("pointercancel",Y,{passive:!0}))}function K(){let S=v;S&&(v=null,S.removeEventListener("pointermove",me),S.removeEventListener("pointerup",Y),S.removeEventListener("pointercancel",Y))}function Pe(S){return S===h?!1:(h=S,!0)}function me(S){if(!l||!Pe(S))return;let N=E(S);u.push(N),u.length>12&&u.shift();let H=k(N);!p&&Math.hypot(H.dx,H.dy)<o||(p||(p=!0,C(),J(S),t.onStart?.(l)),t.onMove?.(H,N))}function _e(S){d&&e.releasePointerCapture?.(S),d=!1,g=null}function ze(S,N){if(p){t.onEnd?.(S,N);let H=aS(S,s);H&&t.onSwipe?.(H,S)}else f&&t.onEnd?.(S,N)}function Y(S){C(),K(),_e(S.pointerId),l&&De(E(S))}function De(S){u.push(S),ze(k(S),S),l=null,p=!1,f=!1,u=[]}function T(S){S.target===e&&(!d||S.pointerId!==g||(d=!1,Y(S)))}return e.addEventListener("pointerdown",F),e.addEventListener("pointermove",me,{passive:!0}),e.addEventListener("pointerup",Y,{passive:!0}),e.addEventListener("pointercancel",Y,{passive:!0}),e.addEventListener("lostpointercapture",T,{passive:!0}),()=>{C(),K(),e.removeEventListener("pointerdown",F),e.removeEventListener("pointermove",me),e.removeEventListener("pointerup",Y),e.removeEventListener("pointercancel",Y),e.removeEventListener("lostpointercapture",T)}}function uS(){return{now:()=>typeof performance>"u"?Date.now():performance.now(),setTimer:(e,t)=>globalThis.setTimeout(e,t),clearTimer:e=>globalThis.clearTimeout(e)}}function Ru(e,t,r=.55){if(t<=0)return 0;let n=Math.sign(e),o=Math.abs(e);return n*(1-1/(o/t/r+1))*t}var Mu={stiffness:{type:"number",default:"180",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"24",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}},lS="it is driven by pointer position and velocity, so it has no start moment and no authored curve";function Vr(e,t,r,n){let o=Object.hasOwn(r,"duration")?["duration"]:[];return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R(e,{honours:o,because:lS},n)}}function Lu(e){return{...ce,stiffness:e.num("stiffness",ce.stiffness),damping:e.num("damping",ce.damping),mass:e.num("mass",ce.mass)}}function Ou(e){return{...Lt(),warn:e.warn}}function vo(e,t,r){e.style.set("translate",`${t.toFixed(2)}px ${r.toFixed(2)}px`)}function pS(e,t,r){let n=Lu(t),o=t.num("bounds",0),i=t.is("return"),s=t.is("inertia"),a=t.num("resistance",.55),c=t.num("momentum",.2),u={x:0,y:0},l={x:0,y:0},p=Ou(r),m={x:xe(n,g=>f({...u,x:g}),p),y:xe(n,g=>f({...u,y:g}),p)};function f(g){u.x=g.x,u.y=g.y,vo(r,u.x,u.y)}let d=pe(e,{onStart(){m.x.stop(),m.y.stop(),l.x=u.x,l.y=u.y,e.setAttribute("data-kui-dragging","true")},onMove(g){f({x:Iu(l.x+g.dx,o,a),y:Iu(l.y+g.dy,o,a)})},onEnd(g){e.setAttribute("data-kui-dragging","false"),mS(m,u,g,{returns:i,inertia:s,momentum:c})}},{axis:t.text("axis","both")});return r.invalidate(),()=>{d(),m.x.stop(),m.y.stop(),e.removeAttribute("data-kui-dragging")}}function Iu(e,t,r){return t>0?Ru(e,t,r):e}function mS(e,t,r,n){if(e.x.set(t.x,n.inertia?r.vx:0),e.y.set(t.y,n.inertia?r.vy:0),n.returns){e.x.to(0),e.y.to(0);return}let o=n.inertia?n.momentum:0;e.x.to(t.x+r.vx*o),e.y.to(t.y+r.vy*o)}function dS(e,t,r){let n=t.text("axis","both");n!=="both"&&r.style.set("touch-action",`${n==="x"?"pan-y":"pan-x"} pinch-zoom`);let o=pe(e,{onSwipe(i){e.setAttribute("data-kui-swipe",i),fu(r.win,e,i)}},{axis:n,swipeVelocity:t.num("velocity",300),capturePointer:"drag"});return()=>{o(),e.removeAttribute("data-kui-swipe")}}function fS(e,t){let r=pe(e,{onLongPress(){e.setAttribute("data-kui-pressed","true")},onEnd(){e.setAttribute("data-kui-pressed","false")}},{longPressMs:Z(t,500)});return()=>{r(),e.removeAttribute("data-kui-pressed")}}function gS(e,t,r){let n=e,o=t.num("radius",120),i=t.num("strength",.35),s=Lu(t),a=Ou(r),c={x:0,y:0},u=xe(s,m=>{c.x=m,vo(r,c.x,c.y)},a),l=xe(s,m=>{c.y=m,vo(r,c.x,c.y)},a),p=m=>{let f=n.getBoundingClientRect(),d=m.clientX-(f.left+f.width/2),g=m.clientY-(f.top+f.height/2),h=Math.hypot(d,g)<o;u.to(h?d*i:0),l.to(h?g*i:0)};return r.win.addEventListener("pointermove",p,{passive:!0}),()=>{r.win.removeEventListener("pointermove",p),u.stop(),l.stop()}}var Nu=[Vr("draggable",["translate",A("data-kui-dragging")],{...Mu,axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},bounds:{type:"number",default:"0",cssProperty:"--kui-bounds"},return:{type:"keyword",default:"false",cssProperty:"--kui-return",keywords:["true","false"]},inertia:{type:"keyword",default:"false",cssProperty:"--kui-inertia",keywords:["true","false"]},resistance:{type:"number",default:"0.55",cssProperty:"--kui-resistance",finite:!0,minimum:0,maximum:1},momentum:{type:"number",default:"0.2",cssProperty:"--kui-momentum",finite:!0}},P(pS)),Vr("swipeable",[A("data-kui-swipe")],{axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},velocity:{type:"number",default:"300",cssProperty:"--kui-velocity"}},P(dS)),Vr("pressable",[A("data-kui-pressed")],{duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"}},P(fS)),Vr("magnetic",["translate"],{...Mu,radius:{type:"number",default:"120",cssProperty:"--kui-radius"},strength:{type:"number",default:"0.35",cssProperty:"--kui-strength"}},P(gS))];var yS=[{name:"drag",primitive:"draggable",phase:"state"},{name:"drag-x",primitive:"draggable",params:{axis:"x"},phase:"state"},{name:"drag-y",primitive:"draggable",params:{axis:"y"},phase:"state"},{name:"drag-inertia",primitive:"draggable",params:{inertia:"true"},phase:"state"},{name:"throwable",primitive:"draggable",params:{inertia:"true",damping:"18"},phase:"state"},{name:"elastic-pull",primitive:"draggable",params:{return:"true",bounds:"80"},phase:"state"},{name:"rubber-band",primitive:"draggable",params:{return:"true",bounds:"120"},phase:"state"},{name:"snap-back",primitive:"draggable",params:{return:"true",stiffness:"260"},phase:"state"},{name:"swipe",primitive:"swipeable",phase:"state"},{name:"swipe-x",primitive:"swipeable",params:{axis:"x"},phase:"state"},{name:"swipe-y",primitive:"swipeable",params:{axis:"y"},phase:"state"},{name:"long-press",primitive:"pressable",phase:"state"},{name:"magnetic",primitive:"magnetic",phase:"state"},{name:"magnetic-snap",primitive:"magnetic",params:{strength:"0.6",radius:"160"},phase:"state"}];function _u(e){return e.registerPrimitives(Nu).registerPresets(yS)}var Du=.5;function hS(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}function vS(e,t,r){let n=e.animate;return typeof n=="function"?n.call(e,t,r):null}function bo(e={}){let t=e.measure??hS,r=e.animate??vS;return{snapshot(n){let o=new Map;for(let i of n)o.set(i,t(i));return{boxes:o}},play(n,o,i={}){let s=bS(n,o,t,i.scale??!1);return s.length===0?{moved:[],finished:Promise.resolve(),cancel:()=>{}}:SS(s,r,i)}}}function bS(e,t,r,n){let o=[];for(let i of t){let s=e.boxes.get(i);if(!s)continue;let a=r(i),c=ES(i,s,a,n);c&&o.push(c)}return o}function ES(e,t,r,n){let o=t.x-r.x,i=t.y-r.y,s=n&&r.width>0?t.width/r.width:1,a=n&&r.height>0?t.height/r.height:1;return Math.abs(o)<Du&&Math.abs(i)<Du&&Math.abs(s-1)<.001&&Math.abs(a-1)<.001?null:{el:e,dx:o,dy:i,sx:s,sy:a}}function SS(e,t,r){let n=r.durationMs??400,o=r.delayMs??0,i=r.easing??"cubic-bezier(0.2, 0, 0, 1)",s=[];for(let{el:c,dx:u,dy:l,sx:p,sy:m}of e){let f=t(c,[{translate:`${u}px ${l}px`,scale:`${p} ${m}`},{translate:"0px 0px",scale:"1 1"}],{duration:n,delay:o,easing:i,fill:o>0?"backwards":"none"});if(f){let d=Fe(c);d!==1&&(f.playbackRate=d),s.push(f)}}let a=Promise.all(s.map(c=>c.finished.catch(()=>{}))).then(()=>{});return{moved:e.map(c=>c.el),finished:a,cancel(){for(let c of s)c.cancel()}}}function Eo(){let e=new Set;return{track(t){e.add(t),t.finished.then(()=>e.delete(t))},cancelAll(){for(let t of e)t.cancel();e.clear()}}}function $u(e,t,r,n){let o=t.snapshot(e.children),i=Eo(),s=n(()=>{i.track(t.play(o,e.children,r)),o=t.snapshot(e.children)});return()=>{s(),i.cancelAll()}}function ju(e){return t=>{if(typeof MutationObserver>"u")return()=>{};let r=new MutationObserver(t);return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["hidden"]}),()=>r.disconnect()}}var PS={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}};function So(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...PS,...r},supportedTimelines:["time"],supportedActivations:["load","manual","click"],defaultActivation:"load",perfClass:"layout",reducedMotion:"disable",prepare:n}}function kS(e,t,r){let n=bo();return $u(e,n,{durationMs:Z(t,400),delayMs:tt(t),easing:Dt(dr(t),e,r.warn),scale:t.is("scale")},ju(e))}function wS(e,t,r){let n=e;r.style.set("overflow","hidden"),r.style.claim("height");let o=Z(t,400),i=tt(t),s=Dt(dr(t),e,r.warn),a=null,c=n.getBoundingClientRect().height,u=Hu(n,t.text("attribute"),()=>{a?.cancel();let l=xS(n,c);c=l.to,a=TS(n,l,{duration:o,delay:i,easing:s})});return r.invalidate(),()=>{u(),a?.cancel()}}function xS(e,t){e.style.removeProperty("height");let r=e.getBoundingClientRect().height;return{from:t,to:r}}function TS(e,t,r){let n=e.animate;if(typeof n!="function")return null;let o=n.call(e,[{height:`${t.from}px`},{height:`${t.to}px`}],{...r,fill:r.delay>0?"backwards":"none"}),i=Fe(e);return i!==1&&(o.playbackRate=i),o}function AS(e,t,r){let n=e,o=bo(),i=Dt(dr(t),e,r.warn),s=t.text("follow"),a=Eo(),c=0,u=null,l=()=>{if(!s)return;let g=r.doc.querySelector(s);if(!(g instanceof Element))return;let h=o.snapshot([n]),v=g.getBoundingClientRect(),E=n.getBoundingClientRect(),k=v.left-E.left+c;c=k,r.style.set("width",`${v.width}px`),r.style.set("translate",`${k}px 0`),a.track(o.play(h,[n],{durationMs:Z(t,400),delayMs:tt(t),easing:i,scale:!0})),u=g};l();let p=()=>{let g=u;l(),g!==u&&(g&&f.unobserve(g),u&&f.observe(u))},m=Le(r.win,p),f=Ie(r.win,m.request);f.observe(e.parentElement??e),u&&f.observe(u);let d=Hu(r.doc.documentElement,t.text("attribute"),p);return()=>{d(),f.disconnect(),m.cancel(),a.cancelAll()}}function Hu(e,t,r){if(typeof MutationObserver>"u"||!t)return()=>{};let n=new MutationObserver(r);return n.observe(e,{subtree:!0,attributes:!0,attributeFilter:[t]}),()=>n.disconnect()}var Vu=[So("flip-container",["translate","scale"],{scale:{type:"keyword",default:"false",cssProperty:"--kui-flip-scale",keywords:["true","false"]}},P(kS)),So("auto-height",["overflow","height"],{attribute:{type:"text",default:"data-open",cssProperty:"--kui-attribute"}},P(wS)),So("flip-indicator",["translate","width"],{follow:{type:"text",default:"",cssProperty:"--kui-follow"},attribute:{type:"text",default:"aria-selected",cssProperty:"--kui-attribute"}},P(AS))];var Fu=[{name:"flip-reorder",primitive:"flip-container"},{name:"flip-filter",primitive:"flip-container"},{name:"flip-sort",primitive:"flip-container"},{name:"flip-shuffle",primitive:"flip-container"},{name:"grid-to-list",primitive:"flip-container",params:{scale:"true"}},{name:"masonry-reflow",primitive:"flip-container"},{name:"expand-to-modal",primitive:"flip-container",params:{scale:"true",duration:"500ms"}},{name:"accordion-height",primitive:"auto-height"},{name:"tab-indicator-slide",primitive:"flip-indicator",params:{duration:"300ms"},phase:"state"}];function Gu(e){return e.registerPrimitives(Vu).registerPresets(Fu)}var CS="offset",RS=["time","view","scroll","pin"],MS={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"}},IS=[b("motion-path",[CS],{timelines:RS,parameters:MS})],LS="kui-motion-travel",At=(e,t,r)=>({name:e,primitive:"motion-path",keyframes:LS,params:{path:t,...r}}),OS=[At("motion-path","M 0 0 L 120 0",{duration:"1200ms"}),At("path-arc","M 0 0 C 40 -70 120 -70 160 0",{duration:"1200ms",ease:"ease-in-out"}),At("path-wave","M 0 0 C 45 -45 105 45 150 0",{duration:"1600ms",ease:"ease-in-out"}),At("path-loop","M 0 0 C 0 -70 110 -70 110 0 C 110 70 0 70 0 0",{duration:"2400ms",ease:"linear"}),{...At("path-swoop","M -120 70 C -70 70 -25 25 0 0",{duration:"900ms",ease:"expo-out"}),cloak:!0}];function Bu(e){return e.registerPrimitives(IS).registerPresets(OS)}var NS=[b("nav-reveal",[y.opacity,y.translate]),b("menu-fullscreen",[y.clip,y.opacity]),b("panel-reveal",[y.opacity,y.translate]),b("drawer-slide",[y.translate],{defaultActivation:"click"})],_S=[{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"}],DS="it reacts to scroll position rather than a clock, so style the state attribute it publishes and put your timing there";function Po(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R(e,{because:DS},n)}}function ko(e,t,r){return t.scheduler.subscribe(t.rootFor(e),n=>r(n.metrics.scrollTop))}function $S(e,t,r){let n=t.num("offset",120),o=x(e),i=ko(e,r,s=>{let a=n>0?Math.min(1,Math.max(0,s/n)):1;r.style.set("--kui-shrink",a.toFixed(4)),o.set("data-kui-shrunk",String(a>=1))});return()=>{i(),o.restore()}}function jS(e,t,r){let n=t.num("offset",8),o=0,i=x(e),s=ko(e,r,a=>{let c=a-o;Math.abs(c)<n||(i.set("data-kui-hidden",String(c>0&&a>n)),o=a)});return()=>{s(),i.restore()}}function HS(e,t,r){let n=t.num("offset",400),o=x(e),i=ko(e,r,s=>{o.set("data-kui-visible",String(s>n))});return()=>{i(),o.restore()}}var VS=[Po("header-shrink",["padding","font-size","shadow",A("data-kui-shrunk")],{offset:{type:"number",default:"120",cssProperty:"--kui-offset"}},P($S)),Po("header-hide-on-scroll",[y.translate,A("data-kui-hidden")],{offset:{type:"number",default:"8",cssProperty:"--kui-offset"}},P(jS)),Po("back-to-top-fade",[y.opacity,y.translate,A("data-kui-visible")],{offset:{type:"number",default:"400",cssProperty:"--kui-offset"}},P(HS))],FS=[{property:"padding-block",duration:"200ms",easing:"ease-out"},{property:"font-size",duration:"200ms",easing:"ease-out"},{property:"box-shadow",duration:"200ms",easing:"ease-out"}],GS=[{name:"header-shrink",primitive:"header-shrink",transitions:FS},{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"}]}],BS=[...NS,...VS],WS=[..._S,...GS];function Wu(e){return e.registerPrimitives(BS).registerPresets(WS)}var wo=e=>{let t=e.getBoundingClientRect();return{top:t.top,height:t.height}},xo=e=>{let t=e.ownerDocument?.defaultView;return t?t.getComputedStyle(e).position:"static"},qS=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 KS(e,t){let r=null;for(let n=e;n;n=n.parentElement)t(n)==="sticky"&&(r=n);return r?.parentElement??e}function US(e,t,r,n){let o=KS(e,n);return o===e?t.top:r(o).top}function Se(e,t,r,n){let o=r.measure??wo,i=r.positionOf??xo,s=r.offsetOf??qS,a=0,c=0,u=Ve(()=>{let f=o(e),d=r.contentAnchor?o(r.contentAnchor):null,g=d?d.top-f.height:US(e,f,o,i),h=r.stickyEl?s(r.stickyEl):0;return{contentTop:g-h-c+a,height:f.height,anchorHeight:d?.height??0}}),l=r.distance??"";l!==""&&!YS(l)&&!r.contentAnchor&&JS(t,l);let m=l!==""&&XS(l);return t.scheduler.subscribe(t.rootFor(e),f=>{a=f.metrics.scrollTop,c=f.metrics.viewportTop;let d=u.read(f.epoch),g=m&&r.contentAnchor?d.anchorHeight:ZS(r.distance,{top:0,height:d.height},f);n(QS(d.contentTop-a,g),f)})}var To={viewportWidth:1,viewportHeight:1,percentBasis:1,fontSize:16,rootFontSize:16},zS={...To,percentBasis:2};function YS(e){return Number.isFinite(ge(e,To,Number.NaN))}function XS(e){let t=ge(e,To,Number.NaN);return Number.isFinite(t)?t!==ge(e,zS,Number.NaN):!0}function JS(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 ZS(e,t,r){if(!e)return t.height;let n={viewportWidth:r.metrics.viewportWidth,viewportHeight:r.metrics.viewportHeight,percentBasis:t.height,fontSize:16,rootFontSize:16};return ge(e,n,t.height)}function QS(e,t){return t<=0?0:Da(-e/t)}function eP(e,t){return ge(e,{viewportWidth:t.metrics.viewportWidth,viewportHeight:t.metrics.viewportHeight,percentBasis:0,fontSize:16,rootFontSize:16},0)}function tP(e,t,r){let n=-1;for(let o=0;o<e.length;o++)e[o]-t-r<=0&&(n=o);return n}function Fr(e){let{el:t,sections:r,ctx:n,onChange:o}=e,i=e.offsetTop??"0px",s=0,a=0,c=Ve(()=>r.map(p=>wo(p).top-a+s)),u=-1,l=n.scheduler.subscribe(n.rootFor(t),p=>{s=p.metrics.scrollTop,a=p.metrics.viewportTop;let m=c.read(p.epoch),f=eP(i,p),d=tP(m,s,f);if(d===u)return;let g=u;u=d,o(d,g)});return Object.assign(()=>l(),{release:()=>l()})}function qu(e,t,r){let n=t.text("sections");if(n){let o=_(n,r,"scroll-spy sections");return sP(e,t,r,o)}return rP(e,t,r)}function rP(e,t,r){t.text("offset-top","0px")!=="0px"&&r.warn('scroll-spy "offset-top" has no effect without sections: and is ignored here');let n=_(t.text("target"),r,"scroll-spy"),o=W(t,"page"),i=new Map,s=x(e),a,c=Se(e,r,{distance:t.text("distance")},u=>{let l=u>0&&u<1;l!==a&&(a=l,s.set("data-kui-active",String(l)),n&&nP($(e,r,n,o),l,i))});return I(()=>{c(),s.restore();for(let u of i.values())u.restore()})}function nP(e,t,r){for(let n of e){let o=r.get(n);o||(o=x(n),r.set(n,o)),o.set("data-kui-active",String(t))}}function oP(e){let t=e.getAttribute("href")??"",r=t.indexOf("#");return r===-1?"":t.slice(r)}function iP(e,t,r,n){let o=new Map;for(let a of t){let c=oP(a);c&&o.set(c,a)}let i=new Set,s=e.map(a=>{if(!a.id)return r.warn(`scroll-spy: a section matched by sections:"${n}" has no id and cannot be paired with a link`),{section:a,link:null};let c=`#${a.id}`,u=o.get(c)??null;return u&&i.add(c),{section:a,link:u}});for(let[a,c]of o)i.has(a)||r.warn(`scroll-spy: link "${c.getAttribute("href")}" matches no section id in sections:"${n}"`);return s}function sP(e,t,r,n){t.text("distance","100vh")!=="100vh"&&r.warn('scroll-spy "distance" has no effect with sections: \u2014 each section measures its own height');let o=_(t.text("target"),r,"scroll-spy target"),i=W(t,"self"),s=n?[...e.querySelectorAll(n)]:[];n&&s.length===0&&r.warn(`scroll-spy sections:"${n}" matched nothing inside this element`);let a=o?$(e,r,o,i):[],c=iP(s,a,r,n),u=c.map(d=>x(d.section)),l=new Map;for(let{link:d}of c)d&&!l.has(d)&&l.set(d,x(d));let p=t.text("offset-top","0px");function m(d,g){let h=c[d];u[d].set("data-kui-active",String(g)),h.link&&l.get(h.link).set("data-kui-active",String(g))}let f=Fr({el:e,sections:s,ctx:r,offsetTop:p,onChange:(d,g)=>{g!==-1&&m(g,!1),d!==-1&&m(d,!0)}});return I(()=>{f();for(let d of u)d.restore();for(let d of l.values())d.restore()})}var ot={distance:{type:"length",default:"100vh",cssProperty:"--kui-distance"}},Ao={"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"},spacer:{type:"keyword",default:"false",cssProperty:"--kui-spacer",keywords:["true","false"]}};var aP="--kui-progress";function Ku(e,t,r){r.style.set("position","sticky"),r.style.set("top",t.text("offset-top","var(--kui-pin-offset, 0px)"));let n=t.is("spacer")?Uu(e,t.text("distance"),r):null;return{spacer:n?.spacer??null,dispose:()=>n?.remove()}}function Ke(e){let{id:t,channels:r,parameters:n,prepare:o,perfClass:i="compositor"}=e;return{id:t,renderer:"javascript",channels:r,parameters:n,supportedTimelines:ye,supportedActivations:["manual","load","enter"],defaultActivation:"load",perfClass:i,reducedMotion:"disable",prepare:R(t,{because:"it is driven by scroll position rather than a clock, so it has no start moment and no fixed span"},o)}}function it(e,t){e.style.set(aP,t.toFixed(4))}function cP(e,t,r){let n=e,{spacer:o,dispose:i}=Ku(n,t,r),s=o?n:n.parentElement??e,a=Se(s,r,{distance:t.text("distance"),contentAnchor:o??void 0,stickyEl:n},c=>{it(r,c);let u=c>0&&c<1&&xo(n)==="sticky";e.setAttribute("data-kui-pinned",u?"true":"false")});return I(()=>{a(),i(),e.removeAttribute("data-kui-pinned")})}function Uu(e,t,r){let n=r.doc.createElement("div");return n.setAttribute("data-kui-spacer",""),n.setAttribute("aria-hidden","true"),n.style.height=t,n.style.pointerEvents="none",e.after(n),r.invalidate(),{spacer:n,remove:()=>{n.remove(),r.invalidate()}}}function uP(e,t,r){let n=Math.max(0,Math.round(t.num("steps",0))),o=_(t.text("target"),r,"scroll-progress"),i=W(t,"page"),s=be(()=>$(e,r,o,i),l=>r.warn(`scroll-progress ${l}`)),a=x(e),c,u=Se(e,r,{distance:t.text("distance")},l=>{if(it(r,l),n===0)return;let p=Math.min(n-1,Math.floor(l*n));p!==c&&(c=p,a.set("data-kui-step",String(p)),r.style.set("--kui-step",String(p)),o&&s.mark(p))});return I(()=>{u(),a.restore(),s.restore()})}function lP(e,t,r){let n=_(t.text("target"),r,"horizontal-track");if(!n)return pP(e,t,r);let o=W(t,"self"),i=$(e,r,n,o),s=i[0];return s?(i.length>1&&r.warn(`horizontal-track target "${n}" matched ${i.length} elements; only the first is used`),mP(e,s,t,r)):(r.warn(`horizontal-track target "${n}" matched nothing inside this element`),()=>{})}function pP(e,t,r){let n=t.text("travel","auto"),o=Ve(()=>zu(e,n,e.ownerDocument));return I(Se(e,r,{distance:t.text("distance")},(i,s)=>{r.style.set("translate",`${-i*o.read(s.epoch)}px 0`),it(r,i)}))}function mP(e,t,r,n){let o=r.text("offset-top","var(--kui-pin-offset, 0px)");n.style.set("position","sticky"),n.style.set("top",o),n.style.set("height",`calc(100vh - ${o})`),n.style.set("overflow","hidden"),n.style.set("display","grid"),n.style.set("align-content","center");let{spacer:i,remove:s}=Uu(e,r.text("distance"),n),a=j(t);a.set("display","flex"),a.set("width","max-content");let c=r.text("travel","auto"),u=Ve(()=>zu(t,c,t.ownerDocument)),l=Se(e,n,{distance:r.text("distance"),contentAnchor:i,stickyEl:e},(p,m)=>{a.set("translate",`${-p*u.read(m.epoch)}px 0`),it(n,p)});return I(()=>{l(),a.restore(),s()})}function zu(e,t,r){if(t&&t!=="auto")return ge(t,ps,0);let n=e.scrollWidth-e.clientWidth;if(n>0)return n;let o=e.parentElement?.clientWidth||r.documentElement.clientWidth;return Math.max(0,e.scrollWidth-o)}function dP(e,t,r){let n=t.is("spacer")?Ku(e,t,r):null,o=n?.spacer??void 0,i=n?e:void 0,s=_(t.text("target"),r,"media-scrub"),a=W(t,"page"),c=s?fP(e,t,r,{selector:s,scope:a,contentAnchor:o,stickyEl:i}):gP(e,t,r,{contentAnchor:o,stickyEl:i});return I(()=>{c(),n?.dispose()})}function fP(e,t,r,n){let{selector:o,scope:i,contentAnchor:s,stickyEl:a}=n,c=be(()=>$(e,r,o,i),m=>r.warn(`media-scrub ${m}`)),u=Math.max(1,$(e,r,o,i).length),l,p=Se(e,r,{distance:t.text("distance"),contentAnchor:s,stickyEl:a},m=>{it(r,m);let f=Math.min(u-1,Math.floor(m*u));f!==l&&(l=f,c.mark(f))});return c.mark(0),()=>{p(),c.restore()}}function gP(e,t,r,n){let{contentAnchor:o,stickyEl:i}=n,s=Math.max(1,Math.round(t.num("frames",1))),a=yP(t.text("src"),r),c=e,u=-1;return Se(e,r,{distance:t.text("distance"),contentAnchor:o,stickyEl:i},p=>{it(r,p);let m=Math.min(s-1,Math.floor(p*s));m!==u&&(u=m,hP(c,{index:m,frames:s,progress:p,pattern:a}))})}function yP(e,t){return!e||cs(e)?e:(t.warn(`media-scrub "src" must be a same-origin path, got "${e}" \u2014 ignoring`),"")}function hP(e,t){let{index:r,frames:n,progress:o,pattern:i}=t;if(e.tagName==="VIDEO"){let s=Number.isFinite(e.duration)?e.duration:0;s>0&&(e.currentTime=s*o);return}e.tagName==="IMG"&&i&&(e.src=i.replace("{i}",String(r).padStart(String(n).length,"0")))}function vP(e,t,r){return r.style.set("scroll-behavior",t.text("behavior","smooth")),()=>{}}function bP(e,t,r){let n=t.is("axis","x")?"x":"y";r.style.set("scroll-snap-type",`${n} ${t.text("strictness","mandatory")}`);let o=_(t.text("target"),r,"scroll-snap"),i=W(t,"self"),s=o?$(e,r,o,i):[...e.children];o&&s.length===0&&r.warn(`scroll-snap target "${o}" matched nothing inside this element`),o&&EP(n,r);let a=s.map(c=>j(c));for(let c of a)c.set("scroll-snap-align",t.text("align","start"));return()=>{for(let c of a)c.restore()}}function EP(e,t){t.style.set(e==="x"?"overflow-x":"overflow-y","auto"),e==="x"&&t.style.set("display","flex")}var Yu=[Ke({id:"pin",channels:["position","progress",A("data-kui-pinned")],parameters:{...ot,...Ao},prepare:P(cP),perfClass:"layout"}),Ke({id:"scroll-progress",channels:["progress",A("data-kui-step")],parameters:{...ot,steps:{type:"number",default:"0",cssProperty:"--kui-steps"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(uP)}),Ke({id:"horizontal-track",channels:["translate","progress"],parameters:{...ot,travel:{type:"text",default:"auto",cssProperty:"--kui-travel"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"}},prepare:P(lP)}),Ke({id:"media-scrub",channels:["media","progress","position"],parameters:{...ot,...Ao,frames:{type:"number",default:"1",cssProperty:"--kui-frames"},src:{type:"text",default:"",cssProperty:"--kui-src"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(dP),perfClass:"paint"}),Ke({id:"scroll-spy",channels:[A("data-kui-active")],parameters:{...ot,target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"0px",cssProperty:"--kui-offset-top"}},prepare:P(qu)}),Ke({id:"smooth-scroll",channels:["scroll-behavior"],parameters:{behavior:{type:"keyword",default:"smooth",cssProperty:"--kui-scroll-behavior",keywords:["smooth","auto"]}},prepare:P(vP),perfClass:"layout"}),Ke({id:"scroll-snap",channels:["scroll-snap-type","overflow","discrete",D],parameters:{axis:{type:"keyword",default:"y",cssProperty:"--kui-axis",keywords:["x","y"]},strictness:{type:"keyword",default:"mandatory",cssProperty:"--kui-snap-strictness",keywords:["mandatory","proximity"]},align:{type:"keyword",default:"start",cssProperty:"--kui-snap-align",keywords:["start","center","end"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(bP),perfClass:"layout"})];var Xu=[{name:"pin-section",primitive:"pin",params:{distance:"100vh",spacer:"true"},phase:"idle"},{name:"pin-until",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"pin-spacer",primitive:"pin",params:{spacer:"true"},phase:"idle"},{name:"stacking-cards",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"scroll-progress",primitive:"scroll-progress",phase:"idle"},{name:"scrollytelling-step",primitive:"scroll-progress",params:{steps:"4"},phase:"idle"},{name:"horizontal-scroll",primitive:"horizontal-track",phase:"idle"},{name:"sequence-scrub",primitive:"media-scrub",params:{spacer:"true"},requiresOwnSubtree:!0,phase:"idle"},{name:"video-scrub",primitive:"media-scrub",requiresOwnSubtree:!0,phase:"idle"},{name:"scroll-spy",primitive:"scroll-spy",phase:"idle"},{name:"smooth-scroll-to",primitive:"smooth-scroll",phase:"idle"},{name:"scroll-snap-x",primitive:"scroll-snap",params:{axis:"x"},phase:"idle"},{name:"scroll-snap-y",primitive:"scroll-snap",params:{axis:"y"},phase:"idle"}];function Ju(e){return e.registerPrimitives(Yu).registerPresets(Xu)}var SP=/([mlhvcz])|(-?(?:\d+(?:\.\d+)?|\.\d+))/gi,PP=/[AaSsQqTt]/;function kP(e,t,r){let n=e[t];r.command=n,n.toLowerCase()==="z"&&TP(r);let o=nl[n.toLowerCase()],i=e[t+1];if(o>0&&(i===void 0||/[a-z]/i.test(i)))return Co(n,o,"0")}function wP(e,t){let r=0;for(;r<e.length;){let n=e[r];if(/[a-z]/i.test(n)){let i=kP(e,r,t);if(i!==void 0)return i;r++;continue}if(!t.command)return"path must start with a command letter";let o=AP(e,r,t);if("reason"in o)return o.reason;r=o.index}}function Zu(e){if(PP.test(e))return{segments:[],subpaths:[],reason:"arc and shorthand commands (A S Q T) are not supported"};let t=[...e.matchAll(SP)].map(o=>o[1]??o[2]),r={subpaths:[],open:void 0,current:{x:0,y:0},start:{x:0,y:0},command:""},n=wP(t,r);return n!==void 0?{segments:[],subpaths:[],reason:n}:r.subpaths.length===0?{segments:[],subpaths:[],reason:"no drawable segments"}:{segments:r.subpaths.flatMap(o=>o.segments),subpaths:r.subpaths}}function xP(e,t){e.open||(e.open={segments:[],closed:!1},e.subpaths.push(e.open)),e.open.segments.push(t)}var nl={m:2,l:2,h:1,v:1,c:6,z:0};function TP(e){let{current:t,start:r,open:n}=e;n&&((Math.abs(t.x-r.x)>=1e-6||Math.abs(t.y-r.y)>=1e-6)&&n.segments.push(ol(t,r)),n.closed=!0,e.current={...r},e.open=void 0)}function Co(e,t,r){return`'${e}' expects ${t} number${t===1?"":"s"}, found ${r}`}function AP(e,t,r){let n=r.command.toLowerCase(),o=r.command===n,i=nl[n];if(i===0)return{reason:`'${r.command}' does not take arguments`};let s=e.slice(t,t+i).map(Number);if(s.length<i)return{reason:Co(r.command,i,String(s.length))};let a=s.findIndex(Number.isNaN);if(a!==-1)return{reason:Co(r.command,i,`the command letter '${e[t+a]}'`)};let c=CP(n,s,r.current,o);return n==="m"?(r.current=c,r.start=c,r.open=void 0,r.command=o?"l":"L",{index:t+i}):(xP(r,RP({key:n,args:s,from:r.current,relative:o},c)),r.current=c,{index:t+i})}function CP(e,t,r,n){let o=n?r:{x:0,y:0};return e==="h"?{x:o.x+t[0],y:r.y}:e==="v"?{x:r.x,y:o.y+t[0]}:e==="c"?{x:o.x+t[4],y:o.y+t[5]}:{x:o.x+t[0],y:o.y+t[1]}}function RP(e,t){let{key:r,args:n,from:o,relative:i}=e;if(r!=="c")return ol(o,t);let s=i?o:{x:0,y:0};return{from:o,c1:{x:s.x+n[0],y:s.y+n[1]},c2:{x:s.x+n[2],y:s.y+n[3]},to:t}}function ol(e,t){return{from:e,c1:ae(e,t,1/3),c2:ae(e,t,2/3),to:t}}function Qu(e,t,r){return e+(t-e)*r}function ae(e,t,r){return{x:Qu(e.x,t.x,r),y:Qu(e.y,t.y,r)}}function MP(e,t){let r=ae(e.from,e.c1,t),n=ae(e.c1,e.c2,t),o=ae(e.c2,e.to,t),i=ae(r,n,t),s=ae(n,o,t),a=ae(i,s,t);return[{from:e.from,c1:r,c2:i,to:a},{from:a,c1:s,c2:o,to:e.to}]}function el(e,t){let r=[...e];for(;r.length<t&&r.length>0;){let n=0;for(let s=1;s<r.length;s++)tl(r[s])>tl(r[n])&&(n=s);let[o,i]=MP(r[n],.5);r.splice(n,1,o,i)}return r}function tl(e){return Math.hypot(e.to.x-e.from.x,e.to.y-e.from.y)}function Ne(e){return Math.round(e*100)/100}function IP(e){let t=[];for(let r of e){let n=r.segments[0];t.push(`M${Ne(n.from.x)},${Ne(n.from.y)}`);for(let o of r.segments)t.push(`C${Ne(o.c1.x)},${Ne(o.c1.y)} ${Ne(o.c2.x)},${Ne(o.c2.y)} ${Ne(o.to.x)},${Ne(o.to.y)}`);r.closed&&t.push("Z")}return t.join(" ")}function LP(e){let t=0,r=0;for(let n of e.segments)t+=n.from.x,r+=n.from.y;return{x:t/e.segments.length,y:r/e.segments.length}}function rl(e){let t=LP(e);return{segments:e.segments.map(()=>({from:{...t},c1:{...t},c2:{...t},to:{...t}})),closed:e.closed}}function OP(e,t){let r=Math.max(e.length,t.length),n=[],o=[];for(let i=0;i<r;i++){let s=e[i]??rl(t[i]),a=t[i]??rl(e[i]),c=Math.max(s.segments.length,a.segments.length),u=s.closed&&a.closed;n.push({segments:el(s.segments,c),closed:u}),o.push({segments:el(a.segments,c),closed:u})}return{from:n,to:o}}function il(e,t){let r=Zu(e),n=Zu(t);if(r.reason)return{reason:`start path: ${r.reason}`};if(n.reason)return{reason:`end path: ${n.reason}`};let{from:o,to:i}=OP(r.subpaths,n.subpaths);return{morph:{segmentCount:o.reduce((a,c)=>a+c.segments.length,0),at(a){let c=Math.min(1,Math.max(0,a));return IP(o.map((u,l)=>({segments:u.segments.map((p,m)=>NP(p,i[l].segments[m],c)),closed:u.closed})))}}}}function NP(e,t,r){return{from:ae(e.from,t.from,r),c1:ae(e.c1,t.c1,r),c2:ae(e.c2,t.c2,r),to:ae(e.to,t.to,r)}}var _P="line, rect, path, polyline, circle";function DP(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(_P)):t.filter(n=>n.textContent.trim()==="")}function sl(e){return Ga(e,(t,r,n)=>{if(!t.querySelector(".kui-bar")){let o=DP(t);if(o.length>0){let i=o.map(s=>{let a=x(s);return a.set(w.part,"bar"),a});n.signal.addEventListener("abort",()=>{for(let s of i)s.restore()},{once:!0})}}return e(t,r,n)})}function $P(e,t,r){let n=e,o=t.text("from")||n.getAttribute("d")||"",{morph:i,reason:s}=il(o,t.text("to"));if(!i)return r.warn(`cannot morph: ${s}`),()=>{};let a=Z(t,300),c=kr(t.timing.easing??t.text("ease","linear"),r.warn),u=t.timing.delayMs??t.ms("delay",0),l=0,p=!1,m=h=>{cancelAnimationFrame(l);let v=performance.now(),E=f,k=h===1?u:0,C=F=>{if(p)return;let M=F-v-k;if(M<0){l=requestAnimationFrame(C);return}let J=a>0?Math.min(1,M/a):1;f=E+(h-E)*c(J),n.setAttribute("d",i.at(f)),J<1&&(l=requestAnimationFrame(C))};l=requestAnimationFrame(C)},f=0,d=()=>m(1),g=()=>m(0);return e.addEventListener("pointerenter",d,{passive:!0}),e.addEventListener("focusin",d,{passive:!0}),e.addEventListener("pointerleave",g,{passive:!0}),e.addEventListener("focusout",g,{passive:!0}),()=>{p=!0,cancelAnimationFrame(l),e.removeEventListener("pointerenter",d),e.removeEventListener("focusin",d),e.removeEventListener("pointerleave",g),e.removeEventListener("focusout",g),n.setAttribute("d",o)}}var jP=b("path-draw",[y.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length",finite:!0}}}),HP=b("shape-fill",[y.clip]),VP=b("bar-grow",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),FP=b("logo-assemble",[y.opacity,y.scale,y.rotate]),GP={id:"icon-toggle",renderer:"javascript",channels:[y.translate,y.rotate,y.scale,y.opacity,y.clip,D],parameters:{duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:sl(ne("icon-toggle",{honours:B,because:"svg.css pins that value on this effect"}))},BP=[{id:"path-morph",renderer:"javascript",channels:["path"],parameters:{from:{type:"text",default:"",cssProperty:"--kui-path-from"},to:{type:"text",default:"",cssProperty:"--kui-path-to"},duration:{type:"time",default:"300ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["hover","focus","manual","load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"disable",prepare:P($P)},jP,HP,VP,FP,GP],WP=[{name:"icon-morph",primitive:"path-morph"},{name:"blob-morph",primitive:"path-morph",params:{duration:"800ms"}},{name:"draw-stroke",primitive:"path-draw",keyframes:"kui-draw-stroke",params:{duration:"800ms",ease:"ease-in-out"}},{name:"draw-signature",primitive:"path-draw",keyframes:"kui-draw-signature",params:{duration:"1600ms",ease:"ease-in-out"}},{name:"draw-underline",primitive:"path-draw",keyframes:"kui-draw-underline",params:{duration:"420ms"}},{name:"checkmark-draw",primitive:"path-draw",keyframes:"kui-checkmark-draw",params:{duration:"320ms"}},{name:"cross-draw",primitive:"path-draw",keyframes:"kui-cross-draw",params:{duration:"260ms"}},{name:"chart-line-draw",primitive:"path-draw",keyframes:"kui-chart-line-draw",params:{duration:"1200ms",ease:"ease-in-out"}},{name:"gradient-stroke",phase:"idle",primitive:"path-draw",keyframes:"kui-gradient-stroke",params:{duration:"2400ms",ease:"ease-in-out"}},{name:"heart-fill",primitive:"shape-fill",keyframes:"kui-heart-fill",params:{duration:"420ms"}},{name:"bookmark-fill",primitive:"shape-fill",keyframes:"kui-bookmark-fill",params:{duration:"360ms"}},{name:"chart-area-fill",primitive:"shape-fill",keyframes:"kui-chart-area-fill",params:{duration:"900ms"}},{name:"chart-bar-grow",primitive:"bar-grow",keyframes:"kui-chart-bar-grow",params:{duration:"700ms",ease:"back-out"},cloak:!0},{name:"logo-build",primitive:"logo-assemble",keyframes:"kui-logo-build",params:{duration:"520ms",ease:"back-out"}},{name:"hamburger-to-x",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"play-to-pause",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"plus-to-minus",primitive:"icon-toggle",transitions:[{property:"rotate"}],requiresOwnSubtree:!0}];function al(e){return e.registerPrimitives(BP).registerPresets(WP)}var qP=":scope > .kui-face-front, :scope > .kui-face-back",cl=`:scope > :is(.kui-flip-control, [${w.part}~='control'])`;function KP(e,t){if(e.querySelector(qP))return;let[r,n]=Array.from(e.children).filter(o=>o.tagName!=="BUTTON");r&&t(r,"front"),n&&t(n,"back")}function UP(e,t,r){let n=t.createElement("button");return n.type="button",n.className="kui-flip-control",n.setAttribute(w.part,r?"control injected quiet":"control injected"),n.setAttribute("aria-pressed","false"),n.textContent="Flip card",e.append(n),n}function zP(e,t,r,n){let o=e.querySelector(":scope > .kui-flip-control");if(o)return{control:o,injected:null};let i=e.querySelector(":scope > button[aria-pressed]");if(i)return n(i,"control"),{control:i,injected:null};let s=UP(e,t,r);return{control:s,injected:s}}function ul(e,t,r){let n=[],o=(l,p)=>{let m=x(l);m.set(w.part,p),n.push(m)};KP(e,o);let i=t.text("trigger","click")!=="click",{control:s,injected:a}=zP(e,r.doc,i,o),c=a?{button:a,onClick:()=>{a.setAttribute("aria-pressed",String(a.getAttribute("aria-pressed")!=="true"))}}:null;return c&&c.button.addEventListener("click",c.onClick),{control:s,cleanup:()=>{c&&(c.button.removeEventListener("click",c.onClick),c.button.remove());for(let l of n)l.restore()}}}function YP(e,t,r){Be("card-toggle",B,t,r);let n=t.text("trigger","click");if(n==="click")return()=>{};if(!he(r.win))return()=>{};let o=e.querySelector(cl),i=u=>o.setAttribute("aria-pressed",String(u)),s=()=>o.getAttribute("aria-pressed")==="true",a=()=>{i(n==="hover-toggle"?!s():!0)},c=()=>i(!1);return e.addEventListener("pointerenter",a,{passive:!0}),n==="hover"&&e.addEventListener("pointerleave",c,{passive:!0}),()=>{e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",c)}}function XP(e,t,r){let n=ul(e,t,r);return r.signal.addEventListener("abort",n.cleanup,{once:!0}),P(YP)(e,t,r)}var JP={id:"card-toggle",renderer:"javascript",channels:[y.rotate,"discrete",D],parameters:{duration:{type:"time",default:"700ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},trigger:{type:"keyword",default:"click",cssProperty:"--kui-flip-trigger",keywords:["click","hover","hover-latch","hover-toggle"]}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:XP},ZP=[b("flip-face",[y.skew,"transform-origin"],{parameters:{angle:{type:"angle",default:"180deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),b("page-reveal",[y.opacity,y.translate],{parameters:{distance:{type:"length",default:"40px",cssProperty:"--kui-distance"}}}),b("wipe",[y.clip]),b("bar",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),JP],QP=[{name:"card-flip-y",primitive:"flip-face",keyframes:"kui-card-flip-y",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"card-flip-x",primitive:"flip-face",keyframes:"kui-card-flip-x",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"cube-rotate",primitive:"flip-face",keyframes:"kui-cube-rotate",params:{angle:"90deg"},establishes3d:!0},{name:"book-page-turn",primitive:"flip-face",keyframes:"kui-book-page-turn",params:{angle:"-160deg",duration:"900ms"},establishes3d:!0},{name:"fold-panel",phase:"entrance",primitive:"flip-face",keyframes:"kui-fold-panel",params:{angle:"-90deg"},cloak:!0,establishes3d:!0},{name:"page-fade",primitive:"page-reveal",keyframes:"kui-page-fade"},{name:"page-slide",primitive:"page-reveal",keyframes:"kui-page-slide"},{name:"curtain-wipe",primitive:"wipe",keyframes:"kui-curtain-wipe",params:{duration:"800ms"}},{name:"loading-bar",phase:"entrance",primitive:"bar",keyframes:"kui-loading-bar",cloak:!0},{name:"flip-card",phase:"state",primitive:"card-toggle",requiresOwnSubtree:!0,establishes3d:!0}];function ll(e){return e.registerPrimitives(ZP).registerPresets(QP)}var ek=.28,pl=4,tk=6;function rk(e,t,r){if(r<=0)return e;let n=t/r*ek,o=Math.max(-pl,Math.min(pl,n));return e-o}function ml(e){return Math.round(e)+0}function st(e,t){return t>0?(e%t+t)%t:0}var nk={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1,PageDown:1,PageUp:-1,Home:null,End:null};function ok(e){let t,r=()=>{t?.restore(),t=void 0};return{hold(){r(),e.getSelection()?.removeAllRanges(),t=j(e.documentElement),t.claim("user-select"),t.claim("-webkit-user-select"),t.set("user-select","none"),t.set("-webkit-user-select","none")},release:r}}function ik(e,t){let r=!1,n=s=>{r&&(r=!1,s.stopPropagation(),s.preventDefault())},o=()=>{r=!1},i=s=>{s.preventDefault()};return e.addEventListener("click",n,!0),e.addEventListener("pointerdown",o,!0),t&&e.addEventListener("dragstart",i),{arm(){r=!0},release(){e.removeEventListener("click",n,!0),e.removeEventListener("pointerdown",o,!0),e.removeEventListener("dragstart",i)}}}function dl(e){let{el:t,ctx:r,enabled:n,travelPx:o,total:i,positionOf:s,moveTo:a,setDragging:c}=e,u=ik(t,n),l=0,p=1,m=ok(t.ownerDocument),f=n?pe(t,{onStart(){l=s(),p=e.travelSign(),m.hold(),c(!0)},onMove(h){a(l-p*h.dx/o)},onEnd(h){m.release(),c(!1),u.arm();let v=ml(rk(s(),p*h.vx,o));a(st(v,i()))}},{axis:"x",threshold:tk,capturePointer:"drag"}):()=>{};n&&r.style.set("touch-action","pan-y");let d=h=>{let v=h,E=v.key,k=nk[E];if(k===void 0||v.altKey||v.ctrlKey||v.metaKey)return;let C=i(),F=E==="Home"?0:C-1,M=k===null?F:ml(s())+k;h.preventDefault(),a(st(M,C))},g=t.getAttribute("tabindex")===null;return g&&t.setAttribute("tabindex","0"),t.addEventListener("keydown",d),()=>{f(),m.release(),t.removeEventListener("keydown",d),u.release(),g&&t.removeAttribute("tabindex")}}var gl="data-kui-ring-dragging",Gr=[D,A("data-kui-step"),A(gl),A("tabindex")],sk="data-kui-ring-spinning",fl="data-kui-ring-face",ak="data-kui-ring-wrap";function ck(e,t){return e.getComputedStyle?.(t).transform}function uk(e,t,r){return t!==null?t<e?-1:1:r!==null&&r>e?-1:1}function lk(e,t,r){return Math.abs(t-e)>r/2}function Ct(e,t){if(t<=0)return{step:0,drift:0};let r=Math.round(e);return{step:(r%t+t)%t,drift:e-r}}var Br={duration:{type:"time",default:"620ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"cubic-bezier(0.22, 1, 0.36, 1)",cssProperty:"--kui-ease"},grab:{type:"keyword",default:"true",cssProperty:"--kui-grab",keywords:["true","false"]},travel:{type:"number",default:"220",cssProperty:"--kui-travel",finite:!0,minimum:1},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},pause:Dr,hover:$r,spin:{type:"time",default:"0s",cssProperty:"--kui-spin"},autoplay:_r,lightbox:Mr,scope:U};function pk(e,t){let r=e.attributes.get(t);return r||(r=x(t),e.attributes.set(t,r)),r}function mk(e,t){let r=t[0];r&&(r.offsetWidth>0&&e.set("--kui-item-width",`${r.offsetWidth}px`),r.offsetHeight>0&&e.set("--kui-item-height",`${r.offsetHeight}px`))}function Wr(e,t,r,n){let{label:o}=n;Be(n.id,B,t,r);let i=_(t.text("target"),r,o),s=W(t,"self"),a=()=>i?$(e,r,i,s):e.children,c=be(a,T=>r.warn(`${o} ${T}`)),u=()=>mo(t,a),l=x(e),p=j(e);for(let[T,S]of Object.entries(n.hostAttributes??{}))l.set(T,S);let m={attributes:new Map},f=n.attach?.(p),d=0,g={step:-1,count:1,nodes:[]},h=new WeakMap,v=(T,S)=>{for(let N of T){let H=Number(N.getAttribute("data-kui-step-offset")),G=n.placeOf?n.placeOf(H,S):H,ke=h.get(N);if(h.set(N,G),ke===void 0||!lk(ke,G,S))continue;let at=x(N);at.set(ak,"true"),ck(r.win,N),at.restore()}},E=(T,S,N)=>{for(let H of T){let G=Number(H.getAttribute("data-kui-step-offset")),ke=n.faceOf(G-N,G,S);H.getAttribute(fl)!==ke&&pk(m,H).set(fl,ke)}},k=(T,S)=>{p.set("--kui-step-position",(T+S).toFixed(4))},C=()=>{let T=u(),{step:S,drift:N}=Ct(d,T);l.set("data-kui-step",String(S)),p.set("--kui-step",String(S)),p.set("--kui-item-count",String(T)),k(S,N),c.mark(S);let H=[...a()];n.measure&&mk(p,H),E(H,T,N),v(H,T),f?.render(H,T),g={step:S,count:T,nodes:H}},F=()=>{let{step:T,drift:S}=Ct(d,g.count);if(T!==g.step){C();return}k(T,S),E(g.nodes,g.count,S)},{motion:M,pause:J,release:te}=jr({el:e,ctx:r,params:t,label:o,settleMs:Z(t,620),step(T){let S=u(),{step:N}=Ct(d,S);d=T>0?Lr(N,S):Or(N,S),C()},spin:{advance(T){d=st(d+T*g.count,g.count),F()},setSpinning:T=>l.set(sk,String(T))}}),K=T=>{M.interrupt(),d=T,C()},Pe={el:e,ctx:r,params:t,label:o},me=[Ee(Pe,"next",()=>K(Lr(Ct(d,u()).step,u()))),Ee(Pe,"prev",()=>K(Or(Ct(d,u()).step,u()))),Ee(Pe,"jump",(T,S)=>{S>=0&&K(S)}),J].filter(T=>T!==null),_e=fo({el:e,ctx:r,groups:me}),ze=()=>{let T=new Map;for(let S of g.nodes){let N=Number(S.getAttribute("data-kui-step-offset"));if(Math.abs(N)>1)continue;let H=S.getBoundingClientRect();T.set(N,H.left+H.width/2)}return uk(T.get(0)??0,T.get(1)??null,T.get(-1)??null)},Y=dl({el:e,ctx:r,enabled:t.is("grab"),travelPx:t.num("travel",220),total:u,positionOf:()=>d,travelSign:ze,moveTo:K,setDragging:T=>{l.set(gl,String(T)),M.hold(T)}}),De=Ir(t.is("lightbox"),{host:e,cards:a,doc:r.doc,reducedMotion:r.reducedMotion},T=>r.warn(`${o} ${T}`));return C(),()=>{De(),te(),Y(),_e(),c.restore();for(let T of m.attributes.values())T.restore();m.attributes.clear(),f?.release(),l.restore(),p.restore()}}var yl="--kui-ring-fit",dk=.25,hl=1e5,fk=34,qr=Math.PI/180;function gk(e,t){if(Math.abs(e)>=360)return{fromDeg:-180,toDeg:180};let r=Math.max(1,t),n=e/r,o=Math.floor(r/2),s=[(o-r+1-.5)*n,(o+.5)*n];return{fromDeg:Math.min(...s),toDeg:Math.max(...s)}}function vl(e,{sinA:t,cosA:r,sinT:n,cosT:o}){let[i,s,a]=e,c=i*r+a*t,u=-i*t+a*r;return[c,s*o-u*n,s*n+u*o]}function yk(e,t,r){let n=(e.inside?-1:1)*t,o=vl([0,0,n],r),i=e.width/2,s=e.height/2;for(let[a,c]of[[-i,-s],[i,-s],[-i,s],[i,s]]){let[u,,l]=e.facing==="camera"?[o[0]+a,o[1]+c,o[2]]:vl([a,c,n],r);if(l>=e.perspective-1)return!1;let p=Number.isFinite(e.perspective)?e.perspective/(e.perspective-l):1,m=(e.originOffset+u)*p;if(m<e.minX||m>e.maxX)return!1}return!0}function Ro(e,t,r){let n=Math.sin(e.tiltDeg*qr),o=Math.cos(e.tiltDeg*qr);return r.every(i=>yk(e,t,{sinA:Math.sin(i*qr),cosA:Math.cos(i*qr),sinT:n,cosT:o}))}function hk(e){let t=e.inside?Math.max(e.fromDeg,-90):e.fromDeg,r=e.inside?Math.min(e.toDeg,90):e.toDeg,n=Math.max(1,Math.ceil((r-t)/dk));return Array.from({length:n+1},(o,i)=>t+(r-t)*i/n)}function vk(e){let t=hk(e);if(!Ro(e,0,t))return 0;if(Ro(e,hl,t))return 1/0;let r=0,n=hl;for(let o=0;o<fk;o++){let i=(r+n)/2;Ro(e,i,t)?r=i:n=i}return Math.floor(r*100)/100}function bk(e,t){let r=e.ownerDocument;for(let o=e.parentElement;o&&o!==r.body&&o!==r.documentElement;o=o.parentElement){let i=t.getComputedStyle(o).overflowX;if(i==="clip"||i==="hidden")return null;if(i==="auto"||i==="scroll"){let s=o.getBoundingClientRect().left+o.clientLeft;return{left:s,right:s+o.clientWidth}}}let n=-t.scrollX;return{left:n,right:n+r.documentElement.clientWidth}}function bl(e,t){let r=Number.parseFloat(e);return Number.isFinite(r)?r:t}function El(e){let{el:t,ctx:r,styles:n}=e;if(typeof r.win.getComputedStyle!="function"||typeof r.win.addEventListener!="function")return{render(){},release(){}};let o=Math.min(80,Math.max(-80,-e.tiltParamDeg)),i,s=1,a=()=>{let l=bk(t,r.win);if(!l||!i||i.offsetWidth===0){n.set(yl,"");return}let p=r.win.getComputedStyle(t),m=t.getBoundingClientRect(),f=m.left+bl(p.perspectiveOrigin,m.width/2),d=vk({width:i.offsetWidth,height:i.offsetHeight,perspective:bl(p.perspective,1/0),tiltDeg:o,inside:t.matches("[data-kui-fx~='carousel-3d-inside']"),facing:i.firstElementChild?e.facing:"radial",...gk(e.arcDeg,s),originOffset:m.left+m.width/2-f,minX:l.left-f,maxX:l.right-f});n.set(yl,Number.isFinite(d)?`${d}px`:"")},c=Le(r.win,a),u=Ie(r.win,c.request);return u.observe(t),u.observe(t.ownerDocument.documentElement),{render(l,p){let m=l[0];m===i&&p===s||(i=m,s=p,a())},release(){u.disconnect(),c.cancel()}}}function Ek(e,t,r,n){let o=Sl(e,r)-t;return o>-.5&&o<n+1?"front":"back"}function Sl(e,t){return st(e+1,t)-1}var Sk={...Br,shift:{type:"length",default:"48px",cssProperty:"--kui-stack-shift"},rise:{type:"length",default:"36px",cssProperty:"--kui-stack-rise"},shrink:{type:"number",default:"0.08",cssProperty:"--kui-stack-shrink",finite:!0,minimum:0,maximum:.3},blur:{type:"length",default:"2px",cssProperty:"--kui-stack-blur"},fade:{type:"number",default:"0.2",cssProperty:"--kui-stack-fade",finite:!0,minimum:0,maximum:1},depth:{type:"number",default:"3",cssProperty:"--kui-stack-depth",integer:!0,minimum:1,maximum:8}};function Pk(e,t,r){let n=t.num("depth",3);return Wr(e,t,r,{id:"spatial-stack",label:"carousel-stack",faceOf:(o,i,s)=>Ek(i,i-o,s,n),placeOf:Sl,measure:!1})}var Pl={id:"spatial-stack",renderer:"javascript",channels:[y.skew,"discrete",y.opacity,y.filter,...Gr],parameters:Sk,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:P(Pk)},kl=[{name:"carousel-stack",primitive:"spatial-stack",requiresOwnSubtree:!0,phase:"idle",cloak:!0}];var kk=90,wk=[["overflow",e=>e!==""&&e!=="visible"],["clip-path",e=>e!==""&&e!=="none"],["opacity",e=>e!==""&&Number(e)<1],["filter",e=>e!==""&&e!=="none"],["backdrop-filter",e=>e!==""&&e!=="none"],["isolation",e=>e==="isolate"],["mix-blend-mode",e=>e!==""&&e!=="normal"],["mask-image",e=>e!==""&&e!=="none"]];function xk(e,t){let r=Tk(e,t);r&&t.warn(`carousel: the ring's own <${e.localName}> has ${r.property}: ${r.value}, which flattens transform-style: preserve-3d \u2014 the ring will render as flat overlapping cards. Move that property to a wrapper around the ring: an ancestor does not flatten it.`)}function Tk(e,t){let r=t.win.getComputedStyle?.(e);if(!r)return null;for(let[n,o]of wk){let i=r.getPropertyValue(n);if(o(i))return{property:n,value:i}}return null}function Ak(e){return Math.abs(Ck(e))>=kk?"back":"front"}function Ck(e){let t=(e%360+360)%360;return t>180?t-360:t}var Rk={...Br,tilt:{type:"angle",default:"0deg",cssProperty:"--kui-tilt"},arc:{type:"angle",default:"360deg",cssProperty:"--kui-arc"},radius:{type:"length",default:"",cssProperty:"--kui-radius"},gap:{type:"length",default:"24px",cssProperty:"--kui-gap"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},facing:{type:"keyword",default:"radial",cssProperty:"--kui-facing",keywords:["radial","camera"]},plane:{type:"keyword",default:"depth",cssProperty:"--kui-ring-plane",keywords:["depth","screen"]}};function Mk(e,t,r){let n=t.text("plane","depth");n==="depth"&&xk(e,r);let o=wl(t.text("arc","360deg"),360);return Wr(e,t,r,{id:"spatial-ring",label:"carousel",faceOf:(s,a,c)=>n==="screen"?"front":Ak(s*(o/c)),measure:t.text("radius")===""||n==="screen",hostAttributes:{"data-kui-ring-facing":t.text("facing","radial"),"data-kui-ring-plane":n},attach:n==="depth"?s=>El({el:e,ctx:r,styles:s,arcDeg:o,tiltParamDeg:wl(t.text("tilt","0deg"),0),facing:t.text("facing","radial")==="camera"?"camera":"radial"}):void 0})}function wl(e,t){let r=/^(-?[\d.]+)(deg|rad|turn|grad)?$/i.exec(e.trim());if(!r)return t;let n=Number(r[1]);if(!Number.isFinite(n))return t;switch((r[2]??"deg").toLowerCase()){case"rad":return n*180/Math.PI;case"turn":return n*360;case"grad":return n*.9;default:return n}}var Ik={id:"spatial-ring",renderer:"javascript",channels:[y.skew,"discrete",...Gr,A("data-kui-ring-facing"),A("data-kui-ring-plane")],parameters:Rk,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:P(Mk)},Lk=[Ik,Pl],Ok=[{name:"carousel-3d",primitive:"spatial-ring",params:{tilt:"12deg"},requiresOwnSubtree:!0,phase:"idle",cloak:!0},{name:"carousel-3d-high",primitive:"spatial-ring",params:{tilt:"30deg",perspective:"1200px"},requiresOwnSubtree:!0,phase:"idle",cloak:!0},{name:"carousel-3d-low",primitive:"spatial-ring",params:{tilt:"-18deg",perspective:"1800px"},requiresOwnSubtree:!0,phase:"idle",cloak:!0},{name:"carousel-3d-inside",primitive:"spatial-ring",params:{arc:"120deg",facing:"camera",perspective:"900px"},requiresOwnSubtree:!0,phase:"idle",cloak:!0},{name:"carousel-orbit",primitive:"spatial-ring",params:{plane:"screen",facing:"camera"},requiresOwnSubtree:!0,phase:"idle",cloak:!0}];function xl(e){return e.registerPrimitives(Lk).registerPresets(Ok).registerPresets(kl)}var Mo=["translate","rotate","scale","opacity","filter","color","background"],Tl={translate:y.translate,rotate:y.rotate,scale:y.scale,opacity:y.opacity,filter:y.filter,color:y.color,background:y.background};function q(e,t,r,n){let o=r==="number"?{finite:!0,...e==="filter"?{minimum:0}:{}}:{};return[t,{group:e,spec:{type:r,default:n,cssProperty:`--kui-tween-${t}`,...o}}]}var Q=Object.fromEntries([q("translate","x","length","0"),q("translate","y","length","0"),q("translate","z","length","0"),q("rotate","rotate","angle","0deg"),q("scale","scale","number","1"),q("scale","scale-x","number","1"),q("scale","scale-y","number","1"),q("opacity","opacity","number","1"),q("filter","blur","length","0px"),q("filter","brightness","number","1"),q("filter","saturate","number","1"),q("filter","grayscale","number","0"),q("filter","contrast","number","1"),q("filter","hue-rotate","angle","0deg"),q("filter","invert","number","0"),q("filter","sepia","number","0"),q("color","color","color","currentcolor"),q("background","background-color","color","transparent")]),Al=Object.fromEntries([...Object.entries(Q).map(([e,t])=>[e,t.spec]),...Mo.map(e=>[`${e}-ease`,{type:"easing",default:"ease-out",cssProperty:`--kui-tween-${e}-ease`}])]);function Io(e,t){if(e=e.trim(),t==="number"&&e.endsWith("%")){let n=e.slice(0,-1);return fe(n,-2)??e}let r=fe(e);return r===void 0?e:t==="length"?`${r}px`:t==="angle"?`${r}deg`:t==="number"?r:e}function Kr(e,t,r,n=e){let o=Q[e].spec,i=Io(t,o.type),s=Nk(e,i),a=s?{ok:!1,reason:s,value:i}:Me(i,o);if(!a.ok){r(`parameter "${n}": ${a.reason} \u2014 got "${t}", using default "${o.default}"`);return}return a.value}function Nk(e,t){if(/^(?:inherit|initial|unset|revert|revert-layer)$/i.test(t))return"CSS-wide keyword cannot be passed through a tween custom property";if((e==="z"||e==="blur")&&t.includes("%"))return"expected a length without percentages";if(e==="blur"&&Number.parseFloat(t)<0)return"blur must be non-negative"}var Ur=5,Cl=2;function Rl(e){let t=[],r=0,n=0,o=0;for(;o<e.length;){let i=e[o];i==='"'||i==="'"?o=_k(e,o):i==="("?n++:i===")"?n=Math.max(0,n-1):i===","&&n===0&&(t.push(e.slice(r,o).trim()),r=o+1),o++}return t.push(e.slice(r).trim()),t}function _k(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 Dk(e,t,r,n){for(let[o,i]of t){if(i.length===r)continue;let s=i.at(-1);for(i.length>=Cl&&n(`"${o}" has ${String(i.length)} waypoints and another "${e}" property has ${String(r)} \u2014 they share one keyframe block, so "${o}" holds at "${s}" for the rest`);i.length<r;)i.push(s)}}function $k(e,t,r){return t.length<=Ur?t:(r(`"${e}" has ${String(t.length)} waypoints \u2014 at most ${String(Ur)} are supported, so the animation now ends at "${t[Ur-1]}"`),t.slice(0,Ur))}function Ml(e,t){let r=new Map;for(let[n,o]of e){if(o.length<Cl)continue;let i=Object.hasOwn(Q,n)?Q[n]:void 0;if(!i)continue;let s=$k(n,o,t).map(c=>Io(c.trim(),i.spec.type)),a=r.get(i.group)??{count:0,keys:new Map};a.keys.set(n,s),a.count=Math.max(a.count,s.length),r.set(i.group,a)}for(let[n,o]of r)Dk(n,o.keys,o.count,t);return r}function Il(e,t,r,n){for(let[o,i]of e.keys){if(!Object.hasOwn(Q,o))continue;let s=Q[o].spec;for(let[a,c]of i.entries()){let u=a+1,l=`${o}[${String(u)}]`,p=Kr(o,c,n,l);p!==void 0&&(t[l]=p,r[l]=jk(s,o,u))}}}function jk(e,t,r){return{...e,cssProperty:`--kui-tween-${t}-${String(r)}`}}function Ll(e,t){return`kui-tween-keys${String(t)}-${e}`}var Hk=["time","view","scroll","pin"];function Vk(e,t,r){let n=["scale-x","scale-y"].filter(o=>Number(t[o]??t.scale??"1")===0);n.length!==0&&r(`"${e}" starts with no box area on ${n.join(", ")}, which can prevent on:enter activation depending on its geometry \u2014 use a small non-zero scale, or on:load`)}function Fk(e,t,r){let n={},o=new Set(t.filter(([,i])=>i.length>1).map(([i])=>Q[i].group));for(let[i]of t)(e==="from"||o.has(Q[i].group))&&r[i]!==void 0&&(n[i]=r[i]);return n}function Gk(e,t,r){let n=Object.create(null),o=Bk(t,n,r),i=new Set(o.map(([l])=>Q[l].group)),s=Mo.filter(l=>i.has(l));if(s.length===0)return r(`"${t.name}" names no properties to animate \u2014 add at least one, e.g. "${t.name} x:100" (known: ${Object.keys(Q).join(", ")})`),{channels:[],keyframes:[],params:n};Vk(t.name,Fk(e,o,n),r);let a=Ml(o,r),c={};for(let l of a.values())Il(l,n,c,r);for(let l of s){let p=`${l}[ease]`,m=Wk(e,t,l);n[p]=m.value,c[p]=m.schema}return{channels:s.map(l=>Tl[l]),keyframes:s.map(l=>qk(l,e,a.get(l))),params:n,schema:c}}function Bk(e,t,r){let n=[];for(let[o,i]of Object.entries(e.params)){if(!(Object.hasOwn(Q,o)?Q[o]:void 0)){t[o]=i;continue}let a=Rl(i);n.push([o,a]);let c=Kr(o,a[0],r);c!==void 0&&(t[o]=c)}return n}function Wk(e,t,r){let o=`var(--kui-${e==="from"?"tween-from":"tween"}-ease, ease-out)`,i=`--kui-tween-${r}-default-ease`;return t.easing?{value:t.easing,schema:{type:"easing",default:o,cssProperty:i}}:{value:o,schema:{type:"keyword",default:o,keywords:[o],cssProperty:i}}}function qk(e,t,r){return r?Ll(e,r.count):`kui-tween-${t}-${e}`}function Ol(e,t){return{...b(e,[],{timelines:Hk,parameters:Al,perfClass:"paint"}),variantFor:(r,n)=>Gk(t,r,n)}}var Kk=[Ol("tween","to"),Ol("tween-from","from")],Uk=[{name:"tween",primitive:"tween"},{name:"tween-from",primitive:"tween-from",cloak:!0}];function Nl(e){return e.registerPrimitives(Kk).registerPresets(Uk)}var _l=/^-?[A-Za-z_][\w-]*$/,zk=new Set(["none","match-element"]);function Yk(e,t,r){let n=t.text("name","auto").trim();if(n==="auto"){let o=e.id;if(!o){r("page-morph needs a name to morph *to*: give this element an id (and the same id to its counterpart on the other view), or write name:something explicitly");return}return _l.test(o)?o:Dl(o,r)}if(zk.has(n)){r(`page-morph name:${n} is a keyword, not a name \u2014 omit the effect instead`);return}return _l.test(n)?n:Dl(n,r)}function Dl(e,t){t(`page-morph cannot use "${e}" as a view-transition-name \u2014 it must be a CSS identifier (a letter or underscore, then letters, digits, hyphens or underscores)`)}function Xk(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=Yk(e,t,r.warn);return n===void 0?()=>{}:(r.style.set("view-transition-name",n),()=>{})}var Jk={id:"view-morph",renderer:"javascript",channels:["view-transition-name"],parameters:{name:{type:"text",default:"auto",cssProperty:"--kui-view-transition-name"}},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R("view-morph",{because:"the ::view-transition pseudo-elements hang off the document root, not off this element, so no per-element value can reach them \u2014 set --kui-vt-duration/-delay/-ease on :root instead"},P(Xk))};function Zk(e,t,r){let n=t.text("controls","").trim();if(n){let s=r.doc.querySelector(n);if(s)return s;r.warn(`view-swap controls:${n} matched nothing \u2014 the click will do nothing`);return}let o=e.getAttribute("aria-controls"),i=o?r.doc.getElementById(o):null;if(i)return i;r.warn("view-swap has nothing to swap: give this control an aria-controls pointing at the element whose state changes, or name it with controls:#selector")}function Qk(e){let r=e.ViewTransition?.prototype;return typeof r=="object"&&r!==null&&"types"in r}function ew(e,t){return!e||!t.capabilities.viewTransitions?"":Qk(t.win)?e:(t.warn(`view-swap type:${e} needs View Transition types, which this browser's View Transitions API predates \u2014 the swap still animates, with the browser's default cross-fade instead of the motion this type names`),"")}function $l(e,t,r){let n=r.doc.startViewTransition;if(!r.capabilities.viewTransitions||typeof n!="function"||r.reducedMotion){e();return}t?n.call(r.doc,{update:e,types:[t]}):n.call(r.doc,e)}function tw(e,t,r){let n=Zk(e,t,r);if(!n)return()=>{};r.capabilities.viewTransitions||r.warn("this browser has no View Transitions API, so view-swap will not animate \u2014 the state change still happens, it just cuts");let o=t.text("attribute","data-open").trim()||"data-open",i=ew(t.text("type","").trim(),r),s=tt(t),a=()=>{let l=n.hasAttribute(o);l?n.removeAttribute(o):n.setAttribute(o,""),e.hasAttribute("aria-expanded")&&e.setAttribute("aria-expanded",String(!l))},c=new Set,u=()=>{if(s<=0){$l(a,i,r);return}let l=r.win.setTimeout(()=>{c.delete(l),$l(a,i,r)},s);c.add(l)};return e.addEventListener("click",u,{signal:r.signal}),()=>{for(let l of c)r.win.clearTimeout(l);c.clear()}}var rw={id:"view-swap",channels:["view-transition-run"],renderer:"javascript",parameters:{controls:{type:"text",default:"",cssProperty:"--kui-view-swap-controls"},attribute:{type:"text",default:"data-open",cssProperty:"--kui-view-swap-attribute"},type:{type:"text",default:"",cssProperty:"--kui-view-swap-type"},...O},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"layout",reducedMotion:"shorten",prepare:R("view-swap",{honours:["delay"],because:"it starts a transition the browser then owns \u2014 the duration and curve live on the ::view-transition pseudo-elements at :root, not on this control"},P(tw))},nw=[Jk,rw],ow=[{name:"page-morph",primitive:"view-morph"},{name:"view-swap",primitive:"view-swap",phase:"state"}];function jl(e){return e.registerPrimitives(nw).registerPresets(ow)}function Hl(e){return Array.isArray(e)?e:[e]}function Vl(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.registerPrimitives=="function"&&typeof t.registerPresets=="function"}function iw(e){if(!e||typeof e!="object")return;if(Vl(e))return e;let t=e;if(Vl(t.registry))return t.registry}function Fl(e,t,r,n="module"){let o=iw(e);if(!o)throw new Error(`kuinetic: register${n} requires a Registry or Animator instance`);return o.registerPrimitives(Hl(t)),o.registerPresets(Hl(r)),e}function ee(e,t,r){return{id:e,renderer:"javascript",channels:t.channels,parameters:t.parameters,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:t.perfClass,reducedMotion:"shorten",prepare:r}}var sw=["browser","phone","tablet","laptop"],Gl="",aw={kind:{type:"keyword",default:"browser",cssProperty:"--kui-device-kind",keywords:[...sw]},color:{type:"color",default:"#111",cssProperty:"--kui-device-color"},radius:{type:"length",default:Gl,cssProperty:"--kui-device-radius"},"screen-radius":{type:"length",default:Gl,cssProperty:"--kui-device-screen-radius"}};function cw(e,t){let r=x(e);return r.set("data-kui-device",t.text("kind","browser")),I(()=>r.restore())}var Bl=ee("device-frame",{channels:["frame",A("data-kui-device")],parameters:aw,perfClass:"layout"},R("device-frame",{because:"it stamps its frame kind once, synchronously, on activation; there is no motion to time"},P(cw))),Wl=[{name:"device-frame",primitive:"device-frame",requiresOwnSubtree:!0}];var Lo=new WeakMap;function ql(e){e.lock?.restore(),e.lock=void 0}function uw(e){if(e.lock)return;let t=e.doc.documentElement,r=j(t),n=e.doc.defaultView.innerWidth-t.clientWidth;r.set("overflow","hidden"),n>0&&r.set("padding-right",`${n}px`),e.lock=r}function Oo(e){let t=e.current;t?.onClose?.(),e.current=void 0,e.currentOwner=void 0,e.slot?.replaceChildren(),t?.opener&&lo(e.doc,t.opener,!1)}function Kl(e){e.dialog?.classList.remove("is-open"),ql(e),Oo(e)}function zr(e){let t=e.dialog;!t?.open||e.timer!==void 0||(t.classList.remove("is-open"),e.timer=setTimeout(()=>{e.timer=void 0,t.open&&t.close(),ql(e),Oo(e)},e.current.reducedMotion?0:e.current.duration))}function lw(e,t){let{node:r,inside:n}=e.current;return n?!n(t):!r.contains(t)&&!t.closest("button")}function pw(e){return e.offsetWidth}function mw(e){if(e.dialog)return;let t=e.doc.createElement("dialog");t.className="kui-lightbox";let r=e.doc.createElement("button");r.type="button",r.className="kui-lightbox-close",r.setAttribute("aria-label","Close viewer"),r.textContent="\xD7";let n=e.doc.createElement("div");n.className="kui-lightbox-slot",t.append(r,n),e.doc.body.append(t),r.addEventListener("click",()=>zr(e)),t.addEventListener("click",o=>{lw(e,o.target)&&zr(e)}),t.addEventListener("cancel",o=>{o.preventDefault(),zr(e)}),t.addEventListener("close",()=>Kl(e)),t.addEventListener("keydown",o=>e.current?.onKey?.(o)),e.dialog=t,e.slot=n,e.style=j(t)}function dw(e,t,r){mw(e);let n=e.dialog;e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,Oo(e),e.current=t,e.currentOwner=r,e.slot.replaceChildren(t.node),n.setAttribute("aria-label",t.label),e.style.set("--kui-lightbox-duration",`${t.duration}ms`),e.style.set("--kui-from-scale",t.scale),e.style.set("--kui-lightbox-ease",t.ease),uw(e),n.open||n.showModal(),n.scrollTop=0,pw(n),n.classList.add("is-open"),t.opener&&lo(e.doc,t.opener,!0)}function fw(e){e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,e.dialog?.open&&e.dialog.close(),Kl(e)}function gw(e,t){e.refs-=1,(e.currentOwner===t||e.refs===0)&&fw(e),!(e.refs>0)&&(e.style?.restore(),e.dialog?.remove(),Lo.delete(e.doc))}function No(e){let t=Lo.get(e);t||(t={doc:e,refs:0},Lo.set(e,t)),t.refs+=1;let r=t,n={},o=!1;return{open:i=>dw(r,i,n),dismiss:()=>zr(r),release:()=>{o||(o=!0,gw(r,n))}}}var yw="https://kuinetic.invalid/",hw=/^[\w-]{6,}$/,vw=new Set(["youtube.com","www.youtube.com","m.youtube.com"]),bw=new Set(["youtu.be","www.youtu.be"]),Ew=new Set(["vimeo.com","www.vimeo.com"]);function Ul(e,t,r){let n;return r?n=t[0]:t[0]==="watch"?n=e.searchParams.get("v"):(t[0]==="shorts"||t[0]==="embed")&&(n=t[1]),!n||!hw.test(n)?null:{kind:"youtube",embedUrl:`https://www.youtube-nocookie.com/embed/${n}?autoplay=1`,aspect:t[0]==="shorts"?"tall":"wide"}}function Sw(e){let t=e[0];return!t||!/^\d+$/.test(t)?null:{kind:"vimeo",embedUrl:`https://player.vimeo.com/video/${t}?autoplay=1`,aspect:"wide"}}function zl(e){let t;try{t=new URL(e,yw)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:")return null;let r=t.hostname.toLowerCase(),n=t.pathname.split("/").filter(Boolean);return vw.has(r)?Ul(t,n,!1):bw.has(r)?Ul(t,n,!0):Ew.has(r)?Sw(n):/\.(mp4|webm|ogg)$/i.test(t.pathname)?{kind:"file",embedUrl:e,aspect:"wide"}:null}var Do=280,$o="0.965",jo="cubic-bezier(0.22, 1, 0.36, 1)",Pw={media:{type:"keyword",default:"image",cssProperty:"--kui-lightbox-media",keywords:["image","video","mixed"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,scale:{type:"number",default:$o,cssProperty:"--kui-from-scale",finite:!0,minimum:0},duration:{type:"time",default:`${Do}ms`,cssProperty:"--kui-lightbox-duration"},ease:{type:"easing",default:jo,cssProperty:"--kui-lightbox-ease"},loop:{type:"keyword",default:"true",cssProperty:"--kui-lightbox-loop",keywords:["true","false"]},aspect:{type:"keyword",default:"",cssProperty:"--kui-lightbox-aspect",keywords:["wide","tall","square"]},caption:{type:"keyword",default:"figcaption",cssProperty:"--kui-lightbox-caption",keywords:["figcaption","alt","title","none"]},arrows:{type:"keyword",default:"bottom-right",cssProperty:"--kui-lightbox-arrows",keywords:["bottom-right","bottom-left","bottom","bottom-apart","top-right","top-left","sides"]},"arrow-gap":{type:"length",default:"",cssProperty:"--kui-lightbox-arrow-gap"}};function kw(e,t){return e.matches("a[href]")||t!=="video"&&e.matches("img")?[e]:[...e.querySelectorAll(t==="video"?":scope a[href]":":scope a[href], :scope img")]}function tp(e){return e==="video"?"video-lightbox":"lightbox"}function ww(e,t,r,n){let o=t.text("target");if(!o)return kw(e,n);let i=_(o,r,tp(n));return i?$(e,r,i,W(t,"self")):[]}function xw(e){return e instanceof HTMLImageElement?e.closest("a[href]")??e:e}function rp(e){return e instanceof HTMLImageElement?e:e.querySelector("img")}function np(e,t,r){if(r==="none")return"";let n=t?.alt??"";return r==="alt"?n:r==="title"?Tw(e,t):e.closest("figure")?.querySelector("figcaption")?.textContent?.trim()||n}function Tw(e,t){return(e.getAttribute("title")||t?.title||"").trim()}function Aw(e,t){let r=rp(e);if(!r)return null;let n=e instanceof HTMLAnchorElement?e:null;return{kind:"image",trigger:e,image:r,src:n?.href??(r.currentSrc||r.src),caption:np(e,r,t)}}function Cw(e,t){return e.title||t?.getAttribute("alt")||e.getAttribute("aria-label")?.trim()||e.textContent?.trim()||"Video"}function Rw(e,t){let r=zl(e.getAttribute("href")??"");if(!r)return null;let n=e.querySelector("img");return{kind:"video",trigger:e,source:r,title:Cw(e,n),caption:np(e,n,t)}}function _o(e,t,r){if(t!=="image"&&e instanceof HTMLAnchorElement){let n=Rw(e,r);if(n||t==="video")return n}return Aw(e,r)}function Mw(e,t){let r=new Set,n=[];for(let o of e){let i=t==="video"?o:xw(o);r.has(i)||Iw(i,t)&&(r.add(i),n.push(i))}return n}function Iw(e,t){let r=e instanceof HTMLAnchorElement;if(t==="video")return r;let n=rp(e)!==null;return t==="image"?n:r||n}function Lw(e,t){return{duration:e.timing.durationMs??e.ms("duration",Do),scale:e.text("scale",$o),ease:e.timing.easing??e.text("ease",jo),reducedMotion:t.reducedMotion}}function Ow(e,t){t.src=e.src,t.alt=e.image.alt;let r=e.image.naturalWidth?e.image.naturalHeight/e.image.naturalWidth:1;t.className=r>1.5?"is-tall":"is-fit"}function Nw(e,t,r){let n=r.createElement("div");if(n.className=`kui-lightbox-frame kui-lightbox-frame--${t||e.source.aspect}`,e.source.kind==="file"){let o=r.createElement("video");o.src=e.source.embedUrl,o.controls=!0,o.autoplay=!0,o.playsInline=!0,o.setAttribute("aria-label",e.title),n.append(o)}else{let o=r.createElement("iframe");o.src=e.source.embedUrl,o.title=e.title,o.allow="autoplay; encrypted-media; picture-in-picture; fullscreen",o.allowFullscreen=!0,n.append(o)}return n}function op(e){e.readyState>0&&e.pause()}function Yl(e){let t=e.querySelector("video");t&&(op(t),t.removeAttribute("src")),e.replaceChildren()}function _w(e,t){if(t===e.view)return;let r=t.querySelector("video");r?op(r):t.replaceChildren()}function Dw(e,t){if(t.kind==="image")return Ow(t,e.view),e.view;let r=e.players.get(t);if(r)return r.querySelector("video").play().catch(()=>{}),r;let n=Nw(t,e.aspect,e.figure.ownerDocument);return t.source.kind==="file"&&e.players.set(t,n),n}function Yr(e,t){let r=e.items[e.index];if(e.shown?.item!==r){e.shown&&_w(e,e.shown.node);let n=Dw(e,r);e.shown={item:r,node:n},e.caption.textContent=r.caption,e.caption.hidden=r.caption==="",e.figure.replaceChildren(n,e.caption)}e.counter.textContent=`${e.index+1} of ${e.items.length}`,e.previous.disabled=!e.loop&&e.index===0,e.next.disabled=!e.loop&&e.index===e.items.length-1,t&&e.figure.focus()}function Xr(e,t,r){let n=e.index+t;!e.loop&&(n<0||n>=e.items.length)||(e.index=(n+e.items.length)%e.items.length,Yr(e,r))}function Xl(e,t,r){Xr(e,t,!1),r.disabled&&r.ownerDocument.activeElement===r&&e.figure.focus()}function $w(e,t){if(!(e.items.length<2)&&!t.target.closest("video")){if(t.key==="ArrowLeft")Xr(e,-1,!0);else if(t.key==="ArrowRight")Xr(e,1,!0);else if(t.key==="Home")e.index=0,Yr(e,!0);else if(t.key==="End")e.index=e.items.length-1,Yr(e,!0);else return;t.preventDefault()}}function jw(e,t){let r=t.ownerDocument.defaultView?.visualViewport??null,n=()=>(r?.scale??1)>1.01,o=()=>{t.classList.toggle("is-swipeable",!n())};o(),r?.addEventListener("resize",o);let i=pe(t,{onSwipe(s){(s==="left"||s==="right")&&Xr(e,yo(s),!1)}},{capturePointer:"drag",accept:s=>s.pointerType!=="mouse"&&!n()&&s.target.closest("video")===null});return()=>{i(),r?.removeEventListener("resize",o)}}function Hw(e){e.view.removeAttribute("src");for(let t of e.players.values())Yl(t);e.shown&&e.shown.node!==e.view&&Yl(e.shown.node)}function Vw(e){let t=new Set(e.map(r=>r.kind));return t.size>1?{noun:"item",label:"Media viewer"}:t.has("video")?{noun:"video",label:"Video viewer"}:{noun:"image",label:"Image viewer"}}var Jl="http://www.w3.org/2000/svg";function Zl(e,t){let r=e.createElementNS(Jl,"svg");r.setAttribute("viewBox","0 0 24 24"),r.setAttribute("aria-hidden","true"),r.setAttribute("focusable","false");let n=e.createElementNS(Jl,"path");return n.setAttribute("d",t),r.append(n),r}function ip(e,t,r){let n=e[t].trigger.ownerDocument,o=n.createElement("div");o.className="kui-lightbox-gallery";let i=n.createElement("figure");i.tabIndex=-1;let s=n.createElement("img");s.decoding="async";let a=n.createElement("figcaption");o.append(i);let c=n.createElement("span");c.className="kui-lightbox-counter",c.setAttribute("aria-hidden","true");let u=n.createElement("button"),l=n.createElement("button");u.type=l.type="button",u.append(Zl(n,"M15 5l-7 7 7 7")),l.append(Zl(n,"M9 5l7 7-7 7"));let{noun:p,label:m}=Vw(e);u.setAttribute("aria-label",`Previous ${p}`),l.setAttribute("aria-label",`Next ${p}`),u.className="kui-lightbox-prev",l.className="kui-lightbox-next";let f={items:e,index:t,loop:r.loop,aspect:r.aspect,figure:i,view:s,caption:a,counter:c,previous:u,next:l,players:new Map};if(e.length>1){let k=n.createElement("div");k.className=`kui-lightbox-nav kui-lightbox-nav--${r.arrows}`,r.arrowGap&&k.style.setProperty("--kui-lightbox-arrow-gap",r.arrowGap),k.append(u,l),o.append(k,c),u.addEventListener("click",()=>Xl(f,-1,u)),l.addEventListener("click",()=>Xl(f,1,l))}Yr(f,!1);let d=e.length>1?jw(f,o):void 0,{duration:g,scale:h,ease:v,reducedMotion:E}=r;return{duration:g,scale:h,ease:v,reducedMotion:E,node:o,label:m,inside:k=>o.contains(k)&&k.closest("img, video, iframe, button, .kui-lightbox-nav")!==null,onClose:()=>{d?.(),Hw(f)},onKey:k=>$w(f,k)}}function sp(e){return e.button===0&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}function Ql(e,t,r){let n=[],o=-1;for(let i of e){let s=_o(i,r.media,r.captionSource);s&&(i===t&&(o=n.length),n.push(s))}if(o<0){let i=t.getAttribute("href")??"";return r.warned.has(i)||r.ctx.warn(`${tp(r.media)} cannot embed "${i}"; the link will navigate normally`),r.warned.add(i),!1}return r.shell.open({...ip(n,o,r.options),opener:t}),!0}function Fw(e,t){let r=[];for(let n of e){if(n instanceof HTMLImageElement){let i=x(n);i.set("role","button"),i.set("tabindex","0"),i.set("aria-label",n.alt?`Open larger image: ${n.alt}`:"Open larger image"),r.push(()=>i.restore()),n.addEventListener("keydown",s=>{s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),Ql(e,n,t))},{signal:t.signal})}n.addEventListener("click",i=>{sp(i)&&Ql(e,n,t)&&i.preventDefault()},{signal:t.signal})}return r}function Gw(e){let t=e.matches("a[href]")?e:e.querySelector("a[href]");return t&&_o(t,"mixed","figcaption")||_o(e,"mixed","figcaption")}var ep="button, input, select, textarea, label, summary, [contenteditable]";function ap(e){let{host:t,cards:r,doc:n,reducedMotion:o}=e,i=No(n),s={duration:Do,scale:$o,ease:jo,reducedMotion:o,loop:!0,aspect:"",arrows:"bottom-right",arrowGap:""},a=d=>d.getAttribute("data-kui-ring-face")==="back",c=(d,g=!1)=>{let h=[...r()],v=h.find(d);if(!v||!g&&a(v))return!1;let E=[],k=-1;for(let C of h){let F=Gw(C);F&&(C===v&&(k=E.length),E.push(F))}return k<0?!1:(i.open({...ip(E,k,s),opener:v}),!0)},u=null,l=d=>{let g=[...r()],h=typeof n.elementsFromPoint=="function"?n.elementsFromPoint(d.clientX,d.clientY):[];for(let v of[...h,d.target]){let E=g.find(k=>k.contains(v));if(E)return a(E)?null:{card:E,node:v}}return null},p=d=>{u=d.button===0?l(d):null},m=d=>{let g=d.detail>0?u:null;u=null;let h=d.target;if(d.defaultPrevented||!sp(d)||h.closest(ep)||g?.node.closest(ep))return;(g?c(E=>E===g.card,!0):c(E=>E.contains(h)))&&d.preventDefault()},f=d=>{let g=d.key;d.target!==t||g!=="Enter"&&g!==" "||c(h=>h.getAttribute(po)==="active")&&d.preventDefault()};return t.addEventListener("pointerdown",p),t.addEventListener("click",m),t.addEventListener("keydown",f),()=>{t.removeEventListener("pointerdown",p),t.removeEventListener("click",m),t.removeEventListener("keydown",f),i.release()}}function Bw(e,t,r){let n=t.text("media","image"),o=Mw(ww(e,t,r,n),n);if(o.length===0)return()=>{};let i=new AbortController,s=No(r.doc),a={...Lw(t,r),loop:t.is("loop"),aspect:t.text("aspect"),arrows:t.text("arrows","bottom-right"),arrowGap:t.text("arrow-gap")},c=Fw(o,{shell:s,options:a,signal:i.signal,media:n,captionSource:t.text("caption","figcaption"),ctx:r,warned:new Set});return I(()=>{i.abort();for(let u of c)u();s.release()})}var Ww="lightbox:triggers",cp=ee("lightbox",{channels:[Ww],parameters:Pw,perfClass:"paint"},R("lightbox",{honours:["duration","ease"],because:"the dialog opens immediately, so it has no delay phase"},P(Bw))),up=[{name:"lightbox",primitive:"lightbox",params:{media:"image"}},{name:"video-lightbox",primitive:"lightbox",params:{media:"video",caption:"none"}}];var qw=["x","y"],lp="data-kui-compare-axis",pp="data-kui-compare-dividers",Kw={position:{type:"percentage",default:"50%",cssProperty:"--kui-compare"},positions:{type:"text",default:"",cssProperty:"--kui-compare-positions"},axis:{type:"keyword",default:"x",cssProperty:"--kui-compare-axis",keywords:[...qw]},autoplay:{type:"keyword",default:"never",cssProperty:"--kui-compare-autoplay",keywords:["never","in-view","always"]},duration:{type:"time",default:"3s",cssProperty:"--kui-compare-duration"},reverse:{type:"keyword",default:"false",cssProperty:"--kui-compare-reverse",keywords:["true","false"]},loop:{type:"keyword",default:"false",cssProperty:"--kui-compare-loop",keywords:["true","false"]}},Jr=250,Uw=100,zw={ArrowUp:-1,ArrowDown:1};function Zr(e,t){return(e.localName==="picture"?e.querySelector("img")?.getAttribute("alt"):e.getAttribute("alt"))?.trim()||e.getAttribute("aria-label")?.trim()||e.getAttribute("title")?.trim()||t}function Yw(e,t){let r=e.getAttribute("aria-label")?.trim();if(r)return r;let n=t[0],o=t[1];return n&&o?`Compare: ${Zr(n,"Before")} / ${Zr(o,"After")}`:"Compare"}function mp(e,t,r,n){let o=e.createElement("input");return o.type="range",o.className="kui-compare-range",o.min="0",o.max="100",o.step="1",o.value=String(r),o.setAttribute("aria-label",t.name),o.setAttribute("aria-valuetext",t.valueText),n==="y"&&o.setAttribute("aria-orientation","vertical"),o}function dp(e){let t=e.createElement("span");return t.className="kui-compare-handle",t.setAttribute("aria-hidden","true"),t}function fp(e,t,r){return n=>{let o=zw[n.key];t!=="y"||o===void 0||(n.preventDefault(),o<0?e.stepDown():e.stepUp(),r())}}function Xw(e){return 50-50*Math.cos(Math.PI*e/100)}function Jw(e,t){let r=100/Math.PI*Math.acos(1-e/50);return t?200-r:r}function Zw(e,t){let r=e.timing.durationMs??e.ms("duration",3e3);return r>=Jr?r:(t.warn(`compare duration: minimum is ${Jr}ms; clamped to ${Jr}ms`),Jr)}function gp(e){let{host:t,grab:r,ctx:n,mode:o,loop:i}=e;if(o==="never"||n.reducedMotion)return()=>{};let s=tx(e,()=>c()),a=null;(o==="in-view"||i)&&(a=ex(n.win,t,s.setOnscreen));let c=()=>{s.stop(),a?.disconnect(),a=null;for(let u of r)u.removeEventListener("pointerdown",c),u.removeEventListener("focus",c)};for(let u of r)u.addEventListener("pointerdown",c),u.addEventListener("focus",c);return s.setOnscreen(o==="always"||a===null),c}function Qw(e){let{write:t,homes:r,bounds:n,durationMs:o,reverse:i,loop:s}=e,a=r.map((f,d)=>d);i&&a.reverse();let c=2*o,u=c*a.length,l=r.map((f,d)=>{let[g,h]=n[d];return h>g?Jw(100*(f-g)/(h-g),i):0}),p=f=>t(a[f],r[a[f]]),m=0;return{show(f){if(!s&&f>=u)return p(m),!1;let d=f%u,g=Math.floor(d/c);g!==m&&p(m),m=g;let h=a[m],[v,E]=n[h],k=l[h]+100*(d-m*c)/o;return t(h,v+(E-v)*Xw(k)/100),!0}}}function ex(e,t,r){let n=e.IntersectionObserver;if(!n)return null;let o=new n(i=>{for(let s of i)r(s.isIntersecting)});return o.observe(t),o}function tx(e,t){let r=e.ctx.win,n=Qw(e),o=0,i=null,s=0,a=!1,c=!1,u=()=>{let p=!a&&c;p&&s===0?(i=null,s=r.requestAnimationFrame(l)):!p&&s!==0&&(r.cancelAnimationFrame(s),s=0)};function l(p){s=0,i!==null&&(o+=Math.min(p-i,Uw)),i=p,n.show(o)?s=r.requestAnimationFrame(l):t()}return{setOnscreen(p){c=p,u()},stop(){a=!0,u()}}}function rx({el:e,media:t,params:r,ctx:n,axis:o,timing:i}){let s=Math.round(r.num("position",.5)*100),a=j(e);a.set("--kui-compare",r.text("position","50%"));let c=e.ownerDocument,u=mp(c,{name:Yw(e,t),valueText:`${s}% after`},s,o),l=dp(c),p=()=>{let g=u.value;a.set("--kui-compare",`${g}%`),u.setAttribute("aria-valuetext",`${g}% after`)},m=(g,h)=>{u.value=String(Math.round(h)),a.set("--kui-compare",`${Number(h.toFixed(3))}%`),u.setAttribute("aria-valuetext",`${u.value}% after`)},f=fp(u,o,p);u.addEventListener("input",p),u.addEventListener("keydown",f),e.appendChild(u),e.appendChild(l);let d=gp({...i,host:e,grab:[u],ctx:n,write:m,homes:[r.num("position",.5)*100],bounds:[[0,100]]});return()=>{d(),u.removeEventListener("input",p),u.removeEventListener("keydown",f),u.remove(),l.remove(),a.restore()}}var nx=/^(\d+(?:\.\d+)?)%$/;function ox(e,t,r){let n=Array.from({length:t},(u,l)=>Math.round(100*(l+1)/(t+1)));if(e.trim()==="")return n;let o=e.trim().split(/\s+/),i=o.map(u=>nx.exec(u)?.[1]),s=i.map(Number);if(o.length===t&&i.every(u=>u!==void 0)&&s.every((u,l)=>u<=100&&(l===0||u>=s[l-1])))return s.map(Math.round);let c=n.map(u=>String(u)+"%").join(" ");return r(`compare positions: expected ${t} ascending percentages between 0% and 100% for ${t+1} media (e.g. positions:'${c}'); using an even split`),n}function ix({el:e,media:t,params:r,ctx:n,axis:o,timing:i}){r.text("position","50%")!=="50%"&&n.warn(`compare position: sets the one divider of two media; with ${t.length}, use positions:`);let s=ox(r.text("positions",""),t.length-1,n.warn),a=[...s],c=x(e);c.set(pp,String(a.length));let u=ax(e,t,o,s),l=ux(e,o,u),p=gp({...i,host:e,grab:[l.node,...u.ranges],ctx:n,write:u.render,homes:a,bounds:a.map((m,f)=>Ho(a,f))});return()=>{p(),l.destroy(),u.destroy(),c.restore()}}function Ho(e,t){return[t>0?e[t-1]:0,t<e.length-1?e[t+1]:100]}function sx(e,t,r){let n=t.length-1,o=e.getAttribute("aria-label")?.trim();if(o)return`${o}: divider ${r+1} of ${n}`;let i=Zr(t[r],`Image ${r+1}`),s=Zr(t[r+1],`Image ${r+2}`);return`Divider ${r+1} of ${n}: ${i} / ${s}`}function ax(e,t,r,n){let o=e.ownerDocument,i=n.length,s=r==="y"?"inset(var(--kui-compare) 0 0 0)":"inset(0 0 0 var(--kui-compare))",a=t.slice(1).map(m=>j(m));for(let m of a)m.set("clip-path",s);let c=[],u=[],l=[],p=(m,f)=>{n[m]=Math.round(f);let d=`${Number(f.toFixed(3))}%`;u[m].style.setProperty("--kui-compare",d),a[m].set("--kui-compare",d),c[m].value=String(n[m]),c[m].setAttribute("aria-valuetext",`${n[m]}%`),m>0&&(c[m-1].max=String(n[m])),m<i-1&&(c[m+1].min=String(n[m]))};for(let m=0;m<i;m++){let f=mp(o,{name:sx(e,t,m),valueText:`${n[m]}%`},n[m],r),d=dp(o);c.push(f),u.push(d),e.append(f,d);let g=()=>p(m,Number(f.value)),h=fp(f,r,g);f.addEventListener("input",g),f.addEventListener("keydown",h),l.push(()=>{f.removeEventListener("input",g),f.removeEventListener("keydown",h)})}for(let m=0;m<i;m++){let[f,d]=Ho(n,m);c[m].min=String(f),c[m].max=String(d),p(m,n[m])}return{ranges:c,render:p,moveTo(m,f){let[d,g]=Ho(n,m);p(m,Math.min(g,Math.max(d,f)))},nearest:m=>cx(n,m),destroy(){for(let m of l)m();for(let m of[...c,...u])m.remove();for(let m of a)m.restore()}}}function cx(e,t){let r=0;for(let n=1;n<e.length;n++){let o=Math.abs(e[n]-t),i=Math.abs(e[r]-t);(o<i||o===i&&t>=e[n])&&(r=n)}return r}function ux(e,t,r){let n=e.ownerDocument.createElement("div");n.className="kui-compare-surface",n.setAttribute("aria-hidden","true"),e.appendChild(n);let o=-1,i=null,s=m=>{let f=e.getBoundingClientRect(),d=t==="y"?m.clientY-f.top:m.clientX-f.left,g=t==="y"?f.height:f.width;return g>0?100*d/g:0},a=m=>{if(m.button>0||i!==null)return;i=m.pointerId;let f=s(m);o=r.nearest(f),m.preventDefault(),n.setPointerCapture?.(m.pointerId),r.ranges[o].focus({preventScroll:!0}),r.moveTo(o,f)},c=m=>{o>=0&&m.pointerId===i&&r.moveTo(o,s(m))},u=m=>{m.pointerId===i&&(o=-1,i=null)},p=[["pointerdown",a],["pointermove",c],["pointerup",u],["pointercancel",u],["lostpointercapture",m=>{m.target===n&&u(m)}]];for(let[m,f]of p)n.addEventListener(m,f);return{node:n,destroy(){for(let[m,f]of p)n.removeEventListener(m,f);n.remove()}}}function lx(e,t,r){let n=Array.from(e.querySelectorAll(":scope > :is(img, picture, video)"));n.length<2&&r.warn("compare requires at least two media children (img, picture, or video)");let o=t.text("axis","x"),i=x(e);i.set(lp,o);let a=(n.length>2?ix:rx)({el:e,media:n,params:t,ctx:r,axis:o,timing:{mode:t.text("autoplay","never"),durationMs:Zw(t,r),reverse:t.is("reverse"),loop:t.is("loop")}});return I(()=>{a(),i.restore()})}var yp=ee("compare",{channels:[D,A(lp),A(pp)],parameters:Kw,perfClass:"paint"},R("compare",{honours:["duration"],because:"its only motion is the autoplay: sweep, which starts on autoplay: rather than after a delay and eases into each edge on its own curve"},P(lx))),hp=[{name:"compare",primitive:"compare",requiresOwnSubtree:!0}];var px=["number","dot"],mx={target:{type:"text",default:"",cssProperty:"--kui-target"},marker:{type:"keyword",default:"number",keywords:[...px],cssProperty:"--kui-hotspot-marker"},scope:U},dx=0,fx=0;function gx(e,t,r){let o=e.querySelector("strong, h1, h2, h3, h4, h5, h6")?.textContent?.trim();return o?r==="number"?`${t+1}: ${o}`:o:`Note ${t+1}`}function yx(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 hx(e,t,r){let n=t.ownerDocument.defaultView??window,o=8,i=(a,c,u)=>Math.max(o,Math.min(a,Math.max(o,u-c-o))),s=a=>{if(!yx(t,a))return;let c=e.getBoundingClientRect(),u=t.getBoundingClientRect(),l=c.top-u.height-o,p=l>=o?l:c.bottom+o,f=c.left+c.width/2-u.width/2;r.set("position","fixed"),r.set("inset","auto"),r.set("top",`${i(p,u.height,n.innerHeight)}px`),r.set("left",`${i(f,u.width,n.innerWidth)}px`),r.set("translate","0 0"),r.set("margin","0")};return t.addEventListener("toggle",s),()=>t.removeEventListener("toggle",s)}function vx(e,t){let r=`--kui-anchor-${++fx}`;e.set("anchor-name",r),t.set("position-anchor",r),t.set("position-area","top"),t.set("position-try-fallbacks","flip-block")}function bx(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("position-area: top")}function Ex(e,t){let r=t.getComputedStyle(e),n=e.style,o=r.getPropertyValue("--kui-x").trim(),i=r.getPropertyValue("--kui-y").trim(),s=o||n.getPropertyValue("--kui-x").trim(),a=i||n.getPropertyValue("--kui-y").trim();return{x:s,y:a}}function Sx(e){let t=e.getAttribute("id"),r=t||`kui-hotspot-note-${++dx}`,n=x(e);return t||n.set("id",r),n.set("popover","auto"),{noteId:r,noteAttrs:n}}function Px(e){let{doc:t,noteId:r,label:n,marker:o,index:i,coords:s}=e,a=t.createElement("button");a.type="button",a.className="kui-hotspot",a.setAttribute("aria-label",n),a.setAttribute("popovertarget",r),o==="number"&&(a.textContent=String(i+1));let c=j(a);return s.x&&c.set("--kui-x",s.x),s.y&&c.set("--kui-y",s.y),{button:a,buttonStyle:c}}function kx(e,t,r){let{el:n,marker:o,ctx:i}=r,s=i.doc.defaultView??window,a=Ex(e,s);(!a.x||!a.y)&&i.warn("hotspots note is missing --kui-x or --kui-y position");let{noteId:c,noteAttrs:u}=Sx(e),l=gx(e,t,o),{button:p,buttonStyle:m}=Px({doc:n.ownerDocument,noteId:c,label:l,marker:o,index:t,coords:a}),f=j(e),d;return bx()?vx(m,f):d=hx(p,e,f),{button:p,teardown:()=>{d?.(),f.restore(),u.restore(),m.restore(),p.remove()}}}function wx(e,t,r){let o=t.text("target")||":scope > :is(ol, ul) > li",i=_(o,r,"hotspots"),s=W(t,"self"),a=i?$(e,r,i,s):[],c=t.text("marker","number"),u=x(e);u.set("data-kui-hotspot-marker",c);let l=a.map((p,m)=>kx(p,m,{el:e,marker:c,ctx:r}));for(let p of l)e.appendChild(p.button);return I(()=>{for(let p of l)p.teardown();u.restore()})}var vp=ee("hotspots",{channels:[D,A("data-kui-hotspot-marker")],parameters:mx,perfClass:"layout"},R("hotspots",{because:"it places interactive hotspot markers and binds popovers; there is no motion to time"},P(wx))),bp=[{name:"hotspots",primitive:"hotspots",requiresOwnSubtree:!0}];var xx="data-kui-slideshow-list",Ep="data-kui-slideshow-mode",Tx=["auto","dots","arrows","none"],Ax={target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},controls:{type:"keyword",default:"auto",cssProperty:"--kui-slideshow-controls",keywords:[...Tx]},autoplay:{type:"time",default:"0s",cssProperty:"--kui-slideshow-autoplay"},transition:{type:"keyword",default:"fade",cssProperty:"--kui-slideshow-transition",keywords:["fade","slide"]},swipe:{type:"keyword",default:"true",cssProperty:"--kui-slideshow-swipe",keywords:["true","false"]},mute:{type:"text",default:"",cssProperty:"--kui-slideshow-mute"},duration:{type:"time",default:"500ms",cssProperty:"--kui-slideshow-duration"},ease:{type:"easing",default:"ease",cssProperty:"--kui-slideshow-ease"}};function Qr(e,t){let r=e.createElement("button");return r.type="button",r.setAttribute("aria-label",t),r}function Cx(e,t){if(t!=="auto"&&t!=="arrows")return{previous:null,next:null};let r=Qr(e.ownerDocument,"Previous slide"),n=Qr(e.ownerDocument,"Next slide");return e.append(r,n),{previous:r,next:n}}function Rx(e,t,r){return r!=="auto"&&r!=="dots"?[]:t.map((n,o)=>{let i=Qr(e.ownerDocument,`Go to slide ${o+1} of ${t.length}`);return i.className="kui-slideshow-dot",e.appendChild(i),i})}function Mx(e,t,r,n){if(r==="none")return{root:null,pause:null,previous:null,next:null,dots:[]};let o=e.ownerDocument.createElement("div");o.className="kui-slideshow-controls";let i=n?Qr(e.ownerDocument,"Pause slideshow"):null;i&&o.appendChild(i);let{previous:s,next:a}=Cx(o,r),c=Rx(o,t,r),u=t[0]?.parentElement;return u?.parentElement?.isSameNode(e)?u.after(o):e.appendChild(o),{root:o,pause:i,previous:s,next:a,dots:c}}function Ix(e,t,r){let n=x(e);return e.hasAttribute("role")||n.set("role","region"),e.hasAttribute("aria-roledescription")||n.set("aria-roledescription","carousel"),!e.hasAttribute("aria-label")&&!e.hasAttribute("aria-labelledby")&&t.warn("slideshow needs an aria-label or aria-labelledby on its host"),n.set(Ep,r),n}function Lx(e,t,r,n){let o=Ix(e,r,n),i=t[0].parentElement,s=x(i);s.set(xx,"");let a=t.map((c,u)=>{let l=x(c);return c.hasAttribute("role")||l.set("role","group"),c.hasAttribute("aria-roledescription")||l.set("aria-roledescription","slide"),c.hasAttribute("aria-label")||l.set("aria-label",`${u+1} of ${t.length}`),l});return{host:o,list:s,slides:a,liveList:i}}function Ox(e,t,r,n){e.forEach((o,i)=>{let s=t[i];i===n?s.remove("inert"):s.set("inert","")}),r.dots.forEach((o,i)=>{i===n?o.setAttribute("aria-current","true"):o.removeAttribute("aria-current"),o.tabIndex=i===n?0:-1})}function Nx(e,t){let r=()=>t.prev(),n=()=>t.next();e.previous?.addEventListener("click",r),e.next?.addEventListener("click",n);let o=e.dots.map((s,a)=>{let c=()=>t.goTo(a);return s.addEventListener("click",c),c}),i=s=>{if(e.dots.includes(s.target)){if(s.key==="ArrowRight")t.next();else if(s.key==="ArrowLeft")t.prev();else return;s.preventDefault(),e.dots[t.current()]?.focus()}};return e.root?.addEventListener("keydown",i),()=>{e.previous?.removeEventListener("click",r),e.next?.removeEventListener("click",n),e.dots.forEach((s,a)=>s.removeEventListener("click",o[a])),e.root?.removeEventListener("keydown",i)}}function _x(e){let{el:t,params:r,ctx:n,index:o,slides:i}=e,s=()=>{},a=_(r.text("mute"),n,"slideshow mute");if(!a)return{release:s,render:s};let c=$(t,n,a,"self").filter(d=>d.localName==="button");if(c.length===0)return n.warn("slideshow mute: must select a button inside the host"),{release:s,render:s};let u=c.map(d=>x(d)),l=new Map,p=()=>{let d=i[o.current()]?.querySelector("video"),g=d?.localName==="video"&&d.muted;for(let h of u)h.set("aria-pressed",String(g)),h.set("aria-label",g?"Unmute video":"Mute video")},m=()=>{let d=i[o.current()]?.querySelector("video");if(d?.localName!=="video")return;let g=d;l.has(g)||l.set(g,g.muted),g.muted=!g.muted,p()};for(let d of c)d.addEventListener("click",m);return p(),{release:()=>{for(let d of c)d.removeEventListener("click",m);for(let[d,g]of l)d.muted=g;for(let d of u)d.restore()},render:p}}function Dx(e){let{el:t,ctx:r,index:n,controls:o,liveList:i,interval:s}=e,a=x(i);if(s===0)return a.set("aria-live","polite"),()=>a.restore();let c=o.pause,u=x(c),l=r.reducedMotion,p=!1,m=!1,f=null,d=()=>!l&&!p&&!m&&!r.doc.hidden,g=()=>{f!==null&&clearTimeout(f),f=null,a.set("aria-live",d()?"off":"polite"),u.set("aria-pressed",String(l)),u.set("aria-label",l?"Play slideshow":"Pause slideshow"),d()&&(f=setTimeout(()=>{n.next(),g()},s))},h=()=>{p=!0,g()},v=()=>{p=!1,g()},E=()=>{m=!0,g()},k=()=>{m=t.contains(r.doc.activeElement),g()},C=()=>{l=!l,g()};return t.addEventListener("pointerenter",h),t.addEventListener("pointerleave",v),t.addEventListener("focusin",E),t.addEventListener("focusout",k),r.doc.addEventListener("visibilitychange",g),c.addEventListener("click",C),g(),()=>{f!==null&&clearTimeout(f),t.removeEventListener("pointerenter",h),t.removeEventListener("pointerleave",v),t.removeEventListener("focusin",E),t.removeEventListener("focusout",k),r.doc.removeEventListener("visibilitychange",g),c.removeEventListener("click",C),u.restore(),a.restore()}}function $x(e,t,r){let n=e.ms("autoplay",0),o=n>0?Math.max(2e3,n):0;return n>0&&n<2e3&&t.warn("slideshow autoplay: minimum is 2s; clamped to 2s"),r==="none"&&o>0&&t.warn("slideshow autoplay needs a pause control; autoplay is disabled with authored or hidden controls"),r==="none"?0:o}function jx(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 Hx(e,t,r){return t.text("swipe","true")!=="true"?()=>{}:pe(e,{onSwipe:n=>{n==="left"&&r.next(),n==="right"&&r.prev()}},{axis:"x",capturePointer:"drag"})}function Vx(e,t,r){let n=_(t.text("target")||":scope > :is(ul, ol) > li",r,"slideshow"),o=W(t,"self"),i=()=>n?$(e,r,n,o):[],s=i();if(s.length===0)return r.warn("slideshow target matched no slides"),I(()=>{});let a=s[0].parentElement;if(!a||a===e||!e.contains(a)||s.some(k=>k.parentElement!==a))return r.warn("slideshow slides must share one list inside the host"),I(()=>{});let u=["next","prev","jump"].some(k=>t.text(k)!=="")?"none":t.text("controls","auto"),l=$x(t,r,u),p=Lx(e,s,r,t.text("transition","fade")),m=Mx(e,s,u,l>0);jx(t,r);let f=()=>{},d=Nr({el:e,params:t,ctx:r,resolveSteps:i,name:"slideshow",clickFallback:!1,onRender:k=>{Ox(s,p.slides,m,k),f()}}),g=Nx(m,d),h=Hx(e,t,d),v=_x({el:e,params:t,ctx:r,index:d,slides:s});f=v.render;let E=Dx({el:e,ctx:r,index:d,controls:m,liveList:p.liveList,interval:l});return I(()=>{E(),v.release(),h(),g(),d.release(),m.root?.remove(),p.slides.forEach(k=>k.restore()),p.list.restore(),p.host.restore()})}var Sp=ee("slideshow",{channels:[D,A("data-kui-step"),A(Ep),A("role"),A("aria-roledescription")],parameters:Ax,perfClass:"layout"},R("slideshow",{honours:["duration","ease"],because:"the slideshow has no delayed start"},P(Vx))),Pp=[{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 kp="data-kui-story-side",Fx={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 wp(e){return e.localName==="video"?e:e.querySelector("video")}function Gx(e){return e.hasAttribute("autoplay")||e.hasAttribute("loop")}function xp(e){let t=e.play();t&&typeof t.catch=="function"&&t.catch(()=>{})}function Bx(e,t,r){e.forEach((n,o)=>{let i=wp(n);if(i){if(o!==t||r){i.pause();return}Gx(i)&&xp(i)}})}function Wx(e){let t=new Map;for(let r of e){let n=wp(r);n&&t.set(n,!n.paused)}return t}function qx(e){for(let[t,r]of e)r?xp(t):t.pause()}function Kx(e,t,r){let n=t.IntersectionObserver;if(!n)return{observed:!1,stop:()=>{}};let o=new n(i=>{let s=i[i.length-1];s&&r(s.isIntersecting)},{threshold:0});return o.observe(e),{observed:!0,stop:()=>o.disconnect()}}function Ux(e,t,r){let n=Wx(t),o=0,i=!1,s=!1,a=()=>Bx(t,o,r.reducedMotion||!i),c=Kx(e,r.win,u=>{u!==i&&(i=u,s&&a())});return c.observed||(i=!0),{show(u){o=u,s=!0,a()},restore(){c.stop(),qx(n)}}}function zx(e,t,r){let n=_(t.text("target")||":scope > :first-child > *",r,"scroll-story"),o=_(t.text("sections")||":scope > :last-child > *",r,"scroll-story sections"),i=n?$(e,r,n,"self"):[],s=o?$(e,r,o,"self"):[];return{media:i,sections:s}}function Yx(e,t,r){let{media:n,sections:o}=zx(e,t,r);if(n.length===0)return r.warn("scroll-story target matched no media"),I(()=>{});if(o.length===0)return r.warn("scroll-story sections matched no elements"),I(()=>{});let i=x(e),s=j(e),a=t.text("side","end");i.set(kp,a);let c=be(()=>[...n,...o],d=>r.warn(`scroll-story ${d}`)),u=Ux(e,n,r),l=-1;function p(d){let g=d===-1?0:d;g!==l&&(l=g,i.set("data-kui-step",String(g)),s.set("--kui-step",String(g)),c.mark(g),u.show(g))}p(0);let m=t.text("offset-top","50vh"),f=Fr({el:e,sections:o,ctx:r,offsetTop:m,onChange:d=>p(d)});return I(()=>{f(),u.restore(),c.restore(),i.restore(),s.restore()})}var Tp=ee("scroll-story",{channels:[D,A("data-kui-step"),A(kp)],parameters:Fx,perfClass:"layout"},R("scroll-story",{because:"scroll position"},P(Yx))),Ap=[{name:"scroll-story",primitive:"scroll-story",phase:"idle",requiresOwnSubtree:!0}];var Xx={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 Cp(e,t=!1){let r=e.getAnimations;return typeof r=="function"?r.call(e,{subtree:t}):[]}function Jx(e,t){return e.timeline===t.timeline}function Zx(e,t,r){let n=e.playbackRate;Math.abs(Math.abs(n)-r)>1e-9||(e.playbackRate=Math.sign(n)*Math.abs(t))}function Qx(e){let t=new Map;return{slow(r,n){for(let o of r)Jx(o,e)&&(t.has(o)||t.set(o,o.playbackRate),o.playbackRate=Math.sign(o.playbackRate||1)*n)},restore(r){for(let[n,o]of t)Zx(n,o,r);t.clear()}}}function eT(e,t,r){let n=e.effect;return!n||n.target!==t?!1:(n.pseudoElement??"")===r}function tT(e){let t=e.target,r=e,n=e.type==="animationstart",o=n?"animationName":"transitionProperty",i=n?r.animationName:r.propertyName,s=r.pseudoElement??"";return Cp(t,!0).filter(a=>eT(a,t,s)&&a[o]===i)}function rT(e,t){let r=x(e),n=t.num("rate",.25),o=t.text("controls","button"),i=o==="button"?e.ownerDocument.createElement("button"):null,s=o==="none",a=Qx(e.ownerDocument),c=()=>{s?r.set(Qe,String(n)):r.remove(Qe),i&&i.setAttribute("aria-pressed",String(s)),s?a.slow(Cp(e,!0),n):a.restore(n)},u=()=>{s=!s,c()},l=p=>{s&&a.slow(tT(p),n)};return i&&(i.type="button",i.className="kui-slowmo-toggle",i.textContent=`Slow motion ${n}\xD7`,i.setAttribute("aria-pressed","false"),e.prepend(i),i.addEventListener("click",u)),e.addEventListener("animationstart",l,!0),e.addEventListener("transitionrun",l,!0),s&&c(),I(()=>{e.removeEventListener("animationstart",l,!0),e.removeEventListener("transitionrun",l,!0),i?.removeEventListener("click",u),a.restore(n),r.restore(),i?.remove()})}var Rp=ee("slow-mo",{channels:[D,A(Qe)],parameters:Xx,perfClass:"compositor"},R("slow-mo",{because:"it changes playback rate rather than defining an animation timeline"},P(rT))),Mp=[{name:"slow-mo",primitive:"slow-mo"}];var nT=[Bl,cp,yp,vp,Sp,Tp,Rp],oT=[...Wl,...up,...hp,...bp,...Pp,...Ap,...Mp];function Ip(e){return pu(ap),Fl(e,nT,oT,"Showcase")}function Ue(){let e=new Ce;return co(e),Ju(e),Gu(e),al(e),Bu(e),_u(e),ll(e),xl(e),lu(e),Wu(e),Cu(e),Nl(e),jl(e),Ip(e),e}function Lp(e={}){return new Ge({registry:Ue(),...e})}var iT=Lp,Vo;function sT(e,t={}){return kt(t.registry??(Vo??=Ue()),e,t.notes)}function aT(e,t={}){return pr(t.registry??(Vo??=Ue()),e,t.notes)}function cT(e,t={}){return mr(t.registry??(Vo??=Ue()),e,t.notes)}return jp(uT);})();
2
2
 
3
3
  ;(function () {
4
4
  "use strict";var __kuineticBoot=(()=>{var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var O=(e,n)=>{for(var t in n)l(e,t,{get:n[t],enumerable:!0})},A=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of R(n))!y.call(e,o)&&o!==t&&l(e,o,{get:()=>n[o],enumerable:!(r=v(n,o))||r.enumerable});return e};var L=e=>A(l({},"__esModule",{value:!0}),e);var j={};O(j,{boot:()=>_});var m="__kuineticRuntime";function d(){return globalThis}function N(){let e=d(),n=e[m];if(n)return n;let t={v:1,animator:null,pending:[],booted:!1,started:!1,manual:!1,scheduled:!1,warnedVersion:!1,warnedManual:!1};return e[m]=t,t}function C(){let e=document.currentScript;return!!e&&e.hasAttribute("data-kui-manual")}function c(e){typeof console<"u"&&typeof console.warn=="function"&&console.warn(`kuinetic: ${e}`)}function M(e,n){e.v===1||e.warnedVersion||(e.warnedVersion=!0,c(`the "${n}" bundle expects runtime v1 but found v${e.v} on this page \u2014 the bundles are from different releases. Serve them all from the same version.`))}function k(e,n,t){if(!t)return;let r=d();if(!(t in r))return;let o=n,a=n.kuinetic,i={};for(let u of Object.getOwnPropertyNames(o))i[u]=o[u];let s=u=>S(e,a,n,u);i.kuinetic=s,o.default===a&&(i.default=s);try{r[t]=i}catch{}}function S(e,n,t,r){let o=!r||Object.entries(r).every(([i,s])=>i==="observe"&&s===!0);if(e.manual){let i=n.call(t,r);return B(e,i),i}if(!e.started){let i=n.call(t,r);return g(e,i),o&&f(e,"yours is now the one this page uses, exactly as it would have been before the script tag started one, so the call is safe to delete"),i}let a=e.animator;return a&&o?(f(e,"you have been handed the one it already made, so this call is safe to delete"),a):(f(e,"a second animator is now observing the same document, because this call arrived after the page was scanned and named its own root/registry/reporter"),n.call(t,r))}function f(e,n){e.warnedManual||(e.warnedManual=!0,c(`an animator was created by hand, and the script tag had already started one \u2014 ${n}. To turn the auto-start off entirely, put data-kui-manual on the <script> tag.`))}function g(e,n){let t=n.start.bind(n);n.start=()=>(e.started=!0,t()),e.animator=n,d().__kuinetic=n}function B(e,n){e.animator||g(e,n);let t={animator:n,started:!1},r=e.handBuilt??=[];r.push(t);let o=n.start.bind(n);if(n.start=()=>(t.started=!0,o()),typeof n.destroy=="function"){let a=n.destroy.bind(n);n.destroy=()=>{let i=r.indexOf(t);return i>=0&&r.splice(i,1),a()}}for(let a of e.pending)p(a,n)}function p(e,n){try{e.register(n)}catch(t){c(`the "${e.tier}" tier failed to register: ${String(t)}`)}}function E(e,n){e.pending.push(n);for(let{animator:t,started:r}of[...e.handBuilt??[]])p(n,t),r&&w(t)}function b(e,n){g(e,n.kuinetic({observe:!0}))}function T(e){if(document.readyState!=="loading"){h(e);return}e.scheduled||(e.scheduled=!0,document.addEventListener("DOMContentLoaded",()=>h(e),{once:!0}))}function w(e){for(let n of document.querySelectorAll("[data-kui]"))e.reset(n);e.scan()}function V(){let e=d().kuinetic;return e&&typeof e.kuinetic=="function"?e:null}function $(e){let n=e.pending.map(t=>`"${t.tier}"`).join(", ");n&&c(`the ${n} tier bundle loaded but core did not \u2014 add <script src=".../kuinetic.min.js"><\/script> to the page (in any order).`)}function x(e,n){let t=e.pending.splice(0,e.pending.length);for(let r of t)p(r,n);return t.length}function h(e){if(e.manual)return;if(!e.animator){let r=V();r&&b(e,r)}let n=e.animator;if(!n){$(e);return}let t=x(e,n);if(e.booted=!0,!e.started){n.start();return}t&&w(n)}function I(e,n){if(n.core){if(e.animator)return;b(e,n.core),k(e,n.core,n.globalName);return}n.register&&e.pending.push({tier:n.tier,register:n.register})}function _(e){if(typeof document>"u"||typeof globalThis>"u")return;let n=N();if(M(n,e.tier),C()){e.core&&(n.manual=!0,k(n,e.core,e.globalName));return}if(n.manual){e.register&&E(n,{tier:e.tier,register:e.register});return}I(n,e),T(n)}return L(j);})();