tweakit 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/AGENTS.md +163 -0
  2. package/README.md +56 -0
  3. package/THIRD-PARTY-NOTICES.md +1 -0
  4. package/dist/tweaks/{bezier-EH6GR3RN.js → bezier-EIWM4A6M.js} +1 -1
  5. package/dist/tweaks/chunk-JWHF6V72.js +1 -0
  6. package/dist/tweaks/chunk-NB4K6RS2.js +1 -0
  7. package/dist/tweaks/chunk-QPSYEOZS.js +1 -0
  8. package/dist/tweaks/clip-7QEIBTKZ.js +1 -0
  9. package/dist/tweaks/colour-DJHDXBXF.js +1 -0
  10. package/dist/tweaks/core.js +1 -1
  11. package/dist/tweaks/{fold-FNCV4C7P.js → fold-UQORAAPG.js} +1 -1
  12. package/dist/tweaks/{gradient-RKPRTDSQ.js → gradient-IXD2AINY.js} +1 -1
  13. package/dist/tweaks/{heavy-LD64N5S4.js → heavy-KPG2LKVX.js} +1 -1
  14. package/dist/tweaks/image-E7OAWFFK.js +1 -0
  15. package/dist/tweaks/interval-LPI5MWBB.js +1 -0
  16. package/dist/tweaks/markup-ZSBV67SW.js +1 -0
  17. package/dist/tweaks/{monitor-EAU6GD6P.js → monitor-PEBMH5MH.js} +1 -1
  18. package/dist/tweaks/{motion-FUAKWKPW.js → motion-QSDSYDKR.js} +1 -1
  19. package/dist/tweaks/{plot-AMSWXKO7.js → plot-SFD5OPF6.js} +1 -1
  20. package/dist/tweaks/point-PK3CZSBO.js +1 -0
  21. package/dist/tweaks/{shadow-54LEQGQ6.js → shadow-SKTAWRUK.js} +1 -1
  22. package/dist/tweaks/sides-RVC5PQY3.js +1 -0
  23. package/dist/tweaks/{spring-YHAPWWTF.js → spring-QIVBIUPF.js} +1 -1
  24. package/dist/tweaks/{tabs-C45GWZYF.js → tabs-LB5KTQXF.js} +1 -1
  25. package/dist/tweaks.css +1 -1
  26. package/dist/tweaks.js +3 -3
  27. package/dist/types/tweaks/panel.d.ts +20 -1
  28. package/dist/types/tweaks/schema.d.ts +79 -0
  29. package/dist/types/tweaks/types.d.ts +25 -8
  30. package/package.json +3 -2
  31. package/dist/tweaks/chunk-3GZFWFKC.js +0 -1
  32. package/dist/tweaks/chunk-5G6TFQOD.js +0 -1
  33. package/dist/tweaks/chunk-GDMWOXFU.js +0 -1
  34. package/dist/tweaks/colour-G6UZ5HIL.js +0 -1
  35. package/dist/tweaks/image-TFIUSCCY.js +0 -1
  36. package/dist/tweaks/interval-VFQ2O75Q.js +0 -1
  37. package/dist/tweaks/point-UF7RGMGJ.js +0 -1
  38. package/dist/tweaks/sides-WJF2NEGM.js +0 -1
package/dist/tweaks.js CHANGED
@@ -1,4 +1,4 @@
1
1
  /* tweakit — MIT © Ryan Kiley. Toolbar and control icons from Hugeicons (MIT); see THIRD-PARTY-NOTICES.md in the tweakit package. */
2
- var Os=Object.defineProperty;var qn=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(o){throw n=[o],o}};var Ns=(t,e)=>{for(var n in e)Os(t,n,{get:e[n],enumerable:!0})};function cn(t){if(typeof t!="string")return null;let e=t.trim().toLowerCase();if(qo[e])return qo[e];let n=/^cubic-bezier\(([^()]*)\)$/.exec(e);if(!n)return null;let o=n[1].split(",").map(r=>r.trim()?Number(r):NaN);return o.length!==4||!o.every(Number.isFinite)?null:[ln(o[0]),o[1],ln(o[2]),o[3]]}function Yo(t){let e=[];for(let n=0;n<=Wn;n++){let o=n/Wn,r=1-o,s=3*r*r*o,i=3*r*o*o,a=o*o*o;e.push([s*t[0]+i*t[2]+a,ln(s*t[1]+i*t[3]+a)])}return e}function Wo(t,e){if(e=ln(e),!t)return e;let n=Yo(t);for(let o=1;o<n.length;o++)if(e<=n[o][0]){let[r,s]=n[o-1],[i,a]=n[o];return i>r?s+(a-s)*(e-r)/(i-r):a}return 1}function Jn(t){let e=[...t.stops].sort((a,l)=>a.pos-l.pos),n=a=>`${a.color} ${Yn(a.pos)}%`,o=cn(t.easing);if(!o||e.length<2)return e.map(n).join(", ");let r=Yo(o),s=t.interpolation||"oklch",i=[n(e[0])];for(let a=1;a<e.length;a++){let l=e[a-1],h=e[a],c=h.pos-l.pos;if(c>1e-6)for(let u=1;u<Wn;u++){let[d,O]=r[u];i.push(`color-mix(in ${s}, ${l.color}, ${h.color} ${Yn(O)}%) ${Yn(l.pos+c*d)}%`)}i.push(n(h))}return i.join(", ")}function un(t,e="to right"){return`linear-gradient(in ${t.interpolation||"oklch"} ${typeof e=="number"?`${e}deg`:e}, ${Jn(t)})`}var qo,ln,Wn,Un,Yn,dn=qn(()=>{qo=Object.assign(Object.create(null),{ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]}),ln=t=>Math.min(1,Math.max(0,t)),Wn=15;Un=t=>cn(t)?t.trim().toLowerCase():"linear";Yn=t=>+(t*100).toFixed(2)});function Gt(t,e,n,o={}){let r=!1,s=null;n.classList.add("tw-portal"),n.inert=!0,n.addEventListener("pointerdown",C=>e.closest(".tw-panel")?._twEditPointer?.(C),!0),eo(n);let i=0,a=0,l=()=>{oo(e,n,{width:o.width,fallbackH:o.fallbackH,gap:o.gap,align:o.align});let C=e.getBoundingClientRect();i=parseFloat(n.style.left)-C.left,a=parseFloat(n.style.top)-C.top},h=()=>{if(r){if(!t.isConnected)return E();l(),o.onReflow&&o.onReflow()}},c=()=>{if(!r)return;if(!t.isConnected)return E();let C=e.getBoundingClientRect();if(!(C.width||C.height)||C.bottom<0||C.top>window.innerHeight||C.right<0||C.left>window.innerWidth)return E();n.style.left=C.left+i+"px",n.style.top=C.top+a+"px"},u=C=>{!t.contains(C.target)&&!n.contains(C.target)&&E()},d=C=>{C.key==="Escape"&&r&&(E(),e.focus())},O=C=>{if(!r)return;let B=C.relatedTarget;(B?t.contains(B)||n.contains(B):ze)||(E(),B&&!e.closest(".tw-panel")?.contains(B)&&setTimeout(()=>{!r&&document.activeElement===B&&e.focus()},0))};t.addEventListener("focusout",O),n.addEventListener("focusout",O);let L=()=>n.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'),b=()=>ye(n,t),g=C=>{C.every(B=>B.target===n)||b()},f=()=>{pe&&pe!==E&&pe(),pe=E,Qn=e,r=!0,t.classList.add("is-open"),e.setAttribute("aria-expanded","true"),n.inert=!1,document.body.appendChild(n),ye(n,t),window.addEventListener("tw-retheme",b),typeof MutationObserver=="function"&&(s=new MutationObserver(g),s.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),l(),requestAnimationFrame(()=>{if(r&&(n.classList.add("is-open"),o.onOpen&&o.onOpen(),l(),!n.contains(document.activeElement))){let C=o.initialFocus&&o.initialFocus()||L();C&&C.focus({focusVisible:!ze})}}),requestAnimationFrame(function C(){if(r){if(!t.isConnected)return E();requestAnimationFrame(C)}}),setTimeout(()=>{r&&document.addEventListener("pointerdown",u,!0)},0),document.addEventListener("keydown",d),window.addEventListener("scroll",c,!0),window.addEventListener("resize",h)},E=()=>{pe===E&&(pe=null,Qn=null),n.contains(document.activeElement)&&e.focus(),r=!1,t.classList.remove("is-open"),n.classList.remove("is-open"),n.inert=!0,e.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",u,!0),document.removeEventListener("keydown",d),window.removeEventListener("scroll",c,!0),window.removeEventListener("resize",h),window.removeEventListener("tw-retheme",b),s&&(s.disconnect(),s=null),setTimeout(()=>{r||n.remove()},200)};return e.addEventListener("click",()=>{e.disabled||(r?E():f())}),{open:f,close:E,isOpen:()=>r,reflow:h}}function me(t,e,n,o){let r=w("div","tw-seg");r.setAttribute("role","radiogroup"),o&&r.setAttribute("aria-label",o);let s=w("div","tw-seg-pill");r.append(s);let i=t.map(c=>{let u=co("tw-seg-btn",c,d=>h(d));return r.append(u),u}),a=c=>ao(r,s,c),l=()=>{lo(i,e),a(!0)},h=(c,u=!0)=>{c!=null&&!i.some(d=>d._twVal===c)||(e=c,l(),u&&n(c))};return r.addEventListener("keydown",c=>{let u=yn(i,e);if(u<0)return;let d=Ye(c.key,u,i.length);d<0||(c.preventDefault(),h(i[d]._twVal),i[d].focus())}),l(),jt(()=>{a(),r.classList.add("is-ready")}),Vt(r,[[window,"tw-reflow"]],()=>a()),{el:r,set:c=>h(c,!1),get:()=>e}}var pn,R,It,Jo,Uo,re,ve,Se,Ae,fn,fe,mn,se,ie,Ke,to,w,yt,tt,eo,jt,Vt,no,gn,ze,Kt,oo,Ps,$s,Zn,Rs,Fs,ro,bn,so,ye,pe,Qn,Zo,hn,ee,qe,io,_s,ao,wn,Te,yn,lo,co,Ye,$t,ae,Qo,it,Xt,vt=qn(()=>{dn();pn=t=>t.replace(/([a-z])(?=[A-Z])|([A-Z\d])(?=[A-Z][a-z])/g,"$1$2 ").replace(/^./,e=>e.toUpperCase()).trim(),R=(t,e,n)=>Math.min(n,Math.max(e,t)),It=t=>!!t&&typeof t=="object",Jo=t=>typeof t=="string"&&(/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t.trim())||/^(oklch|oklab|rgba?|hsla?|hwb|lab|lch|color)\(/i.test(t.trim())),Uo=20,re=t=>{let e=String(t),n=/e-(\d+)$/i.exec(e);if(n)return Math.min(Uo,Number(n[1])+(e.split("e")[0].split(".")[1]||"").length);let o=e.indexOf(".");return o===-1?0:Math.min(Uo,e.length-o-1)},ve=(t,e,n)=>{if(!(n>0))return t;let o=re(n),r=Number((+e).toFixed(o)),s=Math.round((t-r)/n);return Number.isFinite(s)?Number((r+s*n).toFixed(o)):t},Se=(t,e,n,o=t)=>{let r=a=>ve(a,o,n),s=Number.isFinite(t)?r(t):-1/0,i=Number.isFinite(e)?r(e):1/0;return s<t&&(s=r(s+n)),i>e&&(i=r(i-n)),s>i?[t,t]:[s,i]},Ae=(t,e)=>{let n=e-t;return n<=1?.01:n<=10?.1:n<=100?1:10},fn=(t,e,n,o=0,r=null)=>{let s=+t,i=+e,a=+n;if(Number.isFinite(s)||(s=o),Number.isFinite(i)||(i=r??s+100),i<s){let l=s;s=i,i=l}return(!(a>0)||a>i-s)&&(a=Ae(s,i)),{min:s,max:i,step:a}},fe=(t,e,n,o,r,s=null)=>{let i=t.shiftKey?10:1;switch(t.key){case"ArrowRight":case"ArrowUp":return e+n*i;case"ArrowLeft":case"ArrowDown":return e-n*i;case"PageUp":return s!=null?e+s:null;case"PageDown":return s!=null?e-s:null;case"Home":return o;case"End":return r}return null},mn=(t,e,n,o,r=0)=>{let s=t.offsetLeft,i=s+t.offsetWidth,a=e.offsetLeft,l=a+e.offsetWidth;return n<i&&n+o>s||n<l+r&&n+o>a-r},se=t=>t>=0?[0,t<=1?1:t*3||100]:[t>=-1?-1:t*3,0],ie=t=>t==null?void 0:typeof t=="object"?t.value:t,Ke=t=>{try{return JSON.stringify(t)}catch{return String(t)}},to=t=>t==null?"":typeof t=="string"?pn(t):typeof t=="object"?t.label??(t.value!==void 0?String(t.value):Ke(t)):String(t),w=(t,e,n)=>{let o=document.createElement(t);return e&&(o.className=e),n!=null&&(o.innerHTML=n),(t=="input"||t=="textarea")&&(o.setAttribute("autocomplete","off"),o.setAttribute("data-1p-ignore",""),o.setAttribute("data-lpignore","true")),o},yt=(t,e)=>{let n=w("button",t,e);return n.type="button",n},tt=(t,e,n)=>{let o=w(t,e);return o.textContent=n,t==="button"&&(o.type="button"),o},eo=t=>["pointerdown","pointermove","pointerup","click"].forEach(e=>t.addEventListener(e,n=>n.stopPropagation())),jt=t=>{requestAnimationFrame(t),document.fonts&&document.fonts.ready&&document.fonts.ready.then(t)},Vt=(t,e,n)=>{let o=t.isConnected;o||requestAnimationFrame(()=>{t.isConnected&&(o=!0)});let r=i=>{if(!t.isConnected){(o||t.closest("[data-tw-destroyed]"))&&s();return}o=!0,n(i)},s=()=>e.forEach(([i,a])=>i.removeEventListener(a,r));return e.forEach(([i,a])=>i.addEventListener(a,r)),s},no=()=>requestAnimationFrame(()=>window.dispatchEvent(new Event("tw-reflow"))),gn=(t,e)=>{t.addEventListener("pointerenter",()=>{t.classList.add("is-hover"),e&&e()}),t.addEventListener("pointerleave",()=>t.classList.remove("is-hover"))},ze=!1;typeof document<"u"&&(document.addEventListener("pointerdown",()=>{ze=!0},!0),document.addEventListener("keydown",()=>{ze=!1},!0));Kt=t=>{t.addEventListener("focus",()=>t.classList.toggle("tw-focus-quiet",ze)),t.addEventListener("blur",()=>t.classList.remove("tw-focus-quiet"))},oo=(t,e,{width:n,fallbackH:o=300,gap:r=6,align:s="start",prefer:i="below"}={})=>{let a=t.getBoundingClientRect();n==="match"&&(e.style.width=a.width+"px");let l=n==="match"?a.width:e.offsetWidth||n||0,h=s==="end"?a.right-l:s==="center"?a.left+a.width/2-l/2:a.left;e.style.left=Math.max(8,Math.min(h,window.innerWidth-l-8))+"px";let c=e.offsetHeight||o,u=window.innerHeight-a.bottom,d=a.top,O=c+12,L=u>=O,b=d>=O,f=(i==="above"?b||!L&&d>=u:!L&&(b||d>u))?a.top-c-r:a.bottom+r;e.style.top=R(f,r,window.innerHeight-c-r)+"px"},Ps=Object.assign(Object.create(null),{accent:"--tw-accent",onAccent:"--tw-on-accent",base:"--tw-base",dropdownBg:"--tw-dropdown-bg",surface:"--tw-surface",surfaceHover:"--tw-surface-hover",surfaceActive:"--tw-surface-active",border:"--tw-border",borderHover:"--tw-border-hover",selection:"--tw-selection",title:"--tw-text-root",section:"--tw-text-section",text:"--tw-text-primary",label:"--tw-text-label",textMuted:"--tw-text-secondary",textFaint:"--tw-text-tertiary",focus:"--tw-text-focus",success:"--tw-success",danger:"--tw-danger",shadow:"--tw-shadow-dropdown",shadowPanel:"--tw-shadow-panel",shadowPanelLifted:"--tw-shadow-panel-lifted",font:"--tw-font-sans",fontMono:"--tw-font-mono",radius:"--tw-radius",density:"--tw-row-height",width:"--tw-width"}),$s=new Set(["radius","density","width"]),Zn=t=>(t/=255,t<=.03928?t/12.92:((t+.055)/1.055)**2.4),Rs=t=>{t=String(t).trim();let e=/^#([0-9a-f]{3})$/i.exec(t);if(e)return e[1].split("").map(n=>parseInt(n+n,16));if(e=/^#([0-9a-f]{6})$/i.exec(t),e)return[0,2,4].map(n=>parseInt(e[1].slice(n,n+2),16));if(e=/^rgba?\(([^)]+)\)/i.exec(t),e){let n=e[1].split(/[\s,/]+/).filter(Boolean).map(parseFloat);return[n[0],n[1],n[2]]}return null},Fs=t=>{let e=Rs(t);if(!e||e.some(o=>!Number.isFinite(o)))return"#ffffff";let n=.2126*Zn(e[0])+.7152*Zn(e[1])+.0722*Zn(e[2]);return 1.05/(n+.05)>=(n+.05)/.0571?"#ffffff":"#161616"},ro=t=>{if(!t||typeof t!="object")return null;let e={};for(let[n,o]of Object.entries(t)){if(n.startsWith("--")){e[n]=String(o);continue}let r=Ps[n];r&&(e[r]=$s.has(n)&&typeof o=="number"?`${o}px`:String(o))}return e["--tw-accent"]&&!e["--tw-on-accent"]&&(e["--tw-on-accent"]=Fs(e["--tw-accent"])),Object.keys(e).length?e:null},bn=(t,e)=>{if(t){if(t._twAppliedVars)for(let n of t._twAppliedVars)t.style.removeProperty(n);if(t._twAppliedVars=e?Object.keys(e):null,e)for(let n in e)t.style.setProperty(n,e[n])}},so=(t,e)=>{let n=e?.closest('[data-tw-scheme="light"]')?"light":e?.closest('[data-tw-scheme="dark"]')?"dark":null;n?t.setAttribute("data-tw-scheme",n):t.removeAttribute("data-tw-scheme")},ye=(t,e)=>{bn(t,e?.closest(".tw-panel")?._twTheme),so(t,e)},pe=null,Qn=null,Zo=t=>{pe&&(!t||t.contains(Qn))&&pe()};hn=(t,e)=>{if(t=t.toLowerCase(),t.includes(e))return!0;if(e.length<3)return!1;let n=e.length,o=t.length,r=new Array(o+1).fill(0);for(let s=1;s<=n;s++){let i=[s];for(let a=1;a<=o;a++)i[a]=Math.min(r[a]+1,i[a-1]+1,r[a-1]+(e[s-1]===t[a-1]?0:1));r=i}return Math.min(...r)<=(e.length<6?1:2)},ee=typeof matchMedia=="function"?matchMedia("(prefers-reduced-motion: reduce)"):{matches:!1},qe="cubic-bezier(0.22, 1, 0.36, 1)",io="cubic-bezier(0.34, 1.2, 0.64, 1)",_s=(t,e)=>{ee.matches||typeof t.animate!="function"||(t.style.transformOrigin=e>0?"left center":"right center",t.animate([{transform:"scaleX(1)"},{transform:"scaleX(1.18)"},{transform:"scaleX(1)"}],{duration:300,easing:qe}))},ao=(t,e,n)=>{let o=t.querySelector('[data-active="true"]');if(!o)return;let r=o.offsetLeft,s=o.offsetWidth,i=parseFloat(e.style.left);e.style.left=r+"px",e.style.width=s+"px",n&&Number.isFinite(i)&&i!==r&&_s(e,r>i?1:-1)},wn=(t,e)=>{t.classList.toggle("is-disabled",e);for(let n of t.children)n.classList.contains("tw-portal")||(n.inert=e)},Te=(t,e,n,o)=>{t.classList.toggle("is-collapsed",o),e.setAttribute("aria-expanded",String(!o)),n.inert=o},yn=(t,e)=>{let n=t.findIndex(o=>o.dataset.value===String(e));return n<0&&t.length?0:n},lo=(t,e)=>{let n=yn(t,e);t.forEach((o,r)=>{let s=o.dataset.value===String(e);o.dataset.active=String(s),o.setAttribute("aria-checked",String(s)),o.tabIndex=r===n?0:-1})},co=(t,e,n)=>{let o=tt("button",t,to(e));return o.setAttribute("role","radio"),o._twVal=ie(e),o.dataset.value=o._twVal,o.addEventListener("click",()=>n(o._twVal)),o},Ye=(t,e,n,o=0)=>{switch(t){case"ArrowRight":return(e+1)%n;case"ArrowLeft":return(e-1+n)%n;case"ArrowDown":return o<0?-1:o?e+o<n?e+o:e:(e+1)%n;case"ArrowUp":return o<0?-1:o?e-o>=0?e-o:e:(e-1+n)%n;case"Home":return 0;case"End":return n-1}return-1};$t=(t,e="",n=2,o=24)=>`<svg${e?` class="${e}"`:""} viewBox="0 0 ${o} ${o}" fill="none" stroke="currentColor" stroke-width="${n}" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${t}</svg>`,ae=(t,e)=>({el:t,set:()=>{},get:()=>{},destroy:e}),Qo={},it=(t,e)=>{Qo[t]=e},Xt=t=>Qo[t]});var Ms={};Ns(Ms,{fold:()=>la});var la,Es=qn(()=>{vt();la=(t,e)=>{let n=getComputedStyle(t),o=t._fold?.playState=="running"&&{marginBottom:n.marginBottom,clipPath:n.clipPath,opacity:n.opacity};t._fold?.cancel(),t.classList.remove("tw-cond-hidden");let r=!ee.matches&&t.animate&&t.offsetHeight;if(t.classList.toggle("tw-cond-hidden",e),r)try{let s=r+6+parseFloat(n.marginTop),i=r+"px",a={height:i,marginBottom:-s+"px",clipPath:`inset(0 0 ${s}px)`,opacity:0},l={height:i,clipPath:"inset(0)"};(t._fold=t.animate([o||(e?l:a),e?a:l],{duration:350,easing:n.getPropertyValue("--tw-ease-fold").trim()})).onfinish=()=>t.classList.toggle("tw-cond-hidden",e),t.classList.remove("tw-cond-hidden")}catch{}}});vt();var Hs="http://www.w3.org/2000/svg",St=(t,e)=>{let n=document.createElementNS(Hs,t);return e&&n.setAttribute("class",e),n},tr=(t,e)=>getComputedStyle(t).getPropertyValue(e).trim(),vn=t=>{let e=getComputedStyle(t),n=o=>e.getPropertyValue(o).trim();return n("--tw-accent")||n("--tw-text-primary")||"#fff"},er=t=>{let e=!1;t.addEventListener("pointerdown",n=>{e=n.button===0&&document.activeElement!==t}),t.addEventListener("focus",()=>t.select()),t.addEventListener("mouseup",n=>{e&&(e=!1,n.button===0&&document.activeElement===t&&t.selectionStart===0&&t.selectionEnd===t.value.length&&n.preventDefault())})};function ne(t,{onDown:e,onMove:n,onEnd:o}={}){let r=null,s=i=>{r===null||i.pointerId!==r||(r=null,o&&o(i))};t.addEventListener("pointerdown",i=>{if(!(i.button!==0||r!==null)){r=i.pointerId;try{t.setPointerCapture(i.pointerId)}catch{}e&&e(i)}}),t.addEventListener("pointermove",i=>{if(i.pointerId===r){if(i.buttons===0)return s(i);n&&n(i)}}),t.addEventListener("pointerup",s),t.addEventListener("pointercancel",s),t.addEventListener("lostpointercapture",s)}var Oe=(t,e)=>ne(t,{onDown:n=>{t.classList.add("is-grabbing"),e(n)},onMove:e,onEnd:()=>t.classList.remove("is-grabbing")}),Ne=(t,e)=>{let n=e.getBoundingClientRect();return[R((t.clientX-n.left)/n.width,0,1),R((t.clientY-n.top)/n.height,0,1)]},nr=(t,e,n=1/0)=>{let o=t.getBoundingClientRect(),r=Math.min(window.devicePixelRatio||1,n);return t.width=o.width*r,t.height=o.height*r,e.setTransform(r,0,0,r,0,0),[o.width,o.height]},qt=(t,e)=>{let n=w("div",t),o=yt("tw-trigger");o.setAttribute("aria-expanded","false");let r=w("span","tw-trigger-right");return o.append(tt("span","tw-trigger-label",e),r),n.append(o),{root:n,trigger:o,right:r}},Ds=$t('<path d="M6 4v8M10 4v8"/>',"",1.5,16);function Is(){let t=null,e=0,n=0,o=0;return{show(r,s,i,a){t=w("div","tw-grab-guide tw-portal"),t.innerHTML='<span class="tw-grab-line"></span><span class="tw-grab-dot"></span><span class="tw-grab-arrow"></span><span class="tw-grab-bubble"></span>',e=s,n=r,o=i??r,t.children[1].style.cssText=`left:${r}px;top:${e}px`,ye(t,a),document.body.appendChild(t)},move(r,s){t&&(t.children[0].style.cssText=`left:${Math.min(n,r)}px;top:${e}px;width:${Math.abs(r-n)}px`,t.children[2].style.cssText=`left:${r}px;top:${e}px;transform:translate(-50%,-50%) scaleX(${r>=n?1:-1})`,t.children[3].style.cssText=`left:${o}px;top:${e-16}px`,t.children[3].textContent=s)},hide(){t&&(t.remove(),t=null)}}}function js(t,e,n,o,r,s){let i=0,a=0,l=1,h=Is();ne(t,{onDown:c=>{c.preventDefault(),i=c.clientX,a=o(),l=1,t.classList.add("is-dragging");let u=e.getBoundingClientRect();h.show(c.clientX,u.top+u.height/2,u.left+u.width/2,e),h.move(c.clientX,s())},onMove:c=>{let u=c.shiftKey?10:c.altKey?.1:1;u!==l&&(l=u,i=c.clientX,a=o()),r(a+(c.clientX-i)*n*u),h.move(c.clientX,s())},onEnd:()=>{t.classList.remove("is-dragging"),h.hide()}})}function Nt(t,e){let n=Number.isFinite(+t.step)&&+t.step>0?+t.step:1,o=f=>f==null?NaN:+f,r=o(t.min),s=o(t.max);if(Number.isFinite(r)&&Number.isFinite(s)&&s<r){let f=r;r=s,s=f}let i=Number.isFinite(r)?r:0,a=re(n),[l,h]=Se(Number.isFinite(r)?r:-1/0,Number.isFinite(s)?s:1/0,n,i),c=f=>{let E=ve(f,i,n);return t.soft?E:R(E,l,h)},u=c(Number.isFinite(+t.value)?+t.value:0),d=w("div",t.row?"tw-row":"tw-field"),O=w("div","tw-num-wrap"),L=w("span","tw-num-grab",Ds);L.setAttribute("aria-hidden","true"),L.title="Drag to adjust";let b=w("input","tw-num");b.type="text",b.inputMode="decimal",b.setAttribute("aria-label",t.unit?`${t.label} (${t.unit})`:t.label),b.value=u.toFixed(a),Kt(b),O.append(L,b),t.unit&&O.append(tt("span","tw-num-unit",t.unit)),d.append(tt("span",t.row?"tw-row-label":"tw-field-label",t.label),O);let g=(f,E=!0)=>{f=+f,Number.isFinite(f)&&(u=c(f),b.value=u.toFixed(a),E&&e&&e(u))};return b.addEventListener("change",()=>{let f=parseFloat(b.value);g(isNaN(f)?u:f)}),b.addEventListener("keydown",f=>{if(f.key==="Enter")return b.blur();let E=f.key==="ArrowUp"?1:f.key==="ArrowDown"?-1:0;if(!E)return;f.preventDefault();let C=parseFloat(b.value);g((isNaN(C)?u:C)+E*n*(f.shiftKey?10:1))}),js(L,O,n,()=>u,g,()=>b.value),{el:d,set:f=>g(f,!1),get:()=>u}}it("number",(t,e)=>Nt({...t,row:!0},e));var Bs=(t,e,n)=>{let o=Math.sqrt(t/n),r=e/(2*Math.sqrt(t*n));return Math.min(2.2,9/Math.max(r*o,.5))};function We(t,e,n,o=64,r=Bs(t,e,n)){let s=Math.sqrt(t/n),i=e/(2*Math.sqrt(t*n)),a=[];for(let l=0;l<o;l++){let h=l/(o-1)*r,c;if(i<1-1e-4){let u=s*Math.sqrt(1-i*i);c=1-Math.exp(-i*s*h)*(Math.cos(u*h)+i*s/u*Math.sin(u*h))}else if(i<=1+1e-4)c=1-Math.exp(-s*h)*(1+s*h);else{let u=Math.sqrt(i*i-1),d=s*(i+u),O=s*(i-u);c=1-(d*Math.exp(-O*h)-O*Math.exp(-d*h))/(d-O)}a.push(c)}return a}vt();var Vs=180/Math.PI,fo=Math.PI/180,oe=(t,e)=>[t[0][0]*e[0]+t[0][1]*e[1]+t[0][2]*e[2],t[1][0]*e[0]+t[1][1]*e[1]+t[1][2]*e[2],t[2][0]*e[0]+t[2][1]*e[1]+t[2][2]*e[2]],Gs=(t,e)=>{let n=[[0,0,0],[0,0,0],[0,0,0]];for(let o=0;o<3;o++)for(let r=0;r<3;r++)n[o][r]=t[o][0]*e[0][r]+t[o][1]*e[1][r]+t[o][2]*e[2][r];return n},Et=t=>Number.isFinite(t)?t:0,Xs=(t,e,n)=>Math.min(n,Math.max(e,t)),xn=t=>{let e=Math.abs(t);return e<=.04045?t/12.92:Math.sign(t)*((e+.055)/1.055)**2.4},Ue=t=>{let e=Math.abs(t);return e<=.0031308?t*12.92:Math.sign(t)*(1.055*e**(1/2.4)-.055)},kn=1.09929682680944,pr=.018053968510807,zs=t=>{let e=Math.abs(t);return e<pr*4.5?t/4.5:Math.sign(t)*((e+kn-1)/kn)**(1/.45)},fr=t=>{let e=Math.abs(t);return e<pr?t*4.5:Math.sign(t)*(kn*e**.45-(kn-1))},mr=1/512,Ks=t=>{let e=Math.abs(t);return e<=mr*16?t/16:Math.sign(t)*e**1.8},qs=t=>{let e=Math.abs(t);return e>=mr?Math.sign(t)*e**(1/1.8):16*t},uo=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Mn=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],Ys=[[.4865709486482162,.26566769316909306,.19821728523436247],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],gr=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],Ws=[[.6369580483012914,.14461690358620832,.16888097516417205],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],br=[[1.7166511879712674,-.35567078377639233,-.25336628137365974],[-.6666843518324892,1.6164812366349395,.01576854581391113],[.017639857445310783,-.042770613257808524,.9421031212354738]],Us=[[.7977604896723027,.13518583717574031,.0313493495815248],[.2880711282292934,.7118432178101014,8565396060525902e-20],[0,0,.8251046025104601]],Js=[[1.3457989731028281,-.25558010007997534,-.05110628506753401],[-.5446224939028347,1.5082327413132781,.02053603239147973],[0,0,1.2119675456389454]],hr=[[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],wr=[[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],Zs=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],yr=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Qs=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],vr=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],En=216/24389,Je=24389/27,Re=[.3457/.3585,1,(1-.3457-.3585)/.3585],Pe=(t,e,n)=>oe(n,[e(t[0]),e(t[1]),e(t[2])]),$e=(t,e,n)=>{let o=oe(n,t);return[e(o[0]),e(o[1]),e(o[2])]},or=t=>{let e=oe(vr,t);return oe(yr,[e[0]**3,e[1]**3,e[2]**3])},rr=t=>{let e=oe(Zs,t);return oe(Qs,[Math.cbrt(e[0]),Math.cbrt(e[1]),Math.cbrt(e[2])])};function sr(t){let[e,n,o]=t,r=(e+16)/116,s=n/500+r,i=r-o/200,a=s**3>En?s**3:(116*s-16)/Je,l=e>Je*En?r**3:e/Je,h=i**3>En?i**3:(116*i-16)/Je;return oe(wr,[a*Re[0],l*Re[1],h*Re[2]])}function ir(t){let e=oe(hr,t),n=i=>i>En?Math.cbrt(i):(Je*i+16)/116,o=n(e[0]/Re[0]),r=n(e[1]/Re[1]),s=n(e[2]/Re[2]);return[116*r-16,500*(o-r),200*(r-s)]}var Cn=t=>{let e=Math.hypot(t[1],t[2]),n=Math.atan2(t[2],t[1])*Vs;return n<0&&(n+=360),[t[0],e,n]},Ln=t=>[t[0],t[1]*Math.cos(t[2]*fo),t[1]*Math.sin(t[2]*fo)];function xr(t){let e=((Number.isNaN(t[0])?0:t[0])%360+360)%360,n=t[1]/100,o=t[2]/100,r=s=>{let i=(s+e/30)%12,a=n*Math.min(o,1-o);return o-a*Math.max(-1,Math.min(i-3,9-i,1))};return[r(0),r(8),r(4)]}function Mr(t){let e=Math.max(...t),n=Math.min(...t),o=e-n;if(o<1e-9)return NaN;let r;return e===t[0]?r=(t[1]-t[2])/o+(t[1]<t[2]?6:0):e===t[1]?r=(t[2]-t[0])/o+2:r=(t[0]-t[1])/o+4,r*60}function ti(t){let e=Math.max(...t),n=Math.min(...t),o=(n+e)/2,r=Mr(t),s=e===n||o===0||o===1?0:(e-o)/Math.min(o,1-o);return s<0&&(r+=180,s=-s),r>=360&&(r-=360),[r,s*100,o*100]}function ei(t){let e=t[1]/100,n=t[2]/100;if(e+n>=1){let s=e/(e+n);return[s,s,s]}let o=xr([t[0],100,50]),r=1-e-n;return[o[0]*r+e,o[1]*r+e,o[2]*r+e]}var ni=t=>[Mr(t),Math.min(...t)*100,(1-Math.max(...t))*100];function oi(t,e){switch(e){case"srgb":return Pe(t,xn,uo);case"p3":return Pe(t,xn,Ys);case"rec2020":return Pe(t,zs,Ws);case"prophoto-rgb":return oe(wr,Pe(t,Ks,Us));case"oklab":return or(t);case"oklch":return or(Ln(t));case"lab":return sr(t);case"lch":return sr(Ln(t));case"hsl":return Pe(xr(t),xn,uo);case"hwb":return Pe(ei(t),xn,uo)}}function ri(t,e){switch(e){case"srgb":return $e(t,Ue,Mn);case"p3":return $e(t,Ue,gr);case"rec2020":return $e(t,fr,br);case"prophoto-rgb":return $e(oe(hr,t),qs,Js);case"oklab":return rr(t);case"oklch":return Cn(rr(t));case"lab":return ir(t);case"lch":return Cn(ir(t));case"hsl":return ti($e(t,Ue,Mn));case"hwb":return ni($e(t,Ue,Mn))}}function At(t,e,n){return e===n?[t[0],t[1],t[2]]:e==="oklch"&&n==="oklab"?Ln(t):e==="oklab"&&n==="oklch"?Cn(t):e==="lch"&&n==="lab"?Ln(t):e==="lab"&&n==="lch"?Cn(t):ri(oi(t,e),n)}var Sn=75e-6,Er=t=>t.every(e=>e>=-Sn&&e<=1+Sn),mo=(t,e)=>Er(At(t,"oklch",e)),po=t=>t.map(e=>Math.min(1,Math.max(0,e))),ar=(t,e)=>Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2]);function An(t,e){if(mo(t,e))return At(t,"oklch",e);let n=t[0];if(n>=1)return[1,1,1];if(n<=0)return[0,0,0];if(!Number.isFinite(t[1]))return po(At([n,0,Et(t[2])],"oklch",e));let o=.02,r=1e-4,s=[t[0],t[1],t[2]],i=0,a=t[1],l=!0,h=po(At(s,"oklch",e));if(ar(At(h,e,"oklab"),At(t,"oklch","oklab"))<o)return h;for(;a-i>r;){let c=(i+a)/2;s[1]=c;let u=At(s,"oklch",e);if(l&&Er(u)){i=c;continue}h=po(u);let d=ar(At(h,e,"oklab"),At(s,"oklch","oklab"));if(d<o){if(o-d<r)return h;l=!1,i=c}else a=c}return h}var kr=(t,e)=>{let n=t*fo,o=Math.cos(n),r=Math.sin(n),s=vr.map(a=>o*a[1]+r*a[2]),i=Gs(e==="p3"?gr:e==="rec2020"?br:Mn,yr);return{d:s,F:i,gam:e==="rec2020"?fr:Ue}};function Tn(t,e){let{d:[n,o,r],F:s,gam:i}=kr(t,e),a=-Sn,l=1+Sn;return(h,c)=>{let u=h+c*n,d=h+c*o,O=h+c*r,L=u**3,b=d**3,g=O**3,f=i(s[0][0]*L+s[0][1]*b+s[0][2]*g);if(f<a||f>l)return!1;let E=i(s[1][0]*L+s[1][1]*b+s[1][2]*g);if(E<a||E>l)return!1;let C=i(s[2][0]*L+s[2][1]*b+s[2][2]*g);return C>=a&&C<=l}}function Cr(t,e){let{d:[n,o,r],F:s,gam:i}=kr(t,e);return(a,l,h)=>{let c=a+l*n,u=a+l*o,d=a+l*r,O=c**3,L=u**3,b=d**3;h[0]=i(s[0][0]*O+s[0][1]*L+s[0][2]*b),h[1]=i(s[1][0]*O+s[1][1]*L+s[1][2]*b),h[2]=i(s[2][0]*O+s[2][1]*L+s[2][2]*b)}}function On(t,e,n=.5){if(!t(e,0))return 0;let o=0;for(let r=0;r<16;r++){let s=(o+n)/2;t(e,s)?o=s:n=s}return o}var xe=t=>Math.round(Math.min(1,Math.max(0,t))*255).toString(16).padStart(2,"0"),si=t=>`#${xe(t[0])}${xe(t[1])}${xe(t[2])}`,Nn=(t,e,n)=>si(An([t,e,n],"srgb"));function Lr(t){let e=String(t).replace("#","").trim();if(e.length===3&&(e=e.split("").map(o=>o+o).join("")),e.length<6)return[.7,.1,280];let n=[parseInt(e.slice(0,2),16)/255,parseInt(e.slice(2,4),16)/255,parseInt(e.slice(4,6),16)/255];return At(n,"srgb","oklch").map(Et)}var Pn=["hex","srgb","css","hsl","hwb","oklch","oklab","lch","lab","p3","rec2020"],Sr={hex:"HEX",srgb:"RGB",css:"CSS",hsl:"HSL",hwb:"HWB",oklch:"OKLCH",oklab:"OKLab",lch:"LCH",lab:"Lab",p3:"P3",rec2020:"Rec2020"},Ar=["srgb","css","hsl","hwb","hex"],go=t=>!Ar.includes(t),Tr=t=>t==="hex"||t==="css"?"srgb":t,ii=Object.assign(Object.create(null),{hex:"srgb",srgb:"srgb",css:"srgb",hsl:"hsl",hwb:"hwb",oklch:"oklch",oklab:"oklab",lch:"lch",lab:"lab",p3:"display-p3",rec2020:"rec2020"}),Or=t=>ii[t]||"oklch",ai=Object.assign(Object.create(null),{srgb:"srgb",hsl:"hsl",hwb:"hwb",oklch:"oklch",oklab:"oklab",lch:"lch",lab:"lab","display-p3":"p3",rec2020:"rec2020"}),bo=t=>ai[t]||"oklch",$n=.5,Nr=(t,e,n)=>Object.freeze(["R","G","B"].map(o=>Object.freeze({k:o,min:0,max:t,step:e,scale:n}))),lr=Nr(255,1,255),cr=Nr(1,.01,1),Ze={oklch:[{k:"L",min:0,max:100,step:1,scale:100},{k:"C",min:0,max:$n,step:.01,scale:1},{k:"H",min:0,max:360,step:1,scale:1}],oklab:[{k:"L",min:0,max:100,step:1,scale:100},{k:"a",min:-.4,max:.4,step:.01,scale:1},{k:"b",min:-.4,max:.4,step:.01,scale:1}],lch:[{k:"L",min:0,max:100,step:1,scale:1},{k:"C",min:0,max:150,step:1,scale:1},{k:"H",min:0,max:360,step:1,scale:1}],lab:[{k:"L",min:0,max:100,step:1,scale:1},{k:"a",min:-125,max:125,step:1,scale:1},{k:"b",min:-125,max:125,step:1,scale:1}],srgb:lr,css:lr,hsl:[{k:"H",min:0,max:360,step:1,scale:1},{k:"S",min:0,max:100,step:1,scale:1},{k:"L",min:0,max:100,step:1,scale:1}],hwb:[{k:"H",min:0,max:360,step:1,scale:1},{k:"W",min:0,max:100,step:1,scale:1},{k:"B",min:0,max:100,step:1,scale:1}],p3:cr,rec2020:cr},ur=t=>t>=1?0:t>=.1?1:t>=.01?2:3,Pr=(t,e,n)=>e==="oklch"?[t[0],t[1],t[2]]:Ar.includes(n)?e==="srgb"?An(t,"srgb"):At(An(t,"srgb"),"srgb",e):At(t,"oklch",e);function Rn(t,e){let n=Pr(t,Tr(e),e);return Ze[e].map((o,r)=>{let s=Et(n[r])*o.scale;return Xs(Math.abs(s)<.5*o.step?0:s,o.min,o.max)})}function $r(t,e,n,o){let r=Tr(e),s=Pr(t,r,e).map(Et);s[n]=o/Ze[e][n].scale;let i=At(s,r,"oklch");return[Et(i[0]),Et(i[1]),Et(i[2])]}function Rr(t,e){if(!go(e))return"sRGB";let n=An(t,"srgb");return Math.max(...n)<.03||Math.min(...n)>.97||mo(t,"srgb")?"sRGB":mo(t,"p3")?"P3":"wide"}function ho(t,e){if(e==="hex")return Nn(t[0],t[1],t[2]);let n=Ze[e],o=Rn(t,e),r=s=>{let i=o[s].toFixed(ur(n[s].step));return n[s].k==="H"&&+i==360?0 .toFixed(ur(n[s].step)):i};return e==="css"?`${r(0)}, ${r(1)}, ${r(2)}`:e==="oklch"||e==="oklab"||e==="lch"||e==="lab"?`${r(0)}% ${r(1)} ${r(2)}`:e==="hsl"||e==="hwb"?`${r(0)} ${r(1)}% ${r(2)}%`:`${r(0)} ${r(1)} ${r(2)}`}var dr=(t,e)=>e==="hex"?t:e==="srgb"?`rgb(${t})`:e==="css"?`rgba(${t}, 1)`:e==="hsl"?`hsl(${t})`:e==="hwb"?`hwb(${t})`:e==="p3"?`color(display-p3 ${t})`:e==="rec2020"?`color(rec2020 ${t})`:`${e}(${t})`;function Fr(t,e,n){let o=Et(n);if(e==="hex")return Nn(t[0],t[1],t[2])+(o<.999?xe(o):"");let r=ho(t,e);if(o>=.999)return dr(r,e);let s=+o.toFixed(3);return e==="css"?`rgba(${r}, ${s})`:dr(`${r} / ${s}`,e)}var _r=(()=>{try{return document.createElement("canvas").getContext("2d",{colorSpace:"display-p3"})?.getContextAttributes?.().colorSpace==="display-p3"}catch{return!1}})(),wo=_r?{colorSpace:"display-p3"}:{},li=_r?"p3":"srgb",Fn=(t,e)=>{let n=t.length-1,o=Math.max(0,Math.min(n,e*n)),r=Math.floor(o),s=o-r;return t[r]*(1-s)+t[Math.min(r+1,n)]*s},ci=(t,e)=>{let n=Tn(t,e),o=new Float64Array(128);for(let r=0;r<128;r++)o[r]=On(n,r/127);return o},Eo="var(--tw-checker)",ui=Object.assign(Object.create(null),{srgb:"srgb","display-p3":"p3",rec2020:"rec2020","prophoto-rgb":"prophoto-rgb"}),ko=/^(rgba?|hsla?|hwb)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,Co=/^(oklch|oklab|lch|lab|color)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,di=/^(srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65)$/i,_n=/^#?([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,yo,Hr=()=>yo===void 0?yo=document.createElement("canvas").getContext("2d"):yo,pi=/^(#[0-9a-f]{3,8}|[a-z][a-z-]*(?:\([\w\s.,%+\-\/]*\))?)$/i;function Fe(t){if(t=String(t??"").trim(),!pi.test(t))return!1;if(_n.test(t))return!0;if(Co.test(t))return gi(t);if(ko.test(t))return Ir(t)!==null;let e=Hr();return e?["#000","#fff"].some(n=>{e.fillStyle=n;let o=e.fillStyle;return e.fillStyle=t,e.fillStyle!==o}):!0}var Lo="[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?",fi=new RegExp("^"+Lo+"$","i"),mi=new RegExp("^"+Lo+"%$","i"),Dr=new RegExp("^("+Lo+")(deg|grad|rad|turn)$","i"),So=/[ \t\n\r\f]+/,Ao=/^none$/i,vo=t=>t.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g,""),xo=t=>!!t&&!So.test(t),Me=t=>Ao.test(t)?"none":fi.test(t)?"num":mi.test(t)?"pct":Dr.test(t)?"angle":null,Mo=t=>{let e=Dr.exec(t);if(!e)return Et(parseFloat(t));let n=parseFloat(e[1]),o=e[2].toLowerCase();return Et(o==="turn"?n*360:o==="grad"?n*.9:o==="rad"?n*180/Math.PI:n)};function Ir(t){let e=ko.exec(t);if(!e)return null;let n=e[1].toLowerCase().replace(/a$/,""),o=e[2],r,s,i;if(o.includes(",")){if(n==="hwb")return null;let c=o.split(",").map(vo);if(c.length<3||c.length>4||!c.every(xo)||(r=c.slice(0,3),s=c[3],i=r.map(Me),n==="rgb"?!(i.every(u=>u==="num")||i.every(u=>u==="pct")):!((i[0]==="num"||i[0]==="angle")&&i[1]==="pct"&&i[2]==="pct"))||s!==void 0&&Me(s)!=="num"&&Me(s)!=="pct")return null}else{let c=o.split("/");if(c.length>2||(r=c[0].split(So).filter(Boolean),r.length!==3))return null;if(c.length===2){s=vo(c[1]);let u=xo(s)?Me(s):null;if(!u||u==="angle")return null}if(i=r.map(Me),n==="rgb"?!i.every(u=>u&&u!=="angle"):!(i[0]&&i[0]!=="pct"&&i[1]&&i[1]!=="angle"&&i[2]&&i[2]!=="angle"))return null}let a=(c,u)=>Ao.test(c)?0:/%$/.test(c)?parseFloat(c)/100*u:parseFloat(c),l=s===void 0?1:R(a(s,1),0,1);return[n==="rgb"?At([R(a(r[0],255)/255,0,1),R(a(r[1],255)/255,0,1),R(a(r[2],255)/255,0,1)],"srgb","oklch"):At([i[0]==="none"?0:Mo(r[0]),R(a(r[1],100),0,100),R(a(r[2],100),0,100)],n,"oklch"),l]}var gi=t=>{let e=Co.exec(t);if(!e)return!1;let n=e[1].toLowerCase(),o=e[2].split("/");if(o.length>2)return!1;let r=o[0].split(So).filter(Boolean);if(n==="color"&&!di.test(r.shift()||"")||r.length!==3)return!1;let s=n==="lch"||n==="oklch";if(!r.every((i,a)=>{let l=Me(i);return l&&(s&&a===2?l!=="pct":l!=="angle")}))return!1;if(o.length===2){let i=vo(o[1]),a=xo(i)?Me(i):null;if(!a||a==="angle")return!1}return!0};function Ee(t){if(t=String(t??"").trim(),_n.test(t)){let a=t.replace("#",""),l=1;a.length===4?(l=parseInt(a[3]+a[3],16)/255,a=a.slice(0,3)):a.length===8&&(l=parseInt(a.slice(6,8),16)/255,a=a.slice(0,6));let[h,c,u]=Lr("#"+a);return[h,c,u,l]}let e=Co.exec(t);if(e){let a=e[1].toLowerCase(),[l,h]=e[2].split("/").map(g=>g.trim()),c=l.split(/\s+/).filter(Boolean),u=a;if(a==="color"&&(u=ui[(c[0]||"").toLowerCase()],c=c.slice(1),!u))return[.7,.1,280,1];let d=(g,f=1)=>!g||Ao.test(g)?0:Et(parseFloat(g))*(/%$/.test(g)?f:1),O=h?R(d(h,.01),0,1):1,L=a==="lab"?[R(d(c[0]),0,100),d(c[1],1.25),d(c[2],1.25)]:a==="lch"?[R(d(c[0]),0,100),Math.max(0,d(c[1],1.5)),Mo(c[2]||"0")]:a==="color"?[d(c[0],.01),d(c[1],.01),d(c[2],.01)]:a==="oklab"?[R(d(c[0],.01),0,1),d(c[1],.004),d(c[2],.004)]:[R(d(c[0],.01),0,1),Math.max(0,d(c[1],.004)),Mo(c[2]||"0")],b=u==="oklch"?L:At(L,u,"oklch");return[Et(b[0]),R(Et(b[1]),0,$n),(Et(b[2])%360+360)%360,O]}if(ko.test(t)){let a=Ir(t);if(!a)return[0,0,0,1];let[l,h]=a;return[Et(l[0]),R(Et(l[1]),0,$n),(Et(l[2])%360+360)%360,h]}let n=Hr();if(!n)return[0,0,0,1];n.fillStyle="#000",n.fillStyle=t;let o=n.fillStyle;if(_n.test(o))return Ee(o);let r=o.match(/^rgba?\(([^)]*)\)/i),s=((r?r[1]:"").match(/-?[\d.]+(?:e[+-]?\d+)?/gi)||[0,0,0]).map(Number),i=At([s[0]/255,s[1]/255,s[2]/255],"srgb","oklch");return[Et(i[0]),Et(i[1]),Et(i[2]),s[3]!=null?R(Et(s[3]),0,1):1]}function _e(t,e){let[n,o,r,s]=Ee(t.value||"#7c5cff"),i=Pn.includes(t.mode)?t.mode:"oklch",a=NaN,l=null,h=[],c=NaN,u="",d=()=>Fr([n,o,r],i,s),O=w("div","tw-color-body"),L=w("div","tw-wg-area"),b=document.createElement("canvas");b.className="tw-wg-canvas";let g=w("div","tw-wg-thumb");L.append(b,g);let f=w("div","tw-wg-hue"),E=document.createElement("canvas");E.className="tw-wg-hue-canvas";let C=w("div","tw-wg-hue-thumb");f.append(E,C);let B=w("div","tw-wg-alpha"),j=w("div","tw-wg-alpha-grad"),_=w("div","tw-wg-hue-thumb");B.append(j,_),b.setAttribute("aria-hidden","true"),E.setAttribute("aria-hidden","true"),L.tabIndex=0,L.setAttribute("role","group"),L.setAttribute("aria-label","Colour plane: chroma across, lightness up"),f.tabIndex=0,f.setAttribute("role","slider"),f.setAttribute("aria-label","Hue"),f.setAttribute("aria-valuemin","0"),f.setAttribute("aria-valuemax","360"),B.tabIndex=0,B.setAttribute("role","slider"),B.setAttribute("aria-label","Alpha"),B.setAttribute("aria-valuemin","0"),B.setAttribute("aria-valuemax","1");let D=w("div","tw-color-mode-row"),V=w("select","tw-color-mode");V.setAttribute("aria-label","Color mode"),Pn.forEach(H=>{let G=document.createElement("option");G.value=H,G.textContent=Sr[H],V.append(G)}),V.value=i;let W=w("span","tw-color-gamut");D.append(V,W);let P=w("div","tw-color-channels");O.append(L,f,B,D,P);let $=b.getContext("2d",wo),Q=E.getContext("2d"),K=document.createElement("canvas"),U=K.getContext("2d",wo),st=null,A=()=>{let H=L.getBoundingClientRect(),G=Math.round(H.width),dt=Math.round(H.height);if(G<2)return;let ct=window.devicePixelRatio||1,Ct=go(i)?"p3":"srgb",Bt=ci(r,Ct);l=Bt;let Rt=Math.round(G*ct),N=Math.round(dt*ct),et=Math.max(1,Math.round(Rt/4)),pt=Math.max(1,Math.round(N/4));(K.width!==et||K.height!==pt)&&(K.width=et,K.height=pt,st=new ImageData(et,pt,wo));let bt=st.data,ut=pt>1?1/(pt-1):0,Lt=et>1?1/(et-1):0,zt=Cr(r,li),Zt=[0,0,0];for(let _t=0;_t<pt;_t++){let Qt=1-_t*ut,Ve=Fn(Bt,Qt);for(let Ut=0;Ut<et;Ut++){zt(Qt,Ut*Lt*Ve,Zt);let te=(_t*et+Ut)*4;bt[te]=Math.round(R(Zt[0],0,1)*255),bt[te+1]=Math.round(R(Zt[1],0,1)*255),bt[te+2]=Math.round(R(Zt[2],0,1)*255),bt[te+3]=255}}if(U.putImageData(st,0,0),b.width=Rt,b.height=N,$.imageSmoothingEnabled=!0,$.drawImage(K,0,0,Rt,N),Ct!=="srgb"){let _t=(Qt,Ve,Ut,te)=>{let Ge=Tn(r,Qt),de=[];for(let Ht=0;Ht<=100;Ht++){let he=Ht/100,we=Fn(Bt,he);if(we<=0)continue;let rn=On(Ge,he,we);rn<=0||de.push([Math.min(rn/we*Rt,Rt-Ut*ct/2),(1-he)*N])}de.length<2||($.save(),$.strokeStyle=Ve,$.lineWidth=Ut*ct,$.lineJoin=$.lineCap="round",$.setLineDash(te.map(Ht=>Ht*ct)),$.beginPath(),de.forEach((Ht,he)=>he?$.lineTo(Ht[0],Ht[1]):$.moveTo(Ht[0],Ht[1])),$.stroke(),$.restore())};_t("srgb","rgba(255,255,255,0.7)",1.5,[]),_t("p3","rgba(255,255,255,0.4)",1,[3,3])}a=r},F=.7,y=H=>{let G=At([F,On(Tn(H,"srgb"),F),H],"oklch","srgb");return`rgb(${R(G[0]*255,0,255)|0},${R(G[1]*255,0,255)|0},${R(G[2]*255,0,255)|0})`},m=0,S=()=>{let H=f.getBoundingClientRect(),G=Math.max(1,Math.round(H.width)),dt=Math.max(1,Math.round(H.height));if(!(G<2)&&!(G===m&&E.width===G)){m=G,E.width=G,E.height=dt;for(let ct=0;ct<G;ct++)Q.fillStyle=y(ct/(G-1)*360),Q.fillRect(ct,0,1,dt)}},k=()=>{let H=l?Fn(l,n):.4,G=Ct=>`${R(Ct,0,1)*100}%`,dt=(Ct,Bt)=>{let Rt=R(Ct,0,1);return`calc(${Rt*100}% + ${(.5-Rt)*Bt}px)`};g.style.left=G(H>0?o/H:0),g.style.top=G(1-n),C.style.left=dt(r/360,16),_.style.left=dt(s,16),B.setAttribute("aria-valuenow",String(+s.toFixed(2)));let ct=Math.round(r);f.setAttribute("aria-valuenow",String(ct)),f.setAttribute("aria-valuetext",`${ct}\xB0`),L.setAttribute("aria-description",`lightness ${Math.round(n*100)}%, chroma ${+o.toFixed(3)}`),j.style.background=`linear-gradient(to right, oklch(${n} ${o} ${r} / 0), oklch(${n} ${o} ${r}))`,g.style.background=`oklch(${n} ${o} ${r})`,_.style.background=`linear-gradient(oklch(${n} ${o} ${r} / ${s}), oklch(${n} ${o} ${r} / ${s})), var(--tw-dropdown-bg)`,r!==c&&(u=y(r),c=r),C.style.background=u},v=()=>{if(W.textContent=Rr([n,o,r],i),i==="hex"){let H=P.querySelector(".tw-color-chan-input");H&&document.activeElement!==H&&(H.value=Nn(n,o,r)+(s<.999?xe(s):""))}else{let H=Rn([n,o,r],i);h.forEach((G,dt)=>{G.el.contains(document.activeElement)||G.set(H[dt])})}},I=()=>{S(),A(),k()},J=()=>e(d()),T=H=>{H&&r!==a&&A(),k(),v()},Y=H=>{T(H),J()},ot=()=>{if(P.replaceChildren(),h=[],i==="hex"){P.classList.add("tw-color-channels--hex");let H=w("div","tw-color-chan"),G=w("input","tw-color-chan-input");G.type="text",G.spellcheck=!1,G.setAttribute("aria-label","Hex color"),Kt(G),er(G),G.addEventListener("change",()=>{let dt=G.value.trim();_n.test(dt)&&([n,o,r,s]=Ee(dt),Y(!0))}),G.addEventListener("blur",v),G.addEventListener("keydown",dt=>{dt.key==="Enter"&&G.blur()}),H.append(tt("span","tw-color-chan-label","HEX"),G),P.append(H)}else{P.classList.remove("tw-color-channels--hex");let H=Rn([n,o,r],i);Ze[i].forEach((G,dt)=>{let ct=Nt({label:G.k,value:H[dt],min:G.min,max:G.max,step:G.step},Ct=>{[n,o,r]=$r([n,o,r],i,dt,R(Ct,G.min,G.max)),Y(!0)});ct.el.addEventListener("focusout",v),h.push(ct),P.append(ct.el)})}v()},at=H=>l?Fn(l,H):.4,kt=H=>Ne(H,L);Oe(L,H=>{let[G,dt]=kt(H);n=1-dt,o=G*at(n),Y(!1)}),L.addEventListener("keydown",H=>{if(H.key==="Home"||H.key==="End"){H.preventDefault();return}let G=H.shiftKey?10:1,dt=H.key==="ArrowRight"?G:H.key==="ArrowLeft"?-G:0,ct=H.key==="ArrowUp"?G:H.key==="ArrowDown"?-G:H.key==="PageUp"?10:H.key==="PageDown"?-10:0;if(!dt&&!ct)return;H.preventDefault();let Ct=at(n),Bt=R((Ct>0?o/Ct:0)+dt*.01,0,1);n=R(n+ct*.01,0,1),o=Bt*at(n),Y(!1)});let gt=H=>Ne(H,f)[0]*360;Oe(f,H=>{r=gt(H),Y(!0)}),f.addEventListener("keydown",H=>{let G=fe(H,r,1,0,360);G!=null&&(H.preventDefault(),r=R(G,0,360),Y(!0))});let Tt=H=>Ne(H,B)[0];Oe(B,H=>{s=Tt(H),Y(!1)}),B.addEventListener("keydown",H=>{let G=fe(H,s,.01,0,1);G!=null&&(H.preventDefault(),s=R(G,0,1),Y(!1))});let Pt=H=>{i=H,V.value=H,ot(),A(),k()};return V.addEventListener("change",()=>{Pt(V.value),t.onMode&&t.onMode()}),ot(),{el:O,set:H=>{let G=document.activeElement;G&&O.contains(G)&&G.matches("input")&&G.blur(),[n,o,r,s]=Ee(H),T(!0)},get:()=>d(),mode:()=>i,setMode:H=>{H!==i&&Pn.includes(H)&&Pt(H)},reflow:I,swatchCss:()=>`linear-gradient(oklch(${n} ${o} ${r} / ${s}), oklch(${n} ${o} ${r} / ${s})), ${Eo}`,valueText:()=>ho([n,o,r],i)+(s<.999?i==="hex"?xe(s):` / ${+s.toFixed(2)}`:"")}}function bi(t,e){let{root:n,trigger:o,right:r}=qt("tw-color",t.label??"Colour"),s=w("span","tw-trigger-chip tw-color-swatch"),i=w("span","tw-trigger-value");r.append(s,i);let a=w("div","tw-color-pop"),l=()=>{s.style.background=h.swatchCss(),i.textContent=h.valueText()},h=_e({value:t.value,onMode:()=>l()},c=>{l(),e(c)});return a.append(h.el),n.append(a),Gt(n,o,a,{width:240,fallbackH:340,gap:6,onOpen:h.reflow,onReflow:h.reflow}),l(),{el:n,set:c=>{c!=null&&(h.set(c),l())},get:()=>h.get()}}var jr=(t,e,n,o)=>o<.999?`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)} / ${+o.toFixed(3)})`:`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)})`;it("color",bi);it("colorpicker",_e);vt();dn();var hi=$t('<path d="M12 5v14m7-7H5"/>',"",2.5),zr=(t,e)=>t&&!Array.isArray(t)&&typeof t[e]=="string"?t[e]:null,Br=t=>zr(t,"interpolation"),Vr=t=>zr(t,"easing"),Gr=[["linear","Linear"],["ease","Ease"],["ease-in","Ease in"],["ease-out","Ease out"],["ease-in-out","Ease in-out"]];function Xr(t){let e=[{color:"oklch(0.72 0.19 25)",pos:0},{color:"oklch(0.72 0.16 280)",pos:1}],n=Array.isArray(t)?t:t&&Array.isArray(t.stops)?t.stops:null,o=(s,i)=>Fe(s)?{color:String(s).trim(),pos:R(+i||0,0,1)}:null,r=(n||[]).map(s=>Array.isArray(s)?o(s[0],s[1]):s&&typeof s=="object"?o(s.color,s.pos):null).filter(Boolean);return r.length>=2?r:e}function wi(t,e){t.value??(t.value=t.stops);let n=Xr(t.value),o=n[0],r=Un(Vr(t.value)),{root:s,trigger:i,right:a}=qt("tw-gradient",t.label??"Gradient"),l=w("span","tw-trigger-chip tw-gradient-preview");l.setAttribute("role","img"),a.append(l);let h=w("div","tw-color-pop tw-gradient-pop"),c=w("div","tw-gradient-bar-row"),u=w("div","tw-gradient-bar"),d=w("div","tw-gradient-grad"),O=w("div","tw-gradient-rail");u.append(d,O);let L=yt("tw-gradient-add",hi);L.title="Add a stop after the selected one",L.setAttribute("aria-label","Add a colour stop after the selected one"),c.append(u,L);let b=()=>[...n].sort((y,m)=>y.pos-m.pos),g=()=>Or(_.mode()),f=()=>({stops:b().map(y=>({color:y.color,pos:+y.pos.toFixed(4)})),interpolation:g(),easing:r}),E=()=>{let y=un(f());d.style.background=y,l.style.background=`${y}, ${Eo}`},C=()=>{l.setAttribute("aria-label",`${n.length} stop${n.length===1?"":"s"}`)},B=()=>e(f()),j=y=>[...O.children].find(m=>m._stop===y),_=_e({value:o.color,mode:bo(Br(t.value)||"oklch"),onMode:()=>{E(),B()}},y=>{o.color=y,j(o)?.style.setProperty("--stop",y),E(),B()}),D=w("select","tw-color-mode tw-gradient-ease");D.setAttribute("aria-label","Easing between stops"),D.title="How the ramp blends between stops";for(let[y,m]of Gr){let S=document.createElement("option");S.value=y,S.textContent=m,D.append(S)}let V=()=>{let y=D.querySelector("option[data-custom]");Gr.some(([m])=>m===r)?y?.remove():(y||(y=document.createElement("option"),y.dataset.custom="",y.textContent="Custom",D.append(y)),y.value=r),D.value=r};D.addEventListener("change",()=>{r=D.value,V(),E(),B()}),_.el.querySelector(".tw-color-mode").after(D),V(),h.append(c,_.el),s.append(h);let W=y=>y.setAttribute("aria-label",`Colour stop at ${Math.round(y._stop.pos*100)}%${y._stop===o?", selected":""}`),P=()=>{for(let y of O.children)y.dataset.sel=String(y._stop===o),W(y)},$=()=>{O.replaceChildren();for(let y of n){let m=yt("tw-gradient-stop");m._stop=y,m.style.left=y.pos*100+"%",m.style.setProperty("--stop",y.color),m.dataset.sel=String(y===o),W(m),m.addEventListener("focus",()=>Q(y,!1));let S=!1;ne(m,{onDown:k=>{k.preventDefault(),k.stopPropagation(),m.focus({focusVisible:!1}),Q(y,!1),S=!1},onMove:k=>{let v=O.getBoundingClientRect();y.pos=R((k.clientX-v.left)/(v.width||1),0,1),m.style.left=y.pos*100+"%",W(m),E(),B(),S=n.length>2&&(k.clientY<v.top-24||k.clientY>v.bottom+24),m.dataset.removing=String(S)},onEnd:()=>{S?st(y):m.dataset.removing="false"}}),m.addEventListener("dblclick",k=>{k.preventDefault(),st(y)}),m.addEventListener("keydown",k=>{let v=k.key==="ArrowLeft"?-1:k.key==="ArrowRight"?1:0;v&&(k.preventDefault(),y.pos=R(y.pos+v*(k.shiftKey?.1:.01),0,1),m.style.left=y.pos*100+"%",W(m),E(),B())}),O.append(m)}},Q=(y,m)=>{y!==o&&(_.set(y.color),o=y),m?$():P()},K=y=>{let m=O.getBoundingClientRect();return R((y-m.left)/(m.width||1),0,1)},U=y=>{let m=b(),S=m[0],k=m[m.length-1];for(let at=0;at<m.length-1;at++)if(y>=m[at].pos&&y<=m[at+1].pos){S=m[at],k=m[at+1];break}let v=Wo(cn(r),k.pos>S.pos?R((y-S.pos)/(k.pos-S.pos),0,1):0),I=Ee(S.color),J=Ee(k.color),T=at=>at[1]<1e-4,Y=J[2]-I[2];Y>180?Y-=360:Y<-180&&(Y+=360),(T(I)||T(J))&&(Y=0);let ot=(((T(I)&&!T(J)?J[2]:I[2])+Y*v)%360+360)%360;return jr(I[0]+(J[0]-I[0])*v,I[1]+(J[1]-I[1])*v,ot,I[3]+(J[3]-I[3])*v)},st=y=>{if(n.length<=2)return;let m=n.indexOf(y);if(m<0)return;n.splice(m,1);let S=o===y?n[Math.max(0,m-1)]:o;E(),Q(S,!0),C(),B(),j(o)?.focus()},A=y=>{let m={color:U(y),pos:R(y,0,1)};return n.push(m),E(),Q(m,!0),C(),B(),m},F=()=>{let y=b(),m=y.indexOf(o);m<0&&(m=0);let S=m<y.length-1?(y[m].pos+y[m+1].pos)/2:m>0?(y[m-1].pos+y[m].pos)/2:R(y[m].pos+.1,0,1);A(S)};return L.addEventListener("click",y=>{y.stopPropagation(),F()}),u.addEventListener("dblclick",y=>{y.target.closest(".tw-gradient-stop")||(y.preventDefault(),A(K(y.clientX)))}),h.tabIndex=-1,h.addEventListener("keydown",y=>{(y.key==="Delete"||y.key==="Backspace")&&!y.altKey&&!/^(input|textarea|select)$/i.test(y.target.tagName)&&n.length>2&&(y.preventDefault(),st(o))}),Gt(s,i,h,{width:260,fallbackH:392,gap:6,onOpen:_.reflow,onReflow:_.reflow,initialFocus:()=>j(o)}),$(),E(),C(),{el:s,set:y=>{let m=Br(y);m&&_.setMode(bo(m));let S=Vr(y);S!==null&&(r=Un(S),V());let k=Xr(y).sort((v,I)=>v.pos-I.pos);if(k.length===n.length)b().forEach((v,I)=>{v.color=k[I].color,v.pos=k[I].pos;let J=j(v);J&&(J.style.left=v.pos*100+"%",J.style.setProperty("--stop",v.color))});else{let v=o.pos;n=k,o=n.reduce((I,J)=>Math.abs(J.pos-v)<Math.abs(I.pos-v)?J:I,n[0]),$()}E(),C(),_.set(o.color)},get:()=>f()}}it("gradient",wi);vt();var Qe={x:0,y:8,blur:24,spread:0,color:"rgb(0 0 0 / 0.18)"},ge=(t,e)=>t!=null&&t!==""&&Number.isFinite(+t)?+t:e,Yt=t=>String(+t.toFixed(1)),yi=/#[0-9a-f]{3,8}\b|(?:oklch|oklab|rgba?|hsla?|hwb|lab|lch|color)\([^()]*\)/i,vi=/^(-?\d*\.?\d+)(px)?$/,xi=t=>{let e=yi.exec(t);if(!e||!Fe(e[0]))return null;let n=(t.slice(0,e.index)+" "+t.slice(e.index+e[0].length)).trim().split(/\s+/).filter(Boolean),o=n.includes("inset"),r=n.filter(i=>i!=="inset");if(r.length<2||r.length>4||!r.every(i=>vi.test(i)))return null;let s=r.map(i=>+i.replace(/px$/,""));return{inset:o,x:s[0],y:s[1],blur:s[2]??0,spread:s[3]??0,color:e[0]}},Mi=$t('<path d="M18 9s-4.4 6-6 6-6-6-6-6"/>',"tw-shadow-chevron",2.5);function Ei(t,e){let n=k=>typeof k=="string"?xi(k):It(k)?k:null,o=n(t.value??t)||{},r=!!o.inset,s=ge(o.x,Qe.x),i=ge(o.y,Qe.y),a=Math.max(0,ge(o.blur,Qe.blur)),l=ge(o.spread,Qe.spread),{root:h,trigger:c,right:u}=qt("tw-shadow",t.label??"Shadow"),d=w("span","tw-trigger-chip tw-shadow-chip"),O=w("span","tw-shadow-chip-tile");d.append(O);let L=w("span","tw-trigger-value");u.append(d,L);let b=w("div","tw-color-pop tw-shadow-pop"),g=w("div","tw-shadow-stage"),f=w("div","tw-shadow-card");g.append(f);let E=me([{value:"outer",label:"Outer"},{value:"inner",label:"Inner"}],r?"inner":"outer",k=>{k==="inner"!==r&&(r=k==="inner",y(),F())},"Shadow position"),C=w("div","tw-row");C.append(tt("span","tw-row-label","Position"),E.el);let B=w("div","tw-fields tw-shadow-fields"),j=(k,v,I,J)=>{let T=Nt({label:k,value:v(),step:1,min:J,unit:"px"},Y=>{I(Y),y(),F()});return B.append(T.el),T},_=j("X",()=>s,k=>{s=k}),D=j("Y",()=>i,k=>{i=k}),V=j("Blur",()=>a,k=>{a=Math.max(0,k)},0),W=j("Spread",()=>l,k=>{l=k});s=_.get(),i=D.get(),a=V.get(),l=W.get();let P=yt("tw-trigger tw-shadow-color");P.setAttribute("aria-expanded","false");let $=w("span","tw-trigger-chip tw-color-swatch"),Q=w("span","tw-trigger-value"),K=w("span","tw-trigger-right");K.append($,Q),K.insertAdjacentHTML("beforeend",Mi),P.append(tt("span","tw-trigger-label","Colour"),K);let U=_e({value:typeof o.color=="string"&&Fe(o.color)?o.color:Qe.color,onMode:()=>y()},()=>{y(),F()});U.el.hidden=!0,P.addEventListener("click",()=>{let k=U.el.hidden;U.el.hidden=!k,P.setAttribute("aria-expanded",String(k)),m.reflow()}),b.append(g,C,B,P,U.el),h.append(b);let st=k=>`${r?"inset ":""}${Yt(s*k)}px ${Yt(i*k)}px ${Yt(a*k)}px ${Yt(l*k)}px ${U.get()}`,A=()=>({inset:r,x:+Yt(s),y:+Yt(i),blur:+Yt(a),spread:+Yt(l),color:U.get(),css:st(1)}),F=()=>e(A()),y=()=>{f.style.boxShadow=st(1),O.style.boxShadow=st(.3),L.textContent=`${r?"in ":""}${Yt(s)} ${Yt(i)} ${Yt(a)}${l?" "+Yt(l):""}`,$.style.background=U.swatchCss(),Q.textContent=U.valueText()},m=Gt(h,c,b,{width:260,fallbackH:300,gap:6,onOpen:U.reflow,onReflow:U.reflow});return y(),{el:h,set:k=>{let v=n(k);v&&(v.inset!=null&&(r=!!v.inset,E.set(r?"inner":"outer")),v.x!=null&&(_.set(ge(v.x,s)),s=_.get()),v.y!=null&&(D.set(ge(v.y,i)),i=D.get()),v.blur!=null&&(V.set(ge(v.blur,a)),a=V.get()),v.spread!=null&&(W.set(ge(v.spread,l)),l=W.get()),typeof v.color=="string"&&Fe(v.color)&&U.set(v.color),y())},get:A}}it("shadow",Ei);vt();var ki=$t('<path d="M10.5 13.5a4 4 0 0 0 5.6 0l3-3a4 4 0 0 0-5.6-5.6l-1.5 1.5M13.5 10.5a4 4 0 0 0-5.6 0l-3 3a4 4 0 0 0 5.6 5.6l1.5-1.5"/>'),Ci=/^(-?\d*\.?\d+)([a-z%]*)$/i,Kr=t=>t!=null&&t!==""&&Number.isFinite(+t)?+t:null,qr=t=>String(+t.toFixed(2)),Yr=t=>t.length===1?[t[0],t[0],t[0],t[0]]:t.length===2?[t[0],t[1],t[0],t[1]]:t.length===3?[t[0],t[1],t[2],t[1]]:t.slice(0,4),Wr=(t,e)=>{if(typeof t=="number")return Number.isFinite(t)?[t,t,t,t]:null;if(typeof t=="string"){let n=t.trim().split(/\s+/).map(o=>{let r=Ci.exec(o);return r?+r[1]:NaN});return n.length>=1&&n.length<=4&&n.every(Number.isFinite)?Yr(n):null}if(Array.isArray(t)){let n=t.map(Kr);return n.length>=1&&n.length<=4&&n.every(o=>o!==null)?Yr(n):null}if(t&&typeof t=="object"){let n=t,o=e.slice(),r=!1;return["top","right","bottom","left"].forEach((s,i)=>{let a=Kr(n[s]);a!==null&&(o[i]=a,r=!0)}),r?o:null}return null};function Li(t,e){let n=typeof t.unit=="string"&&t.unit.trim()?t.unit.trim():"px",o=!!t.corners,r={step:t.step??1,min:t.min,max:t.max,unit:n},s=Wr(t.value??t,[0,0,0,0])||[0,0,0,0],i=s.every(_=>_===s[0]),a=w("div","tw-sides"),l=Nt({label:t.label,value:s[0],row:!0,...r},_=>{s=[_,_,_,_],C(),E()}),h=yt("tw-sides-link",ki);h.setAttribute("aria-label","Link all sides"),h.title="Same on all sides",h.addEventListener("click",()=>B());let c=w("div","tw-sides-multi"),u=w("div","tw-sides-head"),d=w("span","tw-sides-sum");u.append(tt("span","tw-row-label",t.label),d);let O=w("div","tw-fields"),b=(o?["TL","TR","BR","BL"]:["T","R","B","L"]).map((_,D)=>{let V=Nt({label:_,value:s[D],...r},W=>{s[D]=W,C(),E()});return O.append(V.el),V});c.append(u,O),a.append(l.el,c),s=b.map(_=>_.get());let g=()=>{let[_,D,V,W]=s.map(qr),P=$=>$==="0"?"0":$+n;return(_===V&&D===W?_===D?[_]:[_,D]:D===W?[_,D,V]:[_,D,V,W]).map(P).join(" ")},f=()=>({top:s[0],right:s[1],bottom:s[2],left:s[3],css:g()}),E=()=>e(f()),C=()=>{a.classList.toggle("is-linked",i),h.setAttribute("aria-pressed",String(i)),i?l.el.insertBefore(h,l.el.lastChild):u.append(h),l.set(s[0]),b.forEach((_,D)=>_.set(s[D])),d.textContent=s.map(qr).join(" ")},B=()=>{i=!i,i&&(s=[s[0],s[0],s[0],s[0]]),C(),E(),h.focus()};return C(),{el:a,set:_=>{let D=Wr(_,s);D&&(b.forEach((V,W)=>V.set(D[W])),s=b.map(V=>V.get()),i=s.every(V=>V===s[0]),C())},get:f}}it("sides",Li);vt();function Si(t,e){let n=t.label,o=+(t.value&&t.value[0]),r=+(t.value&&t.value[1]),s=Number.isFinite(o)?o:0,i=Number.isFinite(r)?r:1,[a,l]=[se(s),se(i)],h=S=>S!=null&&S!==""&&Number.isFinite(+S),{min:c,max:u,step:d}=fn(h(t.min)?t.min:Math.min(a[0],l[0]),h(t.max)?t.max:Math.max(a[1],l[1]),t.step,s,i);[c,u]=Se(c,u,d);let O=re(d),L=S=>ve(S,c,d),b=R(L(Number.isFinite(o)?o:c),c,u),g=R(L(Number.isFinite(r)?r:u),c,u);if(b>g){let S=b;b=g,g=S}let f=w("div","tw-slider-wrap"),E=w("div","tw-slider tw-interval"),C=w("div","tw-slider-fill"),B=w("div","tw-slider-handle"),j=w("div","tw-slider-handle"),_=tt("span","tw-slider-label",n),D=w("span","tw-slider-value");E.append(C,B,j,_,D),f.append(E),[["minimum",B],["maximum",j]].forEach(([S,k])=>{k.tabIndex=0,k.setAttribute("role","slider"),k.setAttribute("aria-label",`${n} ${S}`),k.setAttribute("aria-valuemin",String(c)),k.setAttribute("aria-valuemax",String(u))});let V=S=>(S-c)/(u-c||1)*100,W=S=>`clamp(5px, calc(${S}% - 1.5px), calc(100% - 9px))`,P=()=>{let S=V(b),k=V(g);C.style.left=S+"%",C.style.width=Math.max(0,k-S)+"%",B.style.left=W(S),j.style.left=W(k),D.textContent=`${b.toFixed(O)} \u2013 ${g.toFixed(O)}`,B.setAttribute("aria-valuenow",String(b)),j.setAttribute("aria-valuenow",String(g));let v=f.offsetWidth;if(v){_.style.maxWidth=Math.max(0,v-D.offsetWidth-12-8-10)+"px";let I=J=>mn(_,D,J/100*v-1.5,3);B.classList.toggle("is-dodge",I(V(b))),j.classList.toggle("is-dodge",I(V(g)))}};P();let $=()=>e([b,g]),Q=S=>{b=R(Math.min(L(S),g),c,u),P()},K=S=>{g=R(Math.max(L(S),b),c,u),P()},U=null,st=1,A=null,F=S=>{let k=f.offsetWidth||U.width,v=R((S-U.left)/st/k,0,1);return R(c+v*(u-c),c,u)},y=S=>{let k=F(S);A||(A=k<b?"lo":k>g?"hi":Math.abs(k-b)<=Math.abs(k-g)?"lo":"hi"),A==="lo"?Q(k):K(k),$()};ne(E,{onDown:S=>{S.preventDefault(),U=f.getBoundingClientRect(),st=U.width/(f.offsetWidth||U.width),E.classList.add("is-active","is-dragging"),A=null,y(S.clientX),(A==="lo"?B:j).focus({focusVisible:!1})},onMove:S=>y(S.clientX),onEnd:()=>{U=null,A=null,E.classList.remove("is-active","is-dragging")}}),gn(E,P),jt(P),Vt(E,[[window,"resize"],[window,"tw-reflow"]],P);let m=S=>k=>{let v=S==="lo"?fe(k,b,d,c,g):fe(k,g,d,b,u);v!=null&&(k.preventDefault(),S==="lo"?Q(v):K(v),$())};return B.addEventListener("keydown",m("lo")),j.addEventListener("keydown",m("hi")),{el:f,set:S=>{if(Array.isArray(S)){let k=+S[0],v=+S[1];if(!Number.isFinite(k)||!Number.isFinite(v))return;b=R(L(Math.min(k,v)),c,u),g=R(L(Math.max(k,v)),c,u),P()}},get:()=>[b,g]}}it("interval",Si);vt();var Ai=0;function Ti(t){let e=`tw-tabs-${++Ai}`,n=w("div","tw-tabs"),o=w("div","tw-tabs-bar");o.setAttribute("role","tablist");let r=w("div","tw-tabs-pill");o.append(r);let s=w("div","tw-tabs-pages"),i=[],a=t.pages.map((c,u)=>{let d=tt("button","tw-tabs-tab",c.title);d.setAttribute("role","tab"),d.dataset.active=String(u===0),d.setAttribute("aria-selected",String(u===0)),d.tabIndex=u===0?0:-1,d.id=`${e}-tab-${u}`,d.setAttribute("aria-controls",`${e}-page-${u}`);let O=w("div","tw-tabs-page tw-controls");return O.dataset.active=String(u===0),O.setAttribute("role","tabpanel"),O.id=`${e}-page-${u}`,O.setAttribute("aria-labelledby",d.id),i.push(O),s.append(O),d.addEventListener("click",()=>h(u)),o.append(d),d});n.append(o,s);let l=c=>ao(o,r,c);function h(c){a.forEach((u,d)=>{u.dataset.active=String(d===c),u.setAttribute("aria-selected",String(d===c)),u.tabIndex=d===c?0:-1}),i.forEach((u,d)=>u.dataset.active=String(d===c)),l(!0),requestAnimationFrame(()=>window.dispatchEvent(new Event("tw-reflow")))}return o.addEventListener("keydown",c=>{let u=a.findIndex(O=>O.dataset.active==="true");if(u<0)return;let d=Ye(c.key,u,a.length,-1);d<0||(c.preventDefault(),h(d),a[d].focus())}),jt(l),{el:n,bodies:i,activate:h,active:()=>a.findIndex(c=>c.dataset.active==="true")}}it("tabs",Ti);vt();var Oi=t=>String(t).replace(/[\\"]/g,"\\$&").replace(/[\x00-\x1f\x7f]/g,e=>"\\"+e.charCodeAt(0).toString(16)+" ");function Ni(t,e){let n=t.value||"",{root:o,trigger:r,right:s}=qt("tw-image",t.label);r.removeAttribute("aria-expanded"),r.setAttribute("aria-label",`${t.label}: choose an image`);let i=w("span","tw-image-text"),a=w("span","tw-trigger-chip tw-image-thumb");s.append(a,i);let l=w("input","tw-image-input");l.type="file",l.accept="image/*",o.append(l);let h=()=>{a.dataset.set=n?"true":"false",a.style.backgroundImage=n?`url("${Oi(n)}")`:"",i.textContent=n?"Replace":"Drop or choose"},c=u=>{if(!u||!u.type.startsWith("image/"))return;let d=new FileReader;d.onload=()=>{n=String(d.result),h(),e(n)},d.readAsDataURL(u)};return r.addEventListener("click",()=>l.click()),l.addEventListener("change",()=>{l.files[0]&&c(l.files[0])}),r.addEventListener("dragover",u=>{u.preventDefault(),r.dataset.over="true"}),r.addEventListener("dragleave",()=>{r.dataset.over="false"}),r.addEventListener("drop",u=>{u.preventDefault(),r.dataset.over="false",u.dataTransfer.files[0]&&c(u.dataTransfer.files[0])}),h(),{el:o,set:u=>{u!=null&&typeof u!="string"||(n=u||"",h())},get:()=>n}}it("image",Ni);vt();var Pi=(t,e,n,o,r,s,i)=>{let a=r.length;t.clearRect(0,0,n,o),t.strokeStyle=vn(e),t.lineWidth=1.5,t.lineJoin="round",t.beginPath();let l=!1;for(let h=0;h<a;h++){let c=r[(s+h)%a];if(Number.isNaN(c))continue;let u=h/(a-1)*n,d=o-R(i(c),0,1)*o;l?t.lineTo(u,d):(t.moveTo(u,d),l=!0)}t.stroke()},$i=t=>{for(let e of["resize","tw-reflow"])window.addEventListener(e,t);return()=>{for(let e of["resize","tw-reflow"])window.removeEventListener(e,t)}};function Ur(t,e=!1){let n=typeof t.get=="function"?t.get:()=>t.value,o=Math.max(30,Number.isFinite(+t.interval)?+t.interval:200),r;try{r=n()}catch{}let s=typeof r=="number",i=t.view==="graph"||s&&t.graph!==!1&&t.view!=="text"&&t.rows==null,a=w("div","tw-fps tw-monitor"),l=tt("span","tw-fps-val","\u2014");a.append(tt("span","tw-fps-label",t.label??"Monitor"),l);let h=0,c=0,u=()=>{},d=!1,O=Number.isFinite(+t.decimals)?Math.min(20,Math.max(0,Math.floor(+t.decimals))):2,L=P=>P==null?"\u2014":typeof P=="number"?Number.isInteger(P)||!Number.isFinite(P)?String(P):P.toFixed(O):typeof P=="object"?Ke(P):String(P),b=()=>{h&&clearInterval(h),h=0,c&&cancelAnimationFrame(c),c=0,u()},g=P=>{let $=Q=>{if(e&&(c=requestAnimationFrame($)),!a.isConnected){d&&b();return}d=!0;let K;try{K=n(Q)}catch{return}P(K)};e?c=requestAnimationFrame($):h=setInterval($,o)};if(!i&&t.rows){l.remove();let P=Math.max(1,Math.floor(+t.rows)||1),$=w("pre","tw-monitor-buffer");$.style.setProperty("--tw-monitor-rows",P),a.append($);let Q=[];return g(K=>{for(Q.push(L(K));Q.length>P;)Q.shift();$.textContent=Q.join(`
3
- `)}),ae(a,b)}if(!i)return g(P=>{l.textContent=L(P)}),ae(a,b);let f=document.createElement("canvas");f.className="tw-fps-canvas",a.append(f);let E=f.getContext("2d");if(!E)return g(P=>{l.textContent=L(P)}),ae(a,b);let C=80,B=new Array(C).fill(NaN),j=0,_=0,D=0,V=()=>{[_,D]=nr(f,E,2)};u=$i(V);let W=()=>{if(_||V(),!_)return;let P=t.min,$=t.max;if(P==null||$==null){let K=1/0,U=-1/0;for(let A of B)Number.isFinite(A)&&(A<K&&(K=A),A>U&&(U=A));K===1/0?(K=0,U=1):K===U&&(K-=.5,U+=.5);let st=(U-K)*.1;P==null&&(P=K-st),$==null&&($=U+st)}let Q=$-P||1;Pi(E,a,_,D,B,j,K=>(K-P)/Q)};return g(P=>{if(typeof P!="number"||!Number.isFinite(P)){l.textContent=L(P);return}B[j]=P,j=(j+1)%C,l.textContent=L(P),W()}),ae(a,b)}var Ri=()=>{let t=0;return e=>{if(!(e>0))return;let n=t?1e3/(e-t):void 0;return t=e,n}},Fi=t=>Ur({...t,label:t.label??"FPS",get:Ri(),view:"graph",min:0,max:120,decimals:0},!0);it("fpsgraph",Fi);it("monitor",t=>Ur(t));vt();function _i(t,e){let n=(T,Y,ot)=>Number.isFinite(+T)?Math.max(Y,+T):ot,o=T=>({stiffness:n(T.stiffness,1,300),damping:n(T.damping,.5,26),mass:n(T.mass,.1,1)}),r=T=>Number.isFinite(+T),a=T=>R(r(T)?+T:.5,.1,1),l=T=>R(r(T)?+T:.2,0,1),h=T=>+T.toPrecision(10),c=T=>{let Y=(2*Math.PI/T.visualDuration)**2,ot=1-T.bounce,at=1;return{stiffness:h(Y),damping:h(2*ot*Math.sqrt(Y*at)),mass:at}},u=T=>T==="time"||T==="physics"?T:null,d={stiffness:t.stiffness,damping:t.damping,mass:t.mass,visualDuration:t.visualDuration,bounce:t.bounce,...t.value||{}},O=u(d.mode)??u(t.mode)??(r(d.visualDuration)||r(d.bounce)?"time":"physics"),L={visualDuration:a(d.visualDuration),bounce:l(d.bounce)},b=o({stiffness:d.stiffness,damping:d.damping,mass:d.mass}),g=w("div","tw-spring"),f=w("div","tw-spring-viz"),E=document.createElement("canvas");E.className="tw-spring-canvas",f.append(E);let C=w("div","tw-fields"),B=w("div","tw-fields"),j=E.getContext("2d"),_=()=>o(O==="time"?c(L):b),D=()=>{let T=f.getBoundingClientRect(),Y=Math.max(1,Math.round(T.width)),ot=Math.max(1,Math.round(T.height));if(Y<2)return;let at=window.devicePixelRatio||1;E.width=Y*at,E.height=ot*at,j.setTransform(at,0,0,at,0,0),j.clearRect(0,0,Y,ot);let kt=_(),mt=We(kt.stiffness,kt.damping,kt.mass,Math.max(160,Math.round(Y*at))),gt=Math.max(1.05,...mt),xt=8,Tt=Pt=>xt+Pt/(mt.length-1)*(Y-2*xt),Ot=Pt=>ot-xt-Pt/gt*(ot-2*xt);j.strokeStyle=tr(g,"--tw-surface-active")||"rgba(255,255,255,0.1)",j.lineWidth=1,j.beginPath(),j.moveTo(xt,Ot(1)),j.lineTo(Y-xt,Ot(1)),j.stroke(),j.strokeStyle=vn(g),j.lineWidth=1.5,j.lineJoin=j.lineCap="round",j.beginPath(),mt.forEach((Pt,H)=>H?j.lineTo(Tt(H),Ot(Pt)):j.moveTo(Tt(H),Ot(Pt))),j.stroke()},V=()=>O==="time"?{..._(),visualDuration:L.visualDuration,bounce:L.bounce}:_(),W=()=>e(V()),P={};[["stiffness","Stiffness",1],["damping","Damping",.5],["mass","Mass",.1]].forEach(([T,Y,ot])=>{P[T]=Nt({label:Y,value:b[T],step:ot,min:ot},at=>{b[T]=at,D(),W()}),C.append(P[T].el)});let $=Nt({label:"Duration",value:L.visualDuration*1e3,step:50,min:.1*1e3,max:1*1e3,unit:"ms"},T=>{L.visualDuration=a(T/1e3),D(),W()}),Q=Nt({label:"Bounce",value:L.bounce*100,step:5,min:0,max:100,unit:"%"},T=>{L.bounce=l(T/100),D(),W()});B.append($.el,Q.el);let K=()=>{B.style.display=O==="time"?"":"none",C.style.display=O==="physics"?"":"none"},st=me([{value:"time",label:"Time"},{value:"physics",label:"Physics"}],O,T=>{T!=="time"&&T!=="physics"||T===O||(O=T,K(),D(),W())},"Spring mode"),A=w("div","tw-row");A.append(tt("span","tw-row-label","Mode"),st.el),t.label&&g.append(tt("div","tw-spring-label",t.label)),g.append(f,A,C,B);let F=1,y=500,m=1,S=40,k=null,v=T=>{if(!k)return;let Y=R((T.clientX-k.left)/k.width,0,1),ot=R((T.clientY-k.top)/k.height,0,1);O==="time"?($.set((.1+Y*(1-.1))*1e3),L.visualDuration=$.get()/1e3,Q.set((1-ot)*100),L.bounce=Q.get()/100):(P.stiffness.set(F+Y*(y-F)),b.stiffness=P.stiffness.get(),P.damping.set(m+ot*(S-m)),b.damping=P.damping.get()),D(),W()};ne(f,{onDown:T=>{T.preventDefault(),k=f.getBoundingClientRect(),f.classList.add("is-dragging"),v(T)},onMove:v,onEnd:()=>{k=null,f.classList.remove("is-dragging")}}),K(),jt(D),Vt(E,[[window,"resize"],[window,"tw-reflow"],[matchMedia("(prefers-color-scheme: dark)"),"change"],[window,"tw-retheme"]],D);let I=null,J=!1;return typeof MutationObserver=="function"&&(I=new MutationObserver(()=>{E.isConnected?(J=!0,D()):J&&(I.disconnect(),I=null)}),I.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),{el:g,destroy:()=>{I&&(I.disconnect(),I=null)},set:T=>{if(!T||typeof T!="object")return;let Y=u(T.mode),ot=r(T.visualDuration)||r(T.bounce),at=r(T.stiffness)||r(T.damping)||r(T.mass);!ot&&!at&&!Y||(O=Y??(ot?"time":"physics"),ot&&(r(T.visualDuration)&&(L.visualDuration=a(T.visualDuration)),r(T.bounce)&&(L.bounce=l(T.bounce))),at&&(b=o({...b,...T})),st.set(O),$.set(L.visualDuration*1e3),Q.set(L.bounce*100),P.stiffness.set(b.stiffness),P.damping.set(b.damping),P.mass.set(b.mass),K(),D())},get:()=>V()}}it("spring",_i);vt();function Hi(t,e){let n=[.25,.1,.25,1],o=-.25,r=1.25,s=r-o,i=8,a=A=>A.map((F,y)=>R(F,y%2?o:0,y%2?r:1)),l=Array.isArray(t.value)&&t.value.length===4?t.value.map(Number):n.slice();l.some(A=>!Number.isFinite(A))&&(l=n.slice()),l=a(l);let h=l.slice(),c=w("div","tw-bezier");t.label&&c.append(tt("div","tw-bezier-label",t.label));let u=w("div","tw-bezier-graph"),d=St("svg","tw-bezier-svg");d.setAttribute("preserveAspectRatio","none");let O=St("line","tw-bezier-guide"),L=St("line","tw-bezier-guide"),b=St("line","tw-bezier-diag"),g=St("line","tw-bezier-ctl"),f=St("line","tw-bezier-ctl"),E=St("path","tw-bezier-curve");d.append(O,L,b,g,f,E);let C=yt("tw-bezier-handle");C.setAttribute("aria-label","Control point 1");let B=yt("tw-bezier-handle");B.setAttribute("aria-label","Control point 2"),u.append(d,C,B);let j=w("div","tw-fields tw-bezier-fields");c.append(u,j);let _=0,D=0,V=A=>i+A*(_-2*i),W=A=>D-i-(A-o)/s*(D-2*i),P=(A,F,y,m,S)=>{A.setAttribute("x1",F),A.setAttribute("y1",y),A.setAttribute("x2",m),A.setAttribute("y2",S)},$=()=>{if(C.setAttribute("aria-label",`Control point 1, x ${l[0]}, y ${l[1]}`),B.setAttribute("aria-label",`Control point 2, x ${l[2]}, y ${l[3]}`),_=u.offsetWidth,D=u.offsetHeight,_<2)return;d.setAttribute("viewBox",`0 0 ${_} ${D}`);let[A,F,y,m]=l,S=V(0),k=W(0),v=V(1),I=W(1),J=V(A),T=W(F),Y=V(y),ot=W(m);P(O,i,k,_-i,k),P(L,i,I,_-i,I),P(b,S,k,v,I),P(g,S,k,J,T),P(f,v,I,Y,ot),E.setAttribute("d",`M${S},${k} C${J},${T} ${Y},${ot} ${v},${I}`),C.style.left=J+"px",C.style.top=T+"px",B.style.left=Y+"px",B.style.top=ot+"px"},Q=[{label:"X1",i:0,lo:0,hi:1},{label:"Y1",i:1,lo:o,hi:r},{label:"X2",i:2,lo:0,hi:1},{label:"Y2",i:3,lo:o,hi:r}],K=Q.map(A=>{let F=Nt({label:A.label,value:l[A.i],step:.01,min:A.lo,max:A.hi},y=>{l[A.i]=y,$(),e(l.slice())});return j.append(F.el),F}),U=()=>K.forEach((A,F)=>A.set(l[Q[F].i])),st=(A,F)=>{let y=null,m=0,S=0,k=1;ne(A,{onDown:v=>{v.preventDefault(),y=u.getBoundingClientRect(),m=u.offsetWidth||y.width,S=u.offsetHeight||y.height,k=y.width/m,A.classList.add("is-dragging"),A.focus({focusVisible:!1})},onMove:v=>{let I=(v.clientX-y.left)/k,J=(v.clientY-y.top)/k,T=R((I-i)/(m-2*i),0,1),Y=R(o+(S-i-J)/(S-2*i)*s,o,r);l[F*2]=+T.toFixed(2),l[F*2+1]=+Y.toFixed(2),$(),U(),e(l.slice())},onEnd:()=>{y=null,A.classList.remove("is-dragging")}}),A.addEventListener("keydown",v=>{if(v.key==="Escape")return A.blur();if(v.key==="Home"){v.preventDefault(),l=h.slice(),$(),U(),e(l.slice());return}let I=v.key==="ArrowRight"?1:v.key==="ArrowLeft"?-1:0,J=v.key==="ArrowUp"?1:v.key==="ArrowDown"?-1:0;if(!I&&!J)return;v.preventDefault();let T=v.shiftKey?.1:.01,Y=F*2;I&&(l[Y]=+R(l[Y]+I*T,0,1).toFixed(2)),J&&(l[Y+1]=+R(l[Y+1]+J*T,o,r).toFixed(2)),$(),U(),e(l.slice())})};return st(C,0),st(B,1),jt($),Vt(c,[[window,"resize"],[window,"tw-reflow"]],$),{el:c,set:A=>{if(Array.isArray(A)&&A.length===4){let F=A.map(Number);if(F.some(y=>!Number.isFinite(y)))return;l=a(F),$(),U()}},get:()=>l.slice()}}it("cubicbezier",Hi);vt();var To={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},Di=300,Hn=1e4,Ii=16,Jr=.9,Wt=t=>typeof t=="number"?Number.isFinite(t):typeof t=="string"&&t.trim()!==""&&Number.isFinite(+t),Oo=t=>{if(typeof t=="string")return Object.prototype.hasOwnProperty.call(To,t)?To[t].slice():null;if(Array.isArray(t)&&t.length===4){let e=t.map(Number);return e.every(Number.isFinite)?e:null}return null},ts=t=>Wt(t.stiffness)||Wt(t.damping)||Wt(t.mass)||Wt(t.visualDuration)||Wt(t.bounce),Zr=t=>{let e={mode:"time"};if(Wt(t.stiffness)){let n=+t.stiffness,o=Wt(t.mass)?+t.mass:1,r=Math.sqrt(n/o);e.visualDuration=2*Math.PI/r,Wt(t.damping)&&(e.bounce=R(1-+t.damping/(2*Math.sqrt(n*o)),0,Jr))}return Wt(t.visualDuration)&&(e.visualDuration=+t.visualDuration),Wt(t.bounce)&&(e.bounce=R(+t.bounce,0,Jr)),e},Qr=(t,e)=>t.mode==="spring"||t.mode==="easing"?t.mode:ts(t)?"spring":Oo(t.curve)?"easing":e;function ji(t,e){let n=Xt("cubicbezier"),o=Xt("spring");if(!n||!o)throw new Error("[tweaks] motion: the bezier and spring controls are not loaded");let r=It(t.value)?t.value:{},s=Qr(r,"easing"),i=Oo(r.curve)??To.ease.slice(),a=Wt(r.duration)?R(+r.duration,0,Hn):Di,{root:l,trigger:h,right:c}=qt("tw-motion",t.label??"Motion"),u=w("span","tw-trigger-chip tw-motion-chip"),d=St("svg");d.setAttribute("viewBox","0 0 100 100"),d.setAttribute("preserveAspectRatio","none");let O=St("path");d.append(O),u.append(d);let L=w("span","tw-trigger-value");c.append(u,L);let b=w("div","tw-color-pop tw-motion-pop"),g=w("div","tw-motion-body");b.append(g);let f=n({...t,type:"cubicbezier",label:"",value:i.slice()},v=>{i=v,S(),Q()});i=f.get();let E=o({...t,type:"spring",label:"",value:Zr(r)},()=>{S(),Q()}),C=Nt({label:"Duration",value:a,step:10,min:0,max:Hn,unit:"ms"},v=>{a=R(v,0,Hn),S(),Q()});a=C.get();let B=w("div","tw-motion-pane"),j=w("div","tw-motion-pane"),_=w("div","tw-fields");_.append(C.el),B.append(f.el,_),j.append(E.el);let D=w("div","tw-motion-stage"),V=w("div","tw-motion-box");D.append(V);let W=me([{value:"easing",label:"Easing"},{value:"spring",label:"Spring"}],s,v=>{(v==="easing"||v==="spring")&&v!==s&&(s=v,y(),S(),Q())},"Motion type"),P=w("div","tw-row");P.append(tt("span","tw-row-label","Type"),W.el),g.append(P,B,j,D),l.append(b);let $=()=>{if(s==="easing")return{mode:s,curve:i.slice(),duration:a,easing:`cubic-bezier(${i.join(", ")})`};let v=E.get(),I=7/Math.max(v.damping/(2*v.mass),.5),J=R(Math.round(I*40),48,240);return{mode:s,...v,duration:Math.round(I*1e3),easing:`linear(${We(v.stiffness,v.damping,v.mass,J,I).map(T=>+T.toFixed(3)).join(", ")})`}},Q=()=>e($()),K=!1,U=null,st=v=>{if(v)K=!K;else if(U&&U.playState==="running")return;let I=$(),J=Math.max(0,D.clientWidth-V.offsetWidth-2*Ii),T=`translateX(${K?0:J}px)`,Y=`translateX(${K?J:0}px)`;if(ee.matches||typeof V.animate!="function"){V.style.transform=Y;return}U?.cancel();let ot=[{transform:T},{transform:Y}];try{U=V.animate(ot,{duration:I.duration,easing:I.easing,fill:"forwards"})}catch{U=V.animate(ot,{duration:I.duration,fill:"forwards"})}};D.addEventListener("click",()=>st(!0)),D.tabIndex=0,D.setAttribute("role","button"),D.setAttribute("aria-label","Replay the motion"),D.addEventListener("keydown",v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),st(!0))});let A=()=>{let v;if(s==="easing"){let[T,Y,ot,at]=i;v=[];for(let kt=0;kt<=24;kt++){let mt=kt/24,gt=1-mt,xt=3*gt*gt*mt,Tt=3*gt*mt*mt,Ot=mt*mt*mt;v.push([xt*T+Tt*ot+Ot,xt*Y+Tt*at+Ot])}}else{let T=E.get();v=We(T.stiffness,T.damping,T.mass,32).map((Y,ot)=>[ot/31,Y])}let I=Math.max(1,...v.map(T=>T[1])),J=Math.min(0,...v.map(T=>T[1]));return v.map(([T,Y],ot)=>`${ot?"L":"M"}${(10+T*80).toFixed(1)},${(90-(Y-J)/(I-J)*80).toFixed(1)}`).join(" ")},F=()=>{s==="easing"?f.set(i.slice()):E.set(E.get())},y=()=>{B.style.display=s==="easing"?"":"none",j.style.display=s==="spring"?"":"none",F()},m=()=>s==="easing"?`Easing \xB7 ${a} ms`:`Spring \xB7 ${Math.round((E.get().visualDuration??0)*1e3)} ms`,S=()=>{O.setAttribute("d",A()),L.textContent=m(),st(!1)};return Gt(l,h,b,{width:240,fallbackH:380,gap:6,onOpen:()=>{W.set(s),F(),st(!0)},initialFocus:()=>W.el.querySelector('[tabindex="0"]')}),y(),S(),{el:l,set:v=>{let I=typeof v=="string"?{curve:v}:Array.isArray(v)&&v.length===4?{curve:v}:It(v)?v:null;if(!I)return;s=Qr(I,s);let J=Oo(I.curve);J&&(f.set(J.slice()),i=f.get()),s==="easing"&&Wt(I.duration)&&(C.set(R(+I.duration,0,Hn)),a=C.get()),ts(I)&&E.set(Zr(I)),W.set(s),y(),S()},get:$,destroy:()=>E.destroy&&E.destroy()}}it("motion",ji);vt();function Bi(t,e){let n=t.components,{root:o,trigger:r,right:s}=qt("tw-point",t.label??"Point"),i=w("span","tw-trigger-value"),a=w("div","tw-trigger-chip tw-point-preview"),l=w("div","tw-point-preview-dot");a.append(l),s.append(a,i);let h=w("div","tw-color-pop tw-point-pop"),c=w("div","tw-point-body");h.append(c);let u=t.pad!==!1&&n.length>=2,d=A=>{let F=se(Math.abs(Number.isFinite(+A.value)?+A.value:0))[1],y=A.min??-F,m=A.max??F,S=10**Math.floor(Math.log10((m-y)/200));return{lo:y,hi:m,step:A.step??(S>0&&Number.isFinite(S)?S:1)}},O=n.map(d),L=O[0],b=O[1],g=L?.lo??-1,f=L?.hi??1,E=b?.lo??-1,C=b?.hi??1,B=(A,F,y)=>y>F?R((A-F)/(y-F),0,1):.5,j=null,_=null,D=null;if(u){j=w("div","tw-pad"),_=w("div","tw-pad-thumb");let A=St("svg","tw-pad-line");A.setAttribute("viewBox","0 0 100 100"),A.setAttribute("preserveAspectRatio","none"),D=St("line"),A.append(D);let F=B(0,E,C);D.setAttribute("x1",B(0,g,f)*100),D.setAttribute("y1",(t.invertY?F:1-F)*100),j.append(w("div","tw-pad-axis tw-pad-axis-x"),w("div","tw-pad-axis tw-pad-axis-y"),A,_),c.append(j)}let V=w("div","tw-fields");c.append(V);let W=()=>{st(),U()},P=()=>e(Q()),$=n.map((A,F)=>{let y=Nt({label:A.label,value:A.value??0,step:O[F].step,min:A.min,max:A.max},()=>{W(),P()});return V.append(y.el),y}),Q=()=>Object.fromEntries(n.map((A,F)=>[A.key,$[F].get()])),K=(A,F)=>(+A).toFixed(re(F)),U=()=>{i.textContent=n.map((A,F)=>K($[F].get(),O[F].step)).join(", ")},st=()=>{l.style.left="50%",l.style.top="50%"};if(u){let F=m=>`calc(${(m*100).toFixed(2)}% + ${((.5-m)*5).toFixed(2)}px)`;st=()=>{let m=B($[0].get(),g,f),S=B($[1].get(),E,C),k=t.invertY?S:1-S,v=m*100,I=k*100;_.style.left=v+"%",_.style.top=I+"%",l.style.left=F(m),l.style.top=F(k),D.setAttribute("x2",v),D.setAttribute("y2",I),j.setAttribute("aria-description",`${n[0].label??n[0].key} ${K($[0].get(),L.step)}, ${n[1].label??n[1].key} ${K($[1].get(),b.step)}`)},Oe(j,m=>{let[S,k]=Ne(m,j),v=t.invertY?k:1-k;$[0].set(g+S*(f-g)),$[1].set(E+v*(C-E)),W(),P()}),j.tabIndex=0,j.setAttribute("role","group"),j.setAttribute("aria-label",`${t.label??"Point"} pad: ${n[0].label??n[0].key} and ${n[1].label??n[1].key}`),j.addEventListener("keydown",m=>{if(m.key==="Home"){m.preventDefault(),n.forEach((I,J)=>$[J].set(I.value??0)),W(),P();return}let S=m.key==="ArrowRight"?1:m.key==="ArrowLeft"?-1:0,k=m.key==="ArrowUp"?1:m.key==="ArrowDown"?-1:0;if(!S&&!k)return;m.preventDefault();let v=m.shiftKey?10:1;S&&$[0].set(R($[0].get()+S*L.step*v,g,f)),k&&$[1].set(R($[1].get()+(t.invertY?-k:k)*b.step*v,E,C)),W(),P()})}return o.append(h),Gt(o,r,h,{width:216,fallbackH:240,gap:6,onOpen:W}),W(),{el:o,set:A=>{A&&n.forEach((F,y)=>{A[F.key]!=null&&$[y].set(A[F.key])}),W()},get:Q}}it("point",Bi);vt();var Vi=Object.assign(Object.create(null),{sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,atan2:Math.atan2,sinh:Math.sinh,cosh:Math.cosh,tanh:Math.tanh,sqrt:Math.sqrt,cbrt:Math.cbrt,abs:Math.abs,exp:Math.exp,log:Math.log,ln:Math.log,log10:Math.log10,log2:Math.log2,floor:Math.floor,ceil:Math.ceil,round:Math.round,sign:Math.sign,trunc:Math.trunc,min:Math.min,max:Math.max,pow:Math.pow,hypot:Math.hypot,mod:(t,e)=>t%e,clamp:(t,e,n)=>Math.min(Math.max(t,e),n)}),es=Object.assign(Object.create(null),{pi:Math.PI,e:Math.E,tau:Math.PI*2,phi:(1+Math.sqrt(5))/2});function No(t){if(typeof t!="string"||!t.trim()||t.length>512)return null;let e=t,n=[],o=/\d*\.?\d+(?:[eE][+-]?\d+)?/y,r=/[A-Za-z_]\w*/y,s=0;for(;s<e.length;){let b=e[s];if(b===" "||b===" "||b===`
4
- `){s++;continue}if(b>="0"&&b<="9"||b==="."&&e[s+1]>="0"&&e[s+1]<="9"){o.lastIndex=s;let g=o.exec(e);if(!g||g.index!==s)return null;n.push({t:"num",v:parseFloat(g[0])}),s=o.lastIndex;continue}if(b>="A"&&b<="Z"||b>="a"&&b<="z"||b==="_"){r.lastIndex=s;let g=r.exec(e);n.push({t:"id",v:g[0]}),s=r.lastIndex;continue}if(b==="*"&&e[s+1]==="*"){n.push({t:"op",v:"^"}),s+=2;continue}if("+-*/%^".includes(b)){n.push({t:"op",v:b}),s++;continue}if(b==="("){n.push({t:"lp"}),s++;continue}if(b===")"){n.push({t:"rp"}),s++;continue}if(b===","){n.push({t:"comma"}),s++;continue}return null}if(!n.length)return null;let i=0,a=()=>n[i],l=b=>{let g=n[i];return!g||b&&g.t!==b?null:(i++,g)},h=()=>{let b=c();if(!b)return null;for(;a()&&a().t==="op"&&(a().v==="+"||a().v==="-");){let g=l("op").v,f=c();if(!f)return null;let E=b;b=g==="+"?C=>E(C)+f(C):C=>E(C)-f(C)}return b},c=()=>{let b=u();if(!b)return null;for(;a()&&a().t==="op"&&(a().v==="*"||a().v==="/"||a().v==="%");){let g=l("op").v,f=u();if(!f)return null;let E=b;b=g==="*"?C=>E(C)*f(C):g==="/"?C=>E(C)/f(C):C=>E(C)%f(C)}return b},u=()=>{if(a()&&a().t==="op"&&(a().v==="-"||a().v==="+")){let b=l("op").v,g=u();return g?b==="-"?f=>-g(f):g:null}return d()},d=()=>{let b=O();if(!b)return null;if(a()&&a().t==="op"&&a().v==="^"){l("op");let g=u();return g?f=>Math.pow(b(f),g(f)):null}return b},O=()=>{let b=a();if(!b)return null;if(b.t==="num")return l("num"),()=>b.v;if(b.t==="lp"){l("lp");let g=h();return!g||!l("rp")?null:g}if(b.t==="id"){l("id");let g=b.v.toLowerCase();if(a()&&a().t==="lp"){let f=Vi[g];if(!f)return null;l("lp");let E=[];if(a()&&a().t!=="rp")do{let C=h();if(!C)return null;E.push(C)}while(l("comma"));return l("rp")?C=>f(...E.map(B=>B(C))):null}if(g==="x")return f=>f;if(g in es){let f=es[g];return()=>f}return null}return null},L=h();return L&&i===n.length?L:null}function Gi(t,e){let n=Number(t.xMin??t.min),o=Number(t.xMax??t.max);if(Number.isFinite(n)||(n=-10),Number.isFinite(o)||(o=10),o<n){let C=n;n=o,o=C}o===n&&(n-=1,o+=1);let r=Math.max(2,Math.min(4096,t.samples|0||256)),s=Number.isFinite(t.yMin)&&Number.isFinite(t.yMax)&&+t.yMax>+t.yMin,i=typeof t.fn=="function"?t.fn:null,a=t.editable!==!1&&!i,l=t.expr!=null?String(t.expr):i?"":"sin(x)",h=i||No(l),c=w("div","tw-plot");t.label&&c.append(tt("div","tw-plot-label",t.label));let u=w("div","tw-plot-graph"),d=St("svg","tw-plot-svg");d.setAttribute("preserveAspectRatio","none");let O=St("line","tw-plot-axis"),L=St("line","tw-plot-axis"),b=St("path","tw-plot-curve");d.append(O,L,b),u.append(d),c.append(u);let g=null;if(a){let C=w("div","tw-plot-field");g=w("input","tw-plot-input"),g.type="text",g.value=l,g.spellcheck=!1,g.autocapitalize="off",Kt(g),g.setAttribute("aria-label",`${t.label||"Plot"} \u2014 expression in x`),g.setAttribute("aria-invalid","false"),C.append(tt("span","tw-plot-fx","y ="),g),c.append(C)}let f=6,E=()=>{let C=typeof h=="function";c.classList.toggle("is-invalid",a&&!C),g&&g.setAttribute("aria-invalid",a&&!C?"true":"false");let B=u.getBoundingClientRect(),j=B.width,_=B.height;if(j<2)return;d.setAttribute("viewBox",`0 0 ${j} ${_}`);let D=[],V=1/0,W=-1/0;if(C)for(let F=0;F<r;F++){let y=n+(o-n)*(F/(r-1)),m;try{m=h(y)}catch{m=NaN}D.push(m),Number.isFinite(m)&&(m<V&&(V=m),m>W&&(W=m))}let P=t.yMin,$=t.yMax;if(!s)if(!Number.isFinite(V)||V===W){let F=Number.isFinite(V)?V:0;P=F-1,$=F+1}else{let F=(W-V)*.12;P=V-F,$=W+F}let Q=F=>f+(F-n)/(o-n)*(j-2*f),K=F=>_-f-(F-P)/($-P)*(_-2*f),U=(F,y,m,S,k,v)=>{F.style.display=v?"":"none",v&&(F.setAttribute("x1",y),F.setAttribute("y1",m),F.setAttribute("x2",S),F.setAttribute("y2",k))};U(O,f,K(0),j-f,K(0),P<=0&&$>=0),U(L,Q(0),f,Q(0),_-f,n<=0&&o>=0);let st="",A=!1;if(C)for(let F=0;F<r;F++){let y=D[F];if(!Number.isFinite(y)){A=!1;continue}let m=Q(n+(o-n)*(F/(r-1))),S=R(K(y),-1e4,1e4);st+=(A?"L":"M")+m.toFixed(1)+","+S.toFixed(1)+" ",A=!0}b.setAttribute("d",st)};return a&&g.addEventListener("input",()=>{l=g.value,h=No(l),E(),e(l)}),jt(E),Vt(c,[[window,"resize"],[window,"tw-reflow"]],E),{el:c,get:()=>l,set:C=>{C!=null&&(l=String(C),g&&(g.value=l),i||(h=No(l)),E())}}}it("plot",Gi);vt();vt();vt();var He={},Dn={},Xi=t=>Xt(t)||!He[t]?null:Dn[t]||(Dn[t]=He[t]().catch(e=>{throw delete Dn[t],console.error(`[tweaks] control chunk "${t}" failed to load:`,e),e})),Po=(t,e=new Set)=>{for(let n of t)if(n&&(He[n.type]&&e.add(n.type),n.children&&Po(n.children,e),n.pages))for(let o of n.pages)Po(o.children,e);return e},De=t=>{let e=[...Po(t)].map(Xi).filter(Boolean);return e.length?Promise.all(e):null};vt();vt();var ns=$t('<path class="tw-copy-back" d="m5.5 16.5-.7-.2q-1.5-.6-2.1-2.1-.2-.7-.2-2.7v-2c0-3.3 0-5 1-6s2.7-1 6-1h2c1.4 0 2 0 2.7.2q1.6.5 2.1 2.1l.2.7"/><path class="tw-copy-front" d="M7.5 14.5c0-3.3 0-5 1-6s2.7-1 6-1 5 0 6 1 1 2.7 1 6 0 5-1 6-2.7 1-6 1-5 0-6-1-1-2.7-1-6"/>',"tw-toolbar-btn__copy"),os=$t('<path d="m5 14 3.5 3.5L19 6.5"/>',"tw-toolbar-btn__check",2.4),rs=$t('<path d="M3 12a9 9 0 1 0 9-9 9 9 0 0 0-7.6 4.2M3.3 3l.2 2q0 2.2.6 2.7t2.7.2l2-.2"/>'),ss=$t('<path d="m17 17 4 4m-2-10a8 8 0 0 0-16 0 8 8 0 0 0 16 0"/>'),$o=t=>$t('<path d="M18 9s-4.4 6-6 6-6-6-6-6"/>',t,2.5),is=$o("tw-chevron"),as=$t('<path d="M20.2 13.5q1.8.8 1.8 1.5 0 .8-2.7 2l-5 2.2Q13 20 12 20q-.7 0-2.4-.8l-4.9-2.3Q2 16 2 15t1.8-1.5"/><path class="tw-layer-top" d="M9.6 4.8Q11.3 4 12 4t2.4.8l4.9 2.3Q22 8 22 9c0 .7-.9 1.1-2.7 2l-5 2.2Q13 14 12 14q-.7 0-2.4-.8l-4.9-2.3Q2 10 2 9c0-.7.9-1.1 2.7-2z"/>'),ls=$t('<path d="M18 6 6 18m12 0L6 6"/>',"",2.2),Ro=$t('<circle cx="12" cy="12" r="10"/><path d="M12 16v-4m-.25-3.75a.25.25 0 0 0 .5 0 .25.25 0 0 0-.5 0"/>');var tn=(t,e,n)=>{let o=yt("tw-toolbar-btn"+(t?" "+t:""),e);return o.title=n,o.setAttribute("aria-label",n),o},Bn=(t,e,n)=>{let o=tn("tw-toolbar-btn--swap",`<span class="tw-toolbar-btn__icons">${ns}${os}</span>`,"Copy values (\u21E7: changed only)");return o.addEventListener("click",async r=>{if(o.disabled)return;let[s,i]=n(r.shiftKey);if(!i){ce("Nothing has changed",t);return}await qi(s)?(zi(o),ce(i>0?`${i} changed value${i===1?"":"s"} copied`:`${e()} values copied`,t)):ce("Copy failed",t)}),o},Vn=t=>{let e=tn("tw-toolbar-btn--reset",rs,"Reset");return e.addEventListener("click",()=>{e.disabled||(Fo(e),t())}),e},zi=t=>{t.classList.add("is-copied"),clearTimeout(t._t),t._t=setTimeout(()=>t.classList.remove("is-copied"),1400)},Fo=t=>{let e=t.querySelector("svg");t._spinSettle||(t._spinSettle=()=>{clearTimeout(t._t),t.classList.remove("is-spinning"),e.style.transition="none",e.style.setProperty("--tw-spin","0deg"),e.getBoundingClientRect(),e.style.transition=""},e.addEventListener("transitionend",o=>{o.propertyName==="transform"&&t.classList.contains("is-spinning")&&performance.now()-t._spinT>250&&t._spinSettle()})),t._spinT=performance.now(),e.style.setProperty("--tw-spin",`${(parseFloat(e.style.getPropertyValue("--tw-spin"))||0)-360}deg`),t.classList.add("is-spinning"),clearTimeout(t._t);let n=()=>{e.getAnimations&&e.getAnimations().length?t._t=setTimeout(n,250):t._spinSettle()};t._t=setTimeout(n,600)},le=null,cs=0;function ce(t,e){le||(le=w("div","tw-toast tw-portal"),le.setAttribute("role","status")),le.isConnected||document.body.appendChild(le),le.textContent=t,ye(le,e),le.classList.add("is-open"),clearTimeout(cs),cs=setTimeout(()=>le.classList.remove("is-open"),1600)}var Ft=null,In=0,jn=null,ds=t=>{t.key==="Escape"&&en()},en=t=>{t&&jn&&!t.contains(jn)||(clearTimeout(In),document.removeEventListener("keydown",ds),Ft&&Ft.classList.remove("is-open"))};function Ki(t,e){Ft||(Ft=w("div","tw-tip tw-portal"),Ft.setAttribute("role","tooltip")),Ft.isConnected||document.body.appendChild(Ft),clearTimeout(In),Ft.textContent=e,ye(Ft,t);let n=Ft.classList.contains("is-open");Ft.style.visibility="hidden",Ft.classList.add("is-open"),oo(t,Ft,{align:"center",prefer:"above",gap:8}),Ft.style.visibility="",document.addEventListener("keydown",ds),jn=t,n||requestAnimationFrame(function o(){if(Ft.classList.contains("is-open")){if(!jn.isConnected)return en();requestAnimationFrame(o)}})}function us(){Ft&&(clearTimeout(In),In=setTimeout(en,80))}var _o=".tw-slider-label, .tw-row-label, .tw-select-label, .tw-trigger-label, .tw-radiogrid-label, .tw-field-label, .tw-folder-title, .tw-fps-label, .tw-plot-label";function Ie(t,e){let n=t.querySelector(_o)||t;if(n===t&&t.classList.contains("tw-separator"))return;let o=n.closest("button"),r=o?w("span","tw-hint",Ro):yt("tw-hint",Ro),s=()=>Ki(r,e);if(o){r.setAttribute("aria-hidden","true");let i=o.getAttribute("aria-description");o.setAttribute("aria-description",i?`${i}. ${e}`:e)}else r.setAttribute("aria-label",e),r.addEventListener("focus",s),r.addEventListener("blur",us),r.addEventListener("keydown",i=>{(i.key==="Enter"||i.key===" ")&&i.stopPropagation()});r.addEventListener("pointerenter",s),r.addEventListener("pointerleave",us),r.addEventListener("pointerdown",i=>i.stopPropagation()),r.addEventListener("click",i=>{i.preventDefault(),i.stopPropagation()}),n.appendChild(r)}async function qi(t){try{return await navigator.clipboard.writeText(t),!0}catch{}let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.top="-9999px",document.body.appendChild(e),e.focus(),e.select();let n=!1;try{n=document.execCommand("copy")}catch{}return document.body.removeChild(e),n}function ke(t,e,n=0){if(Xn(t))return null;let o=Ui(t,e,n);return o&&e&&typeof e=="object"&&(typeof e.render=="function"&&(o.render=e.render),e.disabled!=null&&(o.disabled=e.disabled),e.hint!=null&&(o.hint=String(e.hint)),e.persist===!1&&(o.persist=!1)),o}var be=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Xn=t=>t==="__proto__"||t==="constructor"||t==="prototype",ue=(t,e)=>t!==e&&!(It(t)&&It(e)&&JSON.stringify(t)===JSON.stringify(e)),zn=(t,e,n)=>{t.set(n),t.set(e)},ps=t=>Array.isArray(t.options)&&{type:"radiogrid",options:t.options,value:t.value??ie(t.options[0]),cols:t.cols},Yi=(t,...e)=>{let n=(e.length?e:[0]).map(s=>se(Number.isFinite(+s)?+s:0)),o=t.min??Math.min(...n.map(s=>s[0])),r=t.max??Math.max(...n.map(s=>s[1]));return{min:o,max:r,step:t.step??Ae(o,r)}},Ho=(t,e)=>t.label==null?e:String(t.label),fs=t=>typeof t=="function"?t:void 0,ms=t=>typeof t=="string"&&t.trim()?t.trim().slice(0,12):void 0,Do=["stiffness","damping","mass","visualDuration","bounce"],gs={slider:t=>{let e=Yi(t,t.value??t.min??0);return{value:t.value??e.min,...e,soft:t.soft,unit:ms(t.unit),format:fs(t.format),parse:fs(t.parse)}},number:t=>({value:t.value??0,min:t.min,max:t.max,step:t.step??1,soft:t.soft,unit:ms(t.unit)}),checkbox:t=>({value:!!t.value}),radiogrid:ps,segmented:ps,list:t=>Array.isArray(t.options)&&{options:t.options,value:t.value??ie(t.options[0])},text:t=>({value:t.value??"",rows:t.rows,placeholder:t.placeholder}),spring:t=>{let e=It(t.value)?t.value:t,n={stiffness:e.stiffness??300,damping:e.damping??26,mass:e.mass??1};Number.isFinite(+e.visualDuration)&&(n.visualDuration=+e.visualDuration),Number.isFinite(+e.bounce)&&(n.bounce=+e.bounce);let o=t.mode??e.mode;return(o==="time"||o==="physics")&&(n.mode=o),{value:n}},motion:t=>{let e=typeof t.value=="string"||Array.isArray(t.value)?{...t,curve:t.value}:It(t.value)?t.value:t,n=Do.some(r=>e[r]!=null),o={curve:"ease",duration:300,...n?{}:{visualDuration:.5,bounce:.2}};for(let r of["mode","curve","duration",...Do])e[r]!=null&&(o[r]=e[r]);return o.mode!=="easing"&&o.mode!=="spring"&&(o.mode=n?"spring":"easing"),{value:o}},point:t=>{if(!Array.isArray(t.components)||!t.components.length)return!1;let e=new Set,n=t.components.map((o,r)=>{let s=String(o.key??((o.label?String(o.label).toLowerCase():"")||`c${r}`)),i=s,a=2;for(;e.has(i);)i=`${s}-${a++}`;return e.add(i),{...o,key:i}});return{components:n,pad:t.pad,invertY:t.invertY,value:Object.fromEntries(n.map(o=>[o.key,o.value??0]))}},buttongroup:t=>({buttons:t.buttons}),separator:()=>({}),tabs:(t,e)=>{if(!t.pages||typeof t.pages!="object"||!Object.keys(t.pages).length)return!1;let n=new Set;return{pages:Object.entries(t.pages).map(([o,r])=>{let s=o.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tab",i=s,a=2;for(;n.has(i);)i=`${s}-${a++}`;return n.add(i),{key:i,title:o.trim()?o:"Tab",children:Object.entries(r).map(([l,h])=>ke(l,h,e+1)).filter(Boolean)}})}}},Wi=Object.assign(Object.create(null),{list:"options",radiogrid:"options",segmented:"options",point:"components",tabs:"pages"});function Ui(t,e,n=0){if(n>64)return null;let o=pn(t),r=(s,i,a=o)=>({type:s,key:t,label:a,...i});if(It(e)&&!Array.isArray(e)&&be(gs,e.type)){let s;try{s=gs[e.type](e,n)}catch(i){return console.error(`[tweaks] malformed "${e.type}" schema value for "${t}" \u2014 control skipped:`,i),null}if(s)return r(String(e.type),s,Ho(e,o));if(be(e,Wi[e.type]))return console.error(`[tweaks] malformed "${e.type}" schema value for "${t}" \u2014 control skipped`),null}else if(It(e)&&!Array.isArray(e)&&typeof e.type=="string"&&(He[e.type]||Xt(e.type))){let{type:s,label:i,...a}=e;return r(s,a,Ho(e,o))}if(Array.isArray(e)&&Array.isArray(e[0])&&e[0].length===2&&typeof e[0][0]=="number"){let s=Number.isFinite(+e[1])?+e[1]:+e[0][0],i=Number.isFinite(+e[2])?+e[2]:+e[0][1];return r("interval",{value:e[0].map(Number),min:s,max:i,step:e[3]??Ae(s,i)})}if(Array.isArray(e)&&e.length<=4&&typeof e[0]=="number"){let s=e[0],[i,a]=se(s),l=e.length>1?e[1]:i,h=e.length>2?e[2]:a;return r("slider",{value:s,min:l,max:h,step:e[3]??Ae(l,h)})}if(typeof e=="number"){let[s,i]=se(e);return r("slider",{value:e,min:s,max:i,step:Ae(s,i)})}return typeof e=="boolean"?r("checkbox",{value:e}):Array.isArray(e)?r("list",{options:e,value:ie(e[0])}):It(e)&&typeof e.action=="function"?r("button",{action:e.action},Ho(e,o)):It(e)&&Array.isArray(e.options)?r("list",{options:e.options,value:e.value??ie(e.options[0])}):Jo(e)?r("color",{value:e}):typeof e=="string"?r("text",{value:e}):It(e)?r("folder",{children:Object.entries(e).filter(([s,i])=>!(s==="render"&&typeof i=="function")&&!((s==="disabled"||s==="hint")&&i!=null)).map(([s,i])=>ke(s,i,n+1)).filter(Boolean)}):null}var Kn=new Set(["button","fpsgraph","monitor","buttongroup","separator"]),bs=t=>({...Object.fromEntries(Do.map(e=>[e,ht(t[e])])),mode:t.mode}),hs={slider:t=>({value:ht(t.value),min:ht(t.min),max:ht(t.max),step:ht(t.step),soft:Gn(t.soft),unit:t.unit}),checkbox:t=>t.options?{type:"radiogrid",options:nn(t.options),value:t.value,cols:ht(t.cols)}:{value:t.checked==="true"},radiogrid:t=>({options:nn(t.options),value:t.value,cols:ht(t.cols)}),list:t=>({options:nn(t.options),value:t.value}),button:(t,e,n)=>({action:()=>ce(`${n} pressed`,e)}),buttongroup:(t,e)=>({buttons:nn(t.buttons).map(n=>({label:n,action:()=>ce(`${n} pressed`,e)}))}),separator:()=>({}),number:t=>({value:ht(t.value),min:ht(t.min),max:ht(t.max),step:ht(t.step),unit:t.unit}),text:t=>({value:t.value??"",placeholder:t.placeholder,rows:ht(t.rows)}),fpsgraph:t=>({label:t.label??"FPS"}),interval:t=>({value:t.value?t.value.split(",").map(Number):void 0,min:ht(t.min),max:ht(t.max),step:ht(t.step)}),sides:t=>({value:t.value??t,corners:Gn(t.corners),unit:t.unit,step:ht(t.step),min:ht(t.min),max:ht(t.max)}),shadow:t=>({value:t.value??{...t,inset:Gn(t.inset)}}),spring:bs,motion:t=>({...bs(t),curve:t.curve&&t.curve.includes(",")?t.curve.split(",").map(Number):t.curve,duration:ht(t.duration)}),cubicbezier:t=>({value:t.value?t.value.split(",").map(Number):void 0}),point:t=>{let e=(t.value||"").split(",").map(n=>parseFloat(n));return{components:nn(t.components||"X,Y").map((n,o)=>({key:n.toLowerCase(),label:n,value:isNaN(e[o])?0:e[o],step:ht(t.step),min:ht(t.min),max:ht(t.max)})),pad:Gn(t.pad),invertY:t.invertY==="true"}},plot:t=>({expr:t.expr,xMin:ht(t.xmin),xMax:ht(t.xmax),yMin:ht(t.ymin),yMax:ht(t.ymax),samples:ht(t.samples),editable:t.editable!=="false"})},ht=t=>{if(t==null||t==="")return;let e=+t;return Number.isFinite(e)?e:void 0},Gn=t=>t==="true"||t==="",nn=t=>(t||"").split(",").map(e=>e.trim()).filter(Boolean),ws=t=>{let e=t.dataset,n=e.tw,o=e.label??pn(e.key||n),r=be(hs,n)?hs[n](e,t,o):He[n]||Xt(n)?{...e}:null;return r?ke("v",{type:n,label:o,...r}):null};vt();var Ji=3,ys=32,vs=200,xs=8;function Zi(t,e){let n=t.label,{min:o,max:r,step:s}=fn(t.min,t.max,t.step);t.soft||([o,r]=Se(o,r,s));let i=(r-o)/s<=6,a=Number.isFinite(+t.value)?+t.value:o,l=t.soft&&!i?a:R(a,o,r),h=0,c=re(s),u=w("div","tw-slider-wrap"),d=w("div","tw-slider"),O=w("div","tw-slider-hashmarks"),L=w("div","tw-slider-fill"),b=w("div","tw-slider-handle"),g=tt("span","tw-slider-label",n),f=w("span","tw-slider-value"),E=typeof t.unit=="string"?t.unit.trim():"",C=document.createTextNode(""),B=E?/^[%°]$/.test(E)?E:" "+E:"";f.append(C),E&&f.append(tt("span","tw-slider-unit",B));let j=t.format,_=t.parse,D=N=>{if(j)try{let et=j(N);if(typeof et=="string"&&et)return et}catch{}return N.toFixed(c)};d.append(O,L,b,g,f),u.append(d),d.tabIndex=0,d.setAttribute("role","slider"),d.setAttribute("aria-label",n),d.setAttribute("aria-valuemin",String(o)),d.setAttribute("aria-valuemax",String(r));let V=N=>ve(N,o,s),W=i?Array.from({length:Math.max(0,Math.round((r-o)/s)-1)},(N,et)=>(et+1)*s/(r-o)*100):[];for(let N of W){let et=w("div","tw-slider-hashmark");et.style.left=N+"%",O.append(et)}let P=()=>{let N=R((l-o)/(r-o||1)*100,0,100),et=h?` + ${h.toFixed(1)}px`:"",pt=`${N}%${et}`;L.style.width=h?`calc(${pt})`:N+"%",b.style.left=`max(5px, calc(${pt} - 9px))`;let bt=V(l),ut=D(bt);C.data=ut,d.setAttribute("aria-valuenow",String(bt)),d.setAttribute("aria-valuetext",ut+B);let Lt=u.offsetWidth,zt=f.offsetWidth;if(Lt){zt&&(g.style.maxWidth=Math.max(0,Lt-zt-30)+"px");let Zt=Math.max(5,N/100*Lt+h-9);d.classList.toggle("is-dodge",mn(g,f,Zt,3))}};P();let $=null,Q=1,K=null,U=!0,st,A=null,F=null,y=`width 0.34s ${io}`,m=`left 0.34s ${io}, opacity 0.15s, transform 0.2s ${qe}`,S=.2,k=N=>{if(!$)return l;let et=u.offsetWidth||$.width,pt=R((N-$.left)/Q/et,0,1);return R(o+pt*(r-o),o,r)},v=N=>{let et=0;N<$.left?et=-xs*Math.sqrt(Math.min(Math.max(0,$.left-N-ys)/vs,1)):N>$.right&&(et=xs*Math.sqrt(Math.min(Math.max(0,N-$.right-ys)/vs,1))),d.style.width=`calc(100% + ${Math.abs(et)}px)`,d.style.transform=et<0?`translateX(${et}px)`:""},I=(N,et=!0)=>{N=+N,Number.isFinite(N)&&(l=i?R(V(N),o,r):t.soft?N:R(N,o,r),P(),et&&e(V(l)))},J=Math.max(1,Math.round((r-o)/s)),T=.2,Y=.3,ot=520,at=27,kt=N=>(N-o)/s,mt=0,gt=0,xt=0,Tt=!1,Ot=null,Pt=l,H=0,G=()=>{xt&&cancelAnimationFrame(xt),xt=0,H=0},dt=N=>{if(!d.isConnected){G();return}let et=H?Math.min((N-H)/1e3,.05):1/60;H=N;let pt=u.offsetWidth||$&&$.width||1,bt=kt(R(Pt,o,r)),ut=R(Math.round(bt+T),0,J),Lt=Tt?ut+Y*R(bt-ut,-.5,.5):ut;if(ee&&ee.matches)mt=Lt,gt=0;else{let zt=et,Zt=1/240;for(;zt>1e-4;){let _t=Math.min(Zt,zt);zt-=_t;let Qt=ot*(Lt-mt)-at*gt;gt+=Qt*_t,mt+=gt*_t,mt<0&&(mt=0,gt=0),mt>J&&(mt=J,gt=0)}}h=(mt-ut)*s/(r-o||1)*pt,l=R(o+ut*s,o,r),P(),ut!==Ot&&(Ot=ut,e(V(l))),!Tt&&Math.abs(gt)<.004&&Math.abs(mt-ut)<.004?(mt=ut,gt=0,h=0,P(),G(),d.classList.remove("is-active")):xt=requestAnimationFrame(dt)},ct=N=>{mt=kt(l),gt=0,Tt=!0,Ot=Math.round(kt(l)),Pt=k(N),xt||(xt=requestAnimationFrame(dt))};d.addEventListener("pointerdown",N=>{if(!f.classList.contains("is-editing")&&!(N.button!==0||K)){N.preventDefault(),d.focus({focusVisible:!1}),F=N.pointerId;try{N.target.setPointerCapture(N.pointerId)}catch{}clearTimeout(st),d.style.transition="",K={x:N.clientX,y:N.clientY},U=!0,d.classList.add("is-active"),$=u.getBoundingClientRect(),Q=$.width/(u.offsetWidth||$.width),i?(L.style.transition="",b.style.transition="",ct(N.clientX)):(L.style.transition=y,b.style.transition=m,I(k(N.clientX)))}}),d.addEventListener("pointermove",N=>{if(!(!K||N.pointerId!==F)){if(N.buttons===0){Ct();return}if(U&&Math.hypot(N.clientX-K.x,N.clientY-K.y)>Ji&&(U=!1,d.classList.add("is-dragging"),i||(L.style.transition="",b.style.transition="")),!U)if(v(N.clientX),i)Pt=k(N.clientX);else{let et;if(N.altKey){A||(A={x:N.clientX,v:l});let pt=u.offsetWidth||$.width;et=R(A.v+(N.clientX-A.x)/pt*(r-o)*S,o,r)}else A=null,et=k(N.clientX);I(et)}N.clientX>=$.left&&N.clientX<=$.right&&(d.style.width="",d.style.transform="")}});let Ct=N=>{!K||N&&N.pointerId!==F||(i?(Tt=!1,d.classList.remove("is-dragging"),xt||(xt=requestAnimationFrame(dt))):(st=setTimeout(()=>{L.style.transition="",b.style.transition=""},360),d.classList.remove("is-active","is-dragging")),d.style.transition=`width 0.35s ${qe}, transform 0.35s ${qe}`,d.style.width="",d.style.transform="",setTimeout(()=>{d.style.transition=""},360),K=null,A=null,F=null)};d.addEventListener("pointerup",Ct),d.addEventListener("pointercancel",Ct),d.addEventListener("lostpointercapture",Ct),gn(d,P),jt(P),Vt(d,[[window,"resize"]],P),d.addEventListener("keydown",N=>{if(N.target!==d||K)return;let et=fe(N,l,s,o,r,(r-o)/10||s*10);et!=null&&(N.preventDefault(),i&&(G(),h=0,d.classList.remove("is-active")),I(R(et,o,r)))});let Bt;f.addEventListener("mouseenter",()=>{Bt=setTimeout(()=>f.classList.add("is-editable"),800)}),f.addEventListener("mouseleave",()=>{clearTimeout(Bt),f.classList.contains("is-editing")||f.classList.remove("is-editable")}),f.addEventListener("pointerdown",N=>{N.pointerType&&N.pointerType!=="mouse"?(f.classList.add("is-editable"),N.stopPropagation()):f.classList.contains("is-editable")&&N.stopPropagation()});let Rt=()=>{if(f.classList.contains("is-editing"))return;let N=w("input","tw-slider-input");N.type="text",N.inputMode=_?"text":"decimal",Kt(N),N.value=_?D(V(l)):V(l).toFixed(c);let et=N.value;N.style.width=et.length+1+"ch",f.classList.add("is-editing"),f.replaceWith(N),N.focus(),N.select();let pt=()=>{N.replaceWith(f),f.classList.remove("is-editing","is-editable")},bt=()=>{let ut=N.value,Lt=NaN;if(ut!==et)try{Lt=_?_(ut):Number(ut.replace(E,"").trim()||NaN)}catch{}Number.isFinite(Lt)&&I(t.soft?Lt:R(Lt,o,r)),pt()};N.addEventListener("pointerdown",ut=>ut.stopPropagation()),N.addEventListener("blur",bt),N.addEventListener("keydown",ut=>{ut.key==="Enter"?(N.removeEventListener("blur",bt),d.focus(),bt()):ut.key==="Escape"&&(ut.stopPropagation(),N.removeEventListener("blur",bt),d.focus(),pt())})};return f.addEventListener("click",()=>{f.classList.contains("is-editable")&&Rt()}),d.addEventListener("keydown",N=>{N.key==="Enter"&&N.target===d&&!K&&(N.preventDefault(),Rt())}),{el:u,set:N=>I(N,!1),get:()=>V(l)}}function Qi(t,e){let n=w("div","tw-row"),o=me([{value:"off",label:"Off"},{value:"on",label:"On"}],t.value?"on":"off",r=>e(r==="on"),t.label);return n.append(tt("span","tw-row-label",t.label),o.el),{el:n,set:r=>o.set(r?"on":"off"),get:()=>o.get()==="on"}}function ta(t,e){let n=t.options||[],o=Math.min(3,Math.max(2,t.cols||(n.length<=3?n.length:n.length===4?2:3))),r=w("div","tw-radiogrid"),s=w("div","tw-radiogrid-grid");s.style.setProperty("--tw-rg-cols",o),s.setAttribute("role","radiogroup"),s.setAttribute("aria-label",t.label);let i=t.value??ie(n[0]),a=n.map(c=>{let u=co("tw-radiogrid-btn",c,d=>h(d));return s.append(u),u}),l=()=>lo(a,i),h=(c,u=!0)=>{c!=null&&!a.some(d=>d._twVal===c)||(i=c,l(),u&&e(c))};return s.addEventListener("keydown",c=>{let u=yn(a,i);if(u<0)return;let d=Ye(c.key,u,a.length,o);d<0||(c.preventDefault(),d!==u&&(h(a[d]._twVal),a[d].focus()))}),l(),r.append(tt("span","tw-radiogrid-label",t.label),s),{el:r,set:c=>h(c,!1),get:()=>i}}var ea=/^(?:#[0-9a-f]{3,8}|[a-z]+|(?:oklch|oklab|rgba?|hsla?|hwb|lab|lch|color|var)\([^()]*\))$/i,na=$o("tw-select-chevron");function oa(t,e){let n=t.value,o=t.options.map(g=>({value:ie(g),label:to(g),color:g&&typeof g=="object"&&typeof g.color=="string"&&ea.test(g.color.trim())?g.color.trim():""})),r=w("div","tw-select"),s=yt("tw-select-trigger");s.setAttribute("aria-haspopup","listbox"),s.setAttribute("aria-expanded","false");let i=w("span","tw-select-right"),a=g=>`linear-gradient(${g}, ${g}), var(--tw-checker)`,l=g=>{let f=w("span","tw-option-swatch");return f.style.background=a(g),f},h=w("span","tw-option-swatch"),c=w("span","tw-select-value");i.append(h,c),i.insertAdjacentHTML("beforeend",na),s.append(tt("span","tw-select-label",t.label),i);let u=w("div","tw-select-dropdown");u.setAttribute("role","listbox");let d=o.map(g=>{let f=yt("tw-select-option");return f.setAttribute("role","option"),g.color&&f.append(l(g.color)),f.append(tt("span","tw-option-label",g.label)),f.dataset.value=g.value,f.addEventListener("click",()=>{L(g.value),b.close()}),u.append(f),f});r.append(s,u);let O=()=>{let g=o.find(f=>f.value===n);c.textContent=g?.label??n,h.style.display=g?.color?"":"none",g?.color&&(h.style.background=a(g.color)),d.forEach(f=>{let E=f.dataset.value===String(n);f.dataset.selected=String(E),f.setAttribute("aria-selected",String(E))})},L=(g,f=!0)=>{g!=null&&!o.some(E=>E.value===g)||(n=g,O(),f&&e(g))},b=Gt(r,s,u,{width:"match",fallbackH:200,gap:4,onOpen:()=>(d.find(g=>g.dataset.value===String(n))||d[0])?.focus()});return s.addEventListener("keydown",g=>{!b.isOpen()&&(g.key==="ArrowDown"||g.key==="ArrowUp")&&(g.preventDefault(),b.open())}),u.addEventListener("keydown",g=>{let f=d.indexOf(document.activeElement),E=f;if(g.key==="ArrowDown")E=f<0?0:Math.min(d.length-1,f+1);else if(g.key==="ArrowUp")E=f<0?d.length-1:Math.max(0,f-1);else if(g.key==="Home")E=0;else if(g.key==="End")E=d.length-1;else return;g.preventDefault(),d[E]?.focus()}),O(),{el:r,set:g=>L(g,!1),get:()=>n}}function ra(t){let e=tt("button","tw-button",t.label);return e.addEventListener("click",()=>t.action&&t.action()),ae(e)}function sa(t){let e=w("div","tw-row tw-buttongroup");t.label&&e.append(tt("span","tw-row-label",t.label));let n=w("div","tw-buttongroup-btns"),o=Array.isArray(t.buttons)?t.buttons.map(r=>[r.label??"Button",r.action]):Object.entries(t.buttons||{});for(let[r,s]of o){let i=tt("button","tw-buttongroup-btn",r);i.addEventListener("click",()=>typeof s=="function"&&s()),n.append(i)}return e.append(n),ae(e)}var ia=()=>ae(w("div","tw-separator"));function aa(t,e){let n=l=>l==null?"":typeof l=="object"?Ke(l):String(l),o=n(t.value),r=t.rows>0,s=w("div",r?"tw-row tw-row-multiline":"tw-row"),i=w(r?"textarea":"input",r?"tw-text tw-textarea":"tw-text");r?i.rows=t.rows:i.type="text",i.value=o,Kt(i),t.placeholder&&(i.placeholder=t.placeholder),i.addEventListener("input",()=>{o=i.value,e(o)});let a=()=>{let l=i.scrollHeight-i.clientHeight>1;i.classList.toggle("is-clip-top",l&&i.scrollTop>1),i.classList.toggle("is-clip-bottom",l&&i.scrollTop+i.clientHeight<i.scrollHeight-1)};return r&&(i.addEventListener("scroll",a),i.addEventListener("input",a),typeof ResizeObserver=="function"&&new ResizeObserver(a).observe(i)),s.append(tt("span","tw-row-label",t.label),i),{el:s,set:l=>{o=n(l),i.value=o,r&&a()},get:()=>o}}function on(t){let e=w("div","tw-folder"),n=yt("tw-folder-header");n.setAttribute("aria-expanded","true"),n.append(tt("span","tw-folder-title",t.label)),n.insertAdjacentHTML("beforeend",is);let o=w("div","tw-folder-body"),r=w("div","tw-controls");o.append(r),e.append(n,o);let s=i=>Te(e,n,o,i);return n.addEventListener("click",()=>s(!e.classList.contains("is-collapsed"))),{el:e,body:r,setCollapsed:s}}function je(t,e){let n=Xt(t.type);if(!n)return null;try{return n(t,e)}catch(o){return console.error("[tweaks] control failed to build:",t&&t.type,o),null}}it("slider",Zi);it("checkbox",Qi);it("radiogrid",ta);it("list",oa);it("button",ra);it("buttongroup",sa);it("separator",ia);it("text",aa);it("folder",on);var Be=null;function ca(t,e,n={}){let o=Object.entries(e).filter(([p])=>p!=="_last"||(console.warn('[tweaks] "_last" is reserved (the changed-key channel) \u2014 schema entry skipped'),!1)).map(([p,x])=>ke(p,x)).filter(Boolean),r={},s=[],i=new Set,a=new Set,l=new Set,h=[],c=!1,u=!1,d=[],O=new Map,L=!1,b=-1,g=p=>{if(!c){if(L){console.warn("[tweaks] call ignored \u2014 the panel could not be built");return}u?p():d.push(p)}},f=null,E=function(p,x){return p==="_last"&&this===r?void 0:x===void 0?null:typeof x=="bigint"?String(x):x},C=!1,B=()=>{let p={};for(let x of s){let M=p;for(let X of x.path.slice(0,-1))M=M[X]||(M[X]={});M[x.key]=x.get()}return JSON.parse(JSON.stringify(p,E))},j=()=>{try{return JSON.parse(JSON.stringify(r,E))}catch(p){return C||(C=!0,console.warn("[tweaks] a value parked on params can't be serialised \u2014 snapshots carry the controls' values only:",p)),B()}},_=n.persist?`tw:${n.persist===!0?t:n.persist}`:null,D=_?`${_}:presets`:null,V=p=>{try{return JSON.parse(localStorage.getItem(p)||"null")}catch{return null}},W=(p,x)=>{try{localStorage.setItem(p,JSON.stringify(x))}catch{}},P=(p,x)=>x.reduce((M,X)=>M?.[X],p),$=p=>{for(let x of s)if(!x.persist){let M=P(p,x.path.slice(0,-1));M&&typeof M=="object"&&Reflect.deleteProperty(M,x.key)}return p},Q=_?(()=>{let p=0,x=()=>{p=0,W(_,$(j()))};return h.push(()=>{p&&(clearTimeout(p),x())}),()=>{clearTimeout(p),p=setTimeout(x,150)}})():()=>{},K=(p,x=r._last)=>{(p?l:a).forEach(M=>{try{M(r,x)}catch(X){console.error("[tweaks] listener threw:",X)}}),c||Q()},U=p=>typeof p=="function"||typeof p=="symbol"||typeof p=="bigint",st=(p,x)=>{if(U(x))throw new TypeError(`a ${typeof x} is not a control value`);p.set(x),p.target[p.key]=p.get()},A=p=>{zn(p,p.raw,p.def),p.target[p.key]=p.get()},F=!1,y=()=>{if(typeof n.onReset=="function"&&!F){F=!0;try{return n.onReset()}finally{F=!1}}for(let p of s)try{A(p)}catch(x){console.error(`[tweaks] resetting "${p.path.join(".")}" failed \u2014 control skipped:`,x)}r._last=void 0,K()},m=w("div","tw-panel");m.dataset.mode="inline",eo(m);let S=w("div","tw-header"),k=yt("tw-header-toggle");k.setAttribute("aria-expanded","true");let v=t,I=tt("span","tw-title",v);k.append(I);let J=w("div","tw-toolbar"),T=()=>{let p={};for(let x of s)ue(x.get(),x.def)&&(p[x.path.join(".")]=x.get());return JSON.parse(JSON.stringify(p,E))},Y=Bn(m,()=>v,p=>{if(!p)return[JSON.stringify(j(),null,2),-1];let x=T();return[JSON.stringify(x,null,2),Object.keys(x).length]}),ot=Vn(y),at=null;_&&n.presets!==!1&&(at=tn("",as,"Presets"),at.setAttribute("aria-haspopup","menu"),at.setAttribute("aria-expanded","false"),J.append(at));let kt=!!n.filter&&(n.toolbar!==!1||(console.warn("[tweaks] opts.filter needs the toolbar (its search button lives there) \u2014 ignored alongside toolbar:false"),!1)),mt=kt?tn("",ss,"Filter controls"):null,gt=kt?w("input","tw-search"):null;kt&&(gt.type="text",gt.placeholder="Filter\u2026",gt.spellcheck=!1,gt.setAttribute("aria-label","Filter controls"),Kt(gt),J.append(mt)),J.append(Y,ot),S.append(k),kt&&S.append(gt),n.toolbar!==!1&&S.append(J);let xt=[Y,ot,at,mt].filter(Boolean);for(let p of xt)p.disabled=!0;let Tt=!1,Ot=!1;S.addEventListener("click",p=>{Ot&&(Ot=!1,p.preventDefault(),p.stopPropagation())},!0),k.addEventListener("click",()=>{Te(m,k,Pt,!m.classList.contains("is-collapsed")),m.dataset.mode==="floating"&&setTimeout(()=>{m.dataset.mode==="floating"&&m.isConnected&&(Lt(),ut())},270)});let Pt=w("div","tw-body"),H=w("div","tw-controls");Pt.append(H),m.append(S,Pt);let G=ro(n.theme);bn(m,G),m._twTheme=G;let dt=n.draggable!==!1,ct=8,Ct=28,Bt=()=>({maxX:Math.max(ct,window.innerWidth-m.offsetWidth-ct),maxY:Math.max(ct,window.innerHeight-m.offsetHeight-ct)}),Rt=_?`${_}:pos`:null,N=(dt||n.floating)&&Rt?V(Rt):null,et=N||(typeof n.floating=="object"?n.floating:null)||{x:16,y:16},pt=+et.x||16,bt=+et.y||16,ut=()=>{m.style.left=pt+"px",m.style.top=bt+"px"},Lt=()=>{let{maxX:p,maxY:x}=Bt();pt=R(pt,ct,p),bt=R(bt,ct,x)};(dt||n.floating)&&(n.floating||N)&&(m.dataset.mode="floating",Lt(),ut(),requestAnimationFrame(()=>{!c&&m.dataset.mode==="floating"&&m.isConnected&&(Lt(),ut())}));let zt=p=>{A(p),r._last=p.key,K()},Zt=(p,x)=>{let M=p.querySelector(".tw-slider-value")||p.querySelector(_o)||p;M.classList.add("tw-resettable"),M.title="Double-click or hold to reset";let X=0,rt=0,q=0,lt=!1,Z=()=>{X&&(clearTimeout(X),X=0,M.classList.remove("tw-reset-holding"))};M.addEventListener("pointerdown",z=>{z.stopPropagation(),lt=!1,!(z.pointerType!=="touch"&&z.pointerType!=="pen")&&(rt=z.clientX,q=z.clientY,M.classList.add("tw-reset-holding"),X=setTimeout(()=>{X=0,M.classList.remove("tw-reset-holding","is-editable"),lt=!0,zt(x)},500))}),M.addEventListener("pointermove",z=>{X&&Math.abs(z.clientX-rt)+Math.abs(z.clientY-q)>8&&Z()}),M.addEventListener("pointerup",Z),M.addEventListener("pointercancel",Z),M.addEventListener("pointerleave",Z),M.addEventListener("contextmenu",z=>{lt&&z.preventDefault()}),M.addEventListener("click",z=>{lt&&(z.preventDefault(),z.stopImmediatePropagation(),lt=!1)},!0),M.addEventListener("dblclick",z=>{M===p&&z.target.closest&&z.target.closest("input, textarea")||(z.preventDefault(),z.stopPropagation(),zt(x))}),M.classList.contains("tw-slider-value")&&p.addEventListener("dblclick",z=>{let ft=z.target;!ft.classList||!ft.classList.contains("tw-slider-input")||(z.preventDefault(),z.stopPropagation(),ft.blur(),zt(x))}),p.addEventListener("keydown",z=>{!z.altKey||z.metaKey||z.ctrlKey||z.key!=="Backspace"&&z.key!=="Delete"||(z.preventDefault(),z.stopPropagation(),z.target.classList&&z.target.classList.contains("tw-slider-input")&&z.target.blur(),zt(x))})},_t=[],Qt,Ve=(p,x)=>!p._hid==!x?!1:(p._hid=x,Qt?Qt(p,x):p.classList.toggle("tw-cond-hidden",x),!x),Ut=(p,x)=>{x.hint&&Ie(p,x.hint),(x.render||x.disabled!=null)&&_t.push({node:p,m:x})},te=[],Ge=[],de=[],Ht=[],he=p=>{typeof p.destroy=="function"&&h.push(p.destroy)},we=(p,x,M,X=[],rt=null)=>{for(let q of x){if(q.type==="tabs"){let z={};i.add(z),M[q.key]=z;let ft=Xt("tabs"),nt=ft&&ft(q);if(!nt)continue;Ht.push({path:[...X,q.key],ctrl:nt,pageKeys:q.pages.map(wt=>wt.key)}),q.pages.forEach((wt,Dt)=>{let Jt={};i.add(Jt),z[wt.key]=Jt,we(nt.bodies[Dt],wt.children,Jt,[...X,q.key,wt.key])}),Ut(nt.el,q),p.append(nt.el);continue}if(q.type==="folder"){let z={};i.add(z),M[q.key]=z;let ft=on(q);de.push({path:[...X,q.key],el:ft.el,setCollapsed:ft.setCollapsed});let nt=kt?{el:ft.el,label:q.label,body:ft.body}:null;nt&&Ge.push(nt),we(ft.body,q.children,z,[...X,q.key],nt),Ut(ft.el,q),p.append(ft.el);continue}let lt=!Kn.has(q.type),Z=je(q,lt?z=>{ue(M[q.key],z)&&(M[q.key]=z,r._last=q.key,K())}:()=>{});if(Z){if(he(Z),lt){let z=Z.get();be(M,q.key)&&Z.set(M[q.key]),M[q.key]=Z.get();let ft={target:M,key:q.key,set:Z.set,get:Z.get,raw:q.value,def:z,path:[...X,q.key],persist:q.persist!==!1};s.push(ft),Zt(Z.el,ft)}Ut(Z.el,q),kt&&q.type!=="separator"&&te.push({el:Z.el,label:q.label,folder:rt}),p.append(Z.el)}}};if(kt){let p=M=>{let X=M.trim().toLowerCase(),rt=!1,q=(lt,Z)=>{!Z&&lt.classList.contains("tw-filter-hidden")&&(rt=!0),lt.classList.toggle("tw-filter-hidden",Z)};if(!X)te.forEach(lt=>q(lt.el,!1)),Ge.forEach(lt=>q(lt.el,!1));else{for(let lt of te){let Z=lt.folder&&hn(lt.folder.label,X);q(lt.el,!(hn(lt.label,X)||Z))}for(let lt of Ge.slice().reverse()){let Z=[...lt.body.children].some(z=>!z.classList.contains("tw-filter-hidden"));q(lt.el,!(hn(lt.label,X)||Z))}}rt&&no()},x=()=>{m.classList.remove("is-searching"),gt.value="",p("")};mt.addEventListener("click",()=>{mt.disabled||(m.classList.toggle("is-searching")?(gt.focus(),gt.select()):x())}),gt.addEventListener("input",()=>p(gt.value)),gt.addEventListener("keydown",M=>{M.key==="Escape"&&(x(),mt.focus())})}let rn=new Set(o.map(p=>p.key)),sn=(p,x)=>{if(!(!p||typeof p!="object")){for(let M of s){let X=P(p,M.path);if(X!==void 0)try{st(M,X)}catch(rt){console.error(`[tweaks] restoring "${M.path.join(".")}" failed \u2014 value skipped:`,rt)}}for(let M of Object.keys(p))if(!rn.has(M)&&M!=="_last"&&be(r,M)&&!Xn(M)&&!U(p[M]))try{r[M]=p[M]}catch(X){console.error(`[tweaks] restoring "${M}" failed \u2014 value skipped:`,X)}r._last=void 0,K(x)}},Ce=()=>{let p=D?V(D):null;return Object.assign(Object.create(null),p&&typeof p=="object"?p:{})},jo=p=>{let x=Ce();x[p]=j(),W(D,x)},Bo=p=>{let x=Ce();x[p]&&sn(x[p])},Vo=p=>{let x=Ce();delete x[p],W(D,x)},an=p=>p.map(x=>String(x).replace(/~/g,"~1").replace(/\./g,"~0")).join("."),Ss=()=>{let p={};if(de.length){let x={};for(let M of de)x[an(M.path)]=M.el.classList.contains("is-collapsed");p.folders=x}if(Ht.length){let x={};for(let M of Ht)x[an(M.path)]=M.pageKeys[M.ctrl.active()]??null;p.tabs=x}return p},As=p=>{if(!(!p||typeof p!="object")){if(p.folders)for(let x of de){let M=p.folders[an(x.path)];typeof M=="boolean"&&x.setCollapsed(M)}if(p.tabs)for(let x of Ht){let M=x.pageKeys.indexOf(p.tabs[an(x.path)]);M>=0&&M!==x.ctrl.active()&&x.ctrl.activate(M)}}};if(dt||n.floating){if(dt){m.dataset.draggable="true";let nt=w("span","tw-grabber");nt.setAttribute("aria-hidden","true"),S.prepend(nt)}let p=()=>{if(m.dataset.mode==="floating")return;let nt=m.getBoundingClientRect();if(pt=nt.left,bt=nt.top,m.parentNode&&(f=w("span","tw-lift-slot"),f.style.width=nt.width+"px",f.style.height=nt.height+"px",f.setAttribute("aria-hidden","true"),m.before(f)),so(m,m),document.body.appendChild(m),m.dataset.mode="floating",ut(),f&&typeof MutationObserver=="function"){let wt=new MutationObserver(()=>{f&&!f.isConnected&&(wt.disconnect(),f=null,m.remove())});wt.observe(document.documentElement,{childList:!0,subtree:!0}),h.push(()=>wt.disconnect())}},x=()=>{Be&&Be!==m&&(Be.style.zIndex=""),m.style.zIndex="99991",Be=m},M=null,X=0,rt=0,q=0,lt=0,Z=nt=>{for(let[wt,Dt]of[["pointermove",z],["pointerup",ft],["pointercancel",ft]])nt?document.addEventListener(wt,Dt,!0):document.removeEventListener(wt,Dt,!0)};dt&&S.addEventListener("pointerdown",nt=>{if(!(nt.button!==0||M!==null||nt.target.closest(".tw-toolbar, input, textarea, select"))&&(M=nt.pointerId,X=nt.clientX,rt=nt.clientY,Tt=!1,Z(!0),m.classList.add("is-grabbing"),m.style.transition)){let wt=getComputedStyle(m);pt=parseFloat(wt.left)||pt,bt=parseFloat(wt.top)||bt,m.style.transition="",ut()}});let z=nt=>{if(nt.pointerId!==M)return;if(nt.buttons===0){ft(nt);return}let wt=nt.clientX-X,Dt=nt.clientY-rt;if(!Tt){if(Math.abs(wt)+Math.abs(Dt)<4)return;Tt=!0,p(),x(),q=pt,lt=bt;try{S.setPointerCapture(M)}catch{}m.classList.add("is-dragging")}let{maxX:Jt,maxY:Mt}=Bt();pt=R(q+wt,ct,Jt),bt=R(lt+Dt,ct,Mt),ut()},ft=nt=>{if(nt.pointerId===M){try{S.releasePointerCapture(M)}catch{}if(M=null,Z(!1),Ot=Tt,Ot&&setTimeout(()=>{Ot=!1},0),Tt){let{maxX:wt,maxY:Dt}=Bt();pt<=ct+Ct?pt=ct:pt>=wt-Ct&&(pt=wt),bt<=ct+Ct?bt=ct:bt>=Dt-Ct&&(bt=Dt),ee.matches||(m.style.transition="left 0.32s var(--tw-ease-spring), top 0.32s var(--tw-ease-spring)",setTimeout(()=>{m.style.transition=""},340)),ut(),Rt&&W(Rt,{x:pt,y:bt})}m.classList.remove("is-dragging","is-grabbing")}};S.addEventListener("lostpointercapture",ft),h.push(()=>Z(!1))}let Ts=()=>{(dt||n.floating)&&(m.dataset.mode==="floating"&&(Lt(),ut()),h.push(Vt(m,[[window,"resize"]],()=>{m.dataset.mode==="floating"&&(Lt(),ut())})))};if(at){let p=w("div","tw-presets-menu"),x=w("div","tw-presets-save"),M=w("input","tw-presets-input");M.type="text",M.placeholder="Preset name\u2026",M.spellcheck=!1,M.setAttribute("aria-label","New preset name"),Kt(M);let X=tt("button","tw-presets-savebtn","Save");x.append(M,X);let rt=w("div","tw-presets-list");p.append(x,rt);let q=()=>{let z=Ce(),ft=Object.keys(z);if(rt.replaceChildren(),!ft.length)return rt.append(tt("div","tw-presets-empty","No presets yet"));for(let nt of ft){let wt=w("div","tw-presets-row"),Dt=tt("button","tw-presets-load",nt);Dt.addEventListener("click",()=>{Bo(nt),Z.close(),ce(`Loaded \u201C${nt}\u201D`,m)});let Jt=yt("tw-presets-del",ls);Jt.setAttribute("aria-label",`Delete preset ${nt}`),Jt.addEventListener("click",Mt=>{Mt.stopPropagation(),Vo(nt),q()}),wt.append(Dt,Jt),rt.append(wt)}},lt=()=>{let z=M.value.trim();if(!z){M.focus();return}jo(z),M.value="",q(),ce(`Saved \u201C${z}\u201D`,m)},Z=Gt(at,at,p,{width:208,fallbackH:160,gap:6,align:"end",onOpen:()=>{q(),M.focus()}});X.addEventListener("click",lt),M.addEventListener("keydown",z=>{z.key==="Enter"&&lt()})}if(n.onEditStart||n.onEditEnd){let p=".tw-slider, .tw-num-grab, .tw-pad, .tw-wg-area, .tw-wg-hue, .tw-wg-alpha, .tw-bezier-handle, .tw-gradient-bar, .tw-gradient-stop",x=!1,M=()=>{document.removeEventListener("pointerup",M,!0),document.removeEventListener("pointercancel",M,!0),x&&(x=!1,n.onEditEnd&&n.onEditEnd())},X=rt=>{x||!rt.target.closest(p)||(x=!0,n.onEditStart&&n.onEditStart(),document.addEventListener("pointerup",M,!0),document.addEventListener("pointercancel",M,!0))};m.addEventListener("pointerdown",X),m._twEditPointer=X,h.push(M)}let Xe=n.undo?(()=>{let x=[],M=0,X=!1,rt=0,q=()=>{rt=0;let Mt=j();JSON.stringify(Mt)!==JSON.stringify(x[M])&&(x=x.slice(0,M+1),x.push(Mt),x.length>200&&(x=x.slice(x.length-200)),M=x.length-1)},lt=()=>{X||(clearTimeout(rt),rt=setTimeout(q,350))},Z=()=>{rt&&(clearTimeout(rt),q())};a.add(lt),l.add(lt);let z=Mt=>{X=!0,sn(x[Mt]),X=!1,M=Mt},ft=()=>{Z(),M>0&&z(M-1)},nt=()=>{Z(),M<x.length-1&&z(M+1)},wt=()=>m.matches(":hover")||m.contains(document.activeElement),Dt=Mt=>!!(Mt&&Mt.matches&&(Mt.matches("input, textarea")||Mt.isContentEditable)),Jt=Mt=>{if(!wt()||!(Mt.metaKey||Mt.ctrlKey)||Dt(Mt.target))return;let Ko=Mt.key.toLowerCase();Ko==="z"?(Mt.preventDefault(),Mt.shiftKey?nt():ft()):Ko==="y"&&(Mt.preventDefault(),nt())};return{undo:ft,redo:nt,arm:()=>{x=[j()],M=0,h.push(Vt(m,[[document,"keydown"]],Jt))}}})():null,Go=()=>{if(!c){if(b=h.length,we(H,o,r),_t.length){let p=new Map;for(let X of s)p.has(X.key)||p.set(X.key,X);let x=X=>{let rt=p.get(X);return rt?rt.target[rt.key]:r[X]},M=()=>{let X=!1;for(let{node:rt,m:q}of _t)try{if(q.render&&Ve(rt,!q.render(x))&&(X=!0),q.disabled!=null){let lt=typeof q.disabled=="function"?q.disabled(x):q.disabled;wn(rt,!!lt)}}catch{}X&&no()};a.add(M),l.add(M),M(),Promise.resolve().then(()=>(Es(),Ms)).then(X=>{Qt=X.fold},()=>{})}if(_&&sn($(V(_))),!c){Xe?.arm(),Ts(),u=!0;for(let p of d.splice(0)){if(c)break;try{p()}catch(x){console.error("[tweaks] a call queued before ready failed:",x)}}O.clear();for(let p of xt)p.disabled=!1}}},Xo=(p,x)=>{if(String(p).split(".").some(Xn))return console.warn(`[tweaks] set("${p}") ignored \u2014 reserved key`),!1;let M=String(p).split("."),X;if(M.length>1){let Z=r;for(let z=0;z<M.length-1&&Z;z++)Z=Z[M[z]],i.has(Z)||(Z=null);if(X=Z&&s.find(z=>z.target===Z&&z.key===M[M.length-1]),!X)return console.warn(`[tweaks] set("${p}") \u2014 no control at that path`),!1}else{let Z=s.filter(ft=>ft.key===p),z=Z.find(ft=>ft.target===r);if(!z&&Z.length>1)return console.warn(`[tweaks] set("${p}") is ambiguous \u2014 ${Z.length} controls share that key; use a dotted path (e.g. "${Z[0].path.join(".")}")`),!1;X=z||Z[0]}let rt=X?X.target:r,q=X?X.key:p,lt=rt[q];if(X&&U(x))return console.warn(`[tweaks] set("${p}") ignored \u2014 a ${typeof x} is not a control value`),!1;if(X)try{st(X,x)}catch(Z){return console.error(`[tweaks] set("${p}") failed \u2014 value skipped:`,Z),!1}else{if(i.has(r[p]))return console.warn(`[tweaks] set("${p}") ignored \u2014 it's a folder/tabs group; set its children instead`),!1;r[p]=x}return ue(lt,rt[q])?(r._last=q,!0):!1},Le={el:m,params:r,on(p){return c?()=>{}:(a.add(p),()=>a.delete(p))},set(p,x,M){let X=String(p),rt=M?.silent;g(()=>{Xo(X,x)&&K(rt)})},setMany(p,x){if(p==null||typeof p!="object")return;let M=Object.entries(p),X=x?.silent;g(()=>{let rt=!1;for(let[q,lt]of M)try{Xo(q,lt)&&(rt=!0)}catch(Z){console.error(`[tweaks] setMany("${q}") failed \u2014 key skipped:`,Z)}rt&&K(X)})},reset(){u&&!c&&Fo(ot),g(y)},toJSON(){return c?{values:{},ui:{}}:{values:j(),ui:Ss()}},changes(){return c?{}:T()},fromJSON(p,x){if(!p||typeof p!="object")return;let M=x?.silent,X=p.values&&typeof p.values=="object"?{...p.values}:p.values,rt=p.ui&&typeof p.ui=="object"?{...p.ui}:p.ui;g(()=>{X&&sn(X,M),As(rt)})},setName(p){c||(v=String(p),I.textContent=v)},setTheme(p){if(!c){if(G)for(let x in G)m.style.removeProperty(x);G=ro(p),m._twTheme=G,bn(m,G),window.dispatchEvent(new Event("tw-retheme"))}},savePreset:p=>c||L||!D||!p?!1:(u||O.set(String(p),"save"),g(()=>jo(p)),!0),loadPreset:p=>{let x=O.get(String(p));return c||L||x==="delete"||!(x==="save"||Ce()[p])?!1:(g(()=>Bo(p)),!0)},deletePreset:p=>{D&&(u||O.set(String(p),"delete"),g(()=>Vo(p)))},presets:()=>c?[]:Object.keys(Ce()),undo:()=>{Xe&&g(Xe.undo)},redo:()=>{Xe&&g(Xe.redo)},destroy(){if(!c){c=!0,Zo(m),en(m);for(let p of h.splice(0))try{p()}catch{}a.clear(),f&&(f.remove(),f=null),Be===m&&(Be=null),m.dataset.twDestroyed="",m.remove()}}},zo=De(o);if(zo){let p=x=>{if(L=!0,d.length=0,b>=0)for(let M of h.splice(b))try{M()}catch{}for(let M of H.children)M.dataset.twDestroyed="";throw a.clear(),s.length=0,H.replaceChildren(),c||console.warn(`[tweaks] "${t}": the panel could not be built \u2014 ${b>=0?"the build threw":"its lazy controls failed to load"}; the API is inert`),x};Le.ready=m.ready=zo.then(Go).then(()=>Le,p),Le.ready.catch(()=>{})}else Go(),Le.ready=m.ready=Promise.resolve(Le);return Le}vt();var ua=(t,e)=>{t.dataset.value=e==null?"":Array.isArray(e)?e.join(","):typeof e=="object"?Object.values(e).join(","):String(e)},da=(t,e,n)=>{ua(t,n),t.dispatchEvent(new CustomEvent("tw:change",{bubbles:!0,detail:{key:e,value:n}}))},Io=(t,e)=>[...typeof t.matches=="function"&&t.matches(e)?[t]:[],...t.querySelectorAll(e)];async function ks(t=document){Io(t,'.tw-panel[data-mode="inline"]:not([data-tw-panel-bound])').forEach(o=>{let r=o.querySelector(":scope > .tw-header"),s=o.querySelector(":scope > .tw-controls");if(!r||!s)return;o.setAttribute("data-tw-panel-bound","");let i=w("div","tw-body");o.insertBefore(i,s),i.append(s);let a=r.querySelector(".tw-header-toggle"),l=r.querySelector(".tw-title");if(!a&&l&&(a=yt("tw-header-toggle"),l.replaceWith(a),a.append(l)),!!a&&(a.setAttribute("aria-expanded","true"),a.addEventListener("click",()=>Te(o,a,i,!o.classList.contains("is-collapsed"))),!r.querySelector(".tw-toolbar"))){let h=l&&l.textContent||"Panel",c=()=>[...o.querySelectorAll("[data-tw]")].map(L=>L._tw).filter(L=>L&&L.ctrl.get()!==void 0),u=()=>{let L=Object.create(null);for(let b of c()){let g=b.key,f=2;for(;be(L,g);)g=`${b.key}-${f++}`;L[g]=b.ctrl.get()}return JSON.stringify(L,null,2)},d=()=>{for(let L of c())L.reset()},O=w("div","tw-toolbar");O.append(Bn(o,()=>h,()=>[u(),-1]),Vn(d)),r.append(O)}}),Io(t,'[data-tw="folder"]:not([data-tw-bound])').forEach(o=>{o.setAttribute("data-tw-bound","");let r=on({label:o.dataset.label||"Folder"});[...o.children].forEach(s=>r.body.append(s)),o.append(r.el)});let e=Io(t,"[data-tw]:not([data-tw-bound])").map(o=>({host:o,meta:ws(o)})).filter(o=>o.meta);e.forEach(({host:o})=>o.setAttribute("data-tw-bound",""));let n=De(e.map(o=>o.meta));n&&await n.catch(()=>{});for(let{host:o,meta:r}of e){let s=o.dataset.key||r.label,i,a=u=>{ue(i,u)&&(i=u,da(o,s,u))},l=je(r,a);if(!l)continue;o.closest(".tw-panel, .tw-portal")||o.classList.add("tw-portal"),o.append(l.el),o.dataset.hint&&Ie(l.el,o.dataset.hint);let h=l.get();i=h;let c={...l,set:u=>{l.set(u),a(l.get())}};o._tw={ctrl:c,raw:r.value,def:h,key:s,host:o,reset:()=>{zn(l,r.value,h),a(l.get())}}}}if(typeof document<"u"){let t=()=>ks(document);document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}vt();var Cs=t=>w("div",`${t} tw-standalone tw-portal`),Ls=(t,e,n)=>{let o=De(t);if(!o)return e(),Promise.resolve(n);let r=o.then(e).then(()=>n);return r.catch(()=>{}),r};function pa(t,e,n={}){let o=n.key??"value",r=ke(o,e);if(!r||r.type==="folder"||r.type==="tabs")throw new TypeError(`[tweaks] mountControl: "${o}" is not a single-control schema value`);n.label!=null&&(r.label=String(n.label));let s=!Kn.has(r.type),i=Cs("tw-control");t.append(i);let a=null,l=!1,h=r.value,c,u=!1,d=b=>{ue(h,b)&&(h=b,n.onChange&&n.onChange(b,o))},O=()=>{if(l||(a=je(r,s?d:()=>{}),!a))return;r.hint&&Ie(a.el,r.hint);let b=()=>{};try{r.render&&!r.render(b)&&a.el.classList.add("tw-cond-hidden")}catch{}try{(typeof r.disabled=="function"?r.disabled(b):r.disabled)&&wn(a.el,!0)}catch{}i.append(a.el),s&&(h=a.get(),u&&(a.set(c),d(a.get())))},L={el:i,set:b=>{l||!s||(a?(a.set(b),d(a.get())):(c=b,u=!0))},get:()=>s?a?a.get():u?c:r.value:void 0,destroy:()=>{l=!0,a&&typeof a.destroy=="function"&&a.destroy(),i.dataset.twDestroyed="",i.remove()},ready:null};return L.ready=Ls([r],O,L),L}function fa(t={}){let e=Cs("tw-color-picker"),n=null,o=!1,r=t.value,s,i=!1,a=null,l=u=>{ue(r,u)&&(r=u,t.onChange&&t.onChange(u))},h=()=>{if(o)return;let u=Xt("colorpicker");u&&(n=u({value:t.value,mode:t.mode},l),r=n.get(),e.append(n.el),a&&n.setMode(a),i&&(n.set(s),l(n.get())),jt(n.reflow))},c={el:e,set:u=>{o||(n?(n.set(u),l(n.get())):(s=u,i=!0))},get:()=>n?n.get():i?s:t.value,mode:()=>n?n.mode():a||t.mode||"oklch",setMode:u=>{n?n.setMode(u):a=u},reflow:()=>{n&&n.reflow()},destroy:()=>{o=!0,e.remove()},ready:null};return c.ready=Ls([{type:"color"}],h,c),c}dn();export{fa as createColorPicker,ks as enhance,un as gradientCss,Jn as gradientStops,pa as mountControl,ca as tweaks};
2
+ var Si=Object.defineProperty;var rn=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(o){throw n=[o],o}};var Co=(t,e)=>{for(var n in e)Si(t,n,{get:e[n],enumerable:!0})};function An(t){if(typeof t!="string")return null;let e=t.trim().toLowerCase();if(Tr[e])return Tr[e];let n=/^cubic-bezier\(([^()]*)\)$/.exec(e);if(!n)return null;let o=n[1].split(",").map(r=>r.trim()?Number(r):NaN);return o.length!==4||!o.every(Number.isFinite)?null:[Sn(o[0]),o[1],Sn(o[2]),o[3]]}function Or(t){let e=[];for(let n=0;n<=So;n++){let o=n/So,r=1-o,s=3*r*r*o,i=3*r*o*o,a=o*o*o;e.push([s*t[0]+i*t[2]+a,Sn(s*t[1]+i*t[3]+a)])}return e}function Pr(t,e){if(e=Sn(e),!t)return e;let n=Or(t);for(let o=1;o<n.length;o++)if(e<=n[o][0]){let[r,s]=n[o-1],[i,a]=n[o];return i>r?s+(a-s)*(e-r)/(i-r):a}return 1}function To(t){let e=[...t.stops].sort((a,u)=>a.pos-u.pos),n=a=>`${a.color} ${Lo(a.pos)}%`,o=An(t.easing);if(!o||e.length<2)return e.map(n).join(", ");let r=Or(o),s=t.interpolation||"oklch",i=[n(e[0])];for(let a=1;a<e.length;a++){let u=e[a-1],y=e[a],d=y.pos-u.pos;if(d>1e-6)for(let p=1;p<So;p++){let[f,C]=r[p];i.push(`color-mix(in ${s}, ${u.color}, ${y.color} ${Lo(C)}%) ${Lo(u.pos+d*f)}%`)}i.push(n(y))}return i.join(", ")}function Tn(t,e="to right"){return`linear-gradient(in ${t.interpolation||"oklch"} ${typeof e=="number"?`${e}deg`:e}, ${To(t)})`}var Tr,Sn,So,Ao,Lo,On=rn(()=>{Tr=Object.assign(Object.create(null),{ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]}),Sn=t=>Math.min(1,Math.max(0,t)),So=15;Ao=t=>An(t)?t.trim().toLowerCase():"linear";Lo=t=>+(t*100).toFixed(2)});function zt(t,e,n,o={}){let r=!1,s=null;n.classList.add("tw-portal"),n.inert=!0,n.addEventListener("pointerdown",g=>e.closest(".tw-panel")?._twEditPointer?.(g),!0),Ro(n);let i=0,a=0,u=()=>{Fo(e,n,{width:o.width,fallbackH:o.fallbackH,gap:o.gap,align:o.align});let g=e.getBoundingClientRect();i=parseFloat(n.style.left)-g.left,a=parseFloat(n.style.top)-g.top},y=()=>{if(r){if(!t.isConnected)return c();u(),o.onReflow&&o.onReflow()}},d=()=>{if(!r)return;if(!t.isConnected)return c();let g=e.getBoundingClientRect(),T=e.closest(".tw-panel")?.getBoundingClientRect();if(!(g.width||g.height)||g.bottom<0||g.top>window.innerHeight||g.right<0||g.left>window.innerWidth||T?.height&&(g.bottom<T.top||g.top>T.bottom))return c();n.style.left=g.left+i+"px",n.style.top=g.top+a+"px"},p=g=>{!t.contains(g.target)&&!n.contains(g.target)&&c()},f=g=>{g.key==="Escape"&&r&&(c(),e.focus())},C=g=>{if(!r)return;let T=g.relatedTarget;(T?t.contains(T)||n.contains(T):sn)||(c(),T&&!e.closest(".tw-panel")?.contains(T)&&setTimeout(()=>{!r&&document.activeElement===T&&e.focus()},0))};t.addEventListener("focusout",C),n.addEventListener("focusout",C);let S=()=>n.querySelector('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'),m=()=>Ie(n,t),E=g=>{g.every(T=>T.target===n)||m()},w=()=>{ve&&ve!==c&&ve(),ve=c,Po=e,r=!0,t.classList.add("is-open"),e.setAttribute("aria-expanded","true"),n.inert=!1,document.body.appendChild(n),Ie(n,t),window.addEventListener("tw-retheme",m),typeof MutationObserver=="function"&&(s=new MutationObserver(E),s.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),u(),requestAnimationFrame(()=>{if(r&&(n.classList.add("is-open"),o.onOpen&&o.onOpen(),u(),!n.contains(document.activeElement))){let g=o.initialFocus&&o.initialFocus()||S();g&&g.focus({focusVisible:!sn})}}),requestAnimationFrame(function g(){if(r){if(!t.isConnected)return c();requestAnimationFrame(g)}}),setTimeout(()=>{r&&document.addEventListener("pointerdown",p,!0)},0),document.addEventListener("keydown",f),window.addEventListener("scroll",d,!0),window.addEventListener("resize",y)},c=()=>{ve===c&&(ve=null,Po=null),n.contains(document.activeElement)&&e.focus(),r=!1,t.classList.remove("is-open"),n.classList.remove("is-open"),n.inert=!0,e.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",p,!0),document.removeEventListener("keydown",f),window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",y),window.removeEventListener("tw-retheme",m),s&&(s.disconnect(),s=null),setTimeout(()=>{r||n.remove()},200)};return e.addEventListener("click",()=>{e.disabled||(r?c():w())}),{open:w,close:c,isOpen:()=>r,reflow:y}}function Me(t,e,n,o){let r=h("div","tw-seg");r.setAttribute("role","radiogroup"),o&&r.setAttribute("aria-label",o);let s=h("div","tw-seg-pill");r.append(s);let i=t.map(d=>{let p=dn("tw-seg-btn",d,f=>y(f));return r.append(p),p}),a=d=>Io(r,s,d),u=()=>{jo(i,e),a(!0)},y=(d,p=!0)=>{d!=null&&!i.some(f=>f._twVal===d)||(e=d,u(),p&&n(d))};return r.addEventListener("keydown",d=>{let p=In(i,e);if(p<0)return;let f=Ne(d.key,p,i.length);f<0||(d.preventDefault(),y(i[f]._twVal),i[f].focus())}),u(),Bt(()=>{a(),r.classList.add("is-ready")}),Gt(r,[[window,"tw-reflow"]],()=>a()),{el:r,set:d=>y(d,!1),get:()=>e}}var ln,_,At,cn,Nr,fe,Pe,je,Be,Pn,xe,Nn,me,Yt,un,No,h,ht,ot,Ro,Bt,Gt,$o,Rn,sn,Wt,Fo,Ai,Ti,Oo,Oi,Pi,_o,$n,Ho,Ie,ve,Po,$r,Fn,Ee,an,Do,Ni,Io,Ri,$i,Fi,_n,Hn,Dn,Ve,In,jo,dn,Ne,Pt,ge,Fr,lt,Vt,_r,Hr,Bo,Oe,Rr,Xt,Mt=rn(()=>{On();ln=t=>t.replace(/([a-z])(?=[A-Z])|([A-Z\d])(?=[A-Z][a-z])/g,"$1$2 ").replace(/^./,e=>e.toUpperCase()).trim(),_=(t,e,n)=>Math.min(n,Math.max(e,t)),At=t=>!!t&&typeof t=="object",cn=t=>typeof t=="string"&&(/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t.trim())||/^(oklch|oklab|rgba?|hsla?|hwb|lab|lch|color)\(/i.test(t.trim())),Nr=20,fe=t=>{let e=String(t),n=/e-(\d+)$/i.exec(e);if(n)return Math.min(Nr,Number(n[1])+(e.split("e")[0].split(".")[1]||"").length);let o=e.indexOf(".");return o===-1?0:Math.min(Nr,e.length-o-1)},Pe=(t,e,n)=>{if(!(n>0))return t;let o=fe(n),r=Number((+e).toFixed(o)),s=Math.round((t-r)/n);return Number.isFinite(s)?Number((r+s*n).toFixed(o)):t},je=(t,e,n,o=t)=>{let r=a=>Pe(a,o,n),s=Number.isFinite(t)?r(t):-1/0,i=Number.isFinite(e)?r(e):1/0;return s<t&&(s=r(s+n)),i>e&&(i=r(i-n)),s>i?[t,t]:[s,i]},Be=(t,e)=>{let n=e-t;return n<=1?.01:n<=10?.1:n<=100?1:10},Pn=(t,e,n,o=0,r=null)=>{let s=+t,i=+e,a=+n;if(Number.isFinite(s)||(s=o),Number.isFinite(i)||(i=r??s+100),i<s){let u=s;s=i,i=u}return(!(a>0)||a>i-s)&&(a=Be(s,i)),{min:s,max:i,step:a}},xe=(t,e,n,o,r,s=null)=>{let i=t.shiftKey?10:1;switch(t.key){case"ArrowRight":case"ArrowUp":return e+n*i;case"ArrowLeft":case"ArrowDown":return e-n*i;case"PageUp":return s!=null?e+s:null;case"PageDown":return s!=null?e-s:null;case"Home":return o;case"End":return r}return null},Nn=(t,e,n,o,r=0)=>{let s=t.offsetLeft,i=s+t.offsetWidth,a=e.offsetLeft,u=a+e.offsetWidth;return n<i&&n+o>s||n<u+r&&n+o>a-r},me=t=>t>=0?[0,t<=1?1:t*3||100]:[t>=-1?-1:t*3,0],Yt=t=>t==null?void 0:typeof t=="object"?t.value:t,un=t=>{try{return JSON.stringify(t)}catch{return String(t)}},No=t=>t==null?"":typeof t=="string"?ln(t):typeof t=="object"?t.label??(t.value!==void 0?String(t.value):un(t)):String(t),h=(t,e,n)=>{let o=document.createElement(t);return e&&(o.className=e),n!=null&&(o.innerHTML=n),(t=="input"||t=="textarea")&&(o.setAttribute("autocomplete","off"),o.setAttribute("data-1p-ignore",""),o.setAttribute("data-lpignore","true")),o},ht=(t,e)=>{let n=h("button",t,e);return n.type="button",n},ot=(t,e,n)=>{let o=h(t,e);return o.textContent=n,t==="button"&&(o.type="button"),o},Ro=t=>["pointerdown","pointermove","pointerup","click"].forEach(e=>t.addEventListener(e,n=>n.stopPropagation())),Bt=t=>{requestAnimationFrame(t),document.fonts&&document.fonts.ready&&document.fonts.ready.then(t)},Gt=(t,e,n)=>{let o=t.isConnected;o||requestAnimationFrame(()=>{t.isConnected&&(o=!0)});let r=i=>{if(!t.isConnected){(o||t.closest("[data-tw-destroyed]"))&&s();return}o=!0,n(i)},s=()=>e.forEach(([i,a])=>i.removeEventListener(a,r));return e.forEach(([i,a])=>i.addEventListener(a,r)),s},$o=()=>requestAnimationFrame(()=>window.dispatchEvent(new Event("tw-reflow"))),Rn=(t,e)=>{t.addEventListener("pointerenter",()=>{t.classList.add("is-hover"),e&&e()}),t.addEventListener("pointerleave",()=>t.classList.remove("is-hover"))},sn=!1;typeof document<"u"&&(document.addEventListener("pointerdown",()=>{sn=!0},!0),document.addEventListener("keydown",()=>{sn=!1},!0));Wt=t=>{t.addEventListener("focus",()=>t.classList.toggle("tw-focus-quiet",sn)),t.addEventListener("blur",()=>t.classList.remove("tw-focus-quiet"))},Fo=(t,e,{width:n,fallbackH:o=300,gap:r=6,align:s="start",prefer:i="below"}={})=>{let a=t.getBoundingClientRect();n==="match"&&(e.style.width=a.width+"px");let u=n==="match"?a.width:e.offsetWidth||n||0,y=s==="end"?a.right-u:s==="center"?a.left+a.width/2-u/2:a.left;e.style.left=Math.max(8,Math.min(y,window.innerWidth-u-8))+"px";let d=e.offsetHeight||o,p=window.innerHeight-a.bottom,f=a.top,C=d+12,S=p>=C,m=f>=C,w=(i==="above"?m||!S&&f>=p:!S&&(m||f>p))?a.top-d-r:a.bottom+r;e.style.top=_(w,r,window.innerHeight-d-r)+"px"},Ai=Object.assign(Object.create(null),{accent:"--tw-accent",onAccent:"--tw-on-accent",base:"--tw-base",dropdownBg:"--tw-dropdown-bg",surface:"--tw-surface",surfaceHover:"--tw-surface-hover",surfaceActive:"--tw-surface-active",border:"--tw-border",borderHover:"--tw-border-hover",selection:"--tw-selection",title:"--tw-text-root",section:"--tw-text-section",text:"--tw-text-primary",label:"--tw-text-label",textMuted:"--tw-text-secondary",textFaint:"--tw-text-tertiary",focus:"--tw-text-focus",success:"--tw-success",danger:"--tw-danger",shadow:"--tw-shadow-dropdown",shadowPanel:"--tw-shadow-panel",shadowPanelLifted:"--tw-shadow-panel-lifted",font:"--tw-font-sans",fontMono:"--tw-font-mono",radius:"--tw-radius",density:"--tw-row-height",width:"--tw-width"}),Ti=new Set(["radius","density","width"]),Oo=t=>(t/=255,t<=.03928?t/12.92:((t+.055)/1.055)**2.4),Oi=t=>{t=String(t).trim();let e=/^#([0-9a-f]{3})$/i.exec(t);if(e)return e[1].split("").map(n=>parseInt(n+n,16));if(e=/^#([0-9a-f]{6})$/i.exec(t),e)return[0,2,4].map(n=>parseInt(e[1].slice(n,n+2),16));if(e=/^rgba?\(([^)]+)\)/i.exec(t),e){let n=e[1].split(/[\s,/]+/).filter(Boolean).map(parseFloat);return[n[0],n[1],n[2]]}return null},Pi=t=>{let e=Oi(t);if(!e||e.some(o=>!Number.isFinite(o)))return"#ffffff";let n=.2126*Oo(e[0])+.7152*Oo(e[1])+.0722*Oo(e[2]);return 1.05/(n+.05)>=(n+.05)/.0571?"#ffffff":"#161616"},_o=t=>{if(!t||typeof t!="object")return null;let e={};for(let[n,o]of Object.entries(t)){if(n.startsWith("--")){e[n]=String(o);continue}let r=Ai[n];r&&(e[r]=Ti.has(n)&&typeof o=="number"?`${o}px`:String(o))}return e["--tw-accent"]&&!e["--tw-on-accent"]&&(e["--tw-on-accent"]=Pi(e["--tw-accent"])),Object.keys(e).length?e:null},$n=(t,e)=>{if(t){if(t._twAppliedVars)for(let n of t._twAppliedVars)t.style.removeProperty(n);if(t._twAppliedVars=e?Object.keys(e):null,e)for(let n in e)t.style.setProperty(n,e[n])}},Ho=(t,e)=>{let n=e?.closest('[data-tw-scheme="light"]')?"light":e?.closest('[data-tw-scheme="dark"]')?"dark":null;n?t.setAttribute("data-tw-scheme",n):t.removeAttribute("data-tw-scheme")},Ie=(t,e)=>{$n(t,e?.closest(".tw-panel")?._twTheme),Ho(t,e)},ve=null,Po=null,$r=t=>{ve&&(!t||t.contains(Po))&&ve()};Fn=(t,e)=>{if(t=t.toLowerCase(),t.includes(e))return!0;if(e.length<3)return!1;let n=e.length,o=t.length,r=new Array(o+1).fill(0);for(let s=1;s<=n;s++){let i=[s];for(let a=1;a<=o;a++)i[a]=Math.min(r[a]+1,i[a-1]+1,r[a-1]+(e[s-1]===t[a-1]?0:1));r=i}return Math.min(...r)<=(e.length<6?1:2)},Ee=typeof matchMedia=="function"?matchMedia("(prefers-reduced-motion: reduce)"):{matches:!1},an="cubic-bezier(0.22, 1, 0.36, 1)",Do="cubic-bezier(0.34, 1.2, 0.64, 1)",Ni=(t,e)=>{Ee.matches||typeof t.animate!="function"||(t.style.transformOrigin=e>0?"left center":"right center",t.animate([{transform:"scaleX(1)"},{transform:"scaleX(1.18)"},{transform:"scaleX(1)"}],{duration:300,easing:an}))},Io=(t,e,n)=>{let o=t.querySelector('[data-active="true"]');if(!o)return;let r=o.offsetLeft,s=o.offsetWidth,i=parseFloat(e.style.left);e.style.left=r+"px",e.style.width=s+"px",n&&Number.isFinite(i)&&i!==r&&Ni(e,r>i?1:-1)},Ri=32,$i=200,Fi=8,_n=(t,e,n)=>{let o=n<e.left?n-e.left:n>e.right?n-e.right:0,r=Math.sign(o)*Fi*Math.sqrt(Math.min(Math.max(0,Math.abs(o)-Ri)/$i,1));t.style.width=r?`calc(100% + ${Math.abs(r)}px)`:"",t.style.transform=r<0?`translateX(${r}px)`:""},Hn=t=>{t.style.transition=`width 0.35s ${an}, transform 0.35s ${an}`,t.style.width="",t.style.transform="",setTimeout(()=>{t.style.transition=""},360)},Dn=(t,e)=>{t.classList.toggle("is-disabled",e);for(let n of t.children)n.classList.contains("tw-portal")||(n.inert=e)},Ve=(t,e,n,o)=>{t.classList.toggle("is-collapsed",o),e.setAttribute("aria-expanded",String(!o)),n.inert=o},In=(t,e)=>{let n=t.findIndex(o=>o.dataset.value===String(e));return n<0&&t.length?0:n},jo=(t,e)=>{let n=In(t,e);t.forEach((o,r)=>{let s=o.dataset.value===String(e);o.dataset.active=String(s),o.setAttribute("aria-checked",String(s)),o.tabIndex=r===n?0:-1})},dn=(t,e,n)=>{let o=ot("button",t,No(e));return o.setAttribute("role","radio"),o._twVal=Yt(e),o.dataset.value=o._twVal,o.addEventListener("click",()=>n(o._twVal)),o},Ne=(t,e,n,o=0)=>{switch(t){case"ArrowRight":return(e+1)%n;case"ArrowLeft":return(e-1+n)%n;case"ArrowDown":return o<0?-1:o?e+o<n?e+o:e:(e+1)%n;case"ArrowUp":return o<0?-1:o?e-o>=0?e-o:e:(e-1+n)%n;case"Home":return 0;case"End":return n-1}return-1};Pt=(t,e="",n=2,o=24)=>`<svg${e?` class="${e}"`:""} viewBox="0 0 ${o} ${o}" fill="none" stroke="currentColor" stroke-width="${n}" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${t}</svg>`,ge=(t,e)=>({el:t,set:()=>{},get:()=>{},destroy:e}),Fr={},lt=(t,e)=>{Fr[t]=e},Vt=t=>Fr[t],_r=null,Hr=t=>{_r=t},Bo=()=>_r,Oe=null,Rr=0,Xt=t=>{Oe||(Oe=h("div","tw-sr"),Oe.setAttribute("role","status")),Oe.isConnected||document.body.appendChild(Oe),Oe.textContent="",clearTimeout(Rr),Rr=setTimeout(()=>{Oe.textContent=t},100)}});var jr={};Co(jr,{DATA_VALUE:()=>Ko});async function Ii(t,e){let{createFolder:n,createControl:o,makeCopyBtn:r,makeResetBtn:s,addHintMarker:i,restoreDefault:a,hasOwn:u,valueChanged:y,ensureForMetas:d}=e;Ir=e.SPRING_KEYS,Vo(t,'.tw-panel[data-mode="inline"]:not([data-tw-panel-bound])').forEach(C=>{let S=C.querySelector(":scope > .tw-header"),m=C.querySelector(":scope > .tw-controls");if(!S||!m)return;C.setAttribute("data-tw-panel-bound","");let E=h("div","tw-body");C.insertBefore(E,m),E.append(m);let w=S.querySelector(".tw-header-toggle"),c=S.querySelector(".tw-title");if(!w&&c&&(w=ht("tw-header-toggle"),c.replaceWith(w),w.append(c)),!!w&&(w.setAttribute("aria-expanded","true"),w.addEventListener("click",()=>Ve(C,w,E,!C.classList.contains("is-collapsed"))),!S.querySelector(".tw-toolbar"))){let g=()=>[...C.querySelectorAll("[data-tw]")].map(B=>B._tw).filter(B=>B&&B.ctrl.get()!==void 0),T=()=>{let B=Object.create(null);for(let H of g()){let V=H.key,L=2;for(;u(B,V);)V=`${H.key}-${L++}`;B[V]=H.ctrl.get()}return JSON.stringify(B,null,2)},O=()=>{for(let B of g())B.reset()},z=h("div","tw-toolbar");z.append(r(()=>[T(),-1]),s(O)),S.append(z)}}),Vo(t,'[data-tw="folder"]:not([data-tw-bound])').forEach(C=>{C.setAttribute("data-tw-bound","");let S=n({label:C.dataset.label||"Folder"});[...C.children].forEach(m=>S.body.append(m)),C.append(S.el)});let p=Vo(t,"[data-tw]:not([data-tw-bound])").map(C=>({host:C,meta:_i(e,C)})).filter(C=>C.meta);p.forEach(({host:C})=>C.setAttribute("data-tw-bound",""));let f=d(p.map(C=>C.meta));f&&await f.catch(()=>{});for(let{host:C,meta:S}of p){let m=C.dataset.key||S.label,E,w=O=>{y(E,O)&&(E=O,Di(C,m,O))},c=o(S,w);if(!c)continue;C.closest(".tw-panel, .tw-portal")||C.classList.add("tw-portal"),C.append(c.el),C.dataset.hint&&i(c.el,C.dataset.hint);let g=c.get();E=g;let T={...c,set:O=>{c.set(O),w(c.get())}};C._tw={ctrl:T,raw:S.value,def:g,key:m,host:C,reset:()=>{a(c,S.value,g),w(c.get())}}}}var Ir,Dr,Ko,gt,jn,Ke,_i,Hi,Di,Vo,Go=rn(()=>{Mt();Ir=[],Dr=t=>({...Object.fromEntries(Ir.map(e=>[e,gt(t[e])])),mode:t.mode}),Ko={slider:t=>({value:gt(t.value),min:gt(t.min),max:gt(t.max),step:gt(t.step),soft:jn(t.soft),unit:t.unit}),checkbox:t=>t.options?{type:"radiogrid",options:Ke(t.options),value:t.value,cols:gt(t.cols)}:{value:t.checked==="true"},radiogrid:t=>({options:Ke(t.options),value:t.value,cols:gt(t.cols)}),list:t=>({options:Ke(t.options),value:t.value}),image:t=>({value:t.value,options:t.options?Ke(t.options):void 0,cols:gt(t.cols),maxSize:gt(t.maxSize),upload:t.upload==="false"?!1:void 0}),buttongroup:t=>({buttons:Ke(t.buttons).map(e=>({label:e}))}),separator:()=>({}),number:t=>({value:gt(t.value),min:gt(t.min),max:gt(t.max),step:gt(t.step),unit:t.unit}),text:t=>({value:t.value??"",placeholder:t.placeholder,rows:gt(t.rows)}),fpsgraph:t=>({label:t.label??"FPS"}),interval:t=>({value:t.value?t.value.split(",").map(Number):void 0,min:gt(t.min),max:gt(t.max),step:gt(t.step)}),sides:t=>({value:t.value??t,corners:jn(t.corners),unit:t.unit,step:gt(t.step),min:gt(t.min),max:gt(t.max)}),shadow:t=>({value:t.value??{...t,inset:jn(t.inset)}}),spring:Dr,motion:t=>({...Dr(t),curve:t.curve&&t.curve.includes(",")?t.curve.split(",").map(Number):t.curve,duration:gt(t.duration)}),cubicbezier:t=>({value:t.value?t.value.split(",").map(Number):void 0}),point:t=>{let e=(t.value||"").split(",").map(n=>parseFloat(n));return{components:Ke(t.components||"X,Y").map((n,o)=>({key:n.toLowerCase(),label:n,value:isNaN(e[o])?0:e[o],step:gt(t.step),min:gt(t.min),max:gt(t.max)})),pad:jn(t.pad),invertY:t.invertY==="true"}},plot:t=>({expr:t.expr,xMin:gt(t.xmin),xMax:gt(t.xmax),yMin:gt(t.ymin),yMax:gt(t.ymax),samples:gt(t.samples),editable:t.editable!=="false"})},gt=t=>{if(t==null||t==="")return;let e=+t;return Number.isFinite(e)?e:void 0},jn=t=>t==="true"||t==="",Ke=t=>(t||"").split(",").map(e=>e.trim()).filter(Boolean),_i=(t,e)=>{let n=e.dataset,o=n.tw,r=n.label??ln(n.key||o),s=t.hasOwn(Ko,o)?Ko[o](n,e,r):t.LAZY_IMPORT[o]||Vt(o)?{...n}:null;return s?t.metaFor("v",{type:o,label:r,...s}):null},Hi=(t,e)=>{t.dataset.value=e==null?"":Array.isArray(e)?e.join(","):typeof e=="object"?Object.values(e).join(","):String(e)},Di=(t,e,n)=>{Hi(t,n),t.dispatchEvent(new CustomEvent("tw:change",{bubbles:!0,detail:{key:e,value:n}}))},Vo=(t,e)=>[...typeof t.matches=="function"&&t.matches(e)?[t]:[],...t.querySelectorAll(e)];Hr(Ii)});var li={};Co(li,{pasteInto:()=>yl,pasteScope:()=>wl,pick:()=>ai});function wl(t,e,n){let o=JSON.parse(n),r;if(e.kind==="row"){let s=e.entry,i=At(o)&&!Array.isArray(o)&&Object.keys(o).length===1&&Object.prototype.hasOwnProperty.call(o,s.key)?o[s.key]:o;r=ii(s,i)?[[s,i]]:[]}else{if(!At(o)||Array.isArray(o))return!1;let s=t.entries.filter(i=>i.path.length>e.path.length&&e.path.every((a,u)=>i.path[u]===a));r=[];for(let i of[o,gl(o)])for(let a of[si(i,e.path),i]){let u=At(a)?ai(s,a,e.path):[];u.length>r.length&&(r=u)}}return r.length?(hl(t,r),r.length):!1}function yl(t,e,n,o){if(!n.alive())return;let r=!1;if(t!==null)try{r=e(t)}catch{}if(n.announce(r?`${r} value${r===1?"":"s"} pasted`:t===null?"Couldn't read the clipboard":"Nothing to paste"),o){let s=r?"is-pasted":"is-refused";o.classList.remove("is-pasted","is-refused"),o.classList.add(s),clearTimeout(ri.get(o)),ri.set(o,setTimeout(()=>o.classList.remove(s),450))}return!!r}var ml,si,gl,bl,go,ii,ai,hl,ri,ci=rn(()=>{Mt();ml=new Set(["__proto__","constructor","prototype"]),si=(t,e)=>e.reduce((n,o)=>At(n)&&Object.prototype.hasOwnProperty.call(n,o)?n[o]:void 0,t),gl=t=>{let e={};for(let n of Object.keys(t)){let o=n.split(".");if(o.some(s=>ml.has(s)))continue;let r=e;for(let s of o.slice(0,-1))r=At(r[s])?r[s]:r[s]={};r[o[o.length-1]]=t[n]}return e},bl=t=>cn(t)&&(typeof CSS>"u"||!CSS.supports||CSS.supports("color",t)),go=(t,e,n)=>Array.isArray(t)?Array.isArray(e)&&(t.every(o=>!At(o))?e.length===t.length&&e.every((o,r)=>go(t[r],o,n)):e.length>=2&&e.length<=64&&e.every(o=>go(t[0],o,n))):At(t)?At(e)&&!Array.isArray(e)&&Object.keys(t).every(o=>go(t[o],e[o],n)):typeof e==typeof t&&(typeof e!="number"||Number.isFinite(e))&&(!n||!cn(t)||bl(e)),ii=(t,e)=>e!=null&&!t.el?.closest(".is-disabled")&&go(t.get(),e,t.m.type==="color"||t.m.type==="gradient")&&(!t.m.options||t.m.options.some(n=>JSON.stringify(Yt(n))===JSON.stringify(e))),ai=(t,e,n=[])=>t.map(o=>[o,si(e,o.path.slice(n.length))]).filter(([o,r])=>ii(o,r)),hl=(t,e)=>{let n={};for(let[o,r]of e){let s=n;for(let i of o.path.slice(0,-1))s=s[i]||(s[i]={});s[o.path[o.path.length-1]]=r}t.fromJSON({values:n})};ri=new WeakMap});var ui={};Co(ui,{fold:()=>vl});var vl,di=rn(()=>{Mt();vl=(t,e)=>{let n=getComputedStyle(t),o=t._fold?.playState=="running"&&{marginBottom:n.marginBottom,clipPath:n.clipPath,opacity:n.opacity};t._fold?.cancel(),t.classList.remove("tw-cond-hidden");let r=!Ee.matches&&t.animate&&t.offsetHeight;if(t.classList.toggle("tw-cond-hidden",e),r)try{let s=r+6+parseFloat(n.marginTop),i=r+"px",a={height:i,marginBottom:-s+"px",clipPath:`inset(0 0 ${s}px)`,opacity:0},u={height:i,clipPath:"inset(0)"};(t._fold=t.animate([o||(e?u:a),e?a:u],{duration:350,easing:n.getPropertyValue("--tw-ease-fold").trim()})).onfinish=()=>t.classList.toggle("tw-cond-hidden",e),t.classList.remove("tw-cond-hidden")}catch{}}});Go();Mt();var ji="http://www.w3.org/2000/svg",$t=(t,e)=>{let n=document.createElementNS(ji,t);return e&&n.setAttribute("class",e),n},Br=(t,e)=>getComputedStyle(t).getPropertyValue(e).trim(),Bn=t=>{let e=getComputedStyle(t),n=o=>e.getPropertyValue(o).trim();return n("--tw-accent")||n("--tw-text-primary")||"#fff"},Vr=t=>{let e=!1;t.addEventListener("pointerdown",n=>{e=n.button===0&&document.activeElement!==t}),t.addEventListener("focus",()=>t.select()),t.addEventListener("mouseup",n=>{e&&(e=!1,n.button===0&&document.activeElement===t&&t.selectionStart===0&&t.selectionEnd===t.value.length&&n.preventDefault())})};function ae(t,{onDown:e,onMove:n,onEnd:o}={}){let r=null,s=i=>{r===null||i.pointerId!==r||(r=null,o&&o(i))};t.addEventListener("pointerdown",i=>{if(!(i.button!==0||r!==null)){r=i.pointerId;try{t.setPointerCapture(i.pointerId)}catch{}e&&e(i)}}),t.addEventListener("pointermove",i=>{if(i.pointerId===r){if(i.buttons===0)return s(i);n&&n(i)}}),t.addEventListener("pointerup",s),t.addEventListener("pointercancel",s),t.addEventListener("lostpointercapture",s)}var Ge=(t,e)=>ae(t,{onDown:n=>{t.classList.add("is-grabbing"),e(n)},onMove:e,onEnd:()=>t.classList.remove("is-grabbing")}),ze=(t,e)=>{let n=e.getBoundingClientRect();return[_((t.clientX-n.left)/n.width,0,1),_((t.clientY-n.top)/n.height,0,1)]},Kr=(t,e,n=1/0)=>{let o=t.getBoundingClientRect(),r=Math.min(window.devicePixelRatio||1,n);return t.width=o.width*r,t.height=o.height*r,e.setTransform(r,0,0,r,0,0),[o.width,o.height]},Ut=(t,e)=>{let n=h("div",t),o=ht("tw-trigger");o.setAttribute("aria-expanded","false");let r=h("span","tw-trigger-right");return o.append(ot("span","tw-trigger-label",e),r),n.append(o),{root:n,trigger:o,right:r}},Bi=Pt('<path d="M6 4v8M10 4v8"/>',"",2,16);function Vi(){let t=null,e=0,n=0,o=0;return{show(r,s,i,a){t=h("div","tw-grab-guide tw-portal"),t.innerHTML='<span class="tw-grab-line"></span><span class="tw-grab-dot"></span><span class="tw-grab-arrow"></span><span class="tw-grab-bubble"></span>',e=s,n=r,o=i??r,t.children[1].style.cssText=`left:${r}px;top:${e}px`,Ie(t,a),document.body.appendChild(t)},move(r,s){t&&(t.children[0].style.cssText=`left:${Math.min(n,r)}px;top:${e}px;width:${Math.abs(r-n)}px`,t.children[2].style.cssText=`left:${r}px;top:${e}px;transform:translate(-50%,-50%) scaleX(${r>=n?1:-1})`,t.children[3].style.cssText=`left:${o}px;top:${e-16}px`,t.children[3].textContent=s)},hide(){t&&(t.remove(),t=null)}}}function Ki(t,e,n,o,r,s){let i=0,a=0,u=1,y=Vi();ae(t,{onDown:d=>{d.preventDefault(),i=d.clientX,a=o(),u=1,t.classList.add("is-dragging");let p=e.getBoundingClientRect();y.show(d.clientX,p.top+p.height/2,p.left+p.width/2,e),y.move(d.clientX,s())},onMove:d=>{let p=d.shiftKey?10:d.altKey?.1:1;p!==u&&(u=p,i=d.clientX,a=o()),r(a+(d.clientX-i)*n*p),y.move(d.clientX,s())},onEnd:()=>{t.classList.remove("is-dragging"),y.hide()}})}function _t(t,e){let n=Number.isFinite(+t.step)&&+t.step>0?+t.step:1,o=c=>c==null?NaN:+c,r=o(t.min),s=o(t.max);if(Number.isFinite(r)&&Number.isFinite(s)&&s<r){let c=r;r=s,s=c}let i=Number.isFinite(r)?r:0,a=fe(n),[u,y]=je(Number.isFinite(r)?r:-1/0,Number.isFinite(s)?s:1/0,n,i),d=c=>{let g=Pe(c,i,n);return t.soft?g:_(g,u,y)},p=d(Number.isFinite(+t.value)?+t.value:0),f=h("div",t.row?"tw-row":"tw-field"),C=h("div","tw-num-wrap"),S=h("span","tw-num-grab",Bi);S.setAttribute("aria-hidden","true"),S.title="Drag to adjust";let m=h("input","tw-num");m.type="text",m.inputMode="decimal",m.setAttribute("aria-label",t.unit?`${t.label} (${t.unit})`:t.label),m.value=p.toFixed(a),Wt(m),C.append(S,m),t.unit&&C.append(ot("span","tw-num-unit",t.unit)),f.append(ot("span",t.row?"tw-row-label":"tw-field-label",t.label),C);let E=(c,g=!0)=>{c=+c,Number.isFinite(c)&&(p=d(c),m.value=p.toFixed(a),g&&e&&e(p))},w=()=>Number(m.value.replace(t.unit||"","").trim()||NaN);return m.addEventListener("change",()=>{let c=w();Number.isFinite(c)&&d(c)!==p?E(c):m.value=p.toFixed(a)}),m.addEventListener("keydown",c=>{if(c.key==="Enter")return m.blur();let g=c.key==="ArrowUp"?1:c.key==="ArrowDown"?-1:0;if(!g)return;c.preventDefault();let T=w();E((Number.isFinite(T)?T:p)+g*n*(c.shiftKey?10:1))}),Ki(S,C,n,()=>p,E,()=>m.value),{el:f,set:c=>E(c,!1),get:()=>p}}lt("number",(t,e)=>_t({...t,row:!0},e));var Gi=(t,e,n)=>{let o=Math.sqrt(t/n),r=e/(2*Math.sqrt(t*n));return Math.min(2.2,9/Math.max(r*o,.5))};function pn(t,e,n,o=64,r=Gi(t,e,n)){let s=Math.sqrt(t/n),i=e/(2*Math.sqrt(t*n)),a=[];for(let u=0;u<o;u++){let y=u/(o-1)*r,d;if(i<1-1e-4){let p=s*Math.sqrt(1-i*i);d=1-Math.exp(-i*s*y)*(Math.cos(p*y)+i*s/p*Math.sin(p*y))}else if(i<=1+1e-4)d=1-Math.exp(-s*y)*(1+s*y);else{let p=Math.sqrt(i*i-1),f=s*(i+p),C=s*(i-p);d=1-(f*Math.exp(-C*y)-C*Math.exp(-f*y))/(f-C)}a.push(d)}return a}Mt();var zi=180/Math.PI,qo=Math.PI/180,le=(t,e)=>[t[0][0]*e[0]+t[0][1]*e[1]+t[0][2]*e[2],t[1][0]*e[0]+t[1][1]*e[1]+t[1][2]*e[2],t[2][0]*e[0]+t[2][1]*e[1]+t[2][2]*e[2]],Xi=(t,e)=>{let n=[[0,0,0],[0,0,0],[0,0,0]];for(let o=0;o<3;o++)for(let r=0;r<3;r++)n[o][r]=t[o][0]*e[0][r]+t[o][1]*e[1][r]+t[o][2]*e[2][r];return n},Nt=t=>Number.isFinite(t)?t:0,qi=(t,e,n)=>Math.min(n,Math.max(e,t)),Vn=t=>{let e=Math.abs(t);return e<=.04045?t/12.92:Math.sign(t)*((e+.055)/1.055)**2.4},fn=t=>{let e=Math.abs(t);return e<=.0031308?t*12.92:Math.sign(t)*(1.055*e**(1/2.4)-.055)},zn=1.09929682680944,Qr=.018053968510807,Yi=t=>{let e=Math.abs(t);return e<Qr*4.5?t/4.5:Math.sign(t)*((e+zn-1)/zn)**(1/.45)},ts=t=>{let e=Math.abs(t);return e<Qr?t*4.5:Math.sign(t)*(zn*e**.45-(zn-1))},es=1/512,Wi=t=>{let e=Math.abs(t);return e<=es*16?t/16:Math.sign(t)*e**1.8},Ui=t=>{let e=Math.abs(t);return e>=es?Math.sign(t)*e**(1/1.8):16*t},zo=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],Kn=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],Ji=[[.4865709486482162,.26566769316909306,.19821728523436247],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],ns=[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]],Zi=[[.6369580483012914,.14461690358620832,.16888097516417205],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],os=[[1.7166511879712674,-.35567078377639233,-.25336628137365974],[-.6666843518324892,1.6164812366349395,.01576854581391113],[.017639857445310783,-.042770613257808524,.9421031212354738]],Qi=[[.7977604896723027,.13518583717574031,.0313493495815248],[.2880711282292934,.7118432178101014,8565396060525902e-20],[0,0,.8251046025104601]],ta=[[1.3457989731028281,-.25558010007997534,-.05110628506753401],[-.5446224939028347,1.5082327413132781,.02053603239147973],[0,0,1.2119675456389454]],rs=[[1.0479298208405488,.022946793341019088,-.05019222954313557],[.029627815688159344,.990434484573249,-.01707382502938514],[-.009243058152591178,.015055144896577895,.7518742899580008]],ss=[[.9554734527042182,-.023098536874261423,.0632593086610217],[-.028369706963208136,1.0099954580058226,.021041398966943008],[.012314001688319899,-.020507696433477912,1.3303659366080753]],ea=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],is=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],na=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],as=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],Gn=216/24389,mn=24389/27,Ye=[.3457/.3585,1,(1-.3457-.3585)/.3585],Xe=(t,e,n)=>le(n,[e(t[0]),e(t[1]),e(t[2])]),qe=(t,e,n)=>{let o=le(n,t);return[e(o[0]),e(o[1]),e(o[2])]},Gr=t=>{let e=le(as,t);return le(is,[e[0]**3,e[1]**3,e[2]**3])},zr=t=>{let e=le(ea,t);return le(na,[Math.cbrt(e[0]),Math.cbrt(e[1]),Math.cbrt(e[2])])};function Xr(t){let[e,n,o]=t,r=(e+16)/116,s=n/500+r,i=r-o/200,a=s**3>Gn?s**3:(116*s-16)/mn,u=e>mn*Gn?r**3:e/mn,y=i**3>Gn?i**3:(116*i-16)/mn;return le(ss,[a*Ye[0],u*Ye[1],y*Ye[2]])}function qr(t){let e=le(rs,t),n=i=>i>Gn?Math.cbrt(i):(mn*i+16)/116,o=n(e[0]/Ye[0]),r=n(e[1]/Ye[1]),s=n(e[2]/Ye[2]);return[116*r-16,500*(o-r),200*(r-s)]}var Xn=t=>{let e=Math.hypot(t[1],t[2]),n=Math.atan2(t[2],t[1])*zi;return n<0&&(n+=360),[t[0],e,n]},qn=t=>[t[0],t[1]*Math.cos(t[2]*qo),t[1]*Math.sin(t[2]*qo)];function ls(t){let e=((Number.isNaN(t[0])?0:t[0])%360+360)%360,n=t[1]/100,o=t[2]/100,r=s=>{let i=(s+e/30)%12,a=n*Math.min(o,1-o);return o-a*Math.max(-1,Math.min(i-3,9-i,1))};return[r(0),r(8),r(4)]}function cs(t){let e=Math.max(...t),n=Math.min(...t),o=e-n;if(o<1e-9)return NaN;let r;return e===t[0]?r=(t[1]-t[2])/o+(t[1]<t[2]?6:0):e===t[1]?r=(t[2]-t[0])/o+2:r=(t[0]-t[1])/o+4,r*60}function oa(t){let e=Math.max(...t),n=Math.min(...t),o=(n+e)/2,r=cs(t),s=e===n||o===0||o===1?0:(e-o)/Math.min(o,1-o);return s<0&&(r+=180,s=-s),r>=360&&(r-=360),[r,s*100,o*100]}function ra(t){let e=t[1]/100,n=t[2]/100;if(e+n>=1){let s=e/(e+n);return[s,s,s]}let o=ls([t[0],100,50]),r=1-e-n;return[o[0]*r+e,o[1]*r+e,o[2]*r+e]}var sa=t=>[cs(t),Math.min(...t)*100,(1-Math.max(...t))*100];function ia(t,e){switch(e){case"srgb":return Xe(t,Vn,zo);case"p3":return Xe(t,Vn,Ji);case"rec2020":return Xe(t,Yi,Zi);case"prophoto-rgb":return le(ss,Xe(t,Wi,Qi));case"oklab":return Gr(t);case"oklch":return Gr(qn(t));case"lab":return Xr(t);case"lch":return Xr(qn(t));case"hsl":return Xe(ls(t),Vn,zo);case"hwb":return Xe(ra(t),Vn,zo)}}function aa(t,e){switch(e){case"srgb":return qe(t,fn,Kn);case"p3":return qe(t,fn,ns);case"rec2020":return qe(t,ts,os);case"prophoto-rgb":return qe(le(rs,t),Ui,ta);case"oklab":return zr(t);case"oklch":return Xn(zr(t));case"lab":return qr(t);case"lch":return Xn(qr(t));case"hsl":return oa(qe(t,fn,Kn));case"hwb":return sa(qe(t,fn,Kn))}}function Ft(t,e,n){return e===n?[t[0],t[1],t[2]]:e==="oklch"&&n==="oklab"?qn(t):e==="oklab"&&n==="oklch"?Xn(t):e==="lch"&&n==="lab"?qn(t):e==="lab"&&n==="lch"?Xn(t):aa(ia(t,e),n)}var Yn=75e-6,us=t=>t.every(e=>e>=-Yn&&e<=1+Yn),Yo=(t,e)=>us(Ft(t,"oklch",e)),Xo=t=>t.map(e=>Math.min(1,Math.max(0,e))),Yr=(t,e)=>Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2]);function Wn(t,e){if(Yo(t,e))return Ft(t,"oklch",e);let n=t[0];if(n>=1)return[1,1,1];if(n<=0)return[0,0,0];if(!Number.isFinite(t[1]))return Xo(Ft([n,0,Nt(t[2])],"oklch",e));let o=.02,r=1e-4,s=[t[0],t[1],t[2]],i=0,a=t[1],u=!0,y=Xo(Ft(s,"oklch",e));if(Yr(Ft(y,e,"oklab"),Ft(t,"oklch","oklab"))<o)return y;for(;a-i>r;){let d=(i+a)/2;s[1]=d;let p=Ft(s,"oklch",e);if(u&&us(p)){i=d;continue}y=Xo(p);let f=Yr(Ft(y,e,"oklab"),Ft(s,"oklch","oklab"));if(f<o){if(o-f<r)return y;u=!1,i=d}else a=d}return y}var ds=(t,e)=>{let n=t*qo,o=Math.cos(n),r=Math.sin(n),s=as.map(a=>o*a[1]+r*a[2]),i=Xi(e==="p3"?ns:e==="rec2020"?os:Kn,is);return{d:s,F:i,gam:e==="rec2020"?ts:fn}};function Un(t,e){let{d:[n,o,r],F:s,gam:i}=ds(t,e),a=-Yn,u=1+Yn;return(y,d)=>{let p=y+d*n,f=y+d*o,C=y+d*r,S=p**3,m=f**3,E=C**3,w=i(s[0][0]*S+s[0][1]*m+s[0][2]*E);if(w<a||w>u)return!1;let c=i(s[1][0]*S+s[1][1]*m+s[1][2]*E);if(c<a||c>u)return!1;let g=i(s[2][0]*S+s[2][1]*m+s[2][2]*E);return g>=a&&g<=u}}function ps(t,e){let{d:[n,o,r],F:s,gam:i}=ds(t,e);return(a,u,y)=>{let d=a+u*n,p=a+u*o,f=a+u*r,C=d**3,S=p**3,m=f**3;y[0]=i(s[0][0]*C+s[0][1]*S+s[0][2]*m),y[1]=i(s[1][0]*C+s[1][1]*S+s[1][2]*m),y[2]=i(s[2][0]*C+s[2][1]*S+s[2][2]*m)}}function Jn(t,e,n=.5){if(!t(e,0))return 0;let o=0;for(let r=0;r<16;r++){let s=(o+n)/2;t(e,s)?o=s:n=s}return o}var Re=t=>Math.round(Math.min(1,Math.max(0,t))*255).toString(16).padStart(2,"0"),la=t=>`#${Re(t[0])}${Re(t[1])}${Re(t[2])}`,Zn=(t,e,n)=>la(Wn([t,e,n],"srgb"));function fs(t){let e=String(t).replace("#","").trim();if(e.length===3&&(e=e.split("").map(o=>o+o).join("")),e.length<6)return[.7,.1,280];let n=[parseInt(e.slice(0,2),16)/255,parseInt(e.slice(2,4),16)/255,parseInt(e.slice(4,6),16)/255];return Ft(n,"srgb","oklch").map(Nt)}var Qn=["hex","srgb","css","hsl","hwb","oklch","oklab","lch","lab","p3","rec2020"],ms={hex:"HEX",srgb:"RGB",css:"CSS",hsl:"HSL",hwb:"HWB",oklch:"OKLCH",oklab:"OKLab",lch:"LCH",lab:"Lab",p3:"P3",rec2020:"Rec2020"},gs=["srgb","css","hsl","hwb","hex"],Wo=t=>!gs.includes(t),bs=t=>t==="hex"||t==="css"?"srgb":t,ca=Object.assign(Object.create(null),{hex:"srgb",srgb:"srgb",css:"srgb",hsl:"hsl",hwb:"hwb",oklch:"oklch",oklab:"oklab",lch:"lch",lab:"lab",p3:"display-p3",rec2020:"rec2020"}),hs=t=>ca[t]||"oklch",ua=Object.assign(Object.create(null),{srgb:"srgb",hsl:"hsl",hwb:"hwb",oklch:"oklch",oklab:"oklab",lch:"lch",lab:"lab","display-p3":"p3",rec2020:"rec2020"}),Uo=t=>ua[t]||"oklch",to=.5,ws=(t,e,n)=>Object.freeze(["R","G","B"].map(o=>Object.freeze({k:o,min:0,max:t,step:e,scale:n}))),Wr=ws(255,1,255),Ur=ws(1,.01,1),gn={oklch:[{k:"L",min:0,max:100,step:1,scale:100},{k:"C",min:0,max:to,step:.01,scale:1},{k:"H",min:0,max:360,step:1,scale:1}],oklab:[{k:"L",min:0,max:100,step:1,scale:100},{k:"a",min:-.4,max:.4,step:.01,scale:1},{k:"b",min:-.4,max:.4,step:.01,scale:1}],lch:[{k:"L",min:0,max:100,step:1,scale:1},{k:"C",min:0,max:150,step:1,scale:1},{k:"H",min:0,max:360,step:1,scale:1}],lab:[{k:"L",min:0,max:100,step:1,scale:1},{k:"a",min:-125,max:125,step:1,scale:1},{k:"b",min:-125,max:125,step:1,scale:1}],srgb:Wr,css:Wr,hsl:[{k:"H",min:0,max:360,step:1,scale:1},{k:"S",min:0,max:100,step:1,scale:1},{k:"L",min:0,max:100,step:1,scale:1}],hwb:[{k:"H",min:0,max:360,step:1,scale:1},{k:"W",min:0,max:100,step:1,scale:1},{k:"B",min:0,max:100,step:1,scale:1}],p3:Ur,rec2020:Ur},Jr=t=>t>=1?0:t>=.1?1:t>=.01?2:3,ys=(t,e,n)=>e==="oklch"?[t[0],t[1],t[2]]:gs.includes(n)?e==="srgb"?Wn(t,"srgb"):Ft(Wn(t,"srgb"),"srgb",e):Ft(t,"oklch",e);function eo(t,e){let n=ys(t,bs(e),e);return gn[e].map((o,r)=>{let s=Nt(n[r])*o.scale;return qi(Math.abs(s)<.5*o.step?0:s,o.min,o.max)})}function vs(t,e,n,o){let r=bs(e),s=ys(t,r,e).map(Nt);s[n]=o/gn[e][n].scale;let i=Ft(s,r,"oklch");return[Nt(i[0]),Nt(i[1]),Nt(i[2])]}function xs(t,e){if(!Wo(e))return"sRGB";let n=Wn(t,"srgb");return Math.max(...n)<.03||Math.min(...n)>.97||Yo(t,"srgb")?"sRGB":Yo(t,"p3")?"P3":"wide"}function Jo(t,e){if(e==="hex")return Zn(t[0],t[1],t[2]);let n=gn[e],o=eo(t,e),r=s=>{let i=o[s].toFixed(Jr(n[s].step));return n[s].k==="H"&&+i==360?0 .toFixed(Jr(n[s].step)):i};return e==="css"?`${r(0)}, ${r(1)}, ${r(2)}`:e==="oklch"||e==="oklab"||e==="lch"||e==="lab"?`${r(0)}% ${r(1)} ${r(2)}`:e==="hsl"||e==="hwb"?`${r(0)} ${r(1)}% ${r(2)}%`:`${r(0)} ${r(1)} ${r(2)}`}var Zr=(t,e)=>e==="hex"?t:e==="srgb"?`rgb(${t})`:e==="css"?`rgba(${t}, 1)`:e==="hsl"?`hsl(${t})`:e==="hwb"?`hwb(${t})`:e==="p3"?`color(display-p3 ${t})`:e==="rec2020"?`color(rec2020 ${t})`:`${e}(${t})`;function Es(t,e,n){let o=Nt(n);if(e==="hex")return Zn(t[0],t[1],t[2])+(o<.999?Re(o):"");let r=Jo(t,e);if(o>=.999)return Zr(r,e);let s=+o.toFixed(3);return e==="css"?`rgba(${r}, ${s})`:Zr(`${r} / ${s}`,e)}var Ms=(()=>{try{return document.createElement("canvas").getContext("2d",{colorSpace:"display-p3"})?.getContextAttributes?.().colorSpace==="display-p3"}catch{return!1}})(),Zo=Ms?{colorSpace:"display-p3"}:{},da=Ms?"p3":"srgb",no=(t,e)=>{let n=t.length-1,o=Math.max(0,Math.min(n,e*n)),r=Math.floor(o),s=o-r;return t[r]*(1-s)+t[Math.min(r+1,n)]*s},pa=(t,e)=>{let n=Un(t,e),o=new Float64Array(128);for(let r=0;r<128;r++)o[r]=Jn(n,r/127);return o},or="var(--tw-checker)",fa=Object.assign(Object.create(null),{srgb:"srgb","display-p3":"p3",rec2020:"rec2020","prophoto-rgb":"prophoto-rgb"}),rr=/^(rgba?|hsla?|hwb)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,sr=/^(oklch|oklab|lch|lab|color)\([ \t\n\r\f]*([^)]*?)[ \t\n\r\f]*\)$/i,ma=/^(srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65)$/i,oo=/^#?([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Qo,ks=()=>Qo===void 0?Qo=document.createElement("canvas").getContext("2d"):Qo,ga=/^(#[0-9a-f]{3,8}|[a-z][a-z-]*(?:\([\w\s.,%+\-\/]*\))?)$/i;function We(t){if(t=String(t??"").trim(),!ga.test(t))return!1;if(oo.test(t))return!0;if(sr.test(t))return wa(t);if(rr.test(t))return Ls(t)!==null;let e=ks();return e?["#000","#fff"].some(n=>{e.fillStyle=n;let o=e.fillStyle;return e.fillStyle=t,e.fillStyle!==o}):!0}var ir="[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?",ba=new RegExp("^"+ir+"$","i"),ha=new RegExp("^"+ir+"%$","i"),Cs=new RegExp("^("+ir+")(deg|grad|rad|turn)$","i"),ar=/[ \t\n\r\f]+/,lr=/^none$/i,tr=t=>t.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g,""),er=t=>!!t&&!ar.test(t),$e=t=>lr.test(t)?"none":ba.test(t)?"num":ha.test(t)?"pct":Cs.test(t)?"angle":null,nr=t=>{let e=Cs.exec(t);if(!e)return Nt(parseFloat(t));let n=parseFloat(e[1]),o=e[2].toLowerCase();return Nt(o==="turn"?n*360:o==="grad"?n*.9:o==="rad"?n*180/Math.PI:n)};function Ls(t){let e=rr.exec(t);if(!e)return null;let n=e[1].toLowerCase().replace(/a$/,""),o=e[2],r,s,i;if(o.includes(",")){if(n==="hwb")return null;let d=o.split(",").map(tr);if(d.length<3||d.length>4||!d.every(er)||(r=d.slice(0,3),s=d[3],i=r.map($e),n==="rgb"?!(i.every(p=>p==="num")||i.every(p=>p==="pct")):!((i[0]==="num"||i[0]==="angle")&&i[1]==="pct"&&i[2]==="pct"))||s!==void 0&&$e(s)!=="num"&&$e(s)!=="pct")return null}else{let d=o.split("/");if(d.length>2||(r=d[0].split(ar).filter(Boolean),r.length!==3))return null;if(d.length===2){s=tr(d[1]);let p=er(s)?$e(s):null;if(!p||p==="angle")return null}if(i=r.map($e),n==="rgb"?!i.every(p=>p&&p!=="angle"):!(i[0]&&i[0]!=="pct"&&i[1]&&i[1]!=="angle"&&i[2]&&i[2]!=="angle"))return null}let a=(d,p)=>lr.test(d)?0:/%$/.test(d)?parseFloat(d)/100*p:parseFloat(d),u=s===void 0?1:_(a(s,1),0,1);return[n==="rgb"?Ft([_(a(r[0],255)/255,0,1),_(a(r[1],255)/255,0,1),_(a(r[2],255)/255,0,1)],"srgb","oklch"):Ft([i[0]==="none"?0:nr(r[0]),_(a(r[1],100),0,100),_(a(r[2],100),0,100)],n,"oklch"),u]}var wa=t=>{let e=sr.exec(t);if(!e)return!1;let n=e[1].toLowerCase(),o=e[2].split("/");if(o.length>2)return!1;let r=o[0].split(ar).filter(Boolean);if(n==="color"&&!ma.test(r.shift()||"")||r.length!==3)return!1;let s=n==="lch"||n==="oklch";if(!r.every((i,a)=>{let u=$e(i);return u&&(s&&a===2?u!=="pct":u!=="angle")}))return!1;if(o.length===2){let i=tr(o[1]),a=er(i)?$e(i):null;if(!a||a==="angle")return!1}return!0};function Fe(t){if(t=String(t??"").trim(),oo.test(t)){let a=t.replace("#",""),u=1;a.length===4?(u=parseInt(a[3]+a[3],16)/255,a=a.slice(0,3)):a.length===8&&(u=parseInt(a.slice(6,8),16)/255,a=a.slice(0,6));let[y,d,p]=fs("#"+a);return[y,d,p,u]}let e=sr.exec(t);if(e){let a=e[1].toLowerCase(),[u,y]=e[2].split("/").map(E=>E.trim()),d=u.split(/\s+/).filter(Boolean),p=a;if(a==="color"&&(p=fa[(d[0]||"").toLowerCase()],d=d.slice(1),!p))return[.7,.1,280,1];let f=(E,w=1)=>!E||lr.test(E)?0:Nt(parseFloat(E))*(/%$/.test(E)?w:1),C=y?_(f(y,.01),0,1):1,S=a==="lab"?[_(f(d[0]),0,100),f(d[1],1.25),f(d[2],1.25)]:a==="lch"?[_(f(d[0]),0,100),Math.max(0,f(d[1],1.5)),nr(d[2]||"0")]:a==="color"?[f(d[0],.01),f(d[1],.01),f(d[2],.01)]:a==="oklab"?[_(f(d[0],.01),0,1),f(d[1],.004),f(d[2],.004)]:[_(f(d[0],.01),0,1),Math.max(0,f(d[1],.004)),nr(d[2]||"0")],m=p==="oklch"?S:Ft(S,p,"oklch");return[Nt(m[0]),_(Nt(m[1]),0,to),(Nt(m[2])%360+360)%360,C]}if(rr.test(t)){let a=Ls(t);if(!a)return[0,0,0,1];let[u,y]=a;return[Nt(u[0]),_(Nt(u[1]),0,to),(Nt(u[2])%360+360)%360,y]}let n=ks();if(!n)return[0,0,0,1];n.fillStyle="#000",n.fillStyle=t;let o=n.fillStyle;if(oo.test(o))return Fe(o);let r=o.match(/^rgba?\(([^)]*)\)/i),s=((r?r[1]:"").match(/-?[\d.]+(?:e[+-]?\d+)?/gi)||[0,0,0]).map(Number),i=Ft([s[0]/255,s[1]/255,s[2]/255],"srgb","oklch");return[Nt(i[0]),Nt(i[1]),Nt(i[2]),s[3]!=null?_(Nt(s[3]),0,1):1]}function Ue(t,e){let[n,o,r,s]=Fe(t.value||"#7c5cff"),i=Qn.includes(t.mode)?t.mode:"oklch",a=NaN,u=null,y=[],d=NaN,p="",f=()=>Es([n,o,r],i,s),C=h("div","tw-color-body"),S=h("div","tw-wg-area"),m=document.createElement("canvas");m.className="tw-wg-canvas";let E=h("div","tw-wg-thumb");S.append(m,E);let w=h("div","tw-wg-hue"),c=document.createElement("canvas");c.className="tw-wg-hue-canvas";let g=h("div","tw-wg-hue-thumb");w.append(c,g);let T=h("div","tw-wg-alpha"),O=h("div","tw-wg-alpha-grad"),z=h("div","tw-wg-hue-thumb");T.append(O,z),m.setAttribute("aria-hidden","true"),c.setAttribute("aria-hidden","true"),S.tabIndex=0,S.setAttribute("role","group"),S.setAttribute("aria-label","Colour plane: chroma across, lightness up"),w.tabIndex=0,w.setAttribute("role","slider"),w.setAttribute("aria-label","Hue"),w.setAttribute("aria-valuemin","0"),w.setAttribute("aria-valuemax","360"),T.tabIndex=0,T.setAttribute("role","slider"),T.setAttribute("aria-label","Alpha"),T.setAttribute("aria-valuemin","0"),T.setAttribute("aria-valuemax","1");let B=h("div","tw-color-mode-row"),H=h("select","tw-color-mode");H.setAttribute("aria-label","Color mode"),Qn.forEach(G=>{let U=document.createElement("option");U.value=G,U.textContent=ms[G],H.append(U)}),H.value=i;let V=h("span","tw-color-gamut");B.append(H,V);let L=h("div","tw-color-channels");C.append(S,w,T,B,L);let F=m.getContext("2d",Zo),W=c.getContext("2d"),X=document.createElement("canvas"),q=X.getContext("2d",Zo),tt=null,N=()=>{let G=S.getBoundingClientRect(),U=Math.round(G.width),ft=Math.round(G.height);if(U<2)return;let mt=window.devicePixelRatio||1,Tt=Wo(i)?"p3":"srgb",P=pa(r,Tt);u=P;let it=Math.round(U*mt),Rt=Math.round(ft*mt),kt=Math.max(1,Math.round(it/4)),dt=Math.max(1,Math.round(Rt/4));(X.width!==kt||X.height!==dt)&&(X.width=kt,X.height=dt,tt=new ImageData(kt,dt,Zo));let Ot=tt.data,Qt=dt>1?1/(dt-1):0,we=kt>1?1/(kt-1):0,ne=ps(r,da),te=[0,0,0];for(let Kt=0;Kt<dt;Kt++){let ue=1-Kt*Qt,Le=no(P,ue);for(let oe=0;oe<kt;oe++){ne(ue,oe*we*Le,te);let re=(Kt*kt+oe)*4;Ot[re]=Math.round(_(te[0],0,1)*255),Ot[re+1]=Math.round(_(te[1],0,1)*255),Ot[re+2]=Math.round(_(te[2],0,1)*255),Ot[re+3]=255}}if(q.putImageData(tt,0,0),m.width=it,m.height=Rt,F.imageSmoothingEnabled=!0,F.drawImage(X,0,0,it,Rt),Tt!=="srgb"){let Kt=(ue,Le,oe,re)=>{let en=Un(r,ue),Se=[];for(let bt=0;bt<=100;bt++){let St=bt/100,Ae=no(P,St);if(Ae<=0)continue;let de=Jn(en,St,Ae);de<=0||Se.push([Math.min(de/Ae*it,it-oe*mt/2),(1-St)*Rt])}Se.length<2||(F.save(),F.strokeStyle=Le,F.lineWidth=oe*mt,F.lineJoin=F.lineCap="round",F.setLineDash(re.map(bt=>bt*mt)),F.beginPath(),Se.forEach((bt,St)=>St?F.lineTo(bt[0],bt[1]):F.moveTo(bt[0],bt[1])),F.stroke(),F.restore())};Kt("srgb","rgba(255,255,255,0.7)",1.5,[]),Kt("p3","rgba(255,255,255,0.4)",1,[3,3])}a=r},I=.7,M=G=>{let U=Ft([I,Jn(Un(G,"srgb"),I),G],"oklch","srgb");return`rgb(${_(U[0]*255,0,255)|0},${_(U[1]*255,0,255)|0},${_(U[2]*255,0,255)|0})`},$=0,b=()=>{let G=w.getBoundingClientRect(),U=Math.max(1,Math.round(G.width)),ft=Math.max(1,Math.round(G.height));if(!(U<2)&&!(U===$&&c.width===U)){$=U,c.width=U,c.height=ft;for(let mt=0;mt<U;mt++)W.fillStyle=M(mt/(U-1)*360),W.fillRect(mt,0,1,ft)}},A=()=>{let G=u?no(u,n):.4,U=Tt=>`${_(Tt,0,1)*100}%`,ft=(Tt,P)=>{let it=_(Tt,0,1);return`calc(${it*100}% + ${(.5-it)*P}px)`};E.style.left=U(G>0?o/G:0),E.style.top=U(1-n),g.style.left=ft(r/360,16),z.style.left=ft(s,16),T.setAttribute("aria-valuenow",String(+s.toFixed(2)));let mt=Math.round(r);w.setAttribute("aria-valuenow",String(mt)),w.setAttribute("aria-valuetext",`${mt}\xB0`),S.setAttribute("aria-description",`lightness ${Math.round(n*100)}%, chroma ${+o.toFixed(3)}`),O.style.background=`linear-gradient(to right, oklch(${n} ${o} ${r} / 0), oklch(${n} ${o} ${r}))`,E.style.background=`oklch(${n} ${o} ${r})`,z.style.background=`linear-gradient(oklch(${n} ${o} ${r} / ${s}), oklch(${n} ${o} ${r} / ${s})), var(--tw-dropdown-bg)`,r!==d&&(p=M(r),d=r),g.style.background=p},x=()=>{if(V.textContent=xs([n,o,r],i),i==="hex"){let G=L.querySelector(".tw-color-chan-input");G&&document.activeElement!==G&&(G.value=Zn(n,o,r)+(s<.999?Re(s):""))}else{let G=eo([n,o,r],i);y.forEach((U,ft)=>{U.el.contains(document.activeElement)||U.set(G[ft])})}},K=()=>{b(),N(),A()},Z=()=>e(f()),R=G=>{G&&r!==a&&N(),A(),x()},J=G=>{R(G),Z()},st=()=>{if(L.replaceChildren(),y=[],i==="hex"){L.classList.add("tw-color-channels--hex");let G=h("div","tw-color-chan"),U=h("input","tw-color-chan-input");U.type="text",U.spellcheck=!1,U.setAttribute("aria-label","Hex color"),Wt(U),Vr(U),U.addEventListener("change",()=>{let ft=U.value.trim();oo.test(ft)&&([n,o,r,s]=Fe(ft),J(!0))}),U.addEventListener("blur",x),U.addEventListener("keydown",ft=>{ft.key==="Enter"&&U.blur()}),G.append(ot("span","tw-color-chan-label","HEX"),U),L.append(G)}else{L.classList.remove("tw-color-channels--hex");let G=eo([n,o,r],i);gn[i].forEach((U,ft)=>{let mt=_t({label:U.k,value:G[ft],min:U.min,max:U.max,step:U.step},Tt=>{[n,o,r]=vs([n,o,r],i,ft,_(Tt,U.min,U.max)),J(!0)});mt.el.addEventListener("focusout",x),y.push(mt),L.append(mt.el)})}x()},ut=G=>u?no(u,G):.4,Ct=G=>ze(G,S);Ge(S,G=>{let[U,ft]=Ct(G);n=1-ft,o=U*ut(n),J(!1)});let vt=0;S.addEventListener("keydown",G=>{if(G.key==="Home"||G.key==="End"){G.preventDefault();return}let U=G.shiftKey?10:1,ft=G.key==="ArrowRight"?U:G.key==="ArrowLeft"?-U:0,mt=G.key==="ArrowUp"?U:G.key==="ArrowDown"?-U:G.key==="PageUp"?10:G.key==="PageDown"?-10:0;if(!ft&&!mt)return;G.preventDefault();let Tt=ut(n),P=_((Tt>0?o/Tt:0)+ft*.01,0,1);n=_(n+mt*.01,0,1),o=P*ut(n),J(!1),clearTimeout(vt),vt=setTimeout(()=>{S.isConnected&&Xt(S.getAttribute("aria-description")||"")},250)});let Lt=G=>ze(G,w)[0]*360;Ge(w,G=>{r=Lt(G),J(!0)}),w.addEventListener("keydown",G=>{let U=xe(G,r,1,0,360);U!=null&&(G.preventDefault(),r=_(U,0,360),J(!0))});let xt=G=>ze(G,T)[0];Ge(T,G=>{s=xt(G),J(!1)}),T.addEventListener("keydown",G=>{let U=xe(G,s,.01,0,1);U!=null&&(G.preventDefault(),s=_(U,0,1),J(!1))});let Dt=G=>{i=G,H.value=G,st(),N(),A()};return H.addEventListener("change",()=>{Dt(H.value),t.onMode&&t.onMode()}),st(),{el:C,set:G=>{let U=document.activeElement;U&&C.contains(U)&&U.matches("input")&&U.blur(),[n,o,r,s]=Fe(G),R(!0)},get:()=>f(),mode:()=>i,setMode:G=>{G!==i&&Qn.includes(G)&&Dt(G)},reflow:K,swatchCss:()=>`linear-gradient(oklch(${n} ${o} ${r} / ${s}), oklch(${n} ${o} ${r} / ${s})), ${or}`,valueText:()=>Jo([n,o,r],i)+(s<.999?i==="hex"?Re(s):` / ${+s.toFixed(2)}`:"")}}function ya(t,e){let{root:n,trigger:o,right:r}=Ut("tw-color",t.label??"Colour"),s=h("span","tw-trigger-chip tw-color-swatch"),i=h("span","tw-trigger-value");r.append(s,i);let a=h("div","tw-color-pop"),u=()=>{s.style.background=y.swatchCss(),i.textContent=y.valueText()},y=Ue({value:t.value,onMode:()=>u()},d=>{u(),e(d)});return a.append(y.el),n.append(a),zt(n,o,a,{width:240,fallbackH:340,gap:6,onOpen:y.reflow,onReflow:y.reflow}),u(),{el:n,set:d=>{d!=null&&(y.set(d),u())},get:()=>y.get()}}var Ss=(t,e,n,o)=>o<.999?`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)} / ${+o.toFixed(3)})`:`oklch(${+t.toFixed(4)} ${+e.toFixed(4)} ${+n.toFixed(2)})`;lt("color",ya);lt("colorpicker",Ue);Mt();On();var va=Pt('<path d="M12 5v14m7-7H5"/>',"",2.5),Ns=(t,e)=>t&&!Array.isArray(t)&&typeof t[e]=="string"?t[e]:null,As=t=>Ns(t,"interpolation"),Ts=t=>Ns(t,"easing"),Os=[["linear","Linear"],["ease","Ease"],["ease-in","Ease in"],["ease-out","Ease out"],["ease-in-out","Ease in-out"]];function Ps(t){let e=[{color:"oklch(0.72 0.19 25)",pos:0},{color:"oklch(0.72 0.16 280)",pos:1}],n=Array.isArray(t)?t:t&&Array.isArray(t.stops)?t.stops:null,o=(s,i)=>We(s)?{color:String(s).trim(),pos:_(+i||0,0,1)}:null,r=(n||[]).map(s=>Array.isArray(s)?o(s[0],s[1]):s&&typeof s=="object"?o(s.color,s.pos):null).filter(Boolean);return r.length>=2?r:e}function xa(t,e){t.value??(t.value=t.stops);let n=Ps(t.value),o=n[0],r=Ao(Ts(t.value)),{root:s,trigger:i,right:a}=Ut("tw-gradient",t.label??"Gradient"),u=h("span","tw-trigger-chip tw-gradient-preview");u.setAttribute("role","img"),a.append(u);let y=h("div","tw-color-pop tw-gradient-pop"),d=h("div","tw-gradient-bar-row"),p=h("div","tw-gradient-bar"),f=h("div","tw-gradient-grad"),C=h("div","tw-gradient-rail");p.append(f,C);let S=ht("tw-gradient-add",va);S.title="Add a stop after the selected one",S.setAttribute("aria-label","Add a colour stop after the selected one"),d.append(p,S);let m=()=>[...n].sort((M,$)=>M.pos-$.pos),E=()=>hs(z.mode()),w=()=>({stops:m().map(M=>({color:M.color,pos:+M.pos.toFixed(4)})),interpolation:E(),easing:r}),c=()=>{let M=Tn(w());f.style.background=M,u.style.background=`${M}, ${or}`},g=()=>{u.setAttribute("aria-label",`${n.length} stop${n.length===1?"":"s"}`)},T=()=>e(w()),O=M=>[...C.children].find($=>$._stop===M),z=Ue({value:o.color,mode:Uo(As(t.value)||"oklch"),onMode:()=>{c(),T()}},M=>{o.color=M,O(o)?.style.setProperty("--stop",M),c(),T()}),B=h("select","tw-color-mode tw-gradient-ease");B.setAttribute("aria-label","Easing between stops"),B.title="How the ramp blends between stops";for(let[M,$]of Os){let b=document.createElement("option");b.value=M,b.textContent=$,B.append(b)}let H=()=>{let M=B.querySelector("option[data-custom]");Os.some(([$])=>$===r)?M?.remove():(M||(M=document.createElement("option"),M.dataset.custom="",M.textContent="Custom",B.append(M)),M.value=r),B.value=r};B.addEventListener("change",()=>{r=B.value,H(),c(),T()}),z.el.querySelector(".tw-color-mode").after(B),H(),y.append(d,z.el),s.append(y);let V=M=>M.setAttribute("aria-label",`Colour stop at ${Math.round(M._stop.pos*100)}%${M._stop===o?", selected":""}`),L=()=>{for(let M of C.children)M.dataset.sel=String(M._stop===o),V(M)},F=()=>{C.replaceChildren();for(let M of n){let $=ht("tw-gradient-stop");$._stop=M,$.style.left=M.pos*100+"%",$.style.setProperty("--stop",M.color),$.dataset.sel=String(M===o),V($),$.addEventListener("focus",()=>W(M,!1));let b=!1;ae($,{onDown:A=>{A.preventDefault(),A.stopPropagation(),$.focus({focusVisible:!1}),W(M,!1),b=!1},onMove:A=>{let x=C.getBoundingClientRect();M.pos=_((A.clientX-x.left)/(x.width||1),0,1),$.style.left=M.pos*100+"%",V($),c(),T(),b=n.length>2&&(A.clientY<x.top-24||A.clientY>x.bottom+24),$.dataset.removing=String(b)},onEnd:()=>{b?tt(M):$.dataset.removing="false"}}),$.addEventListener("dblclick",A=>{A.preventDefault(),tt(M)}),$.addEventListener("keydown",A=>{let x=A.key==="ArrowLeft"?-1:A.key==="ArrowRight"?1:0;x&&(A.preventDefault(),M.pos=_(M.pos+x*(A.shiftKey?.1:.01),0,1),$.style.left=M.pos*100+"%",V($),c(),T())}),C.append($)}},W=(M,$)=>{M!==o&&(z.set(M.color),o=M),$?F():L()},X=M=>{let $=C.getBoundingClientRect();return _((M-$.left)/($.width||1),0,1)},q=M=>{let $=m(),b=$[0],A=$[$.length-1];for(let ut=0;ut<$.length-1;ut++)if(M>=$[ut].pos&&M<=$[ut+1].pos){b=$[ut],A=$[ut+1];break}let x=Pr(An(r),A.pos>b.pos?_((M-b.pos)/(A.pos-b.pos),0,1):0),K=Fe(b.color),Z=Fe(A.color),R=ut=>ut[1]<1e-4,J=Z[2]-K[2];J>180?J-=360:J<-180&&(J+=360),(R(K)||R(Z))&&(J=0);let st=(((R(K)&&!R(Z)?Z[2]:K[2])+J*x)%360+360)%360;return Ss(K[0]+(Z[0]-K[0])*x,K[1]+(Z[1]-K[1])*x,st,K[3]+(Z[3]-K[3])*x)},tt=M=>{if(n.length<=2)return;let $=n.indexOf(M);if($<0)return;n.splice($,1);let b=o===M?n[Math.max(0,$-1)]:o;c(),W(b,!0),g(),T(),O(o)?.focus()},N=M=>{let $={color:q(M),pos:_(M,0,1)};return n.push($),c(),W($,!0),g(),T(),$},I=()=>{let M=m(),$=M.indexOf(o);$<0&&($=0);let b=$<M.length-1?(M[$].pos+M[$+1].pos)/2:$>0?(M[$-1].pos+M[$].pos)/2:_(M[$].pos+.1,0,1);N(b)};return S.addEventListener("click",M=>{M.stopPropagation(),I()}),p.addEventListener("dblclick",M=>{M.target.closest(".tw-gradient-stop")||(M.preventDefault(),N(X(M.clientX)))}),y.tabIndex=-1,y.addEventListener("keydown",M=>{(M.key==="Delete"||M.key==="Backspace")&&!M.altKey&&!/^(input|textarea|select)$/i.test(M.target.tagName)&&n.length>2&&(M.preventDefault(),tt(o))}),zt(s,i,y,{width:260,fallbackH:392,gap:6,onOpen:z.reflow,onReflow:z.reflow,initialFocus:()=>O(o)}),F(),c(),g(),{el:s,set:M=>{let $=As(M);$&&z.setMode(Uo($));let b=Ts(M);b!==null&&(r=Ao(b),H());let A=Ps(M).sort((x,K)=>x.pos-K.pos);if(A.length===n.length)m().forEach((x,K)=>{x.color=A[K].color,x.pos=A[K].pos;let Z=O(x);Z&&(Z.style.left=x.pos*100+"%",Z.style.setProperty("--stop",x.color))});else{let x=o.pos;n=A,o=n.reduce((K,Z)=>Math.abs(Z.pos-x)<Math.abs(K.pos-x)?Z:K,n[0]),F()}c(),g(),z.set(o.color)},get:()=>w()}}lt("gradient",xa);Mt();var bn={x:0,y:8,blur:24,spread:0,color:"rgb(0 0 0 / 0.18)"},ke=(t,e)=>t!=null&&t!==""&&Number.isFinite(+t)?+t:e,Jt=t=>String(+t.toFixed(1)),Ea=/#[0-9a-f]{3,8}\b|(?:oklch|oklab|rgba?|hsla?|hwb|lab|lch|color)\([^()]*\)/i,Ma=/^(-?\d*\.?\d+)(px)?$/,ka=t=>{let e=Ea.exec(t);if(!e||!We(e[0]))return null;let n=(t.slice(0,e.index)+" "+t.slice(e.index+e[0].length)).trim().split(/\s+/).filter(Boolean),o=n.includes("inset"),r=n.filter(i=>i!=="inset");if(r.length<2||r.length>4||!r.every(i=>Ma.test(i)))return null;let s=r.map(i=>+i.replace(/px$/,""));return{inset:o,x:s[0],y:s[1],blur:s[2]??0,spread:s[3]??0,color:e[0]}},Ca=Pt('<path d="M18 9s-4.4 6-6 6-6-6-6-6"/>',"tw-shadow-chevron",2.5);function La(t,e){let n=A=>typeof A=="string"?ka(A):At(A)?A:null,o=n(t.value??t)||{},r=!!o.inset,s=ke(o.x,bn.x),i=ke(o.y,bn.y),a=Math.max(0,ke(o.blur,bn.blur)),u=ke(o.spread,bn.spread),{root:y,trigger:d,right:p}=Ut("tw-shadow",t.label??"Shadow"),f=h("span","tw-trigger-chip tw-shadow-chip"),C=h("span","tw-shadow-chip-tile");f.append(C);let S=h("span","tw-trigger-value");p.append(f,S);let m=h("div","tw-color-pop tw-shadow-pop"),E=h("div","tw-shadow-stage"),w=h("div","tw-shadow-card");E.append(w);let c=Me([{value:"outer",label:"Outer"},{value:"inner",label:"Inner"}],r?"inner":"outer",A=>{A==="inner"!==r&&(r=A==="inner",M(),I())},"Shadow position"),g=h("div","tw-row");g.append(ot("span","tw-row-label","Position"),c.el);let T=h("div","tw-fields tw-shadow-fields"),O=(A,x,K,Z)=>{let R=_t({label:A,value:x(),step:1,min:Z,unit:"px"},J=>{K(J),M(),I()});return T.append(R.el),R},z=O("X",()=>s,A=>{s=A}),B=O("Y",()=>i,A=>{i=A}),H=O("Blur",()=>a,A=>{a=Math.max(0,A)},0),V=O("Spread",()=>u,A=>{u=A});s=z.get(),i=B.get(),a=H.get(),u=V.get();let L=ht("tw-trigger tw-shadow-color");L.setAttribute("aria-expanded","false");let F=h("span","tw-trigger-chip tw-color-swatch"),W=h("span","tw-trigger-value"),X=h("span","tw-trigger-right");X.append(F,W),X.insertAdjacentHTML("beforeend",Ca),L.append(ot("span","tw-trigger-label","Colour"),X);let q=Ue({value:typeof o.color=="string"&&We(o.color)?o.color:bn.color,onMode:()=>M()},()=>{M(),I()});q.el.hidden=!0,L.addEventListener("click",()=>{let A=q.el.hidden;q.el.hidden=!A,L.setAttribute("aria-expanded",String(A)),$.reflow()}),m.append(E,g,T,L,q.el),y.append(m);let tt=A=>`${r?"inset ":""}${Jt(s*A)}px ${Jt(i*A)}px ${Jt(a*A)}px ${Jt(u*A)}px ${q.get()}`,N=()=>({inset:r,x:+Jt(s),y:+Jt(i),blur:+Jt(a),spread:+Jt(u),color:q.get(),css:tt(1)}),I=()=>e(N()),M=()=>{w.style.boxShadow=tt(1),C.style.boxShadow=tt(.3),S.textContent=`${r?"in ":""}${Jt(s)} ${Jt(i)} ${Jt(a)}${u?" "+Jt(u):""}`,F.style.background=q.swatchCss(),W.textContent=q.valueText()},$=zt(y,d,m,{width:260,fallbackH:300,gap:6,onOpen:q.reflow,onReflow:q.reflow});return M(),{el:y,set:A=>{let x=n(A);x&&(x.inset!=null&&(r=!!x.inset,c.set(r?"inner":"outer")),x.x!=null&&(z.set(ke(x.x,s)),s=z.get()),x.y!=null&&(B.set(ke(x.y,i)),i=B.get()),x.blur!=null&&(H.set(ke(x.blur,a)),a=H.get()),x.spread!=null&&(V.set(ke(x.spread,u)),u=V.get()),typeof x.color=="string"&&We(x.color)&&q.set(x.color),M())},get:N}}lt("shadow",La);Mt();var Sa=Pt('<path d="M3 9V7a4 4 0 0 1 4-4h2M15 3h2a4 4 0 0 1 4 4v2M21 15v2a4 4 0 0 1-4 4h-2M9 21H7a4 4 0 0 1-4-4v-2"/>'),Aa=Pt('<path d="M3 13V8a5 5 0 0 1 5-5h5"/>',"",1.5,16),Ta=Pt('<path d="M3 10V8a5 5 0 0 1 5-5a5 5 0 0 1 5 5v2"/>',"",1.5,16),Oa=/^(-?\d*\.?\d+)([a-z%]*)$/i,Rs=t=>t!=null&&t!==""&&Number.isFinite(+t)?+t:null,$s=t=>String(+t.toFixed(2)),Fs=t=>t.length===1?[t[0],t[0],t[0],t[0]]:t.length===2?[t[0],t[1],t[0],t[1]]:t.length===3?[t[0],t[1],t[2],t[1]]:t.slice(0,4),_s=(t,e)=>{if(typeof t=="number")return Number.isFinite(t)?[t,t,t,t]:null;if(typeof t=="string"){let n=t.trim().split(/\s+/).map(o=>{let r=Oa.exec(o);return r?+r[1]:NaN});return n.length>=1&&n.length<=4&&n.every(Number.isFinite)?Fs(n):null}if(Array.isArray(t)){let n=t.map(Rs);return n.length>=1&&n.length<=4&&n.every(o=>o!==null)?Fs(n):null}if(t&&typeof t=="object"){let n=t,o=e.slice(),r=!1;return["top","right","bottom","left"].forEach((s,i)=>{let a=Rs(n[s]);a!==null&&(o[i]=a,r=!0)}),r?o:null}return null};function Pa(t,e){let n=typeof t.unit=="string"&&t.unit.trim()?t.unit.trim():"px",o=!!t.corners,r={step:t.step??1,min:t.min??(o?0:void 0),max:t.max,unit:n},s=_s(t.value??t,[0,0,0,0])||[0,0,0,0],i=s.every(H=>H===s[0]),a=h("div","tw-sides"),u=_t({label:t.label,value:s[0],row:!0,...r},H=>{s=[H,H,H,H],O(),T()}),y=o?"Independent corners":"Independent sides",d=ht("tw-sides-link",Sa);d.setAttribute("aria-label",y),d.title=y,d.addEventListener("click",()=>z());let p=h("div","tw-sides-multi"),f=h("div","tw-sides-head"),C=h("span","tw-sides-sum"),S=document.createTextNode("");C.append(S,ot("span","tw-sides-unit",n)),f.append(ot("span","tw-row-label",t.label),C);let m=h("div","tw-fields"),E=o?["Top-left","Top-right","Bottom-right","Bottom-left"]:["Top","Right","Bottom","Left"],w=E.map((H,V)=>_t({label:H,value:s[V],...r},L=>{s[V]=L,O(),T()}));w.forEach((H,V)=>{let L=H.el.querySelector(".tw-field-label");L.title=E[V],L.classList.add("tw-sides-glyph"),L.dataset.at=E[V].toLowerCase(),L.innerHTML=o?Aa:Ta,m.append(H.el)}),p.append(f,m),a.append(u.el,p),s=w.map(H=>H.get());let c=()=>{let[H,V,L,F]=s.map($s),W=X=>X==="0"?"0":X+n;return(H===L&&V===F?H===V?[H]:[H,V]:V===F?[H,V,L]:[H,V,L,F]).map(W).join(" ")},g=()=>({top:s[0],right:s[1],bottom:s[2],left:s[3],css:c()}),T=()=>e(g()),O=()=>{a.classList.toggle("is-linked",i),d.setAttribute("aria-pressed",String(!i)),(i?u.el:f).append(d),u.set(s[0]),w.forEach((H,V)=>H.set(s[V])),S.data=s.map($s).join(" ")},z=()=>{i=!i,i&&(s=[s[0],s[0],s[0],s[0]]),O(),T(),d.focus()};return O(),{el:a,set:H=>{let V=_s(H,s);V&&(w.forEach((L,F)=>L.set(V[F])),s=w.map(L=>L.get()),i=s.every(L=>L===s[0]),O())},get:g}}lt("sides",Pa);Mt();function Na(t,e){let n=t.label,o=+(t.value&&t.value[0]),r=+(t.value&&t.value[1]),s=Number.isFinite(o)?o:0,i=Number.isFinite(r)?r:1,[a,u]=[me(s),me(i)],y=b=>b!=null&&b!==""&&Number.isFinite(+b),{min:d,max:p,step:f}=Pn(y(t.min)?t.min:Math.min(a[0],u[0]),y(t.max)?t.max:Math.max(a[1],u[1]),t.step,s,i);[d,p]=je(d,p,f);let C=fe(f),S=b=>Pe(b,d,f),m=_(S(Number.isFinite(o)?o:d),d,p),E=_(S(Number.isFinite(r)?r:p),d,p);if(m>E){let b=m;m=E,E=b}let w=h("div","tw-slider-wrap"),c=h("div","tw-slider tw-interval"),g=h("div","tw-slider-fill"),T=h("div","tw-slider-handle"),O=h("div","tw-slider-handle"),z=ot("span","tw-slider-label",n),B=h("span","tw-slider-value");c.append(g,T,O,z,B),w.append(c),[["minimum",T],["maximum",O]].forEach(([b,A])=>{A.tabIndex=0,A.setAttribute("role","slider"),A.setAttribute("aria-label",`${n} ${b}`),A.setAttribute("aria-valuemin",String(d)),A.setAttribute("aria-valuemax",String(p))});let H=b=>(b-d)/(p-d||1)*100,V=b=>`clamp(5px, calc(${b}% - 1.5px), calc(100% - 9px))`,L=()=>{let b=H(m),A=H(E);g.style.left=b+"%",g.style.width=Math.max(0,A-b)+"%",T.style.left=V(b),O.style.left=V(A),B.textContent=`${m.toFixed(C)} \u2013 ${E.toFixed(C)}`,T.setAttribute("aria-valuenow",String(m)),O.setAttribute("aria-valuenow",String(E));let x=w.offsetWidth;if(x){z.style.maxWidth=Math.max(0,x-B.offsetWidth-12-8-10)+"px";let K=Z=>Nn(z,B,Z/100*x-1.5,3);T.classList.toggle("is-dodge",K(H(m))),O.classList.toggle("is-dodge",K(H(E)))}};L();let F=()=>e([m,E]),W=b=>{m=_(Math.min(S(b),E),d,p),L()},X=b=>{E=_(Math.max(S(b),m),d,p),L()},q=null,tt=1,N=null,I=b=>{let A=w.offsetWidth||q.width,x=_((b-q.left)/tt/A,0,1);return _(d+x*(p-d),d,p)},M=b=>{let A=I(b);N||(N=A<m?"lo":A>E?"hi":Math.abs(A-m)<=Math.abs(A-E)?"lo":"hi"),N==="lo"?W(A):X(A),F()};ae(c,{onDown:b=>{b.preventDefault(),q=w.getBoundingClientRect(),tt=q.width/(w.offsetWidth||q.width),c.style.transition="",c.classList.add("is-active","is-dragging"),N=null,M(b.clientX),(N==="lo"?T:O).focus({focusVisible:!1})},onMove:b=>{M(b.clientX),_n(c,q,b.clientX)},onEnd:()=>{Hn(c),q=null,N=null,c.classList.remove("is-active","is-dragging")}}),Rn(c,L),Bt(L),Gt(c,[[window,"resize"],[window,"tw-reflow"]],L);let $=b=>A=>{let x=b==="lo"?xe(A,m,f,d,E):xe(A,E,f,m,p);x!=null&&(A.preventDefault(),b==="lo"?W(x):X(x),F())};return T.addEventListener("keydown",$("lo")),O.addEventListener("keydown",$("hi")),{el:w,set:b=>{if(Array.isArray(b)){let A=+b[0],x=+b[1];if(!Number.isFinite(A)||!Number.isFinite(x))return;m=_(S(Math.min(A,x)),d,p),E=_(S(Math.max(A,x)),d,p),L()}},get:()=>[m,E]}}lt("interval",Na);Mt();var Ra=0;function $a(t){let e=`tw-tabs-${++Ra}`,n=h("div","tw-tabs"),o=h("div","tw-tabs-bar");o.setAttribute("role","tablist");let r=h("div","tw-tabs-pill");o.append(r);let s=h("div","tw-tabs-pages"),i=[],a=t.pages.map((d,p)=>{let f=ot("button","tw-tabs-tab",d.title);f.setAttribute("role","tab"),f.dataset.active=String(p===0),f.setAttribute("aria-selected",String(p===0)),f.tabIndex=p===0?0:-1,f.id=`${e}-tab-${p}`,f.setAttribute("aria-controls",`${e}-page-${p}`);let C=h("div","tw-tabs-page tw-controls");return C.dataset.active=String(p===0),C.setAttribute("role","tabpanel"),C.id=`${e}-page-${p}`,C.setAttribute("aria-labelledby",f.id),i.push(C),s.append(C),f.addEventListener("click",()=>y(p)),o.append(f),f});n.append(o,s);let u=d=>Io(o,r,d);function y(d){a.forEach((p,f)=>{p.dataset.active=String(f===d),p.setAttribute("aria-selected",String(f===d)),p.tabIndex=f===d?0:-1}),i.forEach((p,f)=>p.dataset.active=String(f===d)),u(!0),requestAnimationFrame(()=>window.dispatchEvent(new Event("tw-reflow")))}return o.addEventListener("keydown",d=>{let p=a.findIndex(C=>C.dataset.active==="true");if(p<0)return;let f=Ne(d.key,p,a.length,-1);f<0||(d.preventDefault(),y(f),a[f].focus())}),Bt(u),{el:n,bodies:i,activate:y,active:()=>a.findIndex(d=>d.dataset.active==="true")}}lt("tabs",$a);Mt();var Fa=t=>String(t).replace(/[\\"]/g,"\\$&").replace(/[\x00-\x1f\x7f]/g,e=>"\\"+e.charCodeAt(0).toString(16)+" "),cr=t=>`url("${Fa(t)}")`,ur=1<<20,Hs=t=>t>=ur?`${Math.round(t/ur*10)/10} MB`:t>=1024?`${Math.round(t/1024)} KB`:`${t} B`,Ds=t=>{if(/^data:/i.test(t))return"";let e=t.split(/[?#]/)[0].split("/").pop().replace(/\.\w+$/,"");try{return decodeURIComponent(e)}catch{return e}},_a=Pt('<path d="M18 6 6 18m12 0L6 6"/>',"",2.2),Ha=Pt('<path d="M12 15V4m-4.5 4.5L12 4l4.5 4.5M4 15v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3"/>');function Da(t,e){let n=typeof t.value=="string"?t.value:"",o=new Set,r=(Array.isArray(t.options)?t.options:[]).map(c=>({value:Yt(c),label:c&&typeof c=="object"&&c.label!=null?String(c.label):""})).filter(c=>typeof c.value=="string"&&!!c.value&&!o.has(c.value)&&!!o.add(c.value)),s=t.upload!==!1||!r.length,i=+t.maxSize>0?+t.maxSize:10*ur,a=h("input","tw-image-input");a.type="file",a.accept="image/*";let u=h("span","tw-image-note"),y=h("span","tw-image-live");y.setAttribute("role","status");let d,p=c=>{u.textContent=y.textContent=c,clearTimeout(d),d=setTimeout(()=>{u.textContent=y.textContent=""},2600)},f,C=0,S=(c,g=!0)=>{C++,n=c,f(),g&&e(n)},m=c=>{if(!c)return;if(!c.type.startsWith("image/"))return p("Not an image");if(c.size>i)return p(`${Hs(c.size)}, max ${Hs(i)}`);let g=new FileReader,T=++C;g.onload=()=>{C===T&&S(String(g.result))},g.onerror=()=>p("Couldn't read the file"),g.readAsDataURL(c)},E=(c,g)=>{let T=()=>!!c.closest(".is-disabled");c.addEventListener("dragover",O=>{T()||(O.preventDefault(),g.dataset.over="true")}),c.addEventListener("dragleave",()=>{g.dataset.over="false"}),c.addEventListener("drop",O=>{g.dataset.over="false",!T()&&(O.preventDefault(),m(O.dataTransfer?.files[0]))})};a.addEventListener("change",()=>{m(a.files?.[0]),a.value=""});let w;if(r.length){w=h("div","tw-image tw-image-gallery");let c=s?ht("tw-button tw-image-upload",Ha):null,g=ht("tw-image-remove",_a);g.setAttribute("aria-label",`${t.label}: remove the image`);let T=h("div","tw-image-head");T.append(ot("span","tw-image-label",t.label),g);let O=h("div","tw-image-grid");O.setAttribute("role","radiogroup"),O.setAttribute("aria-label",t.label);let z=r.length,B=Math.min(4,Math.max(1,t.cols|0||(z<=3?Math.max(2,z):z===4?2:3)));O.style.setProperty("--tw-img-cols",String(B));let H=(W,X)=>{let q=dn("tw-image-tile",W,tt=>S(tt));return q.textContent="",q.setAttribute("aria-label",X),q.style.backgroundImage=cr(W),q},V=r.map((W,X)=>{let q=H(W.value,W.label||Ds(W.value)||`Image ${X+1}`);return O.append(q),q}),L=ht("tw-image-tile tw-image-custom");L.setAttribute("role","radio");let F=()=>L.parentNode?[...V,L]:V;f=()=>{let W=L.matches(":focus");n&&!V.some(tt=>tt._twVal===n)?(L._twVal=n,L.style.backgroundImage=cr(n),L.setAttribute("aria-label",Ds(n)||"Uploaded image"),L.parentNode||O.append(L)):L.remove();let X=F(),q=Math.max(0,X.findIndex(tt=>tt._twVal===n));X.forEach((tt,N)=>{let I=!!n&&tt._twVal===n;tt.dataset.active=String(I),tt.setAttribute("aria-checked",String(I)),tt.tabIndex=N===q?0:-1}),W&&!L.parentNode&&X[q].focus(),g.hidden=!n},O.addEventListener("keydown",W=>{let X=F(),q=X.indexOf(W.target);if(q<0)return;if((W.key==="Delete"||W.key==="Backspace")&&!W.altKey&&!W.metaKey&&!W.ctrlKey){W.preventDefault(),S(""),V[0].focus();return}let tt=Ne(W.key,q,X.length,B);tt<0||(W.preventDefault(),tt!==q&&(S(X[tt]._twVal),X[tt].focus()))}),g.addEventListener("click",()=>{S(""),(c||V[0]).focus()}),w.append(T,O,y),c&&(c.setAttribute("aria-label",`${t.label}: upload an image`),c.append(u,ot("span","tw-image-text","Upload image")),c.addEventListener("click",()=>a.click()),w.append(c,a),E(w,w))}else{let c=Ut("tw-image",t.label);w=c.root,c.trigger.removeAttribute("aria-expanded"),c.trigger.setAttribute("aria-label",`${t.label}: choose an image`);let g=h("span","tw-image-text"),T=h("span","tw-trigger-chip tw-image-thumb");c.right.append(T,u,g),w.append(a,y),f=()=>{T.dataset.set=n?"true":"false",T.style.backgroundImage=n?cr(n):"",g.textContent=n?"Replace":"Drop or choose"},c.trigger.addEventListener("click",()=>a.click()),E(c.trigger,c.trigger)}return f(),{el:w,set:c=>{c!=null&&typeof c!="string"||S(c||"",!1)},get:()=>n}}lt("image",Da);Mt();var Ia=(t,e,n,o,r,s,i)=>{let a=r.length;t.clearRect(0,0,n,o),t.strokeStyle=Bn(e),t.lineWidth=1.5,t.lineJoin="round",t.beginPath();let u=!1;for(let y=0;y<a;y++){let d=r[(s+y)%a];if(Number.isNaN(d))continue;let p=y/(a-1)*n,f=o-_(i(d),0,1)*o;u?t.lineTo(p,f):(t.moveTo(p,f),u=!0)}t.stroke()},ja=t=>{for(let e of["resize","tw-reflow"])window.addEventListener(e,t);return()=>{for(let e of["resize","tw-reflow"])window.removeEventListener(e,t)}};function Is(t,e=!1){let n=typeof t.get=="function"?t.get:()=>t.value,o=Math.max(30,Number.isFinite(+t.interval)?+t.interval:200),r;try{r=n()}catch{}let s=typeof r=="number",i=t.view==="graph"||s&&t.graph!==!1&&t.view!=="text"&&t.rows==null,a=h("div","tw-fps tw-monitor"),u=ot("span","tw-fps-val","\u2014");a.append(ot("span","tw-fps-label",t.label??"Monitor"),u);let y=0,d=0,p=()=>{},f=!1,C=Number.isFinite(+t.decimals)?Math.min(20,Math.max(0,Math.floor(+t.decimals))):2,S=L=>L==null?"\u2014":typeof L=="number"?Number.isInteger(L)||!Number.isFinite(L)?String(L):L.toFixed(C):typeof L=="object"?un(L):String(L),m=()=>{y&&clearInterval(y),y=0,d&&cancelAnimationFrame(d),d=0,p()},E=L=>{let F=W=>{if(e&&(d=requestAnimationFrame(F)),!a.isConnected){f&&m();return}f=!0;let X;try{X=n(W)}catch{return}L(X)};e?d=requestAnimationFrame(F):y=setInterval(F,o)};if(!i&&t.rows){u.remove();let L=Math.max(1,Math.floor(+t.rows)||1),F=h("pre","tw-monitor-buffer");F.style.setProperty("--tw-monitor-rows",L),a.append(F);let W=[];return E(X=>{for(W.push(S(X));W.length>L;)W.shift();F.textContent=W.join(`
3
+ `)}),ge(a,m)}if(!i)return E(L=>{u.textContent=S(L)}),ge(a,m);let w=document.createElement("canvas");w.className="tw-fps-canvas",a.append(w);let c=w.getContext("2d");if(!c)return E(L=>{u.textContent=S(L)}),ge(a,m);let g=80,T=new Array(g).fill(NaN),O=0,z=0,B=0,H=()=>{[z,B]=Kr(w,c,2)};p=ja(H);let V=()=>{if(z||H(),!z)return;let L=t.min,F=t.max;if(L==null||F==null){let X=1/0,q=-1/0;for(let N of T)Number.isFinite(N)&&(N<X&&(X=N),N>q&&(q=N));X===1/0?(X=0,q=1):X===q&&(X-=.5,q+=.5);let tt=(q-X)*.1;L==null&&(L=X-tt),F==null&&(F=q+tt)}let W=F-L||1;Ia(c,a,z,B,T,O,X=>(X-L)/W)};return E(L=>{if(typeof L!="number"||!Number.isFinite(L)){u.textContent=S(L);return}T[O]=L,O=(O+1)%g,u.textContent=S(L),V()}),ge(a,m)}var Ba=()=>{let t=0;return e=>{if(!(e>0))return;let n=t?1e3/(e-t):void 0;return t=e,n}},Va=t=>Is({...t,label:t.label??"FPS",get:Ba(),view:"graph",min:0,max:120,decimals:0},!0);lt("fpsgraph",Va);lt("monitor",t=>Is(t));Mt();function Ka(t,e){let n=(R,J,st)=>Number.isFinite(+R)?Math.max(J,+R):st,o=R=>({stiffness:n(R.stiffness,1,300),damping:n(R.damping,.5,26),mass:n(R.mass,.1,1)}),r=R=>Number.isFinite(+R),a=R=>_(r(R)?+R:.5,.1,1),u=R=>_(r(R)?+R:.2,0,1),y=R=>+R.toPrecision(10),d=R=>{let J=(2*Math.PI/R.visualDuration)**2,st=1-R.bounce,ut=1;return{stiffness:y(J),damping:y(2*st*Math.sqrt(J*ut)),mass:ut}},p=R=>R==="time"||R==="physics"?R:null,f={stiffness:t.stiffness,damping:t.damping,mass:t.mass,visualDuration:t.visualDuration,bounce:t.bounce,...t.value||{}},C=p(f.mode)??p(t.mode)??(r(f.visualDuration)||r(f.bounce)?"time":"physics"),S={visualDuration:a(f.visualDuration),bounce:u(f.bounce)},m=o({stiffness:f.stiffness,damping:f.damping,mass:f.mass}),E=h("div","tw-spring"),w=h("div","tw-spring-viz"),c=document.createElement("canvas");c.className="tw-spring-canvas",w.append(c);let g=h("div","tw-fields"),T=h("div","tw-fields"),O=c.getContext("2d"),z=()=>o(C==="time"?d(S):m),B=()=>{let R=w.getBoundingClientRect(),J=Math.max(1,Math.round(R.width)),st=Math.max(1,Math.round(R.height));if(J<2)return;let ut=window.devicePixelRatio||1;c.width=J*ut,c.height=st*ut,O.setTransform(ut,0,0,ut,0,0),O.clearRect(0,0,J,st);let Ct=z(),yt=pn(Ct.stiffness,Ct.damping,Ct.mass,Math.max(160,Math.round(J*ut))),vt=Math.max(1.05,...yt),Lt=8,Ht=jt=>Lt+jt/(yt.length-1)*(J-2*Lt),xt=jt=>st-Lt-jt/vt*(st-2*Lt);O.strokeStyle=Br(E,"--tw-surface-active")||"rgba(255,255,255,0.1)",O.lineWidth=1,O.beginPath(),O.moveTo(Lt,xt(1)),O.lineTo(J-Lt,xt(1)),O.stroke(),O.strokeStyle=Bn(E),O.lineWidth=1.5,O.lineJoin=O.lineCap="round",O.beginPath(),yt.forEach((jt,Dt)=>Dt?O.lineTo(Ht(Dt),xt(jt)):O.moveTo(Ht(Dt),xt(jt))),O.stroke()},H=()=>C==="time"?{...z(),visualDuration:S.visualDuration,bounce:S.bounce}:z(),V=()=>e(H()),L={};[["stiffness","Stiffness",1],["damping","Damping",.5],["mass","Mass",.1]].forEach(([R,J,st])=>{L[R]=_t({label:J,value:m[R],step:st,min:st},ut=>{m[R]=ut,B(),V()}),g.append(L[R].el)});let F=_t({label:"Duration",value:S.visualDuration*1e3,step:50,min:.1*1e3,max:1*1e3,unit:"ms"},R=>{S.visualDuration=a(R/1e3),B(),V()}),W=_t({label:"Bounce",value:S.bounce*100,step:5,min:0,max:100,unit:"%"},R=>{S.bounce=u(R/100),B(),V()});T.append(F.el,W.el);let X=()=>{T.style.display=C==="time"?"":"none",g.style.display=C==="physics"?"":"none"},tt=Me([{value:"time",label:"Time"},{value:"physics",label:"Physics"}],C,R=>{R!=="time"&&R!=="physics"||R===C||(C=R,X(),B(),V())},"Spring mode"),N=h("div","tw-row");N.append(ot("span","tw-row-label","Mode"),tt.el),t.label&&E.append(ot("div","tw-spring-label",t.label)),E.append(w,N,g,T);let I=1,M=500,$=1,b=40,A=null,x=R=>{if(!A)return;let J=_((R.clientX-A.left)/A.width,0,1),st=_((R.clientY-A.top)/A.height,0,1);C==="time"?(F.set((.1+J*(1-.1))*1e3),S.visualDuration=F.get()/1e3,W.set((1-st)*100),S.bounce=W.get()/100):(L.stiffness.set(I+J*(M-I)),m.stiffness=L.stiffness.get(),L.damping.set($+st*(b-$)),m.damping=L.damping.get()),B(),V()};ae(w,{onDown:R=>{R.preventDefault(),A=w.getBoundingClientRect(),w.classList.add("is-dragging"),x(R)},onMove:x,onEnd:()=>{A=null,w.classList.remove("is-dragging")}}),X(),Bt(B),Gt(c,[[window,"resize"],[window,"tw-reflow"],[matchMedia("(prefers-color-scheme: dark)"),"change"],[window,"tw-retheme"]],B);let K=null,Z=!1;return typeof MutationObserver=="function"&&(K=new MutationObserver(()=>{c.isConnected?(Z=!0,B()):Z&&(K.disconnect(),K=null)}),K.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),{el:E,destroy:()=>{K&&(K.disconnect(),K=null)},set:R=>{if(!R||typeof R!="object")return;let J=p(R.mode),st=r(R.visualDuration)||r(R.bounce),ut=r(R.stiffness)||r(R.damping)||r(R.mass);!st&&!ut&&!J||(C=J??(st?"time":"physics"),st&&(r(R.visualDuration)&&(S.visualDuration=a(R.visualDuration)),r(R.bounce)&&(S.bounce=u(R.bounce))),ut&&(m=o({...m,...R})),tt.set(C),F.set(S.visualDuration*1e3),W.set(S.bounce*100),L.stiffness.set(m.stiffness),L.damping.set(m.damping),L.mass.set(m.mass),X(),B())},get:()=>H()}}lt("spring",Ka);Mt();function Ga(t,e){let n=[.25,.1,.25,1],o=-.25,r=1.25,s=r-o,i=8,a=N=>N.map((I,M)=>_(I,M%2?o:0,M%2?r:1)),u=Array.isArray(t.value)&&t.value.length===4?t.value.map(Number):n.slice();u.some(N=>!Number.isFinite(N))&&(u=n.slice()),u=a(u);let y=u.slice(),d=h("div","tw-bezier");t.label&&d.append(ot("div","tw-bezier-label",t.label));let p=h("div","tw-bezier-graph"),f=$t("svg","tw-bezier-svg");f.setAttribute("preserveAspectRatio","none");let C=$t("line","tw-bezier-guide"),S=$t("line","tw-bezier-guide"),m=$t("line","tw-bezier-diag"),E=$t("line","tw-bezier-ctl"),w=$t("line","tw-bezier-ctl"),c=$t("path","tw-bezier-curve");f.append(C,S,m,E,w,c);let g=ht("tw-bezier-handle");g.setAttribute("aria-label","Control point 1");let T=ht("tw-bezier-handle");T.setAttribute("aria-label","Control point 2"),p.append(f,g,T);let O=h("div","tw-fields tw-bezier-fields");d.append(p,O);let z=0,B=0,H=N=>i+N*(z-2*i),V=N=>B-i-(N-o)/s*(B-2*i),L=(N,I,M,$,b)=>{N.setAttribute("x1",I),N.setAttribute("y1",M),N.setAttribute("x2",$),N.setAttribute("y2",b)},F=()=>{if(g.setAttribute("aria-label",`Control point 1, x ${u[0]}, y ${u[1]}`),T.setAttribute("aria-label",`Control point 2, x ${u[2]}, y ${u[3]}`),z=p.offsetWidth,B=p.offsetHeight,z<2)return;f.setAttribute("viewBox",`0 0 ${z} ${B}`);let[N,I,M,$]=u,b=H(0),A=V(0),x=H(1),K=V(1),Z=H(N),R=V(I),J=H(M),st=V($);L(C,i,A,z-i,A),L(S,i,K,z-i,K),L(m,b,A,x,K),L(E,b,A,Z,R),L(w,x,K,J,st),c.setAttribute("d",`M${b},${A} C${Z},${R} ${J},${st} ${x},${K}`),g.style.left=Z+"px",g.style.top=R+"px",T.style.left=J+"px",T.style.top=st+"px"},W=[{label:"X1",i:0,lo:0,hi:1},{label:"Y1",i:1,lo:o,hi:r},{label:"X2",i:2,lo:0,hi:1},{label:"Y2",i:3,lo:o,hi:r}],X=W.map(N=>{let I=_t({label:N.label,value:u[N.i],step:.01,min:N.lo,max:N.hi},M=>{u[N.i]=M,F(),e(u.slice())});return O.append(I.el),I}),q=()=>X.forEach((N,I)=>N.set(u[W[I].i])),tt=(N,I)=>{let M=null,$=0,b=0,A=1;ae(N,{onDown:x=>{x.preventDefault(),M=p.getBoundingClientRect(),$=p.offsetWidth||M.width,b=p.offsetHeight||M.height,A=M.width/$,N.classList.add("is-dragging"),N.focus({focusVisible:!1})},onMove:x=>{let K=(x.clientX-M.left)/A,Z=(x.clientY-M.top)/A,R=_((K-i)/($-2*i),0,1),J=_(o+(b-i-Z)/(b-2*i)*s,o,r);u[I*2]=+R.toFixed(2),u[I*2+1]=+J.toFixed(2),F(),q(),e(u.slice())},onEnd:()=>{M=null,N.classList.remove("is-dragging")}}),N.addEventListener("keydown",x=>{if(x.key==="Escape")return N.blur();if(x.key==="Home"){x.preventDefault(),u=y.slice(),F(),q(),e(u.slice());return}let K=x.key==="ArrowRight"?1:x.key==="ArrowLeft"?-1:0,Z=x.key==="ArrowUp"?1:x.key==="ArrowDown"?-1:0;if(!K&&!Z)return;x.preventDefault();let R=x.shiftKey?.1:.01,J=I*2;K&&(u[J]=+_(u[J]+K*R,0,1).toFixed(2)),Z&&(u[J+1]=+_(u[J+1]+Z*R,o,r).toFixed(2)),F(),q(),e(u.slice())})};return tt(g,0),tt(T,1),Bt(F),Gt(d,[[window,"resize"],[window,"tw-reflow"]],F),{el:d,set:N=>{if(Array.isArray(N)&&N.length===4){let I=N.map(Number);if(I.some(M=>!Number.isFinite(M)))return;u=a(I),F(),q()}},get:()=>u.slice()}}lt("cubicbezier",Ga);Mt();var dr={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},za=300,ro=1e4,Xa=16,js=.9,Zt=t=>typeof t=="number"?Number.isFinite(t):typeof t=="string"&&t.trim()!==""&&Number.isFinite(+t),pr=t=>{if(typeof t=="string")return Object.prototype.hasOwnProperty.call(dr,t)?dr[t].slice():null;if(Array.isArray(t)&&t.length===4){let e=t.map(Number);return e.every(Number.isFinite)?e:null}return null},Ks=t=>Zt(t.stiffness)||Zt(t.damping)||Zt(t.mass)||Zt(t.visualDuration)||Zt(t.bounce),Bs=t=>{let e={mode:"time"};if(Zt(t.stiffness)){let n=+t.stiffness,o=Zt(t.mass)?+t.mass:1,r=Math.sqrt(n/o);e.visualDuration=2*Math.PI/r,Zt(t.damping)&&(e.bounce=_(1-+t.damping/(2*Math.sqrt(n*o)),0,js))}return Zt(t.visualDuration)&&(e.visualDuration=+t.visualDuration),Zt(t.bounce)&&(e.bounce=_(+t.bounce,0,js)),e},Vs=(t,e)=>t.mode==="spring"||t.mode==="easing"?t.mode:Ks(t)?"spring":pr(t.curve)?"easing":e;function qa(t,e){let n=Vt("cubicbezier"),o=Vt("spring");if(!n||!o)throw new Error("[tweaks] motion: the bezier and spring controls are not loaded");let r=At(t.value)?t.value:{},s=Vs(r,"easing"),i=pr(r.curve)??dr.ease.slice(),a=Zt(r.duration)?_(+r.duration,0,ro):za,{root:u,trigger:y,right:d}=Ut("tw-motion",t.label??"Motion"),p=h("span","tw-trigger-chip tw-motion-chip"),f=$t("svg");f.setAttribute("viewBox","0 0 100 100"),f.setAttribute("preserveAspectRatio","none");let C=$t("path");f.append(C),p.append(f);let S=h("span","tw-trigger-value");d.append(p,S);let m=h("div","tw-color-pop tw-motion-pop"),E=h("div","tw-motion-body");m.append(E);let w=n({...t,type:"cubicbezier",label:"",value:i.slice()},x=>{i=x,b(),W()});i=w.get();let c=o({...t,type:"spring",label:"",value:Bs(r)},()=>{b(),W()}),g=_t({label:"Duration",value:a,step:10,min:0,max:ro,unit:"ms"},x=>{a=_(x,0,ro),b(),W()});a=g.get();let T=h("div","tw-motion-pane"),O=h("div","tw-motion-pane"),z=h("div","tw-fields");z.append(g.el),T.append(w.el,z),O.append(c.el);let B=h("div","tw-motion-stage"),H=h("div","tw-motion-box");B.append(H);let V=Me([{value:"easing",label:"Easing"},{value:"spring",label:"Spring"}],s,x=>{(x==="easing"||x==="spring")&&x!==s&&(s=x,M(),b(),W())},"Motion type"),L=h("div","tw-row");L.append(ot("span","tw-row-label","Type"),V.el),E.append(L,T,O,B),u.append(m);let F=()=>{if(s==="easing")return{mode:s,curve:i.slice(),duration:a,easing:`cubic-bezier(${i.join(", ")})`};let x=c.get(),K=7/Math.max(x.damping/(2*x.mass),.5),Z=_(Math.round(K*40),48,240);return{mode:s,...x,duration:Math.round(K*1e3),easing:`linear(${pn(x.stiffness,x.damping,x.mass,Z,K).map(R=>+R.toFixed(3)).join(", ")})`}},W=()=>e(F()),X=!1,q=null,tt=x=>{if(x)X=!X;else if(q&&q.playState==="running")return;let K=F(),Z=Math.max(0,B.clientWidth-H.offsetWidth-2*Xa),R=`translateX(${X?0:Z}px)`,J=`translateX(${X?Z:0}px)`;if(Ee.matches||typeof H.animate!="function"){H.style.transform=J;return}q?.cancel();let st=[{transform:R},{transform:J}];try{q=H.animate(st,{duration:K.duration,easing:K.easing,fill:"forwards"})}catch{q=H.animate(st,{duration:K.duration,fill:"forwards"})}};B.addEventListener("click",()=>tt(!0)),B.tabIndex=0,B.setAttribute("role","button"),B.setAttribute("aria-label","Replay the motion"),B.addEventListener("keydown",x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),tt(!0))});let N=()=>{let x;if(s==="easing"){let[R,J,st,ut]=i;x=[];for(let Ct=0;Ct<=24;Ct++){let yt=Ct/24,vt=1-yt,Lt=3*vt*vt*yt,Ht=3*vt*yt*yt,xt=yt*yt*yt;x.push([Lt*R+Ht*st+xt,Lt*J+Ht*ut+xt])}}else{let R=c.get();x=pn(R.stiffness,R.damping,R.mass,32).map((J,st)=>[st/31,J])}let K=Math.max(1,...x.map(R=>R[1])),Z=Math.min(0,...x.map(R=>R[1]));return x.map(([R,J],st)=>`${st?"L":"M"}${(10+R*80).toFixed(1)},${(90-(J-Z)/(K-Z)*80).toFixed(1)}`).join(" ")},I=()=>{s==="easing"?w.set(i.slice()):c.set(c.get())},M=()=>{T.style.display=s==="easing"?"":"none",O.style.display=s==="spring"?"":"none",I()},$=()=>s==="easing"?`Easing \xB7 ${a} ms`:`Spring \xB7 ${Math.round((c.get().visualDuration??0)*1e3)} ms`,b=()=>{C.setAttribute("d",N()),S.textContent=$(),tt(!1)};return zt(u,y,m,{width:240,fallbackH:380,gap:6,onOpen:()=>{V.set(s),I(),tt(!0)},initialFocus:()=>V.el.querySelector('[tabindex="0"]')}),M(),b(),{el:u,set:x=>{let K=typeof x=="string"?{curve:x}:Array.isArray(x)&&x.length===4?{curve:x}:At(x)?x:null;if(!K)return;s=Vs(K,s);let Z=pr(K.curve);Z&&(w.set(Z.slice()),i=w.get()),s==="easing"&&Zt(K.duration)&&(g.set(_(+K.duration,0,ro)),a=g.get()),Ks(K)&&c.set(Bs(K)),V.set(s),M(),b()},get:F,destroy:()=>c.destroy&&c.destroy()}}lt("motion",qa);Mt();function Ya(t,e){let n=t.components,{root:o,trigger:r,right:s}=Ut("tw-point",t.label??"Point"),i=h("span","tw-trigger-value"),a=h("div","tw-trigger-chip tw-point-preview"),u=h("div","tw-point-preview-dot");a.append(u),s.append(a,i);let y=h("div","tw-color-pop tw-point-pop"),d=h("div","tw-point-body");y.append(d);let p=t.pad!==!1&&n.length>=2,f=N=>{let I=me(Math.abs(Number.isFinite(+N.value)?+N.value:0))[1],M=N.min??-I,$=N.max??I,b=10**Math.floor(Math.log10(($-M)/200));return{lo:M,hi:$,step:N.step??(b>0&&Number.isFinite(b)?b:1)}},C=n.map(f),S=C[0],m=C[1],E=S?.lo??-1,w=S?.hi??1,c=m?.lo??-1,g=m?.hi??1,T=(N,I,M)=>M>I?_((N-I)/(M-I),0,1):.5,O=null,z=null,B=null;if(p){O=h("div","tw-pad"),z=h("div","tw-pad-thumb");let N=$t("svg","tw-pad-line");N.setAttribute("viewBox","0 0 100 100"),N.setAttribute("preserveAspectRatio","none"),B=$t("line"),N.append(B);let I=T(0,c,g);B.setAttribute("x1",T(0,E,w)*100),B.setAttribute("y1",(t.invertY?I:1-I)*100),O.append(h("div","tw-pad-axis tw-pad-axis-x"),h("div","tw-pad-axis tw-pad-axis-y"),N,z),d.append(O)}let H=h("div","tw-fields");d.append(H);let V=()=>{tt(),q()},L=()=>e(W()),F=n.map((N,I)=>{let M=_t({label:N.label,value:N.value??0,step:C[I].step,min:N.min,max:N.max},()=>{V(),L()});return H.append(M.el),M}),W=()=>Object.fromEntries(n.map((N,I)=>[N.key,F[I].get()])),X=(N,I)=>(+N).toFixed(fe(I)),q=()=>{i.textContent=F.map((N,I)=>X(N.get(),C[I].step)).join(", ")},tt=()=>{u.style.left="50%",u.style.top="50%"};if(p){let I=A=>`calc(${(A*100).toFixed(2)}% + ${((.5-A)*5).toFixed(2)}px)`;tt=()=>{let A=T(F[0].get(),E,w),x=T(F[1].get(),c,g),K=t.invertY?x:1-x,Z=A*100,R=K*100;z.style.left=Z+"%",z.style.top=R+"%",u.style.left=I(A),u.style.top=I(K),B.setAttribute("x2",Z),B.setAttribute("y2",R),O.setAttribute("aria-description",`${n[0].label??n[0].key} ${X(F[0].get(),S.step)}, ${n[1].label??n[1].key} ${X(F[1].get(),m.step)}`)},Ge(O,A=>{let[x,K]=ze(A,O),Z=t.invertY?K:1-K;F[0].set(E+x*(w-E)),F[1].set(c+Z*(g-c)),V(),L()}),O.tabIndex=0,O.setAttribute("role","group"),O.setAttribute("aria-label",`${t.label??"Point"} pad: ${n[0].label??n[0].key} and ${n[1].label??n[1].key}`);let $=0,b=()=>{clearTimeout($),$=setTimeout(()=>{O.isConnected&&Xt(O.getAttribute("aria-description")||"")},250)};O.addEventListener("keydown",A=>{if(A.key==="Home"){A.preventDefault(),n.forEach((R,J)=>F[J].set(R.value??0)),V(),L(),b();return}let x=A.key==="ArrowRight"?1:A.key==="ArrowLeft"?-1:0,K=A.key==="ArrowUp"?1:A.key==="ArrowDown"?-1:0;if(!x&&!K)return;A.preventDefault();let Z=A.shiftKey?10:1;x&&F[0].set(_(F[0].get()+x*S.step*Z,E,w)),K&&F[1].set(_(F[1].get()+(t.invertY?-K:K)*m.step*Z,c,g)),V(),L(),b()})}return o.append(y),zt(o,r,y,{width:216,fallbackH:240,gap:6,onOpen:V}),V(),{el:o,set:N=>{N&&n.forEach((I,M)=>{N[I.key]!=null&&F[M].set(N[I.key])}),V()},get:W}}lt("point",Ya);Mt();var Wa=Object.assign(Object.create(null),{sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,atan2:Math.atan2,sinh:Math.sinh,cosh:Math.cosh,tanh:Math.tanh,sqrt:Math.sqrt,cbrt:Math.cbrt,abs:Math.abs,exp:Math.exp,log:Math.log,ln:Math.log,log10:Math.log10,log2:Math.log2,floor:Math.floor,ceil:Math.ceil,round:Math.round,sign:Math.sign,trunc:Math.trunc,min:Math.min,max:Math.max,pow:Math.pow,hypot:Math.hypot,mod:(t,e)=>t%e,clamp:(t,e,n)=>Math.min(Math.max(t,e),n)}),Gs=Object.assign(Object.create(null),{pi:Math.PI,e:Math.E,tau:Math.PI*2,phi:(1+Math.sqrt(5))/2});function fr(t){if(typeof t!="string"||!t.trim()||t.length>512)return null;let e=t,n=[],o=/\d*\.?\d+(?:[eE][+-]?\d+)?/y,r=/[A-Za-z_]\w*/y,s=0;for(;s<e.length;){let m=e[s];if(m===" "||m===" "||m===`
4
+ `){s++;continue}if(m>="0"&&m<="9"||m==="."&&e[s+1]>="0"&&e[s+1]<="9"){o.lastIndex=s;let E=o.exec(e);if(!E||E.index!==s)return null;n.push({t:"num",v:parseFloat(E[0])}),s=o.lastIndex;continue}if(m>="A"&&m<="Z"||m>="a"&&m<="z"||m==="_"){r.lastIndex=s;let E=r.exec(e);n.push({t:"id",v:E[0]}),s=r.lastIndex;continue}if(m==="*"&&e[s+1]==="*"){n.push({t:"op",v:"^"}),s+=2;continue}if("+-*/%^".includes(m)){n.push({t:"op",v:m}),s++;continue}if(m==="("){n.push({t:"lp"}),s++;continue}if(m===")"){n.push({t:"rp"}),s++;continue}if(m===","){n.push({t:"comma"}),s++;continue}return null}if(!n.length)return null;let i=0,a=()=>n[i],u=m=>{let E=n[i];return!E||m&&E.t!==m?null:(i++,E)},y=()=>{let m=d();if(!m)return null;for(;a()&&a().t==="op"&&(a().v==="+"||a().v==="-");){let E=u("op").v,w=d();if(!w)return null;let c=m;m=E==="+"?g=>c(g)+w(g):g=>c(g)-w(g)}return m},d=()=>{let m=p();if(!m)return null;for(;a()&&a().t==="op"&&(a().v==="*"||a().v==="/"||a().v==="%");){let E=u("op").v,w=p();if(!w)return null;let c=m;m=E==="*"?g=>c(g)*w(g):E==="/"?g=>c(g)/w(g):g=>c(g)%w(g)}return m},p=()=>{if(a()&&a().t==="op"&&(a().v==="-"||a().v==="+")){let m=u("op").v,E=p();return E?m==="-"?w=>-E(w):E:null}return f()},f=()=>{let m=C();if(!m)return null;if(a()&&a().t==="op"&&a().v==="^"){u("op");let E=p();return E?w=>Math.pow(m(w),E(w)):null}return m},C=()=>{let m=a();if(!m)return null;if(m.t==="num")return u("num"),()=>m.v;if(m.t==="lp"){u("lp");let E=y();return!E||!u("rp")?null:E}if(m.t==="id"){u("id");let E=m.v.toLowerCase();if(a()&&a().t==="lp"){let w=Wa[E];if(!w)return null;u("lp");let c=[];if(a()&&a().t!=="rp")do{let g=y();if(!g)return null;c.push(g)}while(u("comma"));return u("rp")?g=>w(...c.map(T=>T(g))):null}if(E==="x")return w=>w;if(E in Gs){let w=Gs[E];return()=>w}return null}return null},S=y();return S&&i===n.length?S:null}function Ua(t,e){let n=Number(t.xMin??t.min),o=Number(t.xMax??t.max);if(Number.isFinite(n)||(n=-10),Number.isFinite(o)||(o=10),o<n){let g=n;n=o,o=g}o===n&&(n-=1,o+=1);let r=Math.max(2,Math.min(4096,t.samples|0||256)),s=Number.isFinite(t.yMin)&&Number.isFinite(t.yMax)&&+t.yMax>+t.yMin,i=typeof t.fn=="function"?t.fn:null,a=t.editable!==!1&&!i,u=t.expr!=null?String(t.expr):i?"":"sin(x)",y=i||fr(u),d=h("div","tw-plot");t.label&&d.append(ot("div","tw-plot-label",t.label));let p=h("div","tw-plot-graph"),f=$t("svg","tw-plot-svg");f.setAttribute("preserveAspectRatio","none");let C=$t("line","tw-plot-axis"),S=$t("line","tw-plot-axis"),m=$t("path","tw-plot-curve");f.append(C,S,m),p.append(f),d.append(p);let E=null;if(a){let g=h("div","tw-plot-field");E=h("input","tw-plot-input"),E.type="text",E.value=u,E.spellcheck=!1,E.autocapitalize="off",Wt(E),E.setAttribute("aria-label",`${t.label||"Plot"} \u2014 expression in x`),E.setAttribute("aria-invalid","false"),g.append(ot("span","tw-plot-fx","y ="),E),d.append(g)}let w=6,c=()=>{let g=typeof y=="function";d.classList.toggle("is-invalid",a&&!g),E&&E.setAttribute("aria-invalid",a&&!g?"true":"false");let T=p.getBoundingClientRect(),O=T.width,z=T.height;if(O<2)return;f.setAttribute("viewBox",`0 0 ${O} ${z}`);let B=[],H=1/0,V=-1/0;if(g)for(let I=0;I<r;I++){let M=n+(o-n)*(I/(r-1)),$;try{$=y(M)}catch{$=NaN}B.push($),Number.isFinite($)&&($<H&&(H=$),$>V&&(V=$))}let L=t.yMin,F=t.yMax;if(!s)if(!Number.isFinite(H)||H===V){let I=Number.isFinite(H)?H:0;L=I-1,F=I+1}else{let I=(V-H)*.12;L=H-I,F=V+I}let W=I=>w+(I-n)/(o-n)*(O-2*w),X=I=>z-w-(I-L)/(F-L)*(z-2*w),q=(I,M,$,b,A,x)=>{I.style.display=x?"":"none",x&&(I.setAttribute("x1",M),I.setAttribute("y1",$),I.setAttribute("x2",b),I.setAttribute("y2",A))};q(C,w,X(0),O-w,X(0),L<=0&&F>=0),q(S,W(0),w,W(0),z-w,n<=0&&o>=0);let tt="",N=!1;if(g)for(let I=0;I<r;I++){let M=B[I];if(!Number.isFinite(M)){N=!1;continue}let $=W(n+(o-n)*(I/(r-1))),b=_(X(M),-1e4,1e4);tt+=(N?"L":"M")+$.toFixed(1)+","+b.toFixed(1)+" ",N=!0}m.setAttribute("d",tt)};return a&&E.addEventListener("input",()=>{u=E.value,y=fr(u),c(),e(u)}),Bt(c),Gt(d,[[window,"resize"],[window,"tw-reflow"]],c),{el:d,get:()=>u,set:g=>{g!=null&&(u=String(g),E&&(E.value=u),i||(y=fr(u)),c())}}}lt("plot",Ua);Mt();Mt();Mt();var _e={},so={},Ja=t=>Vt(t)||!_e[t]?null:so[t]||(so[t]=_e[t]().catch(e=>{throw delete so[t],console.error(`[tweaks] control chunk "${t}" failed to load:`,e),e})),mr=(t,e=new Set)=>{for(let n of t)if(n&&(_e[n.type]&&e.add(n.type),n.children&&mr(n.children,e),n.pages))for(let o of n.pages)mr(o.children,e);return e},Je=t=>{let e=[...mr(t)].map(Ja).filter(Boolean);return e.length?Promise.all(e):null};function Ce(t,e,n=0){if(ao(t))return null;let o=tl(t,e,n);return o&&e&&typeof e=="object"&&(typeof e.render=="function"&&(o.render=e.render),e.disabled!=null&&(o.disabled=e.disabled),e.hint!=null&&(o.hint=String(e.hint)),e.persist===!1&&(o.persist=!1)),o}var be=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),ao=t=>t==="__proto__"||t==="constructor"||t==="prototype",he=(t,e)=>t!==e&&!(At(t)&&At(e)&&JSON.stringify(t)===JSON.stringify(e)),lo=(t,e,n)=>{t.set(n),t.set(e)},zs=t=>Array.isArray(t.options)&&{type:"radiogrid",options:t.options,value:t.value??Yt(t.options[0]),cols:t.cols},Za=(t,...e)=>{let n=(e.length?e:[0]).map(s=>me(Number.isFinite(+s)?+s:0)),o=t.min??Math.min(...n.map(s=>s[0])),r=t.max??Math.max(...n.map(s=>s[1]));return{min:o,max:r,step:t.step??Be(o,r)}},gr=(t,e)=>t.label==null?e:String(t.label),Xs=t=>typeof t=="function"?t:void 0,qs=t=>typeof t=="string"&&t.trim()?t.trim().slice(0,12):void 0,io=["stiffness","damping","mass","visualDuration","bounce"],Ys={slider:t=>{let e=Za(t,t.value??t.min??0);return{value:t.value??e.min,...e,soft:t.soft,unit:qs(t.unit),format:Xs(t.format),parse:Xs(t.parse)}},number:t=>({value:t.value??0,min:t.min,max:t.max,step:t.step??1,soft:t.soft,unit:qs(t.unit)}),checkbox:t=>({value:!!t.value}),radiogrid:zs,segmented:zs,list:t=>Array.isArray(t.options)&&{options:t.options,value:t.value??Yt(t.options[0])},text:t=>({value:t.value??"",rows:t.rows,placeholder:t.placeholder}),spring:t=>{let e=At(t.value)?t.value:t,n={stiffness:e.stiffness??300,damping:e.damping??26,mass:e.mass??1};Number.isFinite(+e.visualDuration)&&(n.visualDuration=+e.visualDuration),Number.isFinite(+e.bounce)&&(n.bounce=+e.bounce);let o=t.mode??e.mode;return(o==="time"||o==="physics")&&(n.mode=o),{value:n}},motion:t=>{let e=typeof t.value=="string"||Array.isArray(t.value)?{...t,curve:t.value}:At(t.value)?t.value:t,n=io.some(r=>e[r]!=null),o={curve:"ease",duration:300,...n?{}:{visualDuration:.5,bounce:.2}};for(let r of["mode","curve","duration",...io])e[r]!=null&&(o[r]=e[r]);return o.mode!=="easing"&&o.mode!=="spring"&&(o.mode=n?"spring":"easing"),{value:o}},point:t=>{if(!Array.isArray(t.components)||!t.components.length)return!1;let e=new Set,n=t.components.map((o,r)=>{let s=String(o.key??((o.label?String(o.label).toLowerCase():"")||`c${r}`)),i=s,a=2;for(;e.has(i);)i=`${s}-${a++}`;return e.add(i),{...o,key:i}});return{components:n,pad:t.pad,invertY:t.invertY,value:Object.fromEntries(n.map(o=>[o.key,o.value??0]))}},buttongroup:t=>({buttons:t.buttons}),separator:()=>({}),tabs:(t,e)=>{if(!t.pages||typeof t.pages!="object"||!Object.keys(t.pages).length)return!1;let n=new Set;return{pages:Object.entries(t.pages).map(([o,r])=>{let s=o.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tab",i=s,a=2;for(;n.has(i);)i=`${s}-${a++}`;return n.add(i),{key:i,title:o.trim()?o:"Tab",children:Object.entries(r).map(([u,y])=>Ce(u,y,e+1)).filter(Boolean)}})}}},Qa=Object.assign(Object.create(null),{list:"options",radiogrid:"options",segmented:"options",point:"components",tabs:"pages"});function tl(t,e,n=0){if(n>64)return null;let o=ln(t),r=(s,i,a=o)=>({type:s,key:t,label:a,...i});if(At(e)&&!Array.isArray(e)&&be(Ys,e.type)){let s;try{s=Ys[e.type](e,n)}catch(i){return console.error(`[tweaks] malformed "${e.type}" schema value for "${t}" \u2014 control skipped:`,i),null}if(s)return r(String(e.type),s,gr(e,o));if(be(e,Qa[e.type]))return console.error(`[tweaks] malformed "${e.type}" schema value for "${t}" \u2014 control skipped`),null}else if(At(e)&&!Array.isArray(e)&&typeof e.type=="string"&&(_e[e.type]||Vt(e.type))){let{type:s,label:i,...a}=e;return r(s,a,gr(e,o))}if(Array.isArray(e)&&Array.isArray(e[0])&&e[0].length===2&&typeof e[0][0]=="number"){let s=Number.isFinite(+e[1])?+e[1]:+e[0][0],i=Number.isFinite(+e[2])?+e[2]:+e[0][1];return r("interval",{value:e[0].map(Number),min:s,max:i,step:e[3]??Be(s,i)})}if(Array.isArray(e)&&e.length<=4&&typeof e[0]=="number"){let s=e[0],[i,a]=me(s),u=e.length>1?e[1]:i,y=e.length>2?e[2]:a;return r("slider",{value:s,min:u,max:y,step:e[3]??Be(u,y)})}if(typeof e=="number"){let[s,i]=me(e);return r("slider",{value:e,min:s,max:i,step:Be(s,i)})}return typeof e=="boolean"?r("checkbox",{value:e}):Array.isArray(e)?r("list",{options:e,value:Yt(e[0])}):At(e)&&typeof e.action=="function"?r("button",{action:e.action},gr(e,o)):At(e)&&Array.isArray(e.options)?r("list",{options:e.options,value:e.value??Yt(e.options[0])}):cn(e)?r("color",{value:e}):typeof e=="string"?r("text",{value:e}):At(e)?r("folder",{children:Object.entries(e).filter(([s,i])=>!(s==="render"&&typeof i=="function")&&!((s==="disabled"||s==="hint")&&i!=null)).map(([s,i])=>Ce(s,i,n+1)).filter(Boolean)}):null}var co=new Set(["button","fpsgraph","monitor","buttongroup","separator"]);Mt();Mt();var Ws=Pt('<path class="tw-copy-back" d="m5.5 16.5-.7-.2q-1.5-.6-2.1-2.1-.2-.7-.2-2.7v-2c0-3.3 0-5 1-6s2.7-1 6-1h2c1.4 0 2 0 2.7.2q1.6.5 2.1 2.1l.2.7"/><path class="tw-copy-front" d="M7.5 14.5c0-3.3 0-5 1-6s2.7-1 6-1 5 0 6 1 1 2.7 1 6 0 5-1 6-2.7 1-6 1-5 0-6-1-1-2.7-1-6"/>',"tw-toolbar-btn__copy"),Us=Pt('<path d="m5 14 3.5 3.5L19 6.5"/>',"tw-toolbar-btn__check",2.4),Js=Pt('<path d="M3 12a9 9 0 1 0 9-9 9 9 0 0 0-7.6 4.2M3.3 3l.2 2q0 2.2.6 2.7t2.7.2l2-.2"/>'),Zs=Pt('<path d="m17 17 4 4m-2-10a8 8 0 0 0-16 0 8 8 0 0 0 16 0"/>'),br=t=>Pt('<path d="M18 9s-4.4 6-6 6-6-6-6-6"/>',t,2.5),Qs=br("tw-chevron"),ti=Pt('<path d="M20.2 13.5q1.8.8 1.8 1.5 0 .8-2.7 2l-5 2.2Q13 20 12 20q-.7 0-2.4-.8l-4.9-2.3Q2 16 2 15t1.8-1.5"/><path class="tw-layer-top" d="M9.6 4.8Q11.3 4 12 4t2.4.8l4.9 2.3Q22 8 22 9c0 .7-.9 1.1-2.7 2l-5 2.2Q13 14 12 14q-.7 0-2.4-.8l-4.9-2.3Q2 10 2 9c0-.7.9-1.1 2.7-2z"/>'),ei=Pt('<path d="M18 6 6 18m12 0L6 6"/>',"",2.2),hr=Pt('<circle cx="12" cy="12" r="10"/><path d="M12 16v-4m-.25-3.75a.25.25 0 0 0 .5 0 .25.25 0 0 0-.5 0"/>');var el=3;function nl(t,e){let n=t.label,{min:o,max:r,step:s}=Pn(t.min,t.max,t.step);t.soft||([o,r]=je(o,r,s));let i=(r-o)/s<=6,a=Number.isFinite(+t.value)?+t.value:o,u=t.soft&&!i?a:_(a,o,r),y=0,d=fe(s),p=h("div","tw-slider-wrap"),f=h("div","tw-slider"),C=h("div","tw-slider-hashmarks"),S=h("div","tw-slider-fill"),m=h("div","tw-slider-handle"),E=ot("span","tw-slider-label",n),w=h("span","tw-slider-value"),c=typeof t.unit=="string"?t.unit.trim():"",g=document.createTextNode(""),T=c?/^[%°]$/.test(c)?c:" "+c:"";w.append(g),c&&w.append(ot("span","tw-slider-unit",T));let O=t.format,z=t.parse,B=P=>{if(O)try{let it=O(P);if(typeof it=="string"&&it)return it}catch{}return P.toFixed(d)};f.append(C,S,m,E,w),p.append(f),f.tabIndex=0,f.setAttribute("role","slider"),f.setAttribute("aria-label",n),f.setAttribute("aria-valuemin",String(o)),f.setAttribute("aria-valuemax",String(r));let H=P=>Pe(P,o,s),V=i?Array.from({length:Math.max(0,Math.round((r-o)/s)-1)},(P,it)=>(it+1)*s/(r-o)*100):[];for(let P of V){let it=h("div","tw-slider-hashmark");it.style.left=P+"%",C.append(it)}let L=()=>{let P=_((u-o)/(r-o||1)*100,0,100),it=y?` + ${y.toFixed(1)}px`:"",Rt=`${P}%${it}`;S.style.width=y?`calc(${Rt})`:P+"%",m.style.left=`max(5px, calc(${Rt} - 9px))`;let kt=H(u),dt=B(kt);g.data=dt,f.setAttribute("aria-valuenow",String(kt)),f.setAttribute("aria-valuetext",dt+T);let Ot=p.offsetWidth,Qt=w.offsetWidth;if(Ot){Qt&&(E.style.maxWidth=Math.max(0,Ot-Qt-30)+"px");let we=Math.max(5,P/100*Ot+y-9);f.classList.toggle("is-dodge",Nn(E,w,we,3))}};L();let F=null,W=1,X=null,q=!0,tt,N=null,I=null,M=`width 0.34s ${Do}`,$=`left 0.34s ${Do}, opacity 0.15s, transform 0.2s ${an}`,b=.2,A=P=>{if(!F)return u;let it=p.offsetWidth||F.width,Rt=_((P-F.left)/W/it,0,1);return _(o+Rt*(r-o),o,r)},x=(P,it=!0)=>{P=+P,Number.isFinite(P)&&(u=i?_(H(P),o,r):t.soft?P:_(P,o,r),L(),it&&e(H(u)))},K=Math.max(1,Math.round((r-o)/s)),Z=.2,R=.3,J=520,st=27,ut=P=>(P-o)/s,Ct=0,yt=0,vt=0,Lt=!1,Ht=null,xt=u,jt=0,Dt=()=>{vt&&cancelAnimationFrame(vt),vt=0,jt=0},G=P=>{if(!f.isConnected){Dt();return}let it=jt?Math.min((P-jt)/1e3,.05):1/60;jt=P;let Rt=p.offsetWidth||F&&F.width||1,kt=ut(_(xt,o,r)),dt=_(Math.round(kt+Z),0,K),Ot=Lt?dt+R*_(kt-dt,-.5,.5):dt;if(Ee&&Ee.matches)Ct=Ot,yt=0;else{let Qt=it,we=1/240;for(;Qt>1e-4;){let ne=Math.min(we,Qt);Qt-=ne;let te=J*(Ot-Ct)-st*yt;yt+=te*ne,Ct+=yt*ne,Ct<0&&(Ct=0,yt=0),Ct>K&&(Ct=K,yt=0)}}y=(Ct-dt)*s/(r-o||1)*Rt,u=_(o+dt*s,o,r),L(),dt!==Ht&&(Ht=dt,e(H(u))),!Lt&&Math.abs(yt)<.004&&Math.abs(Ct-dt)<.004?(Ct=dt,yt=0,y=0,L(),Dt(),f.classList.remove("is-active")):vt=requestAnimationFrame(G)},U=P=>{Ct=ut(u),yt=0,Lt=!0,Ht=Math.round(ut(u)),xt=A(P),vt||(vt=requestAnimationFrame(G))};f.addEventListener("pointerdown",P=>{if(!w.classList.contains("is-editing")&&!(P.button!==0||X)){P.preventDefault(),f.focus({focusVisible:!1}),I=P.pointerId;try{P.target.setPointerCapture(P.pointerId)}catch{}clearTimeout(tt),f.style.transition="",X={x:P.clientX,y:P.clientY},q=!0,f.classList.add("is-active"),F=p.getBoundingClientRect(),W=F.width/(p.offsetWidth||F.width),i?(S.style.transition="",m.style.transition="",U(P.clientX)):(S.style.transition=M,m.style.transition=$,x(A(P.clientX)))}}),f.addEventListener("pointermove",P=>{if(!(!X||P.pointerId!==I)){if(P.buttons===0){ft();return}if(q&&Math.hypot(P.clientX-X.x,P.clientY-X.y)>el&&(q=!1,f.classList.add("is-dragging"),i||(S.style.transition="",m.style.transition="")),!q)if(_n(f,F,P.clientX),i)xt=A(P.clientX);else{let it;if(P.altKey){N||(N={x:P.clientX,v:u});let Rt=p.offsetWidth||F.width;it=_(N.v+(P.clientX-N.x)/Rt*(r-o)*b,o,r)}else N=null,it=A(P.clientX);x(it)}}});let ft=P=>{!X||P&&P.pointerId!==I||(i?(Lt=!1,f.classList.remove("is-dragging"),vt||(vt=requestAnimationFrame(G))):(tt=setTimeout(()=>{S.style.transition="",m.style.transition=""},360),f.classList.remove("is-active","is-dragging")),Hn(f),X=null,N=null,I=null)};f.addEventListener("pointerup",ft),f.addEventListener("pointercancel",ft),f.addEventListener("lostpointercapture",ft),Rn(f,L),Bt(L),Gt(f,[[window,"resize"]],L),f.addEventListener("keydown",P=>{if(P.target!==f||X)return;let it=xe(P,u,s,o,r,(r-o)/10||s*10);it!=null&&(P.preventDefault(),i&&(Dt(),y=0,f.classList.remove("is-active")),x(_(it,o,r)))});let mt;w.addEventListener("mouseenter",()=>{mt=setTimeout(()=>w.classList.add("is-editable"),800)}),w.addEventListener("mouseleave",()=>{clearTimeout(mt),w.classList.contains("is-editing")||w.classList.remove("is-editable")}),w.addEventListener("pointerdown",P=>{P.pointerType&&P.pointerType!=="mouse"?(w.classList.add("is-editable"),P.stopPropagation()):w.classList.contains("is-editable")&&P.stopPropagation()});let Tt=()=>{if(w.classList.contains("is-editing"))return;let P=h("input","tw-slider-input");P.type="text",P.inputMode=z?"text":"decimal",Wt(P),P.value=z?B(H(u)):H(u).toFixed(d);let it=P.value;P.style.width=it.length+1+"ch",w.classList.add("is-editing"),w.replaceWith(P),P.focus(),P.select();let Rt=()=>{P.replaceWith(w),w.classList.remove("is-editing","is-editable")},kt=()=>{let dt=P.value,Ot=NaN;if(dt!==it)try{Ot=z?z(dt):Number(dt.replace(c,"").trim()||NaN)}catch{}Number.isFinite(Ot)&&x(t.soft?Ot:_(Ot,o,r)),Rt()};P.addEventListener("pointerdown",dt=>dt.stopPropagation()),P.addEventListener("blur",kt),P.addEventListener("keydown",dt=>{dt.key==="Enter"?(P.removeEventListener("blur",kt),f.focus(),kt()):dt.key==="Escape"&&(dt.stopPropagation(),P.removeEventListener("blur",kt),f.focus(),Rt())})};return w.addEventListener("click",()=>{w.classList.contains("is-editable")&&Tt()}),f.addEventListener("keydown",P=>{P.key==="Enter"&&P.target===f&&!X&&(P.preventDefault(),Tt())}),{el:p,set:P=>x(P,!1),get:()=>H(u)}}function ol(t,e){let n=h("div","tw-row"),o=Me([{value:"off",label:"Off"},{value:"on",label:"On"}],t.value?"on":"off",r=>e(r==="on"),t.label);return n.append(ot("span","tw-row-label",t.label),o.el),{el:n,set:r=>o.set(r?"on":"off"),get:()=>o.get()==="on"}}function rl(t,e){let n=t.options||[],o=Math.min(3,Math.max(2,t.cols||(n.length<=3?n.length:n.length===4?2:3))),r=h("div","tw-radiogrid"),s=h("div","tw-radiogrid-grid");s.style.setProperty("--tw-rg-cols",o),s.setAttribute("role","radiogroup"),s.setAttribute("aria-label",t.label);let i=t.value??Yt(n[0]),a=n.map(d=>{let p=dn("tw-radiogrid-btn",d,f=>y(f));return s.append(p),p}),u=()=>jo(a,i),y=(d,p=!0)=>{d!=null&&!a.some(f=>f._twVal===d)||(i=d,u(),p&&e(d))};return s.addEventListener("keydown",d=>{let p=In(a,i);if(p<0)return;let f=Ne(d.key,p,a.length,o);f<0||(d.preventDefault(),f!==p&&(y(a[f]._twVal),a[f].focus()))}),u(),r.append(ot("span","tw-radiogrid-label",t.label),s),{el:r,set:d=>y(d,!1),get:()=>i}}var sl=/^(?:#[0-9a-f]{3,8}|[a-z]+|(?:oklch|oklab|rgba?|hsla?|hwb|lab|lch|color|var)\([^()]*\))$/i,il=br("tw-select-chevron");function al(t,e){let n=t.value,o=t.options.map(c=>({value:Yt(c),label:No(c),color:c&&typeof c=="object"&&typeof c.color=="string"&&sl.test(c.color.trim())?c.color.trim():""})),r=h("div","tw-select"),s=ht("tw-select-trigger");s.setAttribute("aria-haspopup","listbox"),s.setAttribute("aria-expanded","false");let i=h("span","tw-select-right"),a=c=>`linear-gradient(${c}, ${c}), var(--tw-checker)`,u=c=>{let g=h("span","tw-option-swatch");return g.style.background=a(c),g},y=h("span","tw-option-swatch"),d=h("span","tw-select-value");i.append(y,d),i.insertAdjacentHTML("beforeend",il),s.append(ot("span","tw-select-label",t.label),i);let p=h("div","tw-select-dropdown");p.setAttribute("role","listbox");let f=o.map(c=>{let g=ht("tw-select-option");return g.setAttribute("role","option"),c.color&&g.append(u(c.color)),g.append(ot("span","tw-option-label",c.label)),g.dataset.value=c.value,g.addEventListener("click",()=>{S(c.value),w.close()}),p.append(g),g});r.append(s,p);let C=()=>{let c=o.find(g=>g.value===n);d.textContent=c?.label??n,y.style.display=c?.color?"":"none",c?.color&&(y.style.background=a(c.color)),f.forEach(g=>{let T=g.dataset.value===String(n);g.dataset.selected=String(T),g.setAttribute("aria-selected",String(T))})},S=(c,g=!0)=>{c!=null&&!o.some(T=>T.value===c)||(n=c,C(),g&&e(c))},m="",E=0,w=zt(r,s,p,{width:"match",fallbackH:200,gap:4,onOpen:()=>{m="",(f.find(c=>c.dataset.value===String(n))||f[0])?.focus()}});return s.addEventListener("keydown",c=>{!w.isOpen()&&(c.key==="ArrowDown"||c.key==="ArrowUp")&&(c.preventDefault(),w.open())}),p.addEventListener("keydown",c=>{let g=f.indexOf(document.activeElement),T=g,O=!!m&&performance.now()-E<600;if(c.key==="ArrowDown")T=g<0?0:Math.min(f.length-1,g+1);else if(c.key==="ArrowUp")T=g<0?f.length-1:Math.max(0,g-1);else if(c.key==="Home")T=0;else if(c.key==="End")T=f.length-1;else if(c.key.length===1&&(c.key!==" "||O)&&!c.ctrlKey&&!c.metaKey&&!c.altKey&&!c.isComposing){let z=c.key.toLowerCase();m=(O?m:"")+z,E=performance.now();let B=m===z.repeat(m.length/z.length),H=B?z:m,V=L=>o.findIndex((F,W)=>W>=L&&String(F.label).toLowerCase().trimStart().startsWith(H));if(T=V(B?g+1:g),T<0&&(T=V(0)),T<0&&c.key!==" ")return}else return;c.preventDefault(),f[T]?.focus()}),C(),{el:r,set:c=>S(c,!1),get:()=>n}}function ll(t){let e=ot("button","tw-button",t.label);return e.addEventListener("click",()=>typeof t.action=="function"&&t.action()),ge(e)}function cl(t){let e=h("div","tw-row tw-buttongroup");t.label&&e.append(ot("span","tw-row-label",t.label));let n=h("div","tw-buttongroup-btns"),o=Array.isArray(t.buttons)?t.buttons.map(r=>[r.label??"Button",r.action]):Object.entries(t.buttons||{});for(let[r,s]of o){let i=ot("button","tw-buttongroup-btn",r);i.addEventListener("click",()=>typeof s=="function"&&s()),n.append(i)}return e.append(n),ge(e)}var ul=()=>ge(h("div","tw-separator"));function dl(t,e){let n=u=>u==null?"":typeof u=="object"?un(u):String(u),o=n(t.value),r=t.rows>0,s=h("div",r?"tw-row tw-row-multiline":"tw-row"),i=h(r?"textarea":"input",r?"tw-text tw-textarea":"tw-text");r?i.rows=t.rows:i.type="text",i.value=o,Wt(i),t.placeholder&&(i.placeholder=t.placeholder),i.addEventListener("input",()=>{o=i.value,e(o)});let a=()=>{let u=i.scrollHeight-i.clientHeight>1;i.classList.toggle("is-clip-top",u&&i.scrollTop>1),i.classList.toggle("is-clip-bottom",u&&i.scrollTop+i.clientHeight<i.scrollHeight-1)};return r&&(i.addEventListener("scroll",a),i.addEventListener("input",a),typeof ResizeObserver=="function"&&new ResizeObserver(a).observe(i)),s.append(ot("span","tw-row-label",t.label),i),{el:s,set:u=>{o=n(u),i.value=o,r&&a()},get:()=>o}}function hn(t){let e=h("div","tw-folder"),n=ht("tw-folder-header");n.setAttribute("aria-expanded","true"),n.append(ot("span","tw-folder-title",t.label)),n.insertAdjacentHTML("beforeend",Qs);let o=h("div","tw-folder-body"),r=h("div","tw-controls");o.append(r),e.append(n,o);let s=i=>Ve(e,n,o,i);return n.addEventListener("click",()=>s(!e.classList.contains("is-collapsed"))),{el:e,body:r,setCollapsed:s}}function Ze(t,e){let n=Vt(t.type);if(!n)return null;try{return n(t,e)}catch(o){return console.error("[tweaks] control failed to build:",t&&t.type,o),null}}lt("slider",nl);lt("checkbox",ol);lt("radiogrid",rl);lt("list",al);lt("button",ll);lt("buttongroup",cl);lt("separator",ul);lt("text",dl);lt("folder",hn);Mt();var wn=(t,e,n)=>{let o=ht("tw-toolbar-btn"+(t?" "+t:""),e);return o.title=n,o.setAttribute("aria-label",n),o},fo=t=>{let e=wn("tw-toolbar-btn--swap",`<span class="tw-toolbar-btn__icons">${Ws}${Us}</span>`,"Copy values (\u21E7: changed only)");return e.addEventListener("click",async n=>{if(e.disabled)return;let[o,r]=t(n.shiftKey);if(!r)return Xt("Nothing has changed");if(!await vr(o))return Xt("Copy failed");pl(e),Xt(r>0?`${r} changed value${r===1?"":"s"} copied`:"Values copied")}),e},mo=t=>{let e=wn("tw-toolbar-btn--reset",Js,"Reset");return e.addEventListener("click",()=>{e.disabled||(wr(e),t())}),e},pl=t=>{t.classList.add("is-copied"),clearTimeout(t._t),t._t=setTimeout(()=>t.classList.remove("is-copied"),1400)},wr=t=>{let e=t.querySelector("svg");t._spinSettle||(t._spinSettle=()=>{clearTimeout(t._t),t.classList.remove("is-spinning"),e.style.transition="none",e.style.setProperty("--tw-spin","0deg"),e.getBoundingClientRect(),e.style.transition=""},e.addEventListener("transitionend",o=>{o.propertyName==="transform"&&t.classList.contains("is-spinning")&&performance.now()-t._spinT>250&&t._spinSettle()})),t._spinT=performance.now(),e.style.setProperty("--tw-spin",`${(parseFloat(e.style.getPropertyValue("--tw-spin"))||0)-360}deg`),t.classList.add("is-spinning"),clearTimeout(t._t);let n=()=>{e.getAnimations&&e.getAnimations().length?t._t=setTimeout(n,250):t._spinSettle()};t._t=setTimeout(n,600)},It=null,uo=0,po=null,oi=t=>{t.key==="Escape"&&yn()},yn=t=>{t&&po&&!t.contains(po)||(clearTimeout(uo),document.removeEventListener("keydown",oi),It&&It.classList.remove("is-open"))};function fl(t,e){It||(It=h("div","tw-tip tw-portal"),It.setAttribute("role","tooltip")),It.isConnected||document.body.appendChild(It),clearTimeout(uo),It.textContent=e,Ie(It,t);let n=It.classList.contains("is-open");It.style.visibility="hidden",It.classList.add("is-open"),Fo(t,It,{align:"center",prefer:"above",gap:8}),It.style.visibility="",document.addEventListener("keydown",oi),po=t,n||requestAnimationFrame(function o(){if(It.classList.contains("is-open")){if(!po.isConnected)return yn();requestAnimationFrame(o)}})}function ni(){It&&(clearTimeout(uo),uo=setTimeout(yn,80))}var yr=".tw-slider-label, .tw-row-label, .tw-select-label, .tw-trigger-label, .tw-radiogrid-label, .tw-field-label, .tw-folder-title, .tw-fps-label, .tw-plot-label, .tw-spring-label, .tw-bezier-label, .tw-image-label";function Qe(t,e){let n=t.querySelector(yr)||t;if(n===t&&t.classList.contains("tw-separator"))return;let o=n.closest("button"),r=o?h("span","tw-hint",hr):ht("tw-hint",hr),s=()=>fl(r,e);if(o){r.setAttribute("aria-hidden","true");let i=o.getAttribute("aria-description");o.setAttribute("aria-description",i?`${i}. ${e}`:e)}else r.setAttribute("aria-label",e),r.addEventListener("focus",s),r.addEventListener("blur",ni),r.addEventListener("keydown",i=>{(i.key==="Enter"||i.key===" ")&&i.stopPropagation()});r.addEventListener("pointerenter",s),r.addEventListener("pointerleave",ni),r.addEventListener("pointerdown",i=>i.stopPropagation()),r.addEventListener("click",i=>{i.preventDefault(),i.stopPropagation()}),n.appendChild(r)}async function vr(t){try{return await navigator.clipboard.writeText(t),!0}catch{}let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.top="-9999px",document.body.appendChild(e),e.focus(),e.select();let n=!1;try{n=document.execCommand("copy")}catch{}return document.body.removeChild(e),n}var tn=null,ce=null,vn=null,bo=null;function xl(t,e,n={}){let o=Object.entries(e).filter(([l])=>l!=="_last"||(console.warn('[tweaks] "_last" is reserved (the changed-key channel) \u2014 schema entry skipped'),!1)).map(([l,v])=>Ce(l,v)).filter(Boolean),r={},s=[],i=new Set,a=new Set,u=new Set,y=[],d=!1,p=!1,f=[],C=new Map,S=!1,m=-1,E=l=>{if(!d){if(S){console.warn("[tweaks] call ignored \u2014 the panel could not be built");return}p?l():f.push(l)}},w=null,c=function(l,v){return l==="_last"&&this===r?void 0:v===void 0?null:typeof v=="bigint"?String(v):v},g=!1,T=()=>{let l={};for(let v of s){let k=l;for(let D of v.path.slice(0,-1))k=k[D]||(k[D]={});k[v.key]=v.get()}return JSON.parse(JSON.stringify(l,c))},O=()=>{try{return JSON.parse(JSON.stringify(r,c))}catch(l){return g||(g=!0,console.warn("[tweaks] a value parked on params can't be serialised \u2014 snapshots carry the controls' values only:",l)),T()}},z=n.persist?`tw:${n.persist===!0?t:n.persist}`:null,B=z?`${z}:presets`:null,H=l=>{try{return JSON.parse(localStorage.getItem(l)||"null")}catch{return null}},V=(l,v)=>{try{return localStorage.setItem(l,JSON.stringify(v)),!0}catch{return!1}},L=(l,v)=>v.reduce((k,D)=>k!=null&&be(k,D)?k[D]:void 0,l),F=(l,v)=>{let k=L(l,v.path.slice(0,-1));return!k||typeof k!="object"||!be(k,v.key)?!1:(Reflect.deleteProperty(k,v.key),!0)},W=l=>{for(let v of s)v.persist||F(l,v);return l},X=z?(()=>{let l=0,v=!1,k=new Map,D=()=>{l=0;let et=W(O()),rt=s.filter(j=>j.persist&&j.m.type==="image").filter(j=>!(k.get(j)===j.get()&&F(et,j)));if(V(z,et))return;let Q=rt.filter(j=>F(et,j));if(Q.length){for(let j of Q)k.set(j,j.get());V(z,et)&&!v&&(v=!0,console.warn("[tweaks] persist: the values didn't fit in storage with an image included \u2014 saved without it"))}};return y.push(()=>{l&&(clearTimeout(l),D())}),()=>{clearTimeout(l),l=setTimeout(D,150)}})():()=>{},q=(l,v=r._last)=>{(l?u:a).forEach(k=>{try{k(r,v)}catch(D){console.error("[tweaks] listener threw:",D)}}),d||X()},tt=l=>typeof l=="function"||typeof l=="symbol"||typeof l=="bigint",N=(l,v)=>{if(tt(v))throw new TypeError(`a ${typeof v} is not a control value`);l.set(v),l.target[l.key]=l.get()},I=l=>{lo(l,l.raw,l.def),l.target[l.key]=l.get()},M=!1,$=()=>{if(typeof n.onReset=="function"&&!M){M=!0;try{return n.onReset()}finally{M=!1}}for(let l of s)try{I(l)}catch(v){console.error(`[tweaks] resetting "${l.path.join(".")}" failed \u2014 control skipped:`,v)}r._last=void 0,q()},b=h("div","tw-panel");b.dataset.mode="inline";let A=l=>b.setAttribute("aria-label",l.trim()||"Tweaks");b.setAttribute("role","region"),A(t),Ro(b);let x=h("div","tw-header"),K=ht("tw-header-toggle");K.setAttribute("aria-expanded","true");let Z=t,R=ot("span","tw-title",Z);K.append(R);let J=h("div","tw-toolbar"),st=()=>{let l={};for(let v of s)he(v.get(),v.def)&&(l[v.path.join(".")]=v.get());return JSON.parse(JSON.stringify(l,c))},ut=fo(l=>{if(!l)return[JSON.stringify(O(),null,2),-1];let v=st();return[JSON.stringify(v,null,2),Object.keys(v).length]}),Ct={panel:b,entries:s,fromJSON:l=>{ye?.flush(),Te.fromJSON(l),ye?.flush()},announce:Xt,alive:()=>!d},yt=mo($),vt=null;z&&n.presets!==!1&&(vt=wn("",ti,"Presets"),vt.setAttribute("aria-haspopup","menu"),vt.setAttribute("aria-expanded","false"),J.append(vt));let Lt=!!n.filter&&(n.toolbar!==!1||(console.warn("[tweaks] opts.filter needs the toolbar (its search button lives there) \u2014 ignored alongside toolbar:false"),!1)),Ht=Lt?wn("",Zs,"Filter controls"):null,xt=Lt?h("input","tw-search"):null;Lt&&(xt.type="text",xt.placeholder="Filter\u2026",xt.spellcheck=!1,xt.setAttribute("aria-label","Filter controls"),Wt(xt),J.append(Ht)),J.append(ut,yt),x.append(K),Lt&&x.append(xt),n.toolbar!==!1&&x.append(J);let jt=[ut,yt,vt,Ht].filter(Boolean);for(let l of jt)l.disabled=!0;let Dt=!1,G=!1;x.addEventListener("click",l=>{G&&(G=!1,l.preventDefault(),l.stopPropagation())},!0),K.addEventListener("click",()=>{Ve(b,K,U,!b.classList.contains("is-collapsed")),b.dataset.mode==="floating"&&setTimeout(()=>{b.dataset.mode==="floating"&&b.isConnected&&(nn(),se())},270)});let U=h("div","tw-body"),ft=h("div","tw-controls");U.append(ft),b.append(x,U);let mt=_o(n.theme);$n(b,mt),b._twTheme=mt;let Tt=n.draggable!==!1,P=8,it=28,Rt=typeof n.floating=="object"&&n.floating?n.floating:null,kt=Rt?.corner||"top-left",dt=/right$/.test(kt),Ot=/^bottom/.test(kt);(dt||Ot)&&(b.dataset.corner=kt);let Qt=()=>document.compatMode==="CSS1Compat"?document.documentElement:null,we=()=>Qt()?.clientWidth||window.innerWidth,ne=()=>Qt()?.clientHeight||window.innerHeight,te=()=>({maxX:Math.max(P,we()-b.offsetWidth-P),maxY:Math.max(P,ne()-b.scrollHeight-1-de)}),Kt=z?`${z}:pos`:null,ue=Tt&&Kt?H(Kt):null,Le=ue&&typeof ue=="object"&&(ue.corner||"top-left")===kt?ue:null,oe=Le||Rt||{x:16,y:16},re=l=>{let v=parseFloat(l);return v>=0?v:16},en=re(oe.x),Se=re(oe.y),bt=en,St=Se,Ae=!!Le,de=P,ho=()=>{let l=parseFloat(getComputedStyle(b).getPropertyValue("--tw-float-gap"));de=l>=0?l:n.floating&&!Ae?re(Rt?.y):P},se=()=>{let l=b.style;l.setProperty("--tw-float-x",bt+"px"),l.setProperty("--tw-float-y",St+"px"),l.setProperty("--tw-float-max-h",`calc(100dvh - ${St+de}px)`)},nn=()=>{ho();let{maxX:l,maxY:v}=te();if(Tt){bt=_(bt,P,l),St=_(St,P,v);return}bt=_(en,Math.min(P,en),l);let k=ne()-Math.min(b.scrollHeight+1,ne()/2),D=Math.min(1,k/(Se+de||1));St=Math.round(Se*D),de=Math.round(de*D)};(Tt||n.floating)&&(n.floating||Le)&&(b.dataset.mode="floating",nn(),se(),requestAnimationFrame(()=>{!d&&b.dataset.mode==="floating"&&b.isConnected&&(nn(),se())}));let xn=l=>{I(l),r._last=l.key,q()},bi=(l,v)=>{let k=l.querySelector(".tw-slider-value")||l.querySelector(yr)||l;k.classList.add("tw-resettable"),k.title="Double-click or hold to reset";let D=0,et=0,Y=0,rt=!1,Q=()=>{D&&(clearTimeout(D),D=0,k.classList.remove("tw-reset-holding"))};k.addEventListener("pointerdown",j=>{j.stopPropagation(),rt=!1,!(j.pointerType!=="touch"&&j.pointerType!=="pen")&&(et=j.clientX,Y=j.clientY,k.classList.add("tw-reset-holding"),D=setTimeout(()=>{D=0,k.classList.remove("tw-reset-holding","is-editable"),rt=!0,xn(v)},500))}),k.addEventListener("pointermove",j=>{D&&Math.abs(j.clientX-et)+Math.abs(j.clientY-Y)>8&&Q()}),k.addEventListener("pointerup",Q),k.addEventListener("pointercancel",Q),k.addEventListener("pointerleave",Q),k.addEventListener("contextmenu",j=>{rt&&j.preventDefault()}),k.addEventListener("click",j=>{rt&&(j.preventDefault(),j.stopImmediatePropagation(),rt=!1)},!0),k.addEventListener("dblclick",j=>{k===l&&j.target.closest&&j.target.closest("input, textarea")||(j.preventDefault(),j.stopPropagation(),xn(v))}),k.classList.contains("tw-slider-value")&&l.addEventListener("dblclick",j=>{let at=j.target;!at.classList||!at.classList.contains("tw-slider-input")||(j.preventDefault(),j.stopPropagation(),at.blur(),xn(v))}),l.addEventListener("keydown",j=>{!j.altKey||j.metaKey||j.ctrlKey||j.key!=="Backspace"&&j.key!=="Delete"||(j.preventDefault(),j.stopPropagation(),j.target.classList&&j.target.classList.contains("tw-slider-input")&&j.target.blur(),xn(v))})},wo=[],yo,hi=(l,v)=>!l._hid==!v?!1:(l._hid=v,yo?yo(l,v):l.classList.toggle("tw-cond-hidden",v),!v),vo=(l,v)=>{v.hint&&Qe(l,v.hint),(v.render||v.disabled!=null)&&wo.push({node:l,m:v})},xo=[],Eo=[],En=[],Mn=[],wi=l=>{typeof l.destroy=="function"&&y.push(l.destroy)},Mo=(l,v,k,D=[],et=null)=>{for(let Y of v){if(Y.type==="tabs"){let j={};i.add(j),k[Y.key]=j;let at=Vt("tabs"),Et=at&&at(Y);if(!Et)continue;Mn.push({path:[...D,Y.key],ctrl:Et,pageKeys:Y.pages.map(nt=>nt.key)}),Y.pages.forEach((nt,ct)=>{let wt={};i.add(wt),j[nt.key]=wt,Mo(Et.bodies[ct],nt.children,wt,[...D,Y.key,nt.key])}),vo(Et.el,Y),l.append(Et.el);continue}if(Y.type==="folder"){let j={};i.add(j),k[Y.key]=j;let at=hn(Y);En.push({path:[...D,Y.key],el:at.el,setCollapsed:at.setCollapsed}),on.set(at.el,{kind:"folder",path:[...D,Y.key],label:Y.label});let Et=Lt?{el:at.el,label:Y.label,body:at.body}:null;Et&&Eo.push(Et),Mo(at.body,Y.children,j,[...D,Y.key],Et),vo(at.el,Y),l.append(at.el);continue}let rt=!co.has(Y.type),Q=Ze(Y,rt?j=>{he(k[Y.key],j)&&(k[Y.key]=j,r._last=Y.key,q())}:()=>{});if(Q){if(wi(Q),rt){let j=Q.get();be(k,Y.key)&&Q.set(k[Y.key]),k[Y.key]=Q.get();let at={target:k,key:Y.key,set:Q.set,get:Q.get,raw:Y.value,def:j,path:[...D,Y.key],persist:Y.persist!==!1,m:Y,el:Q.el};s.push(at),bi(Q.el,at),on.set(Q.el,{kind:"row",entry:at,label:Y.label})}vo(Q.el,Y),Lt&&Y.type!=="separator"&&xo.push({el:Q.el,label:Y.label,folder:et}),l.append(Q.el)}}};if(Lt){let l=k=>{let D=k.trim().toLowerCase(),et=!1,Y=(rt,Q)=>{!Q&&rt.classList.contains("tw-filter-hidden")&&(et=!0),rt.classList.toggle("tw-filter-hidden",Q)};if(!D)xo.forEach(rt=>Y(rt.el,!1)),Eo.forEach(rt=>Y(rt.el,!1));else{for(let rt of xo){let Q=rt.folder&&Fn(rt.folder.label,D);Y(rt.el,!(Fn(rt.label,D)||Q))}for(let rt of Eo.slice().reverse()){let Q=[...rt.body.children].some(j=>!j.classList.contains("tw-filter-hidden"));Y(rt.el,!(Fn(rt.label,D)||Q))}}et&&$o()},v=()=>{b.classList.remove("is-searching"),xt.value="",l("")};Ht.addEventListener("click",()=>{Ht.disabled||(b.classList.toggle("is-searching")?(xt.focus(),xt.select()):v())}),xt.addEventListener("input",()=>l(xt.value)),xt.addEventListener("keydown",k=>{k.key==="Escape"&&(v(),Ht.focus())})}let yi=new Set(o.map(l=>l.key)),kn=(l,v)=>{if(!(!l||typeof l!="object")){for(let k of s){let D=L(l,k.path);if(D!==void 0)try{N(k,D)}catch(et){console.error(`[tweaks] restoring "${k.path.join(".")}" failed \u2014 value skipped:`,et)}}for(let k of Object.keys(l))if(!yi.has(k)&&k!=="_last"&&be(r,k)&&!ao(k)&&!tt(l[k]))try{r[k]=l[k]}catch(D){console.error(`[tweaks] restoring "${k}" failed \u2014 value skipped:`,D)}r._last=void 0,q(v)}},He=()=>{let l=B?H(B):null;return Object.assign(Object.create(null),l&&typeof l=="object"?l:{})},xr=l=>{let v=He();v[l]=O();let k=V(B,v);return k||console.warn(`[tweaks] preset "${l}" didn't fit in storage \u2014 not saved`),k},Er=l=>{let v=He();v[l]&&kn(v[l])},Mr=l=>{let v=He();delete v[l],V(B,v)},Cn=l=>l.map(v=>String(v).replace(/~/g,"~1").replace(/\./g,"~0")).join("."),vi=()=>{let l={};if(En.length){let v={};for(let k of En)v[Cn(k.path)]=k.el.classList.contains("is-collapsed");l.folders=v}if(Mn.length){let v={};for(let k of Mn)v[Cn(k.path)]=k.pageKeys[k.ctrl.active()]??null;l.tabs=v}return l},xi=l=>{if(!(!l||typeof l!="object")){if(l.folders)for(let v of En){let k=l.folders[Cn(v.path)];typeof k=="boolean"&&v.setCollapsed(k)}if(l.tabs)for(let v of Mn){let k=v.pageKeys.indexOf(l.tabs[Cn(v.path)]);k>=0&&k!==v.ctrl.active()&&v.ctrl.activate(k)}}};if(Tt||n.floating){if(Tt){b.dataset.draggable="true";let nt=h("span","tw-grabber");nt.setAttribute("aria-hidden","true"),x.prepend(nt)}let l=()=>{if(b.dataset.mode==="floating")return;let nt=b.getBoundingClientRect();if(bt=dt?we()-nt.right:nt.left,St=Ot?ne()-nt.bottom:nt.top,b.parentNode&&(w=h("span","tw-lift-slot"),w.style.width=nt.width+"px",w.style.height=nt.height+"px",w.setAttribute("aria-hidden","true"),b.before(w)),Ho(b,b),document.body.appendChild(b),b.dataset.mode="floating",se(),w&&typeof MutationObserver=="function"){let ct=new MutationObserver(()=>{w&&!w.isConnected&&(ct.disconnect(),w=null,b.remove())});ct.observe(document.documentElement,{childList:!0,subtree:!0}),y.push(()=>ct.disconnect())}},v=()=>{tn&&tn!==b&&tn.classList.remove("is-raised"),b.classList.add("is-raised"),tn=b},k=null,D=0,et=0,Y=0,rt=0,Q=0,j=nt=>{for(let[ct,wt]of[["pointermove",at],["pointerup",Et],["pointercancel",Et]])nt?document.addEventListener(ct,wt,!0):document.removeEventListener(ct,wt,!0)};Tt&&x.addEventListener("pointerdown",nt=>{if(!(nt.button!==0||k!==null||nt.target.closest(".tw-toolbar, input, textarea, select"))&&(k=nt.pointerId,D=nt.clientX,et=nt.clientY,Dt=!1,j(!0),b.classList.add("is-grabbing"),b.classList.contains("is-snapping"))){clearTimeout(Q);let ct=getComputedStyle(b);bt=parseFloat(ct[dt?"right":"left"])||bt,St=parseFloat(ct[Ot?"bottom":"top"])||St,b.classList.remove("is-snapping"),se()}}),Tt&&x.addEventListener("keydown",nt=>{if(nt.target!==K||!nt.altKey||nt.metaKey||nt.ctrlKey)return;let ct=nt.shiftKey?50:10,wt=nt.key==="ArrowRight"?ct:nt.key==="ArrowLeft"?-ct:0,ee=nt.key==="ArrowDown"?ct:nt.key==="ArrowUp"?-ct:0;if(!wt&&!ee)return;nt.preventDefault(),nt.stopPropagation();let pt=b.dataset.mode!=="floating";Ae=!0,l(),v(),ho(),pt&&K.focus({preventScroll:!0});let{maxX:qt,maxY:Ln}=te();bt=_(bt+(dt?-wt:wt),P,qt),St=_(St+(Ot?-ee:ee),P,Ln),se(),Kt&&V(Kt,{x:bt,y:St,corner:kt})});let at=nt=>{if(nt.pointerId!==k)return;if(nt.buttons===0){Et(nt);return}let ct=nt.clientX-D,wt=nt.clientY-et;if(!Dt){if(Math.abs(ct)+Math.abs(wt)<4)return;Dt=!0,Ae=!0,l(),v(),ho(),Y=bt,rt=St;try{x.setPointerCapture(k)}catch{}b.classList.add("is-dragging")}let{maxX:ee,maxY:pt}=te();bt=_(Y+(dt?-ct:ct),P,ee),St=_(rt+(Ot?-wt:wt),P,pt),se()},Et=nt=>{if(nt.pointerId===k){try{x.releasePointerCapture(k)}catch{}if(k=null,j(!1),G=Dt,G&&setTimeout(()=>{G=!1},0),Dt){let{maxX:ct,maxY:wt}=te();bt<=P+it?bt=P:bt>=ct-it&&(bt=ct),St<=P+it?St=P:St>=wt-it&&(St=wt),clearTimeout(Q),b.classList.add("is-snapping"),Q=setTimeout(()=>b.classList.remove("is-snapping"),340),se(),Kt&&V(Kt,{x:bt,y:St,corner:kt})}b.classList.remove("is-dragging","is-grabbing")}};x.addEventListener("lostpointercapture",Et),y.push(()=>j(!1))}let Ei=()=>{(Tt||n.floating)&&(b.dataset.mode==="floating"&&(nn(),se()),y.push(Gt(b,[[window,"resize"]],()=>{b.dataset.mode==="floating"&&(nn(),se())})))};if(vt){let l=h("div","tw-presets-menu"),v=h("div","tw-presets-save"),k=h("input","tw-presets-input");k.type="text",k.placeholder="Preset name\u2026",k.spellcheck=!1,k.setAttribute("aria-label","New preset name"),Wt(k);let D=ot("button","tw-presets-savebtn","Save");v.append(k,D);let et=h("div","tw-presets-list");l.append(v,et);let Y=()=>{let j=He(),at=Object.keys(j);if(et.replaceChildren(),!at.length)return et.append(ot("div","tw-presets-empty","No presets yet"));for(let Et of at){let nt=h("div","tw-presets-row"),ct=ot("button","tw-presets-load",Et);ct.addEventListener("click",()=>{Er(Et),Q.close(),Xt(`Loaded preset ${Et}`)});let wt=ht("tw-presets-del",ei);wt.setAttribute("aria-label",`Delete preset ${Et}`),wt.addEventListener("click",ee=>{ee.stopPropagation(),Mr(Et),Y()}),nt.append(ct,wt),et.append(nt)}},rt=()=>{let j=k.value.trim();if(!j){k.focus();return}if(!xr(j)){Xt(`Preset ${j} not saved: storage is full`);return}k.value="",Y(),Xt(`Saved preset ${j}`)},Q=zt(vt,vt,l,{width:208,fallbackH:160,gap:6,align:"end",onOpen:()=>{Y(),k.focus()}});D.addEventListener("click",rt),k.addEventListener("keydown",j=>{j.key==="Enter"&&rt()})}if(n.onEditStart||n.onEditEnd){let l=".tw-slider, .tw-num-grab, .tw-pad, .tw-wg-area, .tw-wg-hue, .tw-wg-alpha, .tw-bezier-handle, .tw-gradient-bar, .tw-gradient-stop",v=!1,k=()=>{document.removeEventListener("pointerup",k,!0),document.removeEventListener("pointercancel",k,!0),v&&(v=!1,n.onEditEnd&&n.onEditEnd())},D=et=>{v||!et.target.closest(l)||(v=!0,n.onEditStart&&n.onEditStart(),document.addEventListener("pointerup",k,!0),document.addEventListener("pointercancel",k,!0))};b.addEventListener("pointerdown",D),b._twEditPointer=D,y.push(k)}let ye=n.undo?(()=>{let v=[],k=0,D=!1,et=0,Y=(pt,qt)=>{if(pt===qt)return!0;if(!pt||!qt||typeof pt!="object"||typeof qt!="object"||Array.isArray(pt)!=Array.isArray(qt))return!1;let Ln=Object.keys(pt).length==Object.keys(qt).length;for(let De in pt)pt[De]===qt[De]?pt[De]=qt[De]:Y(pt[De],qt[De])||(Ln=!1);return Ln},rt=()=>{et=0;let pt=O();Y(pt,v[k])||(v=v.slice(0,k+1),v.push(pt),v.length>200&&(v=v.slice(v.length-200)),k=v.length-1)},Q=()=>{D||(clearTimeout(et),et=setTimeout(rt,350))},j=()=>{et&&(clearTimeout(et),rt())};a.add(Q),u.add(Q);let at=pt=>{D=!0,kn(v[pt]),D=!1,k=pt},Et=()=>{j(),k>0&&at(k-1)},nt=()=>{j(),k<v.length-1&&at(k+1)},ct=()=>b.matches(":hover")||b.contains(document.activeElement),wt=pt=>!!(pt&&pt.matches&&(pt.matches("input, textarea")||pt.isContentEditable));return{undo:Et,redo:nt,onKey:pt=>{if(!ct()||!(pt.metaKey||pt.ctrlKey)||wt(pt.target))return;let qt=pt.key.toLowerCase();qt==="z"?(pt.preventDefault(),pt.shiftKey?nt():Et()):qt==="y"&&(pt.preventDefault(),nt())},flush:j,arm:()=>{v=[O()],k=0}}})():null,on=new Map,Mi=l=>{for(;l&&l!==b&&b.contains(l);l=l.parentElement){let v=on.get(l);if(v)return v}},ki=l=>{for(;l&&l!==b;l=l.parentElement)if(on.get(l)?.kind==="row")return l},ko=l=>!!(l.closest(".tw-filter-hidden, .tw-cond-hidden, .tw-tabs-page:not([data-active=true])")||l.parentElement?.closest(".is-collapsed")),ie,kr=l=>{let v=l.target;!b.contains(v)&&!v.closest?.(".tw-portal")&&pe()},pe=()=>{ie&&(ie[0].classList.remove("is-picked"),ie=void 0,document.removeEventListener("pointerdown",kr,!0),ce?.[0]===b&&(ce=null))},Ci=(l,v)=>{ce&&ce[0]!==b&&ce[1](),pe(),ie=[l,v],ce=[b,pe],l.classList.add("is-picked"),document.addEventListener("pointerdown",kr,!0);let k=[...l.querySelectorAll('button:not(:disabled):not([tabindex="-1"]), [tabindex="0"]')].find(D=>!D.closest(".tw-hint, .tw-portal, [inert]"));k?k.focus({preventScroll:!0,focusVisible:!1}):document.activeElement?.blur?.(),document.getSelection?.()?.removeAllRanges()};y.push(pe),b.addEventListener("pointerdown",l=>{let v=l.target;if(ki(v)||v.closest(".tw-header, .tw-folder-header, button, input, textarea, select")){ie?.[0].contains(v)||pe();return}if(l.button!==0||l.pointerType==="touch")return pe();let k;for(let[D,et]of on){let Y=(et.kind==="folder"?D.firstElementChild:D).getBoundingClientRect();Y.height&&l.clientY>=Y.top&&l.clientY<Y.bottom&&!ko(D)&&(k=[D,et])}if(!k)return pe();l.preventDefault(),Ci(...k)},!0);let Cr=l=>!!(l&&l.matches&&(l.matches("input, textarea, select")||l.isContentEditable)),Li=l=>{if(l.key==="Escape")return pe();if(!(l.metaKey||l.ctrlKey)||l.altKey||l.repeat||Cr(l.target))return;let v=l.key.toLowerCase();if(v!=="c"&&v!=="v")return;ce&&!ce[0].isConnected&&ce[1](),ie&&ko(ie[0])&&pe();let k=document.activeElement,D=ie?ie[1]:ce||!k||ko(k)?void 0:Mi(k);if(!D||v==="c"&&String(document.getSelection?.()||""))return;let et=v==="c"?JSON.stringify(D.kind==="row"?D.entry.get():L(O(),D.path),c,2):"",Y=ct=>{d||Xt(ct?`${D.label} copied`:"Copy failed")},rt=ie?.[0],Q=document.activeElement,j=!!Q?.matches(":focus-visible");if(!vn){vn=h("textarea","tw-sr"),vn.tabIndex=-1,vn.setAttribute("aria-hidden","true");for(let ct of["copy","paste"])document.addEventListener(ct,wt=>bo?.(wt),!0)}let at=vn,Et=()=>{bo=null,document.activeElement===at&&(at.blur(),Q?.focus?.({preventScroll:!0,focusVisible:j}))},nt=bo=ct=>{if(ct.target!==at&&Cr(ct.target))return;if(ct.preventDefault(),Et(),et)return ct.clipboardData?.setData("text/plain",et),Y(!!ct.clipboardData);let wt=ct.clipboardData?.getData("text/plain")??null;Promise.resolve().then(()=>(ci(),li)).then(ee=>ee.pasteInto(wt,pt=>ee.pasteScope(Ct,D,pt),Ct,rt),()=>{})};at.isConnected||document.body.appendChild(at),at.value=et,at.focus({preventScroll:!0}),at.select(),setTimeout(()=>{bo===nt&&(Et(),et&&vr(et).then(Y))},1e3)},Lr=()=>{if(!d){if(m=y.length,Mo(ft,o,r),wo.length){let l=new Map;for(let D of s)l.has(D.key)||l.set(D.key,D);let v=D=>{let et=l.get(D);return et?et.target[et.key]:r[D]},k=()=>{let D=!1;for(let{node:et,m:Y}of wo)try{if(Y.render&&hi(et,!Y.render(v))&&(D=!0),Y.disabled!=null){let rt=typeof Y.disabled=="function"?Y.disabled(v):Y.disabled;Dn(et,!!rt)}}catch{}D&&$o()};a.add(k),u.add(k),k(),Promise.resolve().then(()=>(di(),ui)).then(D=>{yo=D.fold},()=>{})}if(z&&kn(W(H(z))),!d){ye?.arm(),Ei(),y.push(Gt(b,[[document,"keydown"]],l=>{ye?.onKey(l),Li(l)})),p=!0;for(let l of f.splice(0)){if(d)break;try{l()}catch(v){console.error("[tweaks] a call queued before ready failed:",v)}}C.clear();for(let l of jt)l.disabled=!1}}},Sr=(l,v)=>{if(String(l).split(".").some(ao))return console.warn(`[tweaks] set("${l}") ignored \u2014 reserved key`),!1;let k=String(l).split("."),D;if(k.length>1){let Q=r;for(let j=0;j<k.length-1&&Q;j++)Q=Q[k[j]],i.has(Q)||(Q=null);if(D=Q&&s.find(j=>j.target===Q&&j.key===k[k.length-1]),!D)return console.warn(`[tweaks] set("${l}") \u2014 no control at that path`),!1}else{let Q=s.filter(at=>at.key===l),j=Q.find(at=>at.target===r);if(!j&&Q.length>1)return console.warn(`[tweaks] set("${l}") is ambiguous \u2014 ${Q.length} controls share that key; use a dotted path (e.g. "${Q[0].path.join(".")}")`),!1;D=j||Q[0]}let et=D?D.target:r,Y=D?D.key:l,rt=et[Y];if(D&&tt(v))return console.warn(`[tweaks] set("${l}") ignored \u2014 a ${typeof v} is not a control value`),!1;if(D)try{N(D,v)}catch(Q){return console.error(`[tweaks] set("${l}") failed \u2014 value skipped:`,Q),!1}else{if(i.has(r[l]))return console.warn(`[tweaks] set("${l}") ignored \u2014 it's a folder/tabs group; set its children instead`),!1;r[l]=v}return he(rt,et[Y])?(r._last=Y,!0):!1},Te={el:b,params:r,on(l){return d?()=>{}:(a.add(l),()=>a.delete(l))},set(l,v,k){let D=String(l),et=k?.silent;E(()=>{Sr(D,v)&&q(et)})},setMany(l,v){if(l==null||typeof l!="object")return;let k=Object.entries(l),D=v?.silent;E(()=>{let et=!1;for(let[Y,rt]of k)try{Sr(Y,rt)&&(et=!0)}catch(Q){console.error(`[tweaks] setMany("${Y}") failed \u2014 key skipped:`,Q)}et&&q(D)})},reset(){p&&!d&&wr(yt),E($)},toJSON(){return d?{values:{},ui:{}}:{values:O(),ui:vi()}},changes(){return d?{}:st()},fromJSON(l,v){if(!l||typeof l!="object")return;let k=v?.silent,D=l.values&&typeof l.values=="object"?{...l.values}:l.values,et=l.ui&&typeof l.ui=="object"?{...l.ui}:l.ui;E(()=>{D&&kn(D,k),xi(et)})},setName(l){d||(Z=String(l),R.textContent=Z,A(Z))},setTheme(l){if(!d){if(mt)for(let v in mt)b.style.removeProperty(v);mt=_o(l),b._twTheme=mt,$n(b,mt),window.dispatchEvent(new Event("tw-retheme"))}},savePreset:l=>{if(d||S||!B||!l)return!1;p||C.set(String(l),"save");let v=!0;return E(()=>{v=xr(l)}),v},loadPreset:l=>{let v=C.get(String(l));return d||S||v==="delete"||!(v==="save"||He()[l])?!1:(E(()=>Er(l)),!0)},deletePreset:l=>{B&&(p||C.set(String(l),"delete"),E(()=>Mr(l)))},presets:()=>d?[]:Object.keys(He()),undo:()=>{ye&&E(ye.undo)},redo:()=>{ye&&E(ye.redo)},destroy(){if(!d){d=!0,$r(b),yn(b);for(let l of y.splice(0))try{l()}catch{}a.clear(),w&&(w.remove(),w=null),tn===b&&(tn=null),b.dataset.twDestroyed="",b.remove()}}},Ar=Je(o);if(Ar){let l=v=>{if(S=!0,f.length=0,m>=0)for(let k of y.splice(m))try{k()}catch{}for(let k of ft.children)k.dataset.twDestroyed="";throw a.clear(),s.length=0,ft.replaceChildren(),d||console.warn(`[tweaks] "${t}": the panel could not be built \u2014 ${m>=0?"the build threw":"its lazy controls failed to load"}; the API is inert`),v};Te.ready=b.ready=Ar.then(Lr).then(()=>Te,l),Te.ready.catch(()=>{})}else Lr(),Te.ready=b.ready=Promise.resolve(Te);return Te}Mt();var pi={metaFor:Ce,restoreDefault:lo,hasOwn:be,valueChanged:he,SPRING_KEYS:io,ensureForMetas:Je,LAZY_IMPORT:_e,createFolder:hn,createControl:Ze,makeCopyBtn:fo,makeResetBtn:mo,addHintMarker:Qe};function fi(t=document){let e=Bo();return e?e(t,pi):Promise.resolve()}if(typeof document<"u"){let t=()=>{document.querySelector('[data-tw], .tw-panel[data-mode="inline"] > .tw-controls')&&fi(document)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}Mt();var mi=t=>h("div",`${t} tw-standalone tw-portal`),gi=(t,e,n)=>{let o=Je(t);if(!o)return e(),Promise.resolve(n);let r=o.then(e).then(()=>n);return r.catch(()=>{}),r};function El(t,e,n={}){let o=n.key??"value",r=Ce(o,e);if(!r||r.type==="folder"||r.type==="tabs")throw new TypeError(`[tweaks] mountControl: "${o}" is not a single-control schema value`);n.label!=null&&(r.label=String(n.label));let s=!co.has(r.type),i=mi("tw-control");t.append(i);let a=null,u=!1,y=r.value,d,p=!1,f=m=>{he(y,m)&&(y=m,n.onChange&&n.onChange(m,o))},C=()=>{if(u||(a=Ze(r,s?f:()=>{}),!a))return;r.hint&&Qe(a.el,r.hint);let m=()=>{};try{r.render&&!r.render(m)&&a.el.classList.add("tw-cond-hidden")}catch{}try{(typeof r.disabled=="function"?r.disabled(m):r.disabled)&&Dn(a.el,!0)}catch{}i.append(a.el),s&&(y=a.get(),p&&(a.set(d),f(a.get())))},S={el:i,set:m=>{u||!s||(a?(a.set(m),f(a.get())):(d=m,p=!0))},get:()=>s?a?a.get():p?d:r.value:void 0,destroy:()=>{u=!0,a&&typeof a.destroy=="function"&&a.destroy(),i.dataset.twDestroyed="",i.remove()},ready:null};return S.ready=gi([r],C,S),S}function Ml(t={}){let e=mi("tw-color-picker"),n=null,o=!1,r=t.value,s,i=!1,a=null,u=p=>{he(r,p)&&(r=p,t.onChange&&t.onChange(p))},y=()=>{if(o)return;let p=Vt("colorpicker");p&&(n=p({value:t.value,mode:t.mode},u),r=n.get(),e.append(n.el),a&&n.setMode(a),i&&(n.set(s),u(n.get())),Bt(n.reflow))},d={el:e,set:p=>{o||(n?(n.set(p),u(n.get())):(s=p,i=!0))},get:()=>n?n.get():i?s:t.value,mode:()=>n?n.mode():a||t.mode||"oklch",setMode:p=>{n?n.setMode(p):a=p},reflow:()=>{n&&n.reflow()},destroy:()=>{o=!0,e.remove()},ready:null};return d.ready=gi([{type:"color"}],y,d),d}On();export{Ml as createColorPicker,fi as enhance,Tn as gradientCss,To as gradientStops,El as mountControl,xl as tweaks};