kuinetic 0.2.3 → 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.
- package/dist/esm/{chunk-FYMZW5N2.mjs → chunk-EHS45PIK.mjs} +51 -14
- package/dist/esm/effects/index.mjs +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/notes/index.mjs +8 -0
- package/dist/kuinetic.all.js +52 -15
- package/dist/kuinetic.all.min.js +1 -1
- package/dist/kuinetic.css +100 -11
- package/dist/kuinetic.js +51 -14
- package/dist/kuinetic.min.css +1 -1
- package/dist/kuinetic.min.js +1 -1
- package/dist/kuinetic.notes.js +1 -1
- package/dist/types/effects/carousel/index.d.ts +7 -0
- package/dist/types/effects/carousel/stack.d.ts +2 -2
- package/dist/types/showcase/lightbox.d.ts +2 -1
- package/package.json +1 -1
package/dist/kuinetic.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var kuinetic=(()=>{var en=Object.defineProperty;var Ip=Object.getOwnPropertyDescriptor;var Lp=Object.getOwnPropertyNames;var Op=Object.prototype.hasOwnProperty;var Np=(e,t)=>{for(var r in t)en(e,r,{get:t[r],enumerable:!0})},_p=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Lp(t))!Op.call(e,o)&&o!==r&&en(e,o,{get:()=>t[o],enumerable:!(n=Ip(t,o))||n.enumerable});return e};var Dp=e=>_p(en({},"__esModule",{value:!0}),e);var aT={};Np(aT,{ATTR:()=>k,Animator:()=>Ge,CHANNEL:()=>y,COMBOS:()=>Cr,KEY_NOTE_OWNER:()=>Fn,KUI_EVENT:()=>X,PRESETS:()=>Ar,PRIMITIVES:()=>Tr,Registry:()=>Ce,SUBTREE_CHANNEL:()=>D,attributeChannel:()=>A,collectingReporter:()=>ja,consoleReporter:()=>$a,control:()=>Kt,createActivationBinder:()=>Rt,createAnimator:()=>Fa,createRegistry:()=>Ue,default:()=>nT,describe:()=>oT,describeAttribute:()=>pr,describeEffect:()=>kt,describeElement:()=>sT,describeElementAttribute:()=>mr,describeKeys:()=>Vn,describeSteps:()=>iT,detect:()=>zt,inertInstance:()=>Gt,kuinetic:()=>Mp,play:()=>qt,resolveActivationSpec:()=>le,resolveTargets:()=>yt,silentReporter:()=>ar,spellingsFor:()=>Wn,timingContractOf:()=>ur,toAttributeValue:()=>yn});function ct(e,t){try{return t.documentElement.matches(e)||t.body?.matches(e)?"document-wide":"ok"}catch{return"invalid"}}function _(e,t,r){if(!e)return e;let n=ct(e,t.doc);return n==="invalid"?(t.warn(`${r} target "${e}" is not a valid selector and will be ignored`),""):n==="document-wide"?(t.warn(`${r} target "${e}" matches the whole document and will be ignored`),""):e}var U={type:"keyword",default:"",cssProperty:"--kui-scope",keywords:["self","page"]};function W(e,t){let r=e.text("scope");return r==="page"?"page":r==="self"?"self":t}function $(e,t,r,n){return[...(n==="page"?t.doc:e).querySelectorAll(r)]}function ut(e,t,r){let n=[...e.querySelectorAll(r)];return n.length>0?n:[...t.doc.querySelectorAll(r)]}function Uo(){let e=new Map;function t(r,n,o){let i=e.get(r);i||(i=new Map,e.set(r,i));let s=i.get(n);if(!s){let c=new Set,u=()=>{for(let l of[...c])l()};s={listener:u,runs:c},i.set(n,s),r.addEventListener(n,u,{passive:!0})}s.runs.add(o);let a=!0;return()=>{a&&(a=!1,s.runs.delete(o),!(s.runs.size>0)&&(r.removeEventListener(n,s.listener),i?.delete(n),i?.size===0&&e.delete(r)))}}return{bind({sources:r,types:n,run:o}){let i=[];for(let s of r)for(let a of n)i.push(t(s,a,o));return()=>{for(let s of i)s()}},destroy(){for(let[r,n]of e)for(let[o,i]of n)r.removeEventListener(o,i.listener);e.clear()}}}function zo({el:e,from:t,reporter:r}){if(!t)return[e];let n=e.ownerDocument,o=ct(t,n);if(o!=="ok"){let s=o==="invalid"?"is not a valid selector":"matches the whole document";return r?.warn(`activation source "${t}" ${s} and will be ignored`,e),[]}let i=[...n.querySelectorAll(t)];return i.length===0&&r?.warn(`activation source "${t}" matched nothing`,e),i}function $p(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||r.width<=0||r.height<=0))return Math.min(1,t.width/r.width)*Math.min(1,t.height/r.height)}function tn(e){return`${Math.round(e*1e3)/10}%`}function Yo(e,t,r){let n=e.reporter;if(!n||r<=0||e.thresholdWarned)return;if(t.isIntersecting){e.sawIntersecting=!0;return}if(!e.sawIntersecting||e.entered)return;let o=$p(t);o===void 0||o>=r-1e-6||(e.thresholdWarned=!0,n.warn(`threshold:${tn(r)} can never be met on this element \u2014 it is larger than the root it scrolls through, so its intersection ratio maxes out around ${tn(o)} and never reaches ${tn(r)}. An IntersectionObserver only reports ratio crossings, so the library cannot soften this from here \u2014 author a smaller threshold, or make the element (or its scrolling root) fit the other.`,t.target))}function Jo(){let e=new WeakMap,t,r=Number.NEGATIVE_INFINITY,n=0,o=s=>{let a=s.target,c=Xo(a);if(!c)return;let u=e.get(a);if(e.set(a,c),!u)return;let l=c.y-u.y,p=c.x-u.x,m=Math.abs(l)>=Math.abs(p)?l:p;m!==0&&(t=m>0?"after":"before",r=s.timeStamp)},i=()=>{n=0,t=void 0,r=Number.NEGATIVE_INFINITY,typeof window<"u"&&window.removeEventListener("scroll",o,{capture:!0})};return{arrivedFrom:s=>s-r<=200?t:void 0,retain(){if(n++>0||typeof window>"u")return;window.addEventListener("scroll",o,{capture:!0,passive:!0});let s=Xo(window.document);s&&e.set(window.document,s)},release(){n===0||--n>0||i()},reset:i}}function Xo(e){if(e===window||e===window.document)return{x:window.scrollX,y:window.scrollY};if(e instanceof Element)return{x:e.scrollLeft,y:e.scrollTop}}var lt="/",rn={load:{kind:"immediate"},manual:{kind:"manual"},enter:{kind:"observed",when:"enter"},leave:{kind:"observed",when:"leave"},hover:{kind:"events",types:["pointerenter","focusin"]},unhover:{kind:"events",types:["pointerleave","focusout"]},focus:{kind:"events",types:["focusin"]},blur:{kind:"events",types:["focusout"]},click:{kind:"events",types:["click"]}},jp={load:["load"],manual:["manual"],enter:["enter"],leave:["enter"],hover:["hover"],unhover:["hover"],focus:["focus"],blur:["focus"],click:["click"]},Hp=["hover","focus","click"],ti=["click","dblclick","auxclick","contextmenu","pointerdown","pointerup","pointerenter","pointerleave","pointerover","pointerout","pointermove","pointercancel","gotpointercapture","lostpointercapture","mousedown","mouseup","mouseenter","mouseleave","mouseover","mouseout","mousemove","focusin","focusout","focus","blur","keydown","keyup","keypress","input","beforeinput","change","submit","reset","invalid","select","search","touchstart","touchend","touchmove","touchcancel","wheel","scroll","scrollend","dragstart","drag","dragend","dragenter","dragover","dragleave","drop","animationstart","animationend","animationiteration","animationcancel","transitionstart","transitionend","transitionrun","transitioncancel","play","playing","pause","ended","timeupdate","seeked","volumechange","ratechange","loadeddata","loadedmetadata","canplay","canplaythrough","waiting","stalled","toggle","beforetoggle","close","cancel","copy","cut","paste","load","error","abort","resize","fullscreenchange"],Vp=/^[A-Za-z][A-Za-z0-9._:-]*$/,Zo=2;function nn(e){return Object.hasOwn(rn,e)}function Qo(e){return nn(e)?rn[e]:{kind:"events",types:[e]}}function le(e){let t=String(e).split(lt),[r="",n]=t;return{source:e,names:t,start:Qo(r),...n===void 0?{}:{end:Qo(n)}}}function on(e){let t=e.split(lt);if(t.length>2)return[`activation "${e}" has more than one "${lt}" \u2014 expected "start${lt}end"`];if(t.filter(o=>!Vp.test(o)).length>0)return[`activation "${e}" is not an event name or a "start${lt}end" pair`];let n=t[1];return n!==void 0&&(n==="load"||n==="manual")?[`activation "${e}" cannot end on "${n}" \u2014 an exit needs an event to fire on`]:[]}function sn(e){return le(e).start.kind}function pt(e){return e.end===void 0&&e.start.kind==="observed"}function ri(e){return nn(e)?jp[e]:Hp}function Fp(e){return/[-:.]/.test(e)?!0:ti.includes(e)}function Gp(e){let t,r=Zo+1;for(let n of[...Object.keys(rn),...ti]){let o=Bp(e,n);o>=r||(r=o,t=n)}return r<=Zo&&r*2<e.length?t:void 0}function Bp(e,t){let r=Array.from({length:t.length+1},(n,o)=>o);for(let n=1;n<=e.length;n++){let o=[n];for(let i=1;i<=t.length;i++){let s=r[i-1]+(e[n-1]===t[i-1]?0:1);o.push(Math.min(r[i]+1,o[i-1]+1,s))}r=o}return r[t.length]}var ei=()=>{},Wp=1e-6;function ni(e,t){return e.isIntersecting?t<=0?!0:e.intersectionRatio>=t-Wp:!1}function qp(e,t,r,n){if(Yo(e,t,r),e.onCross)return Kp(e,t,r,n);let o=ni(t,r);if(o===e.entered)return;e.entered=o;let i=o?e.onEnter:e.onLeave;i&&(i(),e.oneShot&&e.release())}function Kp(e,t,r,n){let o=Yp(t);if(!ni(t,r))return Up(e,o,n);if(e.entered)return;let i=(n??e.outside)==="before"?"enter-back":"enter";e.entered=!0,e.outside=void 0,e.onCross?.(i)}function Up(e,t,r){if(t&&(e.outside=t),!e.entered)return;e.entered=!1;let n=t??zp(r);e.onCross?.(n==="after"?"leave-back":"leave")}function zp(e){if(e)return e==="after"?"before":"after"}function Yp(e){let t=e.rootBounds,r=e.boundingClientRect;if(!(!t||!r)){if(r.bottom<=t.top||r.right<=t.left)return"before";if(r.top>=t.bottom||r.left>=t.right)return"after"}}function Rt(e={}){let t=new Map,r=new WeakMap,n=Uo(),o=e.createObserver??Qp(),i=Jo(),s=e.reporter;function a(u){if(!o)return;let l=Zp(u),p=String(l),m=t.get(p);if(m)return{key:p,shared:m};let d={observer:o(g=>{for(let h of g){let v=r.get(h.target);v&&qp(v,h,l,i.arrivedFrom(h.time))}},{threshold:l}),count:0};return t.set(p,d),{key:p,shared:d}}function c(u,l,p){let m=a(p.threshold);if(!m)return l.failOpen&&p.activate(),ei;let{key:f,shared:d}=m,g=!!l.onCross;g&&i.retain();let h=!0,v=()=>{h&&(h=!1,g&&i.release(),r.delete(u),d.observer.unobserve(u),d.count--,!(d.count>0)&&(d.observer.disconnect(),t.delete(f)))};return r.set(u,{onEnter:l.onEnter,onLeave:l.onLeave,...l.onCross?{onCross:l.onCross}:{},oneShot:l.oneShot,release:v,entered:!1,reporter:s,sawIntersecting:!1,thresholdWarned:!1}),d.count++,d.observer.observe(u),v}return{bind(u,l,p){let m=le(l),f=Xp(m,p),d=[],g,h=Jp(f);if(h){let v=m.start.kind==="observed",E=p.cross;d.push(c(u,{...h,...E?{onCross:E}:{},oneShot:E?!1:pt(m),failOpen:v},p))}for(let v of f){let{trigger:E}=v;E.kind==="events"?(g??=zo({el:u,from:p.from,reporter:s}),d.push(n.bind({sources:g,types:E.types,run:v.run}))):E.kind==="immediate"&&v.run()}return d.length===0?ei:()=>{for(let v of d)v()}},destroy(){for(let{observer:u}of t.values())u.disconnect();t.clear(),n.destroy(),i.reset()}}}function Xp(e,t){let r=[{trigger:e.start,run:()=>t.activate()}],n=t.deactivate;return e.end&&n&&r.push({trigger:e.end,run:()=>n()}),r}function Jp(e){let t={},r=!1;for(let n of e)n.trigger.kind==="observed"&&(r=!0,n.trigger.when==="enter"?t.onEnter=n.run:t.onLeave=n.run);return r?t:void 0}function Zp(e){let t=Number.parseFloat(e);if(Number.isNaN(t))return 0;let r=e.includes("%")?t/100:t;return Math.min(1,Math.max(0,r))}function Qp(){if(!(typeof IntersectionObserver>"u"))return(e,t)=>new IntersectionObserver(e,t)}function em(e,t){let r=ri(e);if(!r.includes("enter"))return!1;let n=o=>r.some(i=>o.supported.includes(i));return t.some(o=>o.entrance&&n(o))?t.every(o=>n(o)||o.supported.includes("load")):!1}function oi(e){tm(e),rm(e)}function tm({el:e,spec:t,supported:r,claims:n,reporter:o}){if(!(r.length>0||(n?.some(a=>a.supported.length>0)??!1)))return;let s=r.length>0?r.join(", "):"none in common across the composed effects";for(let a of t.names)ri(a).some(c=>r.includes(c))||n&&em(a,n)||o.warn(`activation "${a}" is not supported by this effect (supports: ${s})`,e)}function rm({el:e,spec:t,reporter:r}){if("onclick"in e)for(let n of t.names){if(nn(n)||Fp(n)||`on${n}`in e)continue;let o=Gp(n),i=o?`; did you mean "${o}"?`:"",s=`no DOM event named "${n}" \u2014 data-kui-on binds it anyway, so nothing will start it`;r.warn(`${s}${i}`,e)}}var k={source:"data-kui",define:"data-kui-define",normalized:"data-kui-fx",state:"data-kui-state",on:"data-kui-on",timeline:"data-kui-timeline",threshold:"data-kui-threshold",stagger:"data-kui-stagger",cloak:"data-kui-cloak",rm:"data-kui-rm",unmatched:"data-kui-unmatched",part:"data-kui-part"};var an={sm:"40rem",md:"48rem",lg:"64rem",xl:"80rem","2xl":"96rem"},$e=Object.keys(an),ii=[["above","below"],["wide","narrow"]];function si(e){return ii.find(t=>t.includes(e))}function ai(e){return Object.hasOwn(an,e)}function mt(e){return $e.indexOf(e)}function Mt(e,t){return`--kui-${e}-${t}`}function ci(e){return`(min-width: ${an[e]})`}function ui(e,t){if(!t)return e;let r=e;return t.narrow&&(r=`var(${Mt("narrow",t.narrow)}, ${r})`),t.wide&&(r=`var(${Mt("wide",t.wide)}, ${r})`),t.below&&(r=`var(${Mt("below",t.below)}, ${r})`),t.above&&(r=`var(${Mt("above",t.above)}, ${r})`),r}function It(e,t){if(!e||typeof t?.matchMedia!="function")return!0;let r=n=>t.matchMedia(ci(n)).matches;return!(e.above&&!r(e.above)||e.below&&r(e.below))}function li(e,t){if(!e||!t)return!0;let r=(o,[i,s])=>[o[i]?mt(o[i]):-1,o[s]?mt(o[s]):$e.length],n=o=>{let[i,s]=r(e,o),[a,c]=r(t,o);return i<c&&a<s};return ii.every(n)}function pi(e){let t=new Set;for(let r of e)r.above&&t.add(r.above),r.below&&t.add(r.below);return[...t]}function mi(e,t){let r=new Map,n=new Map;function o(i){if(typeof e?.matchMedia!="function"||n.has(i))return;let s=e.matchMedia(ci(i));if(typeof s.addEventListener!="function")return;let a=()=>{for(let[c,u]of[...r])u.includes(i)&&t(c)};s.addEventListener("change",a),n.set(i,()=>s.removeEventListener("change",a))}return{watch(i,s){if(s.length===0){r.delete(i);return}r.set(i,[...s]);for(let a of s)o(a)},unwatch(i){r.delete(i)},destroy(){for(let i of n.values())i();n.clear(),r.clear()}}}var ce={stiffness:180,damping:24,mass:1,restVelocity:.05,restDisplacement:.05},nm=1/240,om=.25;function cn(e,t,r,n){let{value:o,velocity:i}=e,s=Math.min(Math.max(n,0),om);for(;s>0;){let a=Math.min(nm,s),c=-r.stiffness*(o-t)-r.damping*i;i+=c/r.mass*a,o+=i*a,s-=a}return{value:o,velocity:i}}function un(e,t,r){return Math.abs(e.velocity)<r.restVelocity&&Math.abs(e.value-t)<r.restDisplacement}var di=1e4;function xe(e,t,r){let n=im(e)?e:ce;n!==e&&r.warn?.("invalid spring configuration; using defaults");let o={value:0,velocity:0},i=0,s=null,a=0,c=0;function u(f){s=null;let d=(f-a)/1e3;if(a=f,o=cn(o,i,n,d),!sm(o)||!Number.isFinite(i)){m("spring produced non-finite state");return}if(f-c>=di){m(`spring exceeded ${di}ms settle budget`);return}if(un(o,i,n)){o={value:i,velocity:0},t(o.value,!0);return}t(o.value,!1),l()}function l(){s===null&&(s=r.requestFrame(u))}function p(){c=r.now(),s===null&&(a=c),l()}function m(f){o={value:Number.isFinite(i)?i:0,velocity:0},r.warn?.(f),t(o.value,!0)}return{to(f,d){i=f,d!==void 0&&(o={...o,velocity:d}),p()},set(f,d=0){o={value:f,velocity:d}},current:()=>({...o}),stop(){s!==null&&r.cancelFrame(s),s=null}}}function im(e){return Object.values(e).every(Number.isFinite)&&e.stiffness>0&&e.damping>0&&e.mass>0&&e.restVelocity>0&&e.restDisplacement>0}function sm(e){return Number.isFinite(e.value)&&Number.isFinite(e.velocity)}function Lt(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(()=>t(Date.now()),16),cancelFrame:t=>globalThis.clearTimeout(t),now:()=>Date.now()}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t),now:()=>performance.now()}}var vi=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),bi="spring(",dn=2/3,Ei=180,Si=1,am=2*dn*Math.sqrt(Ei*Si),Nt=.15,ln=4,Ot=1-Nt,pn=["stiffness","damping","mass"],fi=["bounce",...pn],Pi=1/240,cm=4e4,um=.001,lm=.001,gi=16,pm=64,mm=10,_t=1e3;function fn(e){return e.startsWith(bi)&&e.endsWith(")")}function Te(e){return vi.has(e)?e:fn(e)?Ti(ki(e)):e.includes("(")?e:`var(--kui-ease-${e}, ease-out)`}var yi="ease-out";function Dt(e,t,r){if(!e)return;if(vi.has(e))return e;if(fn(e))return Ti(ki(e));if(e.includes("("))return e;let n=dm(e,t);return n||(r(`easing "${e}" has no --kui-ease-${e} definition \u2014 using ${yi}`),yi)}function dm(e,t){let r=t.ownerDocument.defaultView;return r?r.getComputedStyle(t).getPropertyValue(`--kui-ease-${e}`).trim():""}function $t(e){if(!fn(e))return[];let{values:t,problems:r}=wi(e);return xi(t,r),r}function ki(e){let{values:t,problems:r}=wi(e);return xi(t,r)}function wi(e){let t=new Map,r=[],n=e.slice(bi.length,-1).trim();if(n)for(let o of n.split(/\s+/))fm(o,t,r);return{values:t,problems:r}}function fm(e,t,r){let n=e.indexOf(":"),o=n<0?e:e.slice(0,n),i=n<0?"":e.slice(n+1);if(!fi.includes(o)){r.push(`unknown spring parameter "${e}" \u2014 expected ${fi.join(", ")}`);return}let s=Number(i);if(i===""||!Number.isFinite(s)||s<0){r.push(`spring "${o}" expects a non-negative number \u2014 got "${i}"`);return}t.has(o)&&r.push(`duplicate spring parameter "${o}"`),t.set(o,s)}function xi(e,t){let r=e.get("bounce"),n=pn.some(a=>e.has(a));if(r!==void 0)return n&&t.push(`spring "bounce" and "${pn.join('"/"')}" describe the same curve two ways \u2014 "bounce" wins`),1-gm(r,t);if(!n)return dn;let o=e.get("stiffness")??Ei,i=e.get("mass")??Si,s=e.get("damping")??am;return ym(s/(2*Math.sqrt(o*i)),t)}function gm(e,t){return e<=Ot?e:(t.push(`spring "bounce:${e}" is past ${Ot} \u2014 a spring that bouncy never settles inside one animation, so it is capped at ${Ot}`),Ot)}function ym(e,t){if(!Number.isFinite(e))return t.push("spring constants do not describe a spring \u2014 using the default curve"),dn;if(e>=Nt&&e<=ln)return e;let r=Math.min(Math.max(e,Nt),ln);return t.push(`spring damping ratio ${mn(e)} is outside ${Nt}\u2013${ln} \u2014 clamped to ${mn(r)} so the curve settles`),r}var hi=new Map;function Ti(e){let t=Math.round(e*_t),r=hi.get(t);if(r!==void 0)return r;let n=hm(t/_t);return hi.set(t,n),n}function hm(e){let t=vm(e),r=bm(e,(t.length-1)*Pi),n=[];for(let o=0;o<=r;o++)n.push(String(mn(Em(t,o/r))));return n[0]="0",n[r]="1",`linear(${n.join(", ")})`}function vm(e){let t={stiffness:1,damping:2*e,mass:1,restVelocity:lm,restDisplacement:um},r=[0],n={value:0,velocity:0};for(let o=0;o<cm&&(n=cn(n,1,t,Pi),r.push(n.value),!un(n,1,t));o++);return r}function bm(e,t){if(e>=1)return gi;let r=2*Math.PI/Math.sqrt(1-e*e),n=gi+Math.round(mm*t/r);return Math.min(n,pm)}function Em(e,t){let r=t*(e.length-1),n=Math.floor(r),o=Math.min(n+1,e.length-1),i=e[n];return i+(e[o]-i)*(r-n)}function mn(e){return Math.round(e*_t)/_t}var dt="infinite",Sm=/^(?:\d+(?:\.\d+)?|\.\d+)$/,Pm=new Set(["view","scroll","pin"]),km=new Set(["repeat","yoyo"]);function Ai(e){return km.has(e)}function Ci(e,t,r,n){e[t]!==void 0&&n.warn(`duplicate parameter "${t}" in "${n.segment}"`),t==="yoyo"?xm(e,r,n):wm(e,r,n)}function wm(e,t,r){if(t===dt){e.repeat=dt;return}if(!Sm.test(t)){r.warn(Tm(t,r.segment));return}Number(t)===0&&r.warn(`"repeat:0" in "${r.segment}" means the effect never plays \u2014 with animation-fill-mode: both it jumps straight to its end state. Write "repeat:1" to play it once, or drop the key.`),e.repeat=t}function xm(e,t,r){if(t!=="true"&&t!=="false"){r.warn(`"yoyo:${t}" in "${r.segment}" is not a boolean \u2014 expected yoyo:true or yoyo:false`);return}e.yoyo=t==="true"}function Tm(e,t){return e.startsWith("-")?`"repeat:${e}" in "${t}" is negative \u2014 a play count cannot be. Write "repeat:infinite" to loop forever, or a non-negative number such as repeat:3.`:`"repeat:${e}" in "${t}" is not a play count \u2014 expected a non-negative number such as repeat:3, or repeat:infinite`}function Ri(e){let t=[];if(e.repeat===void 0&&e.yoyo===void 0)return{warnings:t};if(e.renderer!=="css-keyframes")return{warnings:[Cm(e)]};if(e.repeat===dt&&Pm.has(e.timeline))return t.push(Rm(e.name,e.timeline)),{yoyo:e.yoyo,warnings:t};let r=Am(e);return r&&t.push(r),{repeat:e.repeat,yoyo:e.yoyo,warnings:t}}function Am(e){if(!e.cloak||e.yoyo!==!0)return null;let t=jt(e.repeat);return t===void 0||t===0||t%2!==0?null:`"${e.name}" with yoyo:true and an even repeat:${e.repeat} ends on a reversed iteration, and this effect's from-state is one the visitor is not meant to see \u2014 the element finishes hidden. Use an odd count (repeat:${t+1}) to end at the rest state.`}function Cm(e){let t=[e.repeat===void 0?"":`repeat:${e.repeat}`,e.yoyo===void 0?"":`yoyo:${e.yoyo}`].filter(Boolean).join(" and ");return`"${e.name}" is rendered in JavaScript and compiles no animation-iteration-count, so ${t} does nothing \u2014 it plays once. Repeat is a CSS-keyframes capability; a JS-rendered effect that loops does it through a parameter of its own (typewriter's "loop:"), if it has one.`}function Rm(e,t){let r=t==="pin"?"a pin scrubs a single playthrough with a negative animation-delay, so no iteration past the first is ever reachable":`a "${t}" timeline is a finite range driven by scroll position rather than a clock, and an infinite iteration count collapses the animation's active duration to zero there \u2014 the element renders frozen at its end state`;return`"${e}" has repeat:infinite on a "${t}" timeline: ${r}. Dropping the repeat, so it plays once across the range \u2014 put an infinite loop on a "time" timeline instead.`}function jt(e){if(!(e===void 0||e===dt))return Number(e)}function Mi(e){return e===dt}function Ii(e){return e?"alternate":"normal"}function Ht(e,t){let r=jt(t);return r===void 0||r===1?e:`${e} * ${r}`}var Vt=["enter","leave","enter-back","leave-back"],Li=new Set(["play","pause","resume","reverse","reset","restart","complete","none"]),Ni=new Set(["pause","resume","reset","restart","complete"]),Oi="/";function Ft(e,t=[]){let r=e.split(Oi);r.length>Vt.length&&t.push(`"actions:${e}" has ${String(r.length)} verbs \u2014 there are four crossings (${Vt.join(Oi)}), so the extras are ignored`);let n={enter:"none",leave:"none","enter-back":"none","leave-back":"none"};for(let[o,i]of Vt.entries()){let s=r[o]?.trim();s===void 0||s===""||(n[i]=Mm(s,i,t))}return n}function Mm(e,t,r){return Li.has(e)?e:(r.push(`unrecognised action "${e}" for the "${t}" crossing \u2014 expected ${[...Li].join(", ")}`),"none")}function _i(e){let t=[];return Ft(e,t),t}function Im(e){for(let t of Vt)if(Ni.has(e[t]))return e[t]}function Di(e){if(!e.observed)return[`"actions:" describes the four crossings of a scroll trigger, but this element activates on "${e.activation}" \u2014 nothing here is ever reached. Use on:enter or on:enter/leave`];let t=Im(e.actions);if(t===void 0)return[];let r=[];e.progressDriven&&r.push(`"actions:" asks to ${t} an element whose progress is driven by scroll position rather than by a clock \u2014 its playhead belongs to the scroller and would be overwritten on the next frame`);let n=e.jsEffectNames;if(n.length>0){let o=n.length===1;r.push(`"actions:" asks to ${t}, which needs a playhead, and "${n.join(" ")}" ${o?"is":"are"} rendered in JavaScript and expose${o?"s":""} none \u2014 that crossing does nothing for ${o?"it":"them"}`)}return r}function $i(e,t){e==="play"?t.activate():e==="reverse"?t.reverse():Ni.has(e)&&Lm(e,t)}function Lm(e,t){if(!t.started){Om(e)&&t.activate();return}(e==="restart"||e==="complete")&&t.activate();for(let r of t.controls)Nm(e,r)}function Om(e){return e==="resume"||e==="restart"||e==="complete"}function Nm(e,t){e==="pause"?t.pause():e==="resume"?t.resume():e==="complete"?t.seek(1):(t.seek(0),e==="reset"?t.pause():t.resume())}var y={opacity:"opacity",translate:"translate",scale:"scale",rotate:"rotate",filter:"filter",clip:"clip",background:"background",color:"color",stroke:"stroke",text:"text",skew:"skew"};function A(e){return`attr:${e}`}var D="subtree";function Gt(e=()=>{}){return{activate(){},cancel(){},finish(){},finished:Promise.resolve(),destroy:e}}var je=["activation","actions","timeline","threshold","cascade","spread","order","cols","along"];var _m=/^-?(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/,Dm=["cubic-bezier(","steps(","linear(","spring("],$m=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end","expo-in","expo-out","expo-in-out","back-in","back-out","back-in-out","quart-out","circ-out","spring","bounce"]);function Ae(e,t,r=[]){let n=[],o={depth:0,quote:null,escaped:!1},i="";for(let s of e){if(jm(s,t,o)){i.trim()&&n.push(i.trim()),i="";continue}i+=s}return i.trim()&&n.push(i.trim()),o.quote?r.push(`unterminated ${o.quote} quote in "${e}"`):o.depth>0&&r.push(`unclosed "(" in "${e}"`),n}function jm(e,t,r){return r.quote?Hm(e,r):e==='"'||e==="'"?(r.quote=e,!1):(e==="("?r.depth++:e===")"&&(r.depth=Math.max(0,r.depth-1)),r.depth!==0?!1:t===" "?/\s/.test(e):e===t)}function Hm(e,t){return t.escaped?t.escaped=!1:e==="\\"?t.escaped=!0:e===t.quote&&(t.quote=null),!1}function ft(e){let t=0;for(let r=0;r<e.length;r++){let n=e[r];if(n==="(")t++;else if(n===")")t=Math.max(0,t-1);else if(n===":"&&t===0){let o=e.slice(0,r).trim(),i=Vm(e.slice(r+1).trim());return o&&i?[o,i]:null}}return null}function Vm(e){let t=e[0];return(t==='"'||t==="'")&&e.endsWith(t)&&e.length>1?e.slice(1,-1).replaceAll(`\\${t}`,t):e}function Vi(e){let t=[],r=Ae(e??""," ",t),[n,...o]=r;if(!n)return{warnings:t};t.push(...on(n));let i;for(let s of o){let a=ft(s);if(!a||a[0]!=="from"){t.push(`unrecognised activation option "${s}"`);continue}if(i!==void 0){t.push(`duplicate activation option "from" in "${e}"`);continue}i=a[1]}return t.length>0?{warnings:t}:{activation:n,...i===void 0?{}:{from:i},warnings:t}}function Fm(e){let t=ft(e);return t?{kind:"pair",key:t[0],value:t[1]}:_m.test(e)?{kind:"time",value:e}:Gm(e)?{kind:"easing",value:e}:{kind:"unknown",value:e}}function Gm(e){return $m.has(e)?!0:Dm.some(t=>e.startsWith(t)&&e.endsWith(")"))}function de(e){let t={specs:[],warnings:[]};for(let r of Ae(e??"",",",t.warnings)){let n=Bm(r,t);n&&t.specs.push(n)}return t}function Bm(e,t){let r=Ae(e," ",t.warnings),n=r.shift();if(ft(n))return zm(n,r,t)||t.warnings.push(`effect name expected, got "${n}"`),null;let o={name:n,params:{}},i=0,s=qm(r)?{specs:[],warnings:[]}:null;for(let a of r){let c=Fm(a);c.kind==="time"?i=Xm(o,c.value,i,t.warnings):Jm(c,o,{segment:e,result:t,sink:s})}return Wm(o,s,t),o}function Wm(e,t,r){if(!t)return;r.warnings.push(...t.warnings);let n=Km(t);n&&(e.hoists=n)}function qm(e){return e.some(t=>ft(t)?.[0]==="target")}function Km(e){let t={},r=!1;for(let n of je){let o=e[n];o!==void 0&&(t[n]=o,r=!0)}return r?t:void 0}var Um=new Set(["on","actions","timeline","threshold","cascade","spread","order","cols","along"]);function zm(e,t,r){let n=[];for(let o of[e,...t]){let i=ft(o);if(!i||!Ym.has(i[0])||!Object.hasOwn(Bt,i[0]))return!1;n.push(i)}for(let[o,i]of n)Bt[o](r,i);return!0}var Ym=new Set(["cascade","spread","order","cols","along"]);function Xm(e,t,r,n){return r===0?e.duration=t:r===1?e.delay=t:n.push(`third time value "${t}" ignored (expected duration then delay)`),r+1}function Jm(e,t,r){let{segment:n,result:o,sink:i}=r;if(e.kind==="easing"){Zm(e.value,t,n,o);return}if(e.kind==="unknown"){o.warnings.push(`unrecognised token "${e.value}" in "${n}" \u2014 expected [duration] [delay] [easing] or key:value`);return}if(!Qm(e.key,e.value,t,r)){if(Object.hasOwn(Bt,e.key)){let s=i&&Um.has(e.key)?i:o;Bt[e.key](s,e.value);return}e.key in t.params&&o.warnings.push(`duplicate parameter "${e.key}" in "${n}"`),t.params[e.key]=e.value}}function Zm(e,t,r,n){t.easing&&n.warnings.push(`duplicate easing "${e}" in "${r}"`);for(let o of $t(e))n.warnings.push(`${o} in "${r}"`);t.easing=e}function Qm(e,t,r,n){let{segment:o,result:i}=n;return e==="at"?(r.at!==void 0&&i.warnings.push(`duplicate parameter "at" in "${o}"`),r.at=t,!0):td(e)?(rd(r,e,t,n),!0):Ai(e)?(Ci(r,e,t,{segment:o,warn:s=>i.warnings.push(s)}),!0):!1}var ed=new Set(["above","below","wide","narrow"]);function td(e){return ed.has(e)}function rd(e,t,r,n){let{segment:o,result:i}=n;if(!ai(r)){i.warnings.push(`unknown breakpoint "${r}" in "${o}" \u2014 expected one of ${$e.join(", ")}`);return}let s=e.gate??={};s[t]!==void 0&&i.warnings.push(`duplicate parameter "${t}" in "${o}"`),s[t]=r,nd(s,si(t),o,i)}function nd(e,t,r,n){let[o,i]=t,s=e[o],a=e[i];!s||!a||mt(s)<mt(a)||n.warnings.push(`"${o}:${s} ${i}:${a}" in "${r}" can never match \u2014 "${o}" must name a smaller breakpoint than "${i}"`)}var ji=new Set(["shorten","crossfade","disable"]),Bt={on(e,t){let r=on(t);if(r.length>0){e.warnings.push(...r);return}re(e,"activation",t,"activations")},timeline(e,t){re(e,"timeline",t,"timelines")},actions(e,t){let r=_i(t);if(r.length>0){e.warnings.push(...r);return}re(e,"actions",t,"crossing actions")},threshold(e,t){re(e,"threshold",t,"thresholds")},cascade(e,t){Hi(e,"spread","cascade",t),re(e,"cascade",t,"stagger steps")},spread(e,t){Hi(e,"cascade","spread",t),re(e,"spread",t,"stagger budgets")},order(e,t){re(e,"order",t,"stagger orders")},cols(e,t){re(e,"cols",t,"stagger column counts")},along(e,t){re(e,"along",t,"stagger axes")},rm(e,t){if(!ji.has(t)){e.warnings.push(`unrecognised "rm:${t}" \u2014 expected ${[...ji].join(", ")}`);return}re(e,"rm",t,"reduced-motion policies")},func(e,t){re(e,"func",t,"callbacks")}};function Hi(e,t,r,n){let o=e[t];o!==void 0&&e.warnings.push(`"${t}:${o}" and "${r}:${n}" are two ways to set one stagger step \u2014 the total budget ("spread:") wins`)}function re(e,t,r,n){let o=e[t];if(o===void 0){e[t]=r;return}o!==r&&e.warnings.push(`conflicting ${n} "${String(o)}" and "${String(r)}"`)}var Ce=class{primitives=new Map;presets=new Map;combos=new Map;registerPrimitive(t){if(this.primitives.has(t.id))throw new Error(`kuinetic: primitive "${t.id}" is already registered`);return this.primitives.set(t.id,id(t)),this}registerPreset(t){if(this.presets.has(t.name))throw new Error(`kuinetic: effect "${t.name}" is already registered`);if(!this.primitives.has(t.primitive))throw new Error(`kuinetic: effect "${t.name}" references unknown primitive "${t.primitive}"`);for(let r of t.transitions??[])if(r.property==="all"||r.property==="none")throw new Error(`kuinetic: effect "${t.name}" declares a transition on "${r.property}", which would swallow every other preset's segment in the merged transition list \u2014 name the real property instead`);return this.presets.set(t.name,t),this}registerPresets(t){for(let r of t)this.registerPreset(r);return this}registerPrimitives(t){for(let r of t)this.registerPrimitive(r);return this}registerCombo(t,r){return this.combos.set(Fi(t),r),this}resolve(t){let r=this.presets.get(t);if(!r)return;let n=this.primitives.get(r.primitive);return{preset:r,primitive:n}}findCombo(t){let r=this.combos.get(Fi(t));return r?this.resolve(r):void 0}has(t){return this.presets.has(t)}names(){return[...this.presets.keys()].sort((t,r)=>t.localeCompare(r))}getPrimitive(t){return this.primitives.get(t)}},od=["duration","delay","ease"];function Re(e,t){return`--kui-${e}-${t}`}function id(e){let t={...e.parameters};for(let r of od){let n=t[r];n&&(t[r]={...n,cssProperty:Re(e.id,r)})}return{...e,parameters:t}}function Fi(e){return[...e].sort((t,r)=>t.localeCompare(r)).join("+")}function Ye(e,t){let r,n=1/0;for(let o of t){let i=sd(e,o);i<n&&(n=i,r=o)}return n<=Math.max(2,Math.floor(e.length/3))?r:void 0}function sd(e,t){let r=e.length+1,n=t.length+1,o=Array.from({length:n},(i,s)=>s);for(let i=1;i<r;i++){let s=[i,...Array(n-1).fill(0)];for(let a=1;a<n;a++){let c=e[i-1]===t[a-1]?0:1;s[a]=Math.min(s[a-1]+1,o[a]+1,o[a-1]+c)}o=s}return o[n-1]}var Gi=["activation","timeline","threshold","rm","func"],ad={activation:"on",timeline:"timeline",threshold:"threshold",rm:"rm",func:"func"},Wt=class{constructor(t){this.registry=t}bundles=new Map;collect(t,r){let n=0;for(let o of pd(t))this.define(o,r)&&n++;return n}expand(t){if(this.bundles.size===0)return t;let r={warnings:[...t.warnings],hoists:{}},n=this.expandList(t.specs,[],r),o={...t,specs:n,warnings:r.warnings};for(let i of Gi)Bi(o,r.hoists,i);return o}define(t,r){let n=t.getAttribute(k.define).trim(),o=t.getAttribute(k.source)??"",i=this.nameProblem(n);if(i)return r.warn(i,t),!1;let s=this.bundles.get(n);return s?(s.source!==o&&r.warn(`bundle "${n}" is already defined \u2014 the first definition wins`,t),!1):(t.localName!=="template"&&r.warn(`bundle "${n}" is defined on <${t.localName}> \u2014 a definition is data, so it is never animated; use <template>`,t),this.bundles.set(n,cd(n,o,t,r)),!0)}nameProblem(t){if(!t)return`${k.define} needs a name \u2014 an empty one defines nothing`;if(/[\s,:()"']/.test(t))return`bundle name "${t}" cannot contain whitespace, a comma, a colon, parentheses or quotes \u2014 those are grammar, so a name carrying them could never be written in ${k.source}`;if(this.registry.has(t))return`bundle "${t}" is already the name of a registered effect \u2014 the effect wins and this definition is ignored`}expandList(t,r,n){let o=[];for(let i of t){let s=this.bundles.get(i.name);if(!s){o.push(i),this.noteNearMiss(i.name,n.warnings);continue}if(r.includes(i.name)){n.warnings.push(ld(r,i.name));continue}ud(s,i.name,n);let a=this.expandList(s.specs,[...r,i.name],n);fd(i,a,n.warnings);for(let c of a)o.push(md(c,i))}return o}noteNearMiss(t,r){if(this.registry.has(t))return;let n=Ye(t,[...this.bundles.keys()]);n&&r.push(`"${t}" is not a registered effect \u2014 did you mean the bundle "${n}"?`)}};function cd(e,t,r,n){let o=de(t);for(let s of o.warnings)n.warn(`in bundle "${e}": ${s}`,r);o.specs.length===0&&n.warn(`bundle "${e}" names no effect \u2014 elements that use it animate nothing`,r);let i=["cascade","spread","order","cols","along"].filter(s=>o[s]!==void 0).map(s=>`"${s}:"`).join(" and ");return i&&n.warn(`bundle "${e}" declares ${i} \u2014 a stagger group is read from the group element's own attribute, which never sees a bundle, so it is dropped; write it on the group element itself`,r),{source:t,specs:o.specs,hoists:o}}function ud(e,t,r){for(let n of Gi){if(Bi(r.hoists,e.hoists,n)!=="clash")continue;let o=ad[n],i=String(r.hoists[n]);r.warnings.push(`bundle "${t}" sets "${o}:${String(e.hoists[n])}", which conflicts with "${o}:${i}" from an earlier bundle \u2014 the first wins`)}}function ld(e,t){let r=[...e,t].join(" \u2192 ");return`bundle "${t}" is defined in terms of itself (${r}) \u2014 the reference is dropped`}function pd(e){let t=`[${k.define}]`,r=[...e.querySelectorAll(t)],n=e.nodeType===1?e:null;return n?.matches(t)&&r.unshift(n),r}function Bi(e,t,r){let n=t[r];if(n===void 0)return"kept";let o=e[r];return o===void 0?(e[r]=n,"taken"):o===n?"kept":"clash"}function md(e,t){return{...e,duration:t.duration??e.duration,delay:t.delay??e.delay,easing:t.easing??e.easing,at:t.at??e.at,gate:t.gate??e.gate,repeat:t.repeat??e.repeat,yoyo:t.yoyo??e.yoyo,params:{...e.params,...t.params},hoists:dd(e.hoists,t.hoists)}}function dd(e,t){if(!e&&!t)return;let r={...e};for(let n of je){let o=t?.[n];o!==void 0&&(r[n]=o)}return r}function fd(e,t,r){e.at===void 0||!t.some(n=>n.at!==void 0)||r.push(`"at:${e.at}" on "${e.name}" overrides the offsets the bundle sets on its own segments \u2014 they now all start at the same position`)}function yt(e,t){return typeof e=="string"?[...t.querySelectorAll(e)]:e instanceof Element?[e]:[...e]}function gn(e){if(e!==void 0)return typeof e=="number"?`${e}ms`:e}var gd=/[\s,()"']/;function yd(e){return gd.test(e)?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:e}function hd(e){let t=0;for(let r of e)if(r==="(")t++;else if(r===")")t=Math.max(0,t-1);else if(r===":"&&t===0)return!0;return!1}function gt(e,t){let r=[],n=Ae(t," ",r),o=Ae(t,",",r),i=n.length===1&&n[0]===t;if(!(r.length===0&&i&&o.length===1&&!hd(t)))throw new Error(`play(): ${e} "${t}" cannot be serialized \u2014 it contains a space, comma, colon, quote, or unbalanced parenthesis the parser cannot read back as one token`)}function yn(e,t={}){gt("effect",e);let{duration:r,delay:n,ease:o,...i}=t;delete i.stagger;let s=[e],a=gn(n),c=gn(r);c&&(gt("duration",c),s.push(c)),a&&(gt("delay",a),s.push(c?a:`delay:${a}`)),o&&(gt("easing",o),s.push(o));for(let[u,l]of Object.entries(i))l!==void 0&&(gt("parameter name",u),s.push(`${u}:${yd(String(l))}`));return s.join(" ")}function qt(e,t={}){let{animator:r,root:n,target:o,effect:i}=e,s=yt(o,n),a=gn(t.stagger),c=yn(i,t);for(let[p,m]of s.entries())a&&(m.style.setProperty("--kui-stagger",a),m.style.setProperty("--kui-i",String(p))),r.reset(m),m.hasAttribute(k.on)||m.setAttribute(k.on,"manual"),m.setAttribute(k.source,c),r.process(m),r.activate(m);let u=p=>[p,...r.derivedOf(p)].flatMap(m=>r.stateOf(m)?.instances??[]),l=Promise.all(s.flatMap(p=>u(p).map(m=>m.finished))).then(()=>{});return{elements:s,finished:l,cancel(){for(let p of s)r.cancel(p)},finish(){for(let p of s)for(let m of u(p))m.finish()}}}var hn=0;function Wi(e){return Math.min(1,Math.max(0,e))}function Ui(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function zi(e){return Ui(e.effect?.getComputedTiming?.().endTime)}function qi(e){let t=hn;for(let r of e)t=Math.max(t,zi(r));return t}function Yi(e){return e.length===0?"idle":e.includes("running")?"running":e.includes("paused")?"paused":e.every(t=>t==="finished")?"finished":"idle"}function Ki(e){try{e()}catch{}}function Xi(e,t){return{pause(){t.set("animation-play-state","paused")},resume(){t.set("animation-play-state","running")},reverse(){for(let r of e())Ki(()=>r.reverse());t.set("animation-play-state","running")},seek(r){let n=e(),o=qi(n);if(o===hn)return;let i=Wi(r)*o;for(let s of n)Ki(()=>{s.currentTime=Math.min(i,zi(s))})},rate(r){for(let n of e())n.playbackRate=r},get progress(){let r=e(),n=qi(r);if(n===hn)return 0;let o=0;for(let i of r)o=Math.max(o,Ui(i.currentTime));return Wi(o/n)},get playState(){return Yi(e().map(r=>r.playState))}}}function vd(e,t){let r=e.stateOf(t);if(!r)return{el:t,controls:[],unreachable:[],refused:!0,note:"no kUInetic effect is installed on this element \u2014 it has no playhead to control"};if(r.progressDriven)return{el:t,controls:[],unreachable:[...r.fxNames],refused:!0,note:`"${r.fxNames.join(" ")}" is driven by scroll position rather than a clock, so its playhead belongs to the scroller \u2014 pausing or seeking it would be overwritten on the next frame`};let n=r.instances.map(i=>i.control).filter(i=>i!==void 0),o=[...r.jsEffectNames];return o.length===0?{el:t,controls:n,unreachable:o}:{el:t,controls:n,unreachable:o,note:`"${o.join(" ")}" ${o.length===1?"is":"are"} rendered in JavaScript and expose${o.length===1?"s":""} no playhead, so pause, seek and timeScale do not reach ${o.length===1?"it":"them"}`}}function bd(e,t){let r=new Set,n=[];for(let o of t)for(let i of[o,...e.derivedOf(o)])r.has(i)||(r.add(i),n.push(i));return n}function Kt(e){let{animator:t,root:r,target:n}=e,o=yt(n,r),i=bd(t,o),s=i.map(p=>vd(t,p));for(let[p,m]of s.entries())m.note&&t.reporter.warn(`control(): ${m.note}`,i[p]);let a=p=>{for(let m of s)for(let f of m.controls)p(f);return l},c=(p,m)=>(t.reporter.warn(`control(): ${p} ignored \u2014 ${String(m)} is not a finite number`),l),u=()=>{for(let p of s)p.refused||t.reverseFrom(p.el);return l},l={elements:o,get uncontrolled(){return s.flatMap(p=>p.unreachable)},pause:()=>a(p=>p.pause()),play:()=>a(p=>p.resume()),reverse:()=>u(),seek:p=>Number.isFinite(p)?a(m=>m.seek(p)):c("seek()",p),timeScale:p=>Number.isFinite(p)?a(m=>m.rate(p)):c("timeScale()",p),get progress(){let p=1,m=!1;for(let f of s)for(let d of f.controls)p=Math.min(p,d.progress),m=!0;return m?p:0},get state(){return Yi(s.flatMap(p=>p.controls.map(m=>m.playState)))}};return l}var X={start:"kui:start",finish:"kui:finish",reverseFinish:"kui:reverse-finish",cancel:"kui:cancel"};function Ji(e,t,r){let n=e.ownerDocument?.defaultView?.CustomEvent??globalThis.CustomEvent;typeof n=="function"&&e.dispatchEvent(new n(t,{detail:r,bubbles:!0,composed:!0}))}function Zi(e){let{el:t,name:r,reporter:n,signal:o}=e,i=s=>{if(s.target!==t)return;let a=Ed(t,r);if(!a){n.warn(`func:${r} \u2014 no global function named "${r}". A function declaration (\`function ${r}() {}\`) or an explicit \`window.${r} = \u2026\` creates one; \`const\` and \`let\` deliberately do not, and neither does a bundled or \`type="module"\` script.`,t);return}Reflect.apply(a,t,[s])};t.addEventListener(X.finish,i),o.addEventListener("abort",()=>t.removeEventListener(X.finish,i))}function Ed(e,t){let r=e.ownerDocument?.defaultView??globalThis;if(!Object.hasOwn(r,t))return;let n=r[t];return typeof n=="function"?n:void 0}function He(e,t){if(typeof CSS>"u"||typeof CSS.supports!="function")return!1;try{return CSS.supports(e,t)}catch{return!1}}var Ut;function zt(e=!1){return Ut&&!e||(Ut={viewTimeline:He("animation-timeline","view()"),scrollTimeline:He("animation-timeline","scroll()"),animationRange:He("animation-range","entry 0% cover 30%"),individualTransforms:He("translate","0 10px")&&He("scale","1.1"),scrollTimelineName:He("scroll-timeline-name","--x"),viewTransitions:typeof document<"u"&&"startViewTransition"in document,intersectionObserver:typeof IntersectionObserver<"u",reducedMotion:typeof matchMedia=="function"&&matchMedia("(prefers-reduced-motion: reduce)").matches,motionPath:He("offset-path",'path("M 0 0")')}),Ut}var Sd=[{channel:"offset",capability:"motionPath",message:"this browser does not support CSS Motion Path (offset-path), so the element will not travel \u2014 the animation still runs and completes, it just has no path to follow"}];function Qi(e,t){return Sd.filter(r=>e.includes(r.channel)&&!t[r.capability]).map(r=>r.message)}var Pd=new Set(["entrance|state","exit|state"]);function kd(e,t){return e<t?`${e}|${t}`:`${t}|${e}`}function wd(e,t){return!e.phase||!t.phase?!1:Pd.has(kd(e.phase,t.phase))}var xd={translate:"add"};function es(e){return e.length>0&&e.every(t=>xd[t]==="add")}function ts(e,t){if(t.some(o=>o.effects[0]===o.effects[1]))return;let r=new Set(t.map(o=>o.channel)),n=new Set;e.forEach((o,i)=>{o.channels.some(s=>r.has(s))&&n.add(i)});for(let o of n)if(!e[o].additive)return;return n}function rs(e){let t=[],r=new Map;for(let n of e)for(let o of n.channels){let i=r.get(o)??[],s=i.find(a=>li(a.gate,n.gate)&&!wd(a,n));s&&t.push({channel:o,effects:[s.name,n.name]}),i.push(n),r.set(o,i)}return t}function ns(e){let t=e.filter(n=>n.delivery==="stylesheet-animation");if(t.length===0)return[];let r=e.find(n=>n.inlineAnimation&&!n.delivery);return r?t.map(n=>`"${r.name}" writes an inline animation, which outranks the stylesheet rule "${n.name}" delivers its motion from`):[]}function os(e){return e.map(t=>`"${t.effects[0]}" and "${t.effects[1]}" both animate ${t.channel}`).join("; ")}var is=/[;<]|\/\*|url\s*\(|expression\s*\(|@import|image-set\s*\(/i,Td=/^(?:[a-z][a-z0-9+.-]*:|[/\\]{2})/i,vn=200,Ad=2e3,Cd=/^[MmZzLlHhVvCcSsQqTtAa0-9eE.,+\-\s]+$/,Xe=String.raw`-?(?:\d+(?:\.\d+)?|\.\d+)`,Rd="px|rem|em|vh|vw|vmin|vmax|ch|ex|cm|mm|in|pt|pc|q|%",ss={length:new RegExp(`^(?:0|${Xe}(?:${Rd}))$`,"i"),time:new RegExp(`^${Xe}(?:ms|s)$`,"i"),number:new RegExp(`^${Xe}$`),percentage:new RegExp(`^${Xe}%$`),angle:new RegExp(`^${Xe}(?:deg|rad|turn|grad)$`,"i")},Md=new RegExp(`^(${Xe})d?$`,"i");function Id(e){let t=Md.exec(e);return t?`${t[1]}deg`:e}var Ld=/^([+-]?)(\d+(?:\.\d+)?|\.\d+)(?:e([+-]?\d+))?$/i,Od=/^#[0-9a-f]{3,8}$/i,Nd=/^(?:rgba?|hsla?|okl(?:ch|ab)|l(?:ch|ab)|color)\([^()]*\)$/i,_d=new Set(["accentcolor","accentcolortext","activetext","buttonborder","buttonface","buttontext","canvas","canvastext","field","fieldtext","graytext","highlight","highlighttext","linktext","mark","marktext","selecteditem","selecteditemtext","visitedtext","transparent","currentcolor","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),Dd=/^(?:linear|ease|step-start|step-end|spring|bounce|[a-z]+-(?:in|out|in-out))$/i,$d=/^(?:cubic-bezier|steps|linear|spring)\([^()]*\)$/i,jd={"number|percentage":["number","percentage"],"length|percentage":["length","percentage"],"angle|keyword":["angle"]};function Hd(e){return jd[e]??[e]}var Vd=new Set(["length","percentage","number"]),Fd=new Set(["number","number|percentage"]),Gd=/^[\d.\s+\-*/%a-z,]$/i,Bd=/^--[\w-]+$/;function Me(e,t){let r=e.trim(),n=Yd(r,t);if(n)return n;let o=Wd(r,t);if(o)return o;if(t.type==="text")return{value:r,ok:!0};if(t.type==="path")return zd(r,t);let i=qd(r,t.type);return Xd(i,t.type)?Qd(i,t):ue(t,`not a valid ${Jd(t)}`)}function Wd(e,t){return t.type!=="keyword"&&t.type!=="angle|keyword"?null:t.keywords?.includes(e)?{value:e,ok:!0}:t.type!=="keyword"?null:ue(t,`expected one of ${t.keywords?.join(", ")||"(none declared)"}`)}function qd(e,t){return t==="angle"||t==="angle|keyword"?Id(e):t==="number|percentage"?Kd(e):e}function Kd(e){return ss.percentage.test(e)?fe(e.slice(0,-1),-2)??e:e}function fe(e,t=0){let r=Ld.exec(e);if(!r||e.length>vn)return;let[,n,o,i]=r,s=o.replace(".",""),a=o.indexOf("."),c=(a<0?s.length:a)+Number(i??0)+t;if(Math.abs(c)+s.length>190)return;let u="0".repeat(Math.max(0,-c))+s+"0".repeat(Math.max(0,c-s.length)),l=Math.max(0,c),p=u.slice(0,l).replace(/^0+/,"")||"0",m=Ud(u,l);return`${n==="-"?"-":""}${p}${m}`}function Ud(e,t){let r=e.length;for(;r>t&&e[r-1]==="0";)r--;return r>t?"."+e.slice(t,r):""}function as(e){return e.length<=vn&&!is.test(e)}function zd(e,t){return Cd.test(e)?/^[Mm]/.test(e)?{value:`"${e}"`,ok:!0}:ue(t,"path data must start with a moveto (M or m)"):ue(t,"path data contains an unsupported character")}function Yd(e,t){if(!e)return ue(t,"empty value");let r=t.type==="path"?Ad:vn;return e.length>r?ue(t,`value exceeds ${r} characters`):is.test(e)?ue(t,"value contains disallowed CSS syntax"):null}function Xd(e,t){if(t==="color")return Zd(e);if(t==="easing")return Dd.test(e)||$d.test(e);let r=Hd(t);return r.some(n=>ss[n]?.test(e))?!0:r.some(n=>Vd.has(n))?ef(e)&&nf(e):!1}function Jd(e){return e.type==="angle|keyword"?`angle or one of ${e.keywords?.join(", ")||"(none declared)"}`:e.type.replace("|"," or ")}function Zd(e){return Od.test(e)||Nd.test(e)||_d.has(e.toLowerCase())}function cs(e){return!Td.test(e)}function Qd(e,t){if(!Fd.has(t.type))return{value:e,ok:!0};let r=Number(e);return t.finite&&!Number.isFinite(r)?ue(t,"expected a finite number"):t.integer&&!Number.isInteger(r)?ue(t,"expected an integer"):t.minimum!==void 0&&r<t.minimum?ue(t,`expected at least ${t.minimum}`):t.maximum!==void 0&&r>t.maximum?ue(t,`expected at most ${t.maximum}`):{value:e,ok:!0}}function ue(e,t){return{value:e.default,ok:!1,reason:t}}function ef(e){if(!e.startsWith("calc(")||!e.endsWith(")"))return!1;let t=e.length-1,r=5;for(;r<t;)if(r=tf(e,r,t),r<0)return!1;return!0}function tf(e,t,r){return e.startsWith("var(",t)?rf(e,t,r):Gd.test(e[t])?t+1:-1}function rf(e,t,r){let n=e.indexOf(")",t+4);if(n<0||n>=r)return-1;let o=e.slice(t+4,n);return Bd.test(o)?n+1:-1}function nf(e){let t=e.slice(5,-1).trim();return t!==""&&!/[+\-*/]$/.test(t)}function us(e,t,r){let n={};for(let[o,i]of Object.entries(e)){let s=Object.hasOwn(t,o)?t[o]:void 0;if(!s){r(`unknown parameter "${o}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}if(s.type==="text")continue;let a=Me(i,s);if(!a.ok){r(`parameter "${o}": ${a.reason} \u2014 got "${i}", using default "${s.default}"`);continue}n[s.cssProperty]=of(a.value,s,o,r)}return n}function of(e,t,r,n){if(t.type!=="easing")return e;for(let o of $t(e))n(`parameter "${r}": ${o}`);return Te(e)}var ps={viewportWidth:0,viewportHeight:0,percentBasis:0,fontSize:16,rootFontSize:16},sf={px:1,cm:96/2.54,mm:96/25.4,q:96/101.6,in:96,pt:96/72,pc:16},af={vh:e=>e.viewportHeight/100,vw:e=>e.viewportWidth/100,vmin:e=>Math.min(e.viewportWidth,e.viewportHeight)/100,vmax:e=>Math.max(e.viewportWidth,e.viewportHeight)/100,"%":e=>e.percentBasis/100,em:e=>e.fontSize,rem:e=>e.rootFontSize,ch:e=>e.fontSize*.5,ex:e=>e.fontSize*.5},bn=/^(-?(?:\d+(?:\.\d+)?|\.\d+))([a-z%]*)$/i;function cf(e,t,r){let n={};for(let[o,i]of Object.entries(t))n[o]=i.default;for(let[o,i]of Object.entries(e)){let s=Object.hasOwn(t,o)?t[o]:void 0;if(!s){r(`unknown parameter "${o}" (known: ${Object.keys(t).join(", ")||"none"})`);continue}let a=Me(i,s);n[o]=a.value,a.ok||r(`parameter "${o}": ${a.reason} \u2014 got "${i}", using default "${s.default}"`)}return n}function ht(e,t=0){let r=bn.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),o=r[2].toLowerCase();return o==="ms"?n:o==="s"?n*1e3:t}function ge(e,t,r=0){let n=bn.exec(e.trim());if(!n)return r;let o=Number.parseFloat(n[1]),i=n[2].toLowerCase();if(i==="")return o===0?0:r;let s=sf[i];if(s!==void 0)return o*s;let a=af[i];return a?o*a(t):r}function uf(e,t=0){let r=bn.exec(e.trim());if(!r)return t;let n=Number.parseFloat(r[1]),o=r[2];return o===""?n:o==="%"?n/100:t}var lf={type:"easing",default:"",cssProperty:"--kui-ease"};function ls(e,t,r){if(e===void 0)return;let n=ht(e,Number.NaN);if(Number.isFinite(n))return n;r(`${t} "${e}" is not a valid time \u2014 ignored`)}function pf(e,t){if(e===void 0)return;let r=Me(e,lf);if(r.ok)return r.value;t(`easing "${e}": ${r.reason} \u2014 ignored`)}function ms(e,t){return{durationMs:ls(e.duration,"duration",t),delayMs:ls(e.delay,"delay",t),easing:pf(e.easing,t)}}function Z(e,t){return e.timing.durationMs??e.ms("duration",t)}function mf(e,t={}){return{text:(r,n="")=>e[r]??n,ms:(r,n=0)=>ht(e[r]??"",n),num:(r,n=0)=>uf(e[r]??"",n),is:(r,n="true")=>(e[r]??"")===n,timing:t}}function ds(e,t,r,n={}){return mf(cf(e,t,r),n)}var df="600ms",gs="0ms";function Yt(e,t){return e??`var(${Re(t,"duration")}, ${df})`}function ff(e,t){return e??`var(${Re(t,"delay")}, ${gs})`}var gf=/^(with|after)/i,yf=/^([+-])(\d+(?:\.\d+)?|\.\d+)(ms|s)$/i,hf=/^(?:\d+(?:\.\d+)?|\.\d+)(?:ms|s)$/i,vf=new Set(["view","scroll"]);function bf(e){let t=e.trim(),r=gf.exec(t),n=r?.[1]?.toLowerCase()==="with"?"start":"end",o=r?t.slice(r[0].length):t;if(o==="")return r?{ok:!0,position:{anchor:n,offsetMs:0,term:""}}:{ok:!1,reason:fs(t)};let i=yf.exec(o);if(!i)return{ok:!1,reason:fs(t)};let[,s,a,c]=i,u=`${a}${c}`,l=ht(u,0);return{ok:!0,position:{anchor:n,offsetMs:s==="-"?-l:l,term:` ${s} ${u}`}}}function fs(e){return hf.test(e)?`at:"${e}" is an absolute position, which is only another spelling of delay:${e} \u2014 write at:+${e} to start that long after the previous effect ends, at:-${e} to overlap it by that much, or at:with to start alongside it`:`at:"${e}" is not a position \u2014 expected at:with, at:after, or a signed time such as at:-200ms, at:+100ms or at:with+150ms`}function ys(e,t,r){let n={members:e,steps:[],warn:r},o=!1;for(let[i,s]of e.entries()){if(s.at===void 0){n.steps.push(hs(s));continue}!o&&vf.has(t)&&(o=!0,r(xf(t))),n.steps.push(Ef(n,i))}return n.steps}function hs(e){return{delayExpr:ff(e.delay,e.primitiveId),delayMs:En(e.delay??e.cascadeDelay??gs)??0,sequenced:!1}}function Ef(e,t){let r=e.members[t],n=hs(r),o=bf(r.at);if(!o.ok)return e.warn(`"${r.name}": ${o.reason}`),n;let i=Sf(e,t);return i?(e.warn(i),n):(r.delay!==void 0&&e.warn(`"${r.name}" has both a positional delay (${r.delay}) and at:"${r.at}" \u2014 the delay is ignored, because at: positions the effect itself`),Pf(e,t,o.position,n))}function Sf(e,t){let r=e.members[t];return t===0?`"${r.name}" is the first effect in the list, so at:"${r.at}" has nothing to be relative to \u2014 using its own delay instead`:r.positionable?null:`"${r.name}" is rendered in JavaScript and declares no "delay", so at:"${r.at}" cannot position it \u2014 it starts with the rest of the list`}function Pf(e,t,r,n){let o=e.members[t-1],i=e.steps[t-1];if(r.anchor==="start")return{delayExpr:`${i.delayExpr}${r.term}`,delayMs:i.delayMs+r.offsetMs,sequenced:!0};if(Mi(o.repeat))return wf(e,t,n);let s=En(o.duration??o.cascadeDuration??"");if(s===void 0)return kf(e,t,n);let a=Ht(Yt(o.duration,o.primitiveId),o.repeat);return{delayExpr:`${i.delayExpr} + ${a}${r.term}`,delayMs:i.delayMs+s*(jt(o.repeat)??1)+r.offsetMs,sequenced:!0}}function kf(e,t,r){let n=e.members[t],o=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${o.name}": "${o.name}" has no readable duration, so it has no end to measure from \u2014 give it an explicit duration, or use at:with to start alongside it instead`),r}function wf(e,t,r){let n=e.members[t],o=e.members[t-1];return e.warn(`cannot start "${n.name}" relative to the end of "${o.name}": "${o.name}" has repeat:infinite, so it never ends \u2014 use at:with to start alongside it, or give it a finite repeat count`),r}function xf(e){return`at: compiles to an animation-delay, and a "${e}" timeline is driven by scroll position rather than a clock, so it ignores one \u2014 position a scroll-driven effect with a range instead (the trailing tokens of data-kui-timeline, e.g. data-kui-timeline="${e} entry 0% cover 60%"). The delay still applies where the browser has no scroll-driven animations and the effect degrades to a clock.`}function En(e){let t=ht(e,Number.NaN);return Number.isFinite(t)?t:void 0}function vs(e){return En(e)!==void 0}function bs(){return{names:[],keyframes:[],durations:[],delays:[],ends:[],easings:[],iterationCounts:[],directions:[],compositions:[]}}function Tf(e){let{preset:t}=e.resolved;return e.variant?.keyframes??[t.keyframes??`kui-${t.name}`]}function Af(e){return`--kui-fx-${e}-iterations`}function Es(e,t,r){let{spec:n,resolved:o}=t,i=o.primitive.id,s=Yt(n.duration,i),a=Cf(r.delayExpr),c=`${r.delayExpr} + ${Ht(s,n.repeat)}`,u=ws(n.easing,i),l=n.repeat??`var(${Af(o.preset.name)}, 1)`,p=Ii(n.yoyo),m=t.composite??"replace";for(let f of Tf(t))e.names.push(ui(f,n.gate)),e.keyframes.push(f),e.durations.push(s),e.delays.push(a),e.ends.push(c),e.easings.push(u),e.iterationCounts.push(l),e.directions.push(p),e.compositions.push(m)}function Ss(e,t,r,n){let{spec:o,resolved:i}=r,{preset:s,primitive:a}=i;for(let c of s.transitions??[]){let u=t.get(c.property);u!==void 0&&u!==s.name&&n.push(`"${u}" and "${s.name}" both transition ${c.property} \u2014 "${s.name}" wins (last in the list)`),t.set(c.property,s.name);let l=c.duration??Yt(o.duration,a.id),p=c.easing??ws(o.easing,a.id),m=`var(--kui-tx-delay-${s.name}, 0ms)`;e.push(`${c.property} ${l} ${p} ${m}`)}}function Ps(e,t){if(e.names.length===0)return{};let r=t==="pin"?Rf(e):e.delays.map(ks),n={"animation-name":e.names.join(", "),"animation-duration":e.durations.join(", "),"animation-delay":r.join(", "),"animation-timing-function":e.easings.join(", "),"animation-iteration-count":e.iterationCounts.join(", "),"animation-fill-mode":e.names.map(()=>"both").join(", ")};return e.directions.some(o=>o!=="normal")&&(n["animation-direction"]=e.directions.join(", ")),e.compositions.some(o=>o!=="replace")&&(n["animation-composition"]=e.compositions.join(", ")),n}function Cf(e){return`${e} + var(--kui-i, 0) * var(--kui-stagger, 0ms)`}function ks(e){return`calc(${e})`}function Rf(e){let t=[...new Set(e.ends)],n=`${t.length===1?t[0]:`max(${t.join(", ")})`} + (var(--kui-stagger-count, 1) - 1) * var(--kui-stagger, 0ms)`;return e.delays.map(o=>ks(`${o} - var(--kui-progress, 0) * (${n})`))}function ws(e,t){return e?Te(e):`var(${Re(t,"ease")}, ease-out)`}var Sn=new Set(["time","view","scroll","pointer","pin"]);function xs(e){return{source:e.getAttribute(k.source)??"",on:e.getAttribute(k.on),timeline:e.getAttribute(k.timeline),threshold:e.getAttribute(k.threshold)}}function Ts(e,t){let r=t.timeline??e.timeline??"time",[n="time",...o]=r.trim().split(/\s+/),i=Vi(e.on),s=t.activation??i.activation;return{activation:s??"enter",activationAuthored:s!==void 0,...Mf({parsed:t,longhand:i}),...t.actions===void 0?{}:{actions:Ft(t.actions)},timeline:Sn.has(n)?n:"time",range:o.join(" "),threshold:t.threshold??e.threshold??"0%"}}function As(e,t){if(e===void 0)return t;let[r]=e.trim().split(/\s+/);return Sn.has(r)?r:t}function Cs(e,t){if(!t)return e;let r=t.activation,n={...e,activation:r??e.activation,activationAuthored:r!==void 0||e.activationAuthored};if(t.actions!==void 0&&(n.actions=Ft(t.actions)),t.timeline!==void 0){let[o="time",...i]=t.timeline.trim().split(/\s+/);n.timeline=Sn.has(o)?o:e.timeline,n.range=i.join(" ")}return t.threshold!==void 0&&(n.threshold=t.threshold),n}function Mf({parsed:e,longhand:t}){return e.activation!==void 0||t.from===void 0?{}:{activationSource:t.from}}var Xt={shorten:0,crossfade:1,disable:2};function Rs(e){let t=e.map(o=>o.defaultActivation),r=t.find(o=>o!==void 0),n=e.findIndex(o=>o.phase==="entrance");return r===void 0||n===-1?r:t[n]??"enter"}function Ms(e){let t="shorten";for(let{plan:r}of e)t=kn(t,r.reducedMotion);for(let{plan:r}of e)r.reducedMotion=t}function Is(e,t,r){return t===void 0?e:Xt[t]<Xt[e]?(r.push(`"rm:${t}" is weaker than the "${e}" these effects declare \u2014 keeping "${e}" (rm: may only strengthen the reduced-motion policy)`),e):t}function Pn(e,t){return e?e.filter(r=>t.includes(r)):[...t]}function kn(e,t){return Xt[t]>Xt[e]?t:e}var If=/^[.#[*:]/,Lf=/[>~+]/;function Of(e){return If.test(e)||Lf.test(e)}function Ls(e,t){let r=[];for(let[n,o]of e.entries()){let i=e[n-1]?.params.target;!i||t.has(o.name)||!Of(o.name)||r.push({previous:i,segment:o.name})}return r}function Os(e){return`target:${e.previous} looks like it continues into "${e.segment}", but a comma always starts a new effect segment \u2014 a target: selector containing a comma must be quoted, e.g. target:'${e.previous}, ${e.segment}'`}function wn(e){let t=e.resolved.primitive.channels;return e.variant?.channels?[...t,...e.variant.channels]:t}function Jt(e){return e.variant?.params??e.spec.params}function Nf(e){let t=e.variant?.schema;return t?{...e.resolved.primitive.parameters,...t}:e.resolved.primitive.parameters}function Zt(e,t,r){let n=[...e.warnings],o=Ls(e.specs,t);for(let f of o)n.push(Os(f));let i=o.length>0?{suspectSelectors:o.map(f=>f.segment)}:{},{entries:s,unknown:a}=Vf(e.specs,t,n);if(s.length===0)return{targets:[{selector:"",scope:"self",specs:[],plan:js(a,[])}],warnings:n,...i};let c=s.map(f=>qf(Wf(f,n),r,n)),u=ys(c.map(Yf),r,f=>n.push(f)),l=c.map((f,d)=>({...f,step:u[d]}));jf(l,e.activation,n);let p=Hf(l).map(({selector:f,scope:d,entries:g})=>{let h=[],v=Uf(g,t,h),E=Df(g,h),w=As(E?.timeline,r),C=zf(v,w,a,h);return C.defaultActivation=Rs(v.map(F=>({phase:xn(F),defaultActivation:F.resolved.primitive.defaultActivation}))),{selector:f,scope:d,hoists:E,specs:g.map(F=>F.spec),plan:C}});Ms(p);let m=Is(p[0].plan.reducedMotion,e.rm,n);for(let f of p)f.plan.reducedMotion=m;return{targets:p,warnings:n,...i}}function Ds(e,t){if(!e.specs.some(i=>i.hoists))return e;let r=[...e.warnings],n={...e,warnings:r},o=e.specs.map(i=>{if(!i.hoists||!_f(i,t))return i;for(let a of je){let c=i.hoists[a];c!==void 0&&re(n,a,c,$s[a])}let s={...i};return delete s.hoists,s});return{...n,specs:o}}function _f(e,t){let r=t.resolve(e.name);return r?Object.hasOwn(r.primitive.parameters,"target"):!0}var $s={activation:"activations",actions:"crossing actions",timeline:"timelines",threshold:"thresholds",cascade:"stagger steps",spread:"stagger budgets",order:"stagger orders",cols:"stagger column counts",along:"stagger axes"};function Df(e,t){let r;for(let n of e)n.spec.hoists&&(r=$f(r??{},n.spec.hoists,t));return r}function $f(e,t,r){for(let n of je){let o=t[n];if(o===void 0)continue;let i=e[n];i===void 0?e[n]=o:i!==o&&r.push(`conflicting ${$s[n]} "${i}" and "${o}" in one target: group \u2014 the first wins`)}return e}function jf(e,t,r){for(let n=1;n<e.length;n++){let o=e[n];if(!o.step.sequenced)continue;let i=e[n-1];if(Ns(o)===Ns(i))continue;let s=o.spec.hoists?.activation??t,a=i.spec.hoists?.activation??t;s!==a&&r.push(`"${o.spec.name}"'s at:"${o.spec.at}" is relative to "${i.spec.name}", which targets a different element and may start on a different trigger \u2014 the offset is relative to each one's own start, not a shared clock`)}}function Ns(e){return`${e.scope??"self"} ${e.target??""}`}function Hf(e){let t=new Map,r=[];for(let o of e){let i=o.target??"",s=o.scope??"self",a=`${s} ${i}`,c=t.get(a);c||(c={selector:i,scope:s,entries:[]},t.set(a,c),r.push(c)),c.entries.push(o)}let n=r.findIndex(o=>o.selector==="");if(n>0){let[o]=r.splice(n,1);r.unshift(o)}return r}function js(e,t){return{fxNames:[],vars:{},declarations:{},keyframeNames:[],jsEffects:[],unknown:e,reducedMotion:"shorten",supportedActivations:[],activationClaims:[],supportedTimelines:[],channels:[],warnings:t}}function Vf(e,t,r){let n=[],o=[];for(let i of e){let s=t.resolve(i.name);if(!s){o.push(i.name),Gf(i.name,t,r);continue}n.push(Ff(i,s,r))}return{entries:n,unknown:o}}function Ff(e,t,r){let n=Bf(e,t,r),o=t.primitive.variantFor?.(n.spec,s=>r.push(s)),i=o?{spec:n.spec,resolved:t,variant:o}:{spec:n.spec,resolved:t};return n.target!==void 0&&(i.target=n.target,i.scope=n.scope),i}function Gf(e,t,r){let n=Ye(e,t.names()),o=n?` \u2014 did you mean "${n}"?`:"";r.push(`unknown effect "${e}"${o}`)}function Bf(e,t,r){if(Object.hasOwn(t.primitive.parameters,"target"))return{spec:e};let n=e.params.target;if(!n)return{spec:e};let o={...e.params},i=o.scope;delete o.target,delete o.scope;let s={...e,params:o};return t.preset.requiresOwnSubtree?(r.push(`"${t.preset.name}" cannot be retargeted \u2014 its CSS reaches past the animated element itself, so "target:${n}" is dropped and it stays on the host`),{spec:s}):{spec:s,target:n,scope:i==="page"?"page":"self"}}function Wf(e,t){let{spec:r,resolved:n}=e;if(n.primitive.renderer==="css-keyframes"||!r.gate?.wide&&!r.gate?.narrow)return e;t.push(`"${r.name}" ignores "wide:"/"narrow:" \u2014 container gates are not supported on JavaScript-rendered effects yet, so it runs unconditionally`);let{above:o,below:i}=r.gate;return{...e,spec:{...r,gate:o||i?{above:o,below:i}:void 0}}}function qf(e,t,r){let{spec:n,resolved:o}=e;if(n.repeat===void 0&&n.yoyo===void 0)return e;let{repeat:i,yoyo:s,warnings:a}=Ri({name:o.preset.name,renderer:o.primitive.renderer,cloak:o.preset.cloak,timeline:t,repeat:n.repeat,yoyo:n.yoyo});return r.push(...a),{...e,spec:{...n,repeat:i,yoyo:s}}}function xn(e){if(e.spec.repeat==="infinite")return"idle";let{preset:t}=e.resolved;if(t.phase)return t.phase;if(t.transitions?.length)return"state"}function Kf(e){return e.resolved.primitive.renderer!=="css-keyframes"||e.variant?.keyframes?!1:es(wn(e))}function Uf(e,t,r){if(e.length<=1)return e;let n=e.map(m=>({name:m.spec.name,channels:wn(m),gate:m.spec.gate,phase:xn(m),additive:Kf(m),delivery:m.resolved.preset.delivery,inlineAnimation:m.resolved.primitive.renderer==="css-keyframes"})),o=rs(n),i=ns(n);if(o.length===0&&i.length===0)return e;if(i.length===0){let m=ts(n,o);if(m)return e.map((f,d)=>m.has(d)?{...f,composite:"add"}:f)}let s=t.findCombo(e.map(m=>m.spec.name)),a=s?`Use the "${s.preset.name}" effect instead.`:"Apply them to nested elements, or register a combined effect.",c=e[0].spec.name,l=`Dropped ${e.slice(1).map(m=>`"${m.spec.name}"`).join(", ")} \u2014 only "${c}" will run.`,p=[...o.length>0?[os(o)]:[],...i];return r.push(`cannot compose: ${p.join("; ")}. ${l} ${a}`),[e[0]]}function zf(e,t,r,n){let o=js(r,n),i=bs(),s=new Set,a=[],c=new Map,u,l;for(let p of e){let{preset:m,primitive:f}=p.resolved,d=p.step;o.fxNames.push(m.name),o.reducedMotion=kn(o.reducedMotion,f.reducedMotion),u=Pn(u,f.supportedActivations),o.activationClaims.push({supported:f.supportedActivations,entrance:xn(p)==="entrance"}),l=Pn(l,f.supportedTimelines);for(let g of wn(p))s.add(g);Jf(m.name,f.supportedTimelines,t,n),Object.assign(o.vars,us(Jt(p),Nf(p),g=>n.push(g))),f.renderer==="css-keyframes"?Es(i,p,d):o.jsEffects.push(Xf(p,d)),Ss(a,c,p,n)}return Object.assign(o.declarations,Ps(i,t)),o.keyframeNames=i.keyframes,a.length>0&&(o.transition=a.join(", ")),o.supportedActivations=u,o.supportedTimelines=l,o.channels=[...s],o}function Yf(e){let{spec:t,resolved:r}=e,{preset:n,primitive:o}=r,i=Jt(e);return{name:n.name,primitiveId:o.id,at:t.at,delay:t.delay,duration:t.duration,cascadeDelay:_s(i,n,o.parameters,"delay"),cascadeDuration:_s(i,n,o.parameters,"duration"),repeat:t.repeat,positionable:o.renderer==="css-keyframes"||Object.hasOwn(o.parameters,"delay")}}function _s(e,t,r,n){return[e[n],t.params?.[n],r[n]?.default].find(i=>i!==void 0&&vs(i))}function Xf(e,t){return t.sequenced?{...e,sequencedDelayMs:t.delayMs}:e}function Jf(e,t,r,n){t.includes(r)||n.push(`"${e}" does not support timeline "${r}" (supports: ${t.join(", ")})`)}function Hs(){return{derived:new WeakMap,hosts:new WeakMap,groups:new WeakMap,contexts:new WeakMap,unions:new WeakMap,cleanups:new WeakMap}}function Qt(e,t){return[...e.derived.get(t)??[]]}function Vs(e,t){return e.hosts.get(t)}function Zf(e){return e.status==="running"&&e.direction!=="reverse"}function Qf(e){return e.status==="running"}function eg(e){return e.status==="failed"}function tg(e){return e.status==="finished"||e.status==="failed"}function rg(e){return e.status==="ready"}function ng(e,t){let r=[];for(let n of Qt(e.book,t)){let o=e.stateOf(n);o&&r.push(o)}return r}function og(e,t,r,n){r.status!=="running"&&(e.writeStatus(t,r,"running"),n.some(Zf)&&e.emit(t,r,X.start,"activated"))}function ig(e,t,r,n){if(r.status==="finished")return;let o=r.status==="running";e.writeStatus(t,r,"finished"),!n.every(i=>i.cancelled===!0)&&e.emit(t,r,X.finish,o?"complete":"reduced-motion")}function vt(e,t){let r=e.stateOf(t);if(!r||!r.aggregate)return;let n=ng(e,t);n.length!==0&&(n.some(Qf)?og(e,t,r,n):n.every(eg)?e.writeStatus(t,r,"failed"):n.every(tg)?ig(e,t,r,n):n.every(rg)&&e.writeStatus(t,r,"ready"))}function sg(e){return e.map(t=>`${t.scope} ${t.selector}`).sort((t,r)=>t.localeCompare(r)).join("")}function Fs(e,t,r){let n=sg(r),o=e.book.unions.get(t.host),i=o?.get(n);if(i)return i;let s=r[0],c=Zt({specs:r.flatMap(f=>f.specs),warnings:[]},e.registry,t.timeline).targets[0];c.plan.reducedMotion=s.plan.reducedMotion;let u=t.host.ownerDocument?.defaultView??void 0;c.plan.jsEffects=c.plan.jsEffects.filter(f=>It(f.spec.gate,u));let l=new Set(r.flatMap(f=>f.plan.warnings));for(let f of c.plan.warnings)l.has(f)||e.reporter.warn(f,t.host);let p={...c,selector:s.selector,scope:s.scope},m=o??new Map;return m.set(n,p),o||e.book.unions.set(t.host,m),p}function bt(e){let{plan:t,config:r,capabilities:n,respectReducedMotion:o}=e,i=o&&n.reducedMotion,{scrubbed:s,useNativeTimeline:a}=ag(t,r,n),c={...t.vars,...t.declarations};Object.assign(c,cg(t)),Object.assign(c,ug(r,n,a));let u=Object.keys(t.declarations).length>0,l=e.elementHasCssAnimation??u,p=lg({useNativeTimeline:a,scrubbed:s&&l,reduce:i,activation:r.activation,hasWork:l||t.jsEffects.length>0,hasCssAnimation:u,unsupportedTransform:pg(t.channels,n)});return(p==="deferred"||p==="scrubbed")&&(c["animation-play-state"]="paused"),{properties:c,attributes:{[k.normalized]:t.fxNames.join(" "),[k.rm]:t.reducedMotion,[k.state]:"ready"},gate:p,activation:p==="deferred"?dg(r):null}}function ag(e,t,r){let n=t.timeline==="pin"&&e.supportedTimelines.includes("pin"),o=!n&&mg(t.timeline,r)&&e.supportedTimelines.includes(t.timeline);return{scrubbed:n,useNativeTimeline:o}}function cg(e){return e.transition?{"--kui-transition":e.transition}:{}}function ug(e,t,r){if(!r)return{};let n={"animation-timeline":e.timeline==="scroll"?"scroll()":"view()"};return t.animationRange&&(n["animation-range"]=e.range||(e.timeline==="scroll"?"0% 100%":"entry 0% cover 60%")),n}function lg(e){return e.useNativeTimeline?"native-timeline":e.scrubbed?"scrubbed":!e.hasWork||e.reduce||sn(e.activation)==="immediate"||e.unsupportedTransform?"immediate":"deferred"}function pg(e,t){return t.individualTransforms?!1:e.some(r=>r==="translate"||r==="rotate"||r==="scale")}function mg(e,t){return e==="view"?t.viewTimeline:e==="scroll"?t.scrollTimeline:!1}function dg(e){let t="enter";return e.timeline!=="time"&&sn(e.activation)==="manual"?t:e.activation}var fg=["cascade","spread","order","cols","along"];function Gs(e){let t={};for(let r of fg){let n=e(r);n!==void 0&&(t[r]=n)}return Object.keys(t).length>0?t:void 0}function er(e){return Gs(t=>e[t])}function tr(e,t){return Gs(r=>e?.[r]??t?.[r])}function Bs(e){return e?.cascade!==void 0||e?.spread!==void 0||e?.order!==void 0}var Je=new WeakMap;function Ws(e){Je.set(e,(Je.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let r=Je.get(e)-1;r>0?Je.set(e,r):Je.delete(e)}}function qs(e){return Je.has(e)}function Tn(e,t,r){let n=tr(r.hoists,er(t.parsed));return Bs(n)?t.host:void 0}function Ks(e){return e.gateOwner!==void 0}function gg(e,t,r){for(let n of t.members)r&&e.stateOf(n)?.status!=="ready"||e.activateOne(n)}function yg(e,t){for(let r of t.members)e.deactivateOne(r)}function hg(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function vg(e,t,r){let n=bt({plan:r.target.plan,config:r.config,capabilities:e.capabilities,respectReducedMotion:e.respectReducedMotion});if(n.gate!=="deferred")return;let o=n.activation,i=pt(le(o)),s=e.binder.bind(t,o,{threshold:r.config.threshold,from:r.config.activationSource,activate:()=>gg(e,r,i),deactivate:()=>yg(e,r)});hg(e,t,s)}function Us(e,t){let r=e.book.groups.get(t);if(r!==void 0)for(let n of r)n.gateOwner===t&&vg(e,t,n)}function j(e){let t=e.style,r=new Map,n=e.hasAttribute("style");function o(i){if(r.has(i))return;let s=t.getPropertyValue(i);r.set(i,s===""?void 0:{value:s,priority:t.getPropertyPriority(i)})}return{set(i,s){o(i),t.setProperty(i,s)},claim:o,restore(){for(let[i,s]of r)s===void 0?t.removeProperty(i):t.setProperty(i,s.value,s.priority);r.clear(),!n&&t.length===0&&!e.getAttribute("style")&&e.removeAttribute("style")},owned:()=>[...r.keys()],peek(i){if(!r.has(i))return;let s=r.get(i);return s===void 0?"":s.value}}}function x(e){let t=new Map;return{set(r,n){t.has(r)||t.set(r,e.getAttribute(r)),e.setAttribute(r,n)},remove(r){t.has(r)||t.set(r,e.getAttribute(r)),e.removeAttribute(r)},restore(){for(let[r,n]of t)n===null?e.removeAttribute(r):e.setAttribute(r,n);t.clear()}}}var zs=Symbol.for("kuinetic.owned-styles.1");function Ys(e){let r=e[zs];return r||(r=new Map,Object.defineProperty(e,zs,{value:r,configurable:!0,writable:!0})),r}function bg(e,t,r){let n=Ys(e),o=n.get(t);return o||(o={ledger:r(e),owners:new Set},n.set(t,o)),o}function Xs(e,t){let r={},n=new Map;return{join(o){let i=n.get(o);return i||(i=bg(o,e,t),i.owners.add(r),n.set(o,i)),i.ledger},held:o=>n.get(o)?.ledger??null,leave(o){let i=n.get(o);i&&(n.delete(o),i.owners.delete(r),!(i.owners.size>0)&&(Ys(o).delete(e),i.ledger.restore()))},elements:()=>[...n.keys()]}}function Eg(){let e=Xs("style",j),t=new WeakMap;function r(n){return{set:(o,i)=>{e.join(n).set(o,i)},claim:o=>{e.join(n).claim(o)},restore:()=>{e.leave(n)},owned:()=>e.held(n)?.owned()??[],peek:o=>e.held(n)?.peek(o)}}return{style(n){let o=t.get(n);return o||(o=r(n),t.set(n,o)),e.join(n),o},release:n=>{e.leave(n)},elements:()=>e.elements()}}function Sg(){let e=Xs("attributes",x),t=new WeakMap;function r(n){return{set:(o,i)=>{e.join(n).set(o,i)},restore:()=>{e.leave(n)}}}return{attributes(n){let o=t.get(n);return o||(o=r(n),t.set(n,o)),e.join(n),o},release:n=>{e.leave(n)},elements:()=>e.elements()}}function Et(e){let t=Eg(),r=Sg();function n(o){t.release(o),r.release(o)}return{style:o=>t.style(o),attributes:o=>r.attributes(o),restore(){for(let o of new Set([...t.elements(),...r.elements()]))o!==e&&n(o);n(e)}}}var Pg=new Set(["start","end","center","edges","random"]),kg=new Set(["from","order"]),wg="spread",xg="cols",Tg=new Set(["axis","along"]),Ag=new Set(["x","y"]),Cg=/^(\d+(?:\.\d+)?|\.\d+)\/(\d+(?:\.\d+)?|\.\d+)$/,Rg=/^\d{1,9}$/,Mg=/^([a-zA-Z-]+):(.*)$/,Ig=/^-?\d{1,9}$/;function Lg(e,t){let r={from:"start"},n={from:!1,spread:!1,cols:!1,along:!1};for(let o of Ae(e," ",t)){let i=Mg.exec(o);i?Og(i[1],i[2],{config:r,seen:n,warnings:t}):r.step=Wg(r.step,o,t)}return{config:r,sawFrom:n.from}}function Og(e,t,r){let n=Ng(e);if(n===void 0){r.warnings.push(`unrecognised key "${e}" in data-kui-stagger \u2014 expected a time step, "spread:", "cols:", "along:", "from:" or "order:"`);return}Dg(n,t,r,e)&&_g[n](t,r,e)}function Ng(e){if(e===wg)return"spread";if(e===xg)return"cols";if(Tg.has(e))return"along";if(kg.has(e))return"from"}var _g={spread:(e,t)=>{t.config.spread=e.trim()},cols:(e,t)=>{t.config.cols=Qs(e,t.warnings)},along:(e,t,r)=>{t.config.along=ea(e,t.warnings,r)},from:(e,t,r)=>{t.config.from=ta(e,t.warnings,r)}};function Dg(e,t,r,n){return r.seen[e]?(r.warnings.push(`duplicate "${n}:" in data-kui-stagger \u2014 "${t}" ignored`),!1):(r.seen[e]=!0,!0)}function Qs(e,t){let r=e.trim();if(r==="auto")return"auto";if(Rg.test(r)&&Number(r)>0)return Number(r);t.push(`unrecognised "cols:${e}" \u2014 expected a column count or "auto"`)}function ea(e,t,r){let n=e.trim();if(Ag.has(n))return n;t.push(`unrecognised "${r}:${e}" \u2014 expected x or y`)}function rr(e,t,r=[]){let n=jg(t);if(!(e===null&&n===void 0))return An(e,n,r)}function An(e,t,r=[]){if(e===null&&t===void 0)return;let{config:n,sawFrom:o}=Lg(e??"",r);return $g(Hg(Vg(n,o,t??{},r),r),r)}function $g(e,t){if(e.spread===void 0||e.step===void 0)return e;t.push(`stagger step "${e.step}" is ignored \u2014 "spread:${e.spread}" already budgets the whole group, and the step is what it divides out`);let r={...e};return delete r.step,r}function jg(e){if(!Gg(e))return;let{cascade:t,spread:r,order:n,cols:o,along:i}=de(e),s={cascade:t,spread:r,order:n,cols:o,along:i};return Object.values(s).some(a=>a!==void 0)?s:void 0}function Hg(e,t){let r={...e};return Js("step",e.step,t)||delete r.step,Js("spread",e.spread,t)||delete r.spread,r}function Js(e,t,r){return t===void 0?!1:as(t)?!0:(r.push(`stagger ${e} "${t}" contains disallowed CSS syntax \u2014 ignored`),!1)}function Vg(e,t,r,n){let o={...e};if(r.cascade!==void 0&&(St("stagger step",e.step,r.cascade,n),o.step=r.cascade),r.spread!==void 0&&(St("stagger budget",e.spread,r.spread,n),o.spread=r.spread),Fg(o,e,r,n),r.order!==void 0){let i=ta(r.order,n,"order");St("stagger order",t?e.from:void 0,i,n),o.from=i}return o}function Fg(e,t,r,n){if(r.cols!==void 0){let o=Qs(r.cols,n);St("stagger columns",t.cols,o,n),o!==void 0&&(e.cols=o)}if(r.along!==void 0){let o=ea(r.along,n,"along");St("stagger axis",t.along,o,n),o!==void 0&&(e.along=o)}}function Gg(e){return Bg.some(t=>e.includes(t))}var Bg=["cascade:","spread:","order:","cols:","along:"];function St(e,t,r,n){t===void 0||r===void 0||t===r||n.push(`conflicting ${e}: data-kui-stagger says "${String(t)}", data-kui says "${String(r)}" \u2014 data-kui wins`)}function Wg(e,t,r){return e===void 0?t:(r.push(`extra token "${t}" in data-kui-stagger (expected one time step)`),e)}function ta(e,t,r="from"){let n=e.trim();if(Pg.has(n))return n;if(Ig.test(n))return Number(n);let o=Cg.exec(n);return o?{x:Zs(Number(o[1]),n,t),y:Zs(Number(o[2]),n,t)}:(t.push(`unrecognised "${r}:${e}" \u2014 expected start, end, center, edges, random, a child index, or an "x/y" point in a grid`),"start")}function Zs(e,t,r){return e>=0&&e<=1?e:(r.push(`stagger order "${t}" is outside the grid (0 to 1 on each axis) \u2014 clamped`),Math.min(Math.max(e,0),1))}var ra=1e3,qg=2654435761,Kg=2246822507,Ug=569420461,zg=1935289751;function oa(e,t){return e.spread===void 0?e.step:t<=0?"0ms":`calc((${e.spread}) / ${String(t)})`}function Rn(e,t,r=[],n){if(e<=0)return[];if(t==="random")return Jg(e);if(n)return sa(e,t,n,r);if(typeof t=="object")return r.push(`stagger order "${String(t.x)}/${String(t.y)}" is a point in a grid, but this group has no "cols:" \u2014 add one, or name an edge with start/end/center/edges`),Rn(e,"start",r);let o=e-1;if(t==="edges")return Array.from({length:e},(s,a)=>Math.min(a,o-a));let i=Yg(t,o,r);return Array.from({length:e},(s,a)=>Math.floor(Math.abs(a-i)))}function Yg(e,t,r){return e==="start"?0:e==="end"?t:e==="center"?t/2:ia(e,t,r)}function ia(e,t,r){return(e<0||e>t)&&r.push(`stagger order "${String(e)}" is outside the group (0 to ${String(t)}) \u2014 clamped`),Math.min(Math.max(e,0),t)}function sa(e,t,r,n){let o=Math.min(Math.max(1,r.cols),e),i=Math.ceil(e/o);if(t==="edges"){let a=sa(e,"center",r,n),c=0;for(let u of a)c=Math.max(c,u);return a.map(u=>Ze(c-u))}let s=Xg(t,{cols:o,rows:i,last:e-1},n);return Array.from({length:e},(a,c)=>{let u=c%o-s.x,l=Math.floor(c/o)-s.y;return r.along==="x"?Ze(Math.abs(u)):r.along==="y"?Ze(Math.abs(l)):Ze(Math.hypot(u,l))})}function Xg(e,t,r){let{cols:n,rows:o,last:i}=t;if(typeof e=="object")return{x:e.x*(n-1),y:e.y*(o-1)};if(e==="start")return{x:0,y:0};if(e==="end")return{x:n-1,y:o-1};if(e==="center")return{x:(n-1)/2,y:(o-1)/2};let s=ia(e,i,r);return{x:s%n,y:Math.floor(s/n)}}function Ze(e){return Math.round(e*ra)/ra}function Jg(e){let t=Array.from({length:e},(n,o)=>o);t.sort((n,o)=>na(n,e)-na(o,e));let r=new Array(e);for(let[n,o]of t.entries())r[o]=n;return r}function na(e,t){let r=(Math.imul(e,qg)^Math.imul(t,Kg))>>>0;return r^=r>>>16,r=Math.imul(r,Ug)>>>0,r^=r>>>15,r=Math.imul(r,zg)>>>0,r^=r>>>15,r>>>0}function aa(e,t){let r=[],n=Zg(e),o=rr(e.getAttribute(k.stagger),e.getAttribute(k.source)??"",r)??{from:"start"},i=ry(e),s=Rn(i.length,o.from,r,da(o,i,r)),a=0;for(let[u,l]of i.entries()){let p=s[u];n.style(l).set("--kui-i",String(p)),ca.set(l,e),p>a&&(a=p)}let c=oa(o,a);c&&n.style(e).set("--kui-stagger",c),n.style(e).set("--kui-stagger-count",String(Ze(a+1)));for(let u of r)t?.warn(u,e)}var nr=new WeakMap,ca=new WeakMap;function ua(e,t){let r=new Set;for(let n of e){let o=ca.get(n);o&&r.add(o)}for(let n of r)aa(n,t)}function Zg(e){nr.get(e)?.restore();let t=Et(e);return nr.set(e,t),t}function Cn(e){nr.get(e)?.restore(),nr.delete(e)}function la(e){let t=`[${k.stagger}], [${k.source}]`;e instanceof Element&&e.matches(t)&&Cn(e);for(let r of e.querySelectorAll(t))Cn(r)}function pa(e,t){or(e,t);let r=e.parentElement;r&&or(r,t)}function or(e,t){ny(e)?aa(e,t):Cn(e)}function ma(e){let{host:t,matches:r,styleOf:n,keys:o,reporter:i}=e,s=[],a=t.getAttribute(k.stagger),c=(o?An(a,o,s):rr(a,t.getAttribute(k.source)??"",s))??{from:"start"},u=ey(Qg(r),c,n,s),l=oa(c,u);l&&n(t).set("--kui-stagger",l),n(t).set("--kui-stagger-count",String(Ze(u+1)));for(let p of s)i?.warn(p,t)}function Qg(e){let t=new Map;for(let r of e){let n=t.get(r.parentElement);n?n.push(r):t.set(r.parentElement,[r])}return t}function ey(e,t,r,n){let o=0;for(let i of e.values()){let s=da(t,i,n),a=Rn(i.length,t.from,n,s);for(let[c,u]of i.entries()){let l=a[c];r(u).set("--kui-i",String(l)),l>o&&(o=l)}}return o}function da(e,t,r){if(e.cols===void 0){e.along!==void 0&&r.push(`"along:${e.along}" names an axis of a grid this group has not declared \u2014 add "cols:" (a column count, or "auto")`);return}let n=e.cols==="auto"?ty(t,r):e.cols;if(n!==void 0)return e.along===void 0?{cols:n}:{cols:n,along:e.along}}function ty(e,t){if(e.length<2)return 1;let r=[],n=!1;for(let s of e){let a=s.getBoundingClientRect();(a.width!==0||a.height!==0)&&(n=!0),r.push(a.left)}if(!n){t.push('"cols:auto" could not measure this group \u2014 none of its children have been laid out yet (display:none, or detached), so the stagger falls back to DOM order');return}let o=Math.sign(r[1]-r[0]);if(o===0)return 1;let i=1;for(let s=1;s<r.length&&Math.sign(r[s]-r[s-1])===o;s++)i=s+1;return i}function ry(e){let t=[];for(let r of e.children)r.hasAttribute(k.source)&&t.push(r);return t}function fa(e,t){let r=`[${k.stagger}], [${k.source}]`;e instanceof Element&&e.matches(r)&&or(e,t);for(let n of e.querySelectorAll(r))or(n,t)}function ny(e){return e.hasAttribute(k.define)||qs(e)?!1:e.hasAttribute(k.stagger)?!0:rr(null,e.getAttribute(k.source)??"")!==void 0}var oy=64;function ir(e){return e.id?`${e.tagName.toLowerCase()}#${e.id}`:e.tagName.toLowerCase()}function ya(e,t){return t.some(r=>e.resolve(r)?.preset.establishes3d===!0)}function ga(e,t){let r=e.stateOf(t);return!r||r.aggregate?!1:ya(e.registry,r.fxNames)}function iy(e,t,r){if(ga(e,t))return t;let n=r.parentElement,o=0;for(;n&&o<oy;){if(n!==t&&ga(e,n))return n;n=n.parentElement,o++}}function Mn(e,t,r){if(t.length===0){e.removeAttribute(k.unmatched);return}let n=t.join(", ");r?r.set(k.unmatched,n):e.setAttribute(k.unmatched,n)}function ha(e,t,r,n){if(!ya(e.registry,n.plan.fxNames))return;let o=iy(e,t,r);if(!o)return;let i=o===t?"its target: host":"an ancestor";e.reporter.warn(`<${ir(r)}> establishes a 3D rendering context nested inside ${i} <${ir(o)}>, which also runs a 3D-establishing effect \u2014 preserve-3d/perspective contexts do not compose when nested, so move one of the two 3D effects off its descendant`,r)}function va(e,t,r){r.scope==="page"&&r.plan.fxNames.some(n=>e.registry.resolve(n)?.preset.cloak===!0)&&t.ownerDocument.documentElement.hasAttribute(k.cloak)&&e.reporter.warn(`target "${r.selector}" (scope:page) on <${ir(t)}> carries a cloaked entrance \u2014 the pre-JS cloak selector only hides descendants of the element it is authored on, so a scope:page match outside <${ir(t)}>'s own subtree will flash unstyled before this library runs; use scope:self, or drop the cloaked preset from this group`,t)}var In=new WeakMap;function sy(e,t,r){let n=In.get(e);n||(n=new WeakMap,In.set(e,n)),n.set(t,r)}function ay(e,t){return In.get(e)?.get(t)}function ba(e){return`${e.scope} ${e.selector}`}function cy(e){return e.length===1?ba(e[0]):e.map(ba).sort((t,r)=>t.localeCompare(r)).join("")}function Ea(e,t,r,n){let o=n.get(r);if(o)return o;let i={...Cs(t.baseConfig,r.hoists)};return i.activation=e.resolveActivation(t.host,i,r.plan),n.set(r,i),i}function uy(e,t,r,n){let o=[],i=[],s=[];for(let a of r){if(a.selector==="")continue;let c=e.resolveGroupMatches(t.host,a);c.length===0&&s.push(a.selector),i.push({target:a,matches:c}),o.push({target:a,config:Ea(e,t,a,n),gateOwner:Tn(e,t,a),members:[]})}return{live:o,resolved:i,unmatched:s}}function ly(e){let t=e.baseConfig;return{host:e.el,fingerprint:e.fingerprint,parsed:e.parsed,baseConfig:t,timeline:t.timeline}}function py(e,t,r){r?e.install({...t,document:{targets:[r],warnings:[]}}):e.installAggregate(t)}function my(e,t,r){let n=e.book.cleanups.get(t)??[];n.push(r),e.book.cleanups.set(t,n)}function Sa(e,t,r){return r.length===1?r[0]:Fs(e,t,r)}function dy(e,t,r){let n=t.host,o=e.stateOf(n);Mn(n,[...r.unmatched,...r.suspects??[]],o.attributes),my(e,n,Ws(n)),sr(e,n),Us(e,n);for(let[i,s]of r.claims)ha(e,n,i,Sa(e,t,s));for(let i of r.resolved)va(e,n,i.target);vt(e,n)}function Pa(e,t){let r=ly(t),n=new Map,{live:o,resolved:i,unmatched:s}=uy(e,r,t.document.targets,n);e.book.contexts.set(r.host,r),e.book.groups.set(r.host,o);let a=Ln(e,r.host,i),c=t.document.targets.find(u=>u.selector==="");if(!c&&a.size===0){r.host.setAttribute(k.state,"failed"),Mn(r.host,[...s,...t.document.suspectSelectors??[]]);return}On(e,r,a,n),py(e,t,c),dy(e,r,{claims:a,resolved:i,unmatched:s,suspects:t.document.suspectSelectors})}function fy(e,t,r){let{book:n}=e;sy(n,r,t),n.hosts.delete(r),n.derived.get(t)?.delete(r);for(let o of n.groups.get(t)??[]){let i=o.members.indexOf(r);i!==-1&&o.members.splice(i,1)}}function gy(e,t){let{book:r}=e;for(let n of[...r.derived.get(t)??[]])e.release(n);for(let n of r.cleanups.get(t)??[])n();r.derived.delete(t),r.groups.delete(t),r.contexts.delete(t),r.unions.delete(t),r.cleanups.delete(t)}function ka(e,t){let r=e.book.hosts.get(t);if(r){fy(e,r,t);return}e.book.derived.has(t)&&gy(e,t)}function wa(e,t){let r=new Set;for(let n of t){let o=ay(e.book,n);o&&r.add(o)}for(let n of r)e.stateOf(n)&&(sr(e,n),vt(e,n))}var yy={host:"is the target: host itself",authored:"already carries its own data-kui and animates itself",claimed:"is already claimed by another target: host"};function hy(e,t,r){if(r===t)return"host";if(r.hasAttribute(k.source))return"authored";let n=e.book.hosts.get(r);if(n!==void 0&&n!==t)return"claimed"}function vy(e,t,r){let n=e.get(r);n?n.push(t):e.set(r,[t])}function by(e,t,r,n){let o=r.plan.fxNames.join(", ");for(let[i,s]of n){let a=s===1?"match":"matches";e.reporter.warn(`target "${r.selector}" (${o}) skipped ${s} ${a} that ${yy[i]}`,t)}}function Ln(e,t,r){let n=new Map;for(let o of r){let i=new Map;for(let s of o.matches){let a=hy(e,t,s);a?i.set(a,(i.get(a)??0)+1):vy(n,o.target,s)}by(e,t,o.target,i)}return n}function Ey(e,t,r,n){let{match:o,targets:i}=r,s=Sa(e,t,i);return{match:o,targets:i,target:s,config:Ea(e,t,s,n)}}function Sy(e,t,r){return r.some(o=>Tn(e,t,o)!==void 0)?t.host:void 0}function Py(e,t,r){let{book:n}=e;n.hosts.set(r.match,t.host);let o=n.derived.get(t.host)??new Set;o.add(r.match),n.derived.set(t.host,o);let i=n.groups.get(t.host)??[];for(let s of r.targets)i.find(a=>a.target===s)?.members.push(r.match)}function ky(e,t,r){e.install({el:r.match,fingerprint:`${t.fingerprint}\0${cy(r.targets)}`,parsed:{specs:r.target.specs,warnings:[]},config:r.config,document:{targets:[{...r.target,selector:"",scope:"self"}],warnings:[]},host:t.host,gateOwner:Sy(e,t,r.targets)}),Py(e,t,r)}function On(e,t,r,n=new Map){let o=[];for(let[i,s]of r){let a=Ey(e,t,{match:i,targets:s},n);ky(e,t,a),o.push(a.match)}return o}function sr(e,t){let r=e.book.contexts.get(t),n=e.book.groups.get(t),o=e.stateOf(t);if(!r||!n||!o)return;let i=er(r.parsed),s=a=>a===t?o.ledgers.style(t):e.stateOf(a).ledgers.style(a);for(let a of n)a.members.length!==0&&ma({host:t,matches:a.members,styleOf:s,keys:tr(a.target.hoists,i),reporter:e.reporter})}var wy=64;function xy(e,t,r){let n=[...e.querySelectorAll(r.selector)];return e.matches(r.selector)&&n.unshift(e),n.filter(o=>t.contains(o)&&o!==t&&!o.hasAttribute(k.part))}function Ty(e,t,r){let n=[],o=new Map;for(let i of r){if(o.set(i,i.members.length),i.target.scope!=="self")continue;let s=xy(e,t,i.target);s.length>0&&n.push({target:i.target,matches:s})}return{resolved:n,before:o}}function Ay(e,t){let r=e.findIndex(n=>!!(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING));return r===-1?e.length:r}function Cy(e,t,r){return t.members.some(n=>!r.includes(n)&&e.stateOf(n)?.status!=="ready")}function Ry(e,t,r){if(t.gateOwner!==void 0&&Cy(e,t,r))for(let n of r)e.activateOne(n)}function My(e,t,r){if(t.members.length===r)return;let n=t.members.splice(r);t.members.splice(Ay(t.members,n[0]),0,...n),Ry(e,t,n)}function Iy(e,t,r){let n=e.book.groups.get(r),o=e.book.contexts.get(r);if(!n||!o)return;let{resolved:i,before:s}=Ty(t,r,n);if(i.length===0)return;let a=Ln(e,r,i);if(a.size!==0){On(e,o,a);for(let c of n)My(e,c,s.get(c));sr(e,r)}}function xa(e,t){if(t.hasAttribute(k.part))return;let r=t.parentElement,n=0;for(;r&&n<wy;)Iy(e,t,r),r=r.parentElement,n++}var Ly=100;function Ca(e){let{root:t,onElementAdded:r,onElementRemoved:n,onAttributeChanged:o}=e,i=e.schedule??Oy,s=e.createObserver??Ny(),a=new Set,c=new Set,u=new Set,l,p=!1,m=!1;function f(E){if(E.type==="attributes"){let w=_n(E.target);w&&u.add(w);return}for(let w of E.addedNodes)Aa(a,_n(w));for(let w of E.removedNodes)Aa(c,_n(w))}function d(E){for(let w of E)f(w);p||(p=!0,i(v))}let g=Ta(t,r),h=Ta(t,o);function v(){if(p=!1,m)return;let E=Ly;E=Nn(c,n,E),E=Nn(a,g,E),Nn(u,h,E),a.size+c.size+u.size>0&&(p=!0,i(v))}return{watch(){s&&(m=!1,l=s(d),l.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[k.source,k.on,k.timeline,k.threshold,k.stagger]}))},destroy(){m=!0,l?.disconnect(),a.clear(),c.clear(),u.clear()}}}function Ta(e,t){return r=>{e.contains(r)&&t(r)}}function Aa(e,t){if(t){for(let r of e){if(r.contains(t))return;t.contains(r)&&e.delete(r)}e.add(t)}}function Nn(e,t,r){for(let n of e){if(r===0)break;e.delete(n),t(n),r--}return r}function _n(e){return e.nodeType===1?e:null}function Oy(e){let t=globalThis.requestAnimationFrame;typeof t=="function"?t(()=>e()):queueMicrotask(e)}function Ny(){if(!(typeof MutationObserver>"u"))return e=>new MutationObserver(e)}function _y(e,t){let r=ms(e.spec,t);return e.sequencedDelayMs!==void 0&&(r.delayMs=e.sequencedDelayMs),r}function Ra(e){let{scheduler:t,rootResolver:r,capabilities:n,reporter:o,respectReducedMotion:i}=e;function s(a,c,u){let l=a.ownerDocument;return{doc:l,win:l.defaultView??globalThis,scheduler:t,rootFor:r,capabilities:n,invalidate:()=>t.invalidate(),warn:p=>o.warn(p,a),reducedMotion:i&&n.reducedMotion,signal:c,style:u}}return{prepare({el:a,plan:c,signal:u,ledger:l}){let p=[];if(c.jsEffects.length===0)return p;let m=s(a,u,l);for(let f of c.jsEffects){let{spec:d,resolved:g}=f,h=g.primitive.prepare;if(!h)continue;let v=w=>o.warn(w,a),E=ds({...g.preset.params,...Jt(f)},g.primitive.parameters,v,_y(f,v));try{p.push(h(a,E,m))}catch(w){o.warn(`"${d.name}" failed to initialise: ${String(w)}`,a)}}return p}}}function Dy(){let e=globalThis.requestAnimationFrame;return typeof e!="function"?{requestFrame:t=>globalThis.setTimeout(t,16),cancelFrame:t=>globalThis.clearTimeout(t)}:{requestFrame:t=>e(t),cancelFrame:t=>globalThis.cancelAnimationFrame(t)}}function Oa(e=Dy()){let t=new Map,r=0,n=null;function o(c){if(c)c.dirty=!0;else for(let u of t.values())u.dirty=!0;n===null&&(n=e.requestFrame(i))}function i(){n=null;for(let c of t.values()){if(!c.dirty||c.subscribers.size===0)continue;c.dirty=!1;let u={metrics:c.root.metrics(),epoch:r};for(let l of[...c.subscribers])l(u)}}function s(c){let u=t.get(c.key);if(u)return u;let l={root:c,subscribers:new Set,detach:[],dirty:!1};return l.detach.push(c.onScroll(()=>o(l))),l.detach.push(c.onResize(()=>{r++,o()})),t.set(c.key,l),l}function a(c){if(!(c.subscribers.size>0)){for(let u of c.detach)u();t.delete(c.root.key)}}return{subscribe(c,u){let l=s(c);return l.subscribers.add(u),o(l),()=>{l.subscribers.delete(u),a(l)}},invalidate(){r++,o()},rootCount:()=>t.size,destroy(){n!==null&&e.cancelFrame(n),n=null;for(let c of t.values()){c.subscribers.clear();for(let u of c.detach)u()}t.clear()}}}function $y(e){return{key:"window",metrics:()=>({scrollTop:e.scrollY,scrollLeft:e.scrollX,viewportWidth:e.innerWidth,viewportHeight:e.innerHeight,viewportTop:0,viewportLeft:0}),onScroll:t=>Dn(e,"scroll",t),onResize:t=>Na(e.document.documentElement,e,t)}}function jy(e,t){return{key:`el:${Vy(e)}`,metrics:()=>{let r=e.getBoundingClientRect();return{scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.clientWidth,viewportHeight:e.clientHeight,viewportTop:r.top,viewportLeft:r.left}},onScroll:r=>Dn(e,"scroll",r),onResize:r=>Na(e,t,r)}}function Dn(e,t,r){return e.addEventListener(t,r,{passive:!0}),()=>e.removeEventListener(t,r)}function Na(e,t,r){let n=Dn(t,"resize",r);if(typeof ResizeObserver>"u")return n;let o=new ResizeObserver(r);return o.observe(e),()=>{n(),o.disconnect()}}var Hy=0,Ma=new WeakMap;function Vy(e){let t=Ma.get(e);if(t)return t;let r=String(++Hy);return Ma.set(e,r),r}function _a(e){let{win:t}=e,r=e.isScrollable??Gy(t),n=$y(t);return o=>{for(let i=o.parentElement;i;i=i.parentElement){if(Fy(i,t))return n;if(r(i))return jy(i,t)}return n}}function Fy(e,t){let r=t.document.documentElement;if(e===r)return!0;if(e!==t.document.body)return!1;let n=t.getComputedStyle(r);return!Ia.has(n.overflowX)&&!Ia.has(n.overflowY)}var Ia=new Set(["auto","scroll","overlay","hidden","clip"]),La=new Set(["auto","scroll","overlay"]);function Gy(e){return t=>{let r=e.getComputedStyle(t),n=La.has(r.overflowY)&&t.scrollHeight>t.clientHeight,o=La.has(r.overflowX)&&t.scrollWidth>t.clientWidth;return n||o}}function Da(e){return Number.isNaN(e)?0:Math.min(1,Math.max(0,e))}function Ve(e){let t=-1,r;return{read(n){return(t!==n||r===void 0)&&(r=e(),t=n),r},clear(){t=-1,r=void 0}}}function $a(){return{warn(e,t){t===void 0?console.warn(`[kuinetic] ${e}`):console.warn(`[kuinetic] ${e}`,t)}}}function ar(){return{warn(){}}}function ja(){let e=[];return{messages:e,warn(t){e.push(t)}}}var Qe="data-kui-time-scale";function Fe(e){let r=e.closest(`[${Qe}]`)?.getAttribute(Qe)?.trim();if(!r)return 1;let n=Number(r);return Number.isFinite(n)?Math.min(4,Math.max(.05,n)):1}function By(e){let t=e.getAnimations;return typeof t=="function"?t.call(e):[]}function et(e,t){return By(e).filter(r=>{let n=r.animationName;return typeof n=="string"&&t.has(n)})}function Wy(e){return getComputedStyle(e).animationName}function qy(e,t){let r=e.style.getPropertyValue("animation-name");t.set("animation-name","none"),Wy(e),t.set("animation-name",r)}function Ky(e,t){if(e.length===0){t();return}Promise.all(e.map(r=>r.finished.catch(()=>{}))).then(()=>t())}function Uy(e,t,r,n){let o=et(e,r);if(!n){qy(e,t),t.set("animation-play-state","running"),o=et(e,r);let s=Fe(e);if(s!==1)for(let a of o)a.playbackRate=s;return o}let i=o.filter(s=>s.playState==="finished");if(i.length>0)for(let s of i)s.reverse();else t.set("animation-play-state","running");return o}function Ha(e,t,r,n=!1){let o=new Set(r),i,s=new Promise(l=>{i=l}),a=!1,c=l=>Ky(l,()=>i?.());function u(l){if(n)return;let p=et(e,o);s=new Promise(m=>{i=m});for(let m of p)m.playbackRate=l*Fe(e),m.play();t.set("animation-play-state","running"),c(p)}return{control:Xi(()=>et(e,o),t),activate(){if(s=new Promise(p=>{i=p}),n){i?.();return}let l=Uy(e,t,o,a);a=!0,c(l)},play(){u(1)},reverse(){u(-1)},cancel(){for(let l of et(e,o))l.cancel();i?.()},finish(){for(let l of et(e,o))l.finish();i?.()},get finished(){return s},destroy(){i?.()}}}function I(e){return{cleanup:e,continuous:!0}}function zy(e){if(e!==void 0)return typeof e=="function"?e:e.cleanup}function Pt(e){let t,r,n=Promise.resolve(),o=()=>{zy(t)?.(),t=void 0,r?.()};return Yy({activate(){if(t!==void 0&&o(),t=e(),typeof t=="function"||"continuous"in t)return;let i=t.finished;n=new Promise(s=>{r=s}),i.then(()=>r?.())},cancel:o,finish(){typeof t=="object"&&"finish"in t&&t.finish?.(),r?.()},destroy:o,finished:()=>n,continuous:()=>typeof t=="object"&&"continuous"in t})}function P(e){return(...t)=>Pt(()=>e(...t))}function Yy(e){let t=!1,r=0;return{activate(){if(t)return;e.activate(),t=!0;let n=++r;e.continuous?.()||(e.finished?.()??Promise.resolve()).then(()=>{n===r&&(t=!1)})},cancel(){e.cancel?.(),t=!1},finish(){e.finish?.()},get finished(){return e.finished?.()??Promise.resolve()},get continuous(){return e.continuous?.()??!1},destroy(){t=!1,e.destroy()}}}var Xy=3e3;function Jy(e){return[e.source,e.on,e.timeline,e.threshold].join("\0")}function jn(e){return typeof Element<"u"&&e instanceof Element}var Ge=class{registry;capabilities;reporter;root;bundles;binder;scheduler;rootResolver;jsEffectPreparer;respectReducedMotion;shouldObserve;states=new WeakMap;liveElements=new Set;currentRun=new WeakMap;settleArmed=new WeakMap;domWatcher;gateWatcher;started=!1;book=Hs();port;constructor(t={}){let r=Zy(t);this.registry=r.registry,this.bundles=new Wt(r.registry),this.capabilities=r.capabilities,this.root=r.root,this.reporter=r.reporter,this.binder=r.binder,this.scheduler=r.scheduler,this.rootResolver=r.rootResolver,this.jsEffectPreparer=r.jsEffectPreparer,this.domWatcher=r.domWatcher,this.respectReducedMotion=r.respectReducedMotion,this.shouldObserve=r.shouldObserve,this.port={registry:this.registry,reporter:this.reporter,binder:this.binder,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,book:this.book,stateOf:n=>this.states.get(n),install:n=>this.install(n),installAggregate:n=>this.installAggregate(n),resolveGroupMatches:(n,o)=>this.resolveGroupMatches(n,o),resolveActivation:(n,o,i)=>this.resolveActivation(n,o,i),release:n=>this.release(n),activateOne:n=>this.activateOne(n),deactivateOne:n=>this.deactivate(n),writeStatus:(n,o,i)=>this.writeStatus(n,o,i),emit:(n,o,i,s)=>this.emit(n,o,i,s)}}start(){if(this.started)return this;this.started=!0;let t=globalThis.setTimeout(()=>this.uncloak(),Xy);try{this.scan(this.root),this.shouldObserve&&this.watch()}finally{globalThis.clearTimeout(t),this.uncloak()}return this}scan(t=this.root){if(!t)return this;let r=this.bundles.collect(t,this.reporter),n=`[${k.source}]`;jn(t)&&t.matches(n)&&this.process(t);for(let o of t.querySelectorAll(n))this.process(o);return fa(t,this.reporter),r>0&&t!==this.root&&this.retryPending(),this}retryPending(){for(let t of this.root.querySelectorAll(`[${k.state}="pending"]`))this.process(t)}process(t){if(t.hasAttribute(k.define))return;let r=xs(t),n=Jy(r),o=this.states.get(t);if(o?.fingerprint===n)return;o&&this.release(t);let i=Ds(this.bundles.expand(de(r.source)),this.registry),s=Ts(r,i),a={...s},c=Zt(i,this.registry,s.timeline),u=c.targets[0].plan;if(this.applyViewportGates(t,c),a.activation=this.resolveActivation(t,s,u),this.reportCompiled(t,c),c.targets.every(l=>l.plan.fxNames.length===0)){t.setAttribute(k.state,u.unknown.length>0?"pending":"failed");return}this.install({el:t,fingerprint:n,parsed:i,config:a,baseConfig:s,document:c})}reportCompiled(t,r){for(let o of r.warnings)this.reporter.warn(o,t);for(let o of r.targets)for(let i of o.plan.warnings)this.reporter.warn(i,t);let n=[...new Set(r.targets.flatMap(o=>o.plan.channels))];for(let o of Qi(n,this.capabilities))this.reporter.warn(o,t)}resolveActivation(t,r,n){return r.activationAuthored?(oi({el:t,spec:le(r.activation),supported:n.supportedActivations,claims:n.activationClaims,reporter:this.reporter}),r.activation):n.defaultActivation??r.activation}applyViewportGates(t,r){let n=r.targets.flatMap(i=>i.plan.jsEffects).map(i=>i.spec.gate).filter(i=>i!==void 0);if(n.length===0){this.gateWatcher?.unwatch(t);return}let o=t.ownerDocument.defaultView??void 0;for(let i of r.targets)i.plan.jsEffects=i.plan.jsEffects.filter(s=>It(s.spec.gate,o));this.watchGates(t,o,pi(n))}watchGates(t,r,n){this.gateWatcher??=mi(r,o=>this.regate(o)),this.gateWatcher.watch(t,n)}regate(t){this.release(t),this.process(t)}installedAsHost(t){return t.document.targets.some(r=>r.selector!=="")?(Pa(this.port,t),!0):!1}install(t){if(this.installedAsHost(t))return;let{el:r,fingerprint:n,parsed:o,config:i,document:s}=t,a=s.targets.map(h=>({target:h,matches:this.resolveGroupMatches(r,h)})).filter(h=>h.matches.length>0),c=Et(r),u=c.style(r),l=c.attributes(r),p=new AbortController;this.bindAuthorCallback(r,o,p.signal);let m=s.targets.some(h=>Object.keys(h.plan.declarations).length>0),f=bt({plan:a[0].target.plan,config:i,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:m}),d={fingerprint:n,specs:o.specs,activation:i.activation,timeline:i.timeline,fxNames:s.targets.flatMap(h=>h.plan.fxNames),jsEffectNames:s.targets.flatMap(h=>h.plan.jsEffects.map(v=>v.spec.name)),progressDriven:f.gate==="scrubbed"||f.gate==="native-timeline",instances:[],ledger:u,attributes:l,ledgers:c,controller:p,status:"ready"};t.host&&(d.host=t.host),t.gateOwner&&(d.gateOwner=t.gateOwner),this.states.set(r,d),this.liveElements.add(r),l.set(k.state,"ready");let g={el:r,state:d,ledgers:c,config:i,signal:p.signal,elementHasCssAnimation:m};for(let h of a)this.installGroup(h,g);this.openGate({el:r,state:d,stylePlan:f,config:i,plan:a[0].target.plan})}installAggregate(t){let{el:r,fingerprint:n,parsed:o,config:i,document:s}=t,a=Et(r),c=new AbortController;this.bindAuthorCallback(r,o,c.signal);let u={fingerprint:n,specs:o.specs,activation:i.activation,timeline:i.timeline,fxNames:s.targets.flatMap(l=>l.plan.fxNames),jsEffectNames:[],progressDriven:!1,instances:[],ledger:a.style(r),attributes:a.attributes(r),ledgers:a,controller:c,status:"ready",aggregate:!0};this.states.set(r,u),this.liveElements.add(r),u.attributes.set(k.state,"ready")}installGroup(t,r){let{target:n,matches:o}=t,i=bt({plan:n.plan,config:r.config,capabilities:this.capabilities,respectReducedMotion:this.respectReducedMotion,elementHasCssAnimation:r.elementHasCssAnimation}),s=Object.keys(i.properties).some(c=>c.startsWith("animation-")),a={target:n,stylePlan:i,hasCssAnimation:s};for(let c of o)this.installMatch(c,a,r)}installMatch(t,r,n){let{target:o,stylePlan:i,hasCssAnimation:s}=r,{state:a,ledgers:c}=n,u=c.style(t),l=c.attributes(t);for(let[p,m]of Object.entries(i.properties))u.set(p,m);if(l.set(k.normalized,i.attributes[k.normalized]),l.set(k.rm,i.attributes[k.rm]),u.claim("animation-play-state"),s){let p=i.gate==="scrubbed";a.instances.push(Ha(t,u,o.plan.keyframeNames,p))}a.instances.push(...this.jsEffectPreparer.prepare({el:t,plan:o.plan,signal:n.signal,ledger:u}))}bindAuthorCallback(t,r,n){r.func!==void 0&&Zi({el:t,name:r.func,reporter:this.reporter,signal:n})}resolveGroupMatches(t,r){if(r.selector==="")return[t];let n=t.ownerDocument,o=r.plan.fxNames.join(", "),i=ct(r.selector,n);if(i!=="ok"){let a=i==="invalid"?"is not a valid selector":"matches the whole document";return this.reporter.warn(`target "${r.selector}" (${o}) ${a} and will be ignored`,t),[]}let s=$(t,{doc:n},r.selector,r.scope);return s.length===0&&this.reporter.warn(`target "${r.selector}" (${o}) matched nothing`,t),s}openGate(t){let{el:r,state:n,stylePlan:o,config:i,plan:s}=t;if(this.reducedMotionDisables(s)){this.writeStatus(r,n,"finished"),this.emit(r,n,X.finish,"reduced-motion"),this.syncHost(n);return}let a=i.actions;if(a&&this.warnAboutCrossings(r,n,o.activation??i.activation,a),o.gate!=="deferred"){this.activateOne(r);return}if(Ks(n))return;let c=o.activation,u=this.binder.bind(r,c,{threshold:i.threshold,from:i.activationSource,activate:()=>this.activateOne(r),deactivate:()=>this.deactivate(r),...a?{cross:m=>this.applyCrossing(r,m,a)}:{}}),l=!1,p=()=>{l||(l=!0,u())};n.controller.signal.addEventListener("abort",p),!a&&pt(le(c))&&(n.releaseActivation=p)}reducedMotionDisables(t){return this.respectReducedMotion&&this.capabilities.reducedMotion&&t.reducedMotion==="disable"}warnAboutCrossings(t,r,n,o){let i=le(n),s=Di({actions:o,observed:i.start.kind==="observed"||i.end?.kind==="observed",activation:String(n),jsEffectNames:r.jsEffectNames,progressDriven:r.progressDriven});for(let a of s)this.reporter.warn(a,t)}applyCrossing(t,r,n){let o=this.states.get(t);o&&$i(n[r],{started:o.status!=="ready",controls:o.instances.map(i=>i.control).filter(i=>i!==void 0),activate:()=>this.activateOne(t),reverse:()=>this.reverseOne(t)})}activate(t){this.activateOne(t);for(let r of this.derivedOf(t))this.activateOne(r)}activateOne(t){let r=this.states.get(t);if(!r||r.aggregate)return;if(r.status==="running"&&r.direction==="reverse"){this.turnAround(t,r);return}if(r.status==="running")return;r.releaseActivation?.(),r.releaseActivation=void 0,this.writeStatus(t,r,"running"),r.direction="forward";let n=this.beginRun(r),o=r.instances.filter(i=>this.startInstance(i,t));if(o.length===0&&r.instances.length>0){this.writeStatus(t,r,"failed"),this.syncHost(r);return}this.emit(t,r,X.start,"activated"),this.syncHost(r),this.settleWhen({el:t,state:r,run:n},o,"finished")}deactivate(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;r.instances.filter($n).length<r.instances.length&&this.reporter.warn("effect cannot play backwards, so the exit half of this activation does nothing for it (JS-rendered effects have no playhead \u2014 see EffectInstance.reverse)",t),this.reverseOne(t)}reverseFrom(t){this.reverseOne(t);for(let r of this.derivedOf(t))this.reverseOne(r)}reverseOne(t){let r=this.states.get(t);if(!r||r.status!=="running"&&r.status!=="finished"||r.direction==="reverse")return;let n=r.instances.filter($n);if(n.length===0)return;this.writeStatus(t,r,"running"),r.direction="reverse",this.syncHost(r);let o=this.beginRun(r);for(let i of n)i.reverse();this.settleWhen({el:t,state:r,run:o},n,"ready")}turnAround(t,r){let n=r.instances.filter($n);r.direction="forward";let o=this.beginRun(r);for(let i of n)i.play();this.settleWhen({el:t,state:r,run:o},n,"finished")}settleWhen(t,r,n){let{el:o,state:i,run:s}=t,a=r.filter(u=>!u.continuous);if(a.length===0&&r.length>0){this.settleArmed.set(i,!1);return}this.settleArmed.set(i,!0);let c=i.direction;Promise.all(a.map(u=>u.finished)).then(()=>{this.states.get(o)!==i||i.status!=="running"||i.direction===c&&this.currentRun.get(i)===s&&(this.writeStatus(o,i,n),i.cancelled||(n==="finished"?this.emit(o,i,X.finish,"complete"):this.emit(o,i,X.reverseFinish,"reversed")),this.syncHost(i))})}beginRun(t){let r=Symbol("kui-run");return this.currentRun.set(t,r),t.cancelled=!1,r}emit(t,r,n,o){Ji(t,n,{effects:r.fxNames,activation:r.activation,timeline:r.timeline,reason:o,...r.host?{host:r.host}:{}})}writeStatus(t,r,n){r.status=n,r.attributes.set(k.state,n)}syncHost(t){t.host&&vt(this.port,t.host)}cancel(t){this.cancelOne(t);for(let r of this.derivedOf(t))this.cancelOne(r)}cancelOne(t){let r=this.states.get(t);if(!r)return;let n=r.status==="running";r.cancelled=!0;for(let o of r.instances)Va(()=>o.cancel());n&&this.settleArmed.get(r)===!1&&(this.writeStatus(t,r,"finished"),this.syncHost(r)),n&&this.emit(t,r,X.cancel,"cancelled")}control(t){return Kt({animator:this,root:this.root,target:t})}startInstance(t,r){try{return t.activate(),!0}catch(n){return this.reporter.warn(`effect failed to activate: ${String(n)}`,r),!1}}play(t,r,n={}){return qt({animator:this,root:this.root,target:t,effect:r},n)}uncloak(){(jn(this.root)?this.root.ownerDocument:this.root)?.documentElement?.removeAttribute(k.cloak)}stateOf(t){return this.states.get(t)}derivedOf(t){return Qt(this.book,t)}hostOf(t){return Vs(this.book,t)}reset(t){this.release(t)}release(t){let r=this.states.get(t);if(!r)return;ka(this.port,t);let n=r.status==="running";r.cancelled=!0,r.controller.abort();for(let o of r.instances)Va(()=>o.destroy());this.states.delete(t),this.liveElements.delete(t),this.gateWatcher?.unwatch(t),r.ledgers.restore(),n&&this.emit(t,r,X.cancel,"reset")}releaseTree(t){let r=[t,...t.querySelectorAll("*")];for(let n of r)this.liveElements.has(n)&&this.release(n);ua(r,this.reporter),wa(this.port,r)}destroy(){this.domWatcher?.destroy(),la(this.root);for(let t of[...this.liveElements])this.release(t);this.gateWatcher?.destroy(),this.binder.destroy(),this.scheduler.destroy(),this.started=!1}watch(){this.domWatcher??=Ca({root:this.root,onElementAdded:t=>{this.scan(t),xa(this.port,t)},onElementRemoved:t=>this.releaseTree(t),onAttributeChanged:t=>{this.process(t),pa(t,this.reporter)}}),this.domWatcher.watch()}};function Fa(e={}){return new Ge(e)}function Zy(e){let t=e.root??globalThis.document,r=e.capabilities??zt(),n=e.reporter??ar(),o=e.scheduler??Oa(),i=e.rootResolver??eh(t),s=(e.reducedMotion??"respect")==="respect";return{registry:e.registry??new Ce,capabilities:r,root:t,reporter:n,binder:e.binder??Rt({reporter:n}),scheduler:o,rootResolver:i,jsEffectPreparer:Qy(e.jsEffectPreparer,{scheduler:o,rootResolver:i,capabilities:r,reporter:n,respectReducedMotion:s}),domWatcher:e.domWatcher,respectReducedMotion:s,shouldObserve:e.observe??!1}}function Qy(e,t){return e??Ra(t)}function eh(e){let r=(jn(e)?e.ownerDocument:e)?.defaultView??globalThis;return _a({win:r})}function $n(e){return e.play!==void 0&&e.reverse!==void 0}function Va(e){try{e()}catch{}}var B=["duration","delay","ease"],Hn=new WeakMap;function cr(e,t){return Hn.set(e,t),e}function Ga(e,t){let r=Hn.get(e);return r?cr(t,r):t}function ur(e){return e.prepare?Hn.get(e.prepare):void 0}var Ua=[{slot:"duration",accepts:"time"},{slot:"delay",accepts:"time"},{slot:"ease",accepts:"easing"}];function kt(e,t,r={}){let n=e.resolve(t);if(!n)return;let{preset:o,primitive:i}=n,s=i.parameters,a=ur(i),c=a?a.honours??[]:B,u=Ua.map(m=>({...m,...Object.hasOwn(s,m.slot)?{param:m.slot}:{},honoured:c.includes(m.slot)})),l=Object.entries(s).map(([m,f])=>{let d=o.params?.[m],g=Ya(f.note,r,[o.name,i.id,"*"],m);return{name:m,type:f.type,default:d??f.default,presetDefault:d!==void 0,required:g?.required===!0,spellings:Wn(f,d??f.default),...th(f,m,g)}}),p={name:o.name,primitive:i.id,renderer:i.renderer,params:l,positionalOrder:u};return a&&c.length<B.length&&(p.unhonouredBecause=a.because),p}function th(e,t,r){let n={};e.keywords&&(n.keywords=e.keywords),e.minimum!==void 0&&(n.minimum=e.minimum),e.maximum!==void 0&&(n.maximum=e.maximum),e.integer&&(n.integer=!0);let o=Ua.findIndex(i=>i.slot===t);return o>=0&&(n.positionalIndex=o),r&&(n.note=r.why),r?.whenOmitted&&(n.whenOmitted=r.whenOmitted),n}function pr(e,t,r={}){return za(e,de(t).specs,r)}function mr(e,t,r={}){let n=de(t),o={};for(let[i,s]of Object.entries(Gn)){let a=n[i];a!==void 0&&(o[s.key]=a)}return{steps:za(e,n.specs,r),keys:Vn(r),written:o}}function Vn(e={}){return[...Object.values(Gn).map(r=>Ba(r,"element",e)),...ih.map(r=>Ba(r,"step",e))]}function za(e,t,r){return t.map(n=>{let o={written:rh(n),writtenKeys:nh(n)},i=kt(e,n.name,r);if(i)return{...i,...o};let s=Ye(n.name,e.names());return{...s?{name:n.name,unknown:!0,suggestion:s}:{name:n.name,unknown:!0},...o}})}function rh(e){let t={...e.params};return e.duration!==void 0&&(t.duration=e.duration),e.delay!==void 0&&(t.delay=e.delay),e.easing!==void 0&&(t.ease=e.easing),t}function nh(e){let t={};e.at!==void 0&&(t.at=e.at),Object.assign(t,e.gate),e.repeat!==void 0&&(t.repeat=e.repeat),e.yoyo!==void 0&&(t.yoyo=String(e.yoyo));for(let[r,n]of Object.entries(e.hoists??{}))t[Gn[r].key]=n;return t}var Fn="data-kui";function Ba(e,t,r){let n=Ya(void 0,r,[Fn],e.key),o={name:e.key,type:e.type,default:e.default,presetDefault:!1,required:!1,spellings:[...e.spellings],scope:t};return e.keywords&&(o.keywords=e.keywords),n&&(o.note=n.why),n?.whenOmitted&&(o.whenOmitted=n.whenOmitted),o}var Wa=Object.keys({time:0,view:0,scroll:0,pointer:0,pin:0}),qa=Object.keys({shorten:0,crossfade:0,disable:0}),Gn={activation:{key:"on",type:"text",default:"",spellings:["enter","load","hover","click","hover/unhover"]},actions:{key:"actions",type:"text",default:"",spellings:["play/pause/resume/reset","play/none/none/reset"]},timeline:{key:"timeline",type:"keyword",default:"",spellings:Wa,keywords:Wa},threshold:{key:"threshold",type:"percentage",default:"",spellings:["0%","25%"]},cascade:{key:"cascade",type:"time",default:"",spellings:["90ms","0.09s"]},spread:{key:"spread",type:"time",default:"",spellings:["600ms","0.6s"]},order:{key:"order",type:"text",default:"",spellings:["start","end","center","edges","random","3"]},cols:{key:"cols",type:"text",default:"",spellings:["auto","4"]},along:{key:"along",type:"keyword",default:"",spellings:["x","y"],keywords:["x","y"]},rm:{key:"rm",type:"keyword",default:"",spellings:qa,keywords:qa},func:{key:"func",type:"text",default:"",spellings:["onRevealDone"]}},lr=e=>({key:e,type:"keyword",default:"",spellings:$e,keywords:$e}),oh={at:{key:"at",type:"text",default:"",spellings:["after","with","-200ms","with+100ms"]},gate:{above:lr("above"),below:lr("below"),wide:lr("wide"),narrow:lr("narrow")},repeat:{key:"repeat",type:"text",default:"",spellings:["infinite","3"]},yoyo:{key:"yoyo",type:"keyword",default:"",spellings:["true","false"],keywords:["true","false"]}},ih=Object.values(oh).flatMap(e=>"key"in e?[e]:Object.values(e));function Ya(e,t,r,n){let o=r.map(s=>`${s}.${n}`).find(s=>Object.hasOwn(t,s)),i=e??(o===void 0?void 0:t[o]);if(i!==void 0)return typeof i=="string"?{why:i}:i}var Bn=/^-?(?:\d+(?:\.\d+)?|\.\d+)/;function Wn(e,t=e.default){let r=Me(t,e).ok?t.trim():"";return sh[e.type](r,e.keywords??[])}var sh={angle:e=>Ka(e),"angle|keyword":(e,t)=>[...Ka(t.includes(e)?"":e),...t],keyword:(e,t)=>[...t],time:ah,number:e=>[e||"1"],percentage:e=>[e||"50%"],"number|percentage":ch,length:e=>[e||"24px","calc(1rem + 4px)"],"length|percentage":e=>[e||"24px","50%"],color:e=>[e||"#e4f222","rgb(228 242 34)","currentcolor"],easing:e=>[e||"ease-out","linear","cubic-bezier(.2, .8, .2, 1)","spring"],path:()=>["M0,0L100,0"],text:()=>[]};function Ka(e){let t=Bn.exec(e)?.[0],r=e.endsWith("deg")||/^-?[\d.]+d?$/.test(e),n=r&&t?t:"45",o=[n,`${n}d`,`${n}deg`];return r||!e?o:[e,...o]}function ah(e){let t=Bn.exec(e)?.[0];return t?e.endsWith("ms")?[e,`${fe(t,-3)}s`]:[e,`${fe(t,3)}ms`]:["600ms","0.6s"]}function ch(e){let t=Bn.exec(e)?.[0];return t?e.endsWith("%")?[`${fe(t,-2)}`,e]:[e,`${fe(t,2)}%`]:["0.5","50%"]}var O={delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"}};function Xa(e,t){if(t==="ease")return e.timing.easing;let r=t==="duration"?e.timing.durationMs:e.timing.delayMs;return r===void 0?void 0:`${r}ms`}function Ja(e,t,r,n){let o=t.honours??[];for(let i of B){if(o.includes(i)||Xa(r,i)===void 0)continue;let s=o.length>0?o.join(", "):"no timing parameters";n(`"${e}" cannot honour ${i}: ${t.because} (honours: ${s})`)}}function tt(e,t=0){return e.timing.delayMs??e.ms("delay",t)}function dr(e,t=""){return e.timing.easing??e.text("ease",t)}function Be(e,t,r,n){for(let o of t){let i=Xa(r,o);i!==void 0&&n.style.set(Re(e,o),i)}}function R(e,t,r){return cr((n,o,i)=>(Ja(e,t,o,i.warn),r(n,o,i)),t)}function ne(e,t){return cr((r,n,o)=>(Ja(e,t,n,o.warn),Pt(()=>(Be(e,t.honours??[],n,o),()=>{}))),t)}var ye=["time","view","scroll","pin"],uh={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"0ms",cssProperty:"--kui-stagger"}};function b(e,t,r={}){return{id:e,renderer:"css-keyframes",channels:t,parameters:{...uh,...r.parameters},supportedTimelines:r.timelines??["time"],supportedActivations:r.activations??["load","enter","hover","focus","click","manual"],perfClass:r.perfClass??"compositor",reducedMotion:r.reducedMotion??"shorten",...r.defaultActivation?{defaultActivation:r.defaultActivation}:{}}}var Za={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"},to:{type:"color",default:"",cssProperty:"--kui-ambient-c2"}},lh={duration:{type:"time",default:"10s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},from:{type:"color",default:"",cssProperty:"--kui-ambient-c1"}},ph={duration:{type:"time",default:"4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"14px",cssProperty:"--kui-distance"}},mh={duration:{type:"time",default:"3.5s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"},angle:{type:"angle",default:"360deg",cssProperty:"--kui-to-angle"}},dh={duration:{type:"time",default:"2.2s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.15",cssProperty:"--kui-pulse-scale",finite:!0,minimum:1}},fh=[b("ambient-gradient",[y.background],{parameters:Za,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-gradient-ring",[y.background,"mask","position","padding"],{parameters:Za,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-tint",[y.background],{parameters:lh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-float",[y.translate],{parameters:ph,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-orbit",[y.rotate],{parameters:mh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("ambient-pulse",[y.scale,y.opacity],{parameters:dh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"})],gh=[{name:"gradient-mesh",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-gradient-mesh"},{name:"aurora",phase:"idle",primitive:"ambient-gradient",keyframes:"kui-aurora"},{name:"gradient-rotate-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-rotate-border",params:{duration:"6s",ease:"linear"}},{name:"gradient-border",phase:"idle",primitive:"ambient-gradient-ring",keyframes:"kui-gradient-border",params:{duration:"6s",ease:"linear"}},{name:"scanline",phase:"idle",primitive:"ambient-tint",keyframes:"kui-scanline",params:{duration:"3.5s",ease:"linear"}},{name:"dot-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-dot-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"line-grid-drift",phase:"idle",primitive:"ambient-tint",keyframes:"kui-line-grid-drift",params:{duration:"16s",ease:"linear"}},{name:"starfield",phase:"idle",primitive:"ambient-tint",keyframes:"kui-starfield",params:{duration:"40s",ease:"linear"}},{name:"spotlight-follow",phase:"idle",primitive:"ambient-tint",keyframes:"kui-spotlight-follow",params:{duration:"9s"}},{name:"wave-blob",phase:"idle",primitive:"ambient-tint",keyframes:"kui-wave-blob",params:{duration:"12s"}},{name:"float",phase:"idle",primitive:"ambient-float",keyframes:"kui-float"},{name:"bob",phase:"idle",primitive:"ambient-float",keyframes:"kui-bob",params:{duration:"2s",distance:"8px"}},{name:"floating-shapes",phase:"idle",primitive:"ambient-float",keyframes:"kui-floating-shapes",params:{duration:"6s",distance:"10px"}},{name:"orbit",phase:"idle",primitive:"ambient-orbit",keyframes:"kui-orbit"},{name:"glow-pulse",phase:"idle",primitive:"ambient-pulse",keyframes:"kui-glow-pulse"}];function Qa(e){return e.registerPrimitives(fh).registerPresets(gh)}var yh={duration:{type:"time",default:"240ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},hh="discrete.css pins that value on this effect";function ec(e,t){return{scale:{type:"number",default:t,cssProperty:e,finite:!0,minimum:0}}}function qn(e,t){return{distance:{type:"length",default:t,cssProperty:e}}}function rt(e,t,r={}){return{id:e,renderer:"javascript",channels:t,parameters:{...yh,...r},supportedTimelines:["time"],supportedActivations:["manual"],defaultActivation:"manual",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,{honours:B,because:hh})}}var nt=[{property:"display"},{property:"overlay"}],vh=[rt("fade-open",["opacity","discrete"]),rt("pop-open",["opacity","scale","discrete"],ec("--kui-pop-open-scale","0.92")),rt("scale-open",["scale","discrete"],ec("--kui-scale-open-scale","0.85")),rt("drop-open",["opacity","translate","discrete"],qn("--kui-drop-open-distance","12px")),rt("slide-open-up",["opacity","translate","discrete"],qn("--kui-slide-open-up-distance","16px")),rt("slide-open-down",["opacity","translate","discrete"],qn("--kui-slide-open-down-distance","16px"))],bh=[{name:"fade-open",primitive:"fade-open",transitions:[{property:"opacity"},...nt]},{name:"pop-open",primitive:"pop-open",transitions:[{property:"opacity"},{property:"scale"},...nt]},{name:"scale-open",primitive:"scale-open",transitions:[{property:"scale"},...nt]},{name:"drop-open",primitive:"drop-open",transitions:[{property:"opacity"},{property:"translate"},...nt]},{name:"slide-open-up",primitive:"slide-open-up",transitions:[{property:"opacity"},{property:"translate"},...nt]},{name:"slide-open-down",primitive:"slide-open-down",transitions:[{property:"opacity"},{property:"translate"},...nt]}];function tc(e){return e.registerPrimitives(vh).registerPresets(bh)}var Eh={duration:{type:"time",default:"1.6s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Sh={duration:{type:"time",default:"900ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Ph={duration:{type:"time",default:"1.2s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},dotSize:{type:"length",default:"8px",cssProperty:"--kui-dot-size"}},kh={duration:{type:"time",default:"1.4s",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"}},wh={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"24px",cssProperty:"--kui-distance"}},xh={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Kn={duration:{type:"time",default:"420ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"back-out",cssProperty:"--kui-ease"},scale:{type:"number",default:"1.18",cssProperty:"--kui-pop-scale",finite:!0,minimum:1}},Th={duration:{type:"time",default:"600ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},extent:{type:"number",default:"4",cssProperty:"--kui-ripple-scale",finite:!0,minimum:1},color:{type:"color",default:"",cssProperty:"--kui-ripple-color"},strength:{type:"number|percentage",default:"0.6",cssProperty:"--kui-ripple-opacity",finite:!0,minimum:0,maximum:1},startScale:{type:"number",default:"0.2",cssProperty:"--kui-ripple-start",finite:!0,minimum:0}},Ah={...Kn,distance:{type:"length|percentage",default:"45%",cssProperty:"--kui-confetti-distance"},fan:{type:"number",default:"1",cssProperty:"--kui-confetti-fan",finite:!0,minimum:0},size:{type:"length",default:"6px",cssProperty:"--kui-confetti-size"},spill:{type:"length",default:"24px",cssProperty:"--kui-confetti-spill"},color1:{type:"color",default:"",cssProperty:"--kui-confetti-c1"},color2:{type:"color",default:"",cssProperty:"--kui-confetti-c2"},color3:{type:"color",default:"",cssProperty:"--kui-confetti-c3"},color4:{type:"color",default:"",cssProperty:"--kui-confetti-c4"},color5:{type:"color",default:"",cssProperty:"--kui-confetti-c5"}},Ch={duration:{type:"time",default:"1400ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},Rh={distance:{type:"length",default:"36px",cssProperty:"--kui-pull-distance"}},Mh=[b("feedback-shimmer",[y.background],{parameters:Eh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-fade",[y.opacity],{defaultActivation:"manual"}),b("feedback-spin",[y.rotate,"discrete"],{parameters:Sh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-dot-pulse",[y.scale,y.opacity,y.background,"shadow","discrete"],{parameters:Ph,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-progress-track",[y.translate,y.scale,y.background,"transform-origin"],{parameters:kh,defaultActivation:"load",reducedMotion:"disable",perfClass:"continuous"}),b("feedback-toast",[y.opacity,y.translate],{parameters:wh,defaultActivation:"manual"}),b("feedback-shake",[y.translate],{parameters:xh,defaultActivation:"manual"}),b("feedback-wobble",[y.translate,y.rotate],{defaultActivation:"click"}),b("feedback-ripple",[y.scale,y.opacity,"sweep"],{parameters:Th,defaultActivation:"click"}),b("feedback-pop",[y.scale],{parameters:Kn,defaultActivation:"manual"}),b("feedback-burst",[y.scale,y.opacity,y.background,"sweep"],{parameters:Ah,defaultActivation:"click"}),b("feedback-heart-burst",[y.scale,y.color],{parameters:Kn,defaultActivation:"click"}),b("feedback-confirm",[y.opacity],{parameters:Ch,defaultActivation:"click"}),b("feedback-pull",[y.translate],{parameters:Rh,defaultActivation:"manual"})],Ih=[{name:"skeleton-shimmer",phase:"idle",primitive:"feedback-shimmer",keyframes:"kui-skeleton-shimmer"},{name:"skeleton-to-content",primitive:"feedback-fade",keyframes:"kui-skeleton-to-content"},{name:"spinner",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-spin"},{name:"spinner-dots",phase:"idle",primitive:"feedback-dot-pulse",keyframes:"kui-spinner-dots"},{name:"spinner-ring",phase:"idle",primitive:"feedback-spin",keyframes:"kui-spinner-ring-spin"},{name:"progress-indeterminate",phase:"idle",primitive:"feedback-progress-track",keyframes:"kui-progress-indeterminate"},{name:"toast-slide-in",primitive:"feedback-toast",keyframes:"kui-toast-slide-in"},{name:"toast-slide-out",primitive:"feedback-toast",keyframes:"kui-toast-slide-out",params:{ease:"ease-in"}},{name:"shake-error",primitive:"feedback-shake",keyframes:"kui-shake-error"},{name:"wobble",primitive:"feedback-wobble",keyframes:"kui-wobble",params:{duration:"600ms",ease:"ease-in-out"}},{name:"ripple",primitive:"feedback-ripple",keyframes:"kui-ripple"},{name:"badge-pop",primitive:"feedback-pop",keyframes:"kui-badge-pop"},{name:"count-bump",primitive:"feedback-pop",keyframes:"kui-count-bump",params:{duration:"280ms",scale:"1.3"}},{name:"heart-burst",primitive:"feedback-heart-burst",keyframes:"kui-heart-burst",params:{duration:"700ms",scale:"1.4"}},{name:"confetti-burst",primitive:"feedback-burst",keyframes:"kui-confetti-burst",params:{duration:"900ms",scale:"1.15"}},{name:"copy-confirm",primitive:"feedback-confirm",keyframes:"kui-copy-confirm"},{name:"pull-to-refresh",primitive:"feedback-pull",keyframes:"kui-pull-to-refresh",params:{duration:"900ms",ease:"ease-out"}}];function rc(e){return e.registerPrimitives(Mh).registerPresets(Ih)}function nc(e,t){return{x:t.width>0?e.x/t.width-.5:0,y:t.height>0?e.y/t.height-.5:0}}function oc(e,t,r){let n=nc(e,t);return{rotateY:n.x*r*2,rotateX:-n.y*r*2}}function ic(e,t,r){let n=nc(e,t);return{x:n.x*r*2,y:n.y*r*2}}function he(e){return e.matchMedia?.("(hover: hover) and (pointer: fine)").matches??!0}var Un={lift:[{property:"translate"}],pop:[{property:"scale"}],"lift-shadow":[{property:"translate"},{property:"box-shadow"}],"border-draw":[{property:"--kui-border-pct"}],"border-glow":[{property:"box-shadow"}]},sc=["icon-bounce","icon-spin","icon-wiggle","split-flap"],zn={color:{type:"color",default:"",cssProperty:"--kui-beam-border-c1"},outset:{type:"length",default:"",cssProperty:"--kui-beam-border-outset"},arc:{type:"angle",default:"100deg",cssProperty:"--kui-beam-border-arc"},softness:{type:"number|percentage",default:"0.22",cssProperty:"--kui-beam-border-softness",finite:!0,minimum:0,maximum:.9}},ac={color:{type:"color",default:"",cssProperty:"--kui-shine-sweep-color"},angle:{type:"angle",default:"115deg",cssProperty:"--kui-shine-sweep-angle"},width:{type:"number|percentage",default:"0.2",cssProperty:"--kui-shine-sweep-width",finite:!0,minimum:0,maximum:1}},wt={borderDraw:{color:{type:"color",default:"",cssProperty:"--kui-border-draw-color"}},borderGlow:{color:{type:"color",default:"",cssProperty:"--kui-border-glow-color"}},underlineSlide:{color:{type:"color",default:"",cssProperty:"--kui-underline-slide-color"}},underlineCenter:{color:{type:"color",default:"",cssProperty:"--kui-underline-center-color"}}},cc={...wt.borderDraw,width:{type:"length",default:"2px",cssProperty:"--kui-border-draw-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-border-draw-outset"}};function Lh(e){return{duration:{type:"time",default:e,cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}}}function uc(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...Lh(r),...n},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,{honours:B,because:"interaction.css pins that value on this effect"})}}var Oh={scale:{type:"number",default:"0.96",cssProperty:"--kui-press-scale",finite:!0,minimum:0},depth:{type:"length",default:"2px",cssProperty:"--kui-press-shadow-depth"},color:{type:"color",default:"",cssProperty:"--kui-press-shadow-color"}},Nh={opacity:{type:"number|percentage",default:"0.4",cssProperty:"--kui-group-dim-opacity",finite:!0,minimum:0,maximum:1}},_h=[uc("press",["scale","shadow"],"120ms",Oh)],Dh=[{name:"press-depth",primitive:"press",transitions:[{property:"scale"},{property:"box-shadow"}]}],$h=[uc("group-dim",["group"],"260ms",Nh)],jh=[{name:"group-dim",phase:"state",primitive:"group-dim",requiresOwnSubtree:!0}],lc=[..._h,...$h],pc=[...Dh,...jh];function Ie(e,t){let r=e.ResizeObserver,n=r?new r(t):void 0,o=new Set;return e.addEventListener("resize",t,{passive:!0}),{observe(i){o.has(i)||(o.add(i),n?.observe(i))},unobserve(i){o.delete(i),n?.unobserve(i)},disconnect(){e.removeEventListener("resize",t),n?.disconnect(),o.clear()}}}function Le(e,t){let r,n,o=()=>{r=void 0,n=void 0,t()};return{request(){r!==void 0||n!==void 0||(e.requestAnimationFrame?r=e.requestAnimationFrame(o):n=e.setTimeout(o,16))},cancel(){r!==void 0&&e.cancelAnimationFrame(r),n!==void 0&&e.clearTimeout(n),r=void 0,n=void 0}}}function fr(e,t,r,{perfClass:n="compositor",placed:o}={}){let i={honours:B,because:"interaction.css pins that value on this effect"};return{id:e,renderer:"javascript",channels:o?[...t,A(o.attribute),A(o.tease)]:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:n,reducedMotion:"shorten",prepare:o?R(e,i,(s,a,c)=>Pt(()=>(Be(e,B,a,c),Fh(s,a,o,c)))):ne(e,i)}}var mc={top:"bottom",bottom:"top",left:"right",right:"left"};function dc(e){return e!==null&&Object.hasOwn(mc,e)}function Hh(e,t,r){if(t[e]>=r)return e;let n=mc[e];return t[n]>t[e]?n:e}function Vh(e,t,r){switch(r){case"top":return-e.offsetTop;case"bottom":return e.offsetTop+e.offsetHeight-t.clientHeight;case"left":return-e.offsetLeft;case"right":return e.offsetLeft+e.offsetWidth-t.clientWidth}}function Fh(e,t,r,n){let o=Gh(e,t,r,n),i=x(e),s=()=>{i.restore(),o()},a=t.text("place"),c=t.ms("tease",0),u=a==="auto";!u&&dc(a)&&i.set(r.attribute,a);let l=u?Bh(e,r,i,n.win):void 0,p=Kh(e,r,n),m=()=>{l?.(),p()},f=()=>{},d=Uh(e,n,m,()=>f()),g=c>0?zh(e,n,{ms:c,attribute:r.tease,attrs:i,shown:d}):void 0;return g&&(f=g.end),()=>{g?.stop(),d.stop(),s()}}function Gh(e,t,r,n){let o=_(t.text("target"),n,r.name);if(!o)return()=>{};let i=$(e,n,o,"self"),s=i[0];if(!s)return n.warn(`${r.name} target "${o}" matched nothing inside this element`),()=>{};i.length>1&&n.warn(`${r.name} target "${o}" matched ${i.length} elements; only the first is used`);let a=x(s);return s.hasAttribute(r.marker)||a.set(r.marker,""),()=>a.restore()}function Bh(e,t,r,n){let o=t.preferred(e),i=o;return r.set(t.attribute,i),()=>{let s=e.querySelector(`[${t.marker}]`);if(!s)return;let a=e.getBoundingClientRect(),c={top:a.top,bottom:n.innerHeight-a.bottom,left:a.left,right:n.innerWidth-a.right},u=Hh(o,c,Vh(s,e,i));u!==i&&(i=u,r.set(t.attribute,i))}}var Wh=8;function qh(e,t,r,n=Wh){let o=n,i=r-n;return e<o||t>i-o?o-e:e+t>i?i-e-t:0}function Kh(e,t,r){let n=0;return()=>{let o=e.querySelector(`[${t.marker}]`);if(!o)return;let i=e.getAttribute(t.attribute),s=dc(i)?i:t.preferred(e),a=o.getBoundingClientRect(),c=e.getBoundingClientRect(),[u,l,p,m,f,d,g]=s==="top"||s==="bottom"?["left","width","offsetLeft","clientLeft","offsetWidth","clientWidth","innerWidth"]:["top","height","offsetTop","clientTop","offsetHeight","clientHeight","innerHeight"],h=e[f],v=h>0?c[l]/h:1;if(v<=0)return;let E=parseFloat(r.win.getComputedStyle(o).scale)||1,w=a[l]/E,C=c[u]+(e[m]+o[p])*v-w/2,F=r.doc.documentElement[d]||r.win[g],M=qh(C,w,F)/v;M!==n&&(n=M,r.style.set(t.shift,`${M}px`))}}function Uh(e,t,r,n){let{win:o}=t,i=Le(o,r),s=!1,a=!1,c=!1,u,l=()=>{let m=s||a||c;if(m&&!u){r(),u=new AbortController;let f={capture:!0,passive:!0,signal:u.signal};o.addEventListener("scroll",i.request,f),o.addEventListener("resize",i.request,f)}else!m&&u&&(u.abort(),u=void 0,i.cancel())},p=(m,f)=>e.addEventListener(m,d=>{f(d),l()},{signal:t.signal});return p("pointerenter",()=>{s=!0,n()}),p("pointerleave",()=>s=!1),p("focusin",()=>{a=!0,n()}),p("focusout",m=>{a=e.contains(m.relatedTarget)}),{setTeasing(m){c=m,l()},stop(){u?.abort(),i.cancel()}}}function zh(e,t,{ms:r,attribute:n,attrs:o,shown:i}){let{win:s}=t,a,c,u=()=>{a!==void 0&&(s.clearTimeout(a),a=void 0,o.remove(n),i.setTeasing(!1))},l=()=>{i.setTeasing(!0),o.set(n,""),a=s.setTimeout(u,r)},p=s.IntersectionObserver;return p&&(c=new p(m=>{m.some(f=>f.isIntersecting&&f.intersectionRatio>=.5)&&(c.disconnect(),l())},{threshold:.5}),c.observe(e)),{end:u,stop(){c?.disconnect(),a!==void 0&&s.clearTimeout(a),a=void 0}}}var Yh={duration:{type:"time",default:"320ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length|percentage",default:"100%",cssProperty:"--kui-label-swap-distance"}},Xh=[fr("label-swap",["discrete","label-swap"],Yh)],Jh=[{name:"masked-label-swap",phase:"state",primitive:"label-swap"},{name:"masked-label-swap-x",phase:"state",primitive:"label-swap"},{name:"masked-label-swap-diagonal",phase:"state",primitive:"label-swap"}],Zh={duration:{type:"time",default:"160ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"1000ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"4px",cssProperty:"--kui-hover-intent-distance"},color:{type:"color",default:"#f4f4f0",cssProperty:"--kui-hover-intent-color"},"bg-color":{type:"color",default:"#111111",cssProperty:"--kui-hover-intent-bg-color"},radius:{type:"length",default:"12px",cssProperty:"--kui-hover-intent-radius"},place:{type:"keyword",default:"top",keywords:["top","bottom","auto"],cssProperty:"--kui-hover-intent-place"},tease:{type:"time",default:"0ms",cssProperty:"--kui-hover-intent-tease"},target:{type:"text",default:"",cssProperty:"--kui-target"}},Qh=[fr("hover-intent",["hint"],Zh,{placed:{name:"hover-intent",marker:"data-kui-hint",attribute:"data-kui-hint-place",tease:"data-kui-hint-tease",shift:"--kui-hover-intent-shift",preferred:()=>"top"}})],ev=[{name:"hover-intent",phase:"state",primitive:"hover-intent"}],tv={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},distance:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-distance"},gap:{type:"length",default:"10px",cssProperty:"--kui-anchored-preview-gap"},scale:{type:"number",default:"0.85",cssProperty:"--kui-anchored-preview-scale",finite:!0,minimum:0,maximum:1},color:{type:"color",default:"currentcolor",cssProperty:"--kui-anchored-preview-color"},"bg-color":{type:"color",default:"transparent",cssProperty:"--kui-anchored-preview-bg-color"},radius:{type:"length",default:"0px",cssProperty:"--kui-anchored-preview-radius"},place:{type:"keyword",default:"top",keywords:["top","bottom","left","right","auto"],cssProperty:"--kui-anchored-preview-place"},tease:{type:"time",default:"0ms",cssProperty:"--kui-anchored-preview-tease"},target:{type:"text",default:"",cssProperty:"--kui-target"}};function rv(e){for(let t of(e.getAttribute(k.normalized)??"").split(/\s+/)){let r=/^anchored-preview(?:-(bottom|left|right))?$/.exec(t);if(r)return r[1]??"top"}return"top"}var nv=[fr("anchored-preview",["preview"],tv,{placed:{name:"anchored-preview",marker:"data-kui-preview",attribute:"data-kui-preview-place",tease:"data-kui-preview-tease",shift:"--kui-anchored-preview-shift",preferred:rv}})],ov=[{name:"anchored-preview",phase:"state",primitive:"anchored-preview"},{name:"anchored-preview-bottom",phase:"state",primitive:"anchored-preview",params:{place:"bottom"}},{name:"anchored-preview-left",phase:"state",primitive:"anchored-preview",params:{place:"left"}},{name:"anchored-preview-right",phase:"state",primitive:"anchored-preview",params:{place:"right"}}],iv={duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},delay:{type:"time",default:"0ms",cssProperty:"--kui-delay"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},collapsed:{type:"length|percentage",default:"2.5em",cssProperty:"--kui-search-expand-collapsed"},width:{type:"length|percentage",default:"240px",cssProperty:"--kui-search-expand-width"}},sv=[fr("search-expand",["expand","discrete","search-field"],iv,{perfClass:"layout"})],av=[{name:"search-expand",primitive:"search-expand",transitions:[{property:"inline-size"}]}],fc=[...Xh,...Qh,...nv,...sv],gc=[...Jh,...ev,...ov,...av];var bc={duration:{type:"time",default:"220ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},yc={honours:["duration","delay"],because:"it is a continuous rotation and interaction.css runs it linear, so a curve would visibly stutter at the seam of every revolution"},cv="interaction.css pins that value on this effect",hc={distance:{type:"length",default:"6px",cssProperty:"--kui-lift-distance"}},uv={scale:{type:"number",default:"1.06",cssProperty:"--kui-pop-scale",finite:!0,minimum:0}};function lv(e){return Object.fromEntries(Object.entries(bc).filter(([t])=>e.includes(t)))}function oe(e,t,r={},n={honours:B,because:cv}){let o=n.honours;return{id:e,renderer:"javascript",channels:t,parameters:{...lv(o),...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:ne(e,n)}}var Ec=[oe("lift",["translate"],hc),oe("pop",["scale"],uv),oe("lift-shadow",["translate","shadow"],hc),oe("shine-sweep",["sweep"],ac),oe("split-flap",["skew","discrete"]),oe("border-draw",["border","pseudo-before"],cc),oe("border-glow",["shadow"],wt.borderGlow),oe("beam-border",["border","pseudo-before"],zn,yc),oe("underline-slide",["scale"],wt.underlineSlide),oe("underline-center",["scale"],wt.underlineCenter),oe("icon-wiggle",["rotate"]),oe("icon-spin",["rotate"],{},yc),oe("icon-bounce",["translate"])],pv=Ec.map(e=>({name:e.id,primitive:e.id,...Un[e.id]?{transitions:Un[e.id]}:{},...sc.includes(e.id)?{delivery:"stylesheet-animation"}:{}})),mv=[{id:"beam-border-auto",renderer:"javascript",channels:["border","pseudo-before"],parameters:{duration:bc.duration,...zn},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:ne("beam-border-auto",{honours:["duration"],because:"it is an always-on linear loop with no start moment and no curve"})}],dv=[{name:"beam-border-auto",primitive:"beam-border-auto"}],fv={stiffness:{type:"number",default:"260",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"26",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}};function We(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R(e,{because:"it tracks pointer position continuously, so it has no start moment and no fixed span"},n)}}function gv(e){return{...ce,stiffness:e.num("stiffness",ce.stiffness),damping:e.num("damping",ce.damping),mass:e.num("mass",ce.mass)}}function yv(e){return{...Lt(),warn:e.warn}}function hv(e,t,r){if(!he(r.win))return()=>{};let n=e,o=t.num("maxAngle",14),i=t.text("perspective","800px");function s(l,p,m){r.style.set("transition",`transform ${m}ms ease-out`),r.style.set("transform",`perspective(${i}) rotateX(${l.toFixed(2)}deg) rotateY(${p.toFixed(2)}deg)`)}function a(l){let p=n.getBoundingClientRect(),m={x:l.clientX-p.left,y:l.clientY-p.top},{rotateX:f,rotateY:d}=oc(m,p,o);s(f,d,100)}function c(){s(0,0,400)}function u(){s(-o/2,o/2,250)}return n.addEventListener("pointermove",a,{passive:!0}),n.addEventListener("pointerleave",c,{passive:!0}),n.addEventListener("focus",u),n.addEventListener("blur",c),()=>{n.removeEventListener("pointermove",a),n.removeEventListener("pointerleave",c),n.removeEventListener("focus",u),n.removeEventListener("blur",c)}}function vv(e){return[...e.querySelectorAll("[data-depth]")].map(t=>({ledger:j(t),depth:Number(t.dataset.depth)||0}))}function vc(e,t,r,n){for(let o of e)o.ledger.set("transition",`translate ${n}ms ease-out`),o.ledger.set("translate",`${(t*o.depth).toFixed(2)}px ${(r*o.depth).toFixed(2)}px`)}function bv(e,t,r){if(!he(r.win))return()=>{};let n=e,o=t.num("strength",24),i=vv(n);function s(c){let u=n.getBoundingClientRect(),l={x:c.clientX-u.left,y:c.clientY-u.top},p=ic(l,u,o);vc(i,p.x,p.y,120)}function a(){vc(i,0,0,400)}return n.addEventListener("pointermove",s,{passive:!0}),n.addEventListener("pointerleave",a,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",a),()=>{n.removeEventListener("pointermove",s),n.removeEventListener("pointerleave",a),n.removeEventListener("focus",a),n.removeEventListener("blur",a);for(let c of i)c.ledger.restore()}}function Sc(e,t,r){e.style.translate=`${t.toFixed(1)}px ${r.toFixed(1)}px`}function Ev(e,t,r){let n=e.createElement("span");return n.className=`kui-cursor-dot ${t}`,n.setAttribute("aria-hidden","true"),r&&(n.textContent=r),e.body.append(n),n}function Sv(e,t,r){let n={x:0,y:0},o=i=>s=>{n[i]=s,Sc(e,n.x,n.y)};return{x:xe(t,o("x"),r),y:xe(t,o("y"),r)}}function yr(e,t,r,n){if(!he(r.win))return()=>{};let o=e.ownerDocument,i=e,s=Ev(o,n,t.text("label","")),a=Sv(s,gv(t),yv(r));function c(){s.classList.add("kui-cursor-dot-active")}function u(){s.classList.remove("kui-cursor-dot-active")}function l(m){c(),a.x.to(m.clientX),a.y.to(m.clientY)}function p(){let m=i.getBoundingClientRect(),f=m.left+m.width/2,d=m.top+m.height/2;c(),a.x.set(f),a.y.set(d),Sc(s,f,d)}return i.addEventListener("pointermove",l,{passive:!0}),i.addEventListener("pointerleave",u,{passive:!0}),i.addEventListener("focus",p),i.addEventListener("blur",u),()=>{i.removeEventListener("pointermove",l),i.removeEventListener("pointerleave",u),i.removeEventListener("focus",p),i.removeEventListener("blur",u),a.x.stop(),a.y.stop(),s.remove()}}function Pv(e,t,r){if(!he(r.win))return()=>{};let n=e;r.win.getComputedStyle(n).position==="static"&&r.style.set("position","relative");function o(c,u,l){r.style.set("--kui-x",c),r.style.set("--kui-y",u),r.style.set("--kui-spotlight-opacity",l?"1":"0")}function i(c){let u=n.getBoundingClientRect();o(`${(c.clientX-u.left).toFixed(1)}px`,`${(c.clientY-u.top).toFixed(1)}px`,!0)}function s(){o("50%","50%",!1)}function a(){o("50%","50%",!0)}return n.addEventListener("pointermove",i,{passive:!0}),n.addEventListener("pointerleave",s,{passive:!0}),n.addEventListener("focus",a),n.addEventListener("blur",s),()=>{n.removeEventListener("pointermove",i),n.removeEventListener("pointerleave",s),n.removeEventListener("focus",a),n.removeEventListener("blur",s)}}var kv={maxAngle:{type:"number",default:"14",cssProperty:"--kui-max-angle"},perspective:{type:"length",default:"800px",cssProperty:"--kui-perspective"}},wv={strength:{type:"number",default:"24",cssProperty:"--kui-strength"}},gr={...fv,label:{type:"text",default:"",cssProperty:"--kui-label"}},xv=[We("tilt-3d",["skew","transition"],kv,P(hv)),We("tilt-parallax",["translate"],wv,P(bv)),We("cursor-follow",["translate"],gr,P(Tv)),We("cursor-lag",["translate"],gr,P(Av)),We("cursor-label",["translate"],gr,P(Cv)),We("cursor-invert",["translate"],gr,P(Rv)),We("cursor-spotlight",["spotlight","pseudo-before","position"],{},P(Pv))];function Tv(e,t,r){return yr(e,t,r,"kui-cursor-dot-follow")}function Av(e,t,r){return yr(e,t,r,"kui-cursor-dot-lag")}function Cv(e,t,r){return yr(e,t,r,"kui-cursor-dot-label")}function Rv(e,t,r){return yr(e,t,r,"kui-cursor-dot-invert")}var Mv=[{name:"tilt-3d",primitive:"tilt-3d"},{name:"tilt-parallax",primitive:"tilt-parallax"},{name:"cursor-follow",primitive:"cursor-follow",params:{stiffness:"300",damping:"30"}},{name:"cursor-lag",primitive:"cursor-lag",params:{stiffness:"80",damping:"14"}},{name:"cursor-label",primitive:"cursor-label",params:{stiffness:"260",damping:"26",label:"View"}},{name:"cursor-spotlight",primitive:"cursor-spotlight"},{name:"cursor-invert",primitive:"cursor-invert",params:{stiffness:"260",damping:"26"}}],Iv=[...Ec,...xv,...mv,...lc,...fc],Lv=[...pv,...Mv,...dv,...pc,...gc];function Pc(e){return e.registerPrimitives(Iv).registerPresets(Lv)}function Ov(e,t,r){if(!he(r.win))return()=>{};let n=e;function o(s){r.style.set("--kui-proximity-x",`${s.clientX}px`),r.style.set("--kui-proximity-y",`${s.clientY}px`),r.style.set("--kui-proximity-opacity","1")}function i(){r.style.set("--kui-proximity-opacity","0")}return n.addEventListener("pointermove",o,{passive:!0}),n.addEventListener("pointerleave",i,{passive:!0}),()=>{n.removeEventListener("pointermove",o),n.removeEventListener("pointerleave",i)}}var Nv=[{id:"proximity-field",renderer:"javascript",channels:["proximity"],parameters:{},supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R("proximity-field",{because:"it tracks pointer position continuously across a container, so it has no start moment and no fixed span"},P(Ov))}],_v=[{name:"proximity-field",phase:"state",primitive:"proximity-field"}],Dv={duration:{type:"time",default:"200ms",cssProperty:"--kui-duration"},ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},color:{type:"color",default:"",cssProperty:"--kui-proximity-glow-color"},radius:{type:"length",default:"220px",cssProperty:"--kui-proximity-glow-radius"},width:{type:"length",default:"1px",cssProperty:"--kui-proximity-glow-width"},outset:{type:"length",default:"0px",cssProperty:"--kui-proximity-glow-outset"}},$v=[{id:"proximity-glow",renderer:"javascript",channels:["pseudo-before"],parameters:Dv,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:ne("proximity-glow",{honours:["duration","ease"],because:"the ring is ambient chrome fed by an ancestor proximity-field and has no discrete start moment of its own to delay"})}],jv=[{name:"proximity-glow",phase:"state",primitive:"proximity-glow"}],Hv=[...Nv,...$v],Vv=[..._v,...jv];function kc(e){return e.registerPrimitives(Hv).registerPresets(Vv)}var Yn="",Fv={blur:{type:"length",default:"16px",cssProperty:"--kui-glass-blur"},saturate:{type:"number|percentage",default:"1.6",cssProperty:"--kui-glass-saturate",finite:!0,minimum:0},opacity:{type:"number|percentage",default:"0.12",cssProperty:"--kui-glass-opacity",finite:!0,minimum:0,maximum:1},tint:{type:"color",default:Yn,cssProperty:"--kui-glass-tint"},rim:{type:"color",default:Yn,cssProperty:"--kui-glass-rim"},"rim-width":{type:"length",default:"1px",cssProperty:"--kui-glass-rim-width"},sheen:{type:"number|percentage",default:"0.16",cssProperty:"--kui-glass-sheen",finite:!0,minimum:0,maximum:1},radius:{type:"length|percentage",default:Yn,cssProperty:"--kui-glass-radius"}};function Gv(){return I(()=>{})}var Bv=[{id:"glass",renderer:"javascript",channels:["background","backdrop"],parameters:Fv,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:R("glass",{because:"it paints a resting surface rather than animating, so there is no motion to time"},P(Gv))}],Wv=[{name:"glass",primitive:"glass"}];function wc(e){return e.registerPrimitives(Bv).registerPresets(Wv)}var qv=new Set(["mp4","webm","mov","m4v","ogv"]),Kv=new Set(["youtube.com","www.youtube.com","m.youtube.com","youtube-nocookie.com","www.youtube-nocookie.com","youtu.be","www.youtu.be"]);function xc(e){let t=e.replace(/[\t\n\r]/g,""),r=0;for(;r<t.length&&t.charCodeAt(r)<=32;)r+=1;return t.slice(r)}function Uv(e){let t=xc(e).replace(/^[a-z][a-z0-9+.-]*:/i,"").replace(/^\/\//,""),r=t.search(/[/?#]/),n=r===-1?t:t.slice(0,r);return n.slice(n.lastIndexOf("@")+1).toLowerCase()}function zv(e){return Kv.has(Uv(e))}var Xn={center:"50% 50%",top:"50% 0%",bottom:"50% 100%",left:"0% 50%",right:"100% 50%","top-left":"0% 0%","top-right":"100% 0%","bottom-left":"0% 100%","bottom-right":"100% 100%"},Tc=Object.keys(Xn);function Ac(e){return Xn[e]??Xn.center}function Yv(e){return e.overlay!=="transparent"&&e.overlayOpacity>0}function Xv(e){let t=e.split("?")[0].split("#")[0],r=t.lastIndexOf(".");return r<=t.lastIndexOf("/")?!1:qv.has(t.slice(r+1).toLowerCase())}var Jv=new Set(["http","https"]);function Zv(e){let t=/^([a-z][a-z0-9+.-]*):/i.exec(xc(e));return t?t[1].toLowerCase():""}function Jn(e,t,r){if(!e)return e;if(zv(e))return r.warn(`background-media "${t}": "${e}" is a video *page*, not a media file \u2014 a YouTube URL cannot be played by <video> and needs an iframe embed instead. Point "${t}" at an .mp4/.webm file, or use a YouTube facade alongside this effect.`),"";let n=Zv(e);return!n||Jv.has(n)?e:(r.warn(`background-media "${t}": "${n}:" URLs are not allowed \u2014 use https:, http:, or a path such as "/media/hero.mp4".`),"")}function Cc(e){let{style:t}=e;t.setProperty("position","absolute"),t.setProperty("top","0"),t.setProperty("left","0"),t.setProperty("width","100%"),t.setProperty("height","100%"),t.setProperty("border-radius","inherit"),t.setProperty("pointer-events","none"),t.setProperty("z-index","-1")}function Qv(e,t){let r=e.createElement("div");return Cc(r),r.style.setProperty("background",t.overlay),r.style.setProperty("opacity",String(t.overlayOpacity)),r.setAttribute("aria-hidden","true"),r}function eb(e,t){let r=e.createElement("video");return r.muted=!0,r.setAttribute("muted",""),r.playsInline=!0,r.setAttribute("playsinline",""),r.loop=t.loop,r.defaultPlaybackRate=t.rate,r.playbackRate=t.rate,r.preload="metadata",t.poster&&(r.poster=t.poster),r.src=t.src,r}function Rc(e){let t=e.play();t&&t.catch(()=>{})}function tb(e,t,r){return r.reducedMotion||r.autoplay==="never"?()=>{}:r.autoplay==="always"?(Rc(e),()=>{e.paused||e.pause()}):nb(e,t)}function rb(e,t){let r=e.createElement("img");return r.alt="",r.decoding="async",r.src=t.src,r}function nb(e,t){let r=t.IntersectionObserver;if(!r)return()=>{};let n=new r(o=>{for(let i of o)i.isIntersecting?Rc(e):e.paused||e.pause()},{threshold:0});return n.observe(e),()=>{n.disconnect(),e.paused||e.pause()}}function Mc(e,t,r){let n=e.ownerDocument,o=Xv(r.src)?eb(n,r):null,i=o??rb(n,r);Cc(i),i.style.setProperty("object-fit",r.fit),i.style.setProperty("object-position",r.position),i.setAttribute("aria-hidden","true"),i.setAttribute("data-kui-background",""),e.append(i);let s=Yv(r)?Qv(n,r):null;s&&(s.setAttribute("data-kui-background-overlay",""),e.append(s));let a=o?tb(o,t.win,r):()=>{};return{remove:()=>{a(),i.remove(),s?.remove()}}}var Zn={vertical:0,horizontal:90},ob={deg:1,d:1,grad:.9,rad:180/Math.PI,turn:360},Ic=1,ib="kui-slat-stage",sb="kui-slat-item",ab=.6180339887498949;function cb(e,t,r){if(t<=1)return 0;switch(r){case"start":return e;case"end":return t-1-e;case"edges":return Math.min(e,t-1-e);case"random-ish":return Math.floor(e*ab%1*t);case"alternate":default:return ub(e,t)}}function ub(e,t){let r=e,n=t-1-e,o=Math.min(r,n);return r<=n?o*2:o*2+1}function Lc(e,t){let r=e.trim();if(!r)return Zn[t];let n=/^(-?(?:\d+(?:\.\d+)?|\.\d+))(deg|d|rad|grad|turn)?$/.exec(r);if(!n)return Zn[t];let o=Number(n[1]);if(!Number.isFinite(o))return Zn[t];let i=n[2]??"deg";return(o*ob[i]%180+180)%180}function Oc(e){let t=e*Math.PI/180;return{x:-Math.sin(t),y:Math.cos(t)}}function lb(e,t,r,n){let{width:o,height:i}=n,s=r*Math.PI/180,a=Math.cos(s),c=Math.sin(s),{x:u,y:l}=Oc(r),p=Math.abs(a)*o+Math.abs(c)*i,m=o/2,f=i/2,d=p/t,g=e*d-p/2-Ic,h=(e+1)*d-p/2+Ic,v=o+i,E=(w,C)=>`${(m+w*a+C*u).toFixed(2)}px ${(f+w*c+C*l).toFixed(2)}px`;return`polygon(${E(g,v)}, ${E(g,-v)}, ${E(h,-v)}, ${E(h,v)})`}function pb(e){return e===0?"vertical":e===90?"horizontal":"diagonal"}function Nc(e,t,r){let{slats:n,angleDegrees:o}=r,i=t.offsetWidth,s=t.offsetHeight;e.style.top=`${t.offsetTop}px`,e.style.left=`${t.offsetLeft}px`,e.style.width=`${i}px`,e.style.height=`${s}px`,n.forEach((a,c)=>{a.style.clipPath=lb(c,n.length,o,{width:i,height:s})})}function mb(e,t,r,n){let i=Ie(r,()=>Nc(e,t,n));return i.observe(t),i.disconnect}function db(e,t){let r=t.getComputedStyle(e),n=r.objectPosition||"50% 50%",o=r.objectFit;return o==="cover"?{size:"cover",position:n}:o==="contain"||o==="scale-down"?{size:"contain",position:n}:o==="none"?{size:"auto",position:n}:{size:"100% 100%",position:n}}function _c(e,t,r,n){let o=e.querySelector("img");if(!o)return null;let i=o.currentSrc||o.getAttribute("src")||"";if(!i)return null;let{count:s,angleDegrees:a,from:c,fold:u}=n,l=Oc(a),p=t.createElement("div");p.className=ib,p.setAttribute("aria-hidden","true"),p.dataset.kuiSlatAxis=pb(a),p.dataset.kuiSlatAngle=String(a),p.dataset.kuiSlatFold=String(u),p.style.setProperty("--kui-slat-count",String(s)),p.style.setProperty("--kui-slat-dx",l.x.toFixed(4)),p.style.setProperty("--kui-slat-dy",l.y.toFixed(4));let m=db(o,r),f=[];for(let v=0;v<s;v++){let E=t.createElement("div");E.className=sb,E.style.setProperty("--kui-slat-index",String(v)),E.style.setProperty("--kui-i",String(cb(v,s,c))),E.style.backgroundImage=`url("${i}")`,E.style.backgroundSize=m.size,E.style.backgroundPosition=m.position,p.append(E),f.push(E)}e.append(p);let d={slats:f,angleDegrees:a};Nc(p,o,d);let g=mb(p,o,r,d),h=j(o);return h.set("visibility","hidden"),{stage:p,slats:f,restore:()=>{g(),h.restore(),p.remove()}}}function Dc(e,t){let{durationMs:r,delayMs:n,easing:o}=t.timing,i=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",i),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",Te(o??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","60ms"))}function $c(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),o=e.ms("stagger",60);return n+(t-1)*o+r}var Qn={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},scale:{type:"number",default:"1.12",cssProperty:"--kui-to-scale"}},fb=[b("media-wipe",[y.clip]),b("media-mask",["mask"],{perfClass:"paint"}),b("media-ken-burns",[y.translate,y.scale],{parameters:Qn}),b("media-filter",[y.filter],{defaultActivation:"hover",perfClass:"paint"}),b("media-blur-up",[y.translate,y.filter],{parameters:{distance:Qn.distance,blur:{type:"length",default:"16px",cssProperty:"--kui-blur"}},perfClass:"paint"}),b("media-parallax-frame",[y.translate],{parameters:{distance:Qn.distance},timelines:["view","scroll"],activations:["manual"],reducedMotion:"disable"}),b("media-lightbox",[y.opacity,y.scale],{parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}})],gb=[{name:"wipe-up",primitive:"media-wipe",keyframes:"kui-wipe-up",cloak:!0},{name:"wipe-down",primitive:"media-wipe",keyframes:"kui-wipe-down",cloak:!0},{name:"wipe-left",primitive:"media-wipe",keyframes:"kui-wipe-left",cloak:!0},{name:"wipe-right",primitive:"media-wipe",keyframes:"kui-wipe-right",cloak:!0},{name:"wipe-circle",primitive:"media-wipe",keyframes:"kui-wipe-circle",cloak:!0},{name:"wipe-diagonal",primitive:"media-wipe",keyframes:"kui-wipe-diagonal",cloak:!0},{name:"mask-reveal",primitive:"media-mask",keyframes:"kui-mask-reveal",cloak:!0},{name:"curtain-reveal",primitive:"media-wipe",keyframes:"kui-curtain-reveal",cloak:!0},{name:"ken-burns",primitive:"media-ken-burns",keyframes:"kui-ken-burns"},{name:"ken-burns-out",primitive:"media-ken-burns",keyframes:"kui-ken-burns-out"},{name:"blur-up",primitive:"media-blur-up",keyframes:"kui-blur-up",cloak:!0},{name:"duotone-hover",primitive:"media-filter",keyframes:"kui-duotone-hover"},{name:"grayscale-hover",primitive:"media-filter",keyframes:"kui-grayscale-hover"},{name:"saturate-hover",primitive:"media-filter",keyframes:"kui-saturate-hover"},{name:"image-parallax-frame",primitive:"media-parallax-frame",keyframes:"kui-image-parallax-frame"},{name:"before-after-wipe",primitive:"media-wipe",keyframes:"kui-before-after-wipe"},{name:"lightbox-open",primitive:"media-lightbox",keyframes:"kui-lightbox-open"}],yb={slats:{type:"number",default:"8",cssProperty:"--kui-slats",minimum:2,maximum:24,integer:!0},axis:{type:"keyword",default:"vertical",cssProperty:"--kui-axis",keywords:["vertical","horizontal"]},angle:{type:"text",default:"",cssProperty:"--kui-slat-angle"},from:{type:"keyword",default:"alternate",cssProperty:"--kui-from",keywords:["alternate","start","end","edges","random-ish"]},fold:{type:"keyword",default:"false",cssProperty:"--kui-fold",keywords:["true","false"]},duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"60ms",cssProperty:"--kui-stagger"}};function hb(e,t,r){let n=e.ownerDocument,o=Math.min(24,Math.max(2,Math.round(t.num("slats",8)))),i=t.text("axis","vertical"),s=Lc(t.text("angle",""),i),a=t.text("from","alternate"),c=t.is("fold"),u=e;r.win.getComputedStyle(u).position==="static"&&r.style.set("position","relative");let l=_c(e,n,r.win,{count:o,angleDegrees:s,from:a,fold:c});if(!l)return()=>{};let{stage:p}=l;Dc(p,t),p.classList.add("kui-slat-animating");let m,f=new Promise(v=>{m=v}),d=!1,g=()=>{d||(d=!0,p.classList.remove("kui-slat-animating"),l.restore(),m())},h=r.win.setTimeout(g,$c(t,o));return{cleanup:()=>{r.win.clearTimeout(h),!d&&(d=!0,l.restore())},finished:f,finish:()=>{r.win.clearTimeout(h),g()}}}var vb={src:{type:"text",default:"",cssProperty:"--kui-src"},poster:{type:"text",default:"",cssProperty:"--kui-poster"},fit:{type:"keyword",default:"cover",cssProperty:"--kui-fit",keywords:["cover","contain"]},focus:{type:"keyword",default:"center",cssProperty:"--kui-focus",keywords:Tc},overlay:{type:"color",default:"transparent",cssProperty:"--kui-overlay"},"overlay-opacity":{type:"percentage",default:"100%",cssProperty:"--kui-overlay-opacity"},autoplay:{type:"keyword",default:"in-view",cssProperty:"--kui-autoplay",keywords:["in-view","always","never"]},rate:{type:"number",default:"1",cssProperty:"--kui-rate",finite:!0,minimum:.25,maximum:4},loop:{type:"keyword",default:"true",cssProperty:"--kui-loop",keywords:["true","false"]}};function bb(e,t,r){let n=t.text("src");if(!n)return r.warn('background-media needs a "src:" \u2014 nothing installed'),()=>{};let o=Jn(n,"src",r);if(!o)return()=>{};let i=e;r.win.getComputedStyle(i).position==="static"&&r.style.set("position","relative"),r.style.set("isolation","isolate");let s=Mc(e,r,{src:o,poster:Jn(t.text("poster"),"poster",r),fit:t.is("fit","contain")?"contain":"cover",position:Ac(t.text("focus","center")),overlay:t.text("overlay","transparent"),overlayOpacity:Math.min(1,Math.max(0,t.num("overlay-opacity",1))),autoplay:t.text("autoplay","in-view"),rate:t.num("rate",1),loop:!t.is("loop","false"),reducedMotion:r.reducedMotion});return I(s.remove)}var Eb=[{id:"slat-assemble",renderer:"javascript",channels:[y.opacity,y.translate,y.rotate,"position",D],parameters:yb,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"disable",restoresOnFinish:!0,prepare:P(hb)},{id:"background-media",channels:["media","position","isolation",D],renderer:"javascript",parameters:vb,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"paint",reducedMotion:"shorten",prepare:R("background-media",{because:"it paints a backdrop rather than animating, so there is no motion to time"},P(bb))}],Sb=[{name:"slat-assemble",primitive:"slat-assemble",cloak:!0},{name:"bg",primitive:"background-media"},{name:"background",primitive:"background-media"},{name:"video-backdrop",primitive:"background-media",params:{overlay:"black","overlay-opacity":"45%"}},{name:"video-hero",primitive:"background-media",params:{overlay:"black","overlay-opacity":"45%",autoplay:"always"}}],Pb=[...fb,...Eb],kb=[...gb,...Sb];function jc(e){return e.registerPrimitives(Pb).registerPresets(kb)}function hr(e){let t=Array.from(e.childNodes);return()=>{e.replaceChildren(...t)}}var wb="kui-sr-only",xb="kui-split-decorative",Tb="a[href], button, input, select, textarea, [tabindex], [contenteditable], details, summary, iframe, audio[controls], video[controls]";function ve(e){return e.querySelector(Tb)!==null}function qe(e,t){let r=e.textContent.trim(),n=hr(e),o=t.createElement("span");o.setAttribute("aria-hidden","true"),o.className=xb;let i=t.createElement("span");return i.className=wb,i.textContent=r,e.textContent="",e.append(o,i),{decorative:o,srOnly:i,originalText:r,restore:n}}function vr(e){let t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e),r=>r.segment)}function Ab(e){let t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e),r=>({text:r.segment,isWord:r.isWordLike===!0}))}function br(e,t,r){e.className=r?`kui-split-item ${r}`:"kui-split-item",e.style.setProperty("--kui-i",String(t))}function Er(e,t){let{durationMs:r,delayMs:n,easing:o}=t.timing,i=r===void 0?t.text("duration","500ms"):`${r}ms`,s=n===void 0?t.text("delay","0ms"):`${n}ms`;e.style.setProperty("--kui-duration",i),e.style.setProperty("--kui-delay",s),e.style.setProperty("--kui-ease",Te(o??t.text("ease","ease-out"))),e.style.setProperty("--kui-stagger",t.text("stagger","30ms"))}function to(e,t,r){let n=e.timing.durationMs;return n===void 0||t<=0?e.ms("step",r):Math.max(1,n/t)}function Sr(e,t){if(t===0)return 0;let r=e.timing.durationMs??e.ms("duration",500),n=e.timing.delayMs??e.ms("delay",0),o=e.ms("stagger",30);return n+(t-1)*o+r}function Pr(e,t){let r,n=new Promise(a=>{r=a}),o;function i(){e.clearTimeout(s),o!==void 0&&e.clearInterval(o),r?.()}let s=e.setTimeout(()=>{o=e.setInterval(()=>{t.tick()&&i()},t.stepMs)},t.delayMs);return{finished:n,stop:i}}function ro(e,t,r){let n=[],o=0,i=null;for(let s of vr(r)){if(s.trim()===""){e.append(t.createTextNode(s)),i=null;continue}i||(i=t.createElement("span"),i.className="kui-split-word",e.append(i));let a=t.createElement("span");br(a,o),a.textContent=s,i.append(a),n.push(a),o++}return n}function eo(e,t){let r=e.doc.createElement("span");return br(r,e.spans.length),r.textContent=t,e.container.append(r),e.spans.push(r),r}function Cb(e,t,r){for(let{segment:n}of r.segment(t))n.trim()===""?(e.leading&&eo(e,e.leading),e.leading="",e.preceding=null,e.container.append(e.doc.createTextNode(n))):e.leading||/^[\p{Ps}\p{Pi}¿¡]$/u.test(n)||!e.preceding?e.leading+=n:e.preceding.textContent+=n}function Hc(e,t,r){let n={container:e,doc:t,spans:[],preceding:null,leading:""},o=new Intl.Segmenter(void 0,{granularity:"grapheme"});for(let i of Ab(r)){if(!i.isWord){Cb(n,i.text,o);continue}n.preceding=eo(n,n.leading+i.text),n.leading=""}return n.leading&&eo(n,n.leading),n.spans}function Rb(e){let t=[],r=null;for(let n of Array.from(e.childNodes)){if(n instanceof HTMLElement){let o=n.offsetTop;(r===null||Math.abs(o-r)>1)&&(t.push([]),r=o)}else t.length===0&&t.push([]);t.at(-1).push(n)}return t}function Vc(e,t){let r=Rb(e);return e.replaceChildren(),r.map((n,o)=>{let i=t.createElement("span");br(i,o,"kui-split-line");for(let s of n)s instanceof HTMLElement&&(s.removeAttribute("class"),s.style.removeProperty("--kui-i")),i.append(s);return e.append(i),i})}function Mb(e,t,r){return Hc(e,t,r),Vc(e,t)}function Fc(e,t){let r=Array.from(e.childNodes).flatMap(o=>Array.from(o.childNodes));e.replaceChildren(...r);let n=0;for(let o of r)o instanceof HTMLElement&&br(o,n++);return Vc(e,t)}function no(e,t,r,n){return e==="words"?Hc(t,r,n):e==="lines"?Mb(t,r,n):ro(t,r,n)}function Gc(e,t,r){if(!e.deleting){let o=e.index+1;return o<t?{index:o,deleting:!1,done:!1}:r?{index:t,deleting:!0,done:!1}:{index:t,deleting:!1,done:!0}}let n=e.index-1;return n>0?{index:n,deleting:!0,done:!1}:{index:0,deleting:!1,done:!1}}var Bc={upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",binary:"01",symbols:"!<>-_\\/[]{}=+*^?#~"};function Wc(e,t,r,n){return e.map((o,i)=>i<t||o.trim()===""?o:r[Math.floor(n()*r.length)]??r[0]??o).join("")}var Ib=/^[A-Za-z0-9]{4}$/,qc={type:"keyword",default:'"wght"',cssProperty:"--kui-axis",keywords:[]},Kc={axis:qc,from:{type:"number",default:"100",cssProperty:"--kui-from-axis",finite:!0},to:{type:"number",default:"900",cssProperty:"--kui-to-axis",finite:!0}};function Uc(e,t){let r=e.params.axis;if(r===void 0)return{};let n=Object.fromEntries(Object.entries(e.params).filter(([i])=>i!=="axis"));if(!Ib.test(r))return t(`"axis:${r}" is not an OpenType axis tag \u2014 expected exactly four letters or digits, case-significant, e.g. axis:wght (registered) or axis:GRAD (vendor)`),{params:n};let o=`"${r}"`;return{params:{...n,axis:o},schema:{axis:{...qc,keywords:[o]}}}}var Lb="kui-sr-only",Ob="kui-count-decorative";function Xc(e,t){let r=hr(e),n=t.createElement("span");n.setAttribute("aria-hidden","true"),n.className=Ob;let o=t.createElement("span");return o.className=Lb,e.textContent="",e.append(n,o),{decorative:n,srOnly:o,restore:r}}function zc(e){return 1-(1-Math.min(Math.max(e,0),1))**3}function Jc(e,t,r){return t+(r-t)*e}function Yc(e,t,r,n){let o=3*e,i=3*(r-e)-o,s=1-o-i,a=3*t,c=3*(n-t)-a,u=1-a-c,l=d=>((s*d+i)*d+o)*d,p=d=>((u*d+c)*d+a)*d,m=d=>(3*s*d+2*i)*d+o;function f(d){let g=d;for(let E=0;E<8;E++){let w=m(g);if(Math.abs(w)<1e-6)break;let C=g-(l(g)-d)/w;if(Math.abs(l(C)-d)<1e-6)return C;g=C}let h=0,v=1;for(g=d;v-h>1e-6;)l(g)<d?h=g:v=g,g=(h+v)/2;return g}return d=>p(f(Math.min(Math.max(d,0),1)))}var Nb={ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1],"expo-in":[.7,0,.84,0],"expo-out":[.16,1,.3,1],"expo-in-out":[.87,0,.13,1],"back-in":[.36,0,.66,-.56],"back-out":[.34,1.56,.64,1],"back-in-out":[.68,-.6,.32,1.6],"quart-out":[.25,1,.5,1],"circ-out":[0,.55,.45,1]},_b=/^cubic-bezier\(\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\)$/i;function kr(e,t){if(e===void 0)return zc;if(e==="linear")return o=>Math.min(Math.max(o,0),1);let r=Nb[e];if(r)return Yc(...r);let n=_b.exec(e);return n?Yc(Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])):(t(`easing "${e}" has no JS equivalent for a JS-driven tween \u2014 using the default ease-out`),zc)}var Db={notation:"compact",maximumFractionDigits:1};function wr(e,t){let{format:r,decimals:n,currency:o}=t;return r==="currency"?new Intl.NumberFormat(void 0,{style:"currency",currency:o,minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="percent"?new Intl.NumberFormat(void 0,{style:"percent",minimumFractionDigits:n,maximumFractionDigits:n}).format(e):r==="compact"?new Intl.NumberFormat(void 0,Db).format(e):new Intl.NumberFormat(void 0,{minimumFractionDigits:n,maximumFractionDigits:n}).format(e)}function oo(e,t){return Math.round(Math.max(0,e)).toString().padStart(t,"0")}function xr(e){let t=[];for(let r=e.length;r>0;r-=3)t.unshift(e.slice(Math.max(0,r-3),r));return t.join(",")}function io(e){return[...e].map(t=>({char:t,digit:t>="0"&&t<="9"}))}var Zc=16,$b=1,jb={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...O,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"},decimals:{type:"number",default:"0",cssProperty:"--kui-decimals",integer:!0,minimum:0,maximum:6},format:{type:"keyword",default:"number",cssProperty:"--kui-format",keywords:["number","currency","percent","compact"]},currency:{type:"text",default:"USD",cssProperty:"--kui-currency"}},Hb={duration:{type:"time",default:"1600ms",cssProperty:"--kui-duration"},...O,from:{type:"number",default:"0",cssProperty:"--kui-from"},to:{type:"number",default:"100",cssProperty:"--kui-to"}};function Qc(e,t,r){return{id:e,renderer:"javascript",channels:["content",D],parameters:t,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:"dom-transform",reducedMotion:"shorten",prepare:r}}function Vb(e,t){return t.reducedMotion?$b:Math.max(0,Z(e,1600))}function eu(e,t){return{durationMs:Vb(e,t),delayMs:Math.max(0,e.timing.delayMs??e.ms("delay",0)),easing:kr(e.timing.easing,t.warn)}}function tu(e,t){let{from:r,to:n,durationMs:o,delayMs:i,easing:s,onTick:a}=t,c=0,u,l,p=new Promise(g=>{l=g}),m=()=>{e.win.clearTimeout(d),u!==void 0&&e.win.clearInterval(u)},f=()=>{c+=Zc;let g=o<=0?1:Math.min(c/o,1),h=g>=1;a(Jc(s(g),r,n),h),h&&(m(),l())},d=e.win.setTimeout(()=>{u=e.win.setInterval(f,Zc)},i);return{cleanup:m,finished:p,finish:()=>{m(),a(n,!0),l()}}}function ru(e,t,r){let n=Xc(e,t);try{let o=r(n);return{...o,cleanup:()=>{o.cleanup(),n.restore()}}}catch(o){throw n.restore(),o}}function nu(e,t,r,n){let o=e.textContent,i=o.replace(/\D/g,""),s=r.replace(/\D/g,"");i!==s&&n.warn(`${t}: authored text "${o}" doesn't match the value it will count to (${r}) \u2014 author the final value as the element's text so crawlers and no-JS readers see it`)}function Fb(e,t,r){if(ve(e))return r.warn("count would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.num("from",0),i=t.num("to",100),s=Math.max(0,Math.round(t.num("decimals",0))),a=t.text("format","number"),c=t.text("currency","USD"),u={format:a,decimals:s,currency:c},l=wr(o,u),p=wr(i,u);return nu(e,"count",p,r),ru(e,n,m=>{m.decorative.textContent=l,m.srOnly.textContent=p;let f=tu(r,{from:o,to:i,...eu(t,r),onTick:d=>{m.decorative.textContent=wr(d,u)}});return{cleanup:f.cleanup,finished:f.finished,finish:f.finish}})}function Gb(e,t,r){let n=[];for(let o of io(r)){if(!o.digit){e.append(t.createTextNode(o.char));continue}let i=t.createElement("span");i.className="kui-odometer-col";let s=t.createElement("span");s.className="kui-odometer-strip";for(let a=0;a<=9;a++){let c=t.createElement("span");c.textContent=String(a),s.append(c)}s.style.setProperty("--kui-o",o.char),i.append(s),e.append(i),n.push(s)}return n}function Bb(e,t){let r=0;for(let n of io(t))n.digit&&(e[r]?.style.setProperty("--kui-o",n.char),r++)}function Wb(e,t,r){if(ve(e))return r.warn("count-odometer would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=Math.max(0,t.num("from",0)),i=Math.max(0,t.num("to",100)),s=Math.max(String(Math.round(o)).length,String(Math.round(i)).length),a=xr(oo(o,s)),c=xr(String(Math.round(i)));return nu(e,"count-odometer",c,r),ru(e,n,u=>{u.srOnly.textContent=c;let l=Gb(u.decorative,n,a),p=tu(r,{from:o,to:i,...eu(t,r),onTick:m=>{Bb(l,xr(oo(m,s)))}});return{cleanup:p.cleanup,finished:p.finished,finish:p.finish}})}var qb=[Qc("count",jb,P(Fb)),Qc("count-odometer",Hb,P(Wb))],Kb=[{name:"count-up",primitive:"count",params:{from:"0",to:"100"}},{name:"count-down",primitive:"count",params:{from:"100",to:"0"}},{name:"count-currency",primitive:"count",params:{from:"0",to:"4820",format:"currency",currency:"USD",decimals:"0"}},{name:"count-percent",primitive:"count",params:{from:"0",to:"0.82",format:"percent",decimals:"0"}},{name:"count-compact",primitive:"count",params:{from:"0",to:"128400",format:"compact"}},{name:"odometer-roll",primitive:"count-odometer",params:{from:"0",to:"4820"}}],Ub=[b("stroke-sweep",[y.stroke]),b("meter-bar",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),b("meter-segments",[y.opacity]),b("meter-stars",[y.clip])],zb=[{name:"progress-ring",primitive:"stroke-sweep",keyframes:"kui-progress-ring"},{name:"gauge-sweep",primitive:"stroke-sweep",keyframes:"kui-gauge-sweep"},{name:"donut-sweep",primitive:"stroke-sweep",keyframes:"kui-donut-sweep"},{name:"sparkline-draw",primitive:"stroke-sweep",keyframes:"kui-sparkline-draw"},{name:"progress-bar",primitive:"meter-bar",keyframes:"kui-progress-bar",cloak:!0},{name:"progress-segments",primitive:"meter-segments",keyframes:"kui-progress-segments"},{name:"star-rating-fill",primitive:"meter-stars",keyframes:"kui-star-rating-fill"}],Yb=[...qb,...Ub],Xb=[...Kb,...zb];function ou(e){return e.registerPrimitives(Yb).registerPresets(Xb)}var Jb={from:{type:"number",default:"100",cssProperty:"--kui-from-weight",minimum:1,maximum:1e3},to:{type:"number",default:"800",cssProperty:"--kui-to-weight",minimum:1,maximum:1e3}},Zb={from:{type:"percentage",default:"75%",cssProperty:"--kui-from-width"},to:{type:"percentage",default:"125%",cssProperty:"--kui-to-width"}},Qb={from:{type:"angle",default:"0deg",cssProperty:"--kui-from-slant"},to:{type:"angle",default:"10deg",cssProperty:"--kui-to-slant"}},iu={color:{type:"color",default:"currentColor",cssProperty:"--kui-sweep-color"}},eE={angle:{type:"angle",default:"-20deg",cssProperty:"--kui-from-angle"},distance:{type:"length",default:"32px",cssProperty:"--kui-distance"}},tE=[b("text-shimmer",[y.background,y.color],{reducedMotion:"disable"}),b("text-gradient-sweep",[y.background,y.color],{parameters:iu}),b("text-sweep",[y.background],{parameters:iu}),b("text-outline-fill",[y.stroke,y.color]),b("var-weight",["font"],{parameters:Jb}),b("var-width",["font"],{parameters:Zb}),b("var-slant",["font"],{parameters:Qb}),{...b("var-axis",["font"],{parameters:Kc}),variantFor:Uc},b("text-marquee",[y.translate,"discrete"],{timelines:["time","scroll"],defaultActivation:"load",reducedMotion:"disable"}),b("redaction-reveal",[y.clip,"discrete"]),b("text-3d-extrude",[y.rotate,y.translate,"text-shadow","discrete"],{parameters:eE})],rE=[{name:"gradient-shimmer",phase:"idle",primitive:"text-shimmer",keyframes:"kui-gradient-shimmer"},{name:"gradient-sweep",primitive:"text-gradient-sweep",keyframes:"kui-gradient-sweep"},{name:"highlight-sweep",primitive:"text-sweep",keyframes:"kui-highlight-sweep",params:{color:"gold"}},{name:"underline-draw",primitive:"text-sweep",keyframes:"kui-underline-draw"},{name:"text-outline-fill",primitive:"text-outline-fill",keyframes:"kui-text-outline-fill"},{name:"var-weight",primitive:"var-weight",keyframes:"kui-var-weight"},{name:"var-width",primitive:"var-width",keyframes:"kui-var-width"},{name:"var-slant",primitive:"var-slant",keyframes:"kui-var-slant"},{name:"var-axis",primitive:"var-axis",keyframes:"kui-var-axis"},{name:"marquee",phase:"idle",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"marquee-scroll-linked",primitive:"text-marquee",keyframes:"kui-marquee"},{name:"redaction-reveal",primitive:"redaction-reveal",keyframes:"kui-redaction-reveal"},{name:"text-3d-extrude",primitive:"text-3d-extrude",keyframes:"kui-text-3d-extrude"}];function xt(e,t,r){return{id:e,renderer:"javascript",channels:[...t,D],parameters:r.parameters,supportedTimelines:["time"],supportedActivations:["load","enter","hover","focus","click","manual"],defaultActivation:"enter",perfClass:r.perfClass??"dom-transform",reducedMotion:"disable",prepare:r.prepare}}var nE={duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"},stagger:{type:"time",default:"30ms",cssProperty:"--kui-stagger"},unit:{type:"keyword",default:"chars",cssProperty:"--kui-unit",keywords:["chars","words","lines"]},direction:{type:"keyword",default:"fade",cssProperty:"--kui-direction",keywords:["fade","up","down","mask"]}},oE={stagger:{type:"time",default:"40ms",cssProperty:"--kui-stagger"},...O,motion:{type:"keyword",default:"wave",cssProperty:"--kui-motion",keywords:["wave","jitter"]}},iE={step:{type:"time",default:"55ms",cssProperty:"--kui-step"},loop:{type:"keyword",default:"false",cssProperty:"--kui-loop",keywords:["true","false"]},...O},sE={step:{type:"time",default:"40ms",cssProperty:"--kui-step"},...O,revealEvery:{type:"number",default:"2",cssProperty:"--kui-reveal-every",minimum:1,integer:!0},charset:{type:"keyword",default:"upper",cssProperty:"--kui-charset",keywords:["upper","binary","symbols"]}},aE={words:{type:"text",default:"",cssProperty:"--kui-words"},interval:{type:"time",default:"2200ms",cssProperty:"--kui-interval"},...O};function cE(e,t,r){if(ve(e))return r.warn("split-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.text("unit","chars");if(o==="lines")return pE(e,t,r);let i=t.text("direction","fade"),s=qe(e,n);s.decorative.setAttribute("data-kui-split-fx",i),Er(s.decorative,t);let a=no(o,s.decorative,n,s.originalText),c,u=new Promise(p=>{c=p}),l=r.win.setTimeout(()=>{s.restore(),c()},Sr(t,a.length));return{cleanup:()=>{r.win.clearTimeout(l),s.restore()},finished:u,finish:()=>{r.win.clearTimeout(l),s.restore(),c()}}}function su(e,t){let r=t.getComputedStyle(e),n=/^(vertical|sideways)/.test(r.writingMode),o=e.getBoundingClientRect(),i=n?e.clientHeight:e.clientWidth,s=n?o.height:o.width,a=n?parseFloat(r.paddingBlockStart)+parseFloat(r.paddingBlockEnd):parseFloat(r.paddingInlineStart)+parseFloat(r.paddingInlineEnd);return(i||s)-(Number.isNaN(a)?0:a)}function uE(e,t,r,n){let o,i=new Promise(c=>{o=c}),s=()=>{e.win.clearTimeout(a),a=void 0,r.decorative.removeAttribute("aria-hidden"),r.srOnly.remove(),o()},a=e.win.setTimeout(s,Sr(t,n));return{finished:i,land:s,rearm(c){a!==void 0&&(e.win.clearTimeout(a),a=e.win.setTimeout(s,Sr(t,c)))},cancel(){a!==void 0&&e.win.clearTimeout(a)}}}function lE(e,t,r,n){let o=!0,i=Le(t.win,r),s=Ie(t.win,i.request);s.observe(e);let a=e.ownerDocument.fonts;return a&&a.status!=="loaded"&&a.ready.then(()=>{o&&(n(),i.request())}),()=>{o=!1,s.disconnect(),i.cancel()}}function pE(e,t,r){let n=e.ownerDocument,o=qe(e,n);o.decorative.setAttribute("data-kui-split-fx",t.text("direction","fade")),Er(o.decorative,t);let i=no("lines",o.decorative,n,o.originalText),s=su(e,r.win),a=!1,c=uE(r,t,o,i.length),l=lE(e,r,()=>{let p=su(e,r.win);if(!a&&p===s)return;a=!1,s=p;let m=Fc(o.decorative,n);c.rearm(m.length)},()=>{a=!0});return{cleanup:()=>{l(),c.cancel(),o.restore()},finished:c.finished,finish:c.land}}function mE(e,t,r){if(ve(e))return r.warn("split-text-motion would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=e.ownerDocument,o=t.text("motion","wave"),i=qe(e,n);return i.decorative.setAttribute("data-kui-split-fx",o),Er(i.decorative,t),ro(i.decorative,n,i.originalText),i.restore}function dE(e,t,r){if(ve(e))return r.warn("typewriter would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.is("loop"),o=qe(e,e.ownerDocument);o.decorative.classList.add("kui-typewriter");let i=vr(o.originalText),s={index:0,deleting:!1},a=u=>{o.decorative.textContent=i.slice(0,u).join("")},c=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:to(t,i.length,55),tick:()=>{let u=Gc(s,i.length,n);return s=u,a(u.index),u.done}});return{cleanup:()=>{c.stop(),o.restore()},finished:c.finished,finish:()=>{c.stop(),a(i.length)}}}function fE(e,t,r){if(ve(e))return r.warn("scramble-text would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=Bc[t.text("charset","upper")],o=Math.max(1,Math.round(t.num("revealEvery",2))),i=e,s=i.style.getPropertyValue("min-width"),a=i.style.getPropertyValue("min-height"),c=e.getBoundingClientRect();r.style.set("min-width",`${c.width}px`),r.style.set("min-height",`${c.height}px`);let u=()=>{r.style.set("min-width",s),r.style.set("min-height",a)},l=qe(e,e.ownerDocument);l.decorative.classList.add("kui-scramble");let p=vr(l.originalText),m=0,f=0,d=()=>{l.decorative.textContent=Wc(p,m,n,Math.random)};d();let g=Math.max(1,p.length*o),h=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:to(t,g,Math.max(1,700/g)),tick:()=>{f++,f%o===0&&m++,d();let v=m>=p.length;return v&&(u(),l.restore()),v}});return{cleanup:()=>{h.stop(),l.restore(),u()},finished:h.finished,finish:()=>{h.stop(),m=p.length,d(),u(),l.restore()}}}function gE(e,t,r){if(ve(e))return r.warn("word-cycler would remove the link or control inside this element \u2014 apply it to a leaf element instead"),()=>{};let n=t.text("words","").split("|").map(l=>l.trim()).filter(Boolean);if(n.length===0)return()=>{};let o=qe(e,e.ownerDocument),i=150,s=0;o.decorative.textContent=n[0];let a=new Set;function c(){for(let l of a)r.win.clearTimeout(l);a.clear()}let u=Pr(r.win,{delayMs:t.timing.delayMs??t.ms("delay",0),stepMs:t.ms("interval",2200),tick:()=>{e.classList.add("kui-word-cycler-swap");let l=r.win.setTimeout(()=>{a.delete(l),s=(s+1)%n.length,o.decorative.textContent=n[s],e.classList.remove("kui-word-cycler-swap")},i);return a.add(l),!1}});return{cleanup:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap"),o.restore()},finished:u.finished,finish:()=>{u.stop(),c(),e.classList.remove("kui-word-cycler-swap")}}}var yE=[xt("split-text",[y.opacity,y.translate,y.clip,"content"],{parameters:nE,prepare:P(cE)}),xt("split-text-motion",[y.translate,y.rotate,"content"],{parameters:oE,prepare:P(mE),perfClass:"continuous"}),xt("typewriter",[y.clip,"content"],{parameters:iE,prepare:P(dE),perfClass:"continuous"}),xt("scramble-text",["content","min-width","min-height"],{parameters:sE,prepare:P(fE),perfClass:"continuous"}),xt("word-cycler",["content",y.opacity,"discrete"],{parameters:aE,prepare:P(gE),perfClass:"continuous"})],hE="30ms",so="90ms",au="160ms",vE=[{name:"split-chars",primitive:"split-text",params:{unit:"chars",direction:"fade",stagger:hE}},{name:"split-words",primitive:"split-text",params:{unit:"words",direction:"fade",stagger:so}},{name:"split-lines",primitive:"split-text",params:{unit:"lines",direction:"fade",stagger:au}},{name:"text-reveal-up",primitive:"split-text",params:{unit:"words",direction:"up",stagger:so},cloak:!0},{name:"text-reveal-down",primitive:"split-text",params:{unit:"words",direction:"down",stagger:so},cloak:!0},{name:"text-reveal-mask",primitive:"split-text",params:{unit:"lines",direction:"mask",stagger:au},cloak:!0},{name:"text-wave",primitive:"split-text-motion",params:{motion:"wave"}},{name:"text-jitter",primitive:"split-text-motion",params:{motion:"jitter"}},{name:"typewriter",primitive:"typewriter",params:{loop:"false"}},{name:"typewriter-loop",primitive:"typewriter",params:{loop:"true"}},{name:"scramble",primitive:"scramble-text",params:{charset:"upper"}},{name:"decode",primitive:"scramble-text",params:{charset:"binary"}},{name:"glitch",primitive:"scramble-text",params:{charset:"symbols"}},{name:"word-cycler",primitive:"word-cycler",transitions:[{property:"opacity",duration:"150ms",easing:"ease-out"}]}],bE=[...tE,...yE],EE=[...rE,...vE];function cu(e){return e.registerPrimitives(bE).registerPresets(EE)}var ao="",SE={angle:{type:"angle",default:ao,cssProperty:"--kui-static-angle"}};function PE(e,t,r){let n=t.text("angle",ao);return n!==ao&&r.style.set("rotate",n),I(()=>{})}var kE=[{id:"rotate-static",renderer:"javascript",channels:[y.rotate],parameters:SE,supportedTimelines:ye,supportedActivations:["load","enter","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:R("rotate-static",{because:"it sets a fixed rotation once rather than animating, so there is no motion to time"},P(PE))}],wE=[{name:"rotate-static",primitive:"rotate-static"}];function uu(e){return e.registerPrimitives(kE).registerPresets(wE)}function lu(e){return jc(e),cu(e),Qa(e),rc(e),ou(e),Pc(e),kc(e),tc(e),uu(e),wc(e),e}var Tt={distance:{type:"length",default:"24px",cssProperty:"--kui-distance"},opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},Oe=["time","view","scroll","pin"],Tr=[b("reveal",[y.opacity,y.translate],{timelines:Oe,parameters:Tt}),b("scale",[y.scale],{timelines:Oe,parameters:{scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),b("scale-move",[y.scale,y.translate],{timelines:Oe,parameters:{distance:Tt.distance,scale:{type:"number",default:"0.92",cssProperty:"--kui-from-scale"}}}),b("rotate",[y.rotate],{timelines:Oe,parameters:{angle:{type:"angle",default:"-8deg",cssProperty:"--kui-from-angle"}}}),b("roll",[y.rotate,y.translate],{timelines:Oe,parameters:{distance:Tt.distance,angle:{type:"angle",default:"-120deg",cssProperty:"--kui-from-angle"}}}),b("flip-3d",[y.skew],{timelines:Oe,parameters:{angle:{type:"angle",default:"90deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),b("blur",[y.filter],{timelines:Oe,parameters:{blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),b("reveal-blur",[y.opacity,y.translate,y.filter],{timelines:Oe,parameters:{...Tt,blur:{type:"length",default:"12px",cssProperty:"--kui-blur"}}}),b("parallax",[y.translate],{parameters:{distance:Tt.distance},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"compositor"}),b("parallax-scale",[y.scale],{parameters:{scale:{type:"number",default:"1.2",cssProperty:"--kui-to-scale"},from:{type:"number",default:"1",cssProperty:"--kui-from-scale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("parallax-rotate",[y.rotate],{parameters:{angle:{type:"angle",default:"12deg",cssProperty:"--kui-to-angle"},from:{type:"angle",default:"0deg",cssProperty:"--kui-from-angle"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("scroll-fade",[y.opacity],{parameters:{opacity:{type:"number|percentage",default:"0",cssProperty:"--kui-from-opacity"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("desaturate",[y.filter],{parameters:{from:{type:"percentage",default:"100%",cssProperty:"--kui-from-grayscale"},to:{type:"percentage",default:"0%",cssProperty:"--kui-to-grayscale"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"}),b("skew",[y.skew],{parameters:{from:{type:"angle",default:"8deg",cssProperty:"--kui-from-skew"},to:{type:"angle",default:"0deg",cssProperty:"--kui-to-skew"}},timelines:["view","scroll","pin"],activations:["manual"],reducedMotion:"disable"}),b("progress",[y.scale,"transform-origin"],{timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable"}),b("progress-stroke",[y.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length"}},timelines:["scroll","view"],activations:["manual"],reducedMotion:"disable",perfClass:"paint"})],ie=(e,t,r,n)=>({name:e,primitive:t,keyframes:r,...n?{params:n}:{}}),L=(e,t,r,n)=>({...ie(e,t,r,n),cloak:!0,phase:"entrance"}),z=(e,t,r,n)=>({...ie(e,t,r,n),phase:"exit"}),xE=[L("fade-in","reveal","kui-in"),z("fade-out","reveal","kui-out"),L("fade-up","reveal","kui-in-up"),L("fade-down","reveal","kui-in-down"),L("fade-left","reveal","kui-in-right"),L("fade-right","reveal","kui-in-left"),z("fade-out-up","reveal","kui-out-up"),z("fade-out-down","reveal","kui-out-down"),z("fade-out-left","reveal","kui-out-left"),z("fade-out-right","reveal","kui-out-right")],se={distance:"100px",opacity:"1"},TE=[L("slide-up","reveal","kui-in-up",se),L("slide-down","reveal","kui-in-down",se),L("slide-left","reveal","kui-in-right",se),L("slide-right","reveal","kui-in-left",se),z("slide-out-up","reveal","kui-out-up",se),z("slide-out-down","reveal","kui-out-down",se),z("slide-out-left","reveal","kui-out-left",se),z("slide-out-right","reveal","kui-out-right",se)],AE=[L("slide-inline-start","reveal","kui-in-inline-end",se),L("slide-inline-end","reveal","kui-in-inline-start",se),L("slide-block-start","reveal","kui-in-up",se),L("slide-block-end","reveal","kui-in-down",se)],CE=[L("zoom-in","scale","kui-zoom-in"),z("zoom-out","scale","kui-zoom-out"),L("pop-in","scale","kui-zoom-in",{scale:"0.6",ease:"back-out"}),z("pop-out","scale","kui-zoom-out",{scale:"0.6",ease:"back-in"}),L("zoom-in-up","scale-move","kui-zoom-in-up"),L("zoom-in-down","scale-move","kui-zoom-in-down")],RE=[L("flip-in-x","flip-3d","kui-flip-in-x"),L("flip-in-y","flip-3d","kui-flip-in-y"),z("flip-out-x","flip-3d","kui-flip-out-x"),z("flip-out-y","flip-3d","kui-flip-out-y")],ME=[L("rotate-in","rotate","kui-rotate-in"),z("rotate-out","rotate","kui-rotate-out"),L("rotate-in-left","rotate","kui-rotate-in",{angle:"-45deg"}),L("rotate-in-right","rotate","kui-rotate-in",{angle:"45deg"}),L("roll-in","roll","kui-roll-in"),z("roll-out","roll","kui-roll-out"),L("swing-in","rotate","kui-swing-in",{angle:"-15deg",ease:"back-out"})],IE=[L("blur-in","blur","kui-blur-in"),z("blur-out","blur","kui-blur-out"),L("fade-blur-up","reveal-blur","kui-fade-blur-up"),L("fade-blur-in","reveal-blur","kui-fade-blur-in")],LE=[L("bounce-in","scale","kui-zoom-in",{scale:"0.3",ease:"bounce"}),L("bounce-in-up","reveal","kui-in-up",{distance:"60px",ease:"back-out"}),L("bounce-in-down","reveal","kui-in-down",{distance:"60px",ease:"back-out"}),L("back-in-up","reveal","kui-in-up",{distance:"120px",ease:"expo-out"}),L("back-in-down","reveal","kui-in-down",{distance:"120px",ease:"expo-out"})],OE=[ie("parallax-y","parallax","kui-parallax-y"),ie("parallax-x","parallax","kui-parallax-x"),ie("parallax-scale","parallax-scale","kui-parallax-scale"),ie("parallax-rotate","parallax-rotate","kui-parallax-rotate"),ie("depth-layer","parallax","kui-parallax-y",{distance:"200px"}),ie("scroll-fade","scroll-fade","kui-scroll-fade"),ie("scroll-desaturate","desaturate","kui-desaturate"),ie("scroll-skew","skew","kui-scroll-skew"),ie("scroll-progress-bar","progress","kui-progress-x"),ie("scroll-progress-bar-y","progress","kui-progress-y"),ie("scroll-progress-ring","progress-stroke","kui-progress-ring"),L("reveal-once","reveal","kui-in-up")],Ar=[...xE,...TE,...AE,...CE,...RE,...ME,...IE,...LE,...OE],Cr=[[["fade-up","blur-in"],"fade-blur-up"],[["fade-in","blur-in"],"fade-blur-in"]];function co(e){e.registerPrimitives(Tr).registerPresets(Ar);for(let[t,r]of Cr)e.registerCombo(t,r);return e}var uo=null;function pu(e){uo=e}function NE(e){return uo?uo(e):null}var Rr="kui:viewer";function lo(e,t,r){let n=e.defaultView?.CustomEvent??CustomEvent;(t.isConnected?t:e).dispatchEvent(new n(Rr,{bubbles:!0,detail:{open:r}}))}var Mr={type:"keyword",default:"false",cssProperty:"--kui-deck-lightbox",keywords:["true","false"]};function Ir(e,t,r){if(!e)return()=>{};let n=NE(t);return n||(r("lightbox:true needs the showcase module (the lightbox gallery), which is not loaded; cards will not open"),()=>{})}var po="data-kui-step-state",_E="data-kui-step-offset";function DE(e){let t=[],r=new Map;for(let n of e){let o=n.parentElement,i=r.get(o)??0;r.set(o,i+1),t.push({node:n,parent:o,position:i})}return{order:t,sizes:r}}function $E(e,t){return(e%t+t)%t}function be(e,t){let r=new Map,n=new Map,o=!1;return{mark(i){let{order:s,sizes:a}=DE(e());!o&&t&&new Set(a.values()).size>1&&(o=!0,t(`target matched groups of different sizes (${[...a.values()].join(", ")}) \u2014 the shorter group wraps onto its own ring, so its active element will not line up with the longer one`));for(let{node:c,parent:u,position:l}of s){let p=a.get(u),m=$E(i,p),f=r.get(c);f||(f=x(c),r.set(c,f)),f.set(po,HE(l,m));let d=n.get(c);d||(d=j(c),n.set(c,d));let g=jE(l,m,p);d.set("--kui-offset",String(g)),f.set(_E,String(g)),d.set("--kui-item-count",String(p))}},restore(){for(let i of r.values())i.restore();for(let i of n.values())i.restore();r.clear(),n.clear()}}}function jE(e,t,r){if(r<=0)return 0;let n=((e-t)%r+r)%r;return n>Math.floor(r/2)?n-r:n}function HE(e,t){return e<t?"before":e===t?"active":"after"}function Lr(e,t){return t>0?(e+1)%t:0}function Or(e,t){return t>0?(e-1+t)%t:0}function VE(e,t){return t>0?(e%t+t)%t:0}function mo(e,t){let r=Math.round(e.num("steps",0));if(r>=1)return r;let n=new Map;for(let o of t())n.set(o.parentElement,(n.get(o.parentElement)??0)+1);return Math.max(1,...n.values())}function Ee(e,t,r){let{el:n,ctx:o,params:i,label:s}=e,a=_(i.text(t),o,`${s} ${t}`);return a?(ut(n,o,a).length===0&&o.warn(`${s} ${t} "${a}" matched nothing`),{selector:a,run:r}):null}function fo(e){let{el:t,ctx:r,groups:n}=e;if(n.length===0)return()=>{};let o=(c,u)=>{for(let{selector:l,run:p}of n){let m=ut(t,r,l),f=new Set(m),d=u?t:null,g=c;for(;g&&g!==d&&!f.has(g);)g=g.parentElement;!g||g===d||p(g,m.indexOf(g))}},i=c=>{let u=c.target;return typeof u?.closest=="function"?u:null},s=c=>{let u=i(c);u&&o(u,!0)},a=c=>{let u=i(c);u&&!t.contains(u)&&o(u,!1)};return t.addEventListener("click",s),r.doc.addEventListener("click",a),()=>{t.removeEventListener("click",s),r.doc.removeEventListener("click",a)}}function Nr(e){let{el:t,params:r,ctx:n,resolveSteps:o,onRender:i}=e,s=e.name??"step-progress",a=be(o,M=>n.warn(`${s} ${M}`)),c=x(t),u=j(t),l=()=>mo(r,o),p=0,m=()=>{c.set("data-kui-step",String(p)),u.set("--kui-step",String(p)),a.mark(p),i?.(p,l())},f=M=>{p=VE(M,l()),m()},d=()=>f(Lr(p,l())),g=()=>f(Or(p,l())),h=M=>{e.onInput?.(),M()},v={el:t,ctx:n,params:r,label:s},E=[Ee(v,"next",()=>h(d)),Ee(v,"prev",()=>h(g)),Ee(v,"jump",(M,J)=>{J>=0&&h(()=>f(J))}),...e.controls??[]].filter(M=>M!==null),w=e.clickFallback!==!1&&E.length===0,C=()=>h(d);w&&t.addEventListener("click",C);let F=fo({el:t,ctx:n,groups:E});return m(),{goTo:f,next:d,prev:g,current:()=>p,total:l,release:()=>{w&&t.removeEventListener("click",C),F(),c.restore(),u.restore(),a.restore()}}}var FE=2e3,GE=100;function mu(e){return!Number.isFinite(e)||e===0?0:Math.sign(e)*Math.max(FE,Math.abs(e))}function BE(e,t){return Math.min(Math.max(e,0),GE)/t}function du(e){let t=e;if(typeof t?.matches!="function")return!0;try{return t.matches(":focus-visible")}catch{return!0}}function WE(e){let{el:t,ctx:r,spinMs:n,autoplayMs:o,settleMs:i,advance:s,step:a,setSpinning:c,onPausedChange:u}=e,l=e.pauseOnHover??!0,p=n!==0||o!==0;if(!p)return{enabled:p,interrupt(){},hold(){},toggle(){},release(){}};let m=r.win,f=r.reducedMotion,d=!1,g=!1,h=!0,v=!1,E=!1,w=!1,C=!1,F=!1,M=0,J=null,te=null,K=null,Pe=!1,me=()=>!f&&!d&&!g&&h&&!v&&!E&&!w&&!r.doc.hidden,_e=V=>typeof m.requestAnimationFrame=="function"?m.requestAnimationFrame(V):m.setTimeout(()=>V(Date.now()),16),ze=V=>{typeof m.cancelAnimationFrame=="function"?m.cancelAnimationFrame(V):m.clearTimeout(V)},Y=V=>{V!==Pe&&(Pe=V,c(V))},De=V=>{M=0,me()&&(J!==null&&s(BE(V-J,n)),J=V,M=_e(De))},T=()=>{M===0&&(Y(!0),J=null,M=_e(De))},S=()=>{M!==0&&ze(M),M=0,Y(!1)},N=()=>{te===null&&(te=m.setTimeout(()=>{te=null,a(o>0?1:-1),G()},Math.abs(o)))},H=()=>{te!==null&&(m.clearTimeout(te),te=null)};function G(){let V=me();n!==0&&(V?T:S)(),o!==0&&(V?N:H)()}let ke=()=>{d=!0,G()},at=()=>{d=!1,G()},Fo=V=>{g=(!C||F)&&du(V.target),G()},Go=V=>{C||(F=g);let we=V.relatedTarget;g=we!==null&&t.contains(we)&&du(we),G()},Bo=()=>G(),Wo=V=>{let we=V.detail?.open===!0;C=we,w=we&&t.contains(V.target),G()};l&&(t.addEventListener("pointerenter",ke),t.addEventListener("pointerleave",at)),t.addEventListener("focusin",Fo),t.addEventListener("focusout",Go),r.doc.addEventListener("visibilitychange",Bo),r.doc.addEventListener(Rr,Wo);let qo=m.IntersectionObserver,Ko=qo?new qo(V=>{for(let we of V)h=we.isIntersecting;G()}):null;return Ko?.observe(t),u(f),G(),{enabled:p,interrupt(){E=!0,K!==null&&m.clearTimeout(K),K=m.setTimeout(()=>{K=null,E=!1,G()},Math.max(0,i)),G()},hold(V){v=V,G()},toggle(){f=!f,u(f),G()},release(){M!==0&&ze(M),M=0,te!==null&&m.clearTimeout(te),K!==null&&m.clearTimeout(K),te=null,K=null,Ko?.disconnect(),t.removeEventListener("pointerenter",ke),t.removeEventListener("pointerleave",at),t.removeEventListener("focusin",Fo),t.removeEventListener("focusout",Go),r.doc.removeEventListener("visibilitychange",Bo),r.doc.removeEventListener(Rr,Wo),Y(!1)}}}var _r={type:"time",default:"0s",cssProperty:"--kui-autoplay"},Dr={type:"text",default:"",cssProperty:"--kui-pause"},$r={type:"keyword",default:"pause",keywords:["pause","none"],cssProperty:"--kui-hover"};function qE(e){let{params:t,ctx:r,label:n}=e,o=e.spin?t.ms("spin",0):0,i=t.ms("autoplay",0),s=mu(o),a=mu(i);return s!==o&&r.warn(`${n} spin: minimum is 2s; clamped to ${Math.abs(s)/1e3}s`),a!==i&&r.warn(`${n} autoplay: minimum is 2s; clamped to ${Math.abs(a)/1e3}s`),s!==0&&a!==0?(r.warn(`${n}: spin: and autoplay: are both set; spin: wins`),{spin:s,autoplay:0}):{spin:s,autoplay:a}}function jr(e){let{el:t,ctx:r,params:n,label:o,settleMs:i,step:s}=e,{spin:a,autoplay:c}=qE(e),u=new Map,l=_(n.text("pause"),r,`${o} pause`),p=d=>{if(l)for(let g of ut(t,r,l)){let h=u.get(g);h||(h=x(g),u.set(g,h)),h.set("aria-pressed",String(d))}},m=WE({el:t,ctx:r,spinMs:a,autoplayMs:c,settleMs:i,pauseOnHover:!n.is("hover","none"),advance:e.spin?.advance,step:s,setSpinning:e.spin?.setSpinning,onPausedChange:p}),f=null;return l&&!m.enabled?r.warn(`${o} pause: has nothing to pause without ${e.spin?"spin: or ":""}autoplay:`):l&&(f=Ee({el:t,ctx:r,params:n,label:o},"pause",()=>m.toggle())),{motion:m,pause:f,release(){m.release();for(let d of u.values())d.restore();u.clear()}}}var go="kui:swipe",KE=new Set(["left","right","up","down"]);function fu(e,t,r){let n=e.CustomEvent;t.dispatchEvent(new n(go,{bubbles:!0,detail:{direction:r}}))}function yo(e){return e==="left"||e==="up"?1:-1}function UE(e,t){if(e===t)return!0;if(!e.contains(t))return!1;for(let r=t.parentElement;r&&r!==e;r=r.parentElement)if(r.hasAttribute("data-kui-step"))return!1;return!0}function gu(e,t,r){let n=o=>{let i=o.detail?.direction,s=o.target;!i||!KE.has(i)||s.nodeType!==1||UE(s,t)&&r(yo(i))};return e.addEventListener(go,n),()=>e.removeEventListener(go,n)}var zE={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},yu={because:"forms.css pins its timing literally \u2014 the motion lands on a sibling that inline custom properties cannot reach"},hu={id:"native-state",renderer:"javascript",channels:[y.translate,y.scale,y.opacity,y.stroke,y.color],parameters:{},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R("native-state",yu,()=>Gt())};function YE(e){return(t,r)=>{let n=t.nextElementSibling;return n?.style.setProperty(e,String(r.num("scale",1))),()=>n?.style.removeProperty(e)}}function vu(e,t){return{id:e,renderer:"javascript",channels:[y.translate,y.scale,y.opacity,y.stroke,y.color],parameters:{scale:{type:"number",default:"1",cssProperty:t}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R(e,yu,P(YE(t)))}}var bu=vu("toggle-morph","--kui-toggle-scale"),Eu=vu("radio-fill","--kui-radio-scale"),Su=b("focus-ring",["shadow"],{activations:["focus","manual"],defaultActivation:"focus"}),Pu=b("validate-shake",[y.translate],{activations:["click","manual"],defaultActivation:"click"}),ku=b("validate-check",[y.stroke],{activations:["click","manual"],defaultActivation:"click"});function Hr(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...zE,...r},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:n}}function XE(e){let t=0;return e.length>=6&&t++,e.length>=10&&t++,/[a-z]/.test(e)&&/[A-Z]/.test(e)&&t++,/\d/.test(e)&&t++,/[^A-Za-z0-9]/.test(e)&&t++,Math.min(4,t)}function JE(e){let t=e,r=()=>{e.setAttribute("data-kui-strength-level",String(XE(t.value)))};return t.addEventListener("input",r),r(),()=>{t.removeEventListener("input",r),e.removeAttribute("data-kui-strength-level")}}function ZE(e,t,r){let n=e,o=()=>{let i=Number(n.min||"0"),s=Number(n.max||"100"),a=s>i?(Number(n.value)-i)/(s-i)*100:0;r.style.set("--kui-fill",`${a.toFixed(2)}%`)};return n.addEventListener("input",o),o(),()=>n.removeEventListener("input",o)}var wu=Hr("strength-meter",["meter",A("data-kui-strength-level")],{},P(JE)),xu=Hr("range-fill",[y.background],{},P(ZE));function QE(e,t,r){let n="step-progress",o=_(t.text("target"),r,n),i=W(t,"page"),s=()=>o?$(e,r,o,i):e.children,a=t.is("lightbox"),{motion:c,pause:u,release:l}=jr({el:e,ctx:r,params:t,label:n,settleMs:Z(t,400),step:d=>d>0?p.next():p.prev()}),p=Nr({el:e,params:t,ctx:r,resolveSteps:s,controls:u?[u]:[],onInput:()=>c.interrupt(),clickFallback:!a}),m=Ir(a,{host:e,cards:s,doc:r.doc,reducedMotion:r.reducedMotion},d=>r.warn(`${n} ${d}`)),f=gu(r.doc,e,d=>{c.interrupt(),d>0?p.next():p.prev()});return()=>{m(),f(),l(),p.release()}}var eS=Hr("step-progress",[D,A("data-kui-step")],{steps:{type:"number",default:"",cssProperty:"--kui-steps",minimum:1,maximum:20,integer:!0},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},peek:{type:"percentage",default:"56%",cssProperty:"--kui-peek"},rest:{type:"number",default:"0.78",cssProperty:"--kui-rest"},main:{type:"number",default:"1",cssProperty:"--kui-main",finite:!0,minimum:0},autoplay:_r,pause:Dr,hover:$r,lightbox:Mr,scope:U},P(QE)),Tu={...eS,reducedMotion:"shorten"};function ho(e){return e==="idle"?"loading":e==="loading"?"done":"idle"}function tS(e,t,r){let n=t.ms("load",1200),o=t.ms("hold",1500),i="idle",s,a=()=>e.setAttribute("data-kui-stage",i),c=()=>{i=ho(i),a()},u=()=>{i=ho(i),a(),s=r.win.setTimeout(c,o)},l=()=>{i==="idle"&&(i=ho(i),a(),s=r.win.setTimeout(u,n))};return e.addEventListener("click",l),a(),()=>{e.removeEventListener("click",l),s!==void 0&&r.win.clearTimeout(s),e.removeAttribute("data-kui-stage")}}var Au=Hr("submit-flow",[A("data-kui-stage")],{load:{type:"time",default:"1200ms",cssProperty:"--kui-load"},hold:{type:"time",default:"1500ms",cssProperty:"--kui-hold"}},P(tS));var rS=[hu,Su,Pu,ku,wu,bu,Eu,xu,Tu,Au],nS=[{name:"label-float",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"input-underline-grow",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"focus-ring-grow",primitive:"focus-ring",keyframes:"kui-focus-ring-grow"},{name:"validate-shake",primitive:"validate-shake",keyframes:"kui-validate-shake"},{name:"validate-check",primitive:"validate-check",keyframes:"kui-validate-check"},{name:"strength-meter",primitive:"strength-meter",requiresOwnSubtree:!0,phase:"state"},{name:"toggle-morph",primitive:"toggle-morph",requiresOwnSubtree:!0,phase:"state"},{name:"checkbox-draw",primitive:"native-state",requiresOwnSubtree:!0,phase:"state"},{name:"radio-fill",primitive:"radio-fill",requiresOwnSubtree:!0,phase:"state"},{name:"range-fill",primitive:"range-fill",phase:"state"},{name:"submit-to-spinner-to-check",primitive:"submit-flow",requiresOwnSubtree:!0,phase:"state"},{name:"step-progress",primitive:"step-progress",requiresOwnSubtree:!0,phase:"state"},{name:"carousel",primitive:"step-progress",params:{scope:"self"},phase:"state"}];function Cu(e){return e.registerPrimitives(rS).registerPresets(nS)}function oS(e){let t=e[e.length-1];if(!t||e.length<2)return{vx:0,vy:0};let r=t.time-100,n=e.find(i=>i.time>=r)??e[0],o=(t.time-n.time)/1e3;return o<=0?{vx:0,vy:0}:{vx:(t.x-n.x)/o,vy:(t.y-n.y)/o}}function iS(e,t){let{vx:r,vy:n}=e;return Math.abs(r)<t&&Math.abs(n)<t?null:Math.abs(r)>=Math.abs(n)?r>0?"right":"left":n>0?"down":"up"}function sS(e,t){return t==="x"?{...e,dy:0,vy:0}:t==="y"?{...e,dx:0,vx:0}:e}function pe(e,t,r={},n=aS()){let o=r.threshold??4,i=r.axis??"both",s=r.swipeVelocity??300,a=r.capturePointer??!0,c=r.longPressMs??0,u=[],l=null,p=!1,m=null,f=!1,d=!1,g=null,h=null,v=null;function E(S){return{x:S.clientX,y:S.clientY,time:n.now()}}function w(S){let N=l,{vx:H,vy:G}=oS(u);return sS({dx:S.x-N.x,dy:S.y-N.y,vx:H,vy:G},i)}function C(){m!==null&&n.clearTimer(m),m=null}function F(S){if(l&&g!==null&&S.pointerId!==g){C();let N=u[u.length-1];_e(g),De({x:N.x,y:N.y,time:n.now()});return}if(r.accept&&!r.accept(S)){l=null;return}l=E(S),u=[l],p=!1,f=!1,g=S.pointerId,d=a===!0&&M(S.pointerId),d||te(),c>0&&(m=n.setTimer(()=>{f=!0,t.onLongPress?.(l)},c))}function M(S){if(typeof e.setPointerCapture!="function")return!1;try{return e.setPointerCapture(S),!0}catch{return!1}}function J(S){a==="drag"&&(d=M(S.pointerId),d&&K())}function te(){let S=e.ownerDocument;!S||v||(v=S,S.addEventListener("pointermove",me,{passive:!0}),S.addEventListener("pointerup",Y,{passive:!0}),S.addEventListener("pointercancel",Y,{passive:!0}))}function K(){let S=v;S&&(v=null,S.removeEventListener("pointermove",me),S.removeEventListener("pointerup",Y),S.removeEventListener("pointercancel",Y))}function Pe(S){return S===h?!1:(h=S,!0)}function me(S){if(!l||!Pe(S))return;let N=E(S);u.push(N),u.length>12&&u.shift();let H=w(N);!p&&Math.hypot(H.dx,H.dy)<o||(p||(p=!0,C(),J(S),t.onStart?.(l)),t.onMove?.(H,N))}function _e(S){d&&e.releasePointerCapture?.(S),d=!1,g=null}function ze(S,N){if(p){t.onEnd?.(S,N);let H=iS(S,s);H&&t.onSwipe?.(H,S)}else f&&t.onEnd?.(S,N)}function Y(S){C(),K(),_e(S.pointerId),l&&De(E(S))}function De(S){u.push(S),ze(w(S),S),l=null,p=!1,f=!1,u=[]}function T(S){S.target===e&&(!d||S.pointerId!==g||(d=!1,Y(S)))}return e.addEventListener("pointerdown",F),e.addEventListener("pointermove",me,{passive:!0}),e.addEventListener("pointerup",Y,{passive:!0}),e.addEventListener("pointercancel",Y,{passive:!0}),e.addEventListener("lostpointercapture",T,{passive:!0}),()=>{C(),K(),e.removeEventListener("pointerdown",F),e.removeEventListener("pointermove",me),e.removeEventListener("pointerup",Y),e.removeEventListener("pointercancel",Y),e.removeEventListener("lostpointercapture",T)}}function aS(){return{now:()=>typeof performance>"u"?Date.now():performance.now(),setTimer:(e,t)=>globalThis.setTimeout(e,t),clearTimer:e=>globalThis.clearTimeout(e)}}function Ru(e,t,r=.55){if(t<=0)return 0;let n=Math.sign(e),o=Math.abs(e);return n*(1-1/(o/t/r+1))*t}var Mu={stiffness:{type:"number",default:"180",cssProperty:"--kui-stiffness",finite:!0,minimum:1,maximum:1e4},damping:{type:"number",default:"24",cssProperty:"--kui-damping",finite:!0,minimum:.1,maximum:1e3},mass:{type:"number",default:"1",cssProperty:"--kui-mass",finite:!0,minimum:.1}},cS="it is driven by pointer position and velocity, so it has no start moment and no authored curve";function Vr(e,t,r,n){let o=Object.hasOwn(r,"duration")?["duration"]:[];return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time","pointer"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"continuous",reducedMotion:"disable",prepare:R(e,{honours:o,because:cS},n)}}function Lu(e){return{...ce,stiffness:e.num("stiffness",ce.stiffness),damping:e.num("damping",ce.damping),mass:e.num("mass",ce.mass)}}function Ou(e){return{...Lt(),warn:e.warn}}function vo(e,t,r){e.style.set("translate",`${t.toFixed(2)}px ${r.toFixed(2)}px`)}function uS(e,t,r){let n=Lu(t),o=t.num("bounds",0),i=t.is("return"),s=t.is("inertia"),a=t.num("resistance",.55),c=t.num("momentum",.2),u={x:0,y:0},l={x:0,y:0},p=Ou(r),m={x:xe(n,g=>f({...u,x:g}),p),y:xe(n,g=>f({...u,y:g}),p)};function f(g){u.x=g.x,u.y=g.y,vo(r,u.x,u.y)}let d=pe(e,{onStart(){m.x.stop(),m.y.stop(),l.x=u.x,l.y=u.y,e.setAttribute("data-kui-dragging","true")},onMove(g){f({x:Iu(l.x+g.dx,o,a),y:Iu(l.y+g.dy,o,a)})},onEnd(g){e.setAttribute("data-kui-dragging","false"),lS(m,u,g,{returns:i,inertia:s,momentum:c})}},{axis:t.text("axis","both")});return r.invalidate(),()=>{d(),m.x.stop(),m.y.stop(),e.removeAttribute("data-kui-dragging")}}function Iu(e,t,r){return t>0?Ru(e,t,r):e}function lS(e,t,r,n){if(e.x.set(t.x,n.inertia?r.vx:0),e.y.set(t.y,n.inertia?r.vy:0),n.returns){e.x.to(0),e.y.to(0);return}let o=n.inertia?n.momentum:0;e.x.to(t.x+r.vx*o),e.y.to(t.y+r.vy*o)}function pS(e,t,r){let n=t.text("axis","both");n!=="both"&&r.style.set("touch-action",`${n==="x"?"pan-y":"pan-x"} pinch-zoom`);let o=pe(e,{onSwipe(i){e.setAttribute("data-kui-swipe",i),fu(r.win,e,i)}},{axis:n,swipeVelocity:t.num("velocity",300),capturePointer:"drag"});return()=>{o(),e.removeAttribute("data-kui-swipe")}}function mS(e,t){let r=pe(e,{onLongPress(){e.setAttribute("data-kui-pressed","true")},onEnd(){e.setAttribute("data-kui-pressed","false")}},{longPressMs:Z(t,500)});return()=>{r(),e.removeAttribute("data-kui-pressed")}}function dS(e,t,r){let n=e,o=t.num("radius",120),i=t.num("strength",.35),s=Lu(t),a=Ou(r),c={x:0,y:0},u=xe(s,m=>{c.x=m,vo(r,c.x,c.y)},a),l=xe(s,m=>{c.y=m,vo(r,c.x,c.y)},a),p=m=>{let f=n.getBoundingClientRect(),d=m.clientX-(f.left+f.width/2),g=m.clientY-(f.top+f.height/2),h=Math.hypot(d,g)<o;u.to(h?d*i:0),l.to(h?g*i:0)};return r.win.addEventListener("pointermove",p,{passive:!0}),()=>{r.win.removeEventListener("pointermove",p),u.stop(),l.stop()}}var Nu=[Vr("draggable",["translate",A("data-kui-dragging")],{...Mu,axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},bounds:{type:"number",default:"0",cssProperty:"--kui-bounds"},return:{type:"keyword",default:"false",cssProperty:"--kui-return",keywords:["true","false"]},inertia:{type:"keyword",default:"false",cssProperty:"--kui-inertia",keywords:["true","false"]},resistance:{type:"number",default:"0.55",cssProperty:"--kui-resistance",finite:!0,minimum:0,maximum:1},momentum:{type:"number",default:"0.2",cssProperty:"--kui-momentum",finite:!0}},P(uS)),Vr("swipeable",[A("data-kui-swipe")],{axis:{type:"keyword",default:"both",cssProperty:"--kui-axis",keywords:["x","y","both"]},velocity:{type:"number",default:"300",cssProperty:"--kui-velocity"}},P(pS)),Vr("pressable",[A("data-kui-pressed")],{duration:{type:"time",default:"500ms",cssProperty:"--kui-duration"}},P(mS)),Vr("magnetic",["translate"],{...Mu,radius:{type:"number",default:"120",cssProperty:"--kui-radius"},strength:{type:"number",default:"0.35",cssProperty:"--kui-strength"}},P(dS))];var fS=[{name:"drag",primitive:"draggable",phase:"state"},{name:"drag-x",primitive:"draggable",params:{axis:"x"},phase:"state"},{name:"drag-y",primitive:"draggable",params:{axis:"y"},phase:"state"},{name:"drag-inertia",primitive:"draggable",params:{inertia:"true"},phase:"state"},{name:"throwable",primitive:"draggable",params:{inertia:"true",damping:"18"},phase:"state"},{name:"elastic-pull",primitive:"draggable",params:{return:"true",bounds:"80"},phase:"state"},{name:"rubber-band",primitive:"draggable",params:{return:"true",bounds:"120"},phase:"state"},{name:"snap-back",primitive:"draggable",params:{return:"true",stiffness:"260"},phase:"state"},{name:"swipe",primitive:"swipeable",phase:"state"},{name:"swipe-x",primitive:"swipeable",params:{axis:"x"},phase:"state"},{name:"swipe-y",primitive:"swipeable",params:{axis:"y"},phase:"state"},{name:"long-press",primitive:"pressable",phase:"state"},{name:"magnetic",primitive:"magnetic",phase:"state"},{name:"magnetic-snap",primitive:"magnetic",params:{strength:"0.6",radius:"160"},phase:"state"}];function _u(e){return e.registerPrimitives(Nu).registerPresets(fS)}var Du=.5;function gS(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,width:t.width,height:t.height}}function yS(e,t,r){let n=e.animate;return typeof n=="function"?n.call(e,t,r):null}function bo(e={}){let t=e.measure??gS,r=e.animate??yS;return{snapshot(n){let o=new Map;for(let i of n)o.set(i,t(i));return{boxes:o}},play(n,o,i={}){let s=hS(n,o,t,i.scale??!1);return s.length===0?{moved:[],finished:Promise.resolve(),cancel:()=>{}}:bS(s,r,i)}}}function hS(e,t,r,n){let o=[];for(let i of t){let s=e.boxes.get(i);if(!s)continue;let a=r(i),c=vS(i,s,a,n);c&&o.push(c)}return o}function vS(e,t,r,n){let o=t.x-r.x,i=t.y-r.y,s=n&&r.width>0?t.width/r.width:1,a=n&&r.height>0?t.height/r.height:1;return Math.abs(o)<Du&&Math.abs(i)<Du&&Math.abs(s-1)<.001&&Math.abs(a-1)<.001?null:{el:e,dx:o,dy:i,sx:s,sy:a}}function bS(e,t,r){let n=r.durationMs??400,o=r.delayMs??0,i=r.easing??"cubic-bezier(0.2, 0, 0, 1)",s=[];for(let{el:c,dx:u,dy:l,sx:p,sy:m}of e){let f=t(c,[{translate:`${u}px ${l}px`,scale:`${p} ${m}`},{translate:"0px 0px",scale:"1 1"}],{duration:n,delay:o,easing:i,fill:o>0?"backwards":"none"});if(f){let d=Fe(c);d!==1&&(f.playbackRate=d),s.push(f)}}let a=Promise.all(s.map(c=>c.finished.catch(()=>{}))).then(()=>{});return{moved:e.map(c=>c.el),finished:a,cancel(){for(let c of s)c.cancel()}}}function Eo(){let e=new Set;return{track(t){e.add(t),t.finished.then(()=>e.delete(t))},cancelAll(){for(let t of e)t.cancel();e.clear()}}}function $u(e,t,r,n){let o=t.snapshot(e.children),i=Eo(),s=n(()=>{i.track(t.play(o,e.children,r)),o=t.snapshot(e.children)});return()=>{s(),i.cancelAll()}}function ju(e){return t=>{if(typeof MutationObserver>"u")return()=>{};let r=new MutationObserver(t);return r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["hidden"]}),()=>r.disconnect()}}var ES={duration:{type:"time",default:"400ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}};function So(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:{...ES,...r},supportedTimelines:["time"],supportedActivations:["load","manual","click"],defaultActivation:"load",perfClass:"layout",reducedMotion:"disable",prepare:n}}function SS(e,t,r){let n=bo();return $u(e,n,{durationMs:Z(t,400),delayMs:tt(t),easing:Dt(dr(t),e,r.warn),scale:t.is("scale")},ju(e))}function PS(e,t,r){let n=e;r.style.set("overflow","hidden"),r.style.claim("height");let o=Z(t,400),i=tt(t),s=Dt(dr(t),e,r.warn),a=null,c=n.getBoundingClientRect().height,u=Hu(n,t.text("attribute"),()=>{a?.cancel();let l=kS(n,c);c=l.to,a=wS(n,l,{duration:o,delay:i,easing:s})});return r.invalidate(),()=>{u(),a?.cancel()}}function kS(e,t){e.style.removeProperty("height");let r=e.getBoundingClientRect().height;return{from:t,to:r}}function wS(e,t,r){let n=e.animate;if(typeof n!="function")return null;let o=n.call(e,[{height:`${t.from}px`},{height:`${t.to}px`}],{...r,fill:r.delay>0?"backwards":"none"}),i=Fe(e);return i!==1&&(o.playbackRate=i),o}function xS(e,t,r){let n=e,o=bo(),i=Dt(dr(t),e,r.warn),s=t.text("follow"),a=Eo(),c=0,u=null,l=()=>{if(!s)return;let g=r.doc.querySelector(s);if(!(g instanceof Element))return;let h=o.snapshot([n]),v=g.getBoundingClientRect(),E=n.getBoundingClientRect(),w=v.left-E.left+c;c=w,r.style.set("width",`${v.width}px`),r.style.set("translate",`${w}px 0`),a.track(o.play(h,[n],{durationMs:Z(t,400),delayMs:tt(t),easing:i,scale:!0})),u=g};l();let p=()=>{let g=u;l(),g!==u&&(g&&f.unobserve(g),u&&f.observe(u))},m=Le(r.win,p),f=Ie(r.win,m.request);f.observe(e.parentElement??e),u&&f.observe(u);let d=Hu(r.doc.documentElement,t.text("attribute"),p);return()=>{d(),f.disconnect(),m.cancel(),a.cancelAll()}}function Hu(e,t,r){if(typeof MutationObserver>"u"||!t)return()=>{};let n=new MutationObserver(r);return n.observe(e,{subtree:!0,attributes:!0,attributeFilter:[t]}),()=>n.disconnect()}var Vu=[So("flip-container",["translate","scale"],{scale:{type:"keyword",default:"false",cssProperty:"--kui-flip-scale",keywords:["true","false"]}},P(SS)),So("auto-height",["overflow","height"],{attribute:{type:"text",default:"data-open",cssProperty:"--kui-attribute"}},P(PS)),So("flip-indicator",["translate","width"],{follow:{type:"text",default:"",cssProperty:"--kui-follow"},attribute:{type:"text",default:"aria-selected",cssProperty:"--kui-attribute"}},P(xS))];var Fu=[{name:"flip-reorder",primitive:"flip-container"},{name:"flip-filter",primitive:"flip-container"},{name:"flip-sort",primitive:"flip-container"},{name:"flip-shuffle",primitive:"flip-container"},{name:"grid-to-list",primitive:"flip-container",params:{scale:"true"}},{name:"masonry-reflow",primitive:"flip-container"},{name:"expand-to-modal",primitive:"flip-container",params:{scale:"true",duration:"500ms"}},{name:"accordion-height",primitive:"auto-height"},{name:"tab-indicator-slide",primitive:"flip-indicator",params:{duration:"300ms"},phase:"state"}];function Gu(e){return e.registerPrimitives(Vu).registerPresets(Fu)}var TS="offset",AS=["time","view","scroll","pin"],CS={path:{type:"path",default:"M 0 0 L 120 0",cssProperty:"--kui-motion-path"},rotate:{type:"angle|keyword",keywords:["auto","reverse"],default:"0deg",cssProperty:"--kui-motion-rotate"},anchor:{type:"keyword",default:"0 0",cssProperty:"--kui-motion-anchor",keywords:["auto","center","top","bottom","left","right","0 0","top left","top right","bottom left","bottom right"]},from:{type:"percentage",default:"0%",cssProperty:"--kui-motion-from"},to:{type:"percentage",default:"100%",cssProperty:"--kui-motion-to"}},RS=[b("motion-path",[TS],{timelines:AS,parameters:CS})],MS="kui-motion-travel",At=(e,t,r)=>({name:e,primitive:"motion-path",keyframes:MS,params:{path:t,...r}}),IS=[At("motion-path","M 0 0 L 120 0",{duration:"1200ms"}),At("path-arc","M 0 0 C 40 -70 120 -70 160 0",{duration:"1200ms",ease:"ease-in-out"}),At("path-wave","M 0 0 C 45 -45 105 45 150 0",{duration:"1600ms",ease:"ease-in-out"}),At("path-loop","M 0 0 C 0 -70 110 -70 110 0 C 110 70 0 70 0 0",{duration:"2400ms",ease:"linear"}),{...At("path-swoop","M -120 70 C -70 70 -25 25 0 0",{duration:"900ms",ease:"expo-out"}),cloak:!0}];function Bu(e){return e.registerPrimitives(RS).registerPresets(IS)}var LS=[b("nav-reveal",[y.opacity,y.translate]),b("menu-fullscreen",[y.clip,y.opacity]),b("panel-reveal",[y.opacity,y.translate]),b("drawer-slide",[y.translate],{defaultActivation:"click"})],OS=[{name:"menu-stagger-open",primitive:"nav-reveal",keyframes:"kui-nav-reveal",phase:"entrance"},{name:"menu-fullscreen",primitive:"menu-fullscreen",keyframes:"kui-menu-fullscreen"},{name:"dropdown-open",primitive:"panel-reveal",keyframes:"kui-panel-reveal",phase:"entrance"},{name:"mega-menu-drop",primitive:"panel-reveal",keyframes:"kui-panel-reveal",params:{duration:"550ms"},phase:"entrance"},{name:"drawer-slide",primitive:"drawer-slide",keyframes:"kui-drawer-slide-right",phase:"entrance"}],NS="it reacts to scroll position rather than a clock, so style the state attribute it publishes and put your timing there";function Po(e,t,r,n){return{id:e,renderer:"javascript",channels:t,parameters:r,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R(e,{because:NS},n)}}function ko(e,t,r){return t.scheduler.subscribe(t.rootFor(e),n=>r(n.metrics.scrollTop))}function _S(e,t,r){let n=t.num("offset",120),o=x(e),i=ko(e,r,s=>{let a=n>0?Math.min(1,Math.max(0,s/n)):1;r.style.set("--kui-shrink",a.toFixed(4)),o.set("data-kui-shrunk",String(a>=1))});return()=>{i(),o.restore()}}function DS(e,t,r){let n=t.num("offset",8),o=0,i=x(e),s=ko(e,r,a=>{let c=a-o;Math.abs(c)<n||(i.set("data-kui-hidden",String(c>0&&a>n)),o=a)});return()=>{s(),i.restore()}}function $S(e,t,r){let n=t.num("offset",400),o=x(e),i=ko(e,r,s=>{o.set("data-kui-visible",String(s>n))});return()=>{i(),o.restore()}}var jS=[Po("header-shrink",["padding","font-size","shadow",A("data-kui-shrunk")],{offset:{type:"number",default:"120",cssProperty:"--kui-offset"}},P(_S)),Po("header-hide-on-scroll",[y.translate,A("data-kui-hidden")],{offset:{type:"number",default:"8",cssProperty:"--kui-offset"}},P(DS)),Po("back-to-top-fade",[y.opacity,y.translate,A("data-kui-visible")],{offset:{type:"number",default:"400",cssProperty:"--kui-offset"}},P($S))],HS=[{property:"padding-block",duration:"200ms",easing:"ease-out"},{property:"font-size",duration:"200ms",easing:"ease-out"},{property:"box-shadow",duration:"200ms",easing:"ease-out"}],VS=[{name:"header-shrink",primitive:"header-shrink",transitions:HS},{name:"header-hide-on-scroll",primitive:"header-hide-on-scroll",transitions:[{property:"translate",duration:"220ms",easing:"ease-out"}]},{name:"back-to-top-fade",primitive:"back-to-top-fade",transitions:[{property:"opacity",duration:"200ms",easing:"ease-out"},{property:"translate",duration:"200ms",easing:"ease-out"}]}],FS=[...LS,...jS],GS=[...OS,...VS];function Wu(e){return e.registerPrimitives(FS).registerPresets(GS)}var wo=e=>{let t=e.getBoundingClientRect();return{top:t.top,height:t.height}},xo=e=>{let t=e.ownerDocument?.defaultView;return t?t.getComputedStyle(e).position:"static"},BS=e=>{let t=e.ownerDocument?.defaultView;if(!t)return 0;let r=Number.parseFloat(t.getComputedStyle(e).top);return Number.isFinite(r)?r:0};function WS(e,t){let r=null;for(let n=e;n;n=n.parentElement)t(n)==="sticky"&&(r=n);return r?.parentElement??e}function qS(e,t,r,n){let o=WS(e,n);return o===e?t.top:r(o).top}function Se(e,t,r,n){let o=r.measure??wo,i=r.positionOf??xo,s=r.offsetOf??BS,a=0,c=0,u=Ve(()=>{let f=o(e),d=r.contentAnchor?o(r.contentAnchor):null,g=d?d.top-f.height:qS(e,f,o,i),h=r.stickyEl?s(r.stickyEl):0;return{contentTop:g-h-c+a,height:f.height,anchorHeight:d?.height??0}}),l=r.distance??"";l!==""&&!US(l)&&!r.contentAnchor&&YS(t,l);let m=l!==""&&zS(l);return t.scheduler.subscribe(t.rootFor(e),f=>{a=f.metrics.scrollTop,c=f.metrics.viewportTop;let d=u.read(f.epoch),g=m&&r.contentAnchor?d.anchorHeight:XS(r.distance,{top:0,height:d.height},f);n(JS(d.contentTop-a,g),f)})}var To={viewportWidth:1,viewportHeight:1,percentBasis:1,fontSize:16,rootFontSize:16},KS={...To,percentBasis:2};function US(e){return Number.isFinite(ge(e,To,Number.NaN))}function zS(e){let t=ge(e,To,Number.NaN);return Number.isFinite(t)?t!==ge(e,KS,Number.NaN):!0}function YS(e,t){e.warn(`distance "${t}" is a CSS expression this effect cannot measure, so progress runs over the element's own height instead \u2014 author a plain length like "200vh", or turn on spacer:true so the distance can be measured from the box the library reserves.`)}function XS(e,t,r){if(!e)return t.height;let n={viewportWidth:r.metrics.viewportWidth,viewportHeight:r.metrics.viewportHeight,percentBasis:t.height,fontSize:16,rootFontSize:16};return ge(e,n,t.height)}function JS(e,t){return t<=0?0:Da(-e/t)}function ZS(e,t){return ge(e,{viewportWidth:t.metrics.viewportWidth,viewportHeight:t.metrics.viewportHeight,percentBasis:0,fontSize:16,rootFontSize:16},0)}function QS(e,t,r){let n=-1;for(let o=0;o<e.length;o++)e[o]-t-r<=0&&(n=o);return n}function Fr(e){let{el:t,sections:r,ctx:n,onChange:o}=e,i=e.offsetTop??"0px",s=0,a=0,c=Ve(()=>r.map(p=>wo(p).top-a+s)),u=-1,l=n.scheduler.subscribe(n.rootFor(t),p=>{s=p.metrics.scrollTop,a=p.metrics.viewportTop;let m=c.read(p.epoch),f=ZS(i,p),d=QS(m,s,f);if(d===u)return;let g=u;u=d,o(d,g)});return Object.assign(()=>l(),{release:()=>l()})}function qu(e,t,r){let n=t.text("sections");if(n){let o=_(n,r,"scroll-spy sections");return oP(e,t,r,o)}return eP(e,t,r)}function eP(e,t,r){t.text("offset-top","0px")!=="0px"&&r.warn('scroll-spy "offset-top" has no effect without sections: and is ignored here');let n=_(t.text("target"),r,"scroll-spy"),o=W(t,"page"),i=new Map,s=x(e),a,c=Se(e,r,{distance:t.text("distance")},u=>{let l=u>0&&u<1;l!==a&&(a=l,s.set("data-kui-active",String(l)),n&&tP($(e,r,n,o),l,i))});return I(()=>{c(),s.restore();for(let u of i.values())u.restore()})}function tP(e,t,r){for(let n of e){let o=r.get(n);o||(o=x(n),r.set(n,o)),o.set("data-kui-active",String(t))}}function rP(e){let t=e.getAttribute("href")??"",r=t.indexOf("#");return r===-1?"":t.slice(r)}function nP(e,t,r,n){let o=new Map;for(let a of t){let c=rP(a);c&&o.set(c,a)}let i=new Set,s=e.map(a=>{if(!a.id)return r.warn(`scroll-spy: a section matched by sections:"${n}" has no id and cannot be paired with a link`),{section:a,link:null};let c=`#${a.id}`,u=o.get(c)??null;return u&&i.add(c),{section:a,link:u}});for(let[a,c]of o)i.has(a)||r.warn(`scroll-spy: link "${c.getAttribute("href")}" matches no section id in sections:"${n}"`);return s}function oP(e,t,r,n){t.text("distance","100vh")!=="100vh"&&r.warn('scroll-spy "distance" has no effect with sections: \u2014 each section measures its own height');let o=_(t.text("target"),r,"scroll-spy target"),i=W(t,"self"),s=n?[...e.querySelectorAll(n)]:[];n&&s.length===0&&r.warn(`scroll-spy sections:"${n}" matched nothing inside this element`);let a=o?$(e,r,o,i):[],c=nP(s,a,r,n),u=c.map(d=>x(d.section)),l=new Map;for(let{link:d}of c)d&&!l.has(d)&&l.set(d,x(d));let p=t.text("offset-top","0px");function m(d,g){let h=c[d];u[d].set("data-kui-active",String(g)),h.link&&l.get(h.link).set("data-kui-active",String(g))}let f=Fr({el:e,sections:s,ctx:r,offsetTop:p,onChange:(d,g)=>{g!==-1&&m(g,!1),d!==-1&&m(d,!0)}});return I(()=>{f();for(let d of u)d.restore();for(let d of l.values())d.restore()})}var ot={distance:{type:"length",default:"100vh",cssProperty:"--kui-distance"}},Ao={"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"},spacer:{type:"keyword",default:"false",cssProperty:"--kui-spacer",keywords:["true","false"]}};var iP="--kui-progress";function Ku(e,t,r){r.style.set("position","sticky"),r.style.set("top",t.text("offset-top","var(--kui-pin-offset, 0px)"));let n=t.is("spacer")?Uu(e,t.text("distance"),r):null;return{spacer:n?.spacer??null,dispose:()=>n?.remove()}}function Ke(e){let{id:t,channels:r,parameters:n,prepare:o,perfClass:i="compositor"}=e;return{id:t,renderer:"javascript",channels:r,parameters:n,supportedTimelines:ye,supportedActivations:["manual","load","enter"],defaultActivation:"load",perfClass:i,reducedMotion:"disable",prepare:R(t,{because:"it is driven by scroll position rather than a clock, so it has no start moment and no fixed span"},o)}}function it(e,t){e.style.set(iP,t.toFixed(4))}function sP(e,t,r){let n=e,{spacer:o,dispose:i}=Ku(n,t,r),s=o?n:n.parentElement??e,a=Se(s,r,{distance:t.text("distance"),contentAnchor:o??void 0,stickyEl:n},c=>{it(r,c);let u=c>0&&c<1&&xo(n)==="sticky";e.setAttribute("data-kui-pinned",u?"true":"false")});return I(()=>{a(),i(),e.removeAttribute("data-kui-pinned")})}function Uu(e,t,r){let n=r.doc.createElement("div");return n.setAttribute("data-kui-spacer",""),n.setAttribute("aria-hidden","true"),n.style.height=t,n.style.pointerEvents="none",e.after(n),r.invalidate(),{spacer:n,remove:()=>{n.remove(),r.invalidate()}}}function aP(e,t,r){let n=Math.max(0,Math.round(t.num("steps",0))),o=_(t.text("target"),r,"scroll-progress"),i=W(t,"page"),s=be(()=>$(e,r,o,i),l=>r.warn(`scroll-progress ${l}`)),a=x(e),c,u=Se(e,r,{distance:t.text("distance")},l=>{if(it(r,l),n===0)return;let p=Math.min(n-1,Math.floor(l*n));p!==c&&(c=p,a.set("data-kui-step",String(p)),r.style.set("--kui-step",String(p)),o&&s.mark(p))});return I(()=>{u(),a.restore(),s.restore()})}function cP(e,t,r){let n=_(t.text("target"),r,"horizontal-track");if(!n)return uP(e,t,r);let o=W(t,"self"),i=$(e,r,n,o),s=i[0];return s?(i.length>1&&r.warn(`horizontal-track target "${n}" matched ${i.length} elements; only the first is used`),lP(e,s,t,r)):(r.warn(`horizontal-track target "${n}" matched nothing inside this element`),()=>{})}function uP(e,t,r){let n=t.text("travel","auto"),o=Ve(()=>zu(e,n,e.ownerDocument));return I(Se(e,r,{distance:t.text("distance")},(i,s)=>{r.style.set("translate",`${-i*o.read(s.epoch)}px 0`),it(r,i)}))}function lP(e,t,r,n){let o=r.text("offset-top","var(--kui-pin-offset, 0px)");n.style.set("position","sticky"),n.style.set("top",o),n.style.set("height",`calc(100vh - ${o})`),n.style.set("overflow","hidden"),n.style.set("display","grid"),n.style.set("align-content","center");let{spacer:i,remove:s}=Uu(e,r.text("distance"),n),a=j(t);a.set("display","flex"),a.set("width","max-content");let c=r.text("travel","auto"),u=Ve(()=>zu(t,c,t.ownerDocument)),l=Se(e,n,{distance:r.text("distance"),contentAnchor:i,stickyEl:e},(p,m)=>{a.set("translate",`${-p*u.read(m.epoch)}px 0`),it(n,p)});return I(()=>{l(),a.restore(),s()})}function zu(e,t,r){if(t&&t!=="auto")return ge(t,ps,0);let n=e.scrollWidth-e.clientWidth;if(n>0)return n;let o=e.parentElement?.clientWidth||r.documentElement.clientWidth;return Math.max(0,e.scrollWidth-o)}function pP(e,t,r){let n=t.is("spacer")?Ku(e,t,r):null,o=n?.spacer??void 0,i=n?e:void 0,s=_(t.text("target"),r,"media-scrub"),a=W(t,"page"),c=s?mP(e,t,r,{selector:s,scope:a,contentAnchor:o,stickyEl:i}):dP(e,t,r,{contentAnchor:o,stickyEl:i});return I(()=>{c(),n?.dispose()})}function mP(e,t,r,n){let{selector:o,scope:i,contentAnchor:s,stickyEl:a}=n,c=be(()=>$(e,r,o,i),m=>r.warn(`media-scrub ${m}`)),u=Math.max(1,$(e,r,o,i).length),l,p=Se(e,r,{distance:t.text("distance"),contentAnchor:s,stickyEl:a},m=>{it(r,m);let f=Math.min(u-1,Math.floor(m*u));f!==l&&(l=f,c.mark(f))});return c.mark(0),()=>{p(),c.restore()}}function dP(e,t,r,n){let{contentAnchor:o,stickyEl:i}=n,s=Math.max(1,Math.round(t.num("frames",1))),a=fP(t.text("src"),r),c=e,u=-1;return Se(e,r,{distance:t.text("distance"),contentAnchor:o,stickyEl:i},p=>{it(r,p);let m=Math.min(s-1,Math.floor(p*s));m!==u&&(u=m,gP(c,{index:m,frames:s,progress:p,pattern:a}))})}function fP(e,t){return!e||cs(e)?e:(t.warn(`media-scrub "src" must be a same-origin path, got "${e}" \u2014 ignoring`),"")}function gP(e,t){let{index:r,frames:n,progress:o,pattern:i}=t;if(e.tagName==="VIDEO"){let s=Number.isFinite(e.duration)?e.duration:0;s>0&&(e.currentTime=s*o);return}e.tagName==="IMG"&&i&&(e.src=i.replace("{i}",String(r).padStart(String(n).length,"0")))}function yP(e,t,r){return r.style.set("scroll-behavior",t.text("behavior","smooth")),()=>{}}function hP(e,t,r){let n=t.is("axis","x")?"x":"y";r.style.set("scroll-snap-type",`${n} ${t.text("strictness","mandatory")}`);let o=_(t.text("target"),r,"scroll-snap"),i=W(t,"self"),s=o?$(e,r,o,i):[...e.children];o&&s.length===0&&r.warn(`scroll-snap target "${o}" matched nothing inside this element`),o&&vP(n,r);let a=s.map(c=>j(c));for(let c of a)c.set("scroll-snap-align",t.text("align","start"));return()=>{for(let c of a)c.restore()}}function vP(e,t){t.style.set(e==="x"?"overflow-x":"overflow-y","auto"),e==="x"&&t.style.set("display","flex")}var Yu=[Ke({id:"pin",channels:["position","progress",A("data-kui-pinned")],parameters:{...ot,...Ao},prepare:P(sP),perfClass:"layout"}),Ke({id:"scroll-progress",channels:["progress",A("data-kui-step")],parameters:{...ot,steps:{type:"number",default:"0",cssProperty:"--kui-steps"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(aP)}),Ke({id:"horizontal-track",channels:["translate","progress"],parameters:{...ot,travel:{type:"text",default:"auto",cssProperty:"--kui-travel"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,"offset-top":{type:"length",default:"var(--kui-pin-offset, 0px)",cssProperty:"--kui-offset-top"}},prepare:P(cP)}),Ke({id:"media-scrub",channels:["media","progress","position"],parameters:{...ot,...Ao,frames:{type:"number",default:"1",cssProperty:"--kui-frames"},src:{type:"text",default:"",cssProperty:"--kui-src"},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(pP),perfClass:"paint"}),Ke({id:"scroll-spy",channels:[A("data-kui-active")],parameters:{...ot,target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"0px",cssProperty:"--kui-offset-top"}},prepare:P(qu)}),Ke({id:"smooth-scroll",channels:["scroll-behavior"],parameters:{behavior:{type:"keyword",default:"smooth",cssProperty:"--kui-scroll-behavior",keywords:["smooth","auto"]}},prepare:P(yP),perfClass:"layout"}),Ke({id:"scroll-snap",channels:["scroll-snap-type","overflow","discrete",D],parameters:{axis:{type:"keyword",default:"y",cssProperty:"--kui-axis",keywords:["x","y"]},strictness:{type:"keyword",default:"mandatory",cssProperty:"--kui-snap-strictness",keywords:["mandatory","proximity"]},align:{type:"keyword",default:"start",cssProperty:"--kui-snap-align",keywords:["start","center","end"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U},prepare:P(hP),perfClass:"layout"})];var Xu=[{name:"pin-section",primitive:"pin",params:{distance:"100vh",spacer:"true"},phase:"idle"},{name:"pin-until",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"pin-spacer",primitive:"pin",params:{spacer:"true"},phase:"idle"},{name:"stacking-cards",primitive:"pin",params:{spacer:"false"},phase:"idle"},{name:"scroll-progress",primitive:"scroll-progress",phase:"idle"},{name:"scrollytelling-step",primitive:"scroll-progress",params:{steps:"4"},phase:"idle"},{name:"horizontal-scroll",primitive:"horizontal-track",phase:"idle"},{name:"sequence-scrub",primitive:"media-scrub",params:{spacer:"true"},requiresOwnSubtree:!0,phase:"idle"},{name:"video-scrub",primitive:"media-scrub",requiresOwnSubtree:!0,phase:"idle"},{name:"scroll-spy",primitive:"scroll-spy",phase:"idle"},{name:"smooth-scroll-to",primitive:"smooth-scroll",phase:"idle"},{name:"scroll-snap-x",primitive:"scroll-snap",params:{axis:"x"},phase:"idle"},{name:"scroll-snap-y",primitive:"scroll-snap",params:{axis:"y"},phase:"idle"}];function Ju(e){return e.registerPrimitives(Yu).registerPresets(Xu)}var bP=/([mlhvcz])|(-?(?:\d+(?:\.\d+)?|\.\d+))/gi,EP=/[AaSsQqTt]/;function SP(e,t,r){let n=e[t];r.command=n,n.toLowerCase()==="z"&&wP(r);let o=nl[n.toLowerCase()],i=e[t+1];if(o>0&&(i===void 0||/[a-z]/i.test(i)))return Co(n,o,"0")}function PP(e,t){let r=0;for(;r<e.length;){let n=e[r];if(/[a-z]/i.test(n)){let i=SP(e,r,t);if(i!==void 0)return i;r++;continue}if(!t.command)return"path must start with a command letter";let o=xP(e,r,t);if("reason"in o)return o.reason;r=o.index}}function Zu(e){if(EP.test(e))return{segments:[],subpaths:[],reason:"arc and shorthand commands (A S Q T) are not supported"};let t=[...e.matchAll(bP)].map(o=>o[1]??o[2]),r={subpaths:[],open:void 0,current:{x:0,y:0},start:{x:0,y:0},command:""},n=PP(t,r);return n!==void 0?{segments:[],subpaths:[],reason:n}:r.subpaths.length===0?{segments:[],subpaths:[],reason:"no drawable segments"}:{segments:r.subpaths.flatMap(o=>o.segments),subpaths:r.subpaths}}function kP(e,t){e.open||(e.open={segments:[],closed:!1},e.subpaths.push(e.open)),e.open.segments.push(t)}var nl={m:2,l:2,h:1,v:1,c:6,z:0};function wP(e){let{current:t,start:r,open:n}=e;n&&((Math.abs(t.x-r.x)>=1e-6||Math.abs(t.y-r.y)>=1e-6)&&n.segments.push(ol(t,r)),n.closed=!0,e.current={...r},e.open=void 0)}function Co(e,t,r){return`'${e}' expects ${t} number${t===1?"":"s"}, found ${r}`}function xP(e,t,r){let n=r.command.toLowerCase(),o=r.command===n,i=nl[n];if(i===0)return{reason:`'${r.command}' does not take arguments`};let s=e.slice(t,t+i).map(Number);if(s.length<i)return{reason:Co(r.command,i,String(s.length))};let a=s.findIndex(Number.isNaN);if(a!==-1)return{reason:Co(r.command,i,`the command letter '${e[t+a]}'`)};let c=TP(n,s,r.current,o);return n==="m"?(r.current=c,r.start=c,r.open=void 0,r.command=o?"l":"L",{index:t+i}):(kP(r,AP({key:n,args:s,from:r.current,relative:o},c)),r.current=c,{index:t+i})}function TP(e,t,r,n){let o=n?r:{x:0,y:0};return e==="h"?{x:o.x+t[0],y:r.y}:e==="v"?{x:r.x,y:o.y+t[0]}:e==="c"?{x:o.x+t[4],y:o.y+t[5]}:{x:o.x+t[0],y:o.y+t[1]}}function AP(e,t){let{key:r,args:n,from:o,relative:i}=e;if(r!=="c")return ol(o,t);let s=i?o:{x:0,y:0};return{from:o,c1:{x:s.x+n[0],y:s.y+n[1]},c2:{x:s.x+n[2],y:s.y+n[3]},to:t}}function ol(e,t){return{from:e,c1:ae(e,t,1/3),c2:ae(e,t,2/3),to:t}}function Qu(e,t,r){return e+(t-e)*r}function ae(e,t,r){return{x:Qu(e.x,t.x,r),y:Qu(e.y,t.y,r)}}function CP(e,t){let r=ae(e.from,e.c1,t),n=ae(e.c1,e.c2,t),o=ae(e.c2,e.to,t),i=ae(r,n,t),s=ae(n,o,t),a=ae(i,s,t);return[{from:e.from,c1:r,c2:i,to:a},{from:a,c1:s,c2:o,to:e.to}]}function el(e,t){let r=[...e];for(;r.length<t&&r.length>0;){let n=0;for(let s=1;s<r.length;s++)tl(r[s])>tl(r[n])&&(n=s);let[o,i]=CP(r[n],.5);r.splice(n,1,o,i)}return r}function tl(e){return Math.hypot(e.to.x-e.from.x,e.to.y-e.from.y)}function Ne(e){return Math.round(e*100)/100}function RP(e){let t=[];for(let r of e){let n=r.segments[0];t.push(`M${Ne(n.from.x)},${Ne(n.from.y)}`);for(let o of r.segments)t.push(`C${Ne(o.c1.x)},${Ne(o.c1.y)} ${Ne(o.c2.x)},${Ne(o.c2.y)} ${Ne(o.to.x)},${Ne(o.to.y)}`);r.closed&&t.push("Z")}return t.join(" ")}function MP(e){let t=0,r=0;for(let n of e.segments)t+=n.from.x,r+=n.from.y;return{x:t/e.segments.length,y:r/e.segments.length}}function rl(e){let t=MP(e);return{segments:e.segments.map(()=>({from:{...t},c1:{...t},c2:{...t},to:{...t}})),closed:e.closed}}function IP(e,t){let r=Math.max(e.length,t.length),n=[],o=[];for(let i=0;i<r;i++){let s=e[i]??rl(t[i]),a=t[i]??rl(e[i]),c=Math.max(s.segments.length,a.segments.length),u=s.closed&&a.closed;n.push({segments:el(s.segments,c),closed:u}),o.push({segments:el(a.segments,c),closed:u})}return{from:n,to:o}}function il(e,t){let r=Zu(e),n=Zu(t);if(r.reason)return{reason:`start path: ${r.reason}`};if(n.reason)return{reason:`end path: ${n.reason}`};let{from:o,to:i}=IP(r.subpaths,n.subpaths);return{morph:{segmentCount:o.reduce((a,c)=>a+c.segments.length,0),at(a){let c=Math.min(1,Math.max(0,a));return RP(o.map((u,l)=>({segments:u.segments.map((p,m)=>LP(p,i[l].segments[m],c)),closed:u.closed})))}}}}function LP(e,t,r){return{from:ae(e.from,t.from,r),c1:ae(e.c1,t.c1,r),c2:ae(e.c2,t.c2,r),to:ae(e.to,t.to,r)}}var OP="line, rect, path, polyline, circle";function NP(e){let t=Array.from(e.children),r=t.length===1?t[0]:void 0;return r&&r.tagName.toLowerCase()==="svg"?Array.from(r.querySelectorAll(OP)):t.filter(n=>n.textContent.trim()==="")}function sl(e){return Ga(e,(t,r,n)=>{if(!t.querySelector(".kui-bar")){let o=NP(t);if(o.length>0){let i=o.map(s=>{let a=x(s);return a.set(k.part,"bar"),a});n.signal.addEventListener("abort",()=>{for(let s of i)s.restore()},{once:!0})}}return e(t,r,n)})}function _P(e,t,r){let n=e,o=t.text("from")||n.getAttribute("d")||"",{morph:i,reason:s}=il(o,t.text("to"));if(!i)return r.warn(`cannot morph: ${s}`),()=>{};let a=Z(t,300),c=kr(t.timing.easing??t.text("ease","linear"),r.warn),u=t.timing.delayMs??t.ms("delay",0),l=0,p=!1,m=h=>{cancelAnimationFrame(l);let v=performance.now(),E=f,w=h===1?u:0,C=F=>{if(p)return;let M=F-v-w;if(M<0){l=requestAnimationFrame(C);return}let J=a>0?Math.min(1,M/a):1;f=E+(h-E)*c(J),n.setAttribute("d",i.at(f)),J<1&&(l=requestAnimationFrame(C))};l=requestAnimationFrame(C)},f=0,d=()=>m(1),g=()=>m(0);return e.addEventListener("pointerenter",d,{passive:!0}),e.addEventListener("focusin",d,{passive:!0}),e.addEventListener("pointerleave",g,{passive:!0}),e.addEventListener("focusout",g,{passive:!0}),()=>{p=!0,cancelAnimationFrame(l),e.removeEventListener("pointerenter",d),e.removeEventListener("focusin",d),e.removeEventListener("pointerleave",g),e.removeEventListener("focusout",g),n.setAttribute("d",o)}}var DP=b("path-draw",[y.stroke],{parameters:{length:{type:"number",default:"100",cssProperty:"--kui-path-length",finite:!0}}}),$P=b("shape-fill",[y.clip]),jP=b("bar-grow",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),HP=b("logo-assemble",[y.opacity,y.scale,y.rotate]),VP={id:"icon-toggle",renderer:"javascript",channels:[y.translate,y.rotate,y.scale,y.opacity,y.clip,D],parameters:{duration:{type:"time",default:"260ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-out",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:sl(ne("icon-toggle",{honours:B,because:"svg.css pins that value on this effect"}))},FP=[{id:"path-morph",renderer:"javascript",channels:["path"],parameters:{from:{type:"text",default:"",cssProperty:"--kui-path-from"},to:{type:"text",default:"",cssProperty:"--kui-path-to"},duration:{type:"time",default:"300ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"linear",cssProperty:"--kui-ease"}},supportedTimelines:["time"],supportedActivations:["hover","focus","manual","load"],defaultActivation:"load",perfClass:"paint",reducedMotion:"disable",prepare:P(_P)},DP,$P,jP,HP,VP],GP=[{name:"icon-morph",primitive:"path-morph"},{name:"blob-morph",primitive:"path-morph",params:{duration:"800ms"}},{name:"draw-stroke",primitive:"path-draw",keyframes:"kui-draw-stroke",params:{duration:"800ms",ease:"ease-in-out"}},{name:"draw-signature",primitive:"path-draw",keyframes:"kui-draw-signature",params:{duration:"1600ms",ease:"ease-in-out"}},{name:"draw-underline",primitive:"path-draw",keyframes:"kui-draw-underline",params:{duration:"420ms"}},{name:"checkmark-draw",primitive:"path-draw",keyframes:"kui-checkmark-draw",params:{duration:"320ms"}},{name:"cross-draw",primitive:"path-draw",keyframes:"kui-cross-draw",params:{duration:"260ms"}},{name:"chart-line-draw",primitive:"path-draw",keyframes:"kui-chart-line-draw",params:{duration:"1200ms",ease:"ease-in-out"}},{name:"gradient-stroke",phase:"idle",primitive:"path-draw",keyframes:"kui-gradient-stroke",params:{duration:"2400ms",ease:"ease-in-out"}},{name:"heart-fill",primitive:"shape-fill",keyframes:"kui-heart-fill",params:{duration:"420ms"}},{name:"bookmark-fill",primitive:"shape-fill",keyframes:"kui-bookmark-fill",params:{duration:"360ms"}},{name:"chart-area-fill",primitive:"shape-fill",keyframes:"kui-chart-area-fill",params:{duration:"900ms"}},{name:"chart-bar-grow",primitive:"bar-grow",keyframes:"kui-chart-bar-grow",params:{duration:"700ms",ease:"back-out"},cloak:!0},{name:"logo-build",primitive:"logo-assemble",keyframes:"kui-logo-build",params:{duration:"520ms",ease:"back-out"}},{name:"hamburger-to-x",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"play-to-pause",phase:"state",primitive:"icon-toggle",requiresOwnSubtree:!0},{name:"plus-to-minus",primitive:"icon-toggle",transitions:[{property:"rotate"}],requiresOwnSubtree:!0}];function al(e){return e.registerPrimitives(FP).registerPresets(GP)}var BP=":scope > .kui-face-front, :scope > .kui-face-back",cl=`:scope > :is(.kui-flip-control, [${k.part}~='control'])`;function WP(e,t){if(e.querySelector(BP))return;let[r,n]=Array.from(e.children).filter(o=>o.tagName!=="BUTTON");r&&t(r,"front"),n&&t(n,"back")}function qP(e,t,r){let n=t.createElement("button");return n.type="button",n.className="kui-flip-control",n.setAttribute(k.part,r?"control injected quiet":"control injected"),n.setAttribute("aria-pressed","false"),n.textContent="Flip card",e.append(n),n}function KP(e,t,r,n){let o=e.querySelector(":scope > .kui-flip-control");if(o)return{control:o,injected:null};let i=e.querySelector(":scope > button[aria-pressed]");if(i)return n(i,"control"),{control:i,injected:null};let s=qP(e,t,r);return{control:s,injected:s}}function ul(e,t,r){let n=[],o=(l,p)=>{let m=x(l);m.set(k.part,p),n.push(m)};WP(e,o);let i=t.text("trigger","click")!=="click",{control:s,injected:a}=KP(e,r.doc,i,o),c=a?{button:a,onClick:()=>{a.setAttribute("aria-pressed",String(a.getAttribute("aria-pressed")!=="true"))}}:null;return c&&c.button.addEventListener("click",c.onClick),{control:s,cleanup:()=>{c&&(c.button.removeEventListener("click",c.onClick),c.button.remove());for(let l of n)l.restore()}}}function UP(e,t,r){Be("card-toggle",B,t,r);let n=t.text("trigger","click");if(n==="click")return()=>{};if(!he(r.win))return()=>{};let o=e.querySelector(cl),i=u=>o.setAttribute("aria-pressed",String(u)),s=()=>o.getAttribute("aria-pressed")==="true",a=()=>{i(n==="hover-toggle"?!s():!0)},c=()=>i(!1);return e.addEventListener("pointerenter",a,{passive:!0}),n==="hover"&&e.addEventListener("pointerleave",c,{passive:!0}),()=>{e.removeEventListener("pointerenter",a),e.removeEventListener("pointerleave",c)}}function zP(e,t,r){let n=ul(e,t,r);return r.signal.addEventListener("abort",n.cleanup,{once:!0}),P(UP)(e,t,r)}var YP={id:"card-toggle",renderer:"javascript",channels:[y.rotate,"discrete",D],parameters:{duration:{type:"time",default:"700ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"ease-in-out",cssProperty:"--kui-ease"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},trigger:{type:"keyword",default:"click",cssProperty:"--kui-flip-trigger",keywords:["click","hover","hover-latch","hover-toggle"]}},supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:zP},XP=[b("flip-face",[y.skew,"transform-origin"],{parameters:{angle:{type:"angle",default:"180deg",cssProperty:"--kui-from-angle"},perspective:{type:"length",default:"1200px",cssProperty:"--kui-perspective"}}}),b("page-reveal",[y.opacity,y.translate],{parameters:{distance:{type:"length",default:"40px",cssProperty:"--kui-distance"}}}),b("wipe",[y.clip]),b("bar",[y.scale,"transform-origin"],{parameters:{from:{type:"number",default:"0",cssProperty:"--kui-bar-from"}}}),YP],JP=[{name:"card-flip-y",primitive:"flip-face",keyframes:"kui-card-flip-y",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"card-flip-x",primitive:"flip-face",keyframes:"kui-card-flip-x",cloak:!0,requiresOwnSubtree:!0,establishes3d:!0},{name:"cube-rotate",primitive:"flip-face",keyframes:"kui-cube-rotate",params:{angle:"90deg"},establishes3d:!0},{name:"book-page-turn",primitive:"flip-face",keyframes:"kui-book-page-turn",params:{angle:"-160deg",duration:"900ms"},establishes3d:!0},{name:"fold-panel",phase:"entrance",primitive:"flip-face",keyframes:"kui-fold-panel",params:{angle:"-90deg"},cloak:!0,establishes3d:!0},{name:"page-fade",primitive:"page-reveal",keyframes:"kui-page-fade"},{name:"page-slide",primitive:"page-reveal",keyframes:"kui-page-slide"},{name:"curtain-wipe",primitive:"wipe",keyframes:"kui-curtain-wipe",params:{duration:"800ms"}},{name:"loading-bar",phase:"entrance",primitive:"bar",keyframes:"kui-loading-bar",cloak:!0},{name:"flip-card",phase:"state",primitive:"card-toggle",requiresOwnSubtree:!0,establishes3d:!0}];function ll(e){return e.registerPrimitives(XP).registerPresets(JP)}var ZP=.28,pl=4,QP=6;function ek(e,t,r){if(r<=0)return e;let n=t/r*ZP,o=Math.max(-pl,Math.min(pl,n));return e-o}function ml(e){return Math.round(e)+0}function st(e,t){return t>0?(e%t+t)%t:0}var tk={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1,PageDown:1,PageUp:-1,Home:null,End:null};function rk(e){let t,r=()=>{t?.restore(),t=void 0};return{hold(){r(),e.getSelection()?.removeAllRanges(),t=j(e.documentElement),t.claim("user-select"),t.claim("-webkit-user-select"),t.set("user-select","none"),t.set("-webkit-user-select","none")},release:r}}function nk(e,t){let r=!1,n=s=>{r&&(r=!1,s.stopPropagation(),s.preventDefault())},o=()=>{r=!1},i=s=>{s.preventDefault()};return e.addEventListener("click",n,!0),e.addEventListener("pointerdown",o,!0),t&&e.addEventListener("dragstart",i),{arm(){r=!0},release(){e.removeEventListener("click",n,!0),e.removeEventListener("pointerdown",o,!0),e.removeEventListener("dragstart",i)}}}function dl(e){let{el:t,ctx:r,enabled:n,travelPx:o,total:i,positionOf:s,moveTo:a,setDragging:c}=e,u=nk(t,n),l=0,p=1,m=rk(t.ownerDocument),f=n?pe(t,{onStart(){l=s(),p=e.travelSign(),m.hold(),c(!0)},onMove(h){a(l-p*h.dx/o)},onEnd(h){m.release(),c(!1),u.arm();let v=ml(ek(s(),p*h.vx,o));a(st(v,i()))}},{axis:"x",threshold:QP,capturePointer:"drag"}):()=>{};n&&r.style.set("touch-action","pan-y");let d=h=>{let v=h,E=v.key,w=tk[E];if(w===void 0||v.altKey||v.ctrlKey||v.metaKey)return;let C=i(),F=E==="Home"?0:C-1,M=w===null?F:ml(s())+w;h.preventDefault(),a(st(M,C))},g=t.getAttribute("tabindex")===null;return g&&t.setAttribute("tabindex","0"),t.addEventListener("keydown",d),()=>{f(),m.release(),t.removeEventListener("keydown",d),u.release(),g&&t.removeAttribute("tabindex")}}var gl="data-kui-ring-dragging",Gr=[D,A("data-kui-step"),A(gl),A("tabindex")],ok="data-kui-ring-spinning",fl="data-kui-ring-face",ik="data-kui-ring-wrap";function sk(e,t){return e.getComputedStyle?.(t).transform}function ak(e,t,r){return t!==null?t<e?-1:1:r!==null&&r>e?-1:1}function ck(e,t,r){return Math.abs(t-e)>r/2}function Ct(e,t){if(t<=0)return{step:0,drift:0};let r=Math.round(e);return{step:(r%t+t)%t,drift:e-r}}var Br={duration:{type:"time",default:"620ms",cssProperty:"--kui-duration"},...O,ease:{type:"easing",default:"cubic-bezier(0.22, 1, 0.36, 1)",cssProperty:"--kui-ease"},grab:{type:"keyword",default:"true",cssProperty:"--kui-grab",keywords:["true","false"]},travel:{type:"number",default:"220",cssProperty:"--kui-travel",finite:!0,minimum:1},target:{type:"text",default:"",cssProperty:"--kui-target"},next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},pause:Dr,hover:$r,spin:{type:"time",default:"0s",cssProperty:"--kui-spin"},autoplay:_r,lightbox:Mr,scope:U};function uk(e,t){let r=e.attributes.get(t);return r||(r=x(t),e.attributes.set(t,r)),r}function lk(e,t){let r=t[0];r&&(r.offsetWidth>0&&e.set("--kui-item-width",`${r.offsetWidth}px`),r.offsetHeight>0&&e.set("--kui-item-height",`${r.offsetHeight}px`))}function Wr(e,t,r,n){let{label:o}=n;Be(n.id,B,t,r);let i=_(t.text("target"),r,o),s=W(t,"self"),a=()=>i?$(e,r,i,s):e.children,c=be(a,T=>r.warn(`${o} ${T}`)),u=()=>mo(t,a),l=x(e),p=j(e);for(let[T,S]of Object.entries(n.hostAttributes??{}))l.set(T,S);let m={attributes:new Map},f=n.attach?.(p),d=0,g={step:-1,count:1,nodes:[]},h=new WeakMap,v=(T,S)=>{for(let N of T){let H=Number(N.getAttribute("data-kui-step-offset")),G=n.placeOf?n.placeOf(H,S):H,ke=h.get(N);if(h.set(N,G),ke===void 0||!ck(ke,G,S))continue;let at=x(N);at.set(ik,"true"),sk(r.win,N),at.restore()}},E=(T,S,N)=>{for(let H of T){let G=Number(H.getAttribute("data-kui-step-offset")),ke=n.faceOf(G-N,G,S);H.getAttribute(fl)!==ke&&uk(m,H).set(fl,ke)}},w=(T,S)=>{p.set("--kui-step-position",(T+S).toFixed(4))},C=()=>{let T=u(),{step:S,drift:N}=Ct(d,T);l.set("data-kui-step",String(S)),p.set("--kui-step",String(S)),p.set("--kui-item-count",String(T)),w(S,N),c.mark(S);let H=[...a()];n.measure&&lk(p,H),E(H,T,N),v(H,T),f?.render(H,T),g={step:S,count:T,nodes:H}},F=()=>{let{step:T,drift:S}=Ct(d,g.count);if(T!==g.step){C();return}w(T,S),E(g.nodes,g.count,S)},{motion:M,pause:J,release:te}=jr({el:e,ctx:r,params:t,label:o,settleMs:Z(t,620),step(T){let S=u(),{step:N}=Ct(d,S);d=T>0?Lr(N,S):Or(N,S),C()},spin:{advance(T){d=st(d+T*g.count,g.count),F()},setSpinning:T=>l.set(ok,String(T))}}),K=T=>{M.interrupt(),d=T,C()},Pe={el:e,ctx:r,params:t,label:o},me=[Ee(Pe,"next",()=>K(Lr(Ct(d,u()).step,u()))),Ee(Pe,"prev",()=>K(Or(Ct(d,u()).step,u()))),Ee(Pe,"jump",(T,S)=>{S>=0&&K(S)}),J].filter(T=>T!==null),_e=fo({el:e,ctx:r,groups:me}),ze=()=>{let T=new Map;for(let S of g.nodes){let N=Number(S.getAttribute("data-kui-step-offset"));if(Math.abs(N)>1)continue;let H=S.getBoundingClientRect();T.set(N,H.left+H.width/2)}return ak(T.get(0)??0,T.get(1)??null,T.get(-1)??null)},Y=dl({el:e,ctx:r,enabled:t.is("grab"),travelPx:t.num("travel",220),total:u,positionOf:()=>d,travelSign:ze,moveTo:K,setDragging:T=>{l.set(gl,String(T)),M.hold(T)}}),De=Ir(t.is("lightbox"),{host:e,cards:a,doc:r.doc,reducedMotion:r.reducedMotion},T=>r.warn(`${o} ${T}`));return C(),()=>{De(),te(),Y(),_e(),c.restore();for(let T of m.attributes.values())T.restore();m.attributes.clear(),f?.release(),l.restore(),p.restore()}}var yl="--kui-ring-fit",pk=.25,hl=1e5,mk=34,qr=Math.PI/180;function dk(e,t){if(Math.abs(e)>=360)return{fromDeg:-180,toDeg:180};let r=Math.max(1,t),n=e/r,o=Math.floor(r/2),s=[(o-r+1-.5)*n,(o+.5)*n];return{fromDeg:Math.min(...s),toDeg:Math.max(...s)}}function vl(e,{sinA:t,cosA:r,sinT:n,cosT:o}){let[i,s,a]=e,c=i*r+a*t,u=-i*t+a*r;return[c,s*o-u*n,s*n+u*o]}function fk(e,t,r){let n=(e.inside?-1:1)*t,o=vl([0,0,n],r),i=e.width/2,s=e.height/2;for(let[a,c]of[[-i,-s],[i,-s],[-i,s],[i,s]]){let[u,,l]=e.facing==="camera"?[o[0]+a,o[1]+c,o[2]]:vl([a,c,n],r);if(l>=e.perspective-1)return!1;let p=Number.isFinite(e.perspective)?e.perspective/(e.perspective-l):1,m=(e.originOffset+u)*p;if(m<e.minX||m>e.maxX)return!1}return!0}function Ro(e,t,r){let n=Math.sin(e.tiltDeg*qr),o=Math.cos(e.tiltDeg*qr);return r.every(i=>fk(e,t,{sinA:Math.sin(i*qr),cosA:Math.cos(i*qr),sinT:n,cosT:o}))}function gk(e){let t=e.inside?Math.max(e.fromDeg,-90):e.fromDeg,r=e.inside?Math.min(e.toDeg,90):e.toDeg,n=Math.max(1,Math.ceil((r-t)/pk));return Array.from({length:n+1},(o,i)=>t+(r-t)*i/n)}function yk(e){let t=gk(e);if(!Ro(e,0,t))return 0;if(Ro(e,hl,t))return 1/0;let r=0,n=hl;for(let o=0;o<mk;o++){let i=(r+n)/2;Ro(e,i,t)?r=i:n=i}return Math.floor(r*100)/100}function hk(e,t){let r=e.ownerDocument;for(let o=e.parentElement;o&&o!==r.body&&o!==r.documentElement;o=o.parentElement){let i=t.getComputedStyle(o).overflowX;if(i==="clip"||i==="hidden")return null;if(i==="auto"||i==="scroll"){let s=o.getBoundingClientRect().left+o.clientLeft;return{left:s,right:s+o.clientWidth}}}let n=-t.scrollX;return{left:n,right:n+r.documentElement.clientWidth}}function bl(e,t){let r=Number.parseFloat(e);return Number.isFinite(r)?r:t}function El(e){let{el:t,ctx:r,styles:n}=e;if(typeof r.win.getComputedStyle!="function"||typeof r.win.addEventListener!="function")return{render(){},release(){}};let o=Math.min(80,Math.max(-80,-e.tiltParamDeg)),i,s=1,a=()=>{let l=hk(t,r.win);if(!l||!i||i.offsetWidth===0){n.set(yl,"");return}let p=r.win.getComputedStyle(t),m=t.getBoundingClientRect(),f=m.left+bl(p.perspectiveOrigin,m.width/2),d=yk({width:i.offsetWidth,height:i.offsetHeight,perspective:bl(p.perspective,1/0),tiltDeg:o,inside:t.matches("[data-kui-fx~='carousel-3d-inside']"),facing:i.firstElementChild?e.facing:"radial",...dk(e.arcDeg,s),originOffset:m.left+m.width/2-f,minX:l.left-f,maxX:l.right-f});n.set(yl,Number.isFinite(d)?`${d}px`:"")},c=Le(r.win,a),u=Ie(r.win,c.request);return u.observe(t),u.observe(t.ownerDocument.documentElement),{render(l,p){let m=l[0];m===i&&p===s||(i=m,s=p,a())},release(){u.disconnect(),c.cancel()}}}function vk(e,t,r,n){let o=Sl(e,r)-t;return o>-.5&&o<n+1?"front":"back"}function Sl(e,t){return st(e+1,t)-1}var bk={...Br,shift:{type:"length",default:"48px",cssProperty:"--kui-stack-shift"},rise:{type:"length",default:"36px",cssProperty:"--kui-stack-rise"},shrink:{type:"number",default:"0.08",cssProperty:"--kui-stack-shrink",finite:!0,minimum:0,maximum:.3},blur:{type:"length",default:"2px",cssProperty:"--kui-stack-blur"},fade:{type:"number",default:"0.2",cssProperty:"--kui-stack-fade",finite:!0,minimum:0,maximum:1},depth:{type:"number",default:"3",cssProperty:"--kui-stack-depth",integer:!0,minimum:1,maximum:8}};function Ek(e,t,r){let n=t.num("depth",3);return Wr(e,t,r,{id:"spatial-stack",label:"carousel-stack",faceOf:(o,i,s)=>vk(i,i-o,s,n),placeOf:Sl,measure:!1})}var Pl={id:"spatial-stack",renderer:"javascript",channels:[y.skew,"discrete",y.opacity,y.filter,...Gr],parameters:bk,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:P(Ek)},kl=[{name:"carousel-stack",primitive:"spatial-stack",requiresOwnSubtree:!0,phase:"idle"}];var Sk=90,Pk=[["overflow",e=>e!==""&&e!=="visible"],["clip-path",e=>e!==""&&e!=="none"],["opacity",e=>e!==""&&Number(e)<1],["filter",e=>e!==""&&e!=="none"],["backdrop-filter",e=>e!==""&&e!=="none"],["isolation",e=>e==="isolate"],["mix-blend-mode",e=>e!==""&&e!=="normal"],["mask-image",e=>e!==""&&e!=="none"]];function kk(e,t){let r=wk(e,t);r&&t.warn(`carousel: the ring's own <${e.localName}> has ${r.property}: ${r.value}, which flattens transform-style: preserve-3d \u2014 the ring will render as flat overlapping cards. Move that property to a wrapper around the ring: an ancestor does not flatten it.`)}function wk(e,t){let r=t.win.getComputedStyle?.(e);if(!r)return null;for(let[n,o]of Pk){let i=r.getPropertyValue(n);if(o(i))return{property:n,value:i}}return null}function xk(e){return Math.abs(Tk(e))>=Sk?"back":"front"}function Tk(e){let t=(e%360+360)%360;return t>180?t-360:t}var Ak={...Br,tilt:{type:"angle",default:"0deg",cssProperty:"--kui-tilt"},arc:{type:"angle",default:"360deg",cssProperty:"--kui-arc"},radius:{type:"length",default:"",cssProperty:"--kui-radius"},gap:{type:"length",default:"24px",cssProperty:"--kui-gap"},perspective:{type:"length",default:"1600px",cssProperty:"--kui-perspective"},facing:{type:"keyword",default:"radial",cssProperty:"--kui-facing",keywords:["radial","camera"]},plane:{type:"keyword",default:"depth",cssProperty:"--kui-ring-plane",keywords:["depth","screen"]}};function Ck(e,t,r){let n=t.text("plane","depth");n==="depth"&&kk(e,r);let o=wl(t.text("arc","360deg"),360);return Wr(e,t,r,{id:"spatial-ring",label:"carousel",faceOf:(s,a,c)=>n==="screen"?"front":xk(s*(o/c)),measure:t.text("radius")===""||n==="screen",hostAttributes:{"data-kui-ring-facing":t.text("facing","radial"),"data-kui-ring-plane":n},attach:n==="depth"?s=>El({el:e,ctx:r,styles:s,arcDeg:o,tiltParamDeg:wl(t.text("tilt","0deg"),0),facing:t.text("facing","radial")==="camera"?"camera":"radial"}):void 0})}function wl(e,t){let r=/^(-?[\d.]+)(deg|rad|turn|grad)?$/i.exec(e.trim());if(!r)return t;let n=Number(r[1]);if(!Number.isFinite(n))return t;switch((r[2]??"deg").toLowerCase()){case"rad":return n*180/Math.PI;case"turn":return n*360;case"grad":return n*.9;default:return n}}var Rk={id:"spatial-ring",renderer:"javascript",channels:[y.skew,"discrete",...Gr,A("data-kui-ring-facing"),A("data-kui-ring-plane")],parameters:Ak,supportedTimelines:["time"],supportedActivations:["load","enter","click","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"shorten",prepare:P(Ck)},Mk=[Rk,Pl],Ik=[{name:"carousel-3d",primitive:"spatial-ring",params:{tilt:"12deg"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-high",primitive:"spatial-ring",params:{tilt:"30deg",perspective:"1200px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-low",primitive:"spatial-ring",params:{tilt:"-18deg",perspective:"1800px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-3d-inside",primitive:"spatial-ring",params:{arc:"120deg",facing:"camera",perspective:"900px"},requiresOwnSubtree:!0,phase:"idle"},{name:"carousel-orbit",primitive:"spatial-ring",params:{plane:"screen",facing:"camera"},requiresOwnSubtree:!0,phase:"idle"}];function xl(e){return e.registerPrimitives(Mk).registerPresets(Ik).registerPresets(kl)}var Mo=["translate","rotate","scale","opacity","filter","color","background"],Tl={translate:y.translate,rotate:y.rotate,scale:y.scale,opacity:y.opacity,filter:y.filter,color:y.color,background:y.background};function q(e,t,r,n){let o=r==="number"?{finite:!0,...e==="filter"?{minimum:0}:{}}:{};return[t,{group:e,spec:{type:r,default:n,cssProperty:`--kui-tween-${t}`,...o}}]}var Q=Object.fromEntries([q("translate","x","length","0"),q("translate","y","length","0"),q("translate","z","length","0"),q("rotate","rotate","angle","0deg"),q("scale","scale","number","1"),q("scale","scale-x","number","1"),q("scale","scale-y","number","1"),q("opacity","opacity","number","1"),q("filter","blur","length","0px"),q("filter","brightness","number","1"),q("filter","saturate","number","1"),q("filter","grayscale","number","0"),q("filter","contrast","number","1"),q("filter","hue-rotate","angle","0deg"),q("filter","invert","number","0"),q("filter","sepia","number","0"),q("color","color","color","currentcolor"),q("background","background-color","color","transparent")]),Al=Object.fromEntries([...Object.entries(Q).map(([e,t])=>[e,t.spec]),...Mo.map(e=>[`${e}-ease`,{type:"easing",default:"ease-out",cssProperty:`--kui-tween-${e}-ease`}])]);function Io(e,t){if(e=e.trim(),t==="number"&&e.endsWith("%")){let n=e.slice(0,-1);return fe(n,-2)??e}let r=fe(e);return r===void 0?e:t==="length"?`${r}px`:t==="angle"?`${r}deg`:t==="number"?r:e}function Kr(e,t,r,n=e){let o=Q[e].spec,i=Io(t,o.type),s=Lk(e,i),a=s?{ok:!1,reason:s,value:i}:Me(i,o);if(!a.ok){r(`parameter "${n}": ${a.reason} \u2014 got "${t}", using default "${o.default}"`);return}return a.value}function Lk(e,t){if(/^(?:inherit|initial|unset|revert|revert-layer)$/i.test(t))return"CSS-wide keyword cannot be passed through a tween custom property";if((e==="z"||e==="blur")&&t.includes("%"))return"expected a length without percentages";if(e==="blur"&&Number.parseFloat(t)<0)return"blur must be non-negative"}var Ur=5,Cl=2;function Rl(e){let t=[],r=0,n=0,o=0;for(;o<e.length;){let i=e[o];i==='"'||i==="'"?o=Ok(e,o):i==="("?n++:i===")"?n=Math.max(0,n-1):i===","&&n===0&&(t.push(e.slice(r,o).trim()),r=o+1),o++}return t.push(e.slice(r).trim()),t}function Ok(e,t){for(let r=t+1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]===e[t])return r;return e.length}function Nk(e,t,r,n){for(let[o,i]of t){if(i.length===r)continue;let s=i.at(-1);for(i.length>=Cl&&n(`"${o}" has ${String(i.length)} waypoints and another "${e}" property has ${String(r)} \u2014 they share one keyframe block, so "${o}" holds at "${s}" for the rest`);i.length<r;)i.push(s)}}function _k(e,t,r){return t.length<=Ur?t:(r(`"${e}" has ${String(t.length)} waypoints \u2014 at most ${String(Ur)} are supported, so the animation now ends at "${t[Ur-1]}"`),t.slice(0,Ur))}function Ml(e,t){let r=new Map;for(let[n,o]of e){if(o.length<Cl)continue;let i=Object.hasOwn(Q,n)?Q[n]:void 0;if(!i)continue;let s=_k(n,o,t).map(c=>Io(c.trim(),i.spec.type)),a=r.get(i.group)??{count:0,keys:new Map};a.keys.set(n,s),a.count=Math.max(a.count,s.length),r.set(i.group,a)}for(let[n,o]of r)Nk(n,o.keys,o.count,t);return r}function Il(e,t,r,n){for(let[o,i]of e.keys){if(!Object.hasOwn(Q,o))continue;let s=Q[o].spec;for(let[a,c]of i.entries()){let u=a+1,l=`${o}[${String(u)}]`,p=Kr(o,c,n,l);p!==void 0&&(t[l]=p,r[l]=Dk(s,o,u))}}}function Dk(e,t,r){return{...e,cssProperty:`--kui-tween-${t}-${String(r)}`}}function Ll(e,t){return`kui-tween-keys${String(t)}-${e}`}var $k=["time","view","scroll","pin"];function jk(e,t,r){let n=["scale-x","scale-y"].filter(o=>Number(t[o]??t.scale??"1")===0);n.length!==0&&r(`"${e}" starts with no box area on ${n.join(", ")}, which can prevent on:enter activation depending on its geometry \u2014 use a small non-zero scale, or on:load`)}function Hk(e,t,r){let n={},o=new Set(t.filter(([,i])=>i.length>1).map(([i])=>Q[i].group));for(let[i]of t)(e==="from"||o.has(Q[i].group))&&r[i]!==void 0&&(n[i]=r[i]);return n}function Vk(e,t,r){let n=Object.create(null),o=Fk(t,n,r),i=new Set(o.map(([l])=>Q[l].group)),s=Mo.filter(l=>i.has(l));if(s.length===0)return r(`"${t.name}" names no properties to animate \u2014 add at least one, e.g. "${t.name} x:100" (known: ${Object.keys(Q).join(", ")})`),{channels:[],keyframes:[],params:n};jk(t.name,Hk(e,o,n),r);let a=Ml(o,r),c={};for(let l of a.values())Il(l,n,c,r);for(let l of s){let p=`${l}[ease]`,m=Gk(e,t,l);n[p]=m.value,c[p]=m.schema}return{channels:s.map(l=>Tl[l]),keyframes:s.map(l=>Bk(l,e,a.get(l))),params:n,schema:c}}function Fk(e,t,r){let n=[];for(let[o,i]of Object.entries(e.params)){if(!(Object.hasOwn(Q,o)?Q[o]:void 0)){t[o]=i;continue}let a=Rl(i);n.push([o,a]);let c=Kr(o,a[0],r);c!==void 0&&(t[o]=c)}return n}function Gk(e,t,r){let o=`var(--kui-${e==="from"?"tween-from":"tween"}-ease, ease-out)`,i=`--kui-tween-${r}-default-ease`;return t.easing?{value:t.easing,schema:{type:"easing",default:o,cssProperty:i}}:{value:o,schema:{type:"keyword",default:o,keywords:[o],cssProperty:i}}}function Bk(e,t,r){return r?Ll(e,r.count):`kui-tween-${t}-${e}`}function Ol(e,t){return{...b(e,[],{timelines:$k,parameters:Al,perfClass:"paint"}),variantFor:(r,n)=>Vk(t,r,n)}}var Wk=[Ol("tween","to"),Ol("tween-from","from")],qk=[{name:"tween",primitive:"tween"},{name:"tween-from",primitive:"tween-from",cloak:!0}];function Nl(e){return e.registerPrimitives(Wk).registerPresets(qk)}var _l=/^-?[A-Za-z_][\w-]*$/,Kk=new Set(["none","match-element"]);function Uk(e,t,r){let n=t.text("name","auto").trim();if(n==="auto"){let o=e.id;if(!o){r("page-morph needs a name to morph *to*: give this element an id (and the same id to its counterpart on the other view), or write name:something explicitly");return}return _l.test(o)?o:Dl(o,r)}if(Kk.has(n)){r(`page-morph name:${n} is a keyword, not a name \u2014 omit the effect instead`);return}return _l.test(n)?n:Dl(n,r)}function Dl(e,t){t(`page-morph cannot use "${e}" as a view-transition-name \u2014 it must be a CSS identifier (a letter or underscore, then letters, digits, hyphens or underscores)`)}function zk(e,t,r){if(!r.capabilities.viewTransitions)return r.warn("this browser has no View Transitions API, so page-morph will not morph \u2014 the navigation or state change still happens, it just cuts instead of animating"),()=>{};let n=Uk(e,t,r.warn);return n===void 0?()=>{}:(r.style.set("view-transition-name",n),()=>{})}var Yk={id:"view-morph",renderer:"javascript",channels:["view-transition-name"],parameters:{name:{type:"text",default:"auto",cssProperty:"--kui-view-transition-name"}},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"compositor",reducedMotion:"disable",prepare:R("view-morph",{because:"the ::view-transition pseudo-elements hang off the document root, not off this element, so no per-element value can reach them \u2014 set --kui-vt-duration/-delay/-ease on :root instead"},P(zk))};function Xk(e,t,r){let n=t.text("controls","").trim();if(n){let s=r.doc.querySelector(n);if(s)return s;r.warn(`view-swap controls:${n} matched nothing \u2014 the click will do nothing`);return}let o=e.getAttribute("aria-controls"),i=o?r.doc.getElementById(o):null;if(i)return i;r.warn("view-swap has nothing to swap: give this control an aria-controls pointing at the element whose state changes, or name it with controls:#selector")}function Jk(e){let r=e.ViewTransition?.prototype;return typeof r=="object"&&r!==null&&"types"in r}function Zk(e,t){return!e||!t.capabilities.viewTransitions?"":Jk(t.win)?e:(t.warn(`view-swap type:${e} needs View Transition types, which this browser's View Transitions API predates \u2014 the swap still animates, with the browser's default cross-fade instead of the motion this type names`),"")}function $l(e,t,r){let n=r.doc.startViewTransition;if(!r.capabilities.viewTransitions||typeof n!="function"||r.reducedMotion){e();return}t?n.call(r.doc,{update:e,types:[t]}):n.call(r.doc,e)}function Qk(e,t,r){let n=Xk(e,t,r);if(!n)return()=>{};r.capabilities.viewTransitions||r.warn("this browser has no View Transitions API, so view-swap will not animate \u2014 the state change still happens, it just cuts");let o=t.text("attribute","data-open").trim()||"data-open",i=Zk(t.text("type","").trim(),r),s=tt(t),a=()=>{let l=n.hasAttribute(o);l?n.removeAttribute(o):n.setAttribute(o,""),e.hasAttribute("aria-expanded")&&e.setAttribute("aria-expanded",String(!l))},c=new Set,u=()=>{if(s<=0){$l(a,i,r);return}let l=r.win.setTimeout(()=>{c.delete(l),$l(a,i,r)},s);c.add(l)};return e.addEventListener("click",u,{signal:r.signal}),()=>{for(let l of c)r.win.clearTimeout(l);c.clear()}}var ew={id:"view-swap",channels:["view-transition-run"],renderer:"javascript",parameters:{controls:{type:"text",default:"",cssProperty:"--kui-view-swap-controls"},attribute:{type:"text",default:"data-open",cssProperty:"--kui-view-swap-attribute"},type:{type:"text",default:"",cssProperty:"--kui-view-swap-type"},...O},supportedTimelines:["time"],supportedActivations:["load","manual"],defaultActivation:"load",perfClass:"layout",reducedMotion:"shorten",prepare:R("view-swap",{honours:["delay"],because:"it starts a transition the browser then owns \u2014 the duration and curve live on the ::view-transition pseudo-elements at :root, not on this control"},P(Qk))},tw=[Yk,ew],rw=[{name:"page-morph",primitive:"view-morph"},{name:"view-swap",primitive:"view-swap",phase:"state"}];function jl(e){return e.registerPrimitives(tw).registerPresets(rw)}function Hl(e){return Array.isArray(e)?e:[e]}function Vl(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.registerPrimitives=="function"&&typeof t.registerPresets=="function"}function nw(e){if(!e||typeof e!="object")return;if(Vl(e))return e;let t=e;if(Vl(t.registry))return t.registry}function Fl(e,t,r,n="module"){let o=nw(e);if(!o)throw new Error(`kuinetic: register${n} requires a Registry or Animator instance`);return o.registerPrimitives(Hl(t)),o.registerPresets(Hl(r)),e}function ee(e,t,r){return{id:e,renderer:"javascript",channels:t.channels,parameters:t.parameters,supportedTimelines:["time"],supportedActivations:["load"],defaultActivation:"load",perfClass:t.perfClass,reducedMotion:"shorten",prepare:r}}var ow=["browser","phone","tablet","laptop"],Gl="",iw={kind:{type:"keyword",default:"browser",cssProperty:"--kui-device-kind",keywords:[...ow]},color:{type:"color",default:"#111",cssProperty:"--kui-device-color"},radius:{type:"length",default:Gl,cssProperty:"--kui-device-radius"},"screen-radius":{type:"length",default:Gl,cssProperty:"--kui-device-screen-radius"}};function sw(e,t){let r=x(e);return r.set("data-kui-device",t.text("kind","browser")),I(()=>r.restore())}var Bl=ee("device-frame",{channels:["frame",A("data-kui-device")],parameters:iw,perfClass:"layout"},R("device-frame",{because:"it stamps its frame kind once, synchronously, on activation; there is no motion to time"},P(sw))),Wl=[{name:"device-frame",primitive:"device-frame",requiresOwnSubtree:!0}];var Lo=new WeakMap;function ql(e){e.lock?.restore(),e.lock=void 0}function aw(e){if(e.lock)return;let t=e.doc.documentElement,r=j(t),n=e.doc.defaultView.innerWidth-t.clientWidth;r.set("overflow","hidden"),n>0&&r.set("padding-right",`${n}px`),e.lock=r}function Oo(e){let t=e.current;t?.onClose?.(),e.current=void 0,e.currentOwner=void 0,e.slot?.replaceChildren(),t?.opener&&lo(e.doc,t.opener,!1)}function Kl(e){e.dialog?.classList.remove("is-open"),ql(e),Oo(e)}function zr(e){let t=e.dialog;!t?.open||e.timer!==void 0||(t.classList.remove("is-open"),e.timer=setTimeout(()=>{e.timer=void 0,t.open&&t.close(),ql(e),Oo(e)},e.current.reducedMotion?0:e.current.duration))}function cw(e,t){let{node:r,inside:n}=e.current;return n?!n(t):!r.contains(t)&&!t.closest("button")}function uw(e){return e.offsetWidth}function lw(e){if(e.dialog)return;let t=e.doc.createElement("dialog");t.className="kui-lightbox";let r=e.doc.createElement("button");r.type="button",r.className="kui-lightbox-close",r.setAttribute("aria-label","Close viewer"),r.textContent="\xD7";let n=e.doc.createElement("div");n.className="kui-lightbox-slot",t.append(r,n),e.doc.body.append(t),r.addEventListener("click",()=>zr(e)),t.addEventListener("click",o=>{cw(e,o.target)&&zr(e)}),t.addEventListener("cancel",o=>{o.preventDefault(),zr(e)}),t.addEventListener("close",()=>Kl(e)),t.addEventListener("keydown",o=>e.current?.onKey?.(o)),e.dialog=t,e.slot=n,e.style=j(t)}function pw(e,t,r){lw(e);let n=e.dialog;e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,Oo(e),e.current=t,e.currentOwner=r,e.slot.replaceChildren(t.node),n.setAttribute("aria-label",t.label),e.style.set("--kui-lightbox-duration",`${t.duration}ms`),e.style.set("--kui-from-scale",t.scale),e.style.set("--kui-lightbox-ease",t.ease),aw(e),n.open||n.showModal(),n.scrollTop=0,uw(n),n.classList.add("is-open"),t.opener&&lo(e.doc,t.opener,!0)}function mw(e){e.timer!==void 0&&clearTimeout(e.timer),e.timer=void 0,e.dialog?.open&&e.dialog.close(),Kl(e)}function dw(e,t){e.refs-=1,(e.currentOwner===t||e.refs===0)&&mw(e),!(e.refs>0)&&(e.style?.restore(),e.dialog?.remove(),Lo.delete(e.doc))}function No(e){let t=Lo.get(e);t||(t={doc:e,refs:0},Lo.set(e,t)),t.refs+=1;let r=t,n={},o=!1;return{open:i=>pw(r,i,n),dismiss:()=>zr(r),release:()=>{o||(o=!0,dw(r,n))}}}var fw="https://kuinetic.invalid/",gw=/^[\w-]{6,}$/,yw=new Set(["youtube.com","www.youtube.com","m.youtube.com"]),hw=new Set(["youtu.be","www.youtu.be"]),vw=new Set(["vimeo.com","www.vimeo.com"]);function Ul(e,t,r){let n;return r?n=t[0]:t[0]==="watch"?n=e.searchParams.get("v"):(t[0]==="shorts"||t[0]==="embed")&&(n=t[1]),!n||!gw.test(n)?null:{kind:"youtube",embedUrl:`https://www.youtube-nocookie.com/embed/${n}?autoplay=1`,aspect:t[0]==="shorts"?"tall":"wide"}}function bw(e){let t=e[0];return!t||!/^\d+$/.test(t)?null:{kind:"vimeo",embedUrl:`https://player.vimeo.com/video/${t}?autoplay=1`,aspect:"wide"}}function zl(e){let t;try{t=new URL(e,fw)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:")return null;let r=t.hostname.toLowerCase(),n=t.pathname.split("/").filter(Boolean);return yw.has(r)?Ul(t,n,!1):hw.has(r)?Ul(t,n,!0):vw.has(r)?bw(n):/\.(mp4|webm|ogg)$/i.test(t.pathname)?{kind:"file",embedUrl:e,aspect:"wide"}:null}var Do=280,$o="0.965",jo="cubic-bezier(0.22, 1, 0.36, 1)",Ew={media:{type:"keyword",default:"image",cssProperty:"--kui-lightbox-media",keywords:["image","video","mixed"]},target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,scale:{type:"number",default:$o,cssProperty:"--kui-from-scale",finite:!0,minimum:0},duration:{type:"time",default:`${Do}ms`,cssProperty:"--kui-lightbox-duration"},ease:{type:"easing",default:jo,cssProperty:"--kui-lightbox-ease"},loop:{type:"keyword",default:"true",cssProperty:"--kui-lightbox-loop",keywords:["true","false"]},aspect:{type:"keyword",default:"",cssProperty:"--kui-lightbox-aspect",keywords:["wide","tall","square"]},caption:{type:"keyword",default:"figcaption",cssProperty:"--kui-lightbox-caption",keywords:["figcaption","alt","title","none"]}};function Sw(e,t){return e.matches("a[href]")||t!=="video"&&e.matches("img")?[e]:[...e.querySelectorAll(t==="video"?":scope a[href]":":scope a[href], :scope img")]}function Ql(e){return e==="video"?"video-lightbox":"lightbox"}function Pw(e,t,r,n){let o=t.text("target");if(!o)return Sw(e,n);let i=_(o,r,Ql(n));return i?$(e,r,i,W(t,"self")):[]}function kw(e){return e instanceof HTMLImageElement?e.closest("a[href]")??e:e}function ep(e){return e instanceof HTMLImageElement?e:e.querySelector("img")}function tp(e,t,r){if(r==="none")return"";let n=t?.alt??"";return r==="alt"?n:r==="title"?ww(e,t):e.closest("figure")?.querySelector("figcaption")?.textContent?.trim()||n}function ww(e,t){return(e.getAttribute("title")||t?.title||"").trim()}function xw(e,t){let r=ep(e);if(!r)return null;let n=e instanceof HTMLAnchorElement?e:null;return{kind:"image",trigger:e,image:r,src:n?.href??(r.currentSrc||r.src),caption:tp(e,r,t)}}function Tw(e,t){return e.title||t?.getAttribute("alt")||e.getAttribute("aria-label")?.trim()||e.textContent?.trim()||"Video"}function Aw(e,t){let r=zl(e.getAttribute("href")??"");if(!r)return null;let n=e.querySelector("img");return{kind:"video",trigger:e,source:r,title:Tw(e,n),caption:tp(e,n,t)}}function _o(e,t,r){if(t!=="image"&&e instanceof HTMLAnchorElement){let n=Aw(e,r);if(n||t==="video")return n}return xw(e,r)}function Cw(e,t){let r=new Set,n=[];for(let o of e){let i=t==="video"?o:kw(o);r.has(i)||Rw(i,t)&&(r.add(i),n.push(i))}return n}function Rw(e,t){let r=e instanceof HTMLAnchorElement;if(t==="video")return r;let n=ep(e)!==null;return t==="image"?n:r||n}function Mw(e,t){return{duration:e.timing.durationMs??e.ms("duration",Do),scale:e.text("scale",$o),ease:e.timing.easing??e.text("ease",jo),reducedMotion:t.reducedMotion}}function Iw(e,t){t.src=e.src,t.alt=e.image.alt;let r=e.image.naturalWidth?e.image.naturalHeight/e.image.naturalWidth:1;t.className=r>1.5?"is-tall":"is-fit"}function Lw(e,t,r){let n=r.createElement("div");if(n.className=`kui-lightbox-frame kui-lightbox-frame--${t||e.source.aspect}`,e.source.kind==="file"){let o=r.createElement("video");o.src=e.source.embedUrl,o.controls=!0,o.autoplay=!0,o.playsInline=!0,o.setAttribute("aria-label",e.title),n.append(o)}else{let o=r.createElement("iframe");o.src=e.source.embedUrl,o.title=e.title,o.allow="autoplay; encrypted-media; picture-in-picture; fullscreen",o.allowFullscreen=!0,n.append(o)}return n}function rp(e){e.readyState>0&&e.pause()}function Yl(e){let t=e.querySelector("video");t&&(rp(t),t.removeAttribute("src")),e.replaceChildren()}function Ow(e,t){if(t===e.view)return;let r=t.querySelector("video");r?rp(r):t.replaceChildren()}function Nw(e,t){if(t.kind==="image")return Iw(t,e.view),e.view;let r=e.players.get(t);if(r)return r.querySelector("video").play().catch(()=>{}),r;let n=Lw(t,e.aspect,e.figure.ownerDocument);return t.source.kind==="file"&&e.players.set(t,n),n}function Yr(e,t){let r=e.items[e.index];if(e.shown?.item!==r){e.shown&&Ow(e,e.shown.node);let n=Nw(e,r);e.shown={item:r,node:n},e.caption.textContent=r.caption,e.caption.hidden=r.caption==="",e.figure.replaceChildren(n,e.caption)}e.counter.textContent=`${e.index+1} of ${e.items.length}`,e.previous.disabled=!e.loop&&e.index===0,e.next.disabled=!e.loop&&e.index===e.items.length-1,t&&e.figure.focus()}function Xr(e,t,r){let n=e.index+t;!e.loop&&(n<0||n>=e.items.length)||(e.index=(n+e.items.length)%e.items.length,Yr(e,r))}function Xl(e,t,r){Xr(e,t,!1),r.disabled&&r.ownerDocument.activeElement===r&&e.figure.focus()}function _w(e,t){if(!(e.items.length<2)&&!t.target.closest("video")){if(t.key==="ArrowLeft")Xr(e,-1,!0);else if(t.key==="ArrowRight")Xr(e,1,!0);else if(t.key==="Home")e.index=0,Yr(e,!0);else if(t.key==="End")e.index=e.items.length-1,Yr(e,!0);else return;t.preventDefault()}}function Dw(e,t){let r=t.ownerDocument.defaultView?.visualViewport??null,n=()=>(r?.scale??1)>1.01,o=()=>{t.classList.toggle("is-swipeable",!n())};o(),r?.addEventListener("resize",o);let i=pe(t,{onSwipe(s){(s==="left"||s==="right")&&Xr(e,yo(s),!1)}},{capturePointer:"drag",accept:s=>s.pointerType!=="mouse"&&!n()&&s.target.closest("video")===null});return()=>{i(),r?.removeEventListener("resize",o)}}function $w(e){e.view.removeAttribute("src");for(let t of e.players.values())Yl(t);e.shown&&e.shown.node!==e.view&&Yl(e.shown.node)}function jw(e){let t=new Set(e.map(r=>r.kind));return t.size>1?{noun:"item",label:"Media viewer"}:t.has("video")?{noun:"video",label:"Video viewer"}:{noun:"image",label:"Image viewer"}}function np(e,t,r){let n=e[t].trigger.ownerDocument,o=n.createElement("div");o.className="kui-lightbox-gallery";let i=n.createElement("figure");i.tabIndex=-1;let s=n.createElement("img");s.decoding="async";let a=n.createElement("figcaption");o.append(i);let c=n.createElement("span");c.className="kui-lightbox-counter",c.setAttribute("aria-hidden","true");let u=n.createElement("button"),l=n.createElement("button");u.type=l.type="button",u.textContent="\u2039",l.textContent="\u203A";let{noun:p,label:m}=jw(e);u.setAttribute("aria-label",`Previous ${p}`),l.setAttribute("aria-label",`Next ${p}`),u.className="kui-lightbox-prev",l.className="kui-lightbox-next";let f={items:e,index:t,loop:r.loop,aspect:r.aspect,figure:i,view:s,caption:a,counter:c,previous:u,next:l,players:new Map};e.length>1&&(o.append(u,l,c),u.addEventListener("click",()=>Xl(f,-1,u)),l.addEventListener("click",()=>Xl(f,1,l))),Yr(f,!1);let d=e.length>1?Dw(f,o):void 0,{duration:g,scale:h,ease:v,reducedMotion:E}=r;return{duration:g,scale:h,ease:v,reducedMotion:E,node:o,label:m,inside:w=>o.contains(w)&&w.closest("img, video, iframe, button")!==null,onClose:()=>{d?.(),$w(f)},onKey:w=>_w(f,w)}}function op(e){return e.button===0&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}function Jl(e,t,r){let n=[],o=-1;for(let i of e){let s=_o(i,r.media,r.captionSource);s&&(i===t&&(o=n.length),n.push(s))}if(o<0){let i=t.getAttribute("href")??"";return r.warned.has(i)||r.ctx.warn(`${Ql(r.media)} cannot embed "${i}"; the link will navigate normally`),r.warned.add(i),!1}return r.shell.open({...np(n,o,r.options),opener:t}),!0}function Hw(e,t){let r=[];for(let n of e){if(n instanceof HTMLImageElement){let i=x(n);i.set("role","button"),i.set("tabindex","0"),i.set("aria-label",n.alt?`Open larger image: ${n.alt}`:"Open larger image"),r.push(()=>i.restore()),n.addEventListener("keydown",s=>{s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),Jl(e,n,t))},{signal:t.signal})}n.addEventListener("click",i=>{op(i)&&Jl(e,n,t)&&i.preventDefault()},{signal:t.signal})}return r}function Vw(e){let t=e.matches("a[href]")?e:e.querySelector("a[href]");return t&&_o(t,"mixed","figcaption")||_o(e,"mixed","figcaption")}var Zl="button, input, select, textarea, label, summary, [contenteditable]";function ip(e){let{host:t,cards:r,doc:n,reducedMotion:o}=e,i=No(n),s={duration:Do,scale:$o,ease:jo,reducedMotion:o,loop:!0,aspect:""},a=d=>d.getAttribute("data-kui-ring-face")==="back",c=(d,g=!1)=>{let h=[...r()],v=h.find(d);if(!v||!g&&a(v))return!1;let E=[],w=-1;for(let C of h){let F=Vw(C);F&&(C===v&&(w=E.length),E.push(F))}return w<0?!1:(i.open({...np(E,w,s),opener:v}),!0)},u=null,l=d=>{let g=[...r()],h=typeof n.elementsFromPoint=="function"?n.elementsFromPoint(d.clientX,d.clientY):[];for(let v of[...h,d.target]){let E=g.find(w=>w.contains(v));if(E)return a(E)?null:{card:E,node:v}}return null},p=d=>{u=d.button===0?l(d):null},m=d=>{let g=d.detail>0?u:null;u=null;let h=d.target;if(d.defaultPrevented||!op(d)||h.closest(Zl)||g?.node.closest(Zl))return;(g?c(E=>E===g.card,!0):c(E=>E.contains(h)))&&d.preventDefault()},f=d=>{let g=d.key;d.target!==t||g!=="Enter"&&g!==" "||c(h=>h.getAttribute(po)==="active")&&d.preventDefault()};return t.addEventListener("pointerdown",p),t.addEventListener("click",m),t.addEventListener("keydown",f),()=>{t.removeEventListener("pointerdown",p),t.removeEventListener("click",m),t.removeEventListener("keydown",f),i.release()}}function Fw(e,t,r){let n=t.text("media","image"),o=Cw(Pw(e,t,r,n),n);if(o.length===0)return()=>{};let i=new AbortController,s=No(r.doc),a={...Mw(t,r),loop:t.is("loop"),aspect:t.text("aspect")},c=Hw(o,{shell:s,options:a,signal:i.signal,media:n,captionSource:t.text("caption","figcaption"),ctx:r,warned:new Set});return I(()=>{i.abort();for(let u of c)u();s.release()})}var Gw="lightbox:triggers",sp=ee("lightbox",{channels:[Gw],parameters:Ew,perfClass:"paint"},R("lightbox",{honours:["duration","ease"],because:"the dialog opens immediately, so it has no delay phase"},P(Fw))),ap=[{name:"lightbox",primitive:"lightbox",params:{media:"image"}},{name:"video-lightbox",primitive:"lightbox",params:{media:"video",caption:"none"}}];var Bw=["x","y"],cp="data-kui-compare-axis",up="data-kui-compare-dividers",Ww={position:{type:"percentage",default:"50%",cssProperty:"--kui-compare"},positions:{type:"text",default:"",cssProperty:"--kui-compare-positions"},axis:{type:"keyword",default:"x",cssProperty:"--kui-compare-axis",keywords:[...Bw]},autoplay:{type:"keyword",default:"never",cssProperty:"--kui-compare-autoplay",keywords:["never","in-view","always"]},duration:{type:"time",default:"3s",cssProperty:"--kui-compare-duration"},reverse:{type:"keyword",default:"false",cssProperty:"--kui-compare-reverse",keywords:["true","false"]},loop:{type:"keyword",default:"false",cssProperty:"--kui-compare-loop",keywords:["true","false"]}},Jr=250,qw=100,Kw={ArrowUp:-1,ArrowDown:1};function Zr(e,t){return(e.localName==="picture"?e.querySelector("img")?.getAttribute("alt"):e.getAttribute("alt"))?.trim()||e.getAttribute("aria-label")?.trim()||e.getAttribute("title")?.trim()||t}function Uw(e,t){let r=e.getAttribute("aria-label")?.trim();if(r)return r;let n=t[0],o=t[1];return n&&o?`Compare: ${Zr(n,"Before")} / ${Zr(o,"After")}`:"Compare"}function lp(e,t,r,n){let o=e.createElement("input");return o.type="range",o.className="kui-compare-range",o.min="0",o.max="100",o.step="1",o.value=String(r),o.setAttribute("aria-label",t.name),o.setAttribute("aria-valuetext",t.valueText),n==="y"&&o.setAttribute("aria-orientation","vertical"),o}function pp(e){let t=e.createElement("span");return t.className="kui-compare-handle",t.setAttribute("aria-hidden","true"),t}function mp(e,t,r){return n=>{let o=Kw[n.key];t!=="y"||o===void 0||(n.preventDefault(),o<0?e.stepDown():e.stepUp(),r())}}function zw(e){return 50-50*Math.cos(Math.PI*e/100)}function Yw(e,t){let r=100/Math.PI*Math.acos(1-e/50);return t?200-r:r}function Xw(e,t){let r=e.timing.durationMs??e.ms("duration",3e3);return r>=Jr?r:(t.warn(`compare duration: minimum is ${Jr}ms; clamped to ${Jr}ms`),Jr)}function dp(e){let{host:t,grab:r,ctx:n,mode:o,loop:i}=e;if(o==="never"||n.reducedMotion)return()=>{};let s=Qw(e,()=>c()),a=null;(o==="in-view"||i)&&(a=Zw(n.win,t,s.setOnscreen));let c=()=>{s.stop(),a?.disconnect(),a=null;for(let u of r)u.removeEventListener("pointerdown",c),u.removeEventListener("focus",c)};for(let u of r)u.addEventListener("pointerdown",c),u.addEventListener("focus",c);return s.setOnscreen(o==="always"||a===null),c}function Jw(e){let{write:t,homes:r,bounds:n,durationMs:o,reverse:i,loop:s}=e,a=r.map((f,d)=>d);i&&a.reverse();let c=2*o,u=c*a.length,l=r.map((f,d)=>{let[g,h]=n[d];return h>g?Yw(100*(f-g)/(h-g),i):0}),p=f=>t(a[f],r[a[f]]),m=0;return{show(f){if(!s&&f>=u)return p(m),!1;let d=f%u,g=Math.floor(d/c);g!==m&&p(m),m=g;let h=a[m],[v,E]=n[h],w=l[h]+100*(d-m*c)/o;return t(h,v+(E-v)*zw(w)/100),!0}}}function Zw(e,t,r){let n=e.IntersectionObserver;if(!n)return null;let o=new n(i=>{for(let s of i)r(s.isIntersecting)});return o.observe(t),o}function Qw(e,t){let r=e.ctx.win,n=Jw(e),o=0,i=null,s=0,a=!1,c=!1,u=()=>{let p=!a&&c;p&&s===0?(i=null,s=r.requestAnimationFrame(l)):!p&&s!==0&&(r.cancelAnimationFrame(s),s=0)};function l(p){s=0,i!==null&&(o+=Math.min(p-i,qw)),i=p,n.show(o)?s=r.requestAnimationFrame(l):t()}return{setOnscreen(p){c=p,u()},stop(){a=!0,u()}}}function ex({el:e,media:t,params:r,ctx:n,axis:o,timing:i}){let s=Math.round(r.num("position",.5)*100),a=j(e);a.set("--kui-compare",r.text("position","50%"));let c=e.ownerDocument,u=lp(c,{name:Uw(e,t),valueText:`${s}% after`},s,o),l=pp(c),p=()=>{let g=u.value;a.set("--kui-compare",`${g}%`),u.setAttribute("aria-valuetext",`${g}% after`)},m=(g,h)=>{u.value=String(Math.round(h)),a.set("--kui-compare",`${Number(h.toFixed(3))}%`),u.setAttribute("aria-valuetext",`${u.value}% after`)},f=mp(u,o,p);u.addEventListener("input",p),u.addEventListener("keydown",f),e.appendChild(u),e.appendChild(l);let d=dp({...i,host:e,grab:[u],ctx:n,write:m,homes:[r.num("position",.5)*100],bounds:[[0,100]]});return()=>{d(),u.removeEventListener("input",p),u.removeEventListener("keydown",f),u.remove(),l.remove(),a.restore()}}var tx=/^(\d+(?:\.\d+)?)%$/;function rx(e,t,r){let n=Array.from({length:t},(u,l)=>Math.round(100*(l+1)/(t+1)));if(e.trim()==="")return n;let o=e.trim().split(/\s+/),i=o.map(u=>tx.exec(u)?.[1]),s=i.map(Number);if(o.length===t&&i.every(u=>u!==void 0)&&s.every((u,l)=>u<=100&&(l===0||u>=s[l-1])))return s.map(Math.round);let c=n.map(u=>String(u)+"%").join(" ");return r(`compare positions: expected ${t} ascending percentages between 0% and 100% for ${t+1} media (e.g. positions:'${c}'); using an even split`),n}function nx({el:e,media:t,params:r,ctx:n,axis:o,timing:i}){r.text("position","50%")!=="50%"&&n.warn(`compare position: sets the one divider of two media; with ${t.length}, use positions:`);let s=rx(r.text("positions",""),t.length-1,n.warn),a=[...s],c=x(e);c.set(up,String(a.length));let u=ix(e,t,o,s),l=ax(e,o,u),p=dp({...i,host:e,grab:[l.node,...u.ranges],ctx:n,write:u.render,homes:a,bounds:a.map((m,f)=>Ho(a,f))});return()=>{p(),l.destroy(),u.destroy(),c.restore()}}function Ho(e,t){return[t>0?e[t-1]:0,t<e.length-1?e[t+1]:100]}function ox(e,t,r){let n=t.length-1,o=e.getAttribute("aria-label")?.trim();if(o)return`${o}: divider ${r+1} of ${n}`;let i=Zr(t[r],`Image ${r+1}`),s=Zr(t[r+1],`Image ${r+2}`);return`Divider ${r+1} of ${n}: ${i} / ${s}`}function ix(e,t,r,n){let o=e.ownerDocument,i=n.length,s=r==="y"?"inset(var(--kui-compare) 0 0 0)":"inset(0 0 0 var(--kui-compare))",a=t.slice(1).map(m=>j(m));for(let m of a)m.set("clip-path",s);let c=[],u=[],l=[],p=(m,f)=>{n[m]=Math.round(f);let d=`${Number(f.toFixed(3))}%`;u[m].style.setProperty("--kui-compare",d),a[m].set("--kui-compare",d),c[m].value=String(n[m]),c[m].setAttribute("aria-valuetext",`${n[m]}%`),m>0&&(c[m-1].max=String(n[m])),m<i-1&&(c[m+1].min=String(n[m]))};for(let m=0;m<i;m++){let f=lp(o,{name:ox(e,t,m),valueText:`${n[m]}%`},n[m],r),d=pp(o);c.push(f),u.push(d),e.append(f,d);let g=()=>p(m,Number(f.value)),h=mp(f,r,g);f.addEventListener("input",g),f.addEventListener("keydown",h),l.push(()=>{f.removeEventListener("input",g),f.removeEventListener("keydown",h)})}for(let m=0;m<i;m++){let[f,d]=Ho(n,m);c[m].min=String(f),c[m].max=String(d),p(m,n[m])}return{ranges:c,render:p,moveTo(m,f){let[d,g]=Ho(n,m);p(m,Math.min(g,Math.max(d,f)))},nearest:m=>sx(n,m),destroy(){for(let m of l)m();for(let m of[...c,...u])m.remove();for(let m of a)m.restore()}}}function sx(e,t){let r=0;for(let n=1;n<e.length;n++){let o=Math.abs(e[n]-t),i=Math.abs(e[r]-t);(o<i||o===i&&t>=e[n])&&(r=n)}return r}function ax(e,t,r){let n=e.ownerDocument.createElement("div");n.className="kui-compare-surface",n.setAttribute("aria-hidden","true"),e.appendChild(n);let o=-1,i=null,s=m=>{let f=e.getBoundingClientRect(),d=t==="y"?m.clientY-f.top:m.clientX-f.left,g=t==="y"?f.height:f.width;return g>0?100*d/g:0},a=m=>{if(m.button>0||i!==null)return;i=m.pointerId;let f=s(m);o=r.nearest(f),m.preventDefault(),n.setPointerCapture?.(m.pointerId),r.ranges[o].focus({preventScroll:!0}),r.moveTo(o,f)},c=m=>{o>=0&&m.pointerId===i&&r.moveTo(o,s(m))},u=m=>{m.pointerId===i&&(o=-1,i=null)},p=[["pointerdown",a],["pointermove",c],["pointerup",u],["pointercancel",u],["lostpointercapture",m=>{m.target===n&&u(m)}]];for(let[m,f]of p)n.addEventListener(m,f);return{node:n,destroy(){for(let[m,f]of p)n.removeEventListener(m,f);n.remove()}}}function cx(e,t,r){let n=Array.from(e.querySelectorAll(":scope > :is(img, picture, video)"));n.length<2&&r.warn("compare requires at least two media children (img, picture, or video)");let o=t.text("axis","x"),i=x(e);i.set(cp,o);let a=(n.length>2?nx:ex)({el:e,media:n,params:t,ctx:r,axis:o,timing:{mode:t.text("autoplay","never"),durationMs:Xw(t,r),reverse:t.is("reverse"),loop:t.is("loop")}});return I(()=>{a(),i.restore()})}var fp=ee("compare",{channels:[D,A(cp),A(up)],parameters:Ww,perfClass:"paint"},R("compare",{honours:["duration"],because:"its only motion is the autoplay: sweep, which starts on autoplay: rather than after a delay and eases into each edge on its own curve"},P(cx))),gp=[{name:"compare",primitive:"compare",requiresOwnSubtree:!0}];var ux=["number","dot"],lx={target:{type:"text",default:"",cssProperty:"--kui-target"},marker:{type:"keyword",default:"number",keywords:[...ux],cssProperty:"--kui-hotspot-marker"},scope:U},px=0,mx=0;function dx(e,t,r){let o=e.querySelector("strong, h1, h2, h3, h4, h5, h6")?.textContent?.trim();return o?r==="number"?`${t+1}: ${o}`:o:`Note ${t+1}`}function fx(e,t){let r=t;if(r.newState!==void 0)return r.newState==="open";try{return e.matches(":popover-open")||e.hasAttribute("open")}catch{return e.hasAttribute("open")}}function gx(e,t,r){let n=t.ownerDocument.defaultView??window,o=8,i=(a,c,u)=>Math.max(o,Math.min(a,Math.max(o,u-c-o))),s=a=>{if(!fx(t,a))return;let c=e.getBoundingClientRect(),u=t.getBoundingClientRect(),l=c.top-u.height-o,p=l>=o?l:c.bottom+o,f=c.left+c.width/2-u.width/2;r.set("position","fixed"),r.set("inset","auto"),r.set("top",`${i(p,u.height,n.innerHeight)}px`),r.set("left",`${i(f,u.width,n.innerWidth)}px`),r.set("translate","0 0"),r.set("margin","0")};return t.addEventListener("toggle",s),()=>t.removeEventListener("toggle",s)}function yx(e,t){let r=`--kui-anchor-${++mx}`;e.set("anchor-name",r),t.set("position-anchor",r),t.set("position-area","top"),t.set("position-try-fallbacks","flip-block")}function hx(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("position-area: top")}function vx(e,t){let r=t.getComputedStyle(e),n=e.style,o=r.getPropertyValue("--kui-x").trim(),i=r.getPropertyValue("--kui-y").trim(),s=o||n.getPropertyValue("--kui-x").trim(),a=i||n.getPropertyValue("--kui-y").trim();return{x:s,y:a}}function bx(e){let t=e.getAttribute("id"),r=t||`kui-hotspot-note-${++px}`,n=x(e);return t||n.set("id",r),n.set("popover","auto"),{noteId:r,noteAttrs:n}}function Ex(e){let{doc:t,noteId:r,label:n,marker:o,index:i,coords:s}=e,a=t.createElement("button");a.type="button",a.className="kui-hotspot",a.setAttribute("aria-label",n),a.setAttribute("popovertarget",r),o==="number"&&(a.textContent=String(i+1));let c=j(a);return s.x&&c.set("--kui-x",s.x),s.y&&c.set("--kui-y",s.y),{button:a,buttonStyle:c}}function Sx(e,t,r){let{el:n,marker:o,ctx:i}=r,s=i.doc.defaultView??window,a=vx(e,s);(!a.x||!a.y)&&i.warn("hotspots note is missing --kui-x or --kui-y position");let{noteId:c,noteAttrs:u}=bx(e),l=dx(e,t,o),{button:p,buttonStyle:m}=Ex({doc:n.ownerDocument,noteId:c,label:l,marker:o,index:t,coords:a}),f=j(e),d;return hx()?yx(m,f):d=gx(p,e,f),{button:p,teardown:()=>{d?.(),f.restore(),u.restore(),m.restore(),p.remove()}}}function Px(e,t,r){let o=t.text("target")||":scope > :is(ol, ul) > li",i=_(o,r,"hotspots"),s=W(t,"self"),a=i?$(e,r,i,s):[],c=t.text("marker","number"),u=x(e);u.set("data-kui-hotspot-marker",c);let l=a.map((p,m)=>Sx(p,m,{el:e,marker:c,ctx:r}));for(let p of l)e.appendChild(p.button);return I(()=>{for(let p of l)p.teardown();u.restore()})}var yp=ee("hotspots",{channels:[D,A("data-kui-hotspot-marker")],parameters:lx,perfClass:"layout"},R("hotspots",{because:"it places interactive hotspot markers and binds popovers; there is no motion to time"},P(Px))),hp=[{name:"hotspots",primitive:"hotspots",requiresOwnSubtree:!0}];var kx="data-kui-slideshow-list",vp="data-kui-slideshow-mode",wx=["auto","dots","arrows","none"],xx={target:{type:"text",default:"",cssProperty:"--kui-target"},scope:U,next:{type:"text",default:"",cssProperty:"--kui-next"},prev:{type:"text",default:"",cssProperty:"--kui-prev"},jump:{type:"text",default:"",cssProperty:"--kui-jump"},controls:{type:"keyword",default:"auto",cssProperty:"--kui-slideshow-controls",keywords:[...wx]},autoplay:{type:"time",default:"0s",cssProperty:"--kui-slideshow-autoplay"},transition:{type:"keyword",default:"fade",cssProperty:"--kui-slideshow-transition",keywords:["fade","slide"]},swipe:{type:"keyword",default:"true",cssProperty:"--kui-slideshow-swipe",keywords:["true","false"]},mute:{type:"text",default:"",cssProperty:"--kui-slideshow-mute"},duration:{type:"time",default:"500ms",cssProperty:"--kui-slideshow-duration"},ease:{type:"easing",default:"ease",cssProperty:"--kui-slideshow-ease"}};function Qr(e,t){let r=e.createElement("button");return r.type="button",r.setAttribute("aria-label",t),r}function Tx(e,t){if(t!=="auto"&&t!=="arrows")return{previous:null,next:null};let r=Qr(e.ownerDocument,"Previous slide"),n=Qr(e.ownerDocument,"Next slide");return e.append(r,n),{previous:r,next:n}}function Ax(e,t,r){return r!=="auto"&&r!=="dots"?[]:t.map((n,o)=>{let i=Qr(e.ownerDocument,`Go to slide ${o+1} of ${t.length}`);return i.className="kui-slideshow-dot",e.appendChild(i),i})}function Cx(e,t,r,n){if(r==="none")return{root:null,pause:null,previous:null,next:null,dots:[]};let o=e.ownerDocument.createElement("div");o.className="kui-slideshow-controls";let i=n?Qr(e.ownerDocument,"Pause slideshow"):null;i&&o.appendChild(i);let{previous:s,next:a}=Tx(o,r),c=Ax(o,t,r),u=t[0]?.parentElement;return u?.parentElement?.isSameNode(e)?u.after(o):e.appendChild(o),{root:o,pause:i,previous:s,next:a,dots:c}}function Rx(e,t,r){let n=x(e);return e.hasAttribute("role")||n.set("role","region"),e.hasAttribute("aria-roledescription")||n.set("aria-roledescription","carousel"),!e.hasAttribute("aria-label")&&!e.hasAttribute("aria-labelledby")&&t.warn("slideshow needs an aria-label or aria-labelledby on its host"),n.set(vp,r),n}function Mx(e,t,r,n){let o=Rx(e,r,n),i=t[0].parentElement,s=x(i);s.set(kx,"");let a=t.map((c,u)=>{let l=x(c);return c.hasAttribute("role")||l.set("role","group"),c.hasAttribute("aria-roledescription")||l.set("aria-roledescription","slide"),c.hasAttribute("aria-label")||l.set("aria-label",`${u+1} of ${t.length}`),l});return{host:o,list:s,slides:a,liveList:i}}function Ix(e,t,r,n){e.forEach((o,i)=>{let s=t[i];i===n?s.remove("inert"):s.set("inert","")}),r.dots.forEach((o,i)=>{i===n?o.setAttribute("aria-current","true"):o.removeAttribute("aria-current"),o.tabIndex=i===n?0:-1})}function Lx(e,t){let r=()=>t.prev(),n=()=>t.next();e.previous?.addEventListener("click",r),e.next?.addEventListener("click",n);let o=e.dots.map((s,a)=>{let c=()=>t.goTo(a);return s.addEventListener("click",c),c}),i=s=>{if(e.dots.includes(s.target)){if(s.key==="ArrowRight")t.next();else if(s.key==="ArrowLeft")t.prev();else return;s.preventDefault(),e.dots[t.current()]?.focus()}};return e.root?.addEventListener("keydown",i),()=>{e.previous?.removeEventListener("click",r),e.next?.removeEventListener("click",n),e.dots.forEach((s,a)=>s.removeEventListener("click",o[a])),e.root?.removeEventListener("keydown",i)}}function Ox(e){let{el:t,params:r,ctx:n,index:o,slides:i}=e,s=()=>{},a=_(r.text("mute"),n,"slideshow mute");if(!a)return{release:s,render:s};let c=$(t,n,a,"self").filter(d=>d.localName==="button");if(c.length===0)return n.warn("slideshow mute: must select a button inside the host"),{release:s,render:s};let u=c.map(d=>x(d)),l=new Map,p=()=>{let d=i[o.current()]?.querySelector("video"),g=d?.localName==="video"&&d.muted;for(let h of u)h.set("aria-pressed",String(g)),h.set("aria-label",g?"Unmute video":"Mute video")},m=()=>{let d=i[o.current()]?.querySelector("video");if(d?.localName!=="video")return;let g=d;l.has(g)||l.set(g,g.muted),g.muted=!g.muted,p()};for(let d of c)d.addEventListener("click",m);return p(),{release:()=>{for(let d of c)d.removeEventListener("click",m);for(let[d,g]of l)d.muted=g;for(let d of u)d.restore()},render:p}}function Nx(e){let{el:t,ctx:r,index:n,controls:o,liveList:i,interval:s}=e,a=x(i);if(s===0)return a.set("aria-live","polite"),()=>a.restore();let c=o.pause,u=x(c),l=r.reducedMotion,p=!1,m=!1,f=null,d=()=>!l&&!p&&!m&&!r.doc.hidden,g=()=>{f!==null&&clearTimeout(f),f=null,a.set("aria-live",d()?"off":"polite"),u.set("aria-pressed",String(l)),u.set("aria-label",l?"Play slideshow":"Pause slideshow"),d()&&(f=setTimeout(()=>{n.next(),g()},s))},h=()=>{p=!0,g()},v=()=>{p=!1,g()},E=()=>{m=!0,g()},w=()=>{m=t.contains(r.doc.activeElement),g()},C=()=>{l=!l,g()};return t.addEventListener("pointerenter",h),t.addEventListener("pointerleave",v),t.addEventListener("focusin",E),t.addEventListener("focusout",w),r.doc.addEventListener("visibilitychange",g),c.addEventListener("click",C),g(),()=>{f!==null&&clearTimeout(f),t.removeEventListener("pointerenter",h),t.removeEventListener("pointerleave",v),t.removeEventListener("focusin",E),t.removeEventListener("focusout",w),r.doc.removeEventListener("visibilitychange",g),c.removeEventListener("click",C),u.restore(),a.restore()}}function _x(e,t,r){let n=e.ms("autoplay",0),o=n>0?Math.max(2e3,n):0;return n>0&&n<2e3&&t.warn("slideshow autoplay: minimum is 2s; clamped to 2s"),r==="none"&&o>0&&t.warn("slideshow autoplay needs a pause control; autoplay is disabled with authored or hidden controls"),r==="none"?0:o}function Dx(e,t){e.timing.durationMs!==void 0&&t.style.set("--kui-slideshow-duration",`${e.timing.durationMs}ms`),e.timing.easing!==void 0&&t.style.set("--kui-slideshow-ease",e.timing.easing)}function $x(e,t,r){return t.text("swipe","true")!=="true"?()=>{}:pe(e,{onSwipe:n=>{n==="left"&&r.next(),n==="right"&&r.prev()}},{axis:"x",capturePointer:"drag"})}function jx(e,t,r){let n=_(t.text("target")||":scope > :is(ul, ol) > li",r,"slideshow"),o=W(t,"self"),i=()=>n?$(e,r,n,o):[],s=i();if(s.length===0)return r.warn("slideshow target matched no slides"),I(()=>{});let a=s[0].parentElement;if(!a||a===e||!e.contains(a)||s.some(w=>w.parentElement!==a))return r.warn("slideshow slides must share one list inside the host"),I(()=>{});let u=["next","prev","jump"].some(w=>t.text(w)!=="")?"none":t.text("controls","auto"),l=_x(t,r,u),p=Mx(e,s,r,t.text("transition","fade")),m=Cx(e,s,u,l>0);Dx(t,r);let f=()=>{},d=Nr({el:e,params:t,ctx:r,resolveSteps:i,name:"slideshow",clickFallback:!1,onRender:w=>{Ix(s,p.slides,m,w),f()}}),g=Lx(m,d),h=$x(e,t,d),v=Ox({el:e,params:t,ctx:r,index:d,slides:s});f=v.render;let E=Nx({el:e,ctx:r,index:d,controls:m,liveList:p.liveList,interval:l});return I(()=>{E(),v.release(),h(),g(),d.release(),m.root?.remove(),p.slides.forEach(w=>w.restore()),p.list.restore(),p.host.restore()})}var bp=ee("slideshow",{channels:[D,A("data-kui-step"),A(vp),A("role"),A("aria-roledescription")],parameters:xx,perfClass:"layout"},R("slideshow",{honours:["duration","ease"],because:"the slideshow has no delayed start"},P(jx))),Ep=[{name:"carousel-fade",primitive:"slideshow",params:{transition:"fade"},requiresOwnSubtree:!0},{name:"carousel-slide",primitive:"slideshow",params:{transition:"slide"},requiresOwnSubtree:!0},{name:"video-hero-slideshow",primitive:"slideshow",params:{transition:"fade",autoplay:"7s",controls:"dots"},requiresOwnSubtree:!0}];var Sp="data-kui-story-side",Hx={target:{type:"text",default:"",cssProperty:"--kui-target"},sections:{type:"text",default:"",cssProperty:"--kui-sections"},"offset-top":{type:"length",default:"50vh",cssProperty:"--kui-offset-top"},side:{type:"keyword",default:"end",cssProperty:"--kui-side",keywords:["start","end"]}};function Pp(e){return e.localName==="video"?e:e.querySelector("video")}function Vx(e){return e.hasAttribute("autoplay")||e.hasAttribute("loop")}function kp(e){let t=e.play();t&&typeof t.catch=="function"&&t.catch(()=>{})}function Fx(e,t,r){e.forEach((n,o)=>{let i=Pp(n);if(i){if(o!==t||r){i.pause();return}Vx(i)&&kp(i)}})}function Gx(e){let t=new Map;for(let r of e){let n=Pp(r);n&&t.set(n,!n.paused)}return t}function Bx(e){for(let[t,r]of e)r?kp(t):t.pause()}function Wx(e,t,r){let n=t.IntersectionObserver;if(!n)return{observed:!1,stop:()=>{}};let o=new n(i=>{let s=i[i.length-1];s&&r(s.isIntersecting)},{threshold:0});return o.observe(e),{observed:!0,stop:()=>o.disconnect()}}function qx(e,t,r){let n=Gx(t),o=0,i=!1,s=!1,a=()=>Fx(t,o,r.reducedMotion||!i),c=Wx(e,r.win,u=>{u!==i&&(i=u,s&&a())});return c.observed||(i=!0),{show(u){o=u,s=!0,a()},restore(){c.stop(),Bx(n)}}}function Kx(e,t,r){let n=_(t.text("target")||":scope > :first-child > *",r,"scroll-story"),o=_(t.text("sections")||":scope > :last-child > *",r,"scroll-story sections"),i=n?$(e,r,n,"self"):[],s=o?$(e,r,o,"self"):[];return{media:i,sections:s}}function Ux(e,t,r){let{media:n,sections:o}=Kx(e,t,r);if(n.length===0)return r.warn("scroll-story target matched no media"),I(()=>{});if(o.length===0)return r.warn("scroll-story sections matched no elements"),I(()=>{});let i=x(e),s=j(e),a=t.text("side","end");i.set(Sp,a);let c=be(()=>[...n,...o],d=>r.warn(`scroll-story ${d}`)),u=qx(e,n,r),l=-1;function p(d){let g=d===-1?0:d;g!==l&&(l=g,i.set("data-kui-step",String(g)),s.set("--kui-step",String(g)),c.mark(g),u.show(g))}p(0);let m=t.text("offset-top","50vh"),f=Fr({el:e,sections:o,ctx:r,offsetTop:m,onChange:d=>p(d)});return I(()=>{f(),u.restore(),c.restore(),i.restore(),s.restore()})}var wp=ee("scroll-story",{channels:[D,A("data-kui-step"),A(Sp)],parameters:Hx,perfClass:"layout"},R("scroll-story",{because:"scroll position"},P(Ux))),xp=[{name:"scroll-story",primitive:"scroll-story",phase:"idle",requiresOwnSubtree:!0}];var zx={rate:{type:"number",default:"0.25",cssProperty:"--kui-slowmo-rate",finite:!0,minimum:.05,maximum:1},controls:{type:"keyword",default:"button",cssProperty:"--kui-slowmo-controls",keywords:["button","none"]}};function Tp(e,t=!1){let r=e.getAnimations;return typeof r=="function"?r.call(e,{subtree:t}):[]}function Yx(e,t){return e.timeline===t.timeline}function Xx(e,t,r){let n=e.playbackRate;Math.abs(Math.abs(n)-r)>1e-9||(e.playbackRate=Math.sign(n)*Math.abs(t))}function Jx(e){let t=new Map;return{slow(r,n){for(let o of r)Yx(o,e)&&(t.has(o)||t.set(o,o.playbackRate),o.playbackRate=Math.sign(o.playbackRate||1)*n)},restore(r){for(let[n,o]of t)Xx(n,o,r);t.clear()}}}function Zx(e,t,r){let n=e.effect;return!n||n.target!==t?!1:(n.pseudoElement??"")===r}function Qx(e){let t=e.target,r=e,n=e.type==="animationstart",o=n?"animationName":"transitionProperty",i=n?r.animationName:r.propertyName,s=r.pseudoElement??"";return Tp(t,!0).filter(a=>Zx(a,t,s)&&a[o]===i)}function eT(e,t){let r=x(e),n=t.num("rate",.25),o=t.text("controls","button"),i=o==="button"?e.ownerDocument.createElement("button"):null,s=o==="none",a=Jx(e.ownerDocument),c=()=>{s?r.set(Qe,String(n)):r.remove(Qe),i&&i.setAttribute("aria-pressed",String(s)),s?a.slow(Tp(e,!0),n):a.restore(n)},u=()=>{s=!s,c()},l=p=>{s&&a.slow(Qx(p),n)};return i&&(i.type="button",i.className="kui-slowmo-toggle",i.textContent=`Slow motion ${n}\xD7`,i.setAttribute("aria-pressed","false"),e.prepend(i),i.addEventListener("click",u)),e.addEventListener("animationstart",l,!0),e.addEventListener("transitionrun",l,!0),s&&c(),I(()=>{e.removeEventListener("animationstart",l,!0),e.removeEventListener("transitionrun",l,!0),i?.removeEventListener("click",u),a.restore(n),r.restore(),i?.remove()})}var Ap=ee("slow-mo",{channels:[D,A(Qe)],parameters:zx,perfClass:"compositor"},R("slow-mo",{because:"it changes playback rate rather than defining an animation timeline"},P(eT))),Cp=[{name:"slow-mo",primitive:"slow-mo"}];var tT=[Bl,sp,fp,yp,bp,wp,Ap],rT=[...Wl,...ap,...gp,...hp,...Ep,...xp,...Cp];function Rp(e){return pu(ip),Fl(e,tT,rT,"Showcase")}function Ue(){let e=new Ce;return co(e),Ju(e),Gu(e),al(e),Bu(e),_u(e),ll(e),xl(e),lu(e),Wu(e),Cu(e),Nl(e),jl(e),Rp(e),e}function Mp(e={}){return new Ge({registry:Ue(),...e})}var nT=Mp,Vo;function oT(e,t={}){return kt(t.registry??(Vo??=Ue()),e,t.notes)}function iT(e,t={}){return pr(t.registry??(Vo??=Ue()),e,t.notes)}function sT(e,t={}){return mr(t.registry??(Vo??=Ue()),e,t.notes)}return Dp(aT);})();
|
|
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);})();
|