tweakit 0.5.2 → 0.6.0

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 (111) hide show
  1. package/AGENTS.md +31 -29
  2. package/README.md +55 -29
  3. package/THIRD-PARTY-NOTICES.md +0 -1
  4. package/dist/tweaks/auto.js +2 -0
  5. package/dist/tweaks/auto.js.map +6 -0
  6. package/dist/tweaks/bezier-JFEZMCLP.js +2 -0
  7. package/dist/tweaks/bezier-JFEZMCLP.js.map +6 -0
  8. package/dist/tweaks/chunk-6UO4DHBN.js +2 -0
  9. package/dist/tweaks/chunk-6UO4DHBN.js.map +6 -0
  10. package/dist/tweaks/chunk-DIQMLBAS.js +2 -0
  11. package/dist/tweaks/chunk-DIQMLBAS.js.map +6 -0
  12. package/dist/tweaks/chunk-XE6OUJBG.js +2 -0
  13. package/dist/tweaks/chunk-XE6OUJBG.js.map +6 -0
  14. package/dist/tweaks/clip-WW7JYO4X.js +2 -0
  15. package/dist/tweaks/clip-WW7JYO4X.js.map +6 -0
  16. package/dist/tweaks/color-YMMFURP6.js +2 -0
  17. package/dist/tweaks/color-YMMFURP6.js.map +6 -0
  18. package/dist/tweaks/core.js +2 -1
  19. package/dist/tweaks/core.js.map +6 -0
  20. package/dist/tweaks/{fold-UGN7TXGX.js → fold-U6YRZLCJ.js} +2 -1
  21. package/dist/tweaks/fold-U6YRZLCJ.js.map +6 -0
  22. package/dist/tweaks/gradient-JER7PW4D.js +2 -0
  23. package/dist/tweaks/gradient-JER7PW4D.js.map +6 -0
  24. package/dist/tweaks/heavy-CLD7UAVI.js +2 -0
  25. package/dist/tweaks/heavy-CLD7UAVI.js.map +6 -0
  26. package/dist/tweaks/image-H6QSLGO3.js +4 -0
  27. package/dist/tweaks/image-H6QSLGO3.js.map +6 -0
  28. package/dist/tweaks/image-store-WRKY2NPU.js +2 -0
  29. package/dist/tweaks/image-store-WRKY2NPU.js.map +6 -0
  30. package/dist/tweaks/interval-TEUHQGZN.js +2 -0
  31. package/dist/tweaks/interval-TEUHQGZN.js.map +6 -0
  32. package/dist/tweaks/markup-NIBJD6E2.js +2 -0
  33. package/dist/tweaks/markup-NIBJD6E2.js.map +6 -0
  34. package/dist/tweaks/monitor-3BY7YCGX.js +3 -0
  35. package/dist/tweaks/monitor-3BY7YCGX.js.map +6 -0
  36. package/dist/tweaks/motion-FQPUBKKM.js +2 -0
  37. package/dist/tweaks/motion-FQPUBKKM.js.map +6 -0
  38. package/dist/tweaks/plot-2HBNBZSG.js +3 -0
  39. package/dist/tweaks/plot-2HBNBZSG.js.map +6 -0
  40. package/dist/tweaks/point-VV6XV3I6.js +2 -0
  41. package/dist/tweaks/point-VV6XV3I6.js.map +6 -0
  42. package/dist/tweaks/shadow-5E4E55I2.js +2 -0
  43. package/dist/tweaks/shadow-5E4E55I2.js.map +6 -0
  44. package/dist/tweaks/sides-P3STEVYY.js +2 -0
  45. package/dist/tweaks/sides-P3STEVYY.js.map +6 -0
  46. package/dist/tweaks/spring-HUVSXNVN.js +2 -0
  47. package/dist/tweaks/spring-HUVSXNVN.js.map +6 -0
  48. package/dist/tweaks/tabs-76FW7LQ7.js +2 -0
  49. package/dist/tweaks/tabs-76FW7LQ7.js.map +6 -0
  50. package/dist/tweaks.css +1 -1
  51. package/dist/tweaks.js +6 -3
  52. package/dist/tweaks.js.map +6 -0
  53. package/dist/types/tweaks/easing.d.ts +8 -11
  54. package/dist/types/tweaks/panel.d.ts +6 -4
  55. package/dist/types/tweaks/schema.d.ts +4 -8
  56. package/dist/types/tweaks/standalone.d.ts +3 -3
  57. package/dist/types/tweaks/types.d.ts +278 -101
  58. package/package.json +27 -5
  59. package/src/tweaks/auto.ts +12 -0
  60. package/src/tweaks/clip.ts +94 -0
  61. package/src/tweaks/controls/basic.ts +403 -0
  62. package/src/tweaks/controls/bezier.ts +99 -0
  63. package/src/tweaks/controls/color.ts +412 -0
  64. package/src/tweaks/controls/gradient.ts +240 -0
  65. package/src/tweaks/controls/image.ts +299 -0
  66. package/src/tweaks/controls/interval.ts +104 -0
  67. package/src/tweaks/controls/monitor.ts +105 -0
  68. package/src/tweaks/controls/motion.ts +141 -0
  69. package/src/tweaks/controls/plot.ts +220 -0
  70. package/src/tweaks/controls/point.ts +119 -0
  71. package/src/tweaks/controls/shadow.ts +83 -0
  72. package/src/tweaks/controls/sides.ts +86 -0
  73. package/src/tweaks/controls/spring.ts +148 -0
  74. package/src/tweaks/controls/tabs.ts +47 -0
  75. package/src/tweaks/core.ts +9 -0
  76. package/src/tweaks/easing.ts +93 -0
  77. package/src/tweaks/enhance.ts +20 -0
  78. package/src/tweaks/feedback.ts +119 -0
  79. package/src/tweaks/fold.ts +21 -0
  80. package/src/tweaks/heavy.ts +302 -0
  81. package/src/tweaks/icons.ts +19 -0
  82. package/src/tweaks/image-store.ts +101 -0
  83. package/src/tweaks/lazy.ts +46 -0
  84. package/src/tweaks/markup.ts +154 -0
  85. package/src/tweaks/panel.ts +869 -0
  86. package/src/tweaks/schema.ts +189 -0
  87. package/src/tweaks/shared.ts +525 -0
  88. package/src/tweaks/single.ts +22 -0
  89. package/src/tweaks/standalone.ts +89 -0
  90. package/src/tweaks/types.ts +526 -0
  91. package/src/tweaks.css +959 -0
  92. package/src/wide-gamut.ts +310 -0
  93. package/dist/tweaks/bezier-2RABC6LD.js +0 -1
  94. package/dist/tweaks/chunk-4ATI34PB.js +0 -1
  95. package/dist/tweaks/chunk-7OSCMZ2J.js +0 -1
  96. package/dist/tweaks/chunk-W3JNIJ2F.js +0 -1
  97. package/dist/tweaks/clip-ECGCECEC.js +0 -1
  98. package/dist/tweaks/colour-2RE3FQ5E.js +0 -1
  99. package/dist/tweaks/gradient-DB6XTDHO.js +0 -1
  100. package/dist/tweaks/heavy-PKOMHB3C.js +0 -1
  101. package/dist/tweaks/image-7MCLBOZ3.js +0 -1
  102. package/dist/tweaks/interval-L2E4L3AZ.js +0 -1
  103. package/dist/tweaks/markup-ZJJ6CCWM.js +0 -1
  104. package/dist/tweaks/monitor-IEK742PG.js +0 -2
  105. package/dist/tweaks/motion-N5UNVR55.js +0 -1
  106. package/dist/tweaks/plot-VVTOY3RA.js +0 -2
  107. package/dist/tweaks/point-YMMHSLO7.js +0 -1
  108. package/dist/tweaks/shadow-IKYOV3VN.js +0 -1
  109. package/dist/tweaks/sides-FH227Z54.js +0 -1
  110. package/dist/tweaks/spring-3PKAFIH7.js +0 -1
  111. package/dist/tweaks/tabs-BKK5NIIY.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{a as D,h as N,i as V,j as X,k as G,m as I,n as W,o as j}from"./chunk-XE6OUJBG.js";import{K as z,da as J,g as P,j as q,r as Y,v as l}from"./chunk-6UO4DHBN.js";function nt(d,Q){let o=d.components,{root:$,trigger:U,right:Z}=I("tw-point",d.label??"Point"),H=l("span","tw-trigger-value"),L=l("div","tw-trigger-chip tw-point-preview"),b=l("div","tw-point-preview-dot");L.append(b),Z.append(L,H);let C=l("div","tw-color-pop tw-point-pop"),O=l("div","tw-point-body");C.append(O);let T=d.pad!==!1&&o.length>=2,_=t=>{let e=Y(Math.abs(Number.isFinite(+t.value)?+t.value:0))[1],s=t.min??-e,u=t.max??e;if(t.min==null!=(t.max==null)&&!(u>s)){let a=2*Y(Math.abs(+(t.min??t.max)))[1];t.min==null?s=u-a:u=s+a}let n=10**Math.floor(Math.log10((u-s)/200)),p=t.step??(n>0&&Number.isFinite(n)?n:1);return{lo:s,hi:u,nudge:p,step:t.step??Math.min(p,j(t.value),j(t.min))}},v=o.map(_),x=v[0],w=v[1],g=x?.lo??-1,h=x?.hi??1,y=w?.lo??-1,k=w?.hi??1,E=(t,e,s)=>s>e?P((t-e)/(s-e),0,1):.5,r=null,A=null,f=null;if(T){r=l("div","tw-pad"),A=l("div","tw-pad-thumb");let t=D("svg","tw-pad-line");t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("preserveAspectRatio","none"),f=D("line"),t.append(f);let e=E(0,y,k);f.setAttribute("x1",E(0,g,h)*100),f.setAttribute("y1",(d.invertY?e:1-e)*100),r.append(l("div","tw-pad-axis tw-pad-axis-x"),l("div","tw-pad-axis tw-pad-axis-y"),t,A),O.append(r)}let R=l("div","tw-fields");O.append(R);let m=()=>{K(),tt()},F=()=>Q(B()),i=o.map((t,e)=>{let s=W({label:t.label,value:t.value??0,step:v[e].step,min:t.min,max:t.max},()=>{m(),F()});return R.append(s.el),s}),B=()=>Object.fromEntries(o.map((t,e)=>[t.key,i[e].get()])),S=(t,e)=>(+t).toFixed(q(e)),tt=()=>{H.textContent=i.map((t,e)=>S(t.get(),v[e].step)).join(", ")},K=()=>{b.style.left="50%",b.style.top="50%"};if(T){let e=n=>`calc(${(n*100).toFixed(2)}% + ${((.5-n)*5).toFixed(2)}px)`;K=()=>{let n=E(i[0].get(),g,h),p=E(i[1].get(),y,k),a=d.invertY?p:1-p,c=n*100,M=a*100;A.style.left=c+"%",A.style.top=M+"%",b.style.left=e(n),b.style.top=e(a),f.setAttribute("x2",c),f.setAttribute("y2",M),r.setAttribute("aria-description",`${o[0].label??o[0].key} ${S(i[0].get(),x.step)}, ${o[1].label??o[1].key} ${S(i[1].get(),w.step)}`)},N(r,n=>{let[p,a]=V(n,r),c=d.invertY?a:1-a;i[0].set(g+p*(h-g)),i[1].set(y+c*(k-y)),m(),F()}),r.tabIndex=0,r.setAttribute("role","group"),r.setAttribute("aria-label",`${d.label??"Point"} pad: ${o[0].label??o[0].key} and ${o[1].label??o[1].key}`);let u=G(r);r.addEventListener("keydown",n=>{if(n.key==="Home"){n.preventDefault(),o.forEach((M,et)=>i[et].set(M.value??0)),m(),F(),u();return}let[p,a]=X(n);if(!p&&!a)return;n.preventDefault();let c=n.shiftKey?10:1;p&&i[0].set(P(i[0].get()+p*x.nudge*c,g,h)),a&&i[1].set(P(i[1].get()+(d.invertY?-a:a)*w.nudge*c,y,k)),m(),F(),u()})}return $.append(C),z($,U,C,{fallbackH:240,onOpen:m}),m(),{el:$,set:t=>{t&&o.forEach((e,s)=>{t[e.key]!=null&&i[s].set(t[e.key])}),m()},get:B,range:Object.fromEntries(o.map((t,e)=>[t.key,i[e].range]))}}J("point",nt);
2
+ //# sourceMappingURL=point-VV6XV3I6.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tweaks/controls/point.ts"],
4
+ "mappings": "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",
5
+ "names": ["createPoint", "meta", "onChange", "comps", "root", "trigger", "right", "triggerRow", "valueEl", "el", "preview", "previewDot", "pop", "body", "hasPad", "rangeOf", "c", "half", "defaultRange", "lo", "hi", "w", "fine", "nudge", "decimalStep", "ranges", "rx", "ry", "minX", "maxX", "minY", "maxY", "frac", "v", "clamp", "padHost", "padThumb", "padLine", "padSvg", "svgEl", "oy0", "fields", "sync", "positionPad", "paintValue", "emit", "read", "flds", "k", "fld", "numField", "fmt", "step", "stepPrecision", "f", "inset", "fx", "fyv", "tyFrac", "tx", "ty", "grabSurface", "e", "fy", "boxFrac", "yFrac", "say", "sayWhenKeysStop", "dx", "dy", "arrowStep", "popover", "registerControl"]
6
+ }
@@ -0,0 +1,2 @@
1
+ import{d as x,f as K}from"./chunk-DIQMLBAS.js";import{m as P,n as D}from"./chunk-XE6OUJBG.js";import{K as q,X as z,Y as G,da as J,h as X,v as r,w as Y,x as k}from"./chunk-6UO4DHBN.js";var f={x:0,y:8,blur:24,spread:0,color:"rgb(0 0 0 / 0.18)"},b=(n,l)=>n!=null&&n!==""&&Number.isFinite(+n)?+n:l,w=n=>String(+n.toFixed(1)),Z=/#[0-9a-f]{3,8}\b|(?:oklch|oklab|rgba?|hsla?|hwb|lab|lch|color)\([^()]*\)/i,ee=/^(-?\d*\.?\d+)(px)?$/,te=n=>{let l=Z.exec(n);if(!l||!x(l[0]))return null;let h=(n.slice(0,l.index)+" "+n.slice(l.index+l[0].length)).trim().split(/\s+/).filter(Boolean),i=h.includes("inset"),o=h.filter(d=>d!=="inset");if(o.length<2||o.length>4||!o.every(d=>ee.test(d)))return null;let c=o.map(d=>+d.replace(/px$/,""));return{inset:i,x:c[0],y:c[1],blur:c[2]??0,spread:c[3]??0,color:l[0]}},ne=G('<path d="M18 9s-4.4 6-6 6-6-6-6-6"/>',"tw-shadow-chevron",2.5);function oe(n,l){let h=e=>typeof e=="string"?te(e):X(e)?e:null,i=h(n.value??n)||{},o=!!i.inset,{root:c,trigger:d,right:Q}=P("tw-shadow",n.label??"Shadow"),R=r("span","tw-trigger-chip tw-shadow-chip"),E=r("span","tw-shadow-chip-tile");R.append(E);let O=r("span","tw-trigger-value");Q.append(R,O);let y=r("div","tw-color-pop tw-shadow-pop"),j=r("div","tw-shadow-stage"),F=r("div","tw-shadow-card");j.append(F);let M=z([{value:"outer",label:"Outer"},{value:"inner",label:"Inner"}],o?"inner":"outer",e=>{e==="inner"!==o&&(o=e==="inner",u(),$())},"Shadow position"),N=r("div","tw-row");N.append(k("span","tw-row-label","Position"),M.el);let A=r("div","tw-fields tw-shadow-fields"),m=(e,t,p)=>{let a=D({label:e,value:t,step:1,min:p,unit:"px"},()=>{u(),$()});return A.append(a.el),a},I=m("X",b(i.x,f.x)),L=m("Y",b(i.y,f.y)),T=m("Blur",b(i.blur,f.blur),0),B=m("Spread",b(i.spread,f.spread)),S=()=>[I,L,T,B].map(e=>e.get()),g=Y("tw-trigger tw-shadow-color");g.setAttribute("aria-expanded","false");let H=r("span","tw-trigger-chip tw-color-swatch"),V=r("span","tw-trigger-value"),v=r("span","tw-trigger-right");v.append(H,V),v.insertAdjacentHTML("beforeend",ne),g.append(k("span","tw-trigger-label","Color"),v);let s=K({value:typeof i.color=="string"&&x(i.color)?i.color:f.color,onMode:()=>u()},()=>{u(),$()});s.el.hidden=!0,g.addEventListener("click",()=>{let e=s.el.hidden;s.el.hidden=!e,g.setAttribute("aria-expanded",String(e)),U.reflow()}),y.append(j,N,A,g,s.el),c.append(y);let C=e=>`${o?"inset ":""}${S().map(t=>`${w(t*e)}px`).join(" ")} ${s.get()}`,_=()=>{let[e,t,p,a]=S().map(W=>+w(W));return{inset:o,x:e,y:t,blur:p,spread:a,color:s.get(),css:C(1)}},$=()=>l(_()),u=()=>{F.style.boxShadow=C(1),E.style.boxShadow=C(.3);let[e,t,p,a]=S();O.textContent=`${o?"in ":""}${w(e)} ${w(t)} ${w(p)}${a?" "+w(a):""}`,H.style.background=s.swatchCss(),V.textContent=s.valueText()},U=q(c,d,y,{fallbackH:300,onOpen:s.reflow,onReflow:s.reflow});return u(),{el:c,set:e=>{let t=h(e);t&&(t.inset!=null&&(o=!!t.inset,M.set(o?"inner":"outer")),[["x",I],["y",L],["blur",T],["spread",B]].forEach(([p,a])=>{t[p]!=null&&a.set(b(t[p],a.get()))}),typeof t.color=="string"&&x(t.color)&&s.set(t.color),u())},get:_}}J("shadow",oe);
2
+ //# sourceMappingURL=shadow-5E4E55I2.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tweaks/controls/shadow.ts"],
4
+ "mappings": "wLAUA,IAAMA,EAAM,CAAE,EAAG,EAAG,EAAG,EAAG,KAAM,GAAI,OAAQ,EAAG,MAAO,mBAAoB,EACpEC,EAAM,CAACC,EAAYC,IAAeD,GAAK,MAAQA,IAAM,IAAM,OAAO,SAAS,CAACA,CAAC,EAAI,CAACA,EAAIC,EACtFC,EAAO,GAAc,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,EAEzCC,EAAW,4EACXC,GAAS,uBAETC,GAAeC,GAAkC,CACrD,IAAMC,EAAIJ,EAAS,KAAKG,CAAC,EAAG,GAAI,CAACC,GAAK,CAACC,EAAQD,EAAE,CAAC,CAAC,EAAG,OAAO,KAC7D,IAAME,GAAQH,EAAE,MAAM,EAAGC,EAAE,KAAK,EAAI,IAAMD,EAAE,MAAMC,EAAE,MAAQA,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,KAAK,EAAE,OAAO,OAAO,EACtGG,EAAQD,EAAK,SAAS,OAAO,EAAGE,EAAOF,EAAK,OAAQG,GAAMA,IAAM,OAAO,EAC7E,GAAID,EAAK,OAAS,GAAKA,EAAK,OAAS,GAAK,CAACA,EAAK,MAAOC,GAAMR,GAAO,KAAKQ,CAAC,CAAC,EAAG,OAAO,KACrF,IAAMC,EAAIF,EAAK,IAAKC,GAAM,CAACA,EAAE,QAAQ,MAAO,EAAE,CAAC,EAC/C,MAAO,CAAE,MAAAF,EAAO,EAAGG,EAAE,CAAC,EAAG,EAAGA,EAAE,CAAC,EAAG,KAAMA,EAAE,CAAC,GAAK,EAAG,OAAQA,EAAE,CAAC,GAAK,EAAG,MAAON,EAAE,CAAC,CAAE,CACpF,EAEMO,GAAUC,EAAK,uCAAwC,oBAAqB,GAAG,EACrF,SAASC,GAAaC,EAAYC,EAA6B,CAC7D,IAAMC,EAAQnB,GAAoC,OAAOA,GAAM,SAAWK,GAAYL,CAAC,EAAIoB,EAAMpB,CAAC,EAAIA,EAAI,KACpGqB,EAAOF,EAAKF,EAAK,OAASA,CAAI,GAAK,CAAC,EACtCP,EAAQ,CAAC,CAACW,EAAK,MAGb,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAAC,CAAM,EAAIC,EAAW,YAAaR,EAAK,OAAS,QAAQ,EACzES,EAAOC,EAAG,OAAQ,gCAAgC,EAAGC,EAAWD,EAAG,OAAQ,qBAAqB,EAAGD,EAAK,OAAOE,CAAQ,EAC7H,IAAMC,EAAUF,EAAG,OAAQ,kBAAkB,EAC7CH,EAAM,OAAOE,EAAMG,CAAO,EAG1B,IAAMC,EAAMH,EAAG,MAAO,4BAA4B,EAC5CI,EAAQJ,EAAG,MAAO,iBAAiB,EAAGK,EAAOL,EAAG,MAAO,gBAAgB,EAAGI,EAAM,OAAOC,CAAI,EACjG,IAAMC,EAAWC,EAAgB,CAAC,CAAE,MAAO,QAAS,MAAO,OAAQ,EAAG,CAAE,MAAO,QAAS,MAAO,OAAQ,CAAC,EAAGxB,EAAQ,QAAU,QAAUH,GAAe,CAAOA,IAAM,UAAaG,IAASA,EAAQH,IAAM,QAAS4B,EAAO,EAAGC,EAAK,EAAK,EAAG,iBAAiB,EAClPC,EAAWV,EAAG,MAAO,QAAQ,EAAGU,EAAS,OAAOC,EAAI,OAAQ,eAAgB,UAAU,EAAGL,EAAS,EAAE,EAC1G,IAAMM,EAASZ,EAAG,MAAO,4BAA4B,EAG/Ca,EAAQ,CAACC,EAAeC,EAAeC,IAA2B,CAAE,IAAMC,EAAIC,EAAS,CAAE,MAAAJ,EAAO,MAAAC,EAAO,KAAM,EAAG,IAAAC,EAAK,KAAM,IAAK,EAAG,IAAM,CAAER,EAAO,EAAGC,EAAK,CAAG,CAAC,EAAG,OAAAG,EAAO,OAAOK,EAAE,EAAE,EAAUA,CAAG,EAChME,EAAKN,EAAM,IAAKzC,EAAIsB,EAAK,EAAGvB,EAAI,CAAC,CAAC,EAAGiD,EAAKP,EAAM,IAAKzC,EAAIsB,EAAK,EAAGvB,EAAI,CAAC,CAAC,EAAGkD,EAAKR,EAAM,OAAQzC,EAAIsB,EAAK,KAAMvB,EAAI,IAAI,EAAG,CAAC,EAAGmD,EAAKT,EAAM,SAAUzC,EAAIsB,EAAK,OAAQvB,EAAI,MAAM,CAAC,EAC5KoD,EAAU,IAAM,CAACJ,EAAIC,EAAIC,EAAIC,CAAE,EAAE,IAAKL,GAAMA,EAAE,IAAI,CAAC,EAEnDO,EAAWC,EAAI,4BAA4B,EAAGD,EAAS,aAAa,gBAAiB,OAAO,EAClG,IAAME,EAAU1B,EAAG,OAAQ,iCAAiC,EAAG2B,EAAQ3B,EAAG,OAAQ,kBAAkB,EAAG4B,EAAS5B,EAAG,OAAQ,kBAAkB,EAC7I4B,EAAO,OAAOF,EAASC,CAAK,EAAGC,EAAO,mBAAmB,YAAazC,EAAO,EAAGqC,EAAS,OAAOb,EAAI,OAAQ,mBAAoB,OAAO,EAAGiB,CAAM,EAChJ,IAAMC,EAAOC,EAAiB,CAAE,MAAO,OAAOpC,EAAK,OAAU,UAAYb,EAAQa,EAAK,KAAK,EAAIA,EAAK,MAAQvB,EAAI,MAAO,OAAQ,IAAMqC,EAAO,CAAE,EAAG,IAAM,CAAEA,EAAO,EAAGC,EAAK,CAAG,CAAC,EAC5KoB,EAAK,GAAG,OAAS,GACjBL,EAAS,iBAAiB,QAAS,IAAM,CAAE,IAAMO,EAAOF,EAAK,GAAG,OAAQA,EAAK,GAAG,OAAS,CAACE,EAAMP,EAAS,aAAa,gBAAiB,OAAOO,CAAI,CAAC,EAAGC,EAAK,OAAO,CAAG,CAAC,EACtK7B,EAAI,OAAOC,EAAOM,EAAUE,EAAQY,EAAUK,EAAK,EAAE,EACrDlC,EAAK,OAAOQ,CAAG,EAEf,IAAM8B,EAASC,GAAc,GAAGnD,EAAQ,SAAW,EAAE,GAAGwC,EAAQ,EAAE,IAAKrC,GAAM,GAAGX,EAAIW,EAAIgD,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,IAAIL,EAAK,IAAI,CAAC,GACjHd,EAAQ,IAAmB,CAAE,GAAM,CAACoB,EAAGC,EAAGC,EAAMC,CAAM,EAAIf,EAAQ,EAAE,IAAKrC,GAAM,CAACX,EAAIW,CAAC,CAAC,EAAG,MAAO,CAAE,MAAAH,EAAO,EAAAoD,EAAG,EAAAC,EAAG,KAAAC,EAAM,OAAAC,EAAQ,MAAOT,EAAK,IAAI,EAAG,IAAKI,EAAM,CAAC,CAAE,CAAG,EACjKxB,EAAO,IAAMlB,EAASwB,EAAM,CAAC,EAC7BP,EAAS,IAAM,CACnBH,EAAK,MAAM,UAAY4B,EAAM,CAAC,EAAGhC,EAAS,MAAM,UAAYgC,EAAM,EAAG,EACrE,GAAM,CAACE,EAAGC,EAAGC,EAAMC,CAAM,EAAIf,EAAQ,EACrCrB,EAAQ,YAAc,GAAGnB,EAAQ,MAAQ,EAAE,GAAGR,EAAI4D,CAAC,CAAC,IAAI5D,EAAI6D,CAAC,CAAC,IAAI7D,EAAI8D,CAAI,CAAC,GAAGC,EAAS,IAAM/D,EAAI+D,CAAM,EAAI,EAAE,GAC7GZ,EAAQ,MAAM,WAAaG,EAAK,UAAU,EAAGF,EAAM,YAAcE,EAAK,UAAU,CAClF,EACMG,EAAOO,EAAQ5C,EAAMC,EAASO,EAAK,CAAE,UAAW,IAAK,OAAQ0B,EAAK,OAAQ,SAAUA,EAAK,MAAO,CAAC,EACvG,OAAArB,EAAO,EAUA,CAAE,GAAIb,EAAM,IAPNtB,GAAe,CAC1B,IAAMmE,EAAMhD,EAAKnB,CAAC,EAAQmE,IACtBA,EAAI,OAAS,OAAQzD,EAAQ,CAAC,CAACyD,EAAI,MAAOlC,EAAS,IAAIvB,EAAQ,QAAU,OAAO,GACnF,CAAC,CAAC,IAAKoC,CAAE,EAAG,CAAC,IAAKC,CAAE,EAAG,CAAC,OAAQC,CAAE,EAAG,CAAC,SAAUC,CAAE,CAAC,EAAY,QAAQ,CAAC,CAACY,EAAGjB,CAAC,IAAM,CAAMuB,EAAIN,CAAC,GAAK,MAAMjB,EAAE,IAAI7C,EAAIoE,EAAIN,CAAC,EAAGjB,EAAE,IAAI,CAAC,CAAC,CAAG,CAAC,EACpI,OAAOuB,EAAI,OAAU,UAAY3D,EAAQ2D,EAAI,KAAK,GAAGX,EAAK,IAAIW,EAAI,KAAK,EAC3EhC,EAAO,EACT,EACwB,IAAKO,CAAM,CACrC,CAEA0B,EAAgB,SAAUpD,EAAY",
5
+ "names": ["DEF", "num", "v", "d", "fmt", "COLOR_RE", "LEN_RE", "parseShadow", "s", "m", "isColor", "rest", "inset", "lens", "t", "n", "CHEVRON", "icon", "createShadow", "meta", "onChange", "read", "isObj", "init", "root", "trigger", "right", "triggerRow", "chip", "el", "chipTile", "valueEl", "pop", "stage", "card", "insetSeg", "createSegmented", "update", "emit", "insetRow", "txt", "fields", "field", "label", "value", "min", "f", "numField", "fx", "fy", "fb", "fs", "lengths", "colorRow", "btn", "cSwatch", "cText", "cRight", "body", "createPickerBody", "show", "pop_", "cssAt", "k", "x", "y", "blur", "spread", "popover", "inp", "registerControl"]
6
+ }
@@ -0,0 +1,2 @@
1
+ import{n as C,o as R}from"./chunk-XE6OUJBG.js";import{Y as w,da as V,j as $,v as m,w as v,x as M}from"./chunk-6UO4DHBN.js";var D=w('<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"/>'),G=w('<path d="M3 13V8a5 5 0 0 1 5-5h5"/>',"",1.5,16),J=w('<path d="M3 10V8a5 5 0 0 1 5-5a5 5 0 0 1 5 5v2"/>',"",1.5,16),U=/^(-?\d*\.?\d+)([a-z%]*)$/i,_=t=>t!=null&&t!==""&&Number.isFinite(+t)?+t:null,L=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),H=t=>{let u=t.trim().split(/\s+/).map(s=>U.exec(s));return u.length<=4&&u.every(Boolean)?u.map(s=>[+s[1],s[2].toLowerCase()]):null},B=(t,u)=>{if(typeof t=="number")return Number.isFinite(t)?[t,t,t,t]:null;if(typeof t=="string"){let s=H(t);return s?L(s.map(r=>r[0])):null}if(Array.isArray(t)){let s=t.map(_);return s.length>=1&&s.length<=4&&s.every(r=>r!==null)?L(s):null}if(t&&typeof t=="object"){let s=t,r=u.slice(),a=!1;return["top","right","bottom","left"].forEach((l,c)=>{let e=_(s[l]);e!==null&&(r[c]=e,a=!0)}),a?r:null}return null},K=(t,u,s)=>{let r=typeof t=="string"&&H(t);if(!r)return"";let a=L(r.map((l,c)=>c)).map((l,c)=>[s[c].toLowerCase(),r[l][0]?r[l][1]:""]).filter(([,l])=>l);return new Set(a.map(([,l])=>l)).size<2?a.length?a[0][1]:"":(console.warn(`[tweaks] sides "${u}": "${t}" mixes units (${a.map(l=>l.join(" ")).join(", ")}) and the control edits one, so all four read as px; write one unit, or set unit`),"")};function Q(t,u){let s=!!t.corners,r=s?["Top-left","Top-right","Bottom-right","Bottom-left"]:["Top","Right","Bottom","Left"],a=t.label||t.key,l=t.value??t,c=typeof t.unit=="string"&&t.unit.trim()||K(l,a,r)||"px",e=B(l,[0,0,0,0]),y={step:t.step??Math.min(1,...(e||[]).map(R)),min:t.min??(s?0:void 0),max:t.max,unit:c},N=n=>String(+n.toFixed(Math.max(2,$(+y.step))));!e&&t.value!=null&&(typeof t.value!="object"||Array.isArray(t.value))&&console.warn(`[tweaks] sides "${a}": can't read ${JSON.stringify(t.value)?.slice(0,60)}, so it starts at 0; it takes one to four numbers or plain lengths, like "8px 16px"`),e=e||[0,0,0,0];let p=e.every(n=>n===e[0]),k=m("div","tw-sides"),b=C({label:t.label,value:e[0],row:!0,...y},n=>{e=[n,n,n,n],g(),E()}),S=s?"Independent corners":"Independent sides",d=v("tw-sides-link",D);d.setAttribute("aria-label",S),d.title=S,d.addEventListener("click",()=>P());let j=m("div","tw-sides-multi"),x=m("div","tw-sides-head"),A=m("span","tw-sides-sum"),O=document.createTextNode("");A.append(O,M("span","tw-sides-unit",c)),x.append(M("span","tw-row-label",t.label),A);let T=m("div","tw-fields"),f=r.map((n,o)=>C({label:n,value:e[o],...y},i=>{e[o]=i,g(),E()}));f.forEach((n,o)=>{let i=n.el.querySelector(".tw-field-label");i.title=r[o],i.classList.add("tw-sides-glyph"),i.dataset.at=r[o].toLowerCase(),i.innerHTML=s?G:J,T.append(n.el)}),j.append(x,T),k.append(b.el,j),e=f.map(n=>n.get());let z=()=>{let[n,o,i,h]=e.map(N),q=I=>I==="0"?"0":I+c;return(n===i&&o===h?n===o?[n]:[n,o]:o===h?[n,o,i]:[n,o,i,h]).map(q).join(" ")},F=()=>({top:e[0],right:e[1],bottom:e[2],left:e[3],css:z()}),E=()=>u(F()),g=()=>{k.classList.toggle("is-linked",p),d.setAttribute("aria-pressed",String(!p)),(p?b.el:x).append(d),b.set(e[0]),f.forEach((n,o)=>n.set(e[o])),O.data=e.map(N).join(" ")},P=()=>{p=!p,p&&(e=[e[0],e[0],e[0],e[0]]),g(),E(),d.focus()};return g(),{el:k,set:n=>{let o=B(n,e);o&&(f.forEach((i,h)=>i.set(o[h])),e=f.map(i=>i.get()),p=e.every(i=>i===e[0]),g())},get:F,range:b.range}}V("sides",Q);
2
+ //# sourceMappingURL=sides-P3STEVYY.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tweaks/controls/sides.ts"],
4
+ "mappings": "2HAUA,IAAMA,EAAaC,EAAK,4GAA4G,EAC9HC,EAAcD,EAAK,sCAAuC,GAAI,IAAK,EAAE,EACrEE,EAAYF,EAAK,oDAAqD,GAAI,IAAK,EAAE,EACjFG,EAAS,4BACTC,EAAOC,GAAgBA,GAAK,MAAQA,IAAM,IAAM,OAAO,SAAS,CAACA,CAAC,EAAI,CAACA,EAAI,KAC3EC,EAAUC,GAAiBA,EAAE,SAAW,EAAI,CAACA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAAIA,EAAE,SAAW,EAAI,CAACA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAAIA,EAAE,SAAW,EAAI,CAACA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAAIA,EAAE,MAAM,EAAG,CAAC,EAE3KC,EAAWC,GAAc,CAAE,IAAMC,EAAID,EAAE,KAAK,EAAE,MAAM,KAAK,EAAE,IAAKE,GAAMR,EAAO,KAAKQ,CAAC,CAAC,EAAG,OAAOD,EAAE,QAAU,GAAKA,EAAE,MAAM,OAAO,EAAKA,EAAwB,IAAKE,GAAM,CAAC,CAACA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAE,YAAY,CAAC,CAAU,EAAI,IAAM,EAEpNC,EAAO,CAACR,EAAYS,IAAmC,CAC3D,GAAI,OAAOT,GAAM,SAAU,OAAO,OAAO,SAASA,CAAC,EAAI,CAACA,EAAGA,EAAGA,EAAGA,CAAC,EAAI,KACtE,GAAI,OAAOA,GAAM,SAAU,CAAE,IAAME,EAAIC,EAAQH,CAAC,EAAG,OAAOE,EAAID,EAAOC,EAAE,IAAKK,GAAMA,EAAE,CAAC,CAAC,CAAC,EAAI,IAAM,CACjG,GAAI,MAAM,QAAQP,CAAC,EAAG,CAAE,IAAME,EAAIF,EAAE,IAAID,CAAG,EAAG,OAAOG,EAAE,QAAU,GAAKA,EAAE,QAAU,GAAKA,EAAE,MAAOK,GAAMA,IAAM,IAAI,EAAIN,EAAOC,CAAa,EAAI,IAAM,CAClJ,GAAIF,GAAK,OAAOA,GAAM,SAAU,CAAE,IAAMU,EAAIV,EAA8BW,EAAMF,EAAI,MAAM,EAAOG,EAAM,GAAO,MAAC,CAAC,MAAO,QAAS,SAAU,MAAM,EAAY,QAAQ,CAACC,EAAGC,IAAM,CAAE,IAAMP,EAAIR,EAAIW,EAAEG,CAAC,CAAC,EAAON,IAAM,OAAQI,EAAIG,CAAC,EAAIP,EAAGK,EAAM,GAAQ,CAAC,EAAUA,EAAMD,EAAM,IAAM,CAC9Q,OAAO,IACT,EAKMI,EAAW,CAACf,EAAYgB,EAAcC,IAAoB,CAC9D,IAAMf,EAAI,OAAOF,GAAM,UAAYG,EAAQH,CAAC,EAAG,GAAI,CAACE,EAAG,MAAO,GAC9D,IAAMgB,EAAOjB,EAAOC,EAAE,IAAI,CAACiB,EAAGL,IAAMA,CAAC,CAAC,EAAE,IAAI,CAACA,EAAGV,IAAM,CAACa,EAAMb,CAAC,EAAE,YAAY,EAAGF,EAAEY,CAAC,EAAE,CAAC,EAAIZ,EAAEY,CAAC,EAAE,CAAC,EAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAEM,CAAC,IAAMA,CAAC,EAC3H,OAAI,IAAI,IAAIF,EAAK,IAAI,CAAC,CAAC,CAAEE,CAAC,IAAMA,CAAC,CAAC,EAAE,KAAO,EAAUF,EAAK,OAASA,EAAK,CAAC,EAAE,CAAC,EAAI,IAChF,QAAQ,KAAK,mBAAmBF,CAAI,OAAOhB,CAAC,kBAAkBkB,EAAK,IAAKd,GAAMA,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,kFAAkF,EAChL,GACT,EAEA,SAASiB,EAAYC,EAAYC,EAA6B,CAC5D,IAAMC,EAAU,CAAC,CAACF,EAAK,QAASG,EAAQD,EAAU,CAAC,WAAY,YAAa,eAAgB,aAAa,EAAI,CAAC,MAAO,QAAS,SAAU,MAAM,EACxIR,EAAOM,EAAK,OAASA,EAAK,IAAKI,EAAOJ,EAAK,OAASA,EACpDK,EAAQ,OAAOL,EAAK,MAAS,UAAYA,EAAK,KAAK,KAAK,GAAMP,EAASW,EAAMV,EAAMS,CAAK,GAAK,KAC/FzB,EAAIQ,EAAKkB,EAAM,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAEzBE,EAAO,CAAE,KAAMN,EAAK,MAAQ,KAAK,IAAI,EAAG,IAAItB,GAAK,CAAC,GAAG,IAAI6B,CAAW,CAAC,EAAG,IAAKP,EAAK,MAAQE,EAAU,EAAI,QAAY,IAAKF,EAAK,IAAK,KAAAK,CAAK,EACxIG,EAAO,GAAc,OAAO,CAAC,EAAE,QAAQ,KAAK,IAAI,EAAGC,EAAc,CAACH,EAAK,IAAI,CAAC,CAAC,CAAC,EAGhF,CAAC5B,GAAKsB,EAAK,OAAS,OAAS,OAAOA,EAAK,OAAU,UAAY,MAAM,QAAQA,EAAK,KAAK,IAAI,QAAQ,KAAK,mBAAmBN,CAAI,iBAAiB,KAAK,UAAUM,EAAK,KAAK,GAAG,MAAM,EAAG,EAAE,CAAC,qFAAqF,EACjRtB,EAAIA,GAAK,CAAC,EAAG,EAAG,EAAG,CAAC,EACpB,IAAIgC,EAAShC,EAAE,MAAOO,GAAMA,IAAMP,EAAE,CAAC,CAAC,EAChCiC,EAAOC,EAAG,MAAO,UAAU,EAC3BC,EAAMC,EAAS,CAAE,MAAOd,EAAK,MAAO,MAAOtB,EAAE,CAAC,EAAG,IAAK,GAAM,GAAG4B,CAAK,EAAI,GAAM,CAAE5B,EAAI,CAAC,EAAG,EAAG,EAAG,CAAC,EAAGqC,EAAO,EAAGC,EAAK,CAAG,CAAC,EAGrHC,EAAQf,EAAU,sBAAwB,oBAC1CgB,EAAOC,EAAI,gBAAiB/C,CAAU,EAAG8C,EAAK,aAAa,aAAcD,CAAK,EAAGC,EAAK,MAAQD,EAAOC,EAAK,iBAAiB,QAAS,IAAME,EAAO,CAAC,EAExJ,IAAMC,EAAQT,EAAG,MAAO,gBAAgB,EAAGU,EAAOV,EAAG,MAAO,eAAe,EAAGW,EAAMX,EAAG,OAAQ,cAAc,EAAGY,EAAO,SAAS,eAAe,EAAE,EACjJD,EAAI,OAAOC,EAAMC,EAAI,OAAQ,gBAAiBpB,CAAI,CAAC,EAAGiB,EAAK,OAAOG,EAAI,OAAQ,eAAgBzB,EAAK,KAAK,EAAGuB,CAAG,EAC9G,IAAMG,EAASd,EAAG,MAAO,WAAW,EAC9Be,EAAmBxB,EAAM,IAAI,CAAC,EAAGX,IAAMsB,EAAS,CAAE,MAAO,EAAG,MAAOpC,EAAEc,CAAC,EAAG,GAAGc,CAAK,EAAIrB,GAAM,CAAEP,EAAEc,CAAC,EAAIP,EAAG8B,EAAO,EAAGC,EAAK,CAAG,CAAC,CAAC,EAEjIW,EAAK,QAAQ,CAACC,EAAGpC,IAAM,CAAE,IAAMqC,EAAMD,EAAE,GAAG,cAA2B,iBAAiB,EAAIC,EAAI,MAAQ1B,EAAMX,CAAC,EAAGqC,EAAI,UAAU,IAAI,gBAAgB,EAAGA,EAAI,QAAQ,GAAK1B,EAAMX,CAAC,EAAE,YAAY,EAAGqC,EAAI,UAAY3B,EAAU5B,EAAcC,EAAWmD,EAAO,OAAOE,EAAE,EAAE,CAAG,CAAC,EACvQP,EAAM,OAAOC,EAAMI,CAAM,EAAGf,EAAK,OAAOE,EAAI,GAAIQ,CAAK,EAErD3C,EAAIiD,EAAK,IAAKC,GAAMA,EAAE,IAAI,CAAC,EAE3B,IAAME,EAAM,IAAM,CAAE,GAAM,CAAC9C,EAAG+C,EAAGC,EAAGC,CAAC,EAAIvD,EAAE,IAAI8B,CAAG,EAAGV,EAAKhB,GAAeA,IAAM,IAAM,IAAMA,EAAIuB,EAAO,OAAQrB,IAAMgD,GAAKD,IAAME,EAAKjD,IAAM+C,EAAI,CAAC/C,CAAC,EAAI,CAACA,EAAG+C,CAAC,EAAKA,IAAME,EAAI,CAACjD,EAAG+C,EAAGC,CAAC,EAAI,CAAChD,EAAG+C,EAAGC,EAAGC,CAAC,GAAG,IAAInC,CAAC,EAAE,KAAK,GAAG,CAAG,EAC9MoC,EAAQ,KAAmB,CAAE,IAAKxD,EAAE,CAAC,EAAG,MAAOA,EAAE,CAAC,EAAG,OAAQA,EAAE,CAAC,EAAG,KAAMA,EAAE,CAAC,EAAG,IAAKoD,EAAI,CAAE,GAC1Fd,EAAO,IAAMf,EAASiC,EAAM,CAAC,EAC7BnB,EAAS,IAAM,CACnBJ,EAAK,UAAU,OAAO,YAAaD,CAAM,EAAGQ,EAAK,aAAa,eAAgB,OAAO,CAACR,CAAM,CAAC,GAC5FA,EAASG,EAAI,GAAKS,GAAM,OAAOJ,CAAI,EACpCL,EAAI,IAAInC,EAAE,CAAC,CAAC,EAAGiD,EAAK,QAAQ,CAACC,EAAGpC,IAAMoC,EAAE,IAAIlD,EAAEc,CAAC,CAAC,CAAC,EACjDgC,EAAK,KAAO9C,EAAE,IAAI8B,CAAG,EAAE,KAAK,GAAG,CACjC,EACMY,EAAS,IAAM,CAAEV,EAAS,CAACA,EAAYA,IAAQhC,EAAI,CAACA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,GAAGqC,EAAO,EAAGC,EAAK,EAAGE,EAAK,MAAM,CAAG,EACnH,OAAAH,EAAO,EAIA,CAAE,GAAIJ,EAAM,IADN1B,GAAe,CAAE,IAAML,EAAIM,EAAKD,EAAGP,CAAC,EAAQE,IAAW+C,EAAK,QAAQ,CAACC,EAAGpC,IAAMoC,EAAE,IAAIhD,EAAEY,CAAC,CAAC,CAAC,EAAGd,EAAIiD,EAAK,IAAKC,GAAMA,EAAE,IAAI,CAAC,EAAGlB,EAAShC,EAAE,MAAOI,GAAMA,IAAMJ,EAAE,CAAC,CAAC,EAAGqC,EAAO,EAAG,EAC9J,IAAKmB,EAAO,MAAOrB,EAAI,KAAM,CACvD,CAEAsB,EAAgB,QAASpC,CAAW",
5
+ "names": ["ICON_SPLIT", "icon", "ICON_CORNER", "ICON_EDGE", "LEN_RE", "num", "v", "expand", "n", "lengths", "s", "m", "t", "x", "read", "cur", "o", "out", "any", "k", "i", "saidUnit", "name", "sides", "said", "_", "u", "createSides", "meta", "onChange", "corners", "names", "init", "unit", "spec", "decimalStep", "fmt", "stepPrecision", "linked", "root", "el", "all", "numField", "update", "emit", "split", "link", "btn", "toggle", "multi", "head", "sum", "nums", "txt", "fields", "flds", "f", "lab", "css", "r", "b", "l", "value", "registerControl"]
6
+ }
@@ -0,0 +1,2 @@
1
+ import{b as Q,c as Z,g as $,i as ee,n as S,p as ne,q as se,t as te,x as ie}from"./chunk-XE6OUJBG.js";import{A as ae,X as re,da as ue,g as I,v as w,x as U,z as oe}from"./chunk-6UO4DHBN.js";function ge(a,ce){let T=(e,n,s)=>Number.isFinite(+e)?Math.max(n,+e):s,x=e=>({stiffness:T(e.stiffness,1,300),damping:T(e.damping,.5,26),mass:T(e.mass,.1,1)}),o=e=>Number.isFinite(+e),[X,j]=ne,G=!1,k=e=>{let n=o(e)?+e:.5,s=I(n,X,j);return s!==n&&!G&&(G=!0,ie("springDur",[a.key,n,s])),s},R=e=>I(o(e)?+e:.2,-1,1),V=e=>+e.toPrecision(10),le=e=>{let n=se(e.visualDuration,e.bounce);return{stiffness:V(n.stiffness),damping:V(n.damping),mass:n.mass}},F=e=>e==="time"||e==="physics"?e:null,m={stiffness:a.stiffness,damping:a.damping,mass:a.mass,visualDuration:a.visualDuration,bounce:a.bounce,...a.value||{}},r=F(m.mode)??F(a.mode)??(o(m.visualDuration)||o(m.bounce)?"time":"physics"),i={visualDuration:k(m.visualDuration),bounce:R(m.bounce)},u=x({stiffness:m.stiffness,damping:m.damping,mass:m.mass}),y=w("div","tw-spring"),d=w("div","tw-spring-viz"),f=document.createElement("canvas");f.className="tw-spring-canvas",d.append(f);let _=w("div","tw-fields"),C=w("div","tw-fields"),t=f.getContext("2d"),N=()=>r==="time"?le(i):x(u),c=()=>{let e=Math.max(1,d.clientWidth),n=Math.max(1,d.clientHeight);if(e<2)return;let s=window.devicePixelRatio||1;f.width=e*s,f.height=n*s,t.setTransform(s,0,0,s,0,0),t.clearRect(0,0,e,n);let p=N(),E=te(p.stiffness,p.damping,p.mass,Math.max(160,Math.round(e*s))),fe=Math.max(1.05,...E),h=8,q=b=>h+b/(E.length-1)*(e-2*h),P=b=>n-h-b/fe*(n-2*h);t.strokeStyle=Q(y,"--tw-surface-active")||"rgba(255,255,255,0.1)",t.lineWidth=1,t.beginPath(),t.moveTo(h,P(1)),t.lineTo(e-h,P(1)),t.stroke(),t.strokeStyle=Z(y),t.lineWidth=1.5,t.lineJoin=t.lineCap="round",t.beginPath(),E.forEach((b,O)=>O?t.lineTo(q(O),P(b)):t.moveTo(q(O),P(b))),t.stroke()},z=()=>r==="time"?{...N(),visualDuration:i.visualDuration,bounce:i.bounce}:N(),v=()=>ce(z()),l={};[["stiffness","Stiffness",1],["damping","Damping",.5],["mass","Mass",.1]].forEach(([e,n,s])=>{l[e]=S({label:n,value:u[e],step:s,min:s},p=>{u[e]=p,c(),v()}),_.append(l[e].el)});let D=S({label:"Duration",value:i.visualDuration*1e3,step:10,min:X*1e3,max:j*1e3,unit:"ms"},e=>{i.visualDuration=k(e/1e3),c(),v()}),M=S({label:"Bounce",value:i.bounce*100,step:5,min:-100,max:100,unit:"%"},e=>{i.bounce=R(e/100),c(),v()});C.append(D.el,M.el);let A=()=>{C.style.display=r==="time"?"":"none",_.style.display=r==="physics"?"":"none"},L=re([{value:"time",label:"Time"},{value:"physics",label:"Physics"}],r,e=>{e!=="time"&&e!=="physics"||e===r||(r=e,A(),c(),v())},"Spring mode"),W=w("div","tw-row");W.append(U("span","tw-row-label","Mode"),L.el),a.label&&y.append(U("div","tw-spring-label",a.label)),y.append(d,W,_,C);let B=1,me=500,K=1,de=40,H=.1,pe=1,J=e=>{let[n,s]=ee(e,d);r==="time"?(D.set((H+n*(pe-H))*1e3),i.visualDuration=D.get()/1e3,M.set((1-2*s)*100),i.bounce=M.get()/100):(l.stiffness.set(B+n*(me-B)),u.stiffness=l.stiffness.get(),l.damping.set(K+s*(de-K)),u.damping=l.damping.get()),c(),v()};$(d,{onDown:e=>{e.preventDefault(),d.classList.add("is-dragging"),J(e)},onMove:J,onEnd:()=>d.classList.remove("is-dragging")}),A(),oe(c),ae(f,[[window,"resize"],[window,"tw-reflow"],[matchMedia("(prefers-color-scheme: dark)"),"change"],[window,"tw-retheme"]],c);let g=null,Y=!1;return typeof MutationObserver=="function"&&(g=new MutationObserver(()=>{f.isConnected?(Y=!0,c()):Y&&(g.disconnect(),g=null)}),g.observe(document.documentElement,{subtree:!0,attributes:!0,attributeFilter:["data-tw-scheme"]})),{el:y,destroy:()=>{g&&(g.disconnect(),g=null)},set:e=>{if(!e||typeof e!="object")return;let n=F(e.mode),s=o(e.visualDuration)||o(e.bounce),p=o(e.stiffness)||o(e.damping)||o(e.mass);!s&&!p&&!n||(r=n??(s?"time":"physics"),s&&(o(e.visualDuration)&&(i.visualDuration=k(e.visualDuration)),o(e.bounce)&&(i.bounce=R(e.bounce))),p&&(u=x({...u,...e})),L.set(r),D.set(i.visualDuration*1e3),M.set(i.bounce*100),l.stiffness.set(u.stiffness),l.damping.set(u.damping),l.mass.set(u.mass),A(),c())},get:()=>z()}}ue("spring",ge);
2
+ //# sourceMappingURL=spring-HUVSXNVN.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tweaks/controls/spring.ts"],
4
+ "mappings": "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",
5
+ "names": ["createSpring", "meta", "onChange", "cl", "v", "lo", "def", "clampS", "o", "has", "x", "DUR_MIN", "DUR_MAX", "SPRING_DUR", "said", "clampDur", "c", "clamp", "notice", "clampBounce", "sig", "timeToPhysics", "t", "p", "springFromTime", "explicit", "m", "init", "mode", "time", "phys", "root", "el", "viz", "canvas", "physFields", "timeFields", "ctx", "resolved", "draw", "w", "h", "dpr", "s", "pts", "springCurve", "peak", "pad", "X", "i", "Y", "cssVar", "accentColor", "resolvedValue", "emit", "flds", "key", "lab", "step", "numField", "durFld", "bounceFld", "showMode", "modeToggle", "createSegmented", "modeRow", "txt", "ST_MIN", "ST_MAX", "DA_MIN", "DA_MAX", "DRAG_DUR_MIN", "DRAG_DUR_MAX", "fromPointer", "px", "py", "boxFrac", "dragGesture", "onReady", "onLive", "schemeObs", "wasMounted", "ex", "hasTime", "hasPhys", "registerControl"]
6
+ }
@@ -0,0 +1,2 @@
1
+ import{B as g,O as w,W as E,da as $,v as s,x as m,z as f}from"./chunk-6UO4DHBN.js";var y=0;function A(x){let o=`tw-tabs-${++y}`,c=s("div","tw-tabs"),r=s("div","tw-tabs-bar");r.setAttribute("role","tablist");let l=s("div","tw-tabs-pill");r.append(l);let u=s("div","tw-tabs-pages"),b=[],i=x.pages.map((e,a)=>{let t=m("button","tw-tabs-tab",e.title);t.setAttribute("role","tab"),t.id=`${o}-tab-${a}`,t.setAttribute("aria-controls",`${o}-page-${a}`);let n=s("div","tw-tabs-page tw-controls");return n.setAttribute("role","tabpanel"),n.id=`${o}-page-${a}`,n.setAttribute("aria-labelledby",t.id),b.push(n),u.append(n),t.addEventListener("click",()=>d(a)),r.append(t),t});c.append(r,u);let p=e=>w(r,l,e),v=e=>{i.forEach((a,t)=>{a.dataset.active=String(t===e),a.setAttribute("aria-selected",String(t===e)),a.tabIndex=t===e?0:-1}),b.forEach((a,t)=>a.dataset.active=String(t===e))};v(0);function d(e){v(e),p(!0),g()}return r.addEventListener("keydown",e=>{let a=i.findIndex(n=>n.dataset.active==="true");if(a<0)return;let t=E(e.key,a,i.length,-1);t<0||(e.preventDefault(),d(t),i[t].focus())}),f(p),{el:c,bodies:b,activate:d,active:()=>i.findIndex(e=>e.dataset.active==="true")}}$("tabs",A);
2
+ //# sourceMappingURL=tabs-76FW7LQ7.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tweaks/controls/tabs.ts"],
4
+ "mappings": "mFAOA,IAAIA,EAAU,EACd,SAASC,EAAWC,EAAyB,CAC3C,IAAMC,EAAM,WAAW,EAAEH,CAAO,GAC1BI,EAAOC,EAAG,MAAO,SAAS,EAC1BC,EAAMD,EAAG,MAAO,aAAa,EAAGC,EAAI,aAAa,OAAQ,SAAS,EACxE,IAAMC,EAAOF,EAAG,MAAO,cAAc,EAAGC,EAAI,OAAOC,CAAI,EACvD,IAAMC,EAAYH,EAAG,MAAO,eAAe,EACrCI,EAA2B,CAAC,EAC5BC,EAAOR,EAAK,MAAM,IAAI,CAACS,EAAMC,IAAM,CACvC,IAAMC,EAAMC,EAAI,SAAU,cAAeH,EAAK,KAAK,EAAGE,EAAI,aAAa,OAAQ,KAAK,EACpFA,EAAI,GAAK,GAAGV,CAAG,QAAQS,CAAC,GAAIC,EAAI,aAAa,gBAAiB,GAAGV,CAAG,SAASS,CAAC,EAAE,EAChF,IAAMG,EAAOV,EAAG,MAAO,0BAA0B,EACjD,OAAAU,EAAK,aAAa,OAAQ,UAAU,EAAGA,EAAK,GAAK,GAAGZ,CAAG,SAASS,CAAC,GAAIG,EAAK,aAAa,kBAAmBF,EAAI,EAAE,EAChHJ,EAAO,KAAKM,CAAI,EAAGP,EAAU,OAAOO,CAAI,EACxCF,EAAI,iBAAiB,QAAS,IAAMG,EAASJ,CAAC,CAAC,EAC/CN,EAAI,OAAOO,CAAG,EAAUA,CAC1B,CAAC,EACDT,EAAK,OAAOE,EAAKE,CAAS,EAC1B,IAAMS,EAAWC,GAAsBC,EAAYb,EAAKC,EAAMW,CAAO,EAE/DE,EAAQR,GAAc,CAC1BF,EAAK,QAAQ,CAACW,EAAGC,IAAM,CAAED,EAAE,QAAQ,OAAS,OAAOC,IAAMV,CAAC,EAAGS,EAAE,aAAa,gBAAiB,OAAOC,IAAMV,CAAC,CAAC,EAAGS,EAAE,SAAWC,IAAMV,EAAI,EAAI,EAAI,CAAC,EAC/IH,EAAO,QAAQ,CAACY,EAAGC,IAAOD,EAAE,QAAQ,OAAS,OAAOC,IAAMV,CAAC,CAAE,CAC/D,EACAQ,EAAK,CAAC,EACN,SAASJ,EAASJ,EAAW,CAC3BQ,EAAKR,CAAC,EAAGK,EAAQ,EAAI,EACrBM,EAAc,CAChB,CACA,OAAAjB,EAAI,iBAAiB,UAAY,GAAM,CACrC,IAAMM,EAAIF,EAAK,UAAWW,GAAMA,EAAE,QAAQ,SAAW,MAAM,EAAG,GAAIT,EAAI,EAAG,OACzE,IAAMY,EAAIC,EAAS,EAAE,IAAKb,EAAGF,EAAK,OAAQ,EAAE,EAAOc,EAAI,IACvD,EAAE,eAAe,EAAGR,EAASQ,CAAC,EAAGd,EAAKc,CAAC,EAAE,MAAM,EACjD,CAAC,EACDE,EAAQT,CAAO,EACR,CAAE,GAAIb,EAAM,OAAAK,EAAQ,SAAAO,EAAU,OAAQ,IAAMN,EAAK,UAAWiB,GAAMA,EAAE,QAAQ,SAAW,MAAM,CAAE,CACxG,CAEAC,EAAgB,OAAQ3B,CAAU",
5
+ "names": ["tabsSeq", "createTabs", "meta", "uid", "root", "el", "bar", "pill", "pagesWrap", "bodies", "tabs", "page", "i", "tab", "txt", "body", "activate", "measure", "animate", "measurePill", "mark", "b", "k", "requestReflow", "j", "navIndex", "onReady", "t", "registerControl"]
6
+ }
package/dist/tweaks.css CHANGED
@@ -1 +1 @@
1
- .tw-panel,.tw-portal{--tw-surface: rgba(255, 255, 255, .04);--tw-surface-hover: rgba(255, 255, 255, .075);--tw-surface-active: rgba(255, 255, 255, .13);--tw-text-root: #fafafa;--tw-text-section: rgba(255, 255, 255, .64);--tw-text-label: rgba(255, 255, 255, .64);--tw-text-focus: #ffffff;--tw-text-primary: rgba(255, 255, 255, .92);--tw-text-secondary: rgba(255, 255, 255, .56);--tw-text-tertiary: rgba(255, 255, 255, .5);--tw-on-accent: var(--tw-text-primary);--tw-border: rgba(255, 255, 255, .045);--tw-border-hover: rgba(255, 255, 255, .11);--tw-selection: rgba(255, 255, 255, .22);--tw-base: #242424;--tw-checker: repeating-conic-gradient(#6b6b6b 0% 25%, #9a9a9a 0% 50%) 0 0 / 8px 8px;--tw-dropdown-bg: #292929;--tw-radius: 8px;--tw-row-height: 32px;--tw-width: 256px;--tw-shadow-dropdown: 0 12px 32px -8px rgba(0, 0, 0, .6);--tw-shadow-panel: 0 0 0 1px rgba(255, 255, 255, .06), 0 8px 28px -8px rgba(0, 0, 0, .5), 0 18px 48px -16px rgba(0, 0, 0, .38);--tw-shadow-panel-lifted: 0 0 0 1px rgba(255, 255, 255, .08), 0 12px 32px -8px rgba(0, 0, 0, .55), 0 28px 64px -16px rgba(0, 0, 0, .45);--tw-success: #86efac;--tw-danger: #ff5f5f;--tw-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--tw-font-mono: ui-monospace, "SF Mono", Menlo, monospace;--tw-ease-out: cubic-bezier(.25, 1, .5, 1);--tw-ease-spring: cubic-bezier(.22, 1, .36, 1);--tw-ease-pop: cubic-bezier(.34, 1.56, .64, 1);--tw-ease-inout: cubic-bezier(.4, 0, .2, 1);--tw-ease-fold: linear(0, .077, .237, .411, .57, .699, .797, .869, .918, .952, .973, .986, .994, .998, 1);--tw-press-icon: .88;--tw-press-chip: .95;--tw-press-row: .985;font-family:var(--tw-font-sans);line-height:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;color-scheme:dark;box-sizing:border-box}.tw-panel{width:var(--tw-width);background:var(--tw-base);box-shadow:var(--tw-shadow-panel);border-radius:calc(var(--tw-radius) + 10px);padding:10px}.tw-panel *,.tw-panel *:before,.tw-panel *:after{box-sizing:border-box}:is(.tw-panel,.tw-portal) ::selection{background:var(--tw-selection);color:var(--tw-text-focus)}.tw-panel[data-mode=floating]{position:fixed}.tw-panel:where([data-mode=floating]){left:var(--tw-float-x);top:var(--tw-float-y);max-height:var(--tw-float-max-h);z-index:99990;box-shadow:var(--tw-shadow-panel-lifted)}.tw-panel:where([data-mode=floating][data-corner$=right]){left:auto;right:var(--tw-float-x)}.tw-panel:where([data-mode=floating][data-corner^=bottom]){top:auto;bottom:var(--tw-float-y)}.tw-panel:where(.is-raised){z-index:99991}.tw-panel[data-draggable=true][data-mode=floating]{transition:box-shadow .25s var(--tw-ease-out)}@property --tw-float-gap{syntax: "<length>"; inherits: true; initial-value: -1px;}.tw-lift-slot{display:block;flex:none;pointer-events:none}.tw-panel[data-draggable=true]>.tw-header,.tw-panel[data-draggable=true]>.tw-header .tw-header-toggle{cursor:grab}.tw-panel[data-draggable=true]>.tw-header{touch-action:none;margin-top:-10px;padding-top:10px}.tw-panel.is-snapping{transition:left .32s var(--tw-ease-spring),top .32s var(--tw-ease-spring),right .32s var(--tw-ease-spring),bottom .32s var(--tw-ease-spring)}.tw-panel.is-dragging{-webkit-user-select:none;user-select:none;box-shadow:var(--tw-shadow-panel-lifted);z-index:99991}.tw-panel[data-mode=floating]{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.tw-panel[data-mode=floating]::-webkit-scrollbar{display:none}.tw-panel[data-mode=floating] .tw-slider{touch-action:pan-y}.tw-panel.is-dragging>.tw-header,.tw-panel.is-dragging>.tw-header .tw-header-toggle{cursor:grabbing}:is(.tw-color-pop,.tw-presets-menu){cursor:grab}:is(.tw-color-pop,.tw-presets-menu)>*{cursor:auto}:is(.tw-color-pop,.tw-presets-menu).is-moving,:is(.tw-color-pop,.tw-presets-menu).is-moving *{cursor:grabbing}.tw-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:9px;margin-bottom:8px;border-bottom:1px solid var(--tw-border)}.tw-title{font-size:14px;font-weight:500;color:var(--tw-text-root);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-header-toggle{display:flex;align-items:center;gap:6px;flex:1;min-width:0;background:none;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:left}.tw-chevron{width:15px;height:15px;flex-shrink:0;color:var(--tw-text-section);transition:transform .2s var(--tw-ease-out),color .15s}.tw-panel.is-collapsed .tw-chevron{transform:rotate(-90deg)}.tw-toolbar{display:flex;align-items:center;gap:4px}.tw-search{display:none;flex:1;min-width:0;height:24px;padding:0 8px;font:inherit;font-size:13px;font-weight:500;color:var(--tw-text-primary);background:var(--tw-surface);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);outline:none}.tw-search:focus{border-color:var(--tw-border-hover)}.tw-search::placeholder{color:var(--tw-text-tertiary)}.tw-panel.is-searching .tw-header-toggle{display:none}.tw-panel.is-searching .tw-search{display:block}.tw-filter-hidden{display:none!important}.tw-hint{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:4px;padding:0;vertical-align:-2px;flex:none;background:none;border:none;color:var(--tw-text-tertiary);cursor:help;pointer-events:auto;transition:color .15s,transform .18s var(--tw-ease-spring)}.tw-hint:focus-visible{color:var(--tw-text-secondary);transform:scale(1.2)}@media(hover:hover)and (pointer:fine){.tw-hint:hover{color:var(--tw-text-secondary);transform:scale(1.2)}}.tw-hint:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:1px;border-radius:999px}.tw-hint svg{width:13px;height:13px;display:block}.tw-tip{position:fixed;z-index:100000;max-width:220px;padding:8px 12px;font-size:12px;line-height:1.4;color:var(--tw-text-primary);background:var(--tw-dropdown-bg);border:1px solid var(--tw-border);border-radius:8px;box-shadow:var(--tw-shadow-dropdown);pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .12s,transform .12s}.tw-tip.is-open{opacity:1;transform:none}.tw-sr,.tw-image-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tw-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s var(--tw-ease-fold)}.tw-body>.tw-controls{overflow-x:visible;overflow-y:clip;min-height:0;min-width:0;padding-block:3px;margin-block:-3px}.tw-panel.is-collapsed .tw-body>.tw-controls{padding-block:0;margin-block:0}.tw-panel.is-collapsed .tw-body{grid-template-rows:0fr}.tw-header{transition:margin-bottom .35s var(--tw-ease-fold),padding-bottom .35s var(--tw-ease-fold),border-color .35s var(--tw-ease-fold)}.tw-panel.is-collapsed .tw-header{margin-bottom:0;padding-bottom:0;border-color:transparent}.tw-header:has(+.tw-body>.tw-controls>.tw-folder:first-child){margin-bottom:0}.tw-toolbar-btn{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;flex-shrink:0;background:var(--tw-surface);border:none;border-radius:calc(var(--tw-radius) - 2px);color:var(--tw-text-label);cursor:pointer;will-change:transform;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-toolbar-btn:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-toolbar-btn:disabled{cursor:default}.tw-toolbar-btn:after{content:"";position:absolute;inset:-2px}.tw-toolbar-btn:active{transform:scale(var(--tw-press-icon));transition:transform .08s ease-out}.tw-toolbar-btn svg{width:14px;height:14px;display:block}.tw-toolbar-btn__icons{position:relative;display:block;width:14px;height:14px}.tw-toolbar-btn__icons svg{position:absolute;inset:0;will-change:transform,filter;filter:blur(0);transition:opacity .25s var(--tw-ease-inout),transform .25s var(--tw-ease-inout),filter .25s var(--tw-ease-inout)}.tw-toolbar-btn__check{opacity:0;transform:scale(.25);filter:blur(2px);color:var(--tw-success)}.tw-toolbar-btn--swap.is-copied .tw-toolbar-btn__copy{opacity:0;transform:scale(.25);filter:blur(2px)}.tw-toolbar-btn--swap.is-copied .tw-toolbar-btn__check{opacity:1;transform:none;filter:blur(0)}.tw-toolbar-btn--reset svg{--tw-spin: 0deg;--tw-wind: 0deg;will-change:transform;transform:rotate(calc(var(--tw-spin) + var(--tw-wind)));transition:transform .34s cubic-bezier(.34,1.55,.5,1)}@media(hover:hover)and (pointer:fine){.tw-toolbar-btn--reset:not(:disabled):hover svg{--tw-wind: 22deg}}.tw-toolbar-btn--reset.is-spinning svg{transition-duration:.5s;transition-timing-function:var(--tw-ease-inout)}.tw-copy-back{transform:translate(calc(-1 * var(--tw-fan, 0px)),calc(-1 * var(--tw-fan, 0px)))}.tw-copy-front{transform:translate(var(--tw-fan, 0px),var(--tw-fan, 0px))}.tw-layer-top{transform:translateY(calc(-1 * var(--tw-lift, 0px)))}.tw-copy-back,.tw-copy-front,.tw-layer-top{transition:transform .3s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-toolbar-btn:not(:disabled):hover{--tw-fan: 1px;--tw-lift: 1.75px}}.tw-toolbar-btn[aria-expanded=true]{--tw-lift: 1.75px}.tw-trigger:focus-visible,.tw-select-trigger:focus-visible,.tw-button:focus-visible,.tw-seg-btn:focus-visible,.tw-header-toggle:focus-visible,.tw-folder-header:focus-visible,.tw-slider:focus-visible,.tw-pad:focus-visible,.tw-motion-stage:focus-visible,.tw-sides-link:focus-visible,.tw-radiogrid-btn:focus-visible,.tw-buttongroup-btn:focus-visible,.tw-tabs-tab:focus-visible,.tw-image-clear:focus-visible,.tw-text:focus-visible:not(.tw-focus-quiet),.tw-num:focus-visible:not(.tw-focus-quiet),.tw-color-chan-input:focus-visible:not(.tw-focus-quiet),.tw-search:focus-visible:not(.tw-focus-quiet),.tw-color-mode:focus-visible,.tw-presets-load:focus-visible,.tw-presets-savebtn:focus-visible,.tw-presets-del:focus-visible,.tw-presets-input:focus-visible:not(.tw-focus-quiet){outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-2px}.tw-toolbar-btn:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:1px}.tw-gradient-stop:focus-visible,.tw-gradient-add:focus-visible,.tw-bezier-handle:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:2px}.tw-controls{display:flex;flex-direction:column;gap:6px}.tw-controls>*{min-width:0}.tw-cond-hidden{display:none!important}.is-disabled{opacity:.4;cursor:not-allowed}.is-disabled *{pointer-events:none}.tw-resettable{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tw-resettable.tw-resettable{transition:color .15s,background-color .3s ease-out}.tw-resettable.tw-reset-holding{border-radius:calc(var(--tw-radius) - 4px);background-color:var(--tw-surface-active, rgba(128, 128, 128, .22));transition:color .15s,background-color .5s ease-out}.tw-slider-wrap{position:relative;height:var(--tw-row-height)}.tw-slider{position:absolute;inset:0;cursor:pointer;user-select:none;-webkit-user-select:none;overflow:hidden;background:var(--tw-surface);border-radius:var(--tw-radius);touch-action:none}.tw-slider-hashmarks{position:absolute;inset:0;pointer-events:none}.tw-slider-hashmark{position:absolute;top:50%;width:1px;height:8px;border-radius:999px;transform:translate(-50%) translateY(-50%);background:#fff0;transition:background .2s}.tw-slider.is-active .tw-slider-hashmark{background:var(--tw-border-hover)}.tw-slider.is-active .tw-slider-value{color:var(--tw-text-focus)}.tw-slider-fill{position:absolute;top:0;bottom:0;left:0;width:0;background:var(--tw-surface-active);transition:background .15s;pointer-events:none}.tw-slider.is-active .tw-slider-fill{background:var(--tw-accent, var(--tw-border-hover))}.tw-slider-handle{position:absolute;top:50%;left:0;width:3px;height:20px;border-radius:999px;background:var(--tw-text-primary);transform:translateY(-50%) scaleX(.25);opacity:0;pointer-events:none;transition:opacity .15s,transform .2s var(--tw-ease-spring)}.tw-slider.is-hover .tw-slider-handle,.tw-slider:focus-within .tw-slider-handle{opacity:.5;transform:translateY(-50%) scaleX(1)}@media(hover:hover)and (pointer:fine){.tw-slider:hover .tw-slider-handle{opacity:.5;transform:translateY(-50%) scaleX(1)}}.tw-slider.is-active .tw-slider-handle,.tw-slider.is-dragging .tw-slider-handle{opacity:.9;transform:translateY(-50%) scaleX(1)}.tw-slider-handle:focus-visible{opacity:.9;transform:translateY(-50%) scaleX(1);outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:2px}.tw-slider.is-active.is-dodge .tw-slider-handle,.tw-slider.is-dragging.is-dodge .tw-slider-handle,.tw-slider.is-hover.is-dodge .tw-slider-handle{opacity:.1;transform:translateY(-50%) scaleX(1) scaleY(.75)}@media(hover:hover)and (pointer:fine){.tw-slider:hover.is-dodge .tw-slider-handle{opacity:.1;transform:translateY(-50%) scaleX(1) scaleY(.75)}}.tw-interval.is-active .tw-slider-handle.is-dodge,.tw-interval.is-dragging .tw-slider-handle.is-dodge{opacity:.1;transform:translateY(-50%) scaleX(1) scaleY(.75)}.tw-slider-label{position:absolute;left:12px;top:50%;transform:translateY(-50%);max-width:calc(100% - 64px);font-size:12px;font-weight:500;color:var(--tw-text-label);transition:color .15s;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-interval .tw-slider-label{max-width:calc(100% - 112px)}.tw-slider-value{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:500;font-family:var(--tw-font-sans);color:var(--tw-text-label);pointer-events:auto;transition:color .15s}.tw-slider-value.is-editable{cursor:text;color:var(--tw-text-focus);text-decoration:underline;text-decoration-color:var(--tw-text-tertiary);text-underline-offset:3px}.tw-slider-input{position:absolute;right:10px;top:50%;transform:translateY(-50%);min-width:4ch;max-width:60%;font-size:12px;font-weight:500;font-family:var(--tw-font-sans);color:var(--tw-text-label);background:transparent;border:none;padding:0;outline:none;text-align:right}.tw-slider-input:focus{color:var(--tw-text-focus)}.tw-row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--tw-row-height);padding:2px 10px 2px 12px;background:var(--tw-surface);border-radius:var(--tw-radius)}.tw-row-label{font-size:12px;font-weight:500;line-height:17px;color:var(--tw-text-label);transition:color .15s;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover)and (pointer:fine){.tw-slider-wrap:not(.is-disabled):hover .tw-slider-label,:is(.tw-row,.tw-sides,.tw-radiogrid):not(.is-disabled):hover :is(.tw-row-label,.tw-radiogrid-label),:is(.tw-spring,.tw-bezier,.tw-plot):not(.is-disabled):hover :is(.tw-spring-label,.tw-bezier-label,.tw-plot-label){color:var(--tw-text-primary)}}.tw-slider-label:empty,.tw-row-label:empty,.tw-select-label:empty,.tw-radiogrid-label:empty,.tw-trigger-label:empty,.tw-fps-label:empty{display:none}.tw-row-label:empty+*,.tw-select-label:empty+*,.tw-trigger-label:empty+*{margin-left:auto}.tw-seg{position:relative;display:flex;gap:2px;padding:2px;border-radius:var(--tw-radius)}.tw-row .tw-seg{flex-shrink:0;margin-right:-8px}.tw-seg-pill{position:absolute;top:2px;bottom:2px;left:0;width:0;background:var(--tw-accent, var(--tw-surface-active));border-radius:calc(var(--tw-radius) - 2px);z-index:0;pointer-events:none}.tw-seg.is-ready .tw-seg-pill{transition:left .24s var(--tw-ease-out),width .24s var(--tw-ease-out)}.tw-seg-btn{position:relative;z-index:1;flex:0 0 auto;min-width:40px;padding:6px 8px;text-align:center;font:inherit;font-size:12px;font-weight:500;background:transparent;border:none;cursor:pointer;color:var(--tw-text-label);transition:color .15s,transform .24s var(--tw-ease-pop)}.tw-seg-btn[data-active=true]{color:var(--tw-on-accent)}@media(hover:hover)and (pointer:fine){.tw-seg-btn:not([data-active=true]):hover,.tw-tabs-tab:not([data-active=true]):hover{color:var(--tw-text-primary)}}.tw-seg-btn:active{transform:scale(var(--tw-press-chip));transition:transform .08s ease-out}.tw-row .tw-seg .tw-seg-btn{min-width:0;padding:5px}.tw-radiogrid{display:flex;align-items:flex-start;gap:10px;min-height:var(--tw-row-height);padding:4px 4px 4px 12px;background:var(--tw-surface);border-radius:var(--tw-radius)}.tw-radiogrid-label{flex:1 1 5ch;min-width:5ch;line-height:24px;font-size:12px;font-weight:500;color:var(--tw-text-label);transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-radiogrid-grid{flex:0 1 auto;min-width:0;margin-left:auto;display:grid;grid-template-columns:repeat(var(--tw-rg-cols, 3),minmax(0,auto));gap:4px}.tw-radiogrid.is-grid .tw-radiogrid-label{flex:0 1 auto;min-width:0}.tw-radiogrid.is-grid .tw-radiogrid-grid{flex:1 1 0;max-width:max-content;grid-template-columns:repeat(var(--tw-rg-cols, 3),minmax(0,1fr))}.tw-radiogrid-btn{font:inherit;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;min-width:24px;padding:5px;text-align:center;color:var(--tw-text-label);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover)and (pointer:fine){.tw-radiogrid-btn:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-radiogrid-btn:active{transform:scale(var(--tw-press-chip));transition:background .15s,color .15s,transform .08s ease-out}.tw-radiogrid-btn[data-active=true]{background:var(--tw-accent, var(--tw-surface-active));color:var(--tw-on-accent)}.tw-button{display:flex;align-items:center;justify-content:center;width:100%;height:var(--tw-row-height);padding:0 16px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-secondary);background:var(--tw-surface);border:none;border-radius:var(--tw-radius);cursor:pointer;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-button:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-button:active{background:var(--tw-surface-active);transform:scale(var(--tw-press-row));transition:background .15s,color .15s,transform .08s ease-out}.tw-buttongroup{height:auto;min-height:var(--tw-row-height);padding-top:4px;padding-bottom:4px}.tw-buttongroup-btns{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0;margin-right:-6px}.tw-buttongroup:not(:has(>.tw-row-label)){padding-left:4px}.tw-buttongroup-btn{flex:1 1 0;min-width:min-content;padding:5px 8px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:var(--tw-surface-active);border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-buttongroup-btn:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-buttongroup-btn:active{transform:scale(var(--tw-press-chip));transition:background .15s,color .15s,transform .08s ease-out}.tw-separator{height:1px;margin:3px 2px;background:var(--tw-border)}.tw-tabs{display:flex;flex-direction:column;gap:8px}.tw-tabs-bar{position:relative;display:flex;gap:4px;padding:4px;min-width:0;background:var(--tw-surface);border-radius:var(--tw-radius)}.tw-tabs-pill{position:absolute;top:4px;bottom:4px;left:0;width:0;background:var(--tw-surface-active);border-radius:calc(var(--tw-radius) - 2px);z-index:0;transition:left .24s var(--tw-ease-out),width .24s var(--tw-ease-out)}.tw-tabs-tab{position:relative;z-index:1;flex:1;min-width:0;padding:5px 8px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s,transform .24s var(--tw-ease-pop)}.tw-tabs-tab[data-active=true]{color:var(--tw-text-primary)}.tw-tabs-tab:active{transform:scale(var(--tw-press-chip));transition:color .15s,transform .08s ease-out}.tw-tabs-page{display:none;flex-direction:column;gap:6px}.tw-tabs-page[data-active=true]{display:flex;animation:tw-page-in .3s var(--tw-ease-out)}@keyframes tw-page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.tw-select{position:relative}.tw-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:var(--tw-row-height);padding:0 10px 0 12px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:var(--tw-surface);border:none;border-radius:var(--tw-radius);cursor:pointer;transition:background .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-select-trigger:hover{background:var(--tw-surface-hover)}.tw-select-trigger:hover .tw-select-label,.tw-select-trigger:hover .tw-select-chevron{color:var(--tw-text-primary)}}.tw-select-trigger:active{transform:scale(var(--tw-press-row));transition:background .15s,transform .08s ease-out}.tw-select.is-open .tw-select-trigger{background:var(--tw-surface-active)}.tw-select-label{transition:color .15s;font-weight:500;flex:1 1 0;min-width:5ch;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-select-right{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;max-width:calc(100% - 5ch - 10px)}.tw-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-select-chevron{width:15px;height:15px;flex-shrink:0;color:var(--tw-text-section);opacity:.6;margin-right:-3.75px;transition:transform .2s var(--tw-ease-out),color .15s}.tw-select.is-open .tw-select-chevron{transform:rotate(180deg)}.tw-select-dropdown{position:fixed;z-index:99999;padding:4px;border-radius:calc(var(--tw-radius) + 2px);background:var(--tw-dropdown-bg);border:1px solid var(--tw-border);box-shadow:var(--tw-shadow-dropdown);max-height:60vh;overflow-y:auto;transform-origin:top;opacity:0;transform:translateY(-6px) scale(var(--tw-pop-s));pointer-events:none;transition:opacity .16s var(--tw-ease-out),transform .22s var(--tw-ease-spring)}:is(.tw-select-dropdown,.tw-color-pop){max-width:calc(100vw - 16px)}:is(.tw-select-dropdown,.tw-color-pop)[data-side=above]{transform-origin:bottom;transform:translateY(6px) scale(var(--tw-pop-s))}.tw-select-dropdown.is-open{opacity:1;transform:none;pointer-events:auto}.tw-select-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;text-align:left;transition:background .15s,color .15s}@media(hover:hover)and (pointer:fine){.tw-select-option:hover{background:var(--tw-surface-hover)}}.tw-select-option:focus-visible{background:var(--tw-surface-hover);color:var(--tw-text-primary);outline:none}.tw-select-option[data-selected=true]{color:var(--tw-on-accent);background:var(--tw-accent, var(--tw-surface-active))}.tw-option-swatch{flex-shrink:0;width:12px;height:12px;border-radius:4px;box-shadow:inset 0 0 0 1px var(--tw-border-hover)}.tw-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-panel:not([data-mode=floating]):has(.is-picked){overflow:clip}.tw-panel .is-picked{position:relative;isolation:isolate}.tw-panel .is-picked:before{content:"";position:absolute;inset:-3px -100vmax;z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--tw-accent, var(--tw-text-focus)) 5%,transparent)}.tw-panel .tw-folder.is-picked:before{inset-block:0}.tw-panel .is-picked:before{transition:background .35s var(--tw-ease-out)}.tw-panel .is-picked.is-pasted:before{background:color-mix(in srgb,var(--tw-accent, var(--tw-text-focus)) 20%,transparent);transition-duration:.08s}.tw-panel .is-picked.is-refused:before{background:color-mix(in srgb,var(--tw-danger) 18%,transparent);transition-duration:.08s}.tw-presets-menu{position:fixed;z-index:99999;width:208px;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--tw-dropdown-bg);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) + 4px);box-shadow:var(--tw-shadow-dropdown);transform-origin:top right;opacity:0;transform:translateY(-6px) scale(var(--tw-pop-s));pointer-events:none;transition:opacity .16s var(--tw-ease-out),transform .24s var(--tw-ease-spring)}.tw-presets-menu[data-side=above]{transform-origin:bottom right;transform:translateY(6px) scale(var(--tw-pop-s))}.tw-presets-menu.is-open{opacity:1;transform:none;pointer-events:auto}.tw-presets-save{display:flex;gap:6px}.tw-presets-input{flex:1;min-width:0;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-primary);background:var(--tw-surface);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);padding:6px 8px;outline:none}.tw-presets-input:focus{border-color:var(--tw-border-hover)}.tw-presets-input::placeholder{color:var(--tw-text-tertiary)}.tw-presets-savebtn{flex-shrink:0;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-primary);background:var(--tw-surface);border:none;border-radius:calc(var(--tw-radius) - 2px);padding:6px 10px;cursor:pointer;transition:background .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-presets-savebtn:hover{background:var(--tw-surface-hover)}}.tw-presets-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.tw-presets-empty{padding:8px;font-size:12px;font-weight:500;color:var(--tw-text-tertiary);text-align:center}.tw-presets-row{display:flex;align-items:center;gap:2px}.tw-presets-load{flex:1;min-width:0;text-align:left;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);padding:6px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s,color .15s}@media(hover:hover)and (pointer:fine){.tw-presets-load:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-presets-del{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--tw-text-tertiary);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-presets-del:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-presets-del:active{transform:scale(var(--tw-press-icon));transition:background .15s,color .15s,transform .08s ease-out}.tw-presets-savebtn:active{transform:scale(var(--tw-press-chip));transition:background .15s,transform .08s ease-out}.tw-presets-del svg{width:12px;height:12px;display:block}.tw-image-clear{flex-shrink:0;height:24px;padding:0 6px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-tertiary);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-image-clear:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-image-clear:active{transform:scale(var(--tw-press-chip));transition:background .15s,color .15s,transform .08s ease-out}.tw-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:var(--tw-row-height);padding:0 10px 0 12px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);cursor:pointer;background:var(--tw-surface);border:none;border-radius:var(--tw-radius);transition:background .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-trigger:hover{background:var(--tw-surface-hover)}.tw-trigger:hover .tw-trigger-label{color:var(--tw-text-primary)}}.tw-trigger:active{transform:scale(var(--tw-press-row));transition:background .15s,transform .08s ease-out}.is-open>.tw-trigger{background:var(--tw-surface-active)}.tw-trigger-label{transition:color .15s;flex:1 1 0;min-width:5ch;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-trigger-right{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;max-width:calc(100% - 5ch - 10px)}.tw-trigger-value{font-family:var(--tw-font-sans);word-spacing:.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:20ch}.tw-trigger-chip{height:18px;flex-shrink:0;border-radius:calc(var(--tw-radius) - 4px);box-shadow:inset 0 0 0 1px var(--tw-border-hover);transition:transform .2s var(--tw-ease-spring)}.is-open>.tw-trigger .tw-trigger-chip{transform:scale(1.07)}.tw-color{position:relative}.tw-color-swatch{width:18px}.tw-portal *,.tw-portal *:before,.tw-portal *:after{box-sizing:border-box}.tw-portal{--tw-pop-s: max(.96, calc(1 - 5 / var(--tw-pop-h, 125)))}.tw-color-pop{position:fixed;z-index:99999;min-width:236px;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--tw-dropdown-bg);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) + 10px);box-shadow:var(--tw-shadow-dropdown);max-height:calc(100dvh - 16px);overflow-y:auto;overflow-x:clip;opacity:0;transform:translateY(-6px) scale(var(--tw-pop-s));transform-origin:top;pointer-events:none;transition:opacity .16s var(--tw-ease-out),transform .24s var(--tw-ease-spring)}.tw-color-pop.is-open{opacity:1;transform:none;pointer-events:auto}.tw-color-body{display:flex;flex-direction:column;gap:8px;min-width:0}.tw-color-mode-row{display:flex;align-items:center;gap:8px}.tw-color-mode{appearance:none;-webkit-appearance:none;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-primary);background-color:var(--tw-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6.25px center;border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);padding:4px 26px 4px 10px;cursor:pointer;outline:none}@media(hover:hover)and (pointer:fine){.tw-color-mode:hover{background-color:var(--tw-surface-hover)}}.tw-color-mode:focus-visible{border-color:var(--tw-border-hover)}.tw-color-gamut{margin-left:auto;font-family:var(--tw-font-sans);font-size:12px;font-weight:500;color:var(--tw-text-tertiary)}.tw-color-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tw-color-channels--hex{grid-template-columns:1fr}.tw-color-chan{display:flex;flex-direction:column;gap:3px;min-width:0}.tw-color-chan-label{font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--tw-text-tertiary);text-transform:uppercase}.tw-color-chan-input{width:100%;min-width:0;font:inherit;font-size:12px;font-weight:500;font-family:var(--tw-font-sans);color:var(--tw-text-label);background:var(--tw-surface);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);padding:5px 6px;outline:none;text-transform:uppercase}.tw-color-chan-input:focus{color:var(--tw-text-focus);border-color:var(--tw-border-hover)}.tw-wg-area{position:relative;width:100%;height:140px;border-radius:var(--tw-radius);cursor:crosshair;touch-action:none;box-shadow:inset 0 0 0 1px var(--tw-border)}.tw-wg-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit}.tw-wg-thumb{position:absolute;width:14px;height:14px;border-radius:999px;border:2px solid #fff;box-shadow:0 0 0 1px #00000073;transform:translate(-50%,-50%);pointer-events:none;transition:transform .18s var(--tw-ease-spring),box-shadow .18s}.tw-wg-area.is-grabbing .tw-wg-thumb{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 1px #00000073,0 2px 8px #00000073}.tw-wg-hue,.tw-wg-alpha{position:relative;width:100%;height:14px;border-radius:999px;cursor:ew-resize;touch-action:none;box-shadow:inset 0 0 0 1px var(--tw-border)}.tw-wg-alpha{background:var(--tw-checker)}.tw-wg-hue-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit}.tw-wg-hue-thumb{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000073,0 1px 3px #0006;transform:translate(-50%,-50%);pointer-events:none;transition:transform .18s var(--tw-ease-spring),box-shadow .18s}.tw-wg-hue.is-grabbing .tw-wg-hue-thumb,.tw-wg-alpha.is-grabbing .tw-wg-hue-thumb{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 1px #00000073,0 2px 8px #00000073}.tw-wg-alpha-grad{position:absolute;inset:0;border-radius:inherit}.tw-gradient{position:relative}.tw-gradient-preview{width:72px;background:var(--tw-checker)}.tw-gradient-pop .tw-color-mode-row{gap:4px}.tw-gradient-pop .tw-color-mode{padding-left:6px;padding-right:20px}.tw-gradient-bar-row{display:flex;align-items:stretch;gap:6px}.tw-gradient-bar-row>.tw-gradient-bar{flex:1;min-width:0}.tw-gradient-bar{position:relative;width:100%;height:28px;border-radius:var(--tw-radius);box-shadow:inset 0 0 0 1px var(--tw-border);background:var(--tw-checker)}.tw-gradient-grad{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.tw-gradient-rail{position:absolute;left:0;right:0;bottom:-5px;height:14px;pointer-events:none}.tw-gradient-stop{position:absolute;top:0;width:13px;height:13px;padding:0;transform:translate(-50%);border-radius:calc(var(--tw-radius) - 4px);background:var(--stop);border:2px solid var(--tw-dropdown-bg);box-shadow:0 0 0 1px var(--tw-border-hover),0 1px 3px #0006;cursor:ew-resize;touch-action:none;pointer-events:auto;transition:opacity .12s ease,transform .16s var(--tw-ease-spring),box-shadow .16s}.tw-gradient-stop[data-sel=true]{box-shadow:0 0 0 2px var(--tw-accent, var(--tw-text-focus)),0 1px 3px #0006;z-index:1}.tw-gradient-stop:before,.tw-bezier-handle:before{content:"";position:absolute;inset:-4px;border-radius:inherit}@media(hover:hover)and (pointer:fine){.tw-gradient-stop:hover{transform:translate(-50%) scale(1.2)}}.tw-gradient-stop[data-removing=true]{opacity:.3;transform:translate(-50%) scale(.7)}.tw-gradient-add{display:flex;align-items:center;justify-content:center;flex:none;width:28px;padding:0;border:none;border-radius:var(--tw-radius);background:var(--tw-surface);color:var(--tw-text-primary);cursor:pointer;will-change:transform;transition:background .15s,transform .24s var(--tw-ease-pop)}.tw-gradient-add:active{transform:scale(var(--tw-press-icon));transition:background .15s,transform .08s ease-out}.tw-gradient-add svg{width:16px;height:16px;display:block;will-change:transform;transition:transform .2s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-gradient-add:hover{background:var(--tw-surface-hover)}.tw-gradient-add:hover svg{transform:scale(1.2)}}.tw-text,.tw-num{flex:1;min-width:0;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:transparent;border:none;outline:none;text-align:right;cursor:text;padding:0;border-radius:calc(var(--tw-radius) - 4px)}.tw-num{font-family:var(--tw-font-sans)}.tw-text:focus,.tw-num:focus{color:var(--tw-text-focus)}.tw-text::placeholder{color:var(--tw-text-tertiary)}.tw-row-multiline{position:relative;flex-direction:column;align-items:stretch;height:auto;gap:4px;padding:7.5px 10px 10px 12px}.tw-textarea{flex:none;width:100%;resize:vertical;min-height:3em;padding:0;line-height:1.45;text-align:left;font-family:var(--tw-font-sans)}.tw-textarea::-webkit-resizer{background:transparent}.tw-textarea:is(.is-clip-top,.is-clip-bottom){--tw-clip-top: 0px;--tw-clip-bottom: 0px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--tw-clip-top),#000 calc(100% - var(--tw-clip-bottom)),transparent);mask-image:linear-gradient(to bottom,transparent,#000 var(--tw-clip-top),#000 calc(100% - var(--tw-clip-bottom)),transparent)}.tw-textarea.is-clip-top{--tw-clip-top: 14px}.tw-textarea.is-clip-bottom{--tw-clip-bottom: 14px}.tw-row-multiline:after{content:"";position:absolute;right:8px;bottom:8px;width:11px;height:11px;pointer-events:none;background-color:var(--tw-text-tertiary);--tw-grip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M11 3 3 11M11 7 7 11' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask:var(--tw-grip) right bottom / contain no-repeat;mask:var(--tw-grip) right bottom / contain no-repeat}.tw-image{position:relative}.tw-image-input{display:none}.tw-image-text,.tw-image-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-image-note:empty{display:none}.tw-image-note:not(:empty)+:is(.tw-image-text,.tw-trigger-value){display:none}.tw-image-thumb{width:24px;background:var(--tw-base) center / cover no-repeat}.tw-image-thumb[data-set=false]{background:var(--tw-checker)}.tw-image .tw-trigger[data-over=true],.tw-image-gallery[data-over=true] .tw-image-upload{background:var(--tw-surface-hover);outline:1.5px dashed var(--tw-border-hover);outline-offset:-2px}.tw-image .tw-trigger[data-over=true] .tw-image-thumb{transform:scale(1.14)}.tw-image-gallery{display:flex;flex-direction:column;gap:6px}.tw-image-foot{display:grid;grid-template-rows:1fr;pointer-events:none;transition:grid-template-rows .35s var(--tw-ease-fold),margin-top .35s var(--tw-ease-fold)}.tw-image-foot[data-open=false]{grid-template-rows:0fr;margin-top:-6px}.tw-image-foot-row{display:flex;align-items:stretch;justify-content:flex-end;min-height:0;overflow:hidden}.tw-image-foot-row>*{pointer-events:auto}.tw-image-foot .tw-image-upload{flex:1;min-width:0}.tw-image-clear-slot{display:grid;grid-template-columns:1fr;margin-left:6px;overflow:hidden;transition:grid-template-columns .35s var(--tw-ease-fold),margin-left .35s var(--tw-ease-fold),opacity .35s var(--tw-ease-fold)}.tw-image-clear-slot[data-open=false]{grid-template-columns:0fr;margin-left:0;opacity:0}.tw-image-clear-slot .tw-image-clear{height:auto;min-height:24px;min-width:0;padding:0 10px;white-space:nowrap;transition:padding .35s var(--tw-ease-fold),background .15s,color .15s,transform .24s var(--tw-ease-pop)}.tw-image-clear-slot[data-open=false] .tw-image-clear{padding:0}.tw-image-grid{display:grid;grid-template-columns:repeat(var(--tw-img-cols, 2),minmax(0,1fr));gap:6px}.tw-image-tile{aspect-ratio:4 / 3;padding:0;background:var(--tw-surface) center / cover no-repeat;border:none;border-radius:calc(var(--tw-radius) - 2px);box-shadow:inset 0 0 0 1px var(--tw-border-hover);cursor:pointer;transition:transform .24s var(--tw-ease-pop),box-shadow .15s}.tw-image-tile:active{transform:scale(var(--tw-press-chip));transition:transform .08s ease-out}.tw-image-tile[data-active=true]{outline:1.5px solid var(--tw-accent, var(--tw-text-focus));outline-offset:1px}.tw-image-tile:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-2px}.tw-image-upload{gap:6px}.tw-image-upload svg{width:14px;height:14px;flex:none}@media(hover:hover)and (pointer:fine){.tw-image-tile:hover{box-shadow:inset 0 0 0 1px var(--tw-text-tertiary)}}.tw-fps{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 8px;background:var(--tw-surface);border-radius:var(--tw-radius);padding:9px 10px 10px 12px}.tw-fps-label{font-size:12px;font-weight:500;color:var(--tw-text-label)}.tw-fps-val{font-family:var(--tw-font-sans);font-size:12px;color:var(--tw-text-primary);text-align:right}.tw-fps-canvas{grid-column:1 / -1;width:100%;height:40px;display:block;margin-top:6px}.tw-monitor-buffer{grid-column:1 / -1;margin:6px 0 0;height:calc(var(--tw-monitor-rows, 4) * 1.45em);overflow:hidden;font-family:var(--tw-font-sans);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.45;color:var(--tw-text-secondary);white-space:pre;word-break:break-all}.tw-num-wrap{display:flex;align-items:center;gap:4px}.tw-slider-unit{color:var(--tw-text-tertiary)}.tw-num-unit{flex-shrink:0;font-size:12px;line-height:normal;color:var(--tw-text-tertiary);padding-right:2px;user-select:none;-webkit-user-select:none}.tw-num-wrap .tw-num{flex:0 0 auto;width:6ch;text-overflow:ellipsis}.tw-row>.tw-num-wrap .tw-num{width:9ch}.tw-num-grab{display:flex;align-items:center;justify-content:center;width:12px;height:18px;flex-shrink:0;color:var(--tw-text-tertiary);cursor:ew-resize;touch-action:none;transition:color .15s,transform .18s var(--tw-ease-spring)}.tw-num-grab svg{width:12px;height:12px;display:block}.tw-num-grab.is-dragging{color:var(--tw-text-primary);transform:scale(1.2)}@media(hover:hover)and (pointer:fine){.tw-num-grab:hover{color:var(--tw-text-primary);transform:scale(1.2)}}.tw-grab-guide{position:fixed;inset:0;z-index:100001;pointer-events:none}.tw-grab-line{position:fixed;height:2px;border:0;transform:translateY(-50%);background:radial-gradient(circle closest-side,var(--tw-text-label) 99%,transparent) 0 50% / var(--tw-grab-gap, 7px) 2px repeat-x}.tw-grab-dot{position:fixed;width:5px;height:5px;border-radius:50%;background:var(--tw-text-label);transform:translate(-50%,-50%)}.tw-grab-bubble{position:fixed;transform:translate(-50%,-100%);padding:2px 7px;border-radius:calc(var(--tw-radius) - 2px);background:var(--tw-dropdown-bg);border:1px solid var(--tw-border);box-shadow:var(--tw-shadow-dropdown);color:var(--tw-text-primary);font-family:var(--tw-font-sans);font-size:11px;font-weight:500;white-space:nowrap;transform-origin:bottom center;animation:tw-bubble-in .18s var(--tw-ease-pop)}@keyframes tw-bubble-in{0%{opacity:0;transform:translate(-50%,-100%) scale(.8)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.tw-grab-arrow{position:fixed;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid var(--tw-text-label)}.tw-folder{display:flex;flex-direction:column;border-top:1px solid var(--tw-border);border-bottom:1px solid var(--tw-border)}.tw-folder+.tw-folder{border-top:none;margin-top:-6px}.tw-folder .tw-folder{margin-left:10px}.tw-controls>.tw-folder:first-child{border-top:none}.tw-folder:last-child{border-bottom:none}.tw-folder-header{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:var(--tw-row-height);padding:0;background:none;border:none;cursor:pointer;color:inherit;font:inherit;text-align:left}.tw-folder-title{font-size:12px;font-weight:600;color:var(--tw-text-section);letter-spacing:-.01em;transition:color .15s}@media(hover:hover)and (pointer:fine){.tw-folder-header:hover .tw-folder-title,.tw-folder-header:hover .tw-chevron{color:var(--tw-text-primary)}}.tw-folder-header .tw-chevron{color:var(--tw-text-section);opacity:.6;margin-right:-1.75px;transition:transform .35s var(--tw-ease-fold),color .15s}.tw-folder.is-collapsed .tw-folder-header .tw-chevron{transform:rotate(180deg)}.tw-folder-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s var(--tw-ease-fold);contain:layout}.tw-folder.is-collapsed .tw-folder-body{grid-template-rows:0fr}.tw-folder-body>.tw-controls{overflow-x:visible;overflow-y:clip;min-height:0;min-width:0;padding:3px 0 8px;margin-top:-3px;opacity:1;transition:opacity .35s var(--tw-ease-fold),padding-bottom .35s var(--tw-ease-fold),margin-bottom .35s var(--tw-ease-fold)}.tw-folder.is-collapsed .tw-folder-body>.tw-controls{opacity:0;padding-bottom:0}.tw-folder:last-child .tw-folder-body>.tw-controls{padding-bottom:0}.tw-folder:last-child:not(.is-collapsed) .tw-folder-body>.tw-controls{padding-bottom:3px;margin-bottom:-3px}.tw-body>.tw-controls>*,.tw-folder-body>.tw-controls>*{flex-shrink:0}.tw-shadow-chip,.tw-motion-chip{width:26px;background:var(--tw-base);overflow:hidden}.tw-shadow-chip{display:flex;align-items:center;justify-content:center}.tw-shadow-chip-tile{width:12px;height:8px;border-radius:2px;background:var(--tw-dropdown-bg)}.tw-shadow-stage{display:flex;align-items:center;justify-content:center;height:84px;border-radius:var(--tw-radius);background:var(--tw-base);overflow:hidden}.tw-shadow-card{width:64px;height:40px;border-radius:9px;background:var(--tw-dropdown-bg)}.tw-shadow-color{width:100%}.tw-shadow-color .tw-trigger-right,.tw-shadow-color .tw-trigger-value{max-width:none}.tw-shadow-pop .tw-color-body[hidden]{display:none}.tw-shadow-chevron{flex-shrink:0;width:12px;height:12px;color:var(--tw-text-tertiary);transition:transform .2s var(--tw-ease-pop)}.tw-shadow-color[aria-expanded=true] .tw-shadow-chevron{transform:rotate(180deg)}.tw-shadow-pop .tw-color-body{margin-top:2px}.tw-sides-link{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;color:var(--tw-text-tertiary);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 3px);cursor:pointer;transition:color .15s,background .15s,transform .24s var(--tw-ease-pop)}.tw-sides-link svg{width:14px;height:14px}.tw-sides-link[aria-pressed=true]{color:var(--tw-accent, var(--tw-text-primary))}@media(hover:hover)and (pointer:fine){.tw-sides-link:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-sides-link:active{transform:scale(var(--tw-press-icon));transition:color .15s,background .15s,transform .08s ease-out}.tw-sides>.tw-row .tw-num-wrap{margin-left:auto}.tw-sides.is-linked .tw-sides-multi,.tw-sides:not(.is-linked)>.tw-row{display:none}.tw-sides-multi{display:flex;flex-direction:column;gap:6px;padding:0 10px 10px 12px;background:var(--tw-surface);border-radius:var(--tw-radius)}.tw-sides-head{display:flex;align-items:center;gap:12px;height:var(--tw-row-height)}.tw-fields.tw-shadow-fields{grid-auto-flow:row;grid-template-columns:1fr 1fr}.tw-sides-multi .tw-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;direction:ltr}.tw-sides-multi .tw-field .tw-num-wrap{padding:3px 5px}.tw-sides-multi .tw-field .tw-num-unit{display:none}.tw-sides-glyph{display:flex;align-items:center;height:12px}.tw-sides-glyph svg{width:12px;height:12px}.tw-sides-glyph[data-at=top-right] svg,.tw-sides-glyph[data-at=right] svg{transform:rotate(90deg)}.tw-sides-glyph[data-at=bottom-right] svg,.tw-sides-glyph[data-at=bottom] svg{transform:rotate(180deg)}.tw-sides-glyph[data-at=bottom-left] svg,.tw-sides-glyph[data-at=left] svg{transform:rotate(270deg)}.tw-sides-sum{margin-left:auto;font-family:var(--tw-font-sans);font-size:12px;font-weight:500;color:var(--tw-text-label);word-spacing:.1em}.tw-sides-unit{margin-left:4px;padding-right:2px;font-weight:400;color:var(--tw-text-tertiary)}.tw-motion-chip{position:relative}.tw-motion-chip svg{display:block;width:100%;height:100%}.tw-motion-chip path{fill:none;stroke:var(--tw-accent, var(--tw-text-primary));stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tw-motion-body,.tw-motion-pane{display:flex;flex-direction:column;gap:8px}.tw-motion-pop .tw-bezier-graph,.tw-motion-pop .tw-spring-viz{height:120px}.tw-motion-pane .tw-spring>.tw-row{display:none}.tw-motion-stage{display:flex;align-items:center;height:56px;padding:0 16px;border-radius:var(--tw-radius);background:var(--tw-surface);overflow:hidden;cursor:pointer}.tw-motion-box{width:24px;height:24px;border-radius:7px;background:var(--tw-accent, var(--tw-text-primary));will-change:transform}.tw-spring{display:flex;flex-direction:column;gap:6px}.tw-spring-viz{width:100%;height:96px;border-radius:var(--tw-radius);background:var(--tw-surface);overflow:hidden;cursor:crosshair;touch-action:none;transition:background .15s}@media(hover:hover)and (pointer:fine){.tw-spring-viz:hover{background:var(--tw-surface-hover)}}.tw-spring-viz.is-dragging{background:var(--tw-surface-hover);box-shadow:inset 0 0 0 1px var(--tw-border-hover)}.tw-spring-canvas{width:100%;height:100%;display:block}.tw-fields{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.tw-point{position:relative}.tw-point-preview{position:relative;width:18px;border-radius:2.5px;background:var(--tw-base);overflow:hidden}.tw-point-preview-dot{position:absolute;width:5px;height:5px;border-radius:999px;background:var(--tw-accent, var(--tw-text-primary));transform:translate(-50%,-50%)}.tw-point-body{display:flex;flex-direction:column;gap:8px;min-width:0}.tw-point-pop .tw-pad{max-width:240px;margin:0 auto}.tw-pad{position:relative;width:100%;max-width:176px;aspect-ratio:1;margin:0 auto 8px;border-radius:var(--tw-radius);background:var(--tw-base);box-shadow:inset 0 0 0 1px var(--tw-border);cursor:crosshair;touch-action:none;overflow:visible}.tw-pad-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tw-pad-line line{stroke:var(--tw-accent, var(--tw-text-tertiary));stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round}.tw-pad-axis{position:absolute;background:var(--tw-border);pointer-events:none}.tw-pad-axis-x{left:0;right:0;top:50%;height:1px;transform:translateY(-50%)}.tw-pad-axis-y{top:0;bottom:0;left:50%;width:1px;transform:translate(-50%)}.tw-pad-thumb{position:absolute;width:14px;height:14px;border-radius:999px;background:var(--tw-accent, var(--tw-text-primary));border:2px solid var(--tw-base);box-shadow:0 0 0 1px var(--tw-border-hover),0 1px 3px #0000004d;transform:translate(-50%,-50%);pointer-events:none;transition:transform .18s var(--tw-ease-spring),box-shadow .18s}.tw-pad.is-grabbing .tw-pad-thumb{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 1px var(--tw-border-hover),0 3px 9px #0006}.tw-field{display:flex;flex-direction:column;gap:4px;min-width:0}.tw-field-label{font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--tw-text-tertiary);text-transform:uppercase}.tw-field .tw-num-wrap{background:var(--tw-base);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);padding:3px 4px;gap:2px;transition:border-color .15s}.tw-field .tw-num-wrap:focus-within{border-color:var(--tw-border-hover)}.tw-field .tw-num-wrap:has(>.tw-num:focus-visible:not(.tw-focus-quiet)),.tw-field .tw-num-wrap:has(>.tw-color-chan-input:focus-visible:not(.tw-focus-quiet)){outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-1px}.tw-field .tw-num-wrap>.tw-num:focus-visible,.tw-field .tw-num-wrap>.tw-color-chan-input:focus-visible{outline:none}.tw-plot-field:has(>.tw-plot-input:focus-visible:not(.tw-focus-quiet)){outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-2px}.tw-slider:has(.tw-slider-input:focus-visible:not(.tw-focus-quiet)){outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-2px}.tw-wg-area:focus-visible,.tw-wg-hue:focus-visible,.tw-wg-alpha:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:2px}.tw-field .tw-num{flex:1;width:auto;min-width:0}.tw-field .tw-num-grab{width:10px}.tw-bezier{display:flex;flex-direction:column;gap:6px}.tw-bezier-graph{position:relative;width:100%;height:96px;background:var(--tw-surface);border-radius:var(--tw-radius);overflow:hidden;touch-action:none}.tw-bezier-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.tw-bezier-guide{stroke:var(--tw-border);stroke-width:1}.tw-bezier-diag{stroke:var(--tw-surface-active);stroke-width:1;stroke-dasharray:2 3}.tw-bezier-ctl{stroke:var(--tw-text-tertiary);stroke-width:1.5}.tw-bezier-curve{fill:none;stroke:var(--tw-accent, var(--tw-text-primary));stroke-width:2;stroke-linecap:round}.tw-bezier-handle{position:absolute;width:14px;height:14px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:999px;background:var(--tw-text-primary);border:2px solid var(--tw-base);box-shadow:0 1px 3px #0006;cursor:grab;touch-action:none;transition:transform .18s var(--tw-ease-spring),box-shadow .18s}@media(hover:hover)and (pointer:fine){.tw-bezier-handle:hover{transform:translate(-50%,-50%) scale(1.2)}}.tw-bezier-handle.is-dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.3);box-shadow:0 3px 9px #00000073}.tw-bezier-fields{gap:4px}.tw-plot{display:flex;flex-direction:column;gap:6px}.tw-plot-label,.tw-spring-label,.tw-bezier-label{font-size:12px;font-weight:500;color:var(--tw-text-label);padding:0;transition:color .15s}:is(.tw-controls,.tw-controls>[data-tw])>:is(.tw-spring,.tw-bezier,.tw-plot){padding:4px;background:var(--tw-surface);border-radius:var(--tw-radius)}:is(.tw-controls,.tw-controls>[data-tw])>:is(.tw-spring,.tw-bezier,.tw-plot)>:is(.tw-spring-label,.tw-bezier-label,.tw-plot-label){padding-left:8px;line-height:24px}.tw-plot-graph{position:relative;width:100%;height:140px;background:var(--tw-surface);border-radius:var(--tw-radius);overflow:hidden;box-shadow:inset 0 0 0 1px var(--tw-border)}.tw-plot-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.tw-plot-axis{stroke:var(--tw-border);stroke-width:1}.tw-plot-curve{fill:none;stroke:var(--tw-accent, var(--tw-text-primary));stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tw-plot-field{display:flex;align-items:center;gap:7px;height:var(--tw-row-height);padding:0 10px 0 12px;background:var(--tw-surface);border-radius:var(--tw-radius);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .15s}.tw-plot-field:focus-within{box-shadow:inset 0 0 0 1px var(--tw-border-hover)}.tw-plot-fx{flex:none;font-size:12px;color:var(--tw-text-tertiary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.tw-plot-input{flex:1;min-width:0;padding:0;background:none;border:none;outline:none;color:var(--tw-text-primary);font-family:var(--tw-font-mono, ui-monospace, "SF Mono", Menlo, monospace);font-size:12px}.tw-plot-input::placeholder{color:var(--tw-text-tertiary)}.tw-plot.is-invalid .tw-plot-curve{opacity:.25}.tw-plot.is-invalid .tw-plot-field{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tw-danger) 60%,transparent)}.tw-plot.is-invalid .tw-plot-fx{color:color-mix(in srgb,var(--tw-danger) 80%,transparent)}@media(prefers-color-scheme:light){.tw-panel:where(:not([data-tw-scheme=dark]):not([data-tw-scheme=dark] *)),.tw-portal:where(:not([data-tw-scheme=dark]):not([data-tw-scheme=dark] *)){--tw-surface: rgba(255, 255, 255, .82);--tw-surface-hover: rgba(0, 0, 0, .04);--tw-surface-active: rgba(0, 0, 0, .1);--tw-text-root: #1a1a1a;--tw-text-section: rgba(0, 0, 0, .62);--tw-text-label: rgba(0, 0, 0, .58);--tw-text-focus: #000000;--tw-text-primary: rgba(0, 0, 0, .88);--tw-text-secondary: rgba(0, 0, 0, .58);--tw-text-tertiary: rgba(0, 0, 0, .55);--tw-border: rgba(0, 0, 0, .045);--tw-border-hover: rgba(0, 0, 0, .1);--tw-selection: rgba(0, 0, 0, .14);--tw-base: #f3f3f3;--tw-dropdown-bg: #f6f6f6;--tw-shadow-dropdown: 0 12px 32px -8px rgba(0, 0, 0, .14);--tw-shadow-panel: 0 0 0 1px var(--tw-border), 0 2px 8px -2px rgba(0, 0, 0, .08), 0 18px 44px -12px rgba(0, 0, 0, .16);--tw-shadow-panel-lifted: 0 0 0 1px var(--tw-border-hover), 0 6px 16px -3px rgba(0, 0, 0, .12), 0 30px 70px -16px rgba(0, 0, 0, .2);--tw-success: #15803d;--tw-danger: #c23232;color-scheme:light}.tw-slider-handle:where(:not([data-tw-scheme=dark] *)){box-shadow:0 0 0 .5px #00000014}}.tw-panel:where([data-tw-scheme=light],[data-tw-scheme=light] *),.tw-portal:where([data-tw-scheme=light],[data-tw-scheme=light] *){--tw-surface: rgba(255, 255, 255, .82);--tw-surface-hover: rgba(0, 0, 0, .04);--tw-surface-active: rgba(0, 0, 0, .1);--tw-text-root: #1a1a1a;--tw-text-section: rgba(0, 0, 0, .62);--tw-text-label: rgba(0, 0, 0, .58);--tw-text-focus: #000000;--tw-text-primary: rgba(0, 0, 0, .88);--tw-text-secondary: rgba(0, 0, 0, .58);--tw-text-tertiary: rgba(0, 0, 0, .55);--tw-border: rgba(0, 0, 0, .045);--tw-border-hover: rgba(0, 0, 0, .1);--tw-selection: rgba(0, 0, 0, .14);--tw-base: #f3f3f3;--tw-dropdown-bg: #f6f6f6;--tw-shadow-dropdown: 0 12px 32px -8px rgba(0, 0, 0, .14);--tw-shadow-panel: 0 0 0 1px var(--tw-border), 0 2px 8px -2px rgba(0, 0, 0, .08), 0 18px 44px -12px rgba(0, 0, 0, .16);--tw-shadow-panel-lifted: 0 0 0 1px var(--tw-border-hover), 0 6px 16px -3px rgba(0, 0, 0, .12), 0 30px 70px -16px rgba(0, 0, 0, .2);--tw-success: #15803d;--tw-danger: #c23232;color-scheme:light}.tw-slider-handle:where([data-tw-scheme=light] *){box-shadow:0 0 0 .5px #00000014}.tw-slider-value,.tw-slider-input,.tw-fps-val,.tw-num,.tw-grab-bubble,.tw-trigger-value,.tw-color-gamut,.tw-color-chan-input,.tw-sides-sum{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.tw-panel,.tw-panel *,.tw-portal,.tw-portal *{transition:none!important}.tw-tabs-page[data-active=true],.tw-grab-bubble{animation:none}}@media(forced-colors:active){.tw-seg-pill,.tw-tabs-pill,.tw-slider-fill,.tw-radiogrid-btn[data-active=true]{outline:2px solid Highlight;outline-offset:-2px}.tw-image-tile[data-active=true]{outline-color:Highlight}.tw-gradient-stop[data-sel=true]{border-color:Highlight}.tw-select-option:focus-visible{outline:2px solid Highlight;outline-offset:-2px}.tw-color-swatch,.tw-option-swatch,.tw-image-thumb,.tw-gradient-preview,.tw-gradient-bar,.tw-gradient-stop,.tw-wg-area,.tw-wg-hue,.tw-wg-alpha,.tw-pad-thumb{forced-color-adjust:none}.tw-gradient-stop:focus-visible,.tw-wg-area:focus-visible,.tw-wg-hue:focus-visible,.tw-wg-alpha:focus-visible{outline-color:Highlight}}
1
+ .tw-panel,.tw-portal{--tw-surface: light-dark(rgba(255, 255, 255, .82), rgba(255, 255, 255, .04));--tw-surface-hover: light-dark(rgba(0, 0, 0, .04), rgba(255, 255, 255, .075));--tw-surface-active: light-dark(rgba(0, 0, 0, .1), rgba(255, 255, 255, .13));--tw-text-root: light-dark(#1a1a1a, #fafafa);--tw-text-section: light-dark(rgba(0, 0, 0, .62), rgba(255, 255, 255, .64));--tw-text-label: light-dark(rgba(0, 0, 0, .58), rgba(255, 255, 255, .64));--tw-text-focus: light-dark(#000000, #ffffff);--tw-text-primary: light-dark(rgba(0, 0, 0, .88), rgba(255, 255, 255, .92));--tw-text-secondary: light-dark(rgba(0, 0, 0, .58), rgba(255, 255, 255, .56));--tw-text-tertiary: light-dark(rgba(0, 0, 0, .55), rgba(255, 255, 255, .5));--tw-on-accent: var(--tw-text-primary);--tw-border: light-dark(rgba(0, 0, 0, .045), rgba(255, 255, 255, .045));--tw-border-hover: light-dark(rgba(0, 0, 0, .1), rgba(255, 255, 255, .11));--tw-selection: light-dark(rgba(0, 0, 0, .14), rgba(255, 255, 255, .22));--tw-base: light-dark(#f3f3f3, #242424);--tw-checker: repeating-conic-gradient(#6b6b6b 0% 25%, #9a9a9a 0% 50%) 0 0 / 8px 8px;--tw-dropdown-bg: light-dark(#f6f6f6, #292929);--tw-radius: 8px;--tw-row-height: 32px;--tw-width: 256px;--tw-shadow-dropdown: 0 12px 32px -8px light-dark(rgba(0, 0, 0, .14), rgba(0, 0, 0, .6));--tw-shadow-panel: 0 0 0 1px light-dark(var(--tw-border), rgba(255, 255, 255, .06)), 0 8px 28px -8px light-dark(transparent, rgba(0, 0, 0, .5)), 0 18px 48px -16px light-dark(transparent, rgba(0, 0, 0, .38)), 0 2px 8px -2px light-dark(rgba(0, 0, 0, .08), transparent), 0 18px 44px -12px light-dark(rgba(0, 0, 0, .16), transparent);--tw-shadow-panel-lifted: 0 0 0 1px light-dark(var(--tw-border-hover), rgba(255, 255, 255, .08)), 0 12px 32px -8px light-dark(transparent, rgba(0, 0, 0, .55)), 0 28px 64px -16px light-dark(transparent, rgba(0, 0, 0, .45)), 0 6px 16px -3px light-dark(rgba(0, 0, 0, .12), transparent), 0 30px 70px -16px light-dark(rgba(0, 0, 0, .2), transparent);--tw-success: light-dark(#15803d, #86efac);--tw-danger: light-dark(#c23232, #ff5f5f);--tw-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--tw-font-mono: ui-monospace, "SF Mono", Menlo, monospace;--tw-ease-out: cubic-bezier(.25, 1, .5, 1);--tw-ease-spring: cubic-bezier(.22, 1, .36, 1);--tw-ease-pop: cubic-bezier(.34, 1.56, .64, 1);--tw-ease-inout: cubic-bezier(.4, 0, .2, 1);--tw-ease-fold: linear(0, .077, .237, .411, .57, .699, .797, .869, .918, .952, .973, .986, .994, .998, 1);--tw-press-icon: .88;--tw-press-chip: .95;--tw-press-row: .985;font-family:var(--tw-font-sans);line-height:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;color-scheme:light dark;box-sizing:border-box}.tw-panel{width:var(--tw-width);background:var(--tw-base);box-shadow:var(--tw-shadow-panel);border-radius:calc(var(--tw-radius) + 10px);padding:10px}.tw-panel *,.tw-panel *:before,.tw-panel *:after{box-sizing:border-box}:is(.tw-panel,.tw-portal) ::selection{background:var(--tw-selection);color:var(--tw-text-focus)}.tw-panel[data-mode=floating]{position:fixed}.tw-panel:where([data-mode=floating]){left:var(--tw-float-x);top:var(--tw-float-y);max-height:var(--tw-float-max-h);z-index:99990;box-shadow:var(--tw-shadow-panel-lifted)}.tw-panel:where(.is-raised){z-index:99991}.tw-panel[data-draggable=true][data-mode=floating]{transition:box-shadow .25s var(--tw-ease-out)}@property --tw-float-gap{syntax: "<length>"; inherits: true; initial-value: -1px;}.tw-lift-slot{display:block;flex:none;pointer-events:none}.tw-panel[data-draggable=true]>.tw-header,.tw-panel[data-draggable=true]>.tw-header .tw-header-toggle{cursor:grab}.tw-panel[data-draggable=true]>.tw-header{touch-action:none;margin-top:-10px;padding-top:10px}.tw-panel.is-snapping{transition:left .32s var(--tw-ease-spring),top .32s var(--tw-ease-spring),right .32s var(--tw-ease-spring),bottom .32s var(--tw-ease-spring)}.tw-panel.is-dragging{-webkit-user-select:none;user-select:none;box-shadow:var(--tw-shadow-panel-lifted);z-index:99991}.tw-panel[data-mode=floating]{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.tw-panel[data-mode=floating]::-webkit-scrollbar{display:none}.tw-panel[data-mode=floating] .tw-slider{touch-action:pan-y}.tw-panel.is-dragging>.tw-header,.tw-panel.is-dragging>.tw-header .tw-header-toggle{cursor:grabbing}:is(.tw-color-pop,.tw-presets-menu){cursor:grab}:is(.tw-color-pop,.tw-presets-menu)>*{cursor:auto}:is(.tw-color-pop,.tw-presets-menu).is-moving,:is(.tw-color-pop,.tw-presets-menu).is-moving *{cursor:grabbing}.tw-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:9px;margin-bottom:8px;border-bottom:1px solid var(--tw-border)}.tw-title{font-size:14px;font-weight:500;line-height:17px;color:var(--tw-text-root);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-header-toggle{display:flex;align-items:center;gap:6px;flex:1;min-width:0;background:none;border:none;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:left}.tw-chevron{width:15px;height:15px;flex-shrink:0;color:var(--tw-text-section);transition:transform .2s var(--tw-ease-out),color .15s}.tw-panel.is-collapsed .tw-chevron{transform:rotate(-90deg)}.tw-toolbar{display:flex;align-items:center;gap:4px}.tw-hint{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:4px;padding:0;vertical-align:-2px;flex:none;background:none;border:none;color:var(--tw-text-tertiary);cursor:help;pointer-events:auto;transition:color .15s,transform .18s var(--tw-ease-spring)}.tw-hint:focus-visible{color:var(--tw-text-secondary);transform:scale(1.2)}@media(hover:hover)and (pointer:fine){.tw-hint:hover{color:var(--tw-text-secondary);transform:scale(1.2)}}.tw-hint:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:1px;border-radius:999px}.tw-hint svg{width:13px;height:13px;display:block}.tw-tip{position:fixed;z-index:100000;max-width:220px;padding:8px 12px;font-size:12px;line-height:1.4;color:var(--tw-text-primary);background:var(--tw-dropdown-bg);border:1px solid var(--tw-border);border-radius:8px;box-shadow:var(--tw-shadow-dropdown);pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity .12s,transform .12s}.tw-tip.is-open{opacity:1;transform:none}.tw-sr,.tw-image-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tw-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s var(--tw-ease-fold)}.tw-body>.tw-controls{overflow-x:visible;overflow-y:clip;min-height:0;min-width:0;padding-block:3px;margin-block:-3px}.tw-panel.is-collapsed .tw-body>.tw-controls{padding-block:0;margin-block:0}.tw-panel.is-collapsed .tw-body{grid-template-rows:0fr}.tw-header{transition:margin-bottom .35s var(--tw-ease-fold),padding-bottom .35s var(--tw-ease-fold),border-color .35s var(--tw-ease-fold)}.tw-panel.is-collapsed .tw-header{margin-bottom:0;padding-bottom:0;border-color:transparent}.tw-header:has(+.tw-body>.tw-controls>.tw-folder:first-child){margin-bottom:0}.tw-toolbar-btn{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;flex-shrink:0;background:var(--tw-surface);border:none;border-radius:calc(var(--tw-radius) - 2px);color:var(--tw-text-label);cursor:pointer;will-change:transform;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-toolbar-btn:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-toolbar-btn:disabled{cursor:default}.tw-toolbar-btn:after{content:"";position:absolute;inset:-2px}.tw-toolbar-btn:active{transform:scale(var(--tw-press-icon));transition:transform .08s ease-out}.tw-toolbar-btn svg{width:14px;height:14px;display:block}.tw-toolbar-btn__icons{position:relative;display:block;width:14px;height:14px}.tw-toolbar-btn__icons svg{position:absolute;inset:0;will-change:transform,filter;filter:blur(0);transition:opacity .25s var(--tw-ease-inout),transform .25s var(--tw-ease-inout),filter .25s var(--tw-ease-inout)}.tw-toolbar-btn__check{opacity:0;transform:scale(.25);filter:blur(2px);color:var(--tw-success)}.tw-toolbar-btn--swap.is-copied .tw-toolbar-btn__copy{opacity:0;transform:scale(.25);filter:blur(2px)}.tw-toolbar-btn--swap.is-copied .tw-toolbar-btn__check{opacity:1;transform:none;filter:blur(0)}.tw-toolbar-btn--reset svg{--tw-spin: 0deg;--tw-wind: 0deg;will-change:transform;transform:rotate(calc(var(--tw-spin) + var(--tw-wind)));transition:transform .34s cubic-bezier(.34,1.55,.5,1)}@media(hover:hover)and (pointer:fine){.tw-toolbar-btn--reset:not(:disabled):hover svg{--tw-wind: 22deg}}.tw-toolbar-btn--reset.is-spinning svg{transition-duration:.5s;transition-timing-function:var(--tw-ease-inout)}.tw-copy-back{transform:translate(calc(-1 * var(--tw-fan, 0px)),calc(-1 * var(--tw-fan, 0px)))}.tw-copy-front{transform:translate(var(--tw-fan, 0px),var(--tw-fan, 0px))}.tw-layer-top{transform:translateY(calc(-1 * var(--tw-lift, 0px)))}.tw-copy-back,.tw-copy-front,.tw-layer-top{transition:transform .3s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-toolbar-btn:not(:disabled):hover{--tw-fan: 1px;--tw-lift: 1.75px}}.tw-toolbar-btn[aria-expanded=true]{--tw-lift: 1.75px}.tw-trigger:focus-visible,.tw-select-trigger:focus-visible,.tw-button:focus-visible,.tw-seg-btn:focus-visible,.tw-seg[role=switch]:focus-visible,.tw-header-toggle:focus-visible,.tw-folder-header:focus-visible,.tw-slider:focus-visible,.tw-pad:focus-visible,.tw-motion-stage:focus-visible,.tw-sides-link:focus-visible,.tw-radiogrid-btn:focus-visible,.tw-buttongroup-btn:focus-visible,.tw-tabs-tab:focus-visible,.tw-image-clear:focus-visible,.tw-text:focus-visible:not(.tw-focus-quiet),.tw-num:focus-visible:not(.tw-focus-quiet),.tw-color-chan-input:focus-visible:not(.tw-focus-quiet),.tw-color-mode:focus-visible,.tw-presets-load:focus-visible,.tw-presets-savebtn:focus-visible,.tw-presets-del:focus-visible,.tw-presets-input:focus-visible:not(.tw-focus-quiet){outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-2px}.tw-toolbar-btn:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:1px}.tw-gradient-stop:focus-visible,.tw-gradient-add:focus-visible,.tw-bezier-handle:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:2px}.tw-controls{display:flex;flex-direction:column;gap:6px}.tw-controls>*{min-width:0}.tw-cond-hidden{display:none!important}.is-disabled{opacity:.4;cursor:not-allowed}.is-disabled *{pointer-events:none}.tw-resettable{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tw-resettable.tw-resettable{transition:color .15s,background-color .3s ease-out}.tw-resettable.tw-reset-holding{border-radius:calc(var(--tw-radius) - 4px);background-color:var(--tw-surface-active);transition:color .15s,background-color .5s ease-out}.tw-slider-wrap{position:relative;height:var(--tw-row-height)}.tw-slider{position:absolute;inset:0;cursor:pointer;user-select:none;-webkit-user-select:none;overflow:hidden;background:var(--tw-surface);border-radius:var(--tw-radius);touch-action:none}.tw-slider-hashmarks{position:absolute;inset:0;pointer-events:none}.tw-slider-hashmark{position:absolute;top:50%;width:1px;height:8px;border-radius:999px;transform:translate(-50%) translateY(-50%);background:#fff0;transition:background .2s}.tw-slider.is-active .tw-slider-hashmark{background:var(--tw-border-hover)}.tw-slider.is-active .tw-slider-value{color:var(--tw-text-focus)}.tw-slider-fill{position:absolute;top:0;bottom:0;left:0;width:0;background:var(--tw-surface-active);transition:background .15s;pointer-events:none}.tw-slider.is-active .tw-slider-fill{background:var(--tw-accent, var(--tw-border-hover))}.tw-slider-handle{position:absolute;top:50%;left:0;width:3px;height:20px;border-radius:999px;background:var(--tw-text-primary);transform:translateY(-50%) scaleX(.25);opacity:0;pointer-events:none;transition:opacity .15s,transform .2s var(--tw-ease-spring)}.tw-slider.is-hover .tw-slider-handle,.tw-slider:focus-within .tw-slider-handle{opacity:.5;transform:translateY(-50%) scaleX(1)}@media(hover:hover)and (pointer:fine){.tw-slider:hover .tw-slider-handle{opacity:.5;transform:translateY(-50%) scaleX(1)}}.tw-slider.is-active .tw-slider-handle{opacity:.9;transform:translateY(-50%) scaleX(1)}.tw-slider-handle:focus-visible{opacity:.9;transform:translateY(-50%) scaleX(1);outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:2px}.tw-slider.is-active.is-dodge .tw-slider-handle,.tw-slider.is-hover.is-dodge .tw-slider-handle{opacity:.1;transform:translateY(-50%) scaleX(1) scaleY(.75)}@media(hover:hover)and (pointer:fine){.tw-slider:hover.is-dodge .tw-slider-handle{opacity:.1;transform:translateY(-50%) scaleX(1) scaleY(.75)}}.tw-interval.is-active .tw-slider-handle.is-dodge{opacity:.1;transform:translateY(-50%) scaleX(1) scaleY(.75)}.tw-slider-label{position:absolute;left:12px;top:50%;transform:translateY(-50%);max-width:calc(100% - 64px);font-size:12px;font-weight:500;color:var(--tw-text-label);transition:color .15s;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-interval .tw-slider-label{max-width:calc(100% - 112px)}.tw-slider-value{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:500;color:var(--tw-text-label);pointer-events:auto;transition:color .15s}.tw-slider-value.is-editable{cursor:text;color:var(--tw-text-focus);text-decoration:underline;text-decoration-color:var(--tw-text-tertiary);text-underline-offset:3px}.tw-slider-input{position:absolute;right:10px;top:50%;transform:translateY(-50%);min-width:4ch;max-width:60%;font-size:12px;font-weight:500;font-family:var(--tw-font-sans);color:var(--tw-text-label);background:transparent;border:none;padding:0;outline:none;text-align:right}.tw-slider-input:focus{color:var(--tw-text-focus)}.tw-row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--tw-row-height);padding:2px 10px 2px 12px;background:var(--tw-surface);border-radius:var(--tw-radius)}.tw-row-label{font-size:12px;font-weight:500;line-height:17px;color:var(--tw-text-label);transition:color .15s;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover)and (pointer:fine){.tw-slider-wrap:not(.is-disabled):hover .tw-slider-label,:is(.tw-row,.tw-sides,.tw-radiogrid):not(.is-disabled):hover :is(.tw-row-label,.tw-radiogrid-label),:is(.tw-spring,.tw-bezier,.tw-plot):not(.is-disabled):hover :is(.tw-spring-label,.tw-bezier-label,.tw-plot-label){color:var(--tw-text-primary)}}.tw-slider-label:empty,.tw-row-label:empty,.tw-select-label:empty,.tw-radiogrid-label:empty,.tw-trigger-label:empty,.tw-fps-label:empty{display:none}.tw-row-label:empty+*,.tw-select-label:empty+*,.tw-trigger-label:empty+*{margin-left:auto}.tw-seg{position:relative;display:flex;gap:2px;padding:2px;border-radius:var(--tw-radius)}.tw-row .tw-seg{flex-shrink:0;margin-right:-8px}.tw-seg-pill{position:absolute;top:2px;bottom:2px;left:0;width:0;background:var(--tw-accent, var(--tw-surface-active));border-radius:calc(var(--tw-radius) - 2px);z-index:0;pointer-events:none}.tw-seg.is-ready .tw-seg-pill{transition:left .24s var(--tw-ease-out),width .24s var(--tw-ease-out)}.tw-seg-btn{position:relative;z-index:1;flex:0 0 auto;min-width:40px;padding:6px 8px;text-align:center;font:inherit;font-size:12px;line-height:14px;font-weight:500;background:transparent;border:none;cursor:pointer;color:var(--tw-text-label);transition:color .15s,transform .24s var(--tw-ease-pop)}.tw-seg-btn[data-active=true]{color:var(--tw-on-accent)}@media(hover:hover)and (pointer:fine){.tw-seg-btn:not([data-active=true]):hover,.tw-tabs-tab:not([data-active=true]):hover{color:var(--tw-text-primary)}}.tw-seg-btn:active{transform:scale(var(--tw-press-chip));transition:transform .08s ease-out}.tw-row .tw-seg .tw-seg-btn{min-width:0;padding:5px}.tw-radiogrid{display:flex;align-items:flex-start;gap:10px;min-height:var(--tw-row-height);padding:4px 4px 4px 12px;background:var(--tw-surface);border-radius:var(--tw-radius)}.tw-radiogrid-label{flex:1 1 5ch;min-width:5ch;line-height:24px;font-size:12px;font-weight:500;color:var(--tw-text-label);transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-radiogrid-grid{flex:0 1 auto;min-width:0;margin-left:auto;display:grid;grid-template-columns:repeat(var(--tw-rg-cols, 3),minmax(0,auto));gap:4px}.tw-radiogrid.is-grid .tw-radiogrid-label{flex:0 1 auto;min-width:0}.tw-radiogrid.is-grid .tw-radiogrid-grid{flex:1 1 0;max-width:max-content;grid-template-columns:repeat(var(--tw-rg-cols, 3),minmax(0,1fr))}.tw-radiogrid-btn{font:inherit;font-size:12px;line-height:14px;font-weight:500;font-variant-numeric:tabular-nums;min-width:24px;padding:5px;text-align:center;color:var(--tw-text-label);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover)and (pointer:fine){.tw-radiogrid-btn:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-radiogrid-btn:active{transform:scale(var(--tw-press-chip));transition:background .15s,color .15s,transform .08s ease-out}.tw-radiogrid-btn[data-active=true]{background:var(--tw-accent, var(--tw-surface-active));color:var(--tw-on-accent)}.tw-button{display:flex;align-items:center;justify-content:center;width:100%;height:var(--tw-row-height);padding:0 16px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-secondary);background:var(--tw-surface);border:none;border-radius:var(--tw-radius);cursor:pointer;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-button:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-button:active{background:var(--tw-surface-active);transform:scale(var(--tw-press-row));transition:background .15s,color .15s,transform .08s ease-out}.tw-buttongroup{height:auto;min-height:var(--tw-row-height);padding-top:4px;padding-bottom:4px}.tw-buttongroup-btns{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0;margin-right:-6px}.tw-buttongroup:not(:has(>.tw-row-label)){padding-left:4px}.tw-buttongroup-btn{flex:1 1 0;min-width:min-content;padding:5px 8px;font:inherit;font-size:12px;line-height:14px;font-weight:500;color:var(--tw-text-label);background:var(--tw-surface-active);border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-buttongroup-btn:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-buttongroup-btn:active{transform:scale(var(--tw-press-chip));transition:background .15s,color .15s,transform .08s ease-out}.tw-separator{height:1px;margin:3px 2px;background:var(--tw-border)}.tw-tabs{display:flex;flex-direction:column;gap:8px}.tw-tabs-bar{position:relative;display:flex;gap:4px;padding:4px;min-width:0;background:var(--tw-surface);border-radius:var(--tw-radius)}.tw-tabs-pill{position:absolute;top:4px;bottom:4px;left:0;width:0;background:var(--tw-surface-active);border-radius:calc(var(--tw-radius) - 2px);z-index:0;transition:left .24s var(--tw-ease-out),width .24s var(--tw-ease-out)}.tw-tabs-tab{position:relative;z-index:1;flex:1;min-width:0;padding:5px 8px;font:inherit;font-size:12px;line-height:14px;font-weight:500;color:var(--tw-text-label);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s,transform .24s var(--tw-ease-pop)}.tw-tabs-tab[data-active=true]{color:var(--tw-text-primary)}.tw-tabs-tab:active{transform:scale(var(--tw-press-chip));transition:color .15s,transform .08s ease-out}.tw-tabs-page{display:none;flex-direction:column;gap:6px}.tw-tabs-page[data-active=true]{display:flex;animation:tw-page-in .3s var(--tw-ease-out)}@keyframes tw-page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.tw-select{position:relative}.tw-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:var(--tw-row-height);padding:0 10px 0 12px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:var(--tw-surface);border:none;border-radius:var(--tw-radius);cursor:pointer;transition:background .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-select-trigger:hover{background:var(--tw-surface-hover)}.tw-select-trigger:hover .tw-select-label,.tw-select-trigger:hover .tw-select-chevron{color:var(--tw-text-primary)}}.tw-select-trigger:active{transform:scale(var(--tw-press-row));transition:background .15s,transform .08s ease-out}.tw-select.is-open .tw-select-trigger{background:var(--tw-surface-active)}.tw-select-label{transition:color .15s;font-weight:500;flex:1 1 0;min-width:5ch;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-select-right{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;max-width:calc(100% - 5ch - 10px)}.tw-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-select-chevron{width:15px;height:15px;flex-shrink:0;color:var(--tw-text-section);opacity:.6;margin-right:-3.75px;transition:transform .2s var(--tw-ease-out),color .15s}.tw-select.is-open .tw-select-chevron{transform:rotate(180deg)}:is(.tw-select-dropdown,.tw-presets-menu,.tw-color-pop){position:fixed;z-index:99999;background:var(--tw-dropdown-bg);border:1px solid var(--tw-border);box-shadow:var(--tw-shadow-dropdown);opacity:0;transform:translateY(-6px) scale(var(--tw-pop-s));pointer-events:none;transition:opacity .16s var(--tw-ease-out),transform .24s var(--tw-ease-spring)}.tw-select-dropdown{padding:4px;border-radius:calc(var(--tw-radius) + 2px);max-height:60vh;overflow-y:auto;transform-origin:top;transition-duration:.16s,.22s}:is(.tw-select-dropdown,.tw-color-pop){max-width:calc(100vw - 16px)}:is(.tw-select-dropdown,.tw-color-pop)[data-side=above]{transform-origin:bottom;transform:translateY(6px) scale(var(--tw-pop-s))}.tw-select-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;font:inherit;font-size:12px;font-weight:500;line-height:14px;color:var(--tw-text-label);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;text-align:left;transition:background .15s,color .15s}@media(hover:hover)and (pointer:fine){.tw-select-option:hover{background:var(--tw-surface-hover)}}.tw-select-option:focus-visible{background:var(--tw-surface-hover);color:var(--tw-text-primary);outline:none}.tw-select-option[data-selected=true]{color:var(--tw-on-accent);background:var(--tw-accent, var(--tw-surface-active))}.tw-option-swatch{flex-shrink:0;width:12px;height:12px;border-radius:4px;box-shadow:inset 0 0 0 1px var(--tw-border-hover)}.tw-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-panel:not([data-mode=floating]):has(.is-picked){overflow:clip}.tw-panel .is-picked{position:relative;isolation:isolate}.tw-panel .is-picked:before{content:"";position:absolute;inset:-3px -100vmax;z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--tw-accent, var(--tw-text-focus)) 5%,transparent)}.tw-panel .tw-folder.is-picked:before{inset-block:0}.tw-panel .is-picked:before{transition:background .35s var(--tw-ease-out)}.tw-panel .is-picked.is-pasted:before{background:color-mix(in srgb,var(--tw-accent, var(--tw-text-focus)) 20%,transparent);transition-duration:.08s}.tw-panel .is-picked.is-refused:before{background:color-mix(in srgb,var(--tw-danger) 18%,transparent);transition-duration:.08s}.tw-presets-menu{width:208px;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:calc(var(--tw-radius) + 4px);transform-origin:top right}.tw-presets-menu[data-side=above]{transform-origin:bottom right;transform:translateY(6px) scale(var(--tw-pop-s))}:is(.tw-select-dropdown,.tw-presets-menu,.tw-color-pop).is-open{opacity:1;transform:none;pointer-events:auto}.tw-presets-save{display:flex;gap:6px}.tw-presets-input{flex:1;min-width:0;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-primary);background:var(--tw-surface);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);padding:6px 8px;outline:none}.tw-presets-input:focus{border-color:var(--tw-border-hover)}.tw-presets-input::placeholder{color:var(--tw-text-tertiary)}.tw-presets-savebtn{flex-shrink:0;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-primary);background:var(--tw-surface);border:none;border-radius:calc(var(--tw-radius) - 2px);padding:6px 10px;cursor:pointer;transition:background .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-presets-savebtn:hover{background:var(--tw-surface-hover)}}.tw-presets-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.tw-presets-empty{padding:8px;font-size:12px;font-weight:500;color:var(--tw-text-tertiary);text-align:center}.tw-presets-row{display:flex;align-items:center;gap:2px}.tw-presets-load{flex:1;min-width:0;text-align:left;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);padding:6px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s,color .15s}@media(hover:hover)and (pointer:fine){.tw-presets-load:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-presets-del{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--tw-text-tertiary);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-presets-del:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-presets-del:active{transform:scale(var(--tw-press-icon));transition:background .15s,color .15s,transform .08s ease-out}.tw-presets-savebtn:active{transform:scale(var(--tw-press-chip));transition:background .15s,transform .08s ease-out}.tw-presets-del svg{width:12px;height:12px;display:block}.tw-image-clear{flex-shrink:0;height:24px;padding:0 6px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-tertiary);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 2px);cursor:pointer;transition:background .15s,color .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-image-clear:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-image-clear:active{transform:scale(var(--tw-press-chip));transition:background .15s,color .15s,transform .08s ease-out}.tw-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:var(--tw-row-height);padding:0 10px 0 12px;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);cursor:pointer;background:var(--tw-surface);border:none;border-radius:var(--tw-radius);transition:background .15s,transform .24s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-trigger:hover{background:var(--tw-surface-hover)}.tw-trigger:hover .tw-trigger-label{color:var(--tw-text-primary)}}.tw-trigger:active{transform:scale(var(--tw-press-row));transition:background .15s,transform .08s ease-out}.is-open>.tw-trigger{background:var(--tw-surface-active)}.tw-trigger-label{transition:color .15s;flex:1 1 0;min-width:5ch;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-trigger-right{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto;max-width:calc(100% - 5ch - 10px)}.tw-trigger-value{word-spacing:.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:20ch}.tw-trigger-chip{height:18px;flex-shrink:0;border-radius:calc(var(--tw-radius) - 4px);box-shadow:inset 0 0 0 1px var(--tw-border-hover);transition:transform .2s var(--tw-ease-spring)}.is-open>.tw-trigger .tw-trigger-chip{transform:scale(1.07)}.tw-color{position:relative}.tw-color-swatch{width:18px}.tw-portal *,.tw-portal *:before,.tw-portal *:after{box-sizing:border-box}.tw-portal{--tw-pop-s: max(.96, calc(1 - 5 / var(--tw-pop-h, 125)))}.tw-color-pop{min-width:236px;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:calc(var(--tw-radius) + 10px);max-height:calc(100dvh - 16px);overflow-y:auto;overflow-x:clip;transform-origin:top}.tw-color-body{display:flex;flex-direction:column;gap:8px;min-width:0}.tw-color-mode-row{display:flex;align-items:center;gap:8px}.tw-color-mode{appearance:none;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-primary);background-color:var(--tw-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6.25px center;border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);padding:4px 26px 4px 10px;line-height:14px;cursor:pointer;outline:none}@media(hover:hover)and (pointer:fine){.tw-color-mode:hover{background-color:var(--tw-surface-hover)}}.tw-color-mode:focus-visible{border-color:var(--tw-border-hover)}.tw-color-gamut{margin-left:auto;font-size:12px;font-weight:500;color:var(--tw-text-tertiary)}.tw-color-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tw-color-channels--hex{grid-template-columns:1fr}.tw-color-chan{display:flex;flex-direction:column;gap:3px;min-width:0}.tw-color-chan-label{font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--tw-text-tertiary);text-transform:uppercase}.tw-color-chan-input{width:100%;min-width:0;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:var(--tw-surface);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);padding:5px 6px;outline:none;text-transform:uppercase}.tw-color-chan-input:focus{color:var(--tw-text-focus);border-color:var(--tw-border-hover)}.tw-wg-area{position:relative;width:100%;height:140px;border-radius:var(--tw-radius);cursor:crosshair;touch-action:none;box-shadow:inset 0 0 0 1px var(--tw-border)}.tw-wg-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit}.tw-wg-thumb{position:absolute;width:14px;height:14px;border-radius:999px;border:2px solid #fff;box-shadow:0 0 0 1px #00000073;transform:translate(-50%,-50%);pointer-events:none;transition:transform .18s var(--tw-ease-spring),box-shadow .18s}.tw-wg-hue,.tw-wg-alpha{position:relative;width:100%;height:14px;border-radius:999px;cursor:ew-resize;touch-action:none;box-shadow:inset 0 0 0 1px var(--tw-border)}.tw-wg-alpha{background:var(--tw-checker)}.tw-wg-hue-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:inherit}.tw-wg-hue-thumb{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000073,0 1px 3px #0006;transform:translate(-50%,-50%);pointer-events:none;transition:transform .18s var(--tw-ease-spring),box-shadow .18s}.tw-wg-area.is-grabbing .tw-wg-thumb,.tw-wg-hue.is-grabbing .tw-wg-hue-thumb,.tw-wg-alpha.is-grabbing .tw-wg-hue-thumb{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 1px #00000073,0 2px 8px #00000073}.tw-wg-alpha-grad{position:absolute;inset:0;border-radius:inherit}.tw-gradient{position:relative}.tw-gradient-preview{width:72px;background:var(--tw-checker)}.tw-gradient-pop .tw-color-mode-row{gap:4px}.tw-gradient-pop .tw-color-mode{padding-left:6px;padding-right:20px}.tw-gradient-bar-row{display:flex;align-items:stretch;gap:6px}.tw-gradient-bar-row>.tw-gradient-bar{flex:1;min-width:0}.tw-gradient-bar{position:relative;width:100%;height:28px;border-radius:var(--tw-radius);box-shadow:inset 0 0 0 1px var(--tw-border);background:var(--tw-checker)}.tw-gradient-grad{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.tw-gradient-rail{position:absolute;left:0;right:0;bottom:-5px;height:14px;pointer-events:none}.tw-gradient-stop{position:absolute;top:0;width:13px;height:13px;padding:0;transform:translate(-50%);border-radius:calc(var(--tw-radius) - 4px);background:var(--stop);border:2px solid var(--tw-dropdown-bg);box-shadow:0 0 0 1px var(--tw-border-hover),0 1px 3px #0006;cursor:ew-resize;touch-action:none;pointer-events:auto;transition:opacity .12s ease,transform .16s var(--tw-ease-spring),box-shadow .16s}.tw-gradient-stop[data-sel=true]{box-shadow:0 0 0 2px var(--tw-accent, var(--tw-text-focus)),0 1px 3px #0006;z-index:1}.tw-gradient-stop:before,.tw-bezier-handle:before{content:"";position:absolute;inset:-4px;border-radius:inherit}@media(hover:hover)and (pointer:fine){.tw-gradient-stop:hover{transform:translate(-50%) scale(1.2)}}.tw-gradient-stop[data-removing=true]{opacity:.3;transform:translate(-50%) scale(.7)}.tw-gradient-add{display:flex;align-items:center;justify-content:center;flex:none;width:28px;padding:0;border:none;border-radius:var(--tw-radius);background:var(--tw-surface);color:var(--tw-text-primary);cursor:pointer;will-change:transform;transition:background .15s,transform .24s var(--tw-ease-pop)}.tw-gradient-add:active{transform:scale(var(--tw-press-icon));transition:background .15s,transform .08s ease-out}.tw-gradient-add svg{width:16px;height:16px;display:block;will-change:transform;transition:transform .2s var(--tw-ease-pop)}@media(hover:hover)and (pointer:fine){.tw-gradient-add:hover{background:var(--tw-surface-hover)}.tw-gradient-add:hover svg{transform:scale(1.2)}}.tw-text,.tw-num{flex:1;min-width:0;font:inherit;font-size:12px;font-weight:500;color:var(--tw-text-label);background:transparent;border:none;outline:none;text-align:right;cursor:text;padding:0;border-radius:calc(var(--tw-radius) - 4px)}.tw-text:focus,.tw-num:focus{color:var(--tw-text-focus)}.tw-text::placeholder{color:var(--tw-text-tertiary)}.tw-row-multiline{position:relative;flex-direction:column;align-items:stretch;height:auto;gap:4px;padding:7.5px 10px 10px 12px}.tw-textarea{flex:none;width:100%;resize:vertical;min-height:3em;padding:0;line-height:1.45;text-align:left}.tw-textarea::-webkit-resizer{background:transparent}.tw-textarea:is(.is-clip-top,.is-clip-bottom){--tw-clip-top: 0px;--tw-clip-bottom: 0px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 var(--tw-clip-top),#000 calc(100% - var(--tw-clip-bottom)),transparent);mask-image:linear-gradient(to bottom,transparent,#000 var(--tw-clip-top),#000 calc(100% - var(--tw-clip-bottom)),transparent)}.tw-textarea.is-clip-top{--tw-clip-top: 14px}.tw-textarea.is-clip-bottom{--tw-clip-bottom: 14px}.tw-row-multiline:after{content:"";position:absolute;right:8px;bottom:8px;width:11px;height:11px;pointer-events:none;background-color:var(--tw-text-tertiary);--tw-grip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M11 3 3 11M11 7 7 11' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask:var(--tw-grip) right bottom / contain no-repeat;mask:var(--tw-grip) right bottom / contain no-repeat}.tw-image{position:relative}.tw-image-input{display:none}.tw-image-text,.tw-image-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-image-note:empty{display:none}.tw-image-note:not(:empty)+:is(.tw-image-text,.tw-trigger-value){display:none}.tw-image-thumb{width:24px;background:var(--tw-base) center / cover no-repeat}.tw-image-thumb[data-set=false]{background:var(--tw-checker)}.tw-image .tw-trigger[data-over=true],.tw-image-gallery[data-over=true] .tw-image-upload{background:var(--tw-surface-hover);outline:1.5px dashed var(--tw-border-hover);outline-offset:-2px}.tw-image .tw-trigger[data-over=true] .tw-image-thumb{transform:scale(1.14)}.tw-image-gallery{display:flex;flex-direction:column;gap:6px}.tw-image-foot{display:grid;grid-template-rows:1fr;pointer-events:none;transition:grid-template-rows .35s var(--tw-ease-fold),margin-top .35s var(--tw-ease-fold)}.tw-image-foot[data-open=false]{grid-template-rows:0fr;margin-top:-6px}.tw-image-foot-row{display:flex;align-items:stretch;justify-content:flex-end;min-height:0;overflow:hidden}.tw-image-foot-row>*{pointer-events:auto}.tw-image-foot .tw-image-upload{flex:1;min-width:0}.tw-image-clear-slot{display:grid;grid-template-columns:1fr;margin-left:6px;overflow:hidden;transition:grid-template-columns .35s var(--tw-ease-fold),margin-left .35s var(--tw-ease-fold),opacity .35s var(--tw-ease-fold)}.tw-image-clear-slot[data-open=false]{grid-template-columns:0fr;margin-left:0;opacity:0}.tw-image-clear-slot .tw-image-clear{height:auto;min-height:24px;min-width:0;padding:0 10px;white-space:nowrap;transition:padding .35s var(--tw-ease-fold),background .15s,color .15s,transform .24s var(--tw-ease-pop)}.tw-image-clear-slot[data-open=false] .tw-image-clear{padding:0}.tw-image-grid{display:grid;grid-template-columns:repeat(var(--tw-img-cols, 2),minmax(0,1fr));gap:6px}.tw-image-tile{aspect-ratio:4 / 3;padding:0;background:var(--tw-surface) center / cover no-repeat;border:none;border-radius:calc(var(--tw-radius) - 2px);box-shadow:inset 0 0 0 1px var(--tw-border-hover);cursor:pointer;transition:transform .24s var(--tw-ease-pop),box-shadow .15s}.tw-image-tile:active{transform:scale(var(--tw-press-chip));transition:transform .08s ease-out}.tw-image-tile[data-active=true]{outline:1.5px solid var(--tw-accent, var(--tw-text-focus));outline-offset:1px}.tw-image-tile:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-2px}.tw-image-upload{gap:6px}.tw-image-upload svg{width:14px;height:14px;flex:none}@media(hover:hover)and (pointer:fine){.tw-image-tile:hover{box-shadow:inset 0 0 0 1px var(--tw-text-tertiary)}}.tw-fps{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 8px;background:var(--tw-surface);border-radius:var(--tw-radius);padding:9px 10px 10px 12px;line-height:14px}.tw-fps-label{font-size:12px;font-weight:500;color:var(--tw-text-label)}.tw-fps-val{font-size:12px;color:var(--tw-text-primary);text-align:right}.tw-fps-canvas{grid-column:1 / -1;width:100%;height:40px;display:block;margin-top:6px}.tw-monitor-buffer{grid-column:1 / -1;margin:6px 0 0;height:calc(var(--tw-monitor-rows, 4) * 1.45em);overflow:hidden;font-family:var(--tw-font-sans);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.45;color:var(--tw-text-secondary);white-space:pre;word-break:break-all}.tw-num-wrap{display:flex;align-items:center;gap:4px}.tw-slider-unit{color:var(--tw-text-tertiary)}.tw-num-unit{flex-shrink:0;font-size:12px;line-height:normal;color:var(--tw-text-tertiary);padding-right:2px;user-select:none;-webkit-user-select:none}.tw-num-wrap .tw-num{flex:0 0 auto;width:6ch;text-overflow:ellipsis}.tw-row>.tw-num-wrap .tw-num{width:9ch}.tw-num-grab{display:flex;align-items:center;justify-content:center;width:12px;height:18px;flex-shrink:0;color:var(--tw-text-tertiary);cursor:ew-resize;touch-action:none;transition:color .15s,transform .18s var(--tw-ease-spring)}.tw-num-grab svg{width:12px;height:12px;display:block}.tw-num-grab.is-dragging{color:var(--tw-text-primary);transform:scale(1.2)}@media(hover:hover)and (pointer:fine){.tw-num-grab:hover{color:var(--tw-text-primary);transform:scale(1.2)}}.tw-grab-guide{position:fixed;inset:0;z-index:100001;pointer-events:none}.tw-grab-line{position:fixed;height:2px;border:0;transform:translateY(-50%);background:radial-gradient(circle closest-side,var(--tw-text-label) 99%,transparent) 0 50% / var(--tw-grab-gap, 7px) 2px repeat-x}.tw-grab-dot{position:fixed;width:5px;height:5px;border-radius:50%;background:var(--tw-text-label);transform:translate(-50%,-50%)}.tw-grab-bubble{position:fixed;transform:translate(-50%,-100%);padding:2px 7px;border-radius:calc(var(--tw-radius) - 2px);background:var(--tw-dropdown-bg);border:1px solid var(--tw-border);box-shadow:var(--tw-shadow-dropdown);color:var(--tw-text-primary);font-size:11px;font-weight:500;white-space:nowrap;transform-origin:bottom center;animation:tw-bubble-in .18s var(--tw-ease-pop)}@keyframes tw-bubble-in{0%{opacity:0;transform:translate(-50%,-100%) scale(.8)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.tw-grab-arrow{position:fixed;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid var(--tw-text-label)}.tw-folder{display:flex;flex-direction:column;border-top:1px solid var(--tw-border);border-bottom:1px solid var(--tw-border)}.tw-folder+.tw-folder{border-top:none;margin-top:-6px}.tw-folder .tw-folder{margin-left:10px}.tw-controls>.tw-folder:first-child{border-top:none}.tw-folder:last-child{border-bottom:none}.tw-folder-header{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:var(--tw-row-height);padding:0;background:none;border:none;cursor:pointer;color:inherit;font:inherit;text-align:left}.tw-folder-title{font-size:12px;font-weight:600;color:var(--tw-text-section);letter-spacing:-.01em;transition:color .15s}@media(hover:hover)and (pointer:fine){.tw-folder-header:hover .tw-folder-title,.tw-folder-header:hover .tw-chevron{color:var(--tw-text-primary)}}.tw-folder-header .tw-chevron{color:var(--tw-text-section);opacity:.6;margin-right:-1.75px;transition:transform .35s var(--tw-ease-fold),color .15s}.tw-folder.is-collapsed .tw-folder-header .tw-chevron{transform:rotate(180deg)}.tw-folder-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s var(--tw-ease-fold);contain:layout}.tw-folder.is-collapsed .tw-folder-body{grid-template-rows:0fr}.tw-folder-body>.tw-controls{overflow-x:visible;overflow-y:clip;min-height:0;min-width:0;padding:3px 0 8px;margin-top:-3px;opacity:1;transition:opacity .35s var(--tw-ease-fold),padding-bottom .35s var(--tw-ease-fold),margin-bottom .35s var(--tw-ease-fold)}.tw-folder.is-collapsed .tw-folder-body>.tw-controls{opacity:0;padding-bottom:0}.tw-folder:last-child .tw-folder-body>.tw-controls{padding-bottom:0}.tw-folder:last-child:not(.is-collapsed) .tw-folder-body>.tw-controls{padding-bottom:3px;margin-bottom:-3px}.tw-body>.tw-controls>*,.tw-folder-body>.tw-controls>*{flex-shrink:0}.tw-shadow-chip,.tw-motion-chip{width:26px;background:var(--tw-base);overflow:hidden}.tw-shadow-chip{display:flex;align-items:center;justify-content:center}.tw-shadow-chip-tile{width:12px;height:8px;border-radius:2px;background:var(--tw-dropdown-bg)}.tw-shadow-stage{display:flex;align-items:center;justify-content:center;height:84px;border-radius:var(--tw-radius);background:var(--tw-base);overflow:hidden}.tw-shadow-card{width:64px;height:40px;border-radius:9px;background:var(--tw-dropdown-bg)}.tw-shadow-color{width:100%}.tw-shadow-color .tw-trigger-right,.tw-shadow-color .tw-trigger-value{max-width:none}.tw-shadow-pop .tw-color-body[hidden]{display:none}.tw-shadow-chevron{flex-shrink:0;width:12px;height:12px;color:var(--tw-text-tertiary);transition:transform .2s var(--tw-ease-pop)}.tw-shadow-color[aria-expanded=true] .tw-shadow-chevron{transform:rotate(180deg)}.tw-shadow-pop .tw-color-body{margin-top:2px}.tw-sides-link{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;color:var(--tw-text-tertiary);background:transparent;border:none;border-radius:calc(var(--tw-radius) - 3px);cursor:pointer;transition:color .15s,background .15s,transform .24s var(--tw-ease-pop)}.tw-sides-link svg{width:14px;height:14px}.tw-sides-link[aria-pressed=true]{color:var(--tw-accent, var(--tw-text-primary))}@media(hover:hover)and (pointer:fine){.tw-sides-link:hover{background:var(--tw-surface-hover);color:var(--tw-text-primary)}}.tw-sides-link:active{transform:scale(var(--tw-press-icon));transition:color .15s,background .15s,transform .08s ease-out}.tw-sides>.tw-row .tw-num-wrap{margin-left:auto}.tw-sides.is-linked .tw-sides-multi,.tw-sides:not(.is-linked)>.tw-row{display:none}.tw-sides-multi{display:flex;flex-direction:column;gap:6px;padding:0 10px 10px 12px;background:var(--tw-surface);border-radius:var(--tw-radius)}.tw-sides-head{display:flex;align-items:center;gap:12px;height:var(--tw-row-height)}.tw-fields.tw-shadow-fields{grid-auto-flow:row;grid-template-columns:1fr 1fr}.tw-sides-multi .tw-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;direction:ltr}.tw-sides-multi .tw-field .tw-num-wrap{padding:3px 5px}.tw-sides-multi .tw-field .tw-num-unit{display:none}.tw-sides-glyph{display:flex;align-items:center;height:12px}.tw-sides-glyph svg{width:12px;height:12px}.tw-sides-glyph[data-at=top-right] svg,.tw-sides-glyph[data-at=right] svg{transform:rotate(90deg)}.tw-sides-glyph[data-at=bottom-right] svg,.tw-sides-glyph[data-at=bottom] svg{transform:rotate(180deg)}.tw-sides-glyph[data-at=bottom-left] svg,.tw-sides-glyph[data-at=left] svg{transform:rotate(270deg)}.tw-sides-sum{margin-left:auto;font-size:12px;font-weight:500;color:var(--tw-text-label);word-spacing:.1em}.tw-sides-unit{margin-left:4px;padding-right:2px;font-weight:400;color:var(--tw-text-tertiary)}.tw-motion-chip{position:relative}.tw-motion-chip svg{display:block;width:100%;height:100%}.tw-motion-chip path{fill:none;stroke:var(--tw-accent, var(--tw-text-primary));stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tw-motion-body,.tw-motion-pane{display:flex;flex-direction:column;gap:8px}.tw-motion-pop .tw-bezier-graph,.tw-motion-pop .tw-spring-viz{height:120px}.tw-motion-pane .tw-spring>.tw-row{display:none}.tw-motion-stage{display:flex;align-items:center;height:56px;padding:0 16px;border-radius:var(--tw-radius);background:var(--tw-surface);overflow:hidden;cursor:pointer}.tw-motion-box{width:24px;height:24px;border-radius:7px;background:var(--tw-accent, var(--tw-text-primary));will-change:transform}.tw-spring{display:flex;flex-direction:column;gap:6px}.tw-spring-viz{width:100%;height:96px;border-radius:var(--tw-radius);background:var(--tw-surface);overflow:hidden;cursor:crosshair;touch-action:none;transition:background .15s}@media(hover:hover)and (pointer:fine){.tw-spring-viz:hover{background:var(--tw-surface-hover)}}.tw-spring-viz.is-dragging{background:var(--tw-surface-hover);box-shadow:inset 0 0 0 1px var(--tw-border-hover)}.tw-spring-canvas{width:100%;height:100%;display:block}.tw-fields{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.tw-point{position:relative}.tw-point-preview{position:relative;width:18px;border-radius:2.5px;background:var(--tw-base);overflow:hidden}.tw-point-preview-dot{position:absolute;width:5px;height:5px;border-radius:999px;background:var(--tw-accent, var(--tw-text-primary));transform:translate(-50%,-50%)}.tw-point-body{display:flex;flex-direction:column;gap:8px;min-width:0}.tw-point-pop .tw-pad{max-width:240px;margin:0 auto}.tw-pad{position:relative;width:100%;max-width:176px;aspect-ratio:1;margin:0 auto 8px;border-radius:var(--tw-radius);background:var(--tw-base);box-shadow:inset 0 0 0 1px var(--tw-border);cursor:crosshair;touch-action:none;overflow:visible}.tw-pad-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tw-pad-line line{stroke:var(--tw-accent, var(--tw-text-tertiary));stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round}.tw-pad-axis{position:absolute;background:var(--tw-border);pointer-events:none}.tw-pad-axis-x{left:0;right:0;top:50%;height:1px;transform:translateY(-50%)}.tw-pad-axis-y{top:0;bottom:0;left:50%;width:1px;transform:translate(-50%)}.tw-pad-thumb{position:absolute;width:14px;height:14px;border-radius:999px;background:var(--tw-accent, var(--tw-text-primary));border:2px solid var(--tw-base);box-shadow:0 0 0 1px var(--tw-border-hover),0 1px 3px #0000004d;transform:translate(-50%,-50%);pointer-events:none;transition:transform .18s var(--tw-ease-spring),box-shadow .18s}.tw-pad.is-grabbing .tw-pad-thumb{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 1px var(--tw-border-hover),0 3px 9px #0006}.tw-field{display:flex;flex-direction:column;gap:4px;min-width:0}.tw-field-label{font-size:10px;line-height:12px;font-weight:600;letter-spacing:.02em;color:var(--tw-text-tertiary);text-transform:uppercase}.tw-field .tw-num-wrap{background:var(--tw-base);border:1px solid var(--tw-border);border-radius:calc(var(--tw-radius) - 2px);padding:3px 4px;gap:2px;line-height:15px;transition:border-color .15s}.tw-field .tw-num-unit{line-height:inherit}.tw-field .tw-num-wrap:focus-within{border-color:var(--tw-border-hover)}.tw-field .tw-num-wrap:has(>.tw-num:focus-visible:not(.tw-focus-quiet)),.tw-field .tw-num-wrap:has(>.tw-color-chan-input:focus-visible:not(.tw-focus-quiet)){outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-1px}.tw-field .tw-num-wrap>.tw-num:focus-visible,.tw-field .tw-num-wrap>.tw-color-chan-input:focus-visible{outline:none}.tw-plot-field:has(>.tw-plot-input:focus-visible:not(.tw-focus-quiet)){outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-2px}.tw-slider:has(.tw-slider-input:focus-visible:not(.tw-focus-quiet)){outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:-2px}.tw-wg-area:focus-visible,.tw-wg-hue:focus-visible,.tw-wg-alpha:focus-visible{outline:2px solid var(--tw-accent, var(--tw-text-focus));outline-offset:2px}.tw-field .tw-num{flex:1;width:auto;min-width:0}.tw-field .tw-num-grab{width:10px}.tw-bezier{display:flex;flex-direction:column;gap:6px}.tw-bezier-graph{position:relative;width:100%;height:96px;background:var(--tw-surface);border-radius:var(--tw-radius);overflow:hidden;touch-action:none}.tw-bezier-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.tw-bezier-guide{stroke:var(--tw-border);stroke-width:1}.tw-bezier-diag{stroke:var(--tw-surface-active);stroke-width:1;stroke-dasharray:2 3}.tw-bezier-ctl{stroke:var(--tw-text-tertiary);stroke-width:1.5}.tw-bezier-curve{fill:none;stroke:var(--tw-accent, var(--tw-text-primary));stroke-width:2;stroke-linecap:round}.tw-bezier-handle{position:absolute;width:14px;height:14px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:999px;background:var(--tw-text-primary);border:2px solid var(--tw-base);box-shadow:0 1px 3px #0006;cursor:grab;touch-action:none;transition:transform .18s var(--tw-ease-spring),box-shadow .18s}@media(hover:hover)and (pointer:fine){.tw-bezier-handle:hover{transform:translate(-50%,-50%) scale(1.2)}}.tw-bezier-handle.is-dragging{cursor:grabbing;transform:translate(-50%,-50%) scale(1.3);box-shadow:0 3px 9px #00000073}.tw-bezier-fields{gap:4px}.tw-plot{display:flex;flex-direction:column;gap:6px}.tw-plot-label,.tw-spring-label,.tw-bezier-label{font-size:12px;font-weight:500;color:var(--tw-text-label);padding:0;transition:color .15s}:is(.tw-controls,.tw-controls>[data-tw])>:is(.tw-spring,.tw-bezier,.tw-plot){padding:4px;background:var(--tw-surface);border-radius:var(--tw-radius)}:is(.tw-controls,.tw-controls>[data-tw])>:is(.tw-spring,.tw-bezier,.tw-plot)>:is(.tw-spring-label,.tw-bezier-label,.tw-plot-label){padding-left:8px;line-height:24px}.tw-plot-graph{position:relative;width:100%;height:140px;background:var(--tw-surface);border-radius:var(--tw-radius);overflow:hidden;box-shadow:inset 0 0 0 1px var(--tw-border)}.tw-plot-svg{position:absolute;inset:0;width:100%;height:100%;display:block}.tw-plot-axis{stroke:var(--tw-border);stroke-width:1}.tw-plot-curve{fill:none;stroke:var(--tw-accent, var(--tw-text-primary));stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tw-plot-field{display:flex;align-items:center;gap:7px;height:var(--tw-row-height);padding:0 10px 0 12px;background:var(--tw-surface);border-radius:var(--tw-radius);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .15s}.tw-plot-field:focus-within{box-shadow:inset 0 0 0 1px var(--tw-border-hover)}.tw-plot-fx{flex:none;font-size:12px;color:var(--tw-text-tertiary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.tw-plot-input{flex:1;min-width:0;padding:0;background:none;border:none;outline:none;color:var(--tw-text-primary);font-family:var(--tw-font-mono);font-size:12px}.tw-plot-input::placeholder{color:var(--tw-text-tertiary)}.tw-plot.is-invalid .tw-plot-curve{opacity:.25}.tw-plot.is-invalid .tw-plot-field{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tw-danger) 60%,transparent)}.tw-plot.is-invalid .tw-plot-fx{color:color-mix(in srgb,var(--tw-danger) 80%,transparent)}.tw-panel:where([data-tw-scheme=dark],[data-tw-scheme=dark] *),.tw-portal:where([data-tw-scheme=dark],[data-tw-scheme=dark] *){color-scheme:dark}.tw-panel:where([data-tw-scheme=light],[data-tw-scheme=light] *),.tw-portal:where([data-tw-scheme=light],[data-tw-scheme=light] *){color-scheme:light}@media(prefers-color-scheme:light){.tw-slider-handle:where(:not([data-tw-scheme=dark] *)){box-shadow:0 0 0 .5px #00000014}}.tw-slider-handle:where([data-tw-scheme=light] *){box-shadow:0 0 0 .5px #00000014}.tw-slider-value,.tw-slider-input,.tw-fps-val,.tw-num,.tw-grab-bubble,.tw-trigger-value,.tw-color-gamut,.tw-color-chan-input,.tw-sides-sum{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.tw-panel,.tw-panel *,.tw-portal,.tw-portal *{transition:none!important}.tw-tabs-page[data-active=true],.tw-grab-bubble{animation:none}}@media(forced-colors:active){.tw-seg-pill,.tw-tabs-pill,.tw-slider-fill,.tw-radiogrid-btn[data-active=true]{outline:2px solid Highlight;outline-offset:-2px}.tw-image-tile[data-active=true]{outline-color:Highlight}.tw-gradient-stop[data-sel=true]{border-color:Highlight}.tw-select-option:focus-visible{outline:2px solid Highlight;outline-offset:-2px}.tw-color-swatch,.tw-option-swatch,.tw-image-thumb,.tw-gradient-preview,.tw-gradient-bar,.tw-gradient-stop,.tw-wg-area,.tw-wg-hue,.tw-wg-alpha,.tw-pad-thumb{forced-color-adjust:none}.tw-gradient-stop:focus-visible,.tw-wg-area:focus-visible,.tw-wg-hue:focus-visible,.tw-wg-alpha:focus-visible{outline-color:Highlight}}