zframes 0.1.1 → 0.3.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 (73) hide show
  1. package/NOTICE +2 -0
  2. package/dist/index.js +1727 -217
  3. package/package.json +7 -6
  4. package/runtime/assets/d3-B3esOK0k.js +1 -0
  5. package/runtime/assets/editor-DVTcqJo4.js +68 -0
  6. package/runtime/assets/editor-DnV0I9s-.css +1 -0
  7. package/runtime/assets/gridstack-BxxvPIFU.js +9 -0
  8. package/runtime/assets/gridstack-FIb_WQSt.css +1 -0
  9. package/runtime/assets/index-DEGnog6Q.css +1 -0
  10. package/runtime/assets/{index-A5M9erCx.js → index-DPlG_EDx.js} +1 -1
  11. package/runtime/assets/index-KRy1feFG.js +761 -0
  12. package/runtime/assets/liveline-C5zt2WuS.js +1 -0
  13. package/runtime/assets/react-qoZPGuNy.js +49 -0
  14. package/runtime/index.html +6 -3
  15. package/runtime/widget-icons/breakeven.png +0 -0
  16. package/runtime/widget-icons/breathing.png +0 -0
  17. package/runtime/widget-icons/btc-blocks.png +0 -0
  18. package/runtime/widget-icons/btc-difficulty.png +0 -0
  19. package/runtime/widget-icons/btc-fees.png +0 -0
  20. package/runtime/widget-icons/btc-hashrate.png +0 -0
  21. package/runtime/widget-icons/btc-mempool.png +0 -0
  22. package/runtime/widget-icons/calculator.png +0 -0
  23. package/runtime/widget-icons/checklist.png +0 -0
  24. package/runtime/widget-icons/coin-movers.png +0 -0
  25. package/runtime/widget-icons/countdown.png +0 -0
  26. package/runtime/widget-icons/day-meter.png +0 -0
  27. package/runtime/widget-icons/dex-volume-chart.png +0 -0
  28. package/runtime/widget-icons/dex-volume-treemap.png +0 -0
  29. package/runtime/widget-icons/dice.png +0 -0
  30. package/runtime/widget-icons/divider.png +0 -0
  31. package/runtime/widget-icons/drawdy.png +0 -0
  32. package/runtime/widget-icons/filings-feed.png +0 -0
  33. package/runtime/widget-icons/financial-stress.png +0 -0
  34. package/runtime/widget-icons/flappy-bird.png +0 -0
  35. package/runtime/widget-icons/fundamentals.png +0 -0
  36. package/runtime/widget-icons/holiday-calendar.png +0 -0
  37. package/runtime/widget-icons/journal-log.png +0 -0
  38. package/runtime/widget-icons/journal-open.png +0 -0
  39. package/runtime/widget-icons/journal-results.png +0 -0
  40. package/runtime/widget-icons/journal-score.png +0 -0
  41. package/runtime/widget-icons/labor-market.png +0 -0
  42. package/runtime/widget-icons/lightning-stats.png +0 -0
  43. package/runtime/widget-icons/link-grid.png +0 -0
  44. package/runtime/widget-icons/market-cap-treemap.png +0 -0
  45. package/runtime/widget-icons/marquee.png +0 -0
  46. package/runtime/widget-icons/mining-pools.png +0 -0
  47. package/runtime/widget-icons/national-debt.png +0 -0
  48. package/runtime/widget-icons/news-feed.png +0 -0
  49. package/runtime/widget-icons/open-interest.png +0 -0
  50. package/runtime/widget-icons/options-iv.png +0 -0
  51. package/runtime/widget-icons/options-oi-strike.png +0 -0
  52. package/runtime/widget-icons/options-put-call.png +0 -0
  53. package/runtime/widget-icons/pomodoro.png +0 -0
  54. package/runtime/widget-icons/portfolio-allocation.png +0 -0
  55. package/runtime/widget-icons/portfolio-holdings.png +0 -0
  56. package/runtime/widget-icons/portfolio-value.png +0 -0
  57. package/runtime/widget-icons/protocol-fees-treemap.png +0 -0
  58. package/runtime/widget-icons/protocol-tvl-chart.png +0 -0
  59. package/runtime/widget-icons/protocol-tvl-treemap.png +0 -0
  60. package/runtime/widget-icons/quote.png +0 -0
  61. package/runtime/widget-icons/returns-projector.png +0 -0
  62. package/runtime/widget-icons/risk-reward.png +0 -0
  63. package/runtime/widget-icons/rules-card.png +0 -0
  64. package/runtime/widget-icons/session-progress.png +0 -0
  65. package/runtime/widget-icons/short-volume.png +0 -0
  66. package/runtime/widget-icons/snake.png +0 -0
  67. package/runtime/widget-icons/spotify-embed.png +0 -0
  68. package/runtime/widget-icons/stopwatch.png +0 -0
  69. package/runtime/widget-icons/treasury-auctions.png +0 -0
  70. package/runtime/widget-icons/video.png +0 -0
  71. package/runtime/widget-icons/yield-curve.png +0 -0
  72. package/runtime/assets/index-6CnH3oHt.js +0 -719
  73. package/runtime/assets/index-CgpsbUVX.css +0 -1
@@ -0,0 +1,9 @@
1
+ class h{static getElements(t,e=document){if(typeof t=="string"){const i="getElementById"in e?e:void 0;if(i&&!isNaN(+t[0])){const r=i.getElementById(t);return r?[r]:[]}let s=e.querySelectorAll(t);if(!s.length&&t[0]!=="."&&t[0]!=="#"&&(s=e.querySelectorAll("."+t),s.length||(s=e.querySelectorAll("#"+t)),!s.length)){const r=e.querySelector(`[gs-id="${t}"]`);return r?[r]:[]}return Array.from(s)}return[t]}static getElement(t,e=document){if(typeof t=="string"){const i="getElementById"in e?e:void 0;if(!t.length)return null;if(i&&t[0]==="#")return i.getElementById(t.substring(1));if(t[0]==="#"||t[0]==="."||t[0]==="[")return e.querySelector(t);if(i&&!isNaN(+t[0]))return i.getElementById(t);let s=e.querySelector(t);return i&&!s&&(s=i.getElementById(t)),s||(s=e.querySelector("."+t)),s}return t}static lazyLoad(t){var e,i;return t.lazyLoad||((i=(e=t.grid)==null?void 0:e.opts)==null?void 0:i.lazyLoad)&&t.lazyLoad!==!1}static createDiv(t,e){const i=document.createElement("div");return t.forEach(s=>{s&&i.classList.add(s)}),e==null||e.appendChild(i),i}static shouldSizeToContent(t,e=!1){return(t==null?void 0:t.grid)&&(e?t.sizeToContent===!0||t.grid.opts.sizeToContent===!0&&t.sizeToContent===void 0:!!t.sizeToContent||t.grid.opts.sizeToContent&&t.sizeToContent!==!1)}static isIntercepted(t,e){return!(t.y>=e.y+e.h||t.y+t.h<=e.y||t.x+t.w<=e.x||t.x>=e.x+e.w)}static isTouching(t,e){return h.isIntercepted(t,{x:e.x-.5,y:e.y-.5,w:e.w+1,h:e.h+1})}static areaIntercept(t,e){const i=t.x>e.x?t.x:e.x,s=t.x+t.w<e.x+e.w?t.x+t.w:e.x+e.w;if(s<=i)return 0;const r=t.y>e.y?t.y:e.y,n=t.y+t.h<e.y+e.h?t.y+t.h:e.y+e.h;return n<=r?0:(s-i)*(n-r)}static area(t){return t.w*t.h}static sort(t,e=1){return t.sort((s,r)=>{const n=e*((s.y??1e4)-(r.y??1e4));return n===0?e*((s.x??1e4)-(r.x??1e4)):n})}static find(t,e){return e?t.find(i=>i.id===e):void 0}static toBool(t){return typeof t=="boolean"?t:typeof t=="string"?(t=t.toLowerCase(),!(t===""||t==="no"||t==="false"||t==="0")):!!t}static toNumber(t){return t===null||t.length===0?void 0:Number(t)}static parseHeight(t){let e,i="px";if(typeof t=="string")if(t==="auto"||t==="")e=0;else{const s=t.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw|%|cm|mm)?$/);if(!s)throw new Error(`Invalid height val = ${t}`);i=s[2]||"px",e=parseFloat(s[1])}else e=t;return{h:e,unit:i}}static defaults(t,...e){return e.forEach(i=>{for(const s in i){if(!i.hasOwnProperty(s))return;t[s]===null||t[s]===void 0?t[s]=i[s]:typeof i[s]=="object"&&typeof t[s]=="object"&&h.defaults(t[s],i[s])}}),t}static same(t,e){if(typeof t!="object")return t==e;if(typeof t!=typeof e||Object.keys(t).length!==Object.keys(e).length)return!1;for(const i in t)if(t[i]!==e[i])return!1;return!0}static copyPos(t,e,i=!1){return e.x!==void 0&&(t.x=e.x),e.y!==void 0&&(t.y=e.y),e.w!==void 0&&(t.w=e.w),e.h!==void 0&&(t.h=e.h),i&&(e.minW&&(t.minW=e.minW),e.minH&&(t.minH=e.minH),e.maxW&&(t.maxW=e.maxW),e.maxH&&(t.maxH=e.maxH)),t}static samePos(t,e){return t&&e&&t.x===e.x&&t.y===e.y&&(t.w||1)===(e.w||1)&&(t.h||1)===(e.h||1)}static sanitizeMinMax(t){t.minW||delete t.minW,t.minH||delete t.minH,t.maxW||delete t.maxW,t.maxH||delete t.maxH}static removeInternalAndSame(t,e){if(!(typeof t!="object"||typeof e!="object")&&!(Array.isArray(t)||Array.isArray(e)))for(let i in t){const s=t[i],r=e[i];i[0]==="_"||s===r?delete t[i]:s&&typeof s=="object"&&r!==void 0&&(h.removeInternalAndSame(s,r),Object.keys(s).length||delete t[i])}}static removeInternalForSave(t,e=!0){for(let i in t)(i[0]==="_"||t[i]===null||t[i]===void 0)&&delete t[i];delete t.grid,e&&delete t.el,t.autoPosition||delete t.autoPosition,t.noResize||delete t.noResize,t.noMove||delete t.noMove,t.locked||delete t.locked,(t.w===1||t.w===t.minW)&&delete t.w,(t.h===1||t.h===t.minH)&&delete t.h}static throttle(t,e){let i=!1;return(...s)=>{i||(i=!0,setTimeout(()=>{t(...s),i=!1},e))}}static removePositioningStyles(t){const e=t.style;e.position&&e.removeProperty("position"),e.left&&e.removeProperty("left"),e.top&&e.removeProperty("top"),e.width&&e.removeProperty("width"),e.height&&e.removeProperty("height")}static getScrollElement(t){if(!t)return document.scrollingElement||document.documentElement;const e=getComputedStyle(t).overflowY;return(e==="auto"||e==="scroll")&&t.scrollHeight>t.clientHeight?t:h.getScrollElement(t.parentElement)}static updateScrollResize(t,e,i){const s=h.getScrollElement(e),r=s.clientHeight,n=s===h.getScrollElement()?0:s.getBoundingClientRect().top,o=t.clientY-n,d=o<i,u=o>r-i;d?s.scrollBy({behavior:"smooth",top:o-i}):u&&s.scrollBy({behavior:"smooth",top:i-(r-o)})}static clone(t){return t==null||typeof t!="object"?t:t instanceof Array?[...t]:{...t}}static cloneDeep(t){const e=["parentGrid","el","grid","subGrid","engine"],i=h.clone(t);for(const s in i)i.hasOwnProperty(s)&&typeof i[s]=="object"&&s.substring(0,2)!=="__"&&!e.find(r=>r===s)&&(i[s]=h.cloneDeep(t[s]));return i}static cloneNode(t){const e=t.cloneNode(!0);return e.removeAttribute("id"),e}static appendTo(t,e){let i;typeof e=="string"?i=h.getElement(e):i=e,i&&i.appendChild(t)}static addElStyles(t,e){if(e instanceof Object)for(const i in e)e.hasOwnProperty(i)&&(Array.isArray(e[i])?e[i].forEach(s=>{t.style[i]=s}):t.style[i]=e[i])}static initEvent(t,e){const i={type:e.type},s={button:0,which:0,buttons:1,bubbles:!0,cancelable:!0,target:e.target?e.target:t.target};return["altKey","ctrlKey","metaKey","shiftKey"].forEach(r=>i[r]=t[r]),["pageX","pageY","clientX","clientY","screenX","screenY"].forEach(r=>i[r]=t[r]),{...i,...s}}static simulateMouseEvent(t,e,i){const s=t,r=new MouseEvent(e,{bubbles:!0,composed:!0,cancelable:!0,view:window,detail:1,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,ctrlKey:s.ctrlKey??!1,altKey:s.altKey??!1,shiftKey:s.shiftKey??!1,metaKey:s.metaKey??!1,button:0,relatedTarget:t.target});(i||t.target).dispatchEvent(r)}static getValuesFromTransformedElement(t){const e=document.createElement("div");h.addElStyles(e,{opacity:"0",position:"fixed",top:"0px",left:"0px",width:"1px",height:"1px",zIndex:"-999999"}),t.appendChild(e);const i=e.getBoundingClientRect();return t.removeChild(e),e.remove(),{xScale:1/i.width,yScale:1/i.height,xOffset:i.left,yOffset:i.top}}static swap(t,e,i){if(!t)return;const s=t[e];t[e]=t[i],t[i]=s}static canBeRotated(t){var e;return!(!t||t.w===t.h||t.locked||t.noResize||(e=t.grid)!=null&&e.opts.disableResize||t.minW&&t.minW===t.maxW||t.minH&&t.minH===t.maxH)}}class C{constructor(t={}){this.addedNodes=[],this.removedNodes=[],this.defaultColumn=12,this.column=t.column||this.defaultColumn,this.column>this.defaultColumn&&(this.defaultColumn=this.column),this.maxRow=t.maxRow,this._float=t.float,this.nodes=t.nodes||[],this.onChange=t.onChange}batchUpdate(t=!0,e=!0){return!!this.batchMode===t?this:(this.batchMode=t,t?(this._prevFloat=this._float,this._float=!0,this.cleanNodes(),this.saveInitial()):(this._float=this._prevFloat,delete this._prevFloat,e&&this._packNodes(),this._notify()),this)}_useEntireRowArea(t,e){return(!this.float||this.batchMode&&!this._prevFloat)&&!this._hasLocked&&(!t._moving||t._skipDown||e.y<=t.y)}_fixCollisions(t,e=t,i,s={}){if(this.sortNodes(-1),i=i||this.collide(t,e),!i)return!1;if(t._moving&&!s.nested&&!this.float&&this.swap(t,i))return!0;let r=e;!this._loading&&this._useEntireRowArea(t,e)&&(r={x:0,w:this.column,y:e.y,h:e.h},i=this.collide(t,r,s.skip));let n=!1;const o={nested:!0,pack:!1};let d=0;for(;i=i||this.collide(t,r,s.skip);){if(d++>this.nodes.length*2)throw new Error("Infinite collide check");let u;if(i.locked||this._loading||t._moving&&!t._skipDown&&e.y>t.y&&!this.float&&(!this.collide(i,{...i,y:t.y},t)||!this.collide(i,{...i,y:e.y-i.h},t))){t._skipDown=t._skipDown||e.y>t.y;const a={...e,y:i.y+i.h,...o};u=this._loading&&h.samePos(t,a)?!0:this.moveNode(t,a),(i.locked||this._loading)&&u?h.copyPos(e,t):!i.locked&&u&&s.pack&&(this._packNodes(),e.y=i.y+i.h,h.copyPos(t,e)),n=n||u}else u=this.moveNode(i,{...i,y:e.y+e.h,skip:t,...o});if(!u)return n;i=void 0}return n}collide(t,e=t,i){const s=t._id,r=i==null?void 0:i._id;return this.nodes.find(n=>n._id!==s&&n._id!==r&&h.isIntercepted(n,e))}collideAll(t,e=t,i){const s=t._id,r=i==null?void 0:i._id;return this.nodes.filter(n=>n._id!==s&&n._id!==r&&h.isIntercepted(n,e))}directionCollideCoverage(t,e,i){if(!e.rect||!t._rect)return;const s=t._rect,r={...e.rect};r.y>s.y?(r.h+=r.y-s.y,r.y=s.y):r.h+=s.y-r.y,r.x>s.x?(r.w+=r.x-s.x,r.x=s.x):r.w+=s.x-r.x;let n,o=.5;for(let d of i){if(d.locked||!d._rect)break;const u=d._rect;let a=Number.MAX_VALUE,l=Number.MAX_VALUE;s.y<u.y?a=(r.y+r.h-u.y)/u.h:s.y+s.h>u.y+u.h&&(a=(u.y+u.h-r.y)/u.h),s.x<u.x?l=(r.x+r.w-u.x)/u.w:s.x+s.w>u.x+u.w&&(l=(u.x+u.w-r.x)/u.w);const c=Math.min(l,a);c>o&&(o=c,n=d)}return e.collide=n,n}cacheRects(t,e,i,s,r,n){return this.nodes.forEach(o=>o._rect={y:o.y*e+i,x:o.x*t+n,w:o.w*t-n-s,h:o.h*e-i-r}),this}swap(t,e){if(!e||e.locked||!t||t.locked)return!1;function i(){const r=e.x,n=e.y;return e.x=t.x,e.y=t.y,t.h!=e.h?(t.x=r,t.y=e.y+e.h):t.w!=e.w?(t.x=e.x+e.w,t.y=n):(t.x=r,t.y=n),t._dirty=e._dirty=!0,!0}let s;if(t.w===e.w&&t.h===e.h&&(t.x===e.x||t.y===e.y)&&(s=h.isTouching(t,e)))return i();if(s!==!1){if(t.w===e.w&&t.x===e.x&&(s||(s=h.isTouching(t,e)))){if(e.y<t.y){const r=t;t=e,e=r}return i()}if(s!==!1){if(t.h===e.h&&t.y===e.y&&(s||(s=h.isTouching(t,e)))){if(e.x<t.x){const r=t;t=e,e=r}return i()}return!1}}}isAreaEmpty(t,e,i,s){const r={x:t||0,y:e||0,w:i||1,h:s||1};return!this.collide(r)}compact(t="compact",e=!0){if(this.nodes.length===0)return this;e&&this.sortNodes();const i=this.batchMode;i||this.batchUpdate();const s=this._inColumnResize;s||(this._inColumnResize=!0);const r=this.nodes;return this.nodes=[],r.forEach((n,o,d)=>{let u;n.locked||(n.autoPosition=!0,t==="list"&&o&&(u=d[o-1])),this.addNode(n,!1,u)}),s||delete this._inColumnResize,i||this.batchUpdate(!1),this}set float(t){this._float!==t&&(this._float=t||!1,t||this._packNodes()._notify())}get float(){return this._float||!1}sortNodes(t=1){return this.nodes=h.sort(this.nodes,t),this}_packNodes(){return this.batchMode?this:(this.sortNodes(),this.float?this.nodes.forEach(t=>{if(t._updating||t._orig===void 0||t.y===t._orig.y)return;let e=t.y;for(;e>t._orig.y;)--e,this.collide(t,{x:t.x,y:e,w:t.w,h:t.h})||(t._dirty=!0,t.y=e)}):this.nodes.forEach((t,e)=>{if(!t.locked)for(;t.y>0;){const i=e===0?0:t.y-1;if(!(e===0||!this.collide(t,{x:t.x,y:i,w:t.w,h:t.h})))break;t._dirty=t.y!==i,t.y=i}}),this)}prepareNode(t,e){t._id=t._id??C._idSeq++;const i=t.id;if(i){let r=1;for(;this.nodes.find(n=>n.id===t.id&&n!==t);)t.id=i+"_"+r++}(t.x===void 0||t.y===void 0||t.x===null||t.y===null)&&(t.autoPosition=!0);const s={x:0,y:0,w:1,h:1};return h.defaults(t,s),t.autoPosition||delete t.autoPosition,t.noResize||delete t.noResize,t.noMove||delete t.noMove,h.sanitizeMinMax(t),typeof t.x=="string"&&(t.x=Number(t.x)),typeof t.y=="string"&&(t.y=Number(t.y)),typeof t.w=="string"&&(t.w=Number(t.w)),typeof t.h=="string"&&(t.h=Number(t.h)),isNaN(t.x)&&(t.x=s.x,t.autoPosition=!0),isNaN(t.y)&&(t.y=s.y,t.autoPosition=!0),isNaN(t.w)&&(t.w=s.w),isNaN(t.h)&&(t.h=s.h),this.nodeBoundFix(t,e),t}nodeBoundFix(t,e){const i=t._orig||h.copyPos({},t);if(t.maxW&&(t.w=Math.min(t.w||1,t.maxW)),t.maxH&&(t.h=Math.min(t.h||1,t.maxH)),t.minW&&(t.w=Math.max(t.w||1,t.minW)),t.minH&&(t.h=Math.max(t.h||1,t.minH)),(t.x||0)+(t.w||1)>this.column&&this.column<this.defaultColumn&&!this._inColumnResize&&!this.skipCacheUpdate&&t._id!=null&&this.findCacheLayout(t,this.defaultColumn)===-1){const r={...t};r.autoPosition||r.x===void 0?(delete r.x,delete r.y):r.x=Math.min(this.defaultColumn-1,r.x),r.w=Math.min(this.defaultColumn,r.w||1),this.cacheOneLayout(r,this.defaultColumn)}return t.w>this.column?t.w=this.column:t.w<1&&(t.w=1),this.maxRow&&t.h>this.maxRow?t.h=this.maxRow:t.h<1&&(t.h=1),t.x<0&&(t.x=0),t.y<0&&(t.y=0),t.x+t.w>this.column&&(e?t.w=this.column-t.x:t.x=this.column-t.w),this.maxRow&&t.y+t.h>this.maxRow&&(e?t.h=this.maxRow-t.y:t.y=this.maxRow-t.h),h.samePos(t,i)||(t._dirty=!0),this}getDirtyNodes(t){return t?this.nodes.filter(e=>e._dirty&&!h.samePos(e,e._orig)):this.nodes.filter(e=>e._dirty)}_notify(t){if(this.batchMode||!this.onChange)return this;const e=(t||[]).concat(this.getDirtyNodes());return this.onChange(e),this}cleanNodes(){return this.batchMode?this:(this.nodes.forEach(t=>{delete t._dirty,delete t._lastTried}),this)}saveInitial(){return this.nodes.forEach(t=>{t._orig=h.copyPos({},t),delete t._dirty}),this._hasLocked=this.nodes.some(t=>t.locked),this}restoreInitial(){return this.nodes.forEach(t=>{!t._orig||h.samePos(t,t._orig)||(h.copyPos(t,t._orig),t._dirty=!0)}),this._notify(),this}findEmptyPosition(t,e=this.nodes,i=this.column,s){const r=s?s.y*i+(s.x+s.w):0;let n=!1;for(let o=r;!n;++o){const d=o%i,u=Math.floor(o/i);if(d+t.w>i)continue;const a={x:d,y:u,w:t.w,h:t.h};e.find(l=>h.isIntercepted(a,l))||((t.x!==d||t.y!==u)&&(t._dirty=!0),t.x=d,t.y=u,delete t.autoPosition,n=!0)}return n}addNode(t,e=!1,i){const s=this.nodes.find(n=>n._id===t._id);if(s)return s;this._inColumnResize?this.nodeBoundFix(t):this.prepareNode(t),delete t._temporaryRemoved,delete t._removeDOM;let r;return t.autoPosition&&this.findEmptyPosition(t,this.nodes,this.column,i)&&(delete t.autoPosition,r=!0),this.nodes.push(t),e&&this.addedNodes.push(t),r||this._fixCollisions(t),this.batchMode||this._packNodes()._notify(),t}removeNode(t,e=!0,i=!1){return this.nodes.find(s=>s._id===t._id)?(i&&this.removedNodes.push(t),e&&(t._removeDOM=!0),this.nodes=this.nodes.filter(s=>s._id!==t._id),t._isAboutToRemove||this._packNodes(),this._notify([t]),this):this}removeAll(t=!0,e=!0){if(delete this._layouts,!this.nodes.length)return this;t&&this.nodes.forEach(s=>s._removeDOM=!0);const i=this.nodes;return this.removedNodes=e?i:[],this.nodes=[],this._notify(i)}moveNodeCheck(t,e){if(!this.changedPosConstrain(t,e))return!1;if(e.pack=!0,!this.maxRow)return this.moveNode(t,e);let i;const s=new C({column:this.column,float:this.float,nodes:this.nodes.map(n=>n._id===t._id?(i={...n},i):{...n})});if(!i)return!1;const r=s.moveNode(i,e)&&s.getRow()<=Math.max(this.getRow(),this.maxRow);if(!r&&!e.resizing&&e.collide){const n=e.collide.el.gridstackNode;if(this.swap(t,n))return this._notify(),!0}return r?(s.nodes.filter(n=>n._dirty).forEach(n=>{const o=this.nodes.find(d=>d._id===n._id);o&&(h.copyPos(o,n),o._dirty=!0)}),this._notify(),!0):!1}willItFit(t){if(delete t._willFitPos,!this.maxRow)return!0;const e=new C({column:this.column,float:this.float,nodes:this.nodes.map(s=>({...s}))}),i={...t};return this.cleanupNode(i),delete i.el,delete i._id,delete i.content,delete i.grid,e.addNode(i),e.getRow()<=this.maxRow?(t._willFitPos=h.copyPos({},i),!0):!1}changedPosConstrain(t,e){return e.w=e.w||t.w,e.h=e.h||t.h,t.x!==e.x||t.y!==e.y?!0:(t.maxW&&(e.w=Math.min(e.w,t.maxW)),t.maxH&&(e.h=Math.min(e.h,t.maxH)),t.minW&&(e.w=Math.max(e.w,t.minW)),t.minH&&(e.h=Math.max(e.h,t.minH)),t.w!==e.w||t.h!==e.h)}moveNode(t,e){var u,a;if(!t||!e)return!1;let i;e.pack===void 0&&!this.batchMode&&(i=e.pack=!0),typeof e.x!="number"&&(e.x=t.x),typeof e.y!="number"&&(e.y=t.y),typeof e.w!="number"&&(e.w=t.w),typeof e.h!="number"&&(e.h=t.h);const s=t.w!==e.w||t.h!==e.h,r=h.copyPos({},t,!0);if(h.copyPos(r,e),this.nodeBoundFix(r,s),h.copyPos(e,r),!e.forceCollide&&h.samePos(t,e))return!1;const n=h.copyPos({},t),o=this.collideAll(t,r,e.skip);let d=!0;if(o.length){const l=t._moving&&!e.nested;let c=l?this.directionCollideCoverage(t,e,o):o[0];if(l&&c&&((a=(u=t.grid)==null?void 0:u.opts)!=null&&a.subGridDynamic)&&!t.grid._isTemp){const p=h.areaIntercept(e.rect,c._rect),y=h.area(e.rect),_=h.area(c._rect);p/(y<_?y:_)>.8&&(c.grid.makeSubGrid(c.el,void 0,t),c=void 0)}c?d=!this._fixCollisions(t,r,c,e):(d=!1,i&&delete e.pack)}return d&&!h.samePos(t,r)&&(t._dirty=!0,h.copyPos(t,r)),e.pack&&this._packNodes()._notify(),!h.samePos(t,n)}getRow(){return this.nodes.reduce((t,e)=>Math.max(t,e.y+e.h),0)}beginUpdate(t){return t._updating||(t._updating=!0,delete t._skipDown,this.batchMode||this.saveInitial()),this}endUpdate(){const t=this.nodes.find(e=>e._updating);return t&&(delete t._updating,delete t._skipDown),this}save(t=!0,e,i){var o;const s=((o=this._layouts)==null?void 0:o.length)||0;let r;s&&(i?i!==this.column&&(r=this._layouts[i]):this.column!==s-1&&(r=this._layouts[s-1]));const n=[];return this.sortNodes(),this.nodes.forEach(d=>{const u=r==null?void 0:r.find(l=>l._id===d._id),a={...d,...u||{}};h.removeInternalForSave(a,!t),e&&e(d,a),n.push(a)}),n}layoutsNodesChange(t){return!this._layouts||this._inColumnResize?this:(this._layouts.forEach((e,i)=>{if(!e||i===this.column)return this;if(i<this.column)this._layouts[i]=void 0;else{const s=i/this.column;t.forEach(r=>{if(!r._orig)return;const n=e.find(o=>o._id===r._id);n&&(n.y>=0&&r.y!==r._orig.y&&(n.y+=r.y-r._orig.y,n.y<0&&(n.y=0)),r.x!==r._orig.x&&(n.x=Math.round(r.x*s),n.x<0&&(n.x=0)),r.w!==r._orig.w&&(n.w=Math.round(r.w*s),n.w<1&&(n.w=1)))})}}),this)}columnChanged(t,e,i="moveScale"){var o;if(!this.nodes.length||!e||t===e)return this;const s=i==="compact"||i==="list";s&&this.sortNodes(1),e<t&&this.cacheLayout(this.nodes,t),this.batchUpdate();let r=[],n=s?this.nodes:h.sort(this.nodes,-1);if(e>t&&this._layouts){const d=this._layouts[e]||[],u=this._layouts.length-1;!d.length&&t!==u&&((o=this._layouts[u])!=null&&o.length)&&(t=u,this._layouts[u].forEach(a=>{const l=n.find(c=>c._id===a._id);l&&(!s&&!a.autoPosition&&(l.x=a.x??l.x,l.y=a.y??l.y),l.w=a.w??l.w,(a.x==null||a.y===void 0)&&(l.autoPosition=!0))})),d.forEach(a=>{const l=n.findIndex(c=>c._id===a._id);if(l!==-1){const c=n[l];if(s){c.w=a.w;return}(a.autoPosition||isNaN(a.x)||isNaN(a.y))&&this.findEmptyPosition(a,r),a.autoPosition||(c.x=a.x??c.x,c.y=a.y??c.y,c.w=a.w??c.w,r.push(c)),n.splice(l,1)}})}if(s)this.compact(i,!1);else{if(n.length)if(typeof i=="function")i(e,t,r,n);else{const d=s||i==="none"?1:e/t,u=i==="move"||i==="moveScale",a=i==="scale"||i==="moveScale";n.forEach(l=>{l.x=e===1?0:u?Math.round(l.x*d):Math.min(l.x,e-1),l.w=e===1||t===1?1:a?Math.round(l.w*d)||1:Math.min(l.w,e),r.push(l)}),n=[]}r=h.sort(r,-1),this._inColumnResize=!0,this.nodes=[],r.forEach(d=>{this.addNode(d,!1),delete d._orig})}return this.nodes.forEach(d=>delete d._orig),this.batchUpdate(!1,!s),delete this._inColumnResize,this}cacheLayout(t,e,i=!1){const s=[];return t.forEach((r,n)=>{if(r._id===void 0){const o=r.id?this.nodes.find(d=>d.id===r.id):void 0;r._id=(o==null?void 0:o._id)??C._idSeq++}s[n]={x:r.x,y:r.y,w:r.w,_id:r._id}}),this._layouts=i?[]:this._layouts||[],this._layouts[e]=s,this}cacheOneLayout(t,e){t._id=t._id??C._idSeq++;const i={x:t.x,y:t.y,w:t.w,_id:t._id};(t.autoPosition||t.x===void 0)&&(delete i.x,delete i.y,t.autoPosition&&(i.autoPosition=!0)),this._layouts=this._layouts||[],this._layouts[e]=this._layouts[e]||[];const s=this.findCacheLayout(t,e);return s===-1?this._layouts[e].push(i):this._layouts[e][s]=i,this}findCacheLayout(t,e){var i,s;return((s=(i=this._layouts)==null?void 0:i[e])==null?void 0:s.findIndex(r=>r._id===t._id))??-1}removeNodeFromLayoutCache(t){if(this._layouts)for(let e=0;e<this._layouts.length;e++){const i=this.findCacheLayout(t,e);i!==-1&&this._layouts[e].splice(i,1)}}cleanupNode(t){for(const e in t)e[0]==="_"&&e!=="_id"&&delete t[e];return this}}C._idSeq=0;const w={alwaysShowResizeHandle:"mobile",animate:!0,auto:!0,cellHeight:"auto",cellHeightThrottle:100,cellHeightUnit:"px",column:12,draggable:{handle:".grid-stack-item-content",appendTo:"body",scroll:!0},handle:".grid-stack-item-content",itemClass:"grid-stack-item",margin:10,marginUnit:"px",maxRow:0,minRow:0,placeholderClass:"grid-stack-placeholder",placeholderText:"",removableOptions:{accept:"grid-stack-item",decline:"grid-stack-non-removable"},resizable:{handles:"se"},rtl:"auto"};class f{}const E=typeof window<"u"&&typeof document<"u"&&("ontouchstart"in document||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0);class b{}function N(m,t){m.touches.length>1||(m.cancelable&&m.preventDefault(),h.simulateMouseEvent(m.changedTouches[0],t))}function I(m,t){m.cancelable&&m.preventDefault(),h.simulateMouseEvent(m,t)}function T(m){b.touchHandled||(b.touchHandled=!0,N(m,"mousedown"))}function M(m){b.touchHandled&&N(m,"mousemove")}function k(m){if(!b.touchHandled)return;b.pointerLeaveTimeout&&(window.clearTimeout(b.pointerLeaveTimeout),delete b.pointerLeaveTimeout);const t=!!f.dragElement;N(m,"mouseup"),t||N(m,"click"),b.touchHandled=!1}function L(m){m.pointerType!=="mouse"&&m.target.releasePointerCapture(m.pointerId)}function W(m){f.dragElement&&m.pointerType!=="mouse"&&I(m,"mouseenter")}function G(m){f.dragElement&&m.pointerType!=="mouse"&&(b.pointerLeaveTimeout=window.setTimeout(()=>{delete b.pointerLeaveTimeout,I(m,"mouseleave")},10))}class S{constructor(t,e,i){this.host=t,this.dir=e,this.option=i,this.moving=!1,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this._init()}_init(){if(this.option.element)try{this.el=this.option.element instanceof HTMLElement?this.option.element:this.host.querySelector(this.option.element)}catch(t){this.option.element=void 0,console.error("Query for resizeable handle failed, falling back",t)}return this.el||(this.el=document.createElement("div"),this.host.appendChild(this.el)),this.el.classList.add("ui-resizable-handle"),this.el.classList.add(`${S.prefix}${this.dir}`),this.el.style.zIndex="100",this.el.style.userSelect="none",this.el.addEventListener("mousedown",this._mouseDown),E&&(this.el.addEventListener("touchstart",T),this.el.addEventListener("pointerdown",L)),this}destroy(){return this.moving&&this._mouseUp(this.mouseDownEvent),this.el.removeEventListener("mousedown",this._mouseDown),E&&(this.el.removeEventListener("touchstart",T),this.el.removeEventListener("pointerdown",L)),this.option.element||this.host.removeChild(this.el),delete this.el,delete this.host,this}_mouseDown(t){this.mouseDownEvent=t,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),E&&(this.el.addEventListener("touchmove",M),this.el.addEventListener("touchend",k)),t.stopPropagation(),t.preventDefault()}_mouseMove(t){const e=this.mouseDownEvent;this.moving?this._triggerEvent("move",t):Math.abs(t.x-e.x)+Math.abs(t.y-e.y)>2&&(this.moving=!0,this._triggerEvent("start",this.mouseDownEvent),this._triggerEvent("move",t),document.addEventListener("keydown",this._keyEvent)),t.stopPropagation()}_mouseUp(t){this.moving&&(this._triggerEvent("stop",t),document.removeEventListener("keydown",this._keyEvent)),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),E&&(this.el.removeEventListener("touchmove",M),this.el.removeEventListener("touchend",k)),delete this.moving,delete this.mouseDownEvent,t.stopPropagation(),t.preventDefault()}_keyEvent(t){var e,i;t.key==="Escape"&&((i=(e=this.host.gridstackNode)==null?void 0:e.grid)==null||i.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent))}_triggerEvent(t,e){return this.option[t]&&this.option[t](e),this}}S.prefix="ui-resizable-";class P{constructor(){this._eventRegister={}}get disabled(){return this._disabled}on(t,e){this._eventRegister[t]=e}off(t){delete this._eventRegister[t]}enable(){this._disabled=!1}disable(){this._disabled=!0}destroy(){delete this._eventRegister}triggerEvent(t,e){if(!this.disabled&&this._eventRegister&&this._eventRegister[t])return this._eventRegister[t](e)}}class z extends P{constructor(t,e={}){super(),this.el=t,this.option=e,this.rectScale={x:1,y:1},this._ui=()=>{const s=this.el.parentElement.getBoundingClientRect(),r={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},n=this.temporalRect||r;return{position:{left:this.option.rtl?(s.right-n.right)*this.rectScale.x:(n.left-s.left)*this.rectScale.x,top:(n.top-s.top)*this.rectScale.y},size:{width:n.width*this.rectScale.x,height:n.height*this.rectScale.y}}},this._mouseOver=this._mouseOver.bind(this),this._mouseOut=this._mouseOut.bind(this),this.enable(),this._setupAutoHide(this.option.autoHide),this._setupHandlers()}on(t,e){super.on(t,e)}off(t){super.off(t)}enable(){super.enable(),this.el.classList.remove("ui-resizable-disabled"),this._setupAutoHide(this.option.autoHide)}disable(){super.disable(),this.el.classList.add("ui-resizable-disabled"),this._setupAutoHide(!1)}destroy(){this._removeHandlers(),this._setupAutoHide(!1),delete this.el,super.destroy()}updateOption(t){const e=t.handles&&t.handles!==this.option.handles,i=t.autoHide&&t.autoHide!==this.option.autoHide;return Object.keys(t).forEach(s=>this.option[s]=t[s]),e&&(this._removeHandlers(),this._setupHandlers()),i&&this._setupAutoHide(this.option.autoHide),this}_setupAutoHide(t){return t?(this.el.classList.add("ui-resizable-autohide"),this.el.addEventListener("mouseover",this._mouseOver),this.el.addEventListener("mouseout",this._mouseOut)):(this.el.classList.remove("ui-resizable-autohide"),this.el.removeEventListener("mouseover",this._mouseOver),this.el.removeEventListener("mouseout",this._mouseOut),f.overResizeElement===this&&delete f.overResizeElement),this}_mouseOver(t){f.overResizeElement||f.dragElement||(f.overResizeElement=this,this.el.classList.remove("ui-resizable-autohide"))}_mouseOut(t){f.overResizeElement===this&&(delete f.overResizeElement,this.el.classList.add("ui-resizable-autohide"))}_setupHandlers(){return this.handlers=this.option.handles.split(",").map(t=>t.trim()).map(t=>new S(this.el,t,{element:this.option.element,start:e=>this._resizeStart(e),stop:e=>this._resizeStop(e),move:e=>this._resizing(e,t)})),this}_resizeStart(t){this.sizeToContent=h.shouldSizeToContent(this.el.gridstackNode,!0),this.originalRect=this.el.getBoundingClientRect(),this.scrollEl=h.getScrollElement(this.el),this.scrollY=this.scrollEl.scrollTop,this.scrolled=0,this.startEvent=t,this._setupHelper(),this._applyChange();const e=h.initEvent(t,{type:"resizestart",target:this.el});return this.option.start&&this.option.start(e,this._ui()),this.el.classList.add("ui-resizable-resizing"),this.triggerEvent("resizestart",e),this}_resizing(t,e){this.scrolled=this.scrollEl.scrollTop-this.scrollY,this.temporalRect=this._getChange(t,e),this._applyChange();const i=h.initEvent(t,{type:"resize",target:this.el});return i.resizeDir=e,i.hasMovedX=this.option.rtl?e.includes("e"):e.includes("w"),i.hasMovedY=e.includes("n"),this.option.resize&&this.option.resize(i,this._ui()),this.triggerEvent("resize",i),this}_resizeStop(t){const e=h.initEvent(t,{type:"resizestop",target:this.el});return this._cleanHelper(),this.option.stop&&this.option.stop(e),this.el.classList.remove("ui-resizable-resizing"),this.triggerEvent("resizestop",e),delete this.startEvent,delete this.originalRect,delete this.temporalRect,delete this.scrollY,delete this.scrolled,this}_setupHelper(){this.elOriginStyleVal=z._originStyleProp.map(i=>this.el.style[i]),this.parentOriginStylePosition=this.el.parentElement.style.position;const t=this.el.parentElement,e=h.getValuesFromTransformedElement(t);return this.rectScale={x:e.xScale,y:e.yScale},getComputedStyle(this.el.parentElement).position.match(/static/)&&(this.el.parentElement.style.position="relative"),this.el.style.position="absolute",this.el.style.opacity="0.8",this}_cleanHelper(){return z._originStyleProp.forEach((t,e)=>{this.el.style[t]=this.elOriginStyleVal[e]||null}),this.el.parentElement.style.position=this.parentOriginStylePosition||null,this}_getChange(t,e){const i=this.startEvent,s={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,right:this.originalRect.right,top:this.originalRect.top-this.scrolled},r=t.clientX-i.clientX,n=this.sizeToContent?0:t.clientY-i.clientY;let o,d;const u=this.option.rtl;!u&&e.indexOf("e")>-1?s.width+=r:u&&e.indexOf("w")>-1?s.width-=r:!u&&e.indexOf("w")>-1?(s.width-=r,s.left+=r,o=!0):u&&e.indexOf("e")>-1&&(s.width+=r,s.right+=r,o=!0),e.indexOf("s")>-1?s.height+=n:e.indexOf("n")>-1&&(s.height-=n,s.top+=n,d=!0);const a=this._constrainSize(s.width,s.height,o,d);return Math.round(s.width)!==Math.round(a.width)&&(!u&&e.indexOf("w")>-1?s.left+=s.width-a.width:u&&e.indexOf("e")>-1&&(s.right-=s.width-a.width),s.width=a.width),Math.round(s.height)!==Math.round(a.height)&&(e.indexOf("n")>-1&&(s.top+=s.height-a.height),s.height=a.height),s}_constrainSize(t,e,i,s){const r=this.option,n=(i?r.maxWidthMoveLeft:r.maxWidth)||Number.MAX_SAFE_INTEGER,o=r.minWidth/this.rectScale.x||t,d=(s?r.maxHeightMoveUp:r.maxHeight)||Number.MAX_SAFE_INTEGER,u=r.minHeight/this.rectScale.y||e,a=Math.min(n,Math.max(o,t)),l=Math.min(d,Math.max(u,e));return{width:a,height:l}}_applyChange(){let t={left:0,right:0,top:0,width:0,height:0};if(this.el.style.position==="absolute"){const e=this.el.parentElement,{left:i,right:s,top:r}=e.getBoundingClientRect();t={left:i,right:s,top:r,width:0,height:0}}return this.temporalRect?(Object.entries(this.temporalRect).forEach(([e,i])=>{if(this.option.rtl?e==="left":e==="right")return;const s=e==="width"||e==="left"||e==="right"?this.rectScale.x:e==="height"||e==="top"?this.rectScale.y:1;let r;e==="right"?r=(t.right-i)*this.rectScale.x+"px":r=(i-t[e])*s+"px",this.el.style[e]=r}),this):this}_removeHandlers(){return this.handlers.forEach(t=>t.destroy()),delete this.handlers,this}}z._originStyleProp=["width","height","position","left","right","top","opacity","zIndex"];const F='input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle';class D extends P{constructor(t,e={}){var r;super(),this.el=t,this.option=e,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},this._autoScrollTick=()=>{const n=this.helper,o=this._autoScrollContainer;if(!n||!o){this._stopScrolling();return}const d=this._getClipping(n,o);if(d===0){this._stopScrolling();return}if(!this._autoScrollMaxSpeed){const p=window.innerHeight||document.documentElement.clientHeight;this._autoScrollMaxSpeed=Math.max(p/150,4)}const u=Math.abs(d),a=Math.min(u*.5,this._autoScrollMaxSpeed),l=d>0?a:-a,c=o.scrollTop;if(o.scrollTop+=l,o.scrollTop===c){this._stopScrolling();return}this.dragging&&this.lastDrag&&(this._dragFollow(this.lastDrag),this._callDrag(this.lastDrag)),this._autoScrollAnimId=requestAnimationFrame(this._autoScrollTick)};const i=(r=e==null?void 0:e.handle)==null?void 0:r.substring(1),s=t.gridstackNode;this.dragEls=!i||t.classList.contains(i)?[t]:s!=null&&s.subGrid?[t.querySelector(e.handle)||t]:this.getAllHandles(),this.dragEls.length===0&&(this.dragEls=[t]),this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this.enable()}getAllHandles(){return Array.from(this.el.querySelectorAll(this.option.handle)).filter(t=>{if(!(t instanceof HTMLElement))return!1;const e=t.closest(".grid-stack-item");return e===this.el||!e})}on(t,e){super.on(t,e)}off(t){super.off(t)}enable(){this.disabled!==!1&&(super.enable(),this.dragEls.forEach(t=>{t.addEventListener("mousedown",this._mouseDown),E&&(t.addEventListener("touchstart",T),t.addEventListener("pointerdown",L))}),this.el.classList.remove("ui-draggable-disabled"))}disable(t=!1){this.disabled!==!0&&(super.disable(),this.dragEls.forEach(e=>{e.removeEventListener("mousedown",this._mouseDown),E&&(e.removeEventListener("touchstart",T),e.removeEventListener("pointerdown",L))}),t||this.el.classList.add("ui-draggable-disabled"))}destroy(){this.dragTimeout&&window.clearTimeout(this.dragTimeout),delete this.dragTimeout,this.mouseDownEvent&&this._mouseUp(this.mouseDownEvent),this.disable(!0),delete this.el,delete this.helper,delete this.option,super.destroy()}updateOption(t){return Object.keys(t).forEach(e=>this.option[e]=t[e]),this}_mouseDown(t){if(b.touchHandled&&t.isTrusted&&(b.touchHandled=!1),!f.mouseHandled)return t.button!==0||!this.dragEls.find(e=>e===t.target)&&t.target.closest(F)||this.option.cancel&&t.target.closest(this.option.cancel)||(this.mouseDownEvent=t,delete this.dragging,delete f.dragElement,delete f.dropElement,delete this._autoScrollMaxSpeed,delete this._autoScrollContainer,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),E&&(t.currentTarget.addEventListener("touchmove",M),t.currentTarget.addEventListener("touchend",k)),t.preventDefault(),document.activeElement&&document.activeElement.blur(),f.mouseHandled=!0),!0}_callDrag(t){if(!this.dragging)return;const e=h.initEvent(t,{target:this.el,type:"drag"});this.option.drag&&this.option.drag(e,this.ui()),this.triggerEvent("drag",e)}_mouseMove(t){var i;const e=this.mouseDownEvent;if(this.lastDrag=t,this.dragging)if(this._dragFollow(t),f.pauseDrag){const s=Number.isInteger(f.pauseDrag)?f.pauseDrag:100;this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>this._callDrag(t),s)}else this._callDrag(t);else if(Math.abs(t.x-e.x)+Math.abs(t.y-e.y)>3){this.dragging=!0,f.dragElement=this;const s=(i=this.el.gridstackNode)==null?void 0:i.grid;s?f.dropElement=s.el.ddElement.ddDroppable:delete f.dropElement,this.helper=this._createHelper(),this._setupHelperContainmentStyle(),this.dragTransform=h.getValuesFromTransformedElement(this.helperContainment),this.dragOffset=this._getDragOffset(t,this.el,this.helperContainment),this._setupHelperStyle(t);const r=h.initEvent(t,{target:this.el,type:"dragstart"});this.option.start&&this.option.start(r,this.ui()),this.triggerEvent("dragstart",r),document.addEventListener("keydown",this._keyEvent)}return!0}_mouseUp(t){var e,i;if(this._stopScrolling(),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),E&&t.currentTarget&&(t.currentTarget.removeEventListener("touchmove",M,!0),t.currentTarget.removeEventListener("touchend",k,!0)),this.dragging){delete this.dragging,(e=this.el.gridstackNode)==null||delete e._origRotate,document.removeEventListener("keydown",this._keyEvent),((i=f.dropElement)==null?void 0:i.el)===this.el.parentElement&&delete f.dropElement,this.helperContainment.style.position=this.parentOriginStylePosition||null,this.helper!==this.el&&this.helper.remove(),this._removeHelperStyle();const s=h.initEvent(t,{target:this.el,type:"dragstop"});this.option.stop&&this.option.stop(s),this.triggerEvent("dragstop",s),f.dropElement&&f.dropElement.drop(t)}delete this.helper,delete this.mouseDownEvent,delete f.dragElement,delete f.dropElement,delete f.mouseHandled,t.preventDefault()}_keyEvent(t){var s,r;const e=this.el.gridstackNode,i=(e==null?void 0:e.grid)||((r=(s=f.dropElement)==null?void 0:s.el)==null?void 0:r.gridstack);if(t.key==="Escape")e&&e._origRotate&&(e._orig=e._origRotate,delete e._origRotate),i==null||i.cancelDrag(),this._mouseUp(this.mouseDownEvent);else if(e&&i&&(t.key==="r"||t.key==="R")){if(!h.canBeRotated(e))return;e._origRotate=e._origRotate||{...e._orig},delete e._moving,i.setAnimation(!1).rotate(e.el,{top:-this.dragOffset.offsetTop,left:-this.dragOffset.offsetX}).setAnimation(),e._moving=!0,this.dragOffset=this._getDragOffset(this.lastDrag,e.el,this.helperContainment),this.helper.style.width=this.dragOffset.width+"px",this.helper.style.height=this.dragOffset.height+"px",h.swap(e._orig,"w","h"),delete e._rect,this._mouseMove(this.lastDrag)}}_createHelper(){let t=this.el;return typeof this.option.helper=="function"?t=this.option.helper(this.el):this.option.helper==="clone"&&(t=h.cloneNode(this.el)),t.parentElement||h.appendTo(t,this.option.appendTo==="parent"?this.el.parentElement:this.option.appendTo),this.dragElementOriginStyle=D.originStyleProp.map(e=>this.el.style[e]),t}_setupHelperStyle(t){var i,s;this.helper.classList.add("ui-draggable-dragging"),(s=(i=this.el.gridstackNode)==null?void 0:i.grid)==null||s.el.classList.add("grid-stack-dragging");const e=this.helper.style;return e.pointerEvents="none",e.width=this.dragOffset.width+"px",e.height=this.dragOffset.height+"px",e.willChange="left, right, top",e.position="fixed",this._dragFollow(t),e.transition="none",setTimeout(()=>{this.helper&&(e.transition=null)},0),this}_removeHelperStyle(){var e,i,s;this.helper.classList.remove("ui-draggable-dragging"),(i=(e=this.el.gridstackNode)==null?void 0:e.grid)==null||i.el.classList.remove("grid-stack-dragging");const t=(s=this.helper)==null?void 0:s.gridstackNode;if(!(t!=null&&t._isAboutToRemove)&&this.dragElementOriginStyle){const r=this.helper,n=this.dragElementOriginStyle.transition||null;r.style.transition=this.dragElementOriginStyle.transition="none",D.originStyleProp.forEach(o=>r.style[o]=this.dragElementOriginStyle[o]||null),setTimeout(()=>r.style.transition=n,50)}return delete this.dragElementOriginStyle,this}_dragFollow(t){const e=this.helper.style,i=this.dragOffset;this.option.rtl?(e.right=(window.innerWidth-t.clientX+i.offsetX)*this.dragTransform.xScale+"px",e.left&&(e.left="")):(e.left=(t.clientX+i.offsetX)*this.dragTransform.xScale+"px",e.right&&(e.right="")),e.top=(t.clientY+i.offsetTop)*this.dragTransform.yScale+"px"}_setupHelperContainmentStyle(){return this.helperContainment=this.helper.parentElement,this.helper.style.position!=="fixed"&&(this.parentOriginStylePosition=this.helperContainment.style.position,getComputedStyle(this.helperContainment).position.match(/static/)&&(this.helperContainment.style.position="relative")),this}_getDragOffset(t,e,i){let s=0,r=0;i&&(s=this.dragTransform.xOffset,r=this.dragTransform.yOffset);const n=e.getBoundingClientRect();let o=this.option.rtl?n.right:n.left,d=this.option.rtl?t.clientX-n.right+s:-t.clientX+n.left-s;return{x:o,top:n.top,offsetX:d,offsetTop:-t.clientY+n.top-r,width:n.width*this.dragTransform.xScale,height:n.height*this.dragTransform.yScale}}updateScrollPosition(t){this._autoScrollContainer=h.getScrollElement(t),this._getClipping(this.helper,this._autoScrollContainer)===0?this._stopScrolling():this._autoScrollAnimId||(this._autoScrollAnimId=requestAnimationFrame(this._autoScrollTick))}_getClipping(t,e){const i=t.getBoundingClientRect(),s=e.getBoundingClientRect(),r=window.innerHeight||document.documentElement.clientHeight;if(i.bottom<s.top||i.top>s.bottom)return 0;const n=i.bottom-Math.min(s.bottom,r),o=i.top-Math.max(s.top,0);return o<0?o:n>0?n:0}_stopScrolling(){this._autoScrollAnimId&&(cancelAnimationFrame(this._autoScrollAnimId),delete this._autoScrollAnimId)}ui(){const e=this.el.parentElement.getBoundingClientRect(),i=this.helper.getBoundingClientRect(),s=this.option.rtl?(e.right-i.right)*this.dragTransform.xScale:(i.left-e.left)*this.dragTransform.xScale;return{position:{top:(i.top-e.top)*this.dragTransform.yScale,left:s}}}}D.originStyleProp=["width","height","transform","transform-origin","transition","pointerEvents","position","left","right","top","minWidth","willChange"];class X extends P{constructor(t,e={}){super(),this.el=t,this.option=e,this._mouseEnter=this._mouseEnter.bind(this),this._mouseLeave=this._mouseLeave.bind(this),this.enable(),this._setupAccept()}on(t,e){super.on(t,e)}off(t){super.off(t)}enable(){this.disabled!==!1&&(super.enable(),this.el.classList.add("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),this.el.addEventListener("mouseenter",this._mouseEnter),this.el.addEventListener("mouseleave",this._mouseLeave),E&&(this.el.addEventListener("pointerenter",W),this.el.addEventListener("pointerleave",G)))}disable(t=!1){this.disabled!==!0&&(super.disable(),this.el.classList.remove("ui-droppable"),t||this.el.classList.add("ui-droppable-disabled"),this.el.removeEventListener("mouseenter",this._mouseEnter),this.el.removeEventListener("mouseleave",this._mouseLeave),E&&(this.el.removeEventListener("pointerenter",W),this.el.removeEventListener("pointerleave",G)))}destroy(){this.disable(!0),this.el.classList.remove("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),super.destroy()}updateOption(t){return Object.keys(t).forEach(e=>this.option[e]=t[e]),this._setupAccept(),this}_mouseEnter(t){if(!f.dragElement||b.touchHandled&&t.isTrusted||!this._canDrop(f.dragElement.el))return;t.preventDefault(),t.stopPropagation(),f.dragElement._stopScrolling(),f.dropElement&&f.dropElement!==this&&f.dropElement._mouseLeave(t,!0),f.dropElement=this;const e=h.initEvent(t,{target:this.el,type:"dropover"});this.option.over&&this.option.over(e,this._ui(f.dragElement)),this.triggerEvent("dropover",e),this.el.classList.add("ui-droppable-over")}_mouseLeave(t,e=!1){var s;if(!f.dragElement||f.dropElement!==this)return;t.preventDefault(),t.stopPropagation(),e&&f.dragElement._stopScrolling();const i=h.initEvent(t,{target:this.el,type:"dropout"});if(this.option.out&&this.option.out(i,this._ui(f.dragElement)),this.triggerEvent("dropout",i),f.dropElement===this&&(delete f.dropElement,!e)){let r,n=this.el.parentElement;for(;!r&&n;)r=(s=n.ddElement)==null?void 0:s.ddDroppable,n=n.parentElement;r&&r._mouseEnter(t)}}drop(t){t.preventDefault();const e=h.initEvent(t,{target:this.el,type:"drop"});this.option.drop&&this.option.drop(e,this._ui(f.dragElement)),this.triggerEvent("drop",e)}_canDrop(t){return t&&(!this.accept||this.accept(t))}_setupAccept(){return this.option.accept?(typeof this.option.accept=="string"?this.accept=t=>t.classList.contains(this.option.accept)||t.matches(this.option.accept):this.accept=this.option.accept,this):this}_ui(t){return{draggable:t.el,...t.ui()}}}class B{static init(t){return t.ddElement||(t.ddElement=new B(t)),t.ddElement}constructor(t){this.el=t}on(t,e){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(t)>-1?this.ddDraggable.on(t,e):this.ddDroppable&&["drop","dropover","dropout"].indexOf(t)>-1?this.ddDroppable.on(t,e):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(t)>-1&&this.ddResizable.on(t,e),this}off(t){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(t)>-1?this.ddDraggable.off(t):this.ddDroppable&&["drop","dropover","dropout"].indexOf(t)>-1?this.ddDroppable.off(t):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(t)>-1&&this.ddResizable.off(t),this}setupDraggable(t){return this.ddDraggable?this.ddDraggable.updateOption(t):this.ddDraggable=new D(this.el,t),this}cleanDraggable(){return this.ddDraggable&&(this.ddDraggable.destroy(),delete this.ddDraggable),this}setupResizable(t){return this.ddResizable?this.ddResizable.updateOption(t):this.ddResizable=new z(this.el,t),this}cleanResizable(){return this.ddResizable&&(this.ddResizable.destroy(),delete this.ddResizable),this}setupDroppable(t){return this.ddDroppable?this.ddDroppable.updateOption(t):this.ddDroppable=new X(this.el,t),this}cleanDroppable(){return this.ddDroppable&&(this.ddDroppable.destroy(),delete this.ddDroppable),this}}class Y{resizable(t,e,i,s){return this._getDDElements(t,e).forEach(r=>{if(e==="disable"||e==="enable")r.ddResizable&&r.ddResizable[e]();else if(e==="destroy")r.ddResizable&&r.cleanResizable();else if(e==="option")r.setupResizable({[i]:s});else{const o=r.el.gridstackNode.grid;let d=r.el.getAttribute("gs-resize-handles")||o.opts.resizable.handles||"e,s,se";d==="all"&&(d="n,e,s,w,se,sw,ne,nw");const u=!o.opts.alwaysShowResizeHandle;r.setupResizable({...o.opts.resizable,handles:d,autoHide:u,start:e.start,stop:e.stop,resize:e.resize,rtl:e.rtl})}}),this}draggable(t,e,i,s){return this._getDDElements(t,e).forEach(r=>{if(e==="disable"||e==="enable")r.ddDraggable&&r.ddDraggable[e]();else if(e==="destroy")r.ddDraggable&&r.cleanDraggable();else if(e==="option")r.setupDraggable({[i]:s});else{const n=r.el.gridstackNode.grid;r.setupDraggable({...n.opts.draggable,start:e.start,stop:e.stop,drag:e.drag,rtl:e.rtl})}}),this}dragIn(t,e){return this._getDDElements(t).forEach(i=>i.setupDraggable(e)),this}droppable(t,e,i,s){return typeof e.accept=="function"&&!e._accept&&(e._accept=e.accept,e.accept=r=>e._accept(r)),this._getDDElements(t,e).forEach(r=>{e==="disable"||e==="enable"?r.ddDroppable&&r.ddDroppable[e]():e==="destroy"?r.ddDroppable&&r.cleanDroppable():e==="option"?r.setupDroppable({[i]:s}):r.setupDroppable(e)}),this}isDroppable(t){var e;return!!((e=t==null?void 0:t.ddElement)!=null&&e.ddDroppable&&!t.ddElement.ddDroppable.disabled)}isDraggable(t){var e;return!!((e=t==null?void 0:t.ddElement)!=null&&e.ddDraggable&&!t.ddElement.ddDraggable.disabled)}isResizable(t){var e;return!!((e=t==null?void 0:t.ddElement)!=null&&e.ddResizable&&!t.ddElement.ddResizable.disabled)}on(t,e,i){return this._getDDElements(t).forEach(s=>s.on(e,r=>{i(r,f.dragElement?f.dragElement.el:r.target,f.dragElement?f.dragElement.helper:null)})),this}off(t,e){return this._getDDElements(t).forEach(i=>i.off(e)),this}_getDDElements(t,e){const i=t.gridstack||e!=="destroy"&&e!=="disable",s=h.getElements(t);return s.length?s.map(n=>n.ddElement||(i?B.init(n):null)).filter(n=>n):[]}}/*!
2
+ * GridStack 12.6.0
3
+ * https://gridstackjs.com/
4
+ *
5
+ * Copyright (c) 2021-2025 Alain Dumesny
6
+ * see root license https://github.com/gridstack/gridstack.js/tree/master/LICENSE
7
+ */const v=new Y;class g{static init(t={},e=".grid-stack"){if(typeof document>"u")return null;const i=g.getGridElement(e);return i?(i.gridstack||(i.gridstack=new g(i,h.cloneDeep(t))),i.gridstack):(console.error(typeof e=="string"?'GridStack.initAll() no grid was found with selector "'+e+`" - element missing or wrong selector ?
8
+ Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`:"GridStack.init() no grid element was passed."),null)}static initAll(t={},e=".grid-stack"){const i=[];return typeof document>"u"||(g.getGridElements(e).forEach(s=>{s.gridstack||(s.gridstack=new g(s,h.cloneDeep(t))),i.push(s.gridstack)}),i.length===0&&console.error('GridStack.initAll() no grid was found with selector "'+e+`" - element missing or wrong selector ?
9
+ Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`)),i}static addGrid(t,e={}){if(!t)return null;let i=t;if(i.gridstack){const n=i.gridstack;return e&&(n.opts={...n.opts,...e}),e.children!==void 0&&n.load(e.children),n}return(!t.classList.contains("grid-stack")||g.addRemoveCB)&&(g.addRemoveCB?i=g.addRemoveCB(t,e,!0,!0):i=h.createDiv(["grid-stack",e.class],t)),g.init(e,i)}static registerEngine(t){g.engineClass=t}get placeholder(){if(!this._placeholder){this._placeholder=h.createDiv([this.opts.placeholderClass,w.itemClass,this.opts.itemClass]);const t=h.createDiv(["placeholder-content"],this._placeholder);this.opts.placeholderText&&(t.textContent=this.opts.placeholderText)}return this._placeholder}constructor(t,e={}){var u;this.el=t,this.opts=e,this.animationDelay=310,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},t.gridstack=this,this.opts=e=e||{},t.classList.contains("grid-stack")||this.el.classList.add("grid-stack"),e.row&&(e.minRow=e.maxRow=e.row,delete e.row);const i=h.toNumber(t.getAttribute("gs-row"));e.column==="auto"&&delete e.column,e.alwaysShowResizeHandle!==void 0&&(e._alwaysShowResizeHandle=e.alwaysShowResizeHandle);const s=e.columnOpts;if(s){const a=s.breakpoints;!s.columnWidth&&!(a!=null&&a.length)?delete e.columnOpts:(s.columnMax=s.columnMax||12,(a==null?void 0:a.length)>1&&a.sort((l,c)=>(c.w||0)-(l.w||0)))}const r={...h.cloneDeep(w),column:h.toNumber(t.getAttribute("gs-column"))||w.column,minRow:i||h.toNumber(t.getAttribute("gs-min-row"))||w.minRow,maxRow:i||h.toNumber(t.getAttribute("gs-max-row"))||w.maxRow,staticGrid:h.toBool(t.getAttribute("gs-static"))||w.staticGrid,sizeToContent:h.toBool(t.getAttribute("gs-size-to-content"))||void 0,draggable:{handle:(e.handleClass?"."+e.handleClass:e.handle?e.handle:"")||w.draggable.handle},removableOptions:{accept:e.itemClass||w.removableOptions.accept,decline:w.removableOptions.decline}};t.getAttribute("gs-animate")&&(r.animate=h.toBool(t.getAttribute("gs-animate"))),e=h.defaults(e,r),this._initMargin(),this.checkDynamicColumn(),this._updateColumnVar(e),e.rtl==="auto"&&(e.rtl=t.style.direction==="rtl"),e.rtl&&this.el.classList.add("grid-stack-rtl");const n=this.el.closest("."+w.itemClass),o=n==null?void 0:n.gridstackNode;if(o&&(o.subGrid=this,this.parentGridNode=o,this.el.classList.add("grid-stack-nested"),o.el.classList.add("grid-stack-sub-grid")),this._isAutoCellHeight=e.cellHeight==="auto",this._isAutoCellHeight||e.cellHeight==="initial")this.cellHeight(void 0);else{typeof e.cellHeight=="number"&&e.cellHeightUnit&&e.cellHeightUnit!==w.cellHeightUnit&&(e.cellHeight=e.cellHeight+e.cellHeightUnit,delete e.cellHeightUnit);const a=e.cellHeight;delete e.cellHeight,this.cellHeight(a)}e.alwaysShowResizeHandle==="mobile"&&(e.alwaysShowResizeHandle=E),this._setStaticClass();const d=e.engineClass||g.engineClass||C;if(this.engine=new d({column:this.getColumn(),float:e.float,maxRow:e.maxRow,onChange:a=>{a.forEach(l=>{const c=l.el;c&&(l._removeDOM?(c&&c.remove(),delete l._removeDOM):this._writePosAttr(c,l))}),this._updateContainerHeight()}}),e.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(a=>this._prepareElement(a)),delete this.engine._loading,this.batchUpdate(!1)),e.children){const a=e.children;delete e.children,a.length&&this.load(a)}this.setAnimation(),e.subGridDynamic&&!f.pauseDrag&&(f.pauseDrag=!0),((u=e.draggable)==null?void 0:u.pause)!==void 0&&(f.pauseDrag=e.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}_updateColumnVar(t=this.opts){this.el.classList.add("gs-"+t.column),typeof t.column=="number"&&this.el.style.setProperty("--gs-column-width",`${100/t.column}%`)}addWidget(t){if(!t)return;if(typeof t=="string"){console.error("V11: GridStack.addWidget() does not support string anymore. see #2736");return}if(t.ELEMENT_NODE)return console.error("V11: GridStack.addWidget() does not support HTMLElement anymore. use makeWidget()"),this.makeWidget(t);let e,i=t;if(i.grid=this,i.el?e=i.el:g.addRemoveCB?e=g.addRemoveCB(this.el,t,!0,!1):e=this.createWidgetDivs(i),!e)return;if(i=e.gridstackNode,i&&e.parentElement===this.el&&this.engine.nodes.find(r=>r._id===i._id))return e;const s=this._readAttr(e);return h.defaults(t,s),this.engine.prepareNode(t),this.el.appendChild(e),this.makeWidget(e,t),e}createWidgetDivs(t){const e=h.createDiv(["grid-stack-item",this.opts.itemClass]),i=h.createDiv(["grid-stack-item-content"],e);return h.lazyLoad(t)?t.visibleObservable||(t.visibleObservable=new IntersectionObserver(([s])=>{var r,n;s.isIntersecting&&((r=t.visibleObservable)==null||r.disconnect(),delete t.visibleObservable,g.renderCB(i,t),(n=t.grid)==null||n.prepareDragDrop(t.el))}),window.setTimeout(()=>{var s;return(s=t.visibleObservable)==null?void 0:s.observe(e)})):g.renderCB(i,t),e}makeSubGrid(t,e,i,s=!0){var p,y,_;let r=t.gridstackNode;if(r||(r=this.makeWidget(t).gridstackNode),(p=r.subGrid)!=null&&p.el)return r.subGrid;let n,o=this;for(;o&&!n;)n=(y=o.opts)==null?void 0:y.subGridOpts,o=(_=o.parentGridNode)==null?void 0:_.grid;e=h.cloneDeep({...this.opts,id:void 0,children:void 0,column:"auto",columnOpts:void 0,layout:"list",subGridOpts:void 0,...n||{},...e||r.subGridOpts||{}}),r.subGridOpts=e;let d;e.column==="auto"&&(d=!0,e.column=Math.max(r.w||1,(i==null?void 0:i.w)||1),delete e.columnOpts);let u=r.el.querySelector(".grid-stack-item-content"),a,l;if(s&&(this._removeDD(r.el),l={...r,x:0,y:0},h.removeInternalForSave(l),delete l.subGridOpts,r.content&&(l.content=r.content,delete r.content),g.addRemoveCB?a=g.addRemoveCB(this.el,l,!0,!1):(a=h.createDiv(["grid-stack-item"]),a.appendChild(u),u=h.createDiv(["grid-stack-item-content"],r.el)),this.prepareDragDrop(r.el)),i){const R=d?e.column:r.w,x=r.h+i.h,H=r.el.style;H.transition="none",this.update(r.el,{w:R,h:x}),setTimeout(()=>H.transition=null)}const c=r.subGrid=g.addGrid(u,e);return i!=null&&i._moving&&(c._isTemp=!0),d&&(c._autoColumn=!0),s&&c.makeWidget(a,l),i&&(i._moving?window.setTimeout(()=>h.simulateMouseEvent(i._event,"mouseenter",c.el),0):c.makeWidget(r.el,r)),this.resizeToContentCheck(!1,r),c}removeAsSubGrid(t){var i;const e=(i=this.parentGridNode)==null?void 0:i.grid;e&&(e.batchUpdate(),e.removeWidget(this.parentGridNode.el,!0,!0),this.engine.nodes.forEach(s=>{s.x+=this.parentGridNode.x,s.y+=this.parentGridNode.y,e.makeWidget(s.el,s)}),e.batchUpdate(!1),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,t&&window.setTimeout(()=>h.simulateMouseEvent(t._event,"mouseenter",e.el),0))}save(t=!0,e=!1,i=g.saveCB,s){const r=this.engine.save(t,i,s);if(r.forEach(n=>{var o;if(t&&n.el&&!n.subGrid&&!i){const d=n.el.querySelector(".grid-stack-item-content");n.content=d==null?void 0:d.innerHTML,n.content||delete n.content}else if(!t&&!i&&delete n.content,(o=n.subGrid)!=null&&o.el){const d=n.w||n.subGrid.getColumn(),u=n.subGrid.save(t,e,i,d);n.subGridOpts=e?u:{children:u},delete n.subGrid}delete n.el}),e){const n=h.cloneDeep(this.opts);n.marginBottom===n.marginTop&&n.marginRight===n.marginLeft&&n.marginTop===n.marginRight&&(n.margin=n.marginTop,delete n.marginTop,delete n.marginRight,delete n.marginBottom,delete n.marginLeft),n.rtl===(this.el.style.direction==="rtl")&&(n.rtl="auto"),this._isAutoCellHeight&&(n.cellHeight="auto"),this._autoColumn&&(n.column="auto");const o=n._alwaysShowResizeHandle;return delete n._alwaysShowResizeHandle,o!==void 0?n.alwaysShowResizeHandle=o:delete n.alwaysShowResizeHandle,h.removeInternalAndSame(n,w),n.children=r,n}return r}load(t,e=g.addRemoveCB||!0){t.forEach(a=>{a.w=a.w||a.minW||1,a.h=a.h||a.minH||1}),t=h.sort(t),this.engine.skipCacheUpdate=this._ignoreLayoutsNodeChange=!0;let i=0;t.forEach(a=>{i=Math.max(i,(a.x||0)+a.w)}),i>this.engine.defaultColumn&&(this.engine.defaultColumn=i);const s=this.getColumn();i>s&&(this.engine.nodes.length===0&&this.responseLayout?(this.engine.nodes=t,this.engine.columnChanged(i,s,this.responseLayout),t=this.engine.nodes,this.engine.nodes=[],delete this.responseLayout):this.engine.cacheLayout(t,i,!0));const r=g.addRemoveCB;typeof e=="function"&&(g.addRemoveCB=e);const n=[];this.batchUpdate();const o=!this.engine.nodes.length,d=o&&this.opts.animate;d&&this.setAnimation(!1),!o&&e&&[...this.engine.nodes].forEach(l=>{if(!l.id)return;h.find(t,l.id)||(g.addRemoveCB&&g.addRemoveCB(this.el,l,!1,!1),n.push(l),this.removeWidget(l.el,!0,!1))}),this.engine._loading=!0;const u=[];return this.engine.nodes=this.engine.nodes.filter(a=>h.find(t,a.id)?(u.push(a),!1):!0),t.forEach(a=>{var c;const l=h.find(u,a.id);if(l){if(h.shouldSizeToContent(l)&&(a.h=l.h),this.engine.nodeBoundFix(a),(a.autoPosition||a.x===void 0||a.y===void 0)&&(a.w=a.w||l.w,a.h=a.h||l.h,this.engine.findEmptyPosition(a)),this.engine.nodes.push(l),h.samePos(l,a)&&this.engine.nodes.length>1&&(this.moveNode(l,{...a,forceCollide:!0}),h.copyPos(a,l)),this.update(l.el,a),(c=a.subGridOpts)!=null&&c.children){const p=l.el.querySelector(".grid-stack");p&&p.gridstack&&p.gridstack.load(a.subGridOpts.children)}}else e&&this.addWidget(a)}),delete this.engine._loading,this.engine.removedNodes=n,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this.engine.skipCacheUpdate,r?g.addRemoveCB=r:delete g.addRemoveCB,d&&this.setAnimation(!0,!0),this}batchUpdate(t=!0){return this.engine.batchUpdate(t),t||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(t=!1){if(this.opts.cellHeight&&this.opts.cellHeight!=="auto"&&(!t||!this.opts.cellHeightUnit||this.opts.cellHeightUnit==="px"))return this.opts.cellHeight;if(this.opts.cellHeightUnit==="rem")return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit==="em")return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit==="cm")return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit==="mm")return this.opts.cellHeight*(96/2.54)/10;const e=this.el.querySelector("."+this.opts.itemClass);if(e){const s=h.toNumber(e.getAttribute("gs-h"))||1;return Math.round(e.offsetHeight/s)}const i=parseInt(this.el.getAttribute("gs-current-row"));return i?Math.round(this.el.getBoundingClientRect().height/i):this.opts.cellHeight}cellHeight(t){if(t!==void 0&&this._isAutoCellHeight!==(t==="auto")&&(this._isAutoCellHeight=t==="auto",this._updateResizeEvent()),(t==="initial"||t==="auto")&&(t=void 0),t===void 0){const i=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;t=this.cellWidth()+i}const e=h.parseHeight(t);return this.opts.cellHeightUnit===e.unit&&this.opts.cellHeight===e.h?this:(this.opts.cellHeightUnit=e.unit,this.opts.cellHeight=e.h,this.el.style.setProperty("--gs-cell-height",`${this.opts.cellHeight}${this.opts.cellHeightUnit}`),this._updateContainerHeight(),this.resizeToContentCheck(),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(t=!1){var e;return t&&((e=this.opts.columnOpts)!=null&&e.breakpointForWindow)?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){var r,n;const t=this.opts.columnOpts;if(!t||!t.columnWidth&&!((r=t.breakpoints)!=null&&r.length))return!1;const e=this.getColumn();let i=e;const s=this._widthOrContainer(!0);if(t.columnWidth)i=Math.min(Math.round(s/t.columnWidth)||1,t.columnMax);else{i=t.columnMax;let o=0;for(;o<t.breakpoints.length&&s<=t.breakpoints[o].w;)i=t.breakpoints[o++].c||e}if(i!==e){const o=(n=t.breakpoints)==null?void 0:n.find(d=>d.c===i);return this.column(i,(o==null?void 0:o.layout)||t.layout),!0}return!1}compact(t="compact",e=!0){return this.engine.compact(t,e),this._triggerChangeEvent(),this}column(t,e="moveScale"){if(!t||t<1||this.opts.column===t)return this;const i=this.getColumn();return this.opts.column=t,this.engine?(this.engine.column=t,this.el.classList.remove("gs-"+i),this._updateColumnVar(),this.engine.columnChanged(i,t,e),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):(this.responseLayout=e,this)}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(t=>t.matches("."+this.opts.itemClass)&&!t.matches("."+this.opts.placeholderClass))}isIgnoreChangeCB(){return this._ignoreLayoutsNodeChange}destroy(t=!0){var e;if(this.el)return this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),t?this.el.parentNode.removeChild(this.el):(this.removeAll(t),this.el.removeAttribute("gs-current-row")),this.parentGridNode&&delete this.parentGridNode.subGrid,delete this.parentGridNode,delete this.opts,(e=this._placeholder)==null||delete e.gridstackNode,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this}float(t){return this.opts.float!==t&&(this.opts.float=this.engine.float=t,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(t,e=!1){const i=this.el.getBoundingClientRect();let s;e?s={top:i.top+document.documentElement.scrollTop,left:i.left}:s={top:this.el.offsetTop,left:this.el.offsetLeft};const r=t.left-s.left,n=t.top-s.top,o=i.width/this.getColumn(),d=i.height/parseInt(this.el.getAttribute("gs-current-row"));return{x:Math.floor(r/o),y:Math.floor(n/d)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow||0)}isAreaEmpty(t,e,i,s){return this.engine.isAreaEmpty(t,e,i,s)}makeWidget(t,e){const i=g.getElement(t);if(!i||i.gridstackNode)return i;i.parentElement||this.el.appendChild(i),this._prepareElement(i,!0,e);const s=i.gridstackNode;this._updateContainerHeight(),s.subGridOpts&&this.makeSubGrid(i,s.subGridOpts,void 0,!1);let r;return this.opts.column===1&&!this._ignoreLayoutsNodeChange&&(r=this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),r&&delete this._ignoreLayoutsNodeChange,i}on(t,e){return t.indexOf(" ")!==-1?(t.split(" ").forEach(s=>this.on(s,e)),this):(t==="change"||t==="added"||t==="removed"||t==="enable"||t==="disable"?(t==="enable"||t==="disable"?this._gsEventHandler[t]=s=>e(s):this._gsEventHandler[t]=s=>{s.detail&&e(s,s.detail)},this.el.addEventListener(t,this._gsEventHandler[t])):t==="drag"||t==="dragstart"||t==="dragstop"||t==="resizestart"||t==="resize"||t==="resizestop"||t==="dropped"||t==="resizecontent"?this._gsEventHandler[t]=e:console.error("GridStack.on("+t+") event not supported"),this)}off(t){return t.indexOf(" ")!==-1?(t.split(" ").forEach(i=>this.off(i)),this):((t==="change"||t==="added"||t==="removed"||t==="enable"||t==="disable")&&this._gsEventHandler[t]&&this.el.removeEventListener(t,this._gsEventHandler[t]),delete this._gsEventHandler[t],this)}offAll(){return Object.keys(this._gsEventHandler).forEach(t=>this.off(t)),this}removeWidget(t,e=!0,i=!0){return t?(g.getElements(t).forEach(s=>{if(s.parentElement&&s.parentElement!==this.el)return;let r=s.gridstackNode;r||(r=this.engine.nodes.find(n=>s===n.el)),r&&(e&&g.addRemoveCB&&g.addRemoveCB(this.el,r,!1,!1),delete s.gridstackNode,this._removeDD(s),this.engine.removeNode(r,e,i),e&&s.parentElement&&s.remove())}),i&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this):(console.error("Error: GridStack.removeWidget(undefined) called"),this)}removeAll(t=!0,e=!0){return this.engine.nodes.forEach(i=>{t&&g.addRemoveCB&&g.addRemoveCB(this.el,i,!1,!1),delete i.el.gridstackNode,this.opts.staticGrid||this._removeDD(i.el)}),this.engine.removeAll(t,e),e&&this._triggerRemoveEvent(),this}setAnimation(t=this.opts.animate,e){return e?setTimeout(()=>{this.opts&&this.setAnimation(t)}):t?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this.opts.animate=t,this}hasAnimationCSS(){return this.el.classList.contains("grid-stack-animate")}setStatic(t,e=!0,i=!0){return!!this.opts.staticGrid===t?this:(t?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(s=>{this.prepareDragDrop(s.el),s.subGrid&&i&&s.subGrid.setStatic(t,e,i)}),e&&this._setStaticClass(),this)}updateOptions(t){var i;const e=this.opts;if(t===e)return this;if(t.acceptWidgets!==void 0&&(e.acceptWidgets=t.acceptWidgets,this._setupAcceptWidget()),t.animate!==void 0&&this.setAnimation(t.animate),t.cellHeight&&this.cellHeight(t.cellHeight),t.class!==void 0&&t.class!==e.class&&(e.class&&this.el.classList.remove(e.class),t.class&&this.el.classList.add(t.class)),t.columnOpts){const s=!!this.opts.columnOpts;this.opts.columnOpts=t.columnOpts,s!==!!this.opts.columnOpts&&this._updateResizeEvent(),this.checkDynamicColumn()}else t.columnOpts===null&&this.opts.columnOpts?(delete this.opts.columnOpts,this._updateResizeEvent()):typeof t.column=="number"&&this.column(t.column);return t.margin!==void 0&&this.margin(t.margin),t.staticGrid!==void 0&&this.setStatic(t.staticGrid),t.disableDrag!==void 0&&!t.staticGrid&&this.enableMove(!t.disableDrag),t.disableResize!==void 0&&!t.staticGrid&&this.enableResize(!t.disableResize),t.float!==void 0&&this.float(t.float),t.row!==void 0?(e.minRow=e.maxRow=e.row=t.row,this._updateContainerHeight()):(t.minRow!==void 0&&(e.minRow=t.minRow,this._updateContainerHeight()),t.maxRow!==void 0&&(e.maxRow=this.engine.maxRow=t.maxRow)),t.lazyLoad!==void 0&&(e.lazyLoad=t.lazyLoad),(i=t.children)!=null&&i.length&&this.load(t.children),this}update(t,e){return g.getElements(t).forEach(i=>{var a;const s=i==null?void 0:i.gridstackNode;if(!s)return;const r={...h.copyPos({},s),...h.cloneDeep(e)};this.engine.nodeBoundFix(r),delete r.autoPosition;const n=["x","y","w","h"];let o;if(n.some(l=>r[l]!==void 0&&r[l]!==s[l])&&(o={},n.forEach(l=>{o[l]=r[l]!==void 0?r[l]:s[l],delete r[l]})),!o&&(r.minW||r.minH||r.maxW||r.maxH)&&(o={}),r.content!==void 0){const l=i.querySelector(".grid-stack-item-content");l&&l.textContent!==r.content&&(s.content=r.content,g.renderCB(l,r),(a=s.subGrid)!=null&&a.el&&(l.appendChild(s.subGrid.el),s.subGrid._updateContainerHeight())),delete r.content}let d=!1,u=!1;for(const l in r)l[0]!=="_"&&s[l]!==r[l]&&(s[l]=r[l],d=!0,u=u||!this.opts.staticGrid&&(l==="noResize"||l==="noMove"||l==="locked"));if(h.sanitizeMinMax(s),o){const l=o.w!==void 0&&o.w!==s.w;this.moveNode(s,o),l&&s.subGrid?s.subGrid.onResize(this.hasAnimationCSS()?s.w:void 0):this.resizeToContentCheck(l,s),delete s._orig}(o||d)&&this._writeAttr(i,s),u&&this.prepareDragDrop(s.el),g.updateCB&&g.updateCB(s)}),this}moveNode(t,e){const i=t._updating;i||this.engine.cleanNodes().beginUpdate(t),this.engine.moveNode(t,e),this._updateContainerHeight(),i||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(t){var c,p;if(!t||(t.classList.remove("size-to-content-max"),!t.clientHeight))return;const e=t.gridstackNode;if(!e)return;const i=e.grid;if(!i||t.parentElement!==i.el)return;const s=i.getCellHeight(!0);if(!s)return;let r=e.h?e.h*s:t.clientHeight,n;if(e.resizeToContentParent&&(n=t.querySelector(e.resizeToContentParent)),n||(n=t.querySelector(g.resizeToContentParent)),!n)return;const o=t.clientHeight-n.clientHeight,d=e.h?e.h*s-o:n.clientHeight;let u;if(e.subGrid){u=e.subGrid.getRow()*e.subGrid.getCellHeight(!0);const y=e.subGrid.el.getBoundingClientRect(),_=t.getBoundingClientRect();u+=y.top-_.top}else{if((p=(c=e.subGridOpts)==null?void 0:c.children)!=null&&p.length)return;{const y=n.firstElementChild;if(!y){console.error(`Error: GridStack.resizeToContent() widget id:${e.id} '${g.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}u=y.getBoundingClientRect().height||d}}if(d===u)return;r+=u-d;let a=Math.ceil(r/s);const l=Number.isInteger(e.sizeToContent)?e.sizeToContent:0;l&&a>l&&(a=l,t.classList.add("size-to-content-max")),e.minH&&a<e.minH?a=e.minH:e.maxH&&a>e.maxH&&(a=e.maxH),a!==e.h&&(i._ignoreLayoutsNodeChange=!0,i.moveNode(e,{h:a}),delete i._ignoreLayoutsNodeChange)}resizeToContentCBCheck(t){g.resizeToContentCB?g.resizeToContentCB(t):this.resizeToContent(t)}rotate(t,e){return g.getElements(t).forEach(i=>{const s=i.gridstackNode;if(!h.canBeRotated(s))return;const r={w:s.h,h:s.w,minH:s.minW,minW:s.minH,maxH:s.maxW,maxW:s.maxH};if(e){const o=e.left>0?Math.floor(e.left/this.cellWidth()):0,d=e.top>0?Math.floor(e.top/this.opts.cellHeight):0;r.x=s.x+o-(s.h-(d+1)),r.y=s.y+d-o}Object.keys(r).forEach(o=>{r[o]===void 0&&delete r[o]});const n=s._orig;this.update(i,r),s._orig=n}),this}margin(t){if(!(typeof t=="string"&&t.split(" ").length>1)){const i=h.parseHeight(t);if(this.opts.marginUnit===i.unit&&this.opts.margin===i.h)return}return this.opts.margin=t,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this}getMargin(){return this.opts.margin}willItFit(t){return this.engine.willItFit(t)}_triggerChangeEvent(){if(this.engine.batchMode)return this;const t=this.engine.getDirtyNodes(!0);return t&&t.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(t),this._triggerEvent("change",t)),this.engine.saveInitial(),this}_triggerAddEvent(){var t;if(this.engine.batchMode)return this;if((t=this.engine.addedNodes)!=null&&t.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(i=>{delete i._dirty});const e=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent("added",e)}return this}_triggerRemoveEvent(){var t;if(this.engine.batchMode)return this;if((t=this.engine.removedNodes)!=null&&t.length){const e=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent("removed",e)}return this}_triggerEvent(t,e){const i=e?new CustomEvent(t,{bubbles:!1,detail:e}):new Event(t);let s=this;for(;s.parentGridNode;)s=s.parentGridNode.grid;return s.el.dispatchEvent(i),this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;const t=this.parentGridNode;let e=this.getRow()+this._extraDragRow;const i=this.opts.cellHeight,s=this.opts.cellHeightUnit;if(!i)return this;if(!t&&!this.opts.minRow){const r=h.parseHeight(getComputedStyle(this.el).minHeight);if(r.h>0&&r.unit===s){const n=Math.floor(r.h/i);e<n&&(e=n)}}return this.el.setAttribute("gs-current-row",String(e)),this.el.style.removeProperty("min-height"),this.el.style.removeProperty("height"),e&&(this.el.style[t?"minHeight":"height"]=e*i+s),t&&h.shouldSizeToContent(t)&&t.grid.resizeToContentCBCheck(t.el),this}_prepareElement(t,e=!1,i){i=i||this._readAttr(t),t.gridstackNode=i,i.el=t,i.grid=this,i=this.engine.addNode(i,e),this._writeAttr(t,i),t.classList.add(w.itemClass,this.opts.itemClass);const s=h.shouldSizeToContent(i);return s?t.classList.add("size-to-content"):t.classList.remove("size-to-content"),s&&this.resizeToContentCheck(!1,i),h.lazyLoad(i)||this.prepareDragDrop(i.el),this}_writePosAttr(t,e){if(!e._moving&&!e._resizing||this._placeholder===t){const i=this.opts.rtl?"right":"left";t.style.top=e.y?e.y===1?"var(--gs-cell-height)":`calc(${e.y} * var(--gs-cell-height))`:null,t.style[i]=e.x?e.x===1?"var(--gs-column-width)":`calc(${e.x} * var(--gs-column-width))`:null,t.style.width=e.w>1?`calc(${e.w} * var(--gs-column-width))`:null,t.style.height=e.h>1?`calc(${e.h} * var(--gs-cell-height))`:null}return t.setAttribute("gs-x",String(e.x)),t.setAttribute("gs-y",String(e.y)),e.w>1?t.setAttribute("gs-w",String(e.w)):t.removeAttribute("gs-w"),e.h>1?t.setAttribute("gs-h",String(e.h)):t.removeAttribute("gs-h"),this}_writeAttr(t,e){if(!e)return this;this._writePosAttr(t,e);const i={noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id",sizeToContent:"gs-size-to-content"};for(const s in i)e[s]?t.setAttribute(i[s],String(e[s])):t.removeAttribute(i[s]);return this}_readAttr(t,e=!0){const i={};i.x=h.toNumber(t.getAttribute("gs-x")),i.y=h.toNumber(t.getAttribute("gs-y")),i.w=h.toNumber(t.getAttribute("gs-w")),i.h=h.toNumber(t.getAttribute("gs-h")),i.autoPosition=h.toBool(t.getAttribute("gs-auto-position")),i.noResize=h.toBool(t.getAttribute("gs-no-resize")),i.noMove=h.toBool(t.getAttribute("gs-no-move")),i.locked=h.toBool(t.getAttribute("gs-locked"));const s=t.getAttribute("gs-size-to-content");s&&(s==="true"||s==="false"?i.sizeToContent=h.toBool(s):i.sizeToContent=parseInt(s,10)),i.id=t.getAttribute("gs-id"),i.maxW=h.toNumber(t.getAttribute("gs-max-w")),i.minW=h.toNumber(t.getAttribute("gs-min-w")),i.maxH=h.toNumber(t.getAttribute("gs-max-h")),i.minH=h.toNumber(t.getAttribute("gs-min-h")),e&&(i.w===1&&t.removeAttribute("gs-w"),i.h===1&&t.removeAttribute("gs-h"),i.maxW&&t.removeAttribute("gs-max-w"),i.minW&&t.removeAttribute("gs-min-w"),i.maxH&&t.removeAttribute("gs-max-h"),i.minH&&t.removeAttribute("gs-min-h"));for(const r in i){if(!i.hasOwnProperty(r))return;!i[r]&&i[r]!==0&&r!=="sizeToContent"&&delete i[r]}return i}_setStaticClass(){const t=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...t),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...t),this.el.removeAttribute("gs-static")),this}onResize(t=(e=>(e=this.el)==null?void 0:e.clientWidth)()){if(!t||this.prevWidth===t)return;this.prevWidth=t,this.batchUpdate();let i=!1;return this._autoColumn&&this.parentGridNode?this.opts.column!==this.parentGridNode.w&&(this.column(this.parentGridNode.w,this.opts.layout||"list"),i=!0):i=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(s=>{s.subGrid&&s.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(i),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(t=!1,e=void 0){if(this.engine){if(t&&this.hasAnimationCSS())return setTimeout(()=>this.resizeToContentCheck(!1,e),this.animationDelay);if(e)h.shouldSizeToContent(e)&&this.resizeToContentCBCheck(e.el);else if(this.engine.nodes.some(i=>h.shouldSizeToContent(i))){const i=[...this.engine.nodes];this.batchUpdate(),i.forEach(s=>{h.shouldSizeToContent(s)&&this.resizeToContentCBCheck(s.el)}),this._ignoreLayoutsNodeChange=!0,this.batchUpdate(!1),this._ignoreLayoutsNodeChange=!1}this._gsEventHandler.resizecontent&&this._gsEventHandler.resizecontent(null,e?[e]:this.engine.nodes)}}_updateResizeEvent(t=!1){const e=!this.parentGridNode&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(i=>i.sizeToContent));return!t&&e&&!this.resizeObserver?(this._sizeThrottle=h.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(t||!e)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(t=".grid-stack-item"){return h.getElement(t)}static getElements(t=".grid-stack-item"){return h.getElements(t)}static getGridElement(t){return g.getElement(t)}static getGridElements(t){return h.getElements(t)}_initMargin(){let t,e=0,i=[];typeof this.opts.margin=="string"&&(i=this.opts.margin.split(" ")),i.length===2?(this.opts.marginTop=this.opts.marginBottom=i[0],this.opts.marginLeft=this.opts.marginRight=i[1]):i.length===4?(this.opts.marginTop=i[0],this.opts.marginRight=i[1],this.opts.marginBottom=i[2],this.opts.marginLeft=i[3]):(t=h.parseHeight(this.opts.margin),this.opts.marginUnit=t.unit,e=this.opts.margin=t.h),["marginTop","marginRight","marginBottom","marginLeft"].forEach(n=>{this.opts[n]===void 0?this.opts[n]=e:(t=h.parseHeight(this.opts[n]),this.opts[n]=t.h,delete this.opts.margin)}),this.opts.marginUnit=t.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop);const r=this.el.style;return r.setProperty("--gs-item-margin-top",`${this.opts.marginTop}${this.opts.marginUnit}`),r.setProperty("--gs-item-margin-bottom",`${this.opts.marginBottom}${this.opts.marginUnit}`),r.setProperty("--gs-item-margin-right",`${this.opts.marginRight}${this.opts.marginUnit}`),r.setProperty("--gs-item-margin-left",`${this.opts.marginLeft}${this.opts.marginUnit}`),this}static getDD(){return v}static setupDragIn(t,e,i,s=document){(e==null?void 0:e.pause)!==void 0&&(f.pauseDrag=e.pause),e={appendTo:"body",helper:"clone",...e||{}},(typeof t=="string"?h.getElements(t,s):t).forEach((n,o)=>{v.isDraggable(n)||v.dragIn(n,e),i!=null&&i[o]&&(n.gridstackNode=i[o])})}movable(t,e){return this.opts.staticGrid?this:(g.getElements(t).forEach(i=>{const s=i.gridstackNode;s&&(e?delete s.noMove:s.noMove=!0,this.prepareDragDrop(s.el))}),this)}resizable(t,e){return this.opts.staticGrid?this:(g.getElements(t).forEach(i=>{const s=i.gridstackNode;s&&(e?delete s.noResize:s.noResize=!0,this.prepareDragDrop(s.el))}),this)}disable(t=!0){if(!this.opts.staticGrid)return this.enableMove(!1,t),this.enableResize(!1,t),this._triggerEvent("disable"),this}enable(t=!0){if(!this.opts.staticGrid)return this.enableMove(!0,t),this.enableResize(!0,t),this._triggerEvent("enable"),this}enableMove(t,e=!0){return this.opts.staticGrid?this:(t?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(i=>{this.prepareDragDrop(i.el),i.subGrid&&e&&i.subGrid.enableMove(t,e)}),this)}enableResize(t,e=!0){return this.opts.staticGrid?this:(t?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(i=>{this.prepareDragDrop(i.el),i.subGrid&&e&&i.subGrid.enableResize(t,e)}),this)}cancelDrag(){var e;const t=(e=this._placeholder)==null?void 0:e.gridstackNode;t&&(t._isExternal?(t._isAboutToRemove=!0,this.engine.removeNode(t)):t._isAboutToRemove&&g._itemRemoving(t.el,!1),this.engine.restoreInitial())}_removeDD(t){return v.draggable(t,"destroy").resizable(t,"destroy"),t.gridstackNode&&delete t.gridstackNode._initDD,delete t.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return v.droppable(this.el,"destroy"),this;let t,e;const i=(s,r,n)=>{var c;n=n||r;const o=n.gridstackNode;if(!o)return;if(!((c=o.grid)!=null&&c.el)){n.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;const p=n.getBoundingClientRect();n.style.left=p.x+(this.dragTransform.xScale-1)*(s.clientX-p.x)/this.dragTransform.xScale+"px",n.style.top=p.y+(this.dragTransform.yScale-1)*(s.clientY-p.y)/this.dragTransform.yScale+"px",n.style.transformOrigin="0px 0px"}let{top:d,left:u}=n.getBoundingClientRect();const a=this.el.getBoundingClientRect();u-=a.left,d-=a.top;const l={position:{top:d*this.dragTransform.xScale,left:u*this.dragTransform.yScale}};if(o._temporaryRemoved){if(o.x=Math.max(0,Math.round(u/e)),o.y=Math.max(0,Math.round(d/t)),delete o.autoPosition,this.engine.nodeBoundFix(o),!this.engine.willItFit(o)){if(o.autoPosition=!0,!this.engine.willItFit(o)){v.off(r,"drag");return}o._willFitPos&&(h.copyPos(o,o._willFitPos),delete o._willFitPos)}this._onStartMoving(n,s,l,o,e,t)}else this._dragOrResize(n,s,l,o,e,t)};return v.droppable(this.el,{accept:s=>{const r=s.gridstackNode||this._readAttr(s,!1);if((r==null?void 0:r.grid)===this)return!0;if(!this.opts.acceptWidgets)return!1;let n=!0;if(typeof this.opts.acceptWidgets=="function")n=this.opts.acceptWidgets(s);else{const o=this.opts.acceptWidgets===!0?".grid-stack-item":this.opts.acceptWidgets;n=s.matches(o)}if(n&&r&&this.opts.maxRow){const o={w:r.w,h:r.h,minW:r.minW,minH:r.minH};n=this.engine.willItFit(o)}return n}}).on(this.el,"dropover",(s,r,n)=>{let o=(n==null?void 0:n.gridstackNode)||r.gridstackNode;if((o==null?void 0:o.grid)===this&&!o._temporaryRemoved)return!1;if(o!=null&&o._sidebarOrig&&(o.w=o._sidebarOrig.w,o.h=o._sidebarOrig.h),o!=null&&o.grid&&o.grid!==this&&!o._temporaryRemoved&&o.grid._leave(r,n),n=n||r,e=this.cellWidth(),t=this.getCellHeight(!0),!o){const a=n.getAttribute("data-gs-widget")||n.getAttribute("gridstacknode");if(a){try{o=JSON.parse(a)}catch{console.error("Gridstack dropover: Bad JSON format: ",a)}n.removeAttribute("data-gs-widget"),n.removeAttribute("gridstacknode")}o||(o=this._readAttr(n)),o._sidebarOrig={w:o.w,h:o.h}}o.grid||(o.el||(o={...o}),o._isExternal=!0,n.gridstackNode=o);const d=o.w||Math.round(n.offsetWidth/e)||1,u=o.h||Math.round(n.offsetHeight/t)||1;return o.grid&&o.grid!==this?(r._gridstackNodeOrig||(r._gridstackNodeOrig=o),r.gridstackNode=o={...o,w:d,h:u,grid:this},delete o.x,delete o.y,this.engine.cleanupNode(o).nodeBoundFix(o),o._initDD=o._isExternal=o._temporaryRemoved=!0):(o.w=d,o.h=u,o._temporaryRemoved=!0),g._itemRemoving(o.el,!1),v.on(r,"drag",i),i(s,r,n),!1}).on(this.el,"dropout",(s,r,n)=>{const o=(n==null?void 0:n.gridstackNode)||r.gridstackNode;return o&&(!o.grid||o.grid===this)&&(this._leave(r,n),this._isTemp&&this.removeAsSubGrid(o)),!1}).on(this.el,"drop",(s,r,n)=>{var c,p,y;const o=(n==null?void 0:n.gridstackNode)||r.gridstackNode;if((o==null?void 0:o.grid)===this&&!o._isExternal)return!1;const d=!!this.placeholder.parentElement,u=r!==n;this.placeholder.remove(),delete this.placeholder.gridstackNode,d&&this.opts.animate&&(this.setAnimation(!1),this.setAnimation(!0,!0));const a=r._gridstackNodeOrig;if(delete r._gridstackNodeOrig,d&&(a!=null&&a.grid)&&a.grid!==this){const _=a.grid;_.engine.removeNodeFromLayoutCache(a),_.engine.removedNodes.push(a),_._triggerRemoveEvent()._triggerChangeEvent(),_.parentGridNode&&!_.engine.nodes.length&&_.opts.subGridDynamic&&_.removeAsSubGrid()}if(!o||(d&&(this.engine.cleanupNode(o),o.grid=this),(c=o.grid)==null||delete c._isTemp,v.off(r,"drag"),n!==r?(n.remove(),r=n):r.remove(),this._removeDD(r),!d))return!1;const l=(y=(p=o.subGrid)==null?void 0:p.el)==null?void 0:y.gridstack;return h.copyPos(o,this._readAttr(this.placeholder)),h.removePositioningStyles(r),u&&(o.content||o.subGridOpts||g.addRemoveCB)?(delete o.el,r=this.addWidget(o)):(this._prepareElement(r,!0,o),this.el.appendChild(r),this.resizeToContentCheck(!1,o),l&&(l.parentGridNode=o),this._updateContainerHeight()),this.engine.addedNodes.push(o),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped({...s,type:"dropped"},a&&a.grid?a:void 0,o),!1}),this}static _itemRemoving(t,e){if(!t)return;const i=t?t.gridstackNode:void 0;!(i!=null&&i.grid)||t.classList.contains(i.grid.opts.removableOptions.decline)||(e?i._isAboutToRemove=!0:delete i._isAboutToRemove,e?t.classList.add("grid-stack-item-removing"):t.classList.remove("grid-stack-item-removing"))}_setupRemoveDrop(){if(typeof this.opts.removable!="string")return this;const t=document.querySelector(this.opts.removable);return t?(!this.opts.staticGrid&&!v.isDroppable(t)&&v.droppable(t,this.opts.removableOptions).on(t,"dropover",(e,i)=>g._itemRemoving(i,!0)).on(t,"dropout",(e,i)=>g._itemRemoving(i,!1)),this):this}prepareDragDrop(t,e=!1){const i=t==null?void 0:t.gridstackNode;if(!i)return;const s=i.noMove||this.opts.disableDrag,r=i.noResize||this.opts.disableResize,n=this.opts.staticGrid||s&&r;if((e||n)&&(i._initDD&&(this._removeDD(t),delete i._initDD),n))return t.classList.add("ui-draggable-disabled","ui-resizable-disabled"),this;if(!i._initDD){let o,d;const u=(c,p)=>{this.triggerEvent(c,c.target),o=this.cellWidth(),d=this.getCellHeight(!0),this._onStartMoving(t,c,p,i,o,d)},a=(c,p)=>{this._dragOrResize(t,c,p,i,o,d)},l=c=>{this.placeholder.remove(),delete this.placeholder.gridstackNode,delete i._moving,delete i._resizing,delete i._event,delete i._lastTried;const p=i.w!==i._orig.w,y=c.target;if(!(!y.gridstackNode||y.gridstackNode.grid!==this)){if(i.el=y,i._isAboutToRemove){const _=t.gridstackNode.grid;_._gsEventHandler[c.type]&&_._gsEventHandler[c.type](c,y),_.engine.nodes.push(i),_.removeWidget(t,!0,!0)}else h.removePositioningStyles(y),i._temporaryRemoved?(this._writePosAttr(y,i),this.engine.addNode(i)):this._writePosAttr(y,i),this.triggerEvent(c,y);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),c.type==="resizestop"&&(Number.isInteger(i.sizeToContent)&&(i.sizeToContent=i.h),this.resizeToContentCheck(p,i))}};v.draggable(t,{start:u,stop:l,drag:a,rtl:this.opts.rtl}).resizable(t,{start:u,stop:l,resize:a,rtl:this.opts.rtl}),i._initDD=!0}return v.draggable(t,s?"disable":"enable").resizable(t,r?"disable":"enable"),this}_onStartMoving(t,e,i,s,r,n){var o;if(this.engine.cleanNodes().beginUpdate(s),this._writePosAttr(this.placeholder,s),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=s,(o=s.grid)!=null&&o.el)this.dragTransform=h.getValuesFromTransformedElement(t);else if(this.placeholder&&this.placeholder.closest(".grid-stack")){const d=this.placeholder.closest(".grid-stack");this.dragTransform=h.getValuesFromTransformedElement(d)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(s.el=this.placeholder,s._lastUiPosition=i.position,s._prevYPix=i.position.top,s._moving=e.type==="dragstart",s._resizing=e.type==="resizestart",delete s._lastTried,e.type==="dropover"&&s._temporaryRemoved&&(this.engine.addNode(s),s._moving=!0),this.engine.cacheRects(r,n,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),e.type==="resizestart"){const d=this.getColumn()-s.x,u=(this.opts.maxRow||Number.MAX_SAFE_INTEGER)-s.y;v.resizable(t,"option","minWidth",r*Math.min(s.minW||1,d)).resizable(t,"option","minHeight",n*Math.min(s.minH||1,u)).resizable(t,"option","maxWidth",r*Math.min(s.maxW||Number.MAX_SAFE_INTEGER,d)).resizable(t,"option","maxWidthMoveLeft",r*Math.min(s.maxW||Number.MAX_SAFE_INTEGER,s.x+s.w)).resizable(t,"option","maxHeight",n*Math.min(s.maxH||Number.MAX_SAFE_INTEGER,u)).resizable(t,"option","maxHeightMoveUp",n*Math.min(s.maxH||Number.MAX_SAFE_INTEGER,s.y+s.h))}}_dragOrResize(t,e,i,s,r,n){var R;const o={...s._orig};let d,u=this.opts.marginLeft,a=this.opts.marginRight,l=this.opts.marginTop,c=this.opts.marginBottom;const p=Math.round(n*.1),y=Math.round(r*.1);if(u=Math.min(u,y),a=Math.min(a,y),l=Math.min(l,p),c=Math.min(c,p),e.type==="drag"){if(s._temporaryRemoved)return;s._prevYPix=i.position.top,this.opts.draggable.scroll!==!1&&((R=f.dragElement)==null||R.updateScrollPosition(this.el));const x=i.position.left+(i.position.left>s._lastUiPosition.left?-a:u),H=i.position.top+(i.position.top>s._lastUiPosition.top?-c:l);o.x=Math.round(x/r),o.y=Math.round(H/n);const U=this._extraDragRow;if(this.engine.collide(s,o)){const A=this.getRow();let O=Math.max(0,o.y+s.h-A);this.opts.maxRow&&A+O>this.opts.maxRow&&(O=Math.max(0,this.opts.maxRow-A)),this._extraDragRow=O}else this._extraDragRow=0;if(this._extraDragRow!==U&&this._updateContainerHeight(),s.x===o.x&&s.y===o.y)return}else if(e.type==="resize"){if(o.x<0||(h.updateScrollResize(e,t,n),o.w=Math.round((i.size.width-u)/r),o.h=Math.round((i.size.height-l)/n),s.w===o.w&&s.h===o.h)||s._lastTried&&s._lastTried.w===o.w&&s._lastTried.h===o.h)return;if(e.hasMovedX){const x=i.position.left+u;o.x=Math.round(x/r)}if(e.hasMovedY){const x=i.position.top+l;o.y=Math.round(x/n)}d=!0}s._event=e,s._lastTried=o;const _={x:i.position.left+u,y:i.position.top+l,w:(i.size?i.size.width:s.w*r)-u-a,h:(i.size?i.size.height:s.h*n)-l-c};if(this.engine.moveNodeCheck(s,{...o,cellWidth:r,cellHeight:n,rect:_,resizing:d})){s._lastUiPosition=i.position,this.engine.cacheRects(r,n,l,a,c,u),delete s._skipDown,d&&s.subGrid&&s.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();const x=e.target;s._sidebarOrig||this._writePosAttr(x,s),this.triggerEvent(e,x)}}triggerEvent(t,e){let i=this;for(;i.parentGridNode;)i=i.parentGridNode.grid;i._gsEventHandler[t.type]&&i._gsEventHandler[t.type](t,e)}_leave(t,e){e=e||t;const i=e.gridstackNode;if(!i||(e.style.transform=e.style.transformOrigin=null,v.off(t,"drag"),i._temporaryRemoved))return;i._temporaryRemoved=!0,this.engine.removeNode(i),i.el=i._isExternal&&e?e:t;const s=i._sidebarOrig;i._isExternal&&this.engine.cleanupNode(i),i._sidebarOrig=s,this.opts.removable===!0&&g._itemRemoving(t,!0),t._gridstackNodeOrig?(t.gridstackNode=t._gridstackNodeOrig,delete t._gridstackNodeOrig):i._isExternal&&this.engine.restoreInitial()}}g.renderCB=(m,t)=>{m&&(t!=null&&t.content)&&(m.textContent=t.content)};g.resizeToContentParent=".grid-stack-item-content";g.Utils=h;g.Engine=C;g.GDRev="12.6.0";export{g as G};
@@ -0,0 +1 @@
1
+ .grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0;top:0;width:var(--gs-column-width);height:var(--gs-cell-height)}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px #0003;opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,right 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400..800&display=swap";@keyframes dnaStrand1Move{0%,to{translate:0 0px}50%{translate:0 18px}}@keyframes dnaStrand1Scale{0%,to{scale:.7}25%{scale:1}50%{scale:.7}75%{scale:.7}}@keyframes dnaStrand1Color{0%,to{background-color:hsl(var(--zf-accent-hue, 242) 100% 68%)}25%{background-color:hsl(calc(var(--zf-accent-hue, 242) + 21) 83% 75%)}50%{background-color:#fff6}75%{background-color:#ffffff4d}}@keyframes dnaStrand2Move{0%,to{translate:0 18px}50%{translate:0 0px}}@keyframes dnaStrand2Scale{0%,to{scale:.7}25%{scale:.7}50%{scale:1}75%{scale:1}}@keyframes dnaStrand2Color{0%,to{background-color:#fff6}25%{background-color:#ffffff4d}50%{background-color:hsl(var(--zf-accent-hue, 242) 100% 68%)}75%{background-color:hsl(calc(var(--zf-accent-hue, 242) + 21) 83% 75%)}}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-green-500:oklch(72.3% .219 149.579);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-800:oklch(27.8% .033 256.848);--color-zinc-900:oklch(21% .006 285.885);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background-terminal:#0e0e16;--color-surface:#ffffff0f;--color-normal:#ffffffd9;--color-strong:#fffffff2;--color-soft:#fff9;--color-disabled:#ffffff4d;--color-highlight:hsl(var(--zf-accent-hue,242) calc(var(--zf-accent-sat,90%) + 10%) 89%);--color-accent-line:hsl(var(--zf-accent-hue,242) calc(var(--zf-accent-sat,90%) - 5%) 72%);--font-dmsans:"DM Sans", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\[container-type\:size\]{container-type:size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-\[10\%\]{top:10%;right:10%;bottom:10%;left:10%}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-y-\[5px\]{inset-block:5px}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-500{top:calc(var(--spacing) * 500)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\.5{left:calc(var(--spacing) * 1.5)}.left-1\/2{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-\[0\.3em\]{margin-top:-.3em}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-\[5px\]{margin-bottom:5px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-\[0\.3em\]{margin-left:.3em}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.h-0{height:calc(var(--spacing) * 0)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-20{height:calc(var(--spacing) * 20)}.h-\[3px\]{height:3px}.h-\[5px\]{height:5px}.h-\[11px\]{height:11px}.h-\[22px\]{height:22px}.h-\[30px\]{height:30px}.h-\[100dvh\]{height:100dvh}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-\[42px\]{min-height:42px}.min-h-\[72px\]{min-height:72px}.w-0{width:calc(var(--spacing) * 0)}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-7\/12{width:58.3333%}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11\/12{width:91.6667%}.w-16{width:calc(var(--spacing) * 16)}.w-\[3px\]{width:3px}.w-\[5px\]{width:5px}.w-\[30px\]{width:30px}.w-\[55\%\]{width:55%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-10{max-width:calc(var(--spacing) * 10)}.max-w-12{max-width:calc(var(--spacing) * 12)}.max-w-\[46\%\]{max-width:46%}.max-w-\[126px\]{max-width:126px}.max-w-\[180px\]{max-width:180px}.max-w-\[1320px\]{max-width:1320px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[64px\]{min-width:64px}.min-w-\[76px\]{min-width:76px}.min-w-\[84px\]{min-width:84px}.min-w-\[112px\]{min-width:112px}.min-w-\[130px\]{min-width:130px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.list-disc{list-style-type:disc}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto auto minmax(0,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:auto minmax(0,1fr) auto auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[0\.5em\]{gap:.5em}.gap-\[0\.25em\]{gap:.25em}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[5px\]{border-radius:5px}.rounded-\[9px\]{border-radius:9px}.rounded-\[11px\]{border-radius:11px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-full{border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-white\/\[0\.04\]{border-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.04\]{border-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/\[0\.07\]{border-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.07\]{border-color:color-mix(in oklab,var(--color-white) 7%,transparent)}}.border-white\/\[0\.08\]{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/\[0\.08\]{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-t-white\/80{border-top-color:#fffc}@supports (color:color-mix(in lab,red,red)){.border-t-white\/80{border-top-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-\[hsl\(var\(--zf-accent-hue\,242\)_90\%_60\%\)\]{background-color:hsl(var(--zf-accent-hue,242) 90% 60%)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-slate-700{background-color:var(--color-slate-700)}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.bg-white\/25{background-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-white\/30{background-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-white\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.bg-white\/\[0\.07\]{background-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.07\]{background-color:color-mix(in oklab,var(--color-white) 7%,transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.bg-white\/\[0\.022\]{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.022\]{background-color:color-mix(in oklab,var(--color-white) 2.2%,transparent)}}.bg-white\/\[0\.035\]{background-color:#ffffff09}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.035\]{background-color:color-mix(in oklab,var(--color-white) 3.5%,transparent)}}.bg-white\/\[0\.045\]{background-color:#ffffff0b}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.045\]{background-color:color-mix(in oklab,var(--color-white) 4.5%,transparent)}}.bg-zinc-900{background-color:var(--color-zinc-900)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[5px\]{padding-inline:5px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-\[3px\]{padding-block:3px}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-px{padding-top:1px}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-0\.5{padding-left:calc(var(--spacing) * .5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-\[13px\]{padding-left:13px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.metric-lg{font-family:var(--font-dmsans);font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.metric-md{font-family:var(--font-dmsans);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.metric-sm{font-family:var(--font-dmsans);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.metric-xl{font-family:var(--font-dmsans);font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.01em;letter-spacing:-.01em;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.body-lg{font-family:var(--font-dmsans);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.body-md{font-family:var(--font-dmsans);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.body-sm{font-family:var(--font-dmsans);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.caption{font-family:var(--font-dmsans);--tw-font-weight:var(--font-weight-medium);font-size:.6875rem;font-weight:var(--font-weight-medium)}.font-dmsans{font-family:var(--font-dmsans)}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.5rem\]{font-size:.5rem}.text-\[1\.15rem\]{font-size:1.15rem}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.09em\]{--tw-tracking:.09em;letter-spacing:.09em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#ff6b81\]{color:#ff6b81}.text-\[hsl\(var\(--zf-accent-hue\,242\)_90\%_72\%\)\]{color:hsl(var(--zf-accent-hue,242) 90% 72%)}.text-disabled{color:var(--color-disabled)}.text-gray-400{color:var(--color-gray-400)}.text-highlight{color:var(--color-highlight)}.text-highlight\/70{color:color-mix(in srgb,hsl(var(--zf-accent-hue,242) calc(var(--zf-accent-sat,90%) + 10%) 89%) 70%,transparent)}@supports (color:color-mix(in lab,red,red)){.text-highlight\/70{color:color-mix(in oklab,var(--color-highlight) 70%,transparent)}}.text-normal{color:var(--color-normal)}.text-soft{color:var(--color-soft)}.text-strong{color:var(--color-strong)}.text-white{color:var(--color-white)}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.text-white\/30{color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.12\)\,0_4px_10px_-7px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff1f), 0 4px 10px -7px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\/30{--tw-ring-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.ring-black\/30{--tw-ring-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.ring-white\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.ring-white\/10{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 1px 3px var(--tw-drop-shadow-color,#00000080));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-strong:is(:where(.group):hover *){color:var(--color-strong)}.group-hover\:opacity-95:is(:where(.group):hover *){opacity:.95}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-disabled::placeholder{color:var(--color-disabled)}.placeholder\:text-white\/30::placeholder{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-white\/30::placeholder{color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-1\.5:before{content:var(--tw-content);top:calc(var(--spacing) * 1.5)}.before\:bottom-1\.5:before{content:var(--tw-content);bottom:calc(var(--spacing) * 1.5)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\:w-0\.5:before{content:var(--tw-content);width:calc(var(--spacing) * .5)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:bg-highlight:before{content:var(--tw-content);background-color:var(--color-highlight)}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.group-hover\:before\:opacity-100:is(:where(.group):hover *):before{content:var(--tw-content);opacity:1}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-\[var\(--color-accent-line\)\]:focus-within{border-color:var(--color-accent-line)}@media(hover:hover){.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[var\(--color-accent-line\)\]:hover{border-color:var(--color-accent-line)}.hover\:border-white\/\[0\.14\]:hover{border-color:#ffffff24}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/\[0\.14\]:hover{border-color:color-mix(in oklab,var(--color-white) 14%,transparent)}}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.03\]:hover{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.05\]:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.hover\:bg-gradient-to-t:hover{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hover\:bg-\[radial-gradient\(146\.13\%_118\.42\%_at_50\%_-15\.5\%\,rgba\(255\,255\,255\,0\.1\)_0\%\,rgba\(255\,255\,255\,0\)_99\.59\%\)\]:hover{background-image:radial-gradient(146.13% 118.42% at 50% -15.5%,#ffffff1a,#fff0 99.59%)}.hover\:text-strong:hover{color:var(--color-strong)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:before\:opacity-100:hover:before{content:var(--tw-content);opacity:1}}.focus\:border-white\/25:focus{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.focus\:border-white\/25:focus{border-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-white\/50:focus-visible{outline-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.focus-visible\:outline-white\/50:focus-visible{outline-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media not all and (min-width:40rem){.max-sm\:overflow-hidden{overflow:hidden}}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}.\[\&_svg\]\:\!text-white\/70 svg{color:#ffffffb3!important}@supports (color:color-mix(in lab,red,red)){.\[\&_svg\]\:\!text-white\/70 svg{color:color-mix(in oklab,var(--color-white) 70%,transparent)!important}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-scrollbar\]\:h-1\.5::-webkit-scrollbar{height:calc(var(--spacing) * 1.5)}.\[\&\:\:-webkit-scrollbar\]\:w-1\.5::-webkit-scrollbar{width:calc(var(--spacing) * 1.5)}.\[\&\:\:-webkit-scrollbar-thumb\]\:rounded-full::-webkit-scrollbar-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-white\/\[0\.08\]::-webkit-scrollbar-thumb{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.\[\&\:\:-webkit-scrollbar-thumb\]\:bg-white\/\[0\.08\]::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}@media(hover:hover){.hover\:\[\&\:\:-webkit-scrollbar-thumb\]\:bg-white\/15:hover::-webkit-scrollbar-thumb{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.hover\:\[\&\:\:-webkit-scrollbar-thumb\]\:bg-white\/15:hover::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}}.\[\&\:\:-webkit-scrollbar-track\]\:bg-transparent::-webkit-scrollbar-track{background-color:#0000}.\[\&\>div\[style\*\=\'align-items\'\]\]\:\!hidden>div[style*=align-items]{display:none!important}}:root{--ease-out-quad:cubic-bezier(.25, .46, .45, .94);--ease-out-quart:cubic-bezier(.165, .84, .44, 1)}body{color:#dde3ee;-webkit-font-smoothing:antialiased;background-color:#07070c;background-image:radial-gradient(1240px 660px at 50% -12%,#210ea047,#0000 60%),radial-gradient(940px 540px at 86% -4%,#4a178c24,#0000 56%),radial-gradient(1000px 620px at 6% 10%,#1b506a12,#0000 60%),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;margin:0;font-family:SF Mono,ui-monospace,JetBrains Mono,Menlo,monospace}:root{--zf-ease-out:cubic-bezier(.23, 1, .32, 1);--zf-scrollbar-thumb:#ffffff24;--zf-scrollbar-thumb-hover:#ffffff47}html{scrollbar-width:thin;scrollbar-color:var(--zf-scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--zf-scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:9999px;transition:background-color .15s}::-webkit-scrollbar-thumb:hover{background-color:var(--zf-scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--zf-scrollbar-thumb-hover)}@media(orientation:portrait){main:has(.zf-editor.zf-customise){padding-right:0}}@media(prefers-reduced-motion:no-preference){main>header{animation:app-enter .45s var(--zf-ease-out) both}.zf-bg-hue{animation:20s linear infinite zf-bg-hue-cycle}.zf-bg-breathe{animation:4.5s ease-in-out infinite zf-bg-breathe}}@keyframes app-enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes zf-bg-hue-cycle{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}@keyframes zf-bg-breathe{0%,to{filter:saturate(.9)brightness(.96)}50%{filter:saturate(1.4)brightness(1.12)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
@@ -1,4 +1,4 @@
1
- import{r,j as T}from"./index-6CnH3oHt.js";var j={scripts:[{id:"core",relativePath:"unicornStudio.umd.js",content:`!(function (e, t) {
1
+ import{r,j as T}from"./react-qoZPGuNy.js";var j={scripts:[{id:"core",relativePath:"unicornStudio.umd.js",content:`!(function (e, t) {
2
2
  "object" == typeof exports && "undefined" != typeof module
3
3
  ? t(exports)
4
4
  : "function" == typeof define && define.amd