@gemboss/ui 0.36.1 → 0.40.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.
- package/CHANGELOG.md +441 -0
- package/README.md +617 -14
- package/catalog/editor.html +45 -25
- package/catalog/index.html +5522 -1448
- package/gemboss-ui.css +3 -3
- package/package.json +11 -2
- package/parts/components.css +2 -2
- package/parts/core.css +1 -1
- package/parts/shell.css +2 -2
- package/src/assistant/chat-markdown.ts +7 -4
- package/src/assistant.css +1 -1
- package/src/auth-field.css +1 -0
- package/src/auth-field.tsx +74 -0
- package/src/auth-sso-plain.js +1 -0
- package/src/auth.css +1 -1
- package/src/auth.tsx +64 -1
- package/src/brand-gem.tsx +19 -0
- package/src/brand.tsx +4 -7
- package/src/chat-plain.js +2 -2
- package/src/editor/controls.tsx +148 -11
- package/src/editor/frame.tsx +8 -4
- package/src/editor/index.ts +8 -4
- package/src/editor/panel.tsx +44 -14
- package/src/editor/repeater.tsx +322 -0
- package/src/editor/sortable.tsx +50 -24
- package/src/editor/swatch.ts +20 -0
- package/src/editor/tiles.tsx +51 -0
- package/src/editor-plain.js +1 -1
- package/src/editor-repeater.css +1 -0
- package/src/editor-tiles.css +1 -0
- package/src/editor.css +1 -1
- package/src/gemboss-field.css +1 -1
- package/src/icons.tsx +11 -0
- package/src/index.ts +14 -2
- package/src/kit-plain.js +1 -1
- package/src/service-switcher-plain.js +1 -1
- package/src/service-switcher.css +1 -1
- package/src/service-switcher.tsx +119 -35
- package/src/services.ts +4 -2
- package/src/shell.css +1 -1
- package/src/site.css +1 -0
- package/src/site.tsx +50 -0
- package/src/team-chat-data.ts +79 -0
- package/src/team-chat.css +1 -0
- package/src/team-chat.tsx +825 -0
- package/src/toggle-bar.tsx +60 -0
- package/src/ui.css +1 -1
package/src/editor-plain.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(S){"use strict";var b=S.gembossUI;if(!b){S.console&&S.console.error("@gemboss/ui editor-plain.js: load kit-plain.js first (it defines gembossUI)");return}if(b.initEditorFrame)return;var k=5,z=360,p=typeof WeakSet=="function"?new WeakSet:null,l=function(t,e,r){t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:r}))},w=function(t,e){var r=Number(t);return isFinite(r)&&r>0?r:e};function c(t){return t.querySelector(".gemboss-editor-body")}function g(t){var e=c(t);return e&&e.querySelector(":scope > .gemboss-editor-resizer")}function v(t){var e=g(t);return{min:w(e&&e.getAttribute("aria-valuemin"),300),cap:w(e&&(e.getAttribute("data-gb-max")||e.getAttribute("aria-valuemax")),680)}}function x(t){var e=v(t),r=c(t),i=r?r.getBoundingClientRect().width:0;return i>0?Math.max(e.min,Math.min(e.cap,i-z-k)):e.cap}var h=typeof WeakMap=="function"?new WeakMap:null;function q(t){var e=h?h.get(t):t._gbWant;return e??y(t)}function C(t,e){h?h.set(t,e):t._gbWant=e}function d(t,e,r,i){var n=c(t),a=g(t);if(n){var s=i??x(t),f=v(t),o=Math.round(Math.min(s,Math.max(f.min,e)));if(n.style.setProperty("--gemboss-chat-w",o+"px"),a&&(a.setAttribute("aria-valuenow",String(o)),a.setAttribute("aria-valuemax",String(s))),r){C(t,o);var E=n.getAttribute("data-gb-storage");if(E)try{localStorage.setItem(E,String(o))}catch{}l(t,"gemboss:editor-split",{width:o})}return o}}function y(t){var e=g(t);return w(e&&e.getAttribute("aria-valuenow"),384)}function F(t){var e=c(t),r=g(t);if(!(!e||!r)){r.hasAttribute("data-gb-max")||r.setAttribute("data-gb-max",r.getAttribute("aria-valuemax")||"680");var i=e.getAttribute("data-gb-storage"),n=y(t);if(i)try{var a=Number(localStorage.getItem(i));a>=v(t).min&&a<=v(t).cap&&(n=a)}catch{}C(t,n),e.classList.contains("is-chat-collapsed")||d(t,n,!1)}}function O(t,e){var r=c(t);if(r&&!(e.button!==0||e.isPrimary===!1)){e.preventDefault();var i=r.getBoundingClientRect().left,n=x(t),a=0,s=y(t);document.body.classList.add("ui-resizing");var f=function(E){s=E.clientX-i-k,a||(a=requestAnimationFrame(function(){a=0,d(t,s,!1,n)}))},o=function(){a&&cancelAnimationFrame(a),document.body.classList.remove("ui-resizing"),removeEventListener("pointermove",f),removeEventListener("pointerup",o),removeEventListener("pointercancel",o),removeEventListener("blur",o),d(t,s,!0,n)};addEventListener("pointermove",f),addEventListener("pointerup",o),addEventListener("pointercancel",o),addEventListener("blur",o)}}function D(t,e){if(!(e.altKey||e.metaKey||e.ctrlKey)){var r=e.shiftKey?64:16,i=y(t),n=v(t);if(e.key==="ArrowLeft")i-=r;else if(e.key==="ArrowRight")i+=r;else if(e.key==="Home")i=n.min;else if(e.key==="End")i=x(t);else return;e.preventDefault(),d(t,i,!0)}}function T(t,e){var r=c(t);if(r){var i=!r.classList.contains("is-chat-collapsed");r.classList.toggle("is-chat-collapsed",i),i?r.style.setProperty("--gemboss-chat-w","0px"):d(t,q(t),!1),e.classList.toggle("collapsed",i),e.setAttribute("aria-pressed",String(i)),e.setAttribute("aria-label",i?"Show chat panel":"Hide chat panel"),e.title=i?"Show chat panel":"Hide chat \u2014 full-width preview";var n=e.querySelector("rect[fill='currentColor']");n&&(n.style.display=i?"none":""),l(t,"gemboss:editor-chat",{collapsed:i})}}function U(t,e){var r=e.closest(".gemboss-pv-devices");r&&(r.querySelectorAll(".gemboss-pv-device").forEach(function(i){var n=i===e;i.classList.toggle("active",n),i.setAttribute("aria-pressed",String(n))}),l(t,"gemboss:editor-device",{device:e.getAttribute("data-device")||(e.title||"").toLowerCase()}))}function K(t,e){var r=e.getAttribute("data-pane")||(Array.prototype.indexOf.call(e.parentNode.children,e)===0?"chat":"preview"),i=c(t);i&&(i.setAttribute("data-mobile-pane",r),e.parentNode.querySelectorAll(".gemboss-editor-mobile-tab").forEach(function(n){var a=n===e;n.classList.toggle("active",a),n.setAttribute("aria-selected",String(a))}),l(t,"gemboss:editor-pane",{pane:r}))}var u=null;function M(t){var e=t.trigger.getBoundingClientRect();t.menu.style.top=e.bottom+6+"px",t.menu.style.right=Math.max(8,innerWidth-e.right)+"px";var r=t.menu.getBoundingClientRect(),i=e.right-r.right;r.left+i<8&&(i=8-r.left),Math.abs(i)>=.5&&(t.menu.style.right=parseFloat(t.menu.style.right)-i+"px")}function m(t){var e=u;e&&(u=null,e.menu.hidden=!0,e.trigger.setAttribute("aria-expanded","false"),e.trigger.classList.remove("active"),t&&e.trigger.focus(),l(e.root,"gemboss:editor-menu",{open:!1,menu:e.menu}))}function H(t,e){var r=e.nextElementSibling;if(!r||!r.classList.contains("gemboss-editor-menu"))return!1;var i=u&&u.trigger===e;return m(!1),i||(u={root:t,trigger:e,menu:r},r.hidden=!1,e.setAttribute("aria-expanded","true"),e.classList.add("active"),M(u),l(t,"gemboss:editor-menu",{open:!0,menu:r})),!0}var P=!1;function j(){P||(P=!0,document.addEventListener("pointerdown",function(t){u&&!u.menu.contains(t.target)&&!u.trigger.contains(t.target)&&m(!1)}),addEventListener("keydown",function(t){t.key!=="Escape"||!u||t.isComposing||t.keyCode===229||(t.preventDefault(),t.stopImmediatePropagation(),m(!0))},!0),addEventListener("resize",function(){u&&M(u)}),addEventListener("blur",function(){m(!1)}))}function G(t){var e=t&&t.classList&&t.classList.contains("gemboss-editor")?[t]:Array.prototype.slice.call((t||document).querySelectorAll(".gemboss-editor"));return j(),e.forEach(function(r){if(!(p?p.has(r):r._gbEditor)){p?p.add(r):r._gbEditor=!0,F(r);var i=c(r);i&&typeof ResizeObserver=="function"&&new ResizeObserver(function(){i.classList.contains("is-chat-collapsed")||d(r,q(r),!1)}).observe(i),r.addEventListener("pointerdown",function(n){var a=n.target.closest(".gemboss-editor-resizer");a&&a===g(r)&&O(r,n)}),r.addEventListener("keydown",function(n){n.target.classList&&n.target.classList.contains("gemboss-editor-resizer")&&n.target===g(r)&&D(r,n)}),r.addEventListener("click",function(n){var a=n.target,s;if(s=a.closest(".gemboss-editor-chat-toggle"))return T(r,s);if(s=a.closest(".gemboss-pv-devices .gemboss-pv-device"))return U(r,s);if(s=a.closest(".gemboss-editor-mobile-tab"))return K(r,s);if((s=a.closest('[aria-haspopup="menu"]'))&&H(r,s)){n.stopPropagation();return}u&&(s=a.closest(".gemboss-editor-menu-item"))&&u.menu.contains(s)&&m(!0)})}}),e.length}b.initEditorFrame=G;var V=/^#[0-9a-fA-F]{6}$/,I=function(t){var e=t.getAttribute("data-value");return e??(t.textContent||"").trim()},N=function(t){return Array.prototype.filter.call(t.children,function(e){return e.getAttribute("role")==="tab"})};function W(t,e){var r=t.parentNode,i=N(r),n=i.some(function(a){return a.hasAttribute("tabindex")});i.forEach(function(a){var s=a===t;a.setAttribute("aria-selected",String(s)),a.classList.contains("gemboss-ei-tab")&&a.classList.toggle("on",s),n&&a.setAttribute("tabindex",s?"0":"-1");var f=a.getAttribute("aria-controls"),o=f&&document.getElementById(f);o&&(o.hidden=!s)}),e&&t.focus(),l(t,"gemboss:editor-tab",{tab:I(t),index:i.indexOf(t)})}function $(t,e){if(!(e.key!=="ArrowRight"&&e.key!=="ArrowLeft")){var r=N(t);if(r.some(function(a){return a.hasAttribute("tabindex")})){var i=r.findIndex(function(a){return a.getAttribute("aria-selected")==="true"}),n=e.key==="ArrowRight"?(i+1)%r.length:(i-1+r.length)%r.length;e.preventDefault(),W(r[n],!0)}}}function X(t){var e=t.getAttribute("data-open")!=="open";t.setAttribute("data-open",e?"open":"closed"),t.setAttribute("aria-expanded",String(e));var r=t.querySelector(".gemboss-ei-chev");r&&(r.textContent=e?"\u25BE":"\u25B8"),l(t,"gemboss:editor-group",{open:e})}function J(t){var e=t.closest(".gemboss-ei-seg");Array.prototype.forEach.call(e.querySelectorAll("button"),function(r){var i=r===t;r.classList.toggle("active",i),r.classList.toggle("on",i),r.hasAttribute("aria-pressed")&&r.setAttribute("aria-pressed",String(i))}),l(e,"gemboss:editor-seg",{value:I(t)})}function _(t){var e=t.querySelector(".gemboss-ei-swatch"),r=t.querySelector("input:not([type=color])");if(!(!e||!r)){var i=r.value,n=!i||V.test(i);e.value=i&&n?i:"#000000",e.disabled=r.disabled||!n,n?e.removeAttribute("title"):e.title=i+" \u2014 not a plain 6-digit hex; edit it in the box below"}}function Q(t){for(var e=t.labels||[],r=null,i=0;i<e.length&&!r;i++)r=e[i].querySelector(".gemboss-ei-rangeval");r&&(r.textContent=t.value+(r.getAttribute("data-suffix")||""))}function Y(t){var e={},r=["t","r","b","l"];return Array.prototype.forEach.call(t.querySelectorAll("input"),function(i,n){e[r[n]]=i.value.trim()}),e}function B(t){return'url("'+t.replace(/["\\]/g,"\\$&").replace(/[\u0000-\u001f\u007f]/g,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})+'")'}b.cssUrl=B;function Z(t,e){var r=t.querySelector(".gemboss-ei-img-thumb");r&&(r.style.backgroundImage=e?B(e):"",r.textContent=e?"":"\u2014")}function R(t,e){var r=t.getAttribute("data-gb-value")!=null?t.getAttribute("data-gb-value"):e.defaultValue;e.value!==r&&(t.setAttribute("data-gb-value",e.value),Z(t,e.value),l(t,"gemboss:editor-image",{value:e.value}))}var A=typeof WeakSet=="function"?new WeakSet:null,L=function(t){return t.__gbPanel?!1:(t.__gbPanel=!0,!0)};function ee(t){var e=t||document;return(A?A.has(e):e._gbPanel)?0:(A?A.add(e):e._gbPanel=!0,Array.prototype.forEach.call(e.querySelectorAll(".gemboss-ei-color"),_),e.addEventListener("click",function(r){var i=r.target,n;if(!(!i.closest||!L(r))){if(n=i.closest('.gemboss-ec-tabs > [role="tab"], .gemboss-ei-tabs > [role="tab"]'))return W(n,!1);if(n=i.closest(".gemboss-ei-gh"))return X(n);if((n=i.closest(".gemboss-ei-seg button"))&&!n.disabled)return J(n);if((n=i.closest("[data-gb-image-clear]"))&&!n.disabled){var a=n.closest(".gemboss-ei-img"),s=a&&a.querySelector(".gemboss-ei-img-ctl input");s&&(s.value="",R(a,s))}}}),e.addEventListener("keydown",function(r){var i=r.target;if(!(!i.closest||!L(r))){var n=i.closest('.gemboss-ec-tabs[role="tablist"], .gemboss-ei-tabs[role="tablist"]');if(n&&i.getAttribute("role")==="tab")return $(n,r);r.key==="Enter"&&i.tagName==="INPUT"&&i.type!=="color"&&i.type!=="range"&&i.closest(".gemboss-ei-color, .gemboss-ei-edgebox, .gemboss-ei-img")&&(r.preventDefault(),i.blur())}}),e.addEventListener("input",function(r){var i=r.target;if(!(!i.closest||!L(r))){if(i.classList.contains("gemboss-ei-range")){Q(i),l(i,"gemboss:editor-range",{value:Number(i.value)});return}if(i.classList.contains("gemboss-ei-swatch")){var n=i.closest(".gemboss-ei-color"),a=n&&n.querySelector("input:not([type=color])");a&&(a.value=i.value),l(n||i,"gemboss:editor-color",{value:i.value})}}}),e.addEventListener("focusout",function(r){var i=r.target;if(!(!i.closest||i.tagName!=="INPUT"||!L(r))){var n;if(i.type!=="color"&&(n=i.closest(".gemboss-ei-color"))){_(n),l(n,"gemboss:editor-color",{value:i.value});return}if(n=i.closest(".gemboss-ei-edgebox")){l(n,"gemboss:editor-edges",Y(n));return}(n=i.closest(".gemboss-ei-img"))&&R(n,i)}}),1)}b.initEditorPanel=ee})(typeof globalThis<"u"?globalThis:this);
|
|
1
|
+
(function(E){"use strict";var v=E.gembossUI;if(!v){E.console&&E.console.error("@gemboss/ui editor-plain.js: load kit-plain.js first (it defines gembossUI)");return}if(v.initEditorFrame)return;var k=5,R=360,p=typeof WeakSet=="function"?new WeakSet:null,u=function(t,e,r){t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:r}))},S=function(t,e){var r=Number(t);return isFinite(r)&&r>0?r:e};function c(t){return t.querySelector(".gemboss-editor-body")}function g(t){var e=c(t);return e&&e.querySelector(":scope > .gemboss-editor-resizer")}function b(t){var e=g(t);return{min:S(e&&e.getAttribute("aria-valuemin"),300),cap:S(e&&(e.getAttribute("data-gb-max")||e.getAttribute("aria-valuemax")),680)}}function x(t){var e=b(t),r=c(t),i=r?r.getBoundingClientRect().width:0;return i>0?Math.max(e.min,Math.min(e.cap,i-R-k)):e.cap}var h=typeof WeakMap=="function"?new WeakMap:null;function C(t){var e=h?h.get(t):t._gbWant;return e??y(t)}function q(t,e){h?h.set(t,e):t._gbWant=e}function d(t,e,r,i){var n=c(t),a=g(t);if(n){var s=i??x(t),f=b(t),o=Math.round(Math.min(s,Math.max(f.min,e)));if(n.style.setProperty("--gemboss-chat-w",o+"px"),a&&(a.setAttribute("aria-valuenow",String(o)),a.setAttribute("aria-valuemax",String(s))),r){q(t,o);var L=n.getAttribute("data-gb-storage");if(L)try{localStorage.setItem(L,String(o))}catch{}u(t,"gemboss:editor-split",{width:o})}return o}}function y(t){var e=g(t);return S(e&&e.getAttribute("aria-valuenow"),384)}function z(t){var e=c(t),r=g(t);if(!(!e||!r)){r.hasAttribute("data-gb-max")||r.setAttribute("data-gb-max",r.getAttribute("aria-valuemax")||"680");var i=e.getAttribute("data-gb-storage"),n=y(t);if(i)try{var a=Number(localStorage.getItem(i));a>=b(t).min&&a<=b(t).cap&&(n=a)}catch{}q(t,n),e.classList.contains("is-chat-collapsed")||d(t,n,!1)}}function O(t,e){var r=c(t);if(r&&!(e.button!==0||e.isPrimary===!1)){e.preventDefault();var i=r.getBoundingClientRect().left,n=x(t),a=0,s=y(t);document.body.classList.add("ui-resizing");var f=function(L){s=L.clientX-i-k,a||(a=requestAnimationFrame(function(){a=0,d(t,s,!1,n)}))},o=function(){a&&cancelAnimationFrame(a),document.body.classList.remove("ui-resizing"),removeEventListener("pointermove",f),removeEventListener("pointerup",o),removeEventListener("pointercancel",o),removeEventListener("blur",o),d(t,s,!0,n)};addEventListener("pointermove",f),addEventListener("pointerup",o),addEventListener("pointercancel",o),addEventListener("blur",o)}}function D(t,e){if(!(e.altKey||e.metaKey||e.ctrlKey)){var r=e.shiftKey?64:16,i=y(t),n=b(t);if(e.key==="ArrowLeft")i-=r;else if(e.key==="ArrowRight")i+=r;else if(e.key==="Home")i=n.min;else if(e.key==="End")i=x(t);else return;e.preventDefault(),d(t,i,!0)}}function F(t,e){var r=c(t);if(r){var i=!r.classList.contains("is-chat-collapsed");r.classList.toggle("is-chat-collapsed",i),i?r.style.setProperty("--gemboss-chat-w","0px"):d(t,C(t),!1),e.classList.toggle("collapsed",i),e.setAttribute("aria-pressed",String(i)),e.setAttribute("aria-label",i?"Show chat panel":"Hide chat panel"),e.title=i?"Show chat panel":"Hide chat \u2014 full-width preview";var n=e.querySelector("rect[fill='currentColor']");n&&(n.style.display=i?"none":""),u(t,"gemboss:editor-chat",{collapsed:i})}}function K(t,e){var r=e.closest(".gemboss-pv-devices");r&&(r.querySelectorAll(".gemboss-pv-device").forEach(function(i){var n=i===e;i.classList.toggle("active",n),i.setAttribute("aria-pressed",String(n))}),u(t,"gemboss:editor-device",{device:e.getAttribute("data-device")||(e.title||"").toLowerCase()}))}function U(t,e){var r=e.getAttribute("data-pane")||(Array.prototype.indexOf.call(e.parentNode.children,e)===0?"chat":"preview"),i=c(t);i&&(i.setAttribute("data-mobile-pane",r),e.parentNode.querySelectorAll(".gemboss-editor-mobile-tab").forEach(function(n){var a=n===e;n.classList.toggle("active",a),n.setAttribute("aria-selected",String(a))}),u(t,"gemboss:editor-pane",{pane:r}))}var l=null;function M(t){var e=t.trigger.getBoundingClientRect();t.menu.style.top=e.bottom+6+"px",t.menu.style.right=Math.max(8,innerWidth-e.right)+"px";var r=t.menu.getBoundingClientRect(),i=e.right-r.right;r.left+i<8&&(i=8-r.left),Math.abs(i)>=.5&&(t.menu.style.right=parseFloat(t.menu.style.right)-i+"px")}function m(t){var e=l;e&&(l=null,e.menu.hidden=!0,e.trigger.setAttribute("aria-expanded","false"),e.trigger.classList.remove("active"),t&&e.trigger.focus(),u(e.root,"gemboss:editor-menu",{open:!1,menu:e.menu}))}function H(t,e){var r=e.nextElementSibling;if(!r||!r.classList.contains("gemboss-editor-menu"))return!1;var i=l&&l.trigger===e;return m(!1),i||(l={root:t,trigger:e,menu:r},r.hidden=!1,e.setAttribute("aria-expanded","true"),e.classList.add("active"),M(l),u(t,"gemboss:editor-menu",{open:!0,menu:r})),!0}var N=!1;function $(){N||(N=!0,document.addEventListener("pointerdown",function(t){l&&!l.menu.contains(t.target)&&!l.trigger.contains(t.target)&&m(!1)}),addEventListener("keydown",function(t){t.key!=="Escape"||!l||t.isComposing||t.keyCode===229||(t.preventDefault(),t.stopImmediatePropagation(),m(!0))},!0),addEventListener("resize",function(){l&&M(l)}),addEventListener("blur",function(){m(!1)}))}function j(t){var e=t&&t.classList&&t.classList.contains("gemboss-editor")?[t]:Array.prototype.slice.call((t||document).querySelectorAll(".gemboss-editor"));return $(),e.forEach(function(r){if(!(p?p.has(r):r._gbEditor)){p?p.add(r):r._gbEditor=!0,z(r);var i=c(r);i&&typeof ResizeObserver=="function"&&new ResizeObserver(function(){i.classList.contains("is-chat-collapsed")||d(r,C(r),!1)}).observe(i),r.addEventListener("pointerdown",function(n){var a=n.target.closest(".gemboss-editor-resizer");a&&a===g(r)&&O(r,n)}),r.addEventListener("keydown",function(n){n.target.classList&&n.target.classList.contains("gemboss-editor-resizer")&&n.target===g(r)&&D(r,n)}),r.addEventListener("click",function(n){var a=n.target,s;if(s=a.closest(".gemboss-editor-chat-toggle"))return F(r,s);if(s=a.closest(".gemboss-pv-devices .gemboss-pv-device"))return K(r,s);if(s=a.closest(".gemboss-editor-mobile-tab"))return U(r,s);if((s=a.closest('[aria-haspopup="menu"]'))&&H(r,s)){n.stopPropagation();return}l&&(s=a.closest(".gemboss-editor-menu-item"))&&l.menu.contains(s)&&m(!0)})}}),e.length}v.initEditorFrame=j;var G=/^#[0-9a-fA-F]{6}$/,P=function(t){var e=t.getAttribute("data-value");return e??(t.textContent||"").trim()},W=function(t){return Array.prototype.filter.call(t.children,function(e){return e.getAttribute("role")==="tab"})};function I(t,e){var r=t.parentNode,i=W(r),n=i.some(function(a){return a.hasAttribute("tabindex")});i.forEach(function(a){var s=a===t;a.setAttribute("aria-selected",String(s)),a.classList.contains("gemboss-ei-tab")&&a.classList.toggle("on",s),n&&a.setAttribute("tabindex",s?"0":"-1");var f=a.getAttribute("aria-controls"),o=f&&document.getElementById(f);o&&(o.hidden=!s)}),e&&t.focus(),u(t,"gemboss:editor-tab",{tab:P(t),index:i.indexOf(t)})}function V(t,e){if(!(e.key!=="ArrowRight"&&e.key!=="ArrowLeft")){var r=W(t);if(r.some(function(a){return a.hasAttribute("tabindex")})){var i=r.findIndex(function(a){return a.getAttribute("aria-selected")==="true"}),n=e.key==="ArrowRight"?(i+1)%r.length:(i-1+r.length)%r.length;e.preventDefault(),I(r[n],!0)}}}function X(t){var e=t.getAttribute("data-open")!=="open";t.setAttribute("data-open",e?"open":"closed"),t.setAttribute("aria-expanded",String(e));var r=t.querySelector(".gemboss-ei-chev");r&&(r.textContent=e?"\u25BE":"\u25B8"),u(t,"gemboss:editor-group",{open:e})}function J(t){var e=t.closest(".gemboss-ei-seg");Array.prototype.forEach.call(e.querySelectorAll("button"),function(r){var i=r===t;r.classList.toggle("active",i),r.classList.toggle("on",i),r.hasAttribute("aria-pressed")&&r.setAttribute("aria-pressed",String(i))}),u(e,"gemboss:editor-seg",{value:P(t)})}var Q={text:"Text",accent:"Accent","accent-text":"Accent text",muted:"Muted",background:"Background",surface:"Surface",border:"Border",success:"Success",warning:"Warning",danger:"Danger"},Y=0;function Z(t){var e=t.trim(),r=/^var\(\s*--gem-color-([a-z-]+)\s*\)$/i.exec(e);if(r){var i=r[1].toLowerCase();return"Theme color: "+(Q[i]||i.charAt(0).toUpperCase()+i.slice(1).replace(/-/g," "))+". Type a hex to use your own."}return/^var\(/i.test(e)?"A theme value. Type a hex to use your own.":"Kept as written: the swatch picks 6-digit hex colors only."}function B(t){var e=t.querySelector(".gemboss-ei-swatch"),r=t.querySelector("input:not([type=color])");if(!(!e||!r)){var i=r.value,n=!i||G.test(i);e.value=i&&n?i:"#000000",e.disabled=r.disabled||!n;var a=t.querySelector(".gemboss-ei-color-why");if(n){e.removeAttribute("title"),e.removeAttribute("aria-describedby"),a&&a.parentNode.removeChild(a);return}var s=Z(i);e.title=s,a||(a=document.createElement("p"),a.className="gemboss-ei-color-why",t.appendChild(a)),a.id||(a.id="gemboss-ei-color-why-"+ ++Y),a.textContent=s,e.setAttribute("aria-describedby",a.id)}}function ee(t){for(var e=t.labels||[],r=null,i=0;i<e.length&&!r;i++)r=e[i].querySelector(".gemboss-ei-rangeval");r&&(r.textContent=t.value+(r.getAttribute("data-suffix")||""))}function te(t){var e={},r=["t","r","b","l"];return Array.prototype.forEach.call(t.querySelectorAll("input"),function(i,n){e[r[n]]=i.value.trim()}),e}function T(t){return'url("'+t.replace(/["\\]/g,"\\$&").replace(/[\u0000-\u001f\u007f]/g,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})+'")'}v.cssUrl=T;function re(t,e){var r=t.querySelector(".gemboss-ei-img-thumb");r&&(r.style.backgroundImage=e?T(e):"",r.textContent=e?"":"\u2014")}function _(t,e){var r=t.getAttribute("data-gb-value")!=null?t.getAttribute("data-gb-value"):e.defaultValue;e.value!==r&&(t.setAttribute("data-gb-value",e.value),re(t,e.value),u(t,"gemboss:editor-image",{value:e.value}))}var A=typeof WeakSet=="function"?new WeakSet:null,w=function(t){return t.__gbPanel?!1:(t.__gbPanel=!0,!0)};function ie(t){var e=t||document;return(A?A.has(e):e._gbPanel)?0:(A?A.add(e):e._gbPanel=!0,Array.prototype.forEach.call(e.querySelectorAll(".gemboss-ei-color"),B),e.addEventListener("click",function(r){var i=r.target,n;if(!(!i.closest||!w(r))){if(n=i.closest('.gemboss-ec-tabs > [role="tab"], .gemboss-ei-tabs > [role="tab"]'))return I(n,!1);if(n=i.closest(".gemboss-ei-gh"))return X(n);if((n=i.closest(".gemboss-ei-seg button"))&&!n.disabled)return J(n);if((n=i.closest("[data-gb-image-clear]"))&&!n.disabled){var a=n.closest(".gemboss-ei-img"),s=a&&a.querySelector(".gemboss-ei-img-ctl input");s&&(s.value="",_(a,s))}}}),e.addEventListener("keydown",function(r){var i=r.target;if(!(!i.closest||!w(r))){var n=i.closest('.gemboss-ec-tabs[role="tablist"], .gemboss-ei-tabs[role="tablist"]');if(n&&i.getAttribute("role")==="tab")return V(n,r);r.key==="Enter"&&i.tagName==="INPUT"&&i.type!=="color"&&i.type!=="range"&&i.closest(".gemboss-ei-color, .gemboss-ei-edgebox, .gemboss-ei-img")&&(r.preventDefault(),i.blur())}}),e.addEventListener("input",function(r){var i=r.target;if(!(!i.closest||!w(r))){if(i.classList.contains("gemboss-ei-range")){ee(i),u(i,"gemboss:editor-range",{value:Number(i.value)});return}if(i.classList.contains("gemboss-ei-swatch")){var n=i.closest(".gemboss-ei-color"),a=n&&n.querySelector("input:not([type=color])");a&&(a.value=i.value),u(n||i,"gemboss:editor-color",{value:i.value})}}}),e.addEventListener("focusout",function(r){var i=r.target;if(!(!i.closest||i.tagName!=="INPUT"||!w(r))){var n;if(i.type!=="color"&&(n=i.closest(".gemboss-ei-color"))){B(n),u(n,"gemboss:editor-color",{value:i.value});return}if(n=i.closest(".gemboss-ei-edgebox")){u(n,"gemboss:editor-edges",te(n));return}(n=i.closest(".gemboss-ei-img"))&&_(n,i)}}),1)}v.initEditorPanel=ie})(typeof globalThis<"u"?globalThis:this);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.gemboss-ei-rep>label{display:flex;align-items:center;gap:6px}.gemboss-ei-rep-count{min-width:18px;padding:0 6px;border-radius:9px;background:var(--gemboss-hover,#eceef2);color:var(--gemboss-text-muted,#686b71);font-size:11px;line-height:18px;font-weight:550;text-align:center}.gemboss-ei-rep-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.gemboss-ei-rep-item{border:1px solid var(--gemboss-divider,#e5e7ea);border-radius:8px;background:var(--gemboss-surface,#fff)}.gemboss-ei-rep-item.is-dragging{opacity:.4}.gemboss-ei-rep-item[data-drop=before]{box-shadow:0 -2px 0 var(--gemboss-primary,#1b1c1e)}.gemboss-ei-rep-item[data-drop=after]{box-shadow:0 2px 0 var(--gemboss-primary,#1b1c1e)}.gemboss-ei-rep-head{display:flex;align-items:center;gap:2px;padding:2px 4px 2px 2px}.gemboss-ei-rep-grip{flex:none;width:16px;color:var(--gemboss-text-muted,#686b71);font-size:11px;letter-spacing:-2px;line-height:1;text-align:center;cursor:grab;user-select:none}.gemboss-ei-rep-grip[draggable=false]{opacity:.3;cursor:default}.gemboss-ei-rep-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:28px;padding:0 6px;border:0;border-radius:8px;background:none;color:var(--gemboss-text,#1b1c1e);font:inherit;font-size:13px;text-align:left;cursor:pointer}.gemboss-ei-rep-toggle:before{content:"";flex:none;width:5px;height:5px;margin:0 2px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);opacity:.6;transition:transform .12s}.gemboss-ei-rep-toggle[aria-expanded=true]:before{transform:rotate(45deg)}.gemboss-ei-rep-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gemboss-ei-rep-acts{display:flex;gap:2px;flex:none}.gemboss-ei-rep-acts button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:none;color:var(--gemboss-text-muted,#686b71);font:inherit;font-size:13px;line-height:1;cursor:pointer}.gemboss-ei-rep-acts button:hover:not(:disabled),.gemboss-ei-rep-toggle:hover{background:var(--gemboss-hover,#eceef2)}:is(.gemboss-ei-rep-acts button,.gemboss-ei-rep-toggle):focus-visible{outline:2px solid var(--gemboss-primary,#1b1c1e);outline-offset:-2px}.gemboss-ei-rep-acts button:disabled{opacity:.3;cursor:default}.gemboss-ei-rep-body{padding:8px 10px 10px;border-top:1px solid var(--gemboss-divider-soft,#edeff2)}.gemboss-ei-rep-add{width:100%}.gemboss-ei-rep--touch .gemboss-ei-rep-acts button{width:44px;height:44px}.gemboss-ei-rep--touch :is(.gemboss-ei-rep-toggle,.gemboss-ei-rep-add){min-height:44px}@media (prefers-reduced-motion:reduce){.gemboss-ei-rep-toggle:before{transition:none}}.gemboss-ei-rep--pop .gemboss-ei-rep-toggle:before{display:none}.gemboss-ei-rep-item.is-active{border-color:var(--gemboss-primary,#1b1c1e)}.gemboss-ei-rep-thumb{flex:none;width:20px;height:20px;border-radius:4px;object-fit:cover;background:var(--gemboss-hover,#eceef2)}.gemboss-ei-rep-pop[popover]{position:fixed;inset:auto;margin:0;overflow:auto;max-height:calc(100vh - 16px)}.gemboss-ei-rep-pop[popover]:not(:popover-open){display:none}:where(.gemboss-ei-rep-pop[popover]){border:0;background:none;color:inherit}.gemboss-ei-rep-pop{box-sizing:border-box;padding:4px 12px 12px}.gemboss-ei-rep-pophead{display:flex;align-items:center;gap:8px;min-height:36px;font-size:13px;font-weight:650}.gemboss-ei-rep-popat{margin-left:auto;color:var(--gemboss-text-muted,#686b71);font-size:12px;font-weight:450}.gemboss-ei-rep-pophead button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:none;color:var(--gemboss-text-muted,#686b71);font:inherit;cursor:pointer}.gemboss-ei-rep-pophead button:hover{background:var(--gemboss-hover,#eceef2)}.gemboss-ei-rep-pophead button:focus-visible{outline:2px solid var(--gemboss-primary,#1b1c1e);outline-offset:-2px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.gemboss-ei-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px}.gemboss-ei-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:56px;padding:6px 4px;border:1px solid var(--gemboss-divider,#e5e7ea);border-radius:8px;background:var(--gemboss-surface,#fff);color:var(--gemboss-text,#1b1c1e);font:inherit;font-size:12px;line-height:16px;cursor:pointer}.gemboss-ei-tile:hover:not(:disabled){background:var(--gemboss-hover,#eceef2)}.gemboss-ei-tile[aria-pressed=true]{border-color:var(--gemboss-primary,#1b1c1e);box-shadow:inset 0 0 0 1px var(--gemboss-primary,#1b1c1e);font-weight:550}.gemboss-ei-tile:focus-visible{outline:2px solid var(--gemboss-primary,#1b1c1e);outline-offset:1px}.gemboss-ei-tile:disabled{opacity:.4;cursor:default}.gemboss-ei-tile-pic{display:grid;place-items:center;width:26px;height:26px}.gemboss-ei-tile-shape{display:block;box-sizing:border-box;border:1.5px solid currentColor;border-radius:3px;opacity:.75}.gemboss-ei-tile-label{max-width:100%;overflow:hidden;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
|
package/src/editor.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes gemboss-editor-enter{0%{opacity:0}to{opacity:1}}@keyframes gemboss-editor-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes gemboss-pagepicker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes gemboss-flyout-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes gemboss-statusbar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.gemboss-platform-main:has(.gemboss-editor){box-sizing:border-box;height:100dvh;min-height:0;padding-top:0;overflow:hidden}.gemboss-editor{--gemboss-editor-inset: 5px;position:fixed;inset:0;box-sizing:border-box;display:flex;flex-direction:column;background:var(--gemboss-canvas);overflow:hidden;z-index:400;animation:gemboss-editor-enter .26s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion: reduce){.gemboss-editor{animation:none}}.gemboss-editor--embedded{position:relative;inset:auto;height:100%;min-height:0;z-index:auto;animation:none}.gemboss-editor-toast{position:absolute;top:62px;left:50%;transform:translate(-50%);z-index:500;display:flex;align-items:center;gap:12px;max-width:min(560px,92vw);padding:12px 12px 12px 16px;background:var(--gemboss-text);color:#fff;border-radius:12px;font-size:13px;line-height:1.4;box-shadow:var(--gemboss-shadow-overlay);animation:gemboss-editor-toast-in .24s cubic-bezier(.16,1,.3,1)}.gemboss-editor-toast strong{font-weight:600}.gemboss-editor-toast button{flex:0 0 auto;border:0;background:#ffffff29;color:#fff;width:22px;height:22px;border-radius:8px;cursor:pointer;font-size:12px;line-height:1;transition:background var(--gemboss-transition-fast) ease}.gemboss-editor-toast button:hover{background:#ffffff47}.gemboss-editor-toast button:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (prefers-reduced-motion: reduce){.gemboss-editor-toast{animation:none}}.gemboss-editor-topbar{flex:0 0 auto;height:var(--gemboss-editor-topbar-h, 52px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 16px;background:var(--gemboss-surface);border-bottom:1px solid var(--gemboss-divider)}@media (min-width: 1001px){.gemboss-editor-topbar--theme,.gemboss-editor-topbar.gemboss-pageedit-top{grid-template-columns:auto auto auto;justify-content:space-between}}.gemboss-editor-tb-left{display:flex;align-items:center;gap:12px;min-width:0}.gemboss-editor-tb-center{display:flex;align-items:center;gap:12px;justify-self:center}.gemboss-editor-topbar--theme .gemboss-editor-tb-center,.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-editor-tb-center{min-width:0}.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-pageedit-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1200px){.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-editor-tb-name,.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-sec-type{display:none}}.gemboss-editor-tb-right{display:flex;align-items:center;gap:16px;min-width:0;justify-self:end}.gemboss-editor-back{border:0;background:transparent;padding:0;font-family:inherit;font-size:18px;line-height:1;color:var(--gemboss-text);text-decoration:none;cursor:pointer;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--gemboss-radius-md);transition:background var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease}.gemboss-editor-back:hover{background:var(--gemboss-hover)}.gemboss-editor-back:active{background:var(--gemboss-active-bg);color:var(--gemboss-active-fg)}.gemboss-editor-back:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-editor-tb-name{font-family:var(--gemboss-serif);font-size:15px;font-weight:600}.gemboss-editor-savestate{display:inline-flex;align-items:center;gap:6px;font-size:var(--gemboss-fs-micro);font-weight:500;line-height:1;padding:4px 8px;border-radius:var(--gemboss-radius-full);white-space:nowrap;transition:opacity .2s ease}.gemboss-editor-savestate.is-saving{color:#ffffffb8;background:#ffffff14}.gemboss-editor-savestate.is-saved{color:var(--gemboss-success-border);background:#6fd39a1f}.gemboss-editor-savestate .gemboss-narr-spin{width:10px;height:10px;border-width:1.5px;border-color:#ffffff47;border-top-color:#ffffffd9}@media (max-width: 760px){.gemboss-editor-savestate.is-saved{display:none}}.gemboss-editor-tb-ghost{font-size:13px;color:var(--gemboss-text);text-decoration:none;padding:8px 12px;border:1px solid var(--gemboss-divider);border-radius:8px;white-space:nowrap;cursor:pointer;background:var(--gemboss-surface);transition:border-color var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease,background var(--gemboss-transition-fast) ease}.gemboss-editor-tb-ghost:hover{border-color:var(--gemboss-primary)}.gemboss-editor-tb-ghost:active{background:var(--gemboss-active-bg);border-color:var(--gemboss-primary);color:var(--gemboss-active-fg)}.gemboss-editor-tb-ghost:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-editor-tb-ghost:disabled{opacity:.5;cursor:default;border-color:var(--gemboss-divider);color:var(--gemboss-text-muted)}.gemboss-editor-tb-publish{background:var(--gemboss-primary);color:#fff;border:0;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--gemboss-transition-fast) ease,filter var(--gemboss-transition-fast) ease}.gemboss-editor-tb-publish:hover{background:var(--gemboss-primary-dark)}.gemboss-editor-tb-publish:active{background:var(--gemboss-primary-dark);filter:brightness(.94)}.gemboss-editor-tb-publish:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-editor-tb-publish:disabled{opacity:.5;cursor:default;filter:none}.gemboss-editor-tb-undo{font-size:15px}.gemboss-editor-publish{position:relative;display:inline-flex;align-items:stretch}.gemboss-editor-publish-main{border-radius:8px 0 0 8px}.gemboss-editor-publish-caret{border-radius:0 8px 8px 0;padding:8px 12px;font-size:12px;line-height:1;border-left:1px solid color-mix(in srgb,#fff 24%,transparent);display:inline-flex;align-items:center;justify-content:center}.gemboss-editor-publish-caret.active{filter:brightness(.94)}.gemboss-editor-menu-label{padding:6px 12px 2px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--gemboss-text-muted);white-space:nowrap}.gemboss-editor-overflow{position:relative;display:inline-flex}.gemboss-editor-overflow-trigger{font-size:18px;line-height:1}.gemboss-editor-menu{position:fixed;z-index:500;min-width:210px;max-height:calc(100vh - 16px);overflow-y:auto;padding:6px;animation:gemboss-flyout-in var(--gemboss-transition-fast) ease}@media (prefers-reduced-motion: reduce){.gemboss-editor-menu{animation:none}}.gemboss-editor-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:var(--gemboss-radius-md);background:transparent;font:inherit;font-size:13px;color:var(--gemboss-text);text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease}.gemboss-editor-menu-item:hover{background:var(--gemboss-hover)}.gemboss-editor-menu-item:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:-2px;background:var(--gemboss-hover)}.gemboss-editor-menu-item:disabled{opacity:.45;cursor:default}.gemboss-editor-menu-item:disabled:hover{background:transparent}.gemboss-editor-menu-item.active{color:var(--gemboss-active-fg)}.gemboss-editor-menu-ext{color:var(--gemboss-text-muted)}.gemboss-editor-menu-check{color:var(--gemboss-active-fg);font-weight:600}.gemboss-editor-menu-val{font-size:11px;color:var(--gemboss-text-muted);border:1px solid var(--gemboss-divider);border-radius:var(--gemboss-radius-sm);padding:1px 8px}.gemboss-editor-menu-sep{height:1px;background:var(--gemboss-divider-soft);margin:6px}.gemboss-editor-body{flex:1;min-height:0;display:flex;gap:0;padding:var(--gemboss-editor-inset);box-sizing:border-box}.gemboss-editor-body>.gemboss-ec,.gemboss-editor-body>.gemboss-editor-preview-pane{border:1px solid var(--gemboss-divider);border-radius:16px;overflow:hidden}.gemboss-editor-body>.gemboss-ec{border-right:1px solid var(--gemboss-divider)}.gemboss-ec-tabs{display:flex;gap:var(--ui-space-1);padding:var(--ui-space-2) var(--gemboss-ec-inset, 12px);border-bottom:1px solid var(--gemboss-divider);flex:none;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}.gemboss-ec-tabs>[role=tab]{flex:1 1 0;min-width:max-content;white-space:nowrap;font:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:var(--ui-space-2);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;background:transparent;color:var(--gemboss-text-muted);box-shadow:none}.gemboss-ec-tabs>[role=tab]:hover:not([aria-selected=true]){color:var(--gemboss-text);background:var(--gemboss-primary-soft)}.gemboss-ec-tabs>[role=tab]:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}.gemboss-ec-tabs>[role=tab][aria-selected=true]{border-color:var(--gemboss-divider);background:var(--gemboss-surface);color:var(--gemboss-text);box-shadow:inset 0 -2px 0 var(--gemboss-primary)}@media (max-width: 47.9975em){.gemboss-ec-tabs>[role=tab]{min-height:44px}}.gemboss-pv{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--gemboss-preview-canvas);overflow:hidden}.ui-seg.gemboss-pv-devices>button.gemboss-pv-device{width:calc(var(--ui-btn-h) - 2px);height:calc(var(--ui-btn-h) - 2px);border:0;border-radius:0}@media (pointer: coarse),(max-width: 47.9975em){.ui-seg.gemboss-pv-devices>button.gemboss-pv-device{width:44px;height:44px}}.gemboss-pv-device{border:1px solid var(--gemboss-divider);background:var(--gemboss-surface);cursor:pointer;width:30px;height:28px;border-radius:8px;color:var(--gemboss-text-muted);font-size:14px;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:border-color var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease,background var(--gemboss-transition-fast) ease}.gemboss-pv-device svg{display:block}@media (min-width: 1001px){.gemboss-editor-topbar--theme .gemboss-pv-device,.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-pv-device{width:36px;height:32px;position:relative}.gemboss-editor-topbar--theme .gemboss-pv-device:after,.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-pv-device:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}}.gemboss-editor-topbar--theme .gemboss-pv-devices .gemboss-pv-device:after,.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-pv-devices .gemboss-pv-device:after{content:none}.gemboss-editor-tb-tools{display:flex;align-items:center;gap:16px;min-width:0}@media (max-width: 1200px){.gemboss-editor-tb-tools{display:none}}.gemboss-pv-device:hover{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg)}.gemboss-pv-device:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-pv-device.active{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg);background:var(--gemboss-active-bg)}.gemboss-pagepicker{position:relative;display:inline-flex}.gemboss-pagepicker-trigger{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 12px;border-radius:8px;border:1px solid var(--gemboss-divider);background:var(--gemboss-surface);cursor:pointer;font-size:13px;font-weight:600;color:var(--gemboss-text);line-height:1;transition:border-color var(--gemboss-transition-fast) ease,background var(--gemboss-transition-fast) ease}.gemboss-pagepicker-trigger:hover{border-color:var(--gemboss-primary)}.gemboss-pagepicker-trigger[aria-expanded=true]{border-color:var(--gemboss-primary);background:var(--gemboss-active-bg, var(--gemboss-danger-soft))}.gemboss-pagepicker-trigger-icon{display:inline-flex;color:var(--gemboss-text-muted)}.gemboss-pagepicker-trigger-icon svg{display:block}.gemboss-pagepicker-trigger-label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gemboss-pagepicker-caret{font-size:9px;color:var(--gemboss-text-muted);margin-left:1px}.gemboss-pagepicker-menu{position:fixed;z-index:500;padding:8px;display:flex;flex-direction:column;gap:6px;animation:gemboss-pagepicker-in .14s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion: reduce){.gemboss-pagepicker-menu{animation:none}}.gemboss-pagepicker-search{position:relative;display:flex;align-items:center}.gemboss-pagepicker-search-icon{position:absolute;left:10px;display:inline-flex;color:var(--gemboss-text-muted);pointer-events:none}input.gemboss-pagepicker-search-input{width:100%;padding-left:32px}.gemboss-pagepicker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;max-height:320px;overflow-y:auto}.gemboss-pagepicker-item{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;cursor:pointer;text-align:left;padding:8px 12px;border-radius:var(--gemboss-radius-md);font-size:var(--gemboss-fs-body);color:var(--gemboss-text)}.gemboss-pagepicker-item:hover,.gemboss-pagepicker-item:focus-visible{background:var(--gemboss-hover, rgba(0,0,0,.05));outline:none}.gemboss-pagepicker-item.active{background:var(--gemboss-active-bg, var(--gemboss-danger-soft));color:var(--gemboss-active-fg);font-weight:600}.gemboss-pagepicker-item-icon{display:inline-flex;color:var(--gemboss-text-muted);flex:0 0 auto}.gemboss-pagepicker-item.active .gemboss-pagepicker-item-icon{color:var(--gemboss-active-fg)}.gemboss-pagepicker-item-icon svg{display:block}.gemboss-pagepicker-item-label{flex:1;min-width:0}.gemboss-pagepicker-check{color:var(--gemboss-active-fg);font-size:13px;flex:0 0 auto}.gemboss-pagepicker-empty{padding:12px;font-size:13px;color:var(--gemboss-text-muted)}.gemboss-pagepicker-note{padding:8px 12px 12px;font-size:12px;line-height:1.5;color:var(--gemboss-text-muted);border-bottom:1px solid var(--gemboss-divider)}.gemboss-pagepicker-note-link{color:var(--gemboss-primary);font-weight:600;text-decoration:none}.gemboss-pagepicker-note-link:hover{text-decoration:underline}.gemboss-pagepicker-back{display:flex;align-items:center;gap:6px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;padding:4px 6px 8px;margin-bottom:2px;border-bottom:1px solid var(--gemboss-divider-soft, #edeff2);font-size:13px;font-weight:600;color:var(--gemboss-text)}.gemboss-pagepicker-back:hover{color:var(--gemboss-active-fg)}.gemboss-pagepicker-back:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-pagepicker-back-icon{display:inline-flex;color:var(--gemboss-text-muted)}.gemboss-pagepicker-back-icon svg{display:block}.gemboss-pagepicker-drill{display:inline-flex;color:var(--gemboss-text-muted);flex:0 0 auto}.gemboss-pagepicker-drill svg{display:block}.gemboss-pagepicker-thumb{width:30px;height:30px;flex:0 0 auto;border-radius:8px;object-fit:cover;border:1px solid var(--gemboss-divider);background:var(--gemboss-panel-bg, #ffffff)}.gemboss-pagepicker-thumb--default{display:inline-flex;align-items:center;justify-content:center;color:var(--gemboss-text-muted)}.gemboss-pagepicker-thumb--default svg{width:16px;height:16px}.gemboss-pv-stage{flex:1;min-height:0;overflow:hidden;display:flex;justify-content:center;padding:0}.gemboss-pv-frame{background:var(--gemboss-surface);overflow:hidden;height:100%;position:relative}.gemboss-pv-frame.desktop{width:100%;max-width:none}.gemboss-pv-frame.gemboss-pv-fit.desktop{position:absolute;top:0;left:0;width:var(--gemboss-pv-w, 100%);height:var(--gemboss-pv-h, 100%);transform:scale(calc(var(--gemboss-pv-scale, 1) * var(--gemboss-pv-user-zoom, 1)));transform-origin:top left}.gemboss-pv-frame.mobile{width:390px;flex:0 0 390px;align-self:center;margin:16px 0;border:1px solid var(--gemboss-divider);border-radius:20px;box-shadow:var(--gemboss-shadow-overlay)}.gemboss-pv-frame.tablet{width:768px;flex:0 0 768px;align-self:center;margin:16px 0;border:1px solid var(--gemboss-divider);border-radius:16px;box-shadow:var(--gemboss-shadow-overlay)}.gemboss-pv-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:var(--gemboss-surface);transition:opacity .18s ease}.gemboss-pv-empty{margin:auto;text-align:center;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:8px}.gemboss-pv-empty-art{font-size:40px;line-height:1;opacity:.7}.gemboss-pv-empty-title{font-family:var(--gemboss-serif);font-size:18px;margin:0}.gemboss-pv-empty-sub{font-size:13px;color:var(--gemboss-text-muted);margin:0;line-height:1.5}.gemboss-pv-empty-cta{margin-top:6px;font-size:13px;font-weight:600;color:var(--gemboss-active-fg);text-decoration:none}.gemboss-pv-empty-cta:hover{text-decoration:underline}.gemboss-pv-spin{width:22px;height:22px;border:2px solid var(--gemboss-divider-soft);border-top-color:var(--gemboss-primary);border-radius:50%;animation:gemboss-spin .7s linear infinite}.gemboss-editor-resizer{flex:0 0 var(--gemboss-editor-inset);align-self:stretch}body.ui-resizing .gemboss-pv-iframe{pointer-events:none}.gemboss-editor-chat-toggle{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gemboss-divider);background:var(--gemboss-surface);border-radius:var(--gemboss-radius-md);cursor:pointer;font-size:14px;line-height:1;color:var(--gemboss-text-muted);transition:border-color var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease}.gemboss-editor-chat-toggle:hover{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg)}.gemboss-editor-chat-toggle:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-editor-chat-toggle.collapsed{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg)}.gemboss-editor-chat-toggle svg{display:block}.gemboss-editor-body .gemboss-ec{transition:flex-basis .28s cubic-bezier(.16,1,.3,1),width .28s cubic-bezier(.16,1,.3,1)}body.ui-resizing .gemboss-editor-body .gemboss-ec{transition:none;will-change:flex-basis,width}body.ui-resizing .gemboss-editor-body .gemboss-pv{will-change:flex-basis}.gemboss-editor-body.is-chat-collapsed .gemboss-ec{border-width:0;overflow:hidden}.gemboss-editor-body.is-chat-collapsed>.gemboss-ec{visibility:hidden}.gemboss-editor-body.is-chat-collapsed .gemboss-editor-resizer{display:none}.gemboss-pagepicker-list{scrollbar-width:thin;scrollbar-color:rgba(31,30,29,.22) transparent}.gemboss-pagepicker-list::-webkit-scrollbar{width:9px}.gemboss-pagepicker-list::-webkit-scrollbar-track{background:transparent}.gemboss-pagepicker-list::-webkit-scrollbar-thumb{background:#1f1e1d33;border-radius:6px;border:2px solid transparent;background-clip:content-box}@media (max-width: 1000px){.gemboss-editor-body{flex-direction:column;gap:var(--gemboss-editor-inset)}}@media (max-width: 1000px){.gemboss-editor-resizer{display:none}.gemboss-editor-body.is-chat-collapsed .gemboss-ec{max-height:0;min-height:0}.gemboss-editor-topbar{height:auto;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"left right" "center center";gap:8px 12px;padding:8px 12px}.gemboss-editor-tb-left{grid-area:left}.gemboss-editor-tb-right{padding-block:6px;grid-area:right;min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gemboss-editor-tb-center{grid-area:center;justify-self:stretch;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gemboss-editor-tb-right::-webkit-scrollbar,.gemboss-editor-tb-center::-webkit-scrollbar{display:none}.gemboss-editor-tb-right>*{flex:0 0 auto}.gemboss-editor-tb-right>.gemboss-editor-tb-publish{position:sticky;right:0;z-index:1;box-shadow:-8px 0 8px -6px color-mix(in srgb,var(--gemboss-text) 18%,transparent)}.gemboss-editor-tb-name{display:none}.gemboss-editor-tb-ghost{padding:6px 12px;font-size:12px}.gemboss-editor-tb-publish{padding:8px 16px;font-size:13px}}@media (max-width: 640px){.gemboss-pv-frame.mobile{width:100%;max-width:390px;flex:0 1 auto;margin:8px 0}.gemboss-pv-frame.tablet{width:100%;max-width:768px;flex:0 1 auto;margin:8px 0}}.gemboss-editor-preview-pane{display:flex}.gemboss-editor-mobile-tabs{display:none}.gemboss-editor-dock{position:absolute;top:0;right:0;bottom:0;width:320px;max-width:90%;z-index:5;overflow-y:auto;background:var(--gemboss-surface);border-left:1px solid var(--gemboss-divider);box-shadow:var(--gemboss-shadow-overlay)}.gemboss-editor-preview-pane:has(>.gemboss-editor-dock){position:relative}:where(.gemboss-editor-body>.gemboss-ec){position:relative;width:var(--gemboss-chat-w, 384px);flex:0 0 var(--gemboss-chat-w, 384px);display:flex;flex-direction:column;background:var(--gemboss-panel-bg);border-right:1px solid var(--gemboss-divider);overflow:hidden}:where(.gemboss-editor-preview-pane){flex:1;min-width:0}@media (max-width: 1000px){:where(.gemboss-editor-body>.gemboss-ec){width:auto;flex:0 0 auto;max-height:48%}}@media (max-width: 760px){.gemboss-editor-resizer{display:none}.gemboss-editor-body .gemboss-ec{flex:1 1 auto;width:100%;min-width:0;max-height:none;border-right:none}.gemboss-editor-body .gemboss-editor-preview-pane{flex:1 1 auto}.gemboss-editor-body[data-mobile-pane=chat] .gemboss-editor-preview-pane,.gemboss-editor-body[data-mobile-pane=preview] .gemboss-ec{display:none}.gemboss-editor-mobile-tabs{display:flex;flex:0 0 auto;gap:6px;padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));background:var(--gemboss-surface);border-top:1px solid var(--gemboss-divider)}.gemboss-editor-mobile-tab{flex:1 1 0;height:44px;border:0;border-radius:8px;background:transparent;color:var(--gemboss-text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.gemboss-editor-mobile-tab.active{background:var(--gemboss-active-bg);color:var(--gemboss-active-fg)}}.gemboss-editor-statusbar{position:absolute;top:60px;right:14px;z-index:480;max-width:min(380px,calc(100vw - 28px));padding:8px 16px;font-size:12px;line-height:1.4;color:var(--gemboss-text-muted);background:var(--gemboss-surface);border:1px solid var(--gemboss-divider);border-radius:12px;box-shadow:var(--gemboss-shadow-raised);pointer-events:none;animation:gemboss-statusbar-in .18s cubic-bezier(.16,1,.3,1) both}.gemboss-editor-statusbar.done{background:#eaf6ef;color:#1f7a4d;border-color:var(--gemboss-success-border)}.gemboss-editor-statusbar.error{background:#fdecea;color:var(--gemboss-danger);border-color:#f3c2bb}@media (pointer: coarse){.gemboss-pv-device{width:38px;height:38px;font-size:16px}.gemboss-editor-back{width:44px;height:44px;font-size:20px}.gemboss-editor-chat-toggle{width:44px;height:44px;font-size:16px}}@media (pointer: coarse){.gemboss-editor-tb-ghost{padding:8px 16px;min-height:44px}.gemboss-editor-tb-publish{padding:12px 20px;min-height:44px}.gemboss-pagepicker-trigger{min-height:44px}}@media (pointer: coarse){.gemboss-ec-tab{min-height:44px}}@media (max-width: 760px){.gemboss-editor-chat-toggle{display:none}}.gemboss-pageedit{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--gemboss-panel-bg,#ffffff);z-index:320}.gemboss-pageedit-top{background:#fff;border-bottom:1px solid var(--gemboss-divider,#e5e7ea)}.gemboss-pageedit .gemboss-editor-tb-center{display:flex;align-items:center;gap:12px;justify-content:center}.gemboss-pageedit .gemboss-editor-tb-right{display:flex;align-items:center;gap:12px;min-width:0}.gemboss-pageedit .gemboss-editor-tb-right>:first-child{margin-inline-start:auto}.gemboss-pageedit .gemboss-editor-tb-left{display:flex;align-items:center;gap:12px;min-width:0}.gemboss-pageedit-title{font-family:var(--gemboss-serif,inherit);font-size:15px;font-weight:600;color:var(--gemboss-text,#1b1c1e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32ch}.gemboss-pageedit-modes{flex:none;display:flex}.gemboss-pageedit-notice{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex:0 0 auto;padding:12px 16px;background:var(--gemboss-surface);border-bottom:1px solid var(--gemboss-divider);color:var(--gemboss-text);font-size:13px;line-height:1.5}.gemboss-pageedit-notice span{flex:1 1 240px;min-width:0}.gemboss-pageedit-notice button{min-height:44px;padding:8px 12px;flex:0 0 auto;border:1px solid var(--gemboss-divider);border-radius:8px;background:var(--gemboss-surface);color:var(--gemboss-text);cursor:pointer}@media (max-width:900px){.gemboss-pageedit-top{height:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"left" "right" "center";gap:8px;padding:8px 12px}.gemboss-pageedit-top .gemboss-editor-tb-right{flex-wrap:wrap;overflow:visible}.gemboss-pageedit-top .gemboss-editor-tb-right button{min-height:44px}.gemboss-pageedit .gemboss-editor-tb-left{width:100%;overflow:hidden;flex-wrap:wrap}.gemboss-pageedit-modes{flex-basis:100%}.gemboss-pageedit .gemboss-editor-tb-right,.gemboss-pageedit .gemboss-editor-tb-center{justify-self:stretch;justify-content:flex-start;max-width:100%;overflow-x:auto}.gemboss-pageedit-top .gemboss-editor-tb-center{flex-wrap:wrap;row-gap:8px;overflow:visible}}.gemboss-sec-type{font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:12px;background:#f1efe9;color:var(--gemboss-text-muted);text-transform:capitalize}.gemboss-sec-insert-wrap{position:relative}.gemboss-sec-insert-menu{position:absolute;top:42px;right:0;width:280px;max-height:60vh;overflow-y:auto;padding:6px;z-index:80}.gemboss-sec-insert-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:0;background:transparent;border-radius:8px;cursor:pointer;text-align:left;font-size:13px;color:var(--gemboss-text,#1b1c1e);transition:background .12s ease,color .12s ease}.gemboss-sec-insert-item:hover{background:var(--gemboss-hover,rgba(0,0,0,.04))}.gemboss-sec-insert-item:focus-visible{outline:2px solid var(--gemboss-primary, #1b1c1e);outline-offset:-2px;background:var(--gemboss-hover,rgba(0,0,0,.04))}.gemboss-sec-insert-item:disabled{opacity:.6;cursor:default}.gemboss-sec-insert-item:disabled:hover{background:transparent}.gemboss-sec-insert-cat{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted,#686b71);text-transform:capitalize}.gemboss-sec-insert-empty{display:block;padding:16px;font-size:13px;color:var(--gemboss-text-muted,#686b71);text-decoration:none}.gemboss-pageedit-scope{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted,#686b71);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width:1200px){.gemboss-pageedit-scope{display:none}}.gemboss-pageedit-pv{flex:1;min-width:0;background:var(--gemboss-preview-canvas);display:flex;justify-content:center;overflow:auto;position:relative}.gemboss-pageedit-pv .gemboss-pv-frame iframe{width:100%;height:100%;border:0;background:#fff;display:block}.gemboss-pageedit-chip{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:6px 12px;border-radius:8px;background:var(--gemboss-active-bg);border:1px solid var(--gemboss-divider);font-size:12px;color:var(--gemboss-active-fg)}.gemboss-pageedit-chip button{margin-left:auto;border:0;background:transparent;color:var(--gemboss-active-fg);cursor:pointer;font-size:12px}.gemboss-pageedit-standing{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 16px;background:#b07d1817;border-bottom:1px solid rgba(176,125,24,.28);font-size:13px;line-height:1.5;color:#7a5710}.gemboss-pageedit-standing code{font-size:12px;background:#b07d1824;border-radius:4px;padding:2px 4px}.gemboss-pageedit-standing button{margin-left:auto;flex:0 0 auto;border:1px solid rgba(176,125,24,.4);background:#fff;color:#7a5710;border-radius:8px;padding:4px 12px;font:inherit;font-weight:600;cursor:pointer}.gemboss-pageedit-standing button:disabled{opacity:.6;cursor:default}.gemboss-picker-backdrop{position:fixed;inset:0;background:#1f1e1d38;z-index:70}.gemboss-picker-head{flex:0 0 auto;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--gemboss-divider,#e5e7ea);font-weight:600;font-size:15px}.gemboss-picker-head button{border:0;background:transparent;font-size:15px;cursor:pointer;color:var(--gemboss-text-muted,#686b71)}.gemboss-picker-empty{padding:20px;text-align:center;color:var(--gemboss-text-muted,#686b71);font-size:13px}.gemboss-layers{position:fixed;top:0;left:0;bottom:0;width:300px;background:#fff;border-right:1px solid var(--gemboss-divider,#e5e7ea);box-shadow:8px 0 30px #1f1e1d1f;z-index:71;display:flex;flex-direction:column}.gemboss-layers-list{flex:1;min-height:0;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:4px}.gemboss-layer{display:flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:8px;padding:0 4px 0 6px}.gemboss-layer:hover{background:var(--gemboss-hover,rgba(0,0,0,.04))}.gemboss-layer.is-sel{border-color:var(--gemboss-primary, #1b1c1e);background:var(--gemboss-active-bg)}.gemboss-layer-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:transparent;border:0;cursor:pointer;text-align:left;padding:8px 4px}.gemboss-layer-type{font-size:13px;font-weight:600;color:var(--gemboss-text,#1b1c1e)}.gemboss-layer-head{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted,#686b71);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:195px}.gemboss-layer-acts{display:flex;gap:0;flex:0 0 auto}.gemboss-layer-acts button{width:26px;height:26px;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--gemboss-text-muted,#686b71);font-size:13px;line-height:1}.gemboss-layer-acts button:hover:not(:disabled){background:var(--gemboss-hover,rgba(0,0,0,.07))}.gemboss-layer-acts button:disabled{opacity:.28;cursor:default}.gemboss-layer-del:hover:not(:disabled){color:#c0392b}@media (pointer: coarse){.gemboss-layer{flex-wrap:wrap}.gemboss-layer-acts{margin-left:auto}.gemboss-layer-acts button{width:44px;height:44px;font-size:15px}.gemboss-layer-main{flex:1 1 140px;min-height:44px;justify-content:center}.gemboss-layer-head{max-width:100%}}.gemboss-layer-grip{flex:0 0 auto;width:12px;margin-right:-2px;color:var(--gemboss-text-muted,#686b71);font-size:11px;letter-spacing:-2px;line-height:1;text-align:center;cursor:grab;user-select:none}.gemboss-layer[draggable=true]{cursor:grab}.gemboss-layer.is-dragging{opacity:.4}.gemboss-layer[data-drop=before]{box-shadow:0 -2px 0 var(--gemboss-primary, #1b1c1e)}.gemboss-layer[data-drop=after]{box-shadow:0 2px 0 var(--gemboss-primary, #1b1c1e)}.gemboss-layer.is-hidden .gemboss-layer-main{opacity:.5}.gemboss-layer-acts .gemboss-layer-eye{display:inline-grid;place-items:center}.gemboss-layer-acts .gemboss-layer-eye[aria-pressed=true]{color:var(--gemboss-text,#1b1c1e)}.gemboss-layers[hidden],.gemboss-settings[hidden],.gemboss-picker-backdrop[hidden]{display:none}.gemboss-settings{position:fixed;top:0;right:0;bottom:0;width:min(380px,100%);box-sizing:border-box;background:#fff;border-left:1px solid var(--gemboss-divider,#e5e7ea);box-shadow:-8px 0 30px #1f1e1d1f;z-index:71;display:flex;flex-direction:column}.gemboss-settings-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:20px}.gemboss-settings-grouphead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:16px;border-top:1px solid var(--gemboss-divider,#e5e7ea)}.gemboss-settings-grouphead>span{font-size:var(--gemboss-fs-caption);font-weight:700;color:var(--gemboss-text,#1b1c1e)}.gemboss-settings-gen{border:1px solid var(--gemboss-divider,#e5e7ea);background:var(--gemboss-surface,#fff);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;font-family:inherit;color:var(--gemboss-text,#1b1c1e);cursor:pointer;white-space:nowrap}.gemboss-settings-gen:hover:not(:disabled){background:var(--gemboss-hover,#eceef2)}.gemboss-settings-gen:disabled{opacity:.55;cursor:default}.gemboss-settings-field{display:flex;flex-direction:column;gap:6px}.gemboss-settings-note{margin:0 0 4px;font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted);line-height:1.5}.gemboss-settings-error{margin:0 0 8px;padding:8px 12px;border-radius:8px;font-size:var(--gemboss-fs-caption);line-height:1.45;color:#8a1c1c;background:#fdecec;border:1px solid #f5c2c2}.gemboss-settings-field>span{font-size:var(--gemboss-fs-caption);font-weight:700;color:var(--gemboss-text,#1b1c1e)}.gemboss-settings-field :is(input,textarea,select):not([type=color]){width:100%}.gemboss-settings-field small{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted,#686b71)}.gemboss-settings-field textarea.gemboss-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.gemboss-settings-handle span{color:var(--gemboss-text-muted,#686b71);white-space:nowrap}.gemboss-settings-foot{flex:0 0 auto;display:flex;justify-content:flex-end;gap:12px;padding:12px 20px;border-top:1px solid var(--gemboss-divider,#e5e7ea)}.gemboss-settings-cancel{background:transparent;border:1px solid var(--gemboss-divider,#e5e7ea);border-radius:8px;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;color:var(--gemboss-text,#1b1c1e)}.gemboss-settings-save{background:var(--gemboss-primary, #1b1c1e);color:#fff;border:0;border-radius:8px;font-size:13px;font-weight:700;padding:8px 20px;cursor:pointer}.gemboss-settings-save:disabled{opacity:.6;cursor:default}.gemboss-page-section-content :is(button,input,textarea){min-height:44px;min-width:44px}.gemboss-pageedit .gemboss-pv-device{width:44px;height:44px;flex-shrink:0}.gemboss-pageedit .gemboss-ec-dock-body :is(button,input,select){min-height:44px}.gemboss-bundle-look .gemboss-ei-body :is(button,input){min-height:44px}.gemboss-bundle-look .gemboss-ei-body input[type=color]{min-width:44px}.gemboss-page-draft-status{flex:0 0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:8px 12px;border-radius:8px;background:var(--gemboss-surface,#fff);color:var(--gemboss-text,#1b1c1e);font-size:12px;line-height:1.5;box-shadow:0 1px 6px #0001}.gemboss-page-draft-status button{min-height:44px;min-width:44px;padding:8px 12px;border:1px solid var(--gemboss-divider);border-radius:6px;background:var(--gemboss-surface,#fff);cursor:pointer}.gemboss-page-draft-status button:hover{background:var(--gemboss-hover,#eceef2)}.gemboss-page-draft-status button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.gemboss-page-draft-status[data-page-preview-state=ready]{pointer-events:none}.gemboss-pageedit .gemboss-pageedit-pv{flex-direction:column;min-height:0;justify-content:flex-start}.gemboss-page-draft-stage{flex:1;min-height:0;position:relative;overflow:hidden;display:flex;justify-content:center}@media (max-width:1000px){.gemboss-pageedit .gemboss-editor-body>.gemboss-ec{flex:0 0 auto;height:44%;min-height:min(520px,76%);max-height:76%}}.gemboss-ei{position:absolute;top:12px;right:12px;z-index:6;width:320px;max-width:calc(100% - 24px);display:flex;flex-direction:column;max-height:calc(100% - 24px);background:var(--gemboss-surface);border:1px solid var(--gemboss-divider);border-radius:var(--gemboss-radius-xl);box-shadow:var(--gemboss-shadow-overlay);overflow:hidden}.gemboss-ei--docked{position:static;top:auto;right:auto;width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none;background:transparent;flex:1;min-height:0}.gemboss-ei-head{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--gemboss-divider)}.gemboss-ec>.gemboss-ei-head{padding-inline:var(--gemboss-ec-inset,12px)}.gemboss-ec .gemboss-ei--docked .gemboss-ei-head{padding-inline:var(--gemboss-ec-inset,12px)}.gemboss-ec .gemboss-ei--docked .gemboss-ei-tabs{margin-inline:var(--gemboss-ec-inset,12px)}.gemboss-ec .gemboss-ei--docked .gemboss-ei-pane{padding-inline:var(--gemboss-ec-inset,16px)}.gemboss-ei-title{font-size:var(--gemboss-fs-body);font-weight:700;line-height:1.2;min-width:0;overflow:hidden}.gemboss-ei-title small{display:block;font-weight:500;font-size:11px;color:var(--gemboss-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gemboss-ei-act,.gemboss-ei-x{margin-left:auto;width:26px;height:26px;flex:none;border:0;background:transparent;cursor:pointer;color:var(--gemboss-text-muted);border-radius:6px;display:grid;place-items:center;font-size:14px}.gemboss-ei-x{margin-left:2px;font-size:13px}.gemboss-ei-act:hover,.gemboss-ei-x:hover{background:var(--gemboss-hover);color:var(--gemboss-text)}.gemboss-ei-act:disabled{opacity:.5;cursor:default}.gemboss-ei-tabs{display:flex;gap:2px;margin:8px 12px 0;background:var(--gemboss-panel-bg);padding:4px;border-radius:8px}.gemboss-ei-tab{flex:1;border:0;background:transparent;cursor:pointer;color:var(--gemboss-text-muted);font-weight:600;font-size:12px;padding:6px 4px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:6px}.gemboss-ei-tab.on{background:var(--gemboss-surface);color:var(--gemboss-text);box-shadow:var(--gemboss-shadow-resting)}.gemboss-ei-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding:2px 0 4px}.gemboss-ei-body::-webkit-scrollbar{width:9px}.gemboss-ei-body::-webkit-scrollbar-thumb{background:#1f1e1d33;border-radius:6px;border:2px solid var(--gemboss-surface);background-clip:content-box}.gemboss-ei-pane{padding:4px 16px 6px}.gemboss-ei-note{margin:0 0 8px;padding:8px 12px;border-radius:8px;background:var(--gemboss-hover,#eceef2);border:1px solid var(--gemboss-divider,#e5e7ea);color:var(--gemboss-text-muted,#686b71);font-size:12px;line-height:1.45}.gemboss-ei-grp{border-bottom:1px solid var(--gemboss-divider-soft);padding:12px 0}.gemboss-ei-grp:last-child{border-bottom:none}.gemboss-ei-gh{font-size:var(--gemboss-fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--gemboss-text-muted);font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:6px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;padding:0;-webkit-appearance:none}.gemboss-ei-gh:hover{color:var(--gemboss-text)}.gemboss-ei-chev{font-size:9px;width:10px;display:inline-block;color:var(--gemboss-text-muted);transition:transform .12s ease}.gemboss-ei-gh-note{margin-left:6px;font-size:10px;font-weight:500;opacity:.55;text-transform:none;letter-spacing:0}.gemboss-ei-gh[data-open=closed]{margin-bottom:0}.gemboss-ei-gh[data-open=closed]~*{display:none}.gemboss-ei-fld{margin-bottom:12px}.gemboss-ei-fld:last-child{margin-bottom:0}.gemboss-ei-fld>label{display:block;font-size:13px;font-weight:500;color:var(--gemboss-text);margin-bottom:6px}.gemboss-ei-inp{width:100%}.gemboss-ei-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}select.gemboss-ei-inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gemboss-text-muted) 50%),linear-gradient(135deg,var(--gemboss-text-muted) 50%,transparent 50%);background-position:calc(100% - 15px) center,calc(100% - 10px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.gemboss-ei-swatches{display:flex;gap:8px}.gemboss-ei-sw{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #1f1e1d1a}.gemboss-ei-sw.on{border-color:var(--gemboss-text);box-shadow:0 0 0 2px var(--gemboss-surface),0 0 0 3px var(--gemboss-primary)}.gemboss-ei-sw:disabled{cursor:default;opacity:.7}@media (pointer: coarse){.gemboss-ei-tab{min-height:44px}.gemboss-ei-gh{min-height:44px;margin-bottom:4px}.gemboss-ei-sw{width:44px;height:44px}.gemboss-ei-swatches{flex-wrap:wrap}}@media (pointer: coarse){.gemboss-ei-fld :is(input:not([type=checkbox]):not([type=radio]),select,button){min-height:44px}.gemboss-ei-fld :is(button,input[type=color]){min-width:44px}}.gemboss-ei-apply{margin-top:2px;background:var(--gemboss-primary);color:#fff;border:0;border-radius:8px;font-size:var(--gemboss-fs-caption);font-weight:700;padding:8px 16px;cursor:pointer}.gemboss-ei-apply:hover{background:var(--gemboss-primary-dark)}.gemboss-ei-apply:disabled{opacity:.6;cursor:default}.gemboss-ei-hint{margin:8px 0 0;font-size:11px;color:var(--gemboss-text-muted)}.gemboss-ei-empty{padding:24px 16px;text-align:center;font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.gemboss-ei-foot{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--gemboss-divider);font-size:11px;color:var(--gemboss-text-muted)}.gemboss-ei-savedot{width:6px;height:6px;border-radius:50%;background:var(--gemboss-success);box-shadow:0 0 0 3px #2e8b572e}.gemboss-ei-savedot.busy{background:var(--gemboss-primary);box-shadow:0 0 0 3px var(--gemboss-primary-soft)}.gemboss-ei-foot.is-error{color:var(--gemboss-danger)}.gemboss-ei-foot.is-error .gemboss-ei-savedot{background:var(--gemboss-danger);box-shadow:0 0 0 3px #d72c0d29}.gemboss-ei-drag{cursor:grab;user-select:none}.gemboss-ei-drag:active{cursor:grabbing}.gemboss-ei-dragmask{position:fixed;inset:0;z-index:9998;cursor:grabbing}.gemboss-ei-block{border:1px solid var(--gemboss-divider);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--gemboss-panel-bg)}.gemboss-ei-block:last-child{margin-bottom:0}.gemboss-ei-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--gemboss-text)}.gemboss-ei-block-x{border:0;background:transparent;cursor:pointer;color:var(--gemboss-text-muted);width:22px;height:22px;border-radius:6px;font-size:11px;flex:none}.gemboss-ei-block-x:hover{background:var(--gemboss-hover);color:var(--gemboss-danger-strong)}.gemboss-ei-block-x:disabled{opacity:.5;cursor:default}.gemboss-ei-block .gemboss-ei-inp{background:var(--gemboss-surface)}.gemboss-ei-addrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.gemboss-ei-addchip{border:1px dashed var(--gemboss-divider);background:var(--gemboss-surface);color:var(--gemboss-text-muted);border-radius:999px;font-size:var(--gemboss-fs-micro);font-weight:600;padding:6px 12px;cursor:pointer}.gemboss-ei-addchip:hover{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg);border-style:solid}.gemboss-ei-addchip:disabled{opacity:.5;cursor:default}.gemboss-ei-img{display:flex;gap:8px;align-items:flex-start}.gemboss-ei-img-thumb{flex:none;width:52px;height:52px;border-radius:8px;border:1px solid var(--gemboss-divider);background:var(--gemboss-panel-bg) center/cover no-repeat;display:grid;place-items:center;color:var(--gemboss-text-muted);font-size:16px}.gemboss-ei-img-ctl{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.gemboss-ei-img-actions{display:flex;gap:6px}.gemboss-ei-img-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;padding:8px;border:1px solid var(--gemboss-divider);border-radius:12px;background:var(--gemboss-panel-bg);max-height:180px;overflow-y:auto}.gemboss-ei-img-cell{aspect-ratio:1;border:1px solid var(--gemboss-divider);border-radius:8px;cursor:pointer;padding:0;background:var(--gemboss-surface) center/cover no-repeat}.gemboss-ei-img-cell:hover{border-color:var(--gemboss-primary);box-shadow:0 0 0 2px var(--gemboss-primary-soft)}.gemboss-ei-img-cell:disabled{opacity:.5;cursor:default}.gemboss-ei-img-grid .gemboss-ei-hint{grid-column:1/-1;margin:0}.gemboss-ei-gen{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:8px;border:1px solid var(--gemboss-divider);border-radius:12px;background:var(--gemboss-panel-bg)}.gemboss-ei-gen .gemboss-ei-apply{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}.gemboss-ei-gen .gemboss-narr-spin{width:11px;height:11px}.gemboss-ei-oos{margin:4px 16px 12px;padding:12px;border:1px solid var(--gemboss-divider);border-left:3px solid var(--gemboss-text-muted);border-radius:8px;background:var(--gemboss-panel-bg)}.gemboss-ei-oos-h{font-size:var(--gemboss-fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--gemboss-text-muted);font-weight:700;margin-bottom:8px}.gemboss-ei-oos p{margin:0 0 6px;font-size:12px;color:var(--gemboss-text-muted);line-height:1.45}.gemboss-ei-oos p:last-child{margin-bottom:0}.gemboss-ei-oos b{color:var(--gemboss-text);font-weight:600}.gemboss-ei-edgebox{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gemboss-ei-rep-item{border:1px solid var(--gemboss-divider);border-radius:6px;padding:8px;margin-bottom:8px}.gemboss-ei-rep-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;opacity:.8}.gemboss-ei-rep-head>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gemboss-ei-rep-acts{display:flex;gap:2px;flex:0 0 auto}.gemboss-ei-rep-acts button{background:none;border:0;color:inherit;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}.gemboss-ei-rep-acts button:hover:not(:disabled){background:var(--gemboss-hover)}.gemboss-ei-rep-acts button:disabled{opacity:.3;cursor:default}.gemboss-ei-rep-add{width:100%;padding:6px;border:1px dashed var(--gemboss-divider);border-radius:6px;background:none;color:inherit;cursor:pointer;font-size:12px}.gemboss-ei-rep-add:hover:not(:disabled){background:var(--gemboss-hover)}.gemboss-ei-rep-add:disabled{opacity:.4;cursor:default}.gemboss-ei-edge{display:flex;flex-direction:column;align-items:center;gap:4px}.gemboss-ei-edge input{width:100%;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.gemboss-ei-edge span{font-size:var(--gemboss-fs-micro);letter-spacing:.06em;color:var(--gemboss-text-muted);font-weight:700}.gemboss-ec-dock-body{flex:1;min-height:0;overflow-y:auto;padding:var(--gemboss-ec-inset,12px)}.gemboss-ei-group{padding:12px 0}.gemboss-ei-group+.gemboss-ei-group{border-top:1px solid var(--gemboss-divider)}.gemboss-ei-group>.gemboss-ei-fld:last-child{margin-bottom:0}.gemboss-ei-grouphead{margin:0 0 12px;font-size:var(--gemboss-fs-micro,11px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gemboss-text-muted)}.gemboss-ei-color{display:flex;gap:8px;align-items:center}.gemboss-ei-color .gemboss-ei-inp{flex:1;min-width:0}.gemboss-ei-swatch{flex:none;width:34px;height:34px;padding:0;border:1px solid var(--gemboss-divider);border-radius:8px;background:var(--gemboss-surface);cursor:pointer}.gemboss-ei-swatch::-webkit-color-swatch-wrapper{padding:2px}.gemboss-ei-swatch::-webkit-color-swatch{border:none;border-radius:6px}.gemboss-ei-swatch:disabled{cursor:default;opacity:.7}.gemboss-ei-suffix{margin:4px 0 0;font-size:11px;color:var(--gemboss-text-muted)}.gemboss-ei-fld>label>.gemboss-ei-rangeval{float:right;font-weight:700;color:var(--gemboss-text);font-variant-numeric:tabular-nums}.gemboss-ei-range{width:100%;accent-color:var(--gemboss-primary);cursor:pointer}.gemboss-ei-range:disabled{cursor:default;opacity:.7}@media (max-width:760px){.gemboss-ei{position:static;width:auto;max-width:none;max-height:none;margin:8px;box-shadow:var(--gemboss-shadow-raised)}}.gemboss-ei-tree{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.gemboss-ei-tnode{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border-radius:6px;padding-right:4px}.gemboss-ei-tnode:hover{background:var(--gemboss-surface)}.gemboss-ei-tnode.on{background:var(--gemboss-primary-soft,var(--gemboss-surface));box-shadow:inset 2px 0 0 var(--gemboss-primary)}.gemboss-ei-tname{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;border:0;background:transparent;cursor:pointer;text-align:left;padding:6px 2px;color:var(--gemboss-text);font-size:12px;font-weight:600}.gemboss-ei-tname small{font-weight:400;font-size:10px;color:var(--gemboss-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gemboss-ei-tacts{flex:none;display:flex;gap:1px;opacity:0;transition:opacity .12s}.gemboss-ei-tnode:hover .gemboss-ei-tacts,.gemboss-ei-tnode.on .gemboss-ei-tacts,.gemboss-ei-tacts:focus-within{opacity:1}.gemboss-ei-tacts button{border:0;background:transparent;cursor:pointer;color:var(--gemboss-text-muted);font-size:11px;line-height:1;padding:4px 6px;border-radius:6px}.gemboss-ei-tacts button:hover:not(:disabled){background:var(--gemboss-surface);color:var(--gemboss-text)}.gemboss-ei-tacts button:disabled{opacity:.3;cursor:default}.gemboss-ei-tadd{flex-basis:100%;padding:4px 2px 6px}.gemboss-editor-topbar--guest{grid-template-columns:1fr auto 1fr}.gemboss-guest-mark{flex:0 0 auto;display:block}.gemboss-guest-brand{font-weight:700;letter-spacing:-.02em;font-size:15px;margin-left:8px}.gemboss-guest-note{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted);border:1px solid var(--gemboss-divider-soft);border-radius:999px;padding:4px 12px;white-space:nowrap}.gemboss-editor-topbar--guest .gemboss-editor-tb-right{display:flex;align-items:center;gap:16px;justify-content:flex-end}.gemboss-guest-signin{font-size:var(--gemboss-fs-body);font-weight:600;color:var(--gemboss-text-muted);text-decoration:none}.gemboss-guest-signin:hover{color:var(--gemboss-text)}.gemboss-guest-keep{border:0;border-radius:999px;background:var(--gemboss-primary);color:var(--gemboss-on-primary);cursor:pointer;font:inherit;font-size:var(--gemboss-fs-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:8px 20px;white-space:nowrap}.gemboss-guest-keep:hover{background:var(--gemboss-primary-dark)}@media (max-width: 720px){.gemboss-guest-note{display:none}}@media (max-width: 1000px){.gemboss-editor-topbar--guest{grid-template-columns:auto minmax(0,1fr)}}@media (max-width: 460px){.gemboss-guest-brand{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gemboss-editor-topbar--guest .gemboss-editor-tb-right{gap:8px}.gemboss-editor-topbar--guest .gemboss-guest-keep{padding-inline:12px}}@media (max-width: 400px){.gemboss-editor-topbar--guest{padding-inline:8px;column-gap:8px}}.gemboss-platform-main:has(.gemboss-editor){padding-bottom:0}
|
|
1
|
+
@keyframes gemboss-editor-enter{0%{opacity:0}to{opacity:1}}@keyframes gemboss-editor-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes gemboss-pagepicker-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes gemboss-flyout-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes gemboss-statusbar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.gemboss-platform-main:has(.gemboss-editor){box-sizing:border-box;height:100dvh;min-height:0;padding-top:0;padding-bottom:0;overflow:hidden}.gemboss-editor{--gemboss-editor-inset: 5px;position:fixed;inset:0;box-sizing:border-box;display:flex;flex-direction:column;background:var(--gemboss-canvas);overflow:hidden;z-index:400;animation:gemboss-editor-enter .26s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion: reduce){.gemboss-editor{animation:none}}.gemboss-editor--embedded{position:relative;inset:auto;height:100%;min-height:0;z-index:auto;animation:none}.gemboss-editor-toast{position:absolute;top:62px;left:50%;transform:translate(-50%);z-index:500;display:flex;align-items:center;gap:12px;max-width:min(560px,92vw);padding:12px 12px 12px 16px;background:var(--gemboss-text);color:#fff;border-radius:12px;font-size:13px;line-height:1.4;box-shadow:var(--gemboss-shadow-overlay);animation:gemboss-editor-toast-in .24s cubic-bezier(.16,1,.3,1)}.gemboss-editor-toast strong{font-weight:600}.gemboss-editor-toast button{flex:0 0 auto;border:0;background:#ffffff29;color:#fff;width:22px;height:22px;border-radius:8px;cursor:pointer;font-size:12px;line-height:1;transition:background var(--gemboss-transition-fast) ease}.gemboss-editor-toast button:hover{background:#ffffff47}.gemboss-editor-toast button:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (prefers-reduced-motion: reduce){.gemboss-editor-toast{animation:none}}.gemboss-editor-topbar{flex:0 0 auto;height:var(--gemboss-editor-topbar-h, 52px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 16px;background:var(--gemboss-surface);border-bottom:1px solid var(--gemboss-divider)}@media (min-width: 1001px){.gemboss-editor-topbar--theme{grid-template-columns:auto auto auto;justify-content:space-between}.gemboss-editor-topbar.gemboss-pageedit-top{grid-template-columns:auto fit-content(100%) auto}}.gemboss-editor-tb-left{display:flex;align-items:center;gap:12px;min-width:0}.gemboss-editor-tb-center{display:flex;align-items:center;gap:12px;justify-self:center}.gemboss-editor-topbar--theme .gemboss-editor-tb-center,.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-editor-tb-center{min-width:0}.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-pageedit-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1200px){.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-editor-tb-name,.gemboss-editor-topbar.gemboss-pageedit-top .gemboss-sec-type{display:none}}.gemboss-editor-tb-right{display:flex;align-items:center;gap:16px;min-width:0;justify-self:end}.gemboss-editor-back{border:0;background:transparent;padding:0;font-family:inherit;font-size:18px;line-height:1;color:var(--gemboss-text);text-decoration:none;cursor:pointer;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--gemboss-radius-md);transition:background var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease}.gemboss-editor-back:hover{background:var(--gemboss-hover)}.gemboss-editor-back:active{background:var(--gemboss-active-bg);color:var(--gemboss-active-fg)}.gemboss-editor-back:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-editor-tb-name{font-family:var(--gemboss-serif);font-size:15px;font-weight:600}.gemboss-editor-savestate{display:inline-flex;align-items:center;gap:6px;font-size:var(--gemboss-fs-micro);font-weight:500;line-height:1;padding:4px 8px;border-radius:var(--gemboss-radius-full);white-space:nowrap;transition:opacity .2s ease}.gemboss-editor-savestate.is-idle,.gemboss-editor-savestate.is-saving{color:var(--gemboss-text-muted)}.gemboss-editor-savestate.is-saved{color:var(--gemboss-success-strong);background:var(--gemboss-success-soft)}.gemboss-editor-savestate .gemboss-narr-spin{width:10px;height:10px;border-width:1.5px;border-color:var(--gemboss-divider);border-top-color:currentColor}@media (max-width: 760px){.gemboss-editor-savestate.is-saved{display:none}}.gemboss-editor-tb-ghost{font-size:13px;color:var(--gemboss-text);text-decoration:none;padding:8px 12px;border:1px solid var(--gemboss-divider);border-radius:8px;white-space:nowrap;cursor:pointer;background:var(--gemboss-surface);transition:border-color var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease,background var(--gemboss-transition-fast) ease}.gemboss-editor-tb-ghost:hover{border-color:var(--gemboss-primary)}.gemboss-editor-tb-ghost:active{background:var(--gemboss-active-bg);border-color:var(--gemboss-primary);color:var(--gemboss-active-fg)}.gemboss-editor-tb-ghost:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-editor-tb-ghost:disabled{opacity:.5;cursor:default;border-color:var(--gemboss-divider);color:var(--gemboss-text-muted)}.gemboss-editor-tb-publish{background:var(--gemboss-primary);color:#fff;border:0;border-radius:8px;box-sizing:border-box;height:var(--ui-btn-h, 28px);padding:0 12px;font-size:12px;font-weight:550;line-height:16px;cursor:pointer;white-space:nowrap;transition:background var(--gemboss-transition-fast) ease,filter var(--gemboss-transition-fast) ease}.gemboss-editor-tb-publish:hover{background:var(--gemboss-primary-dark)}.gemboss-editor-tb-publish:active{background:var(--gemboss-primary-dark);filter:brightness(.94)}.gemboss-editor-tb-publish:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-editor-tb-publish:disabled{opacity:.5;cursor:default;filter:none}.gemboss-editor-tb-undo{font-size:15px}.gemboss-editor-publish{position:relative;display:inline-flex;align-items:stretch}.gemboss-editor-publish-main{border-radius:8px 0 0 8px}.gemboss-editor-publish-caret{border-radius:0 8px 8px 0;padding:0 8px;font-size:12px;line-height:1;border-left:1px solid color-mix(in srgb,#fff 24%,transparent);display:inline-flex;align-items:center;justify-content:center}.gemboss-editor-publish-caret.active{filter:brightness(.94)}.gemboss-editor-menu-label{padding:6px 12px 2px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--gemboss-text-muted);white-space:nowrap}.gemboss-editor-overflow{position:relative;display:inline-flex}.gemboss-editor-overflow-trigger{font-size:18px;line-height:1}.gemboss-editor-menu{position:fixed;z-index:500;min-width:210px;max-height:calc(100vh - 16px);overflow-y:auto;padding:6px;animation:gemboss-flyout-in var(--gemboss-transition-fast) ease}@media (prefers-reduced-motion: reduce){.gemboss-editor-menu{animation:none}}.gemboss-editor-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:var(--gemboss-radius-md);background:transparent;font:inherit;font-size:13px;color:var(--gemboss-text);text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease}.gemboss-editor-menu-item:hover{background:var(--gemboss-hover)}.gemboss-editor-menu-item:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:-2px;background:var(--gemboss-hover)}.gemboss-editor-menu-item:disabled{opacity:.45;cursor:default}.gemboss-editor-menu-item:disabled:hover{background:transparent}.gemboss-editor-menu-item[aria-disabled=true]{color:var(--gemboss-text-muted);cursor:default}.gemboss-editor-menu-item[aria-disabled=true]:hover{background:transparent}.gemboss-editor-menu-why{display:block;font-size:12px;line-height:16px;color:var(--gemboss-text-muted)}.gemboss-editor-menu-item.active{color:var(--gemboss-active-fg)}.gemboss-editor-menu-ext{color:var(--gemboss-text-muted)}.gemboss-editor-menu-check{color:var(--gemboss-active-fg);font-weight:600}.gemboss-editor-menu-val{font-size:11px;color:var(--gemboss-text-muted);border:1px solid var(--gemboss-divider);border-radius:var(--gemboss-radius-sm);padding:1px 8px}.gemboss-editor-menu-sep{height:1px;background:var(--gemboss-divider-soft);margin:6px}.gemboss-editor-body{flex:1;min-height:0;display:flex;gap:0;padding:var(--gemboss-editor-inset);box-sizing:border-box}.gemboss-editor-body>.gemboss-ec,.gemboss-editor-body>.gemboss-editor-preview-pane{border:1px solid var(--gemboss-divider);border-radius:16px;overflow:hidden}.gemboss-editor-body>.gemboss-ec{border-right:1px solid var(--gemboss-divider)}.gemboss-ec-tabs{display:flex;gap:var(--ui-space-1);padding:var(--ui-space-2) var(--gemboss-ec-inset, 12px);border-bottom:1px solid var(--gemboss-divider);flex:none;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}.gemboss-ec-tabs>[role=tab]{flex:1 1 0;min-width:max-content;white-space:nowrap;font:inherit;font-size:12px;font-weight:550;line-height:16px;cursor:pointer;box-sizing:border-box;min-height:var(--ui-btn-h, 28px);padding:0 var(--ui-space-3);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;background:transparent;color:var(--gemboss-text-muted);box-shadow:none}.gemboss-ec-tabs>[role=tab]:hover:not([aria-selected=true]){color:var(--gemboss-text);background:var(--gemboss-primary-soft)}.gemboss-ec-tabs>[role=tab]:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}.gemboss-ec-tabs>[role=tab][aria-selected=true]{border-color:var(--gemboss-divider);background:var(--gemboss-surface);color:var(--gemboss-text);box-shadow:inset 0 -2px 0 var(--gemboss-primary)}@media (max-width: 47.9975em){.gemboss-ec-tabs>[role=tab]{min-height:44px}}.gemboss-pv{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--gemboss-preview-canvas);overflow:hidden}.ui-seg.gemboss-pv-devices>button.gemboss-pv-device{width:calc(var(--ui-btn-h) - 2px);height:calc(var(--ui-btn-h) - 2px);border:0;border-radius:0}@media (pointer: coarse),(max-width: 47.9975em){.ui-seg.gemboss-pv-devices>button.gemboss-pv-device{width:44px;height:44px}}.gemboss-pv-device{border:1px solid var(--gemboss-divider);background:var(--gemboss-surface);cursor:pointer;width:28px;height:28px;border-radius:8px;color:var(--gemboss-text-muted);font-size:14px;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:border-color var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease,background var(--gemboss-transition-fast) ease}.gemboss-pv-device svg{display:block}.gemboss-editor-tb-tools{display:flex;align-items:center;gap:16px;min-width:0}@media (max-width: 1200px){.gemboss-editor-tb-tools{display:none}}.gemboss-pv-device:hover{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg)}.gemboss-pv-device:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-pv-device.active{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg);background:var(--gemboss-active-bg)}.gemboss-pagepicker{position:relative;display:inline-flex}.gemboss-pagepicker-trigger{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 12px;border-radius:8px;border:1px solid var(--gemboss-divider);background:var(--gemboss-surface);cursor:pointer;font-size:13px;font-weight:600;color:var(--gemboss-text);line-height:1;transition:border-color var(--gemboss-transition-fast) ease,background var(--gemboss-transition-fast) ease}.gemboss-pagepicker-trigger:hover{border-color:var(--gemboss-primary)}.gemboss-pagepicker-trigger[aria-expanded=true]{border-color:var(--gemboss-primary);background:var(--gemboss-active-bg, var(--gemboss-danger-soft))}.gemboss-pagepicker-trigger-icon{display:inline-flex;color:var(--gemboss-text-muted)}.gemboss-pagepicker-trigger-icon svg{display:block}.gemboss-pagepicker-trigger-label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gemboss-pagepicker-caret{font-size:9px;color:var(--gemboss-text-muted);margin-left:1px}.gemboss-pagepicker-menu{position:fixed;z-index:500;padding:8px;display:flex;flex-direction:column;gap:6px;animation:gemboss-pagepicker-in .14s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion: reduce){.gemboss-pagepicker-menu{animation:none}}.gemboss-pagepicker-search{position:relative;display:flex;align-items:center}.gemboss-pagepicker-search-icon{position:absolute;left:10px;display:inline-flex;color:var(--gemboss-text-muted);pointer-events:none}input.gemboss-pagepicker-search-input{width:100%;padding-left:32px}.gemboss-pagepicker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;max-height:320px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(31,30,29,.22) transparent}.gemboss-pagepicker-item{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;cursor:pointer;text-align:left;padding:8px 12px;border-radius:var(--gemboss-radius-md);font-size:var(--gemboss-fs-body);color:var(--gemboss-text)}.gemboss-pagepicker-item:hover,.gemboss-pagepicker-item:focus-visible{background:var(--gemboss-hover, rgba(0,0,0,.05));outline:none}.gemboss-pagepicker-item.active{background:var(--gemboss-active-bg, var(--gemboss-danger-soft));color:var(--gemboss-active-fg);font-weight:600}.gemboss-pagepicker-item-icon{display:inline-flex;color:var(--gemboss-text-muted);flex:0 0 auto}.gemboss-pagepicker-item.active .gemboss-pagepicker-item-icon{color:var(--gemboss-active-fg)}.gemboss-pagepicker-item-icon svg{display:block}.gemboss-pagepicker-item-label{flex:1;min-width:0}.gemboss-pagepicker-check{color:var(--gemboss-active-fg);font-size:13px;flex:0 0 auto}.gemboss-pagepicker-empty{padding:12px;font-size:13px;color:var(--gemboss-text-muted)}.gemboss-pagepicker-note{padding:8px 12px 12px;font-size:12px;line-height:1.5;color:var(--gemboss-text-muted);border-bottom:1px solid var(--gemboss-divider)}.gemboss-pagepicker-note-link{color:var(--gemboss-primary);font-weight:600;text-decoration:none}.gemboss-pagepicker-note-link:hover{text-decoration:underline}.gemboss-pagepicker-back{display:flex;align-items:center;gap:6px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;padding:4px 6px 8px;margin-bottom:2px;border-bottom:1px solid var(--gemboss-divider-soft, #edeff2);font-size:13px;font-weight:600;color:var(--gemboss-text)}.gemboss-pagepicker-back:hover{color:var(--gemboss-active-fg)}.gemboss-pagepicker-back:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-pagepicker-back-icon{display:inline-flex;color:var(--gemboss-text-muted)}.gemboss-pagepicker-back-icon svg{display:block}.gemboss-pagepicker-drill{display:inline-flex;color:var(--gemboss-text-muted);flex:0 0 auto}.gemboss-pagepicker-drill svg{display:block}.gemboss-pagepicker-thumb{width:30px;height:30px;flex:0 0 auto;border-radius:8px;object-fit:cover;border:1px solid var(--gemboss-divider);background:var(--gemboss-panel-bg, #ffffff)}.gemboss-pagepicker-thumb--default{display:inline-flex;align-items:center;justify-content:center;color:var(--gemboss-text-muted)}.gemboss-pagepicker-thumb--default svg{width:16px;height:16px}.gemboss-pv-stage{flex:1;min-height:0;overflow:hidden;display:flex;justify-content:center;padding:0}.gemboss-pv-frame{background:var(--gemboss-surface);overflow:hidden;height:100%;position:relative}.gemboss-pv-frame.desktop{width:100%;max-width:none}.gemboss-pv-frame.gemboss-pv-fit.desktop{position:absolute;top:0;left:0;width:var(--gemboss-pv-w, 100%);height:var(--gemboss-pv-h, 100%);transform:scale(calc(var(--gemboss-pv-scale, 1) * var(--gemboss-pv-user-zoom, 1)));transform-origin:top left}.gemboss-pv-frame.mobile{width:390px;flex:0 0 390px;align-self:center;margin:16px 0;border:1px solid var(--gemboss-divider);border-radius:20px;box-shadow:var(--gemboss-shadow-overlay)}.gemboss-pv-frame.tablet{width:768px;flex:0 0 768px;align-self:center;margin:16px 0;border:1px solid var(--gemboss-divider);border-radius:16px;box-shadow:var(--gemboss-shadow-overlay)}.gemboss-pv-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:var(--gemboss-surface);transition:opacity .18s ease}.gemboss-pv-empty{margin:auto;text-align:center;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:8px}.gemboss-pv-empty-art{font-size:40px;line-height:1;opacity:.7}.gemboss-pv-empty-title{font-family:var(--gemboss-serif);font-size:18px;margin:0}.gemboss-pv-empty-sub{font-size:13px;color:var(--gemboss-text-muted);margin:0;line-height:1.5}.gemboss-pv-empty-cta{margin-top:6px;font-size:13px;font-weight:600;color:var(--gemboss-active-fg);text-decoration:none}.gemboss-pv-empty-cta:hover{text-decoration:underline}.gemboss-pv-spin{width:22px;height:22px;border:2px solid var(--gemboss-divider-soft);border-top-color:var(--gemboss-primary);border-radius:50%;animation:gemboss-spin .7s linear infinite}.gemboss-editor-resizer{flex:0 0 var(--gemboss-editor-inset);align-self:stretch}body.ui-resizing .gemboss-pv-iframe{pointer-events:none}.gemboss-editor-chat-toggle{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gemboss-divider);background:var(--gemboss-surface);border-radius:var(--gemboss-radius-md);cursor:pointer;font-size:14px;line-height:1;color:var(--gemboss-text-muted);transition:border-color var(--gemboss-transition-fast) ease,color var(--gemboss-transition-fast) ease}.gemboss-editor-chat-toggle:hover{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg)}.gemboss-editor-chat-toggle:focus-visible{outline:2px solid var(--gemboss-primary);outline-offset:2px}.gemboss-editor-chat-toggle.collapsed{border-color:var(--gemboss-primary);color:var(--gemboss-active-fg)}.gemboss-editor-chat-toggle svg{display:block}.gemboss-editor-body .gemboss-ec{transition:flex-basis .28s cubic-bezier(.16,1,.3,1),width .28s cubic-bezier(.16,1,.3,1)}body.ui-resizing .gemboss-editor-body .gemboss-ec{transition:none;will-change:flex-basis,width}body.ui-resizing .gemboss-editor-body .gemboss-pv{will-change:flex-basis}.gemboss-editor-body.is-chat-collapsed .gemboss-ec{border-width:0;overflow:hidden}.gemboss-editor-body.is-chat-collapsed>.gemboss-ec{visibility:hidden}.gemboss-editor-body.is-chat-collapsed .gemboss-editor-resizer{display:none}.gemboss-pagepicker-list::-webkit-scrollbar{width:9px}.gemboss-pagepicker-list::-webkit-scrollbar-track{background:transparent}.gemboss-pagepicker-list::-webkit-scrollbar-thumb{background:#1f1e1d33;border-radius:6px;border:2px solid transparent;background-clip:content-box}@media (max-width: 1000px){.gemboss-editor-body{flex-direction:column;gap:var(--gemboss-editor-inset)}}@media (max-width: 1000px){.gemboss-editor-resizer{display:none}.gemboss-editor-body.is-chat-collapsed .gemboss-ec{max-height:0;min-height:0}.gemboss-editor-topbar{height:auto;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"left right" "center center";gap:8px 12px;padding:8px 12px}.gemboss-editor-tb-left{grid-area:left}.gemboss-editor-tb-right{padding-block:6px;grid-area:right;min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gemboss-editor-tb-center{grid-area:center;justify-self:stretch;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.gemboss-editor-tb-right::-webkit-scrollbar,.gemboss-editor-tb-center::-webkit-scrollbar{display:none}.gemboss-editor-tb-right>*{flex:0 0 auto}.gemboss-editor-tb-right>.gemboss-editor-tb-publish{position:sticky;right:0;z-index:1;box-shadow:-8px 0 8px -6px color-mix(in srgb,var(--gemboss-text) 18%,transparent)}.gemboss-editor-tb-name{display:none}.gemboss-editor-tb-ghost{padding:6px 12px;font-size:12px}.gemboss-editor-tb-publish{padding:8px 16px;font-size:13px}}@media (max-width: 640px){.gemboss-pv-frame.mobile{width:100%;max-width:390px;flex:0 1 auto;margin:8px 0}.gemboss-pv-frame.tablet{width:100%;max-width:768px;flex:0 1 auto;margin:8px 0}}.gemboss-editor-preview-pane{display:flex}.gemboss-editor-mobile-tabs{display:none}.gemboss-editor-dock{position:absolute;top:0;right:0;bottom:0;width:320px;max-width:90%;z-index:5;overflow-y:auto;background:var(--gemboss-surface);border-left:1px solid var(--gemboss-divider);box-shadow:var(--gemboss-shadow-overlay)}.gemboss-editor-preview-pane:has(>.gemboss-editor-dock){position:relative}:where(.gemboss-editor-body>.gemboss-ec){position:relative;width:var(--gemboss-chat-w, 384px);flex:0 0 var(--gemboss-chat-w, 384px);display:flex;flex-direction:column;background:var(--gemboss-panel-bg);border-right:1px solid var(--gemboss-divider);overflow:hidden}:where(.gemboss-editor-preview-pane){flex:1;min-width:0}@media (max-width: 1000px){:where(.gemboss-editor-body>.gemboss-ec){width:auto;flex:0 0 auto;max-height:48%}}@media (max-width: 760px){.gemboss-editor-resizer{display:none}.gemboss-editor-body .gemboss-ec{flex:1 1 auto;width:100%;min-width:0;max-height:none;border-right:none}.gemboss-editor-body .gemboss-editor-preview-pane{flex:1 1 auto}.gemboss-editor-body[data-mobile-pane=chat] .gemboss-editor-preview-pane,.gemboss-editor-body[data-mobile-pane=preview] .gemboss-ec{display:none}.gemboss-editor-mobile-tabs{display:flex;flex:0 0 auto;gap:6px;padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));background:var(--gemboss-surface);border-top:1px solid var(--gemboss-divider)}.gemboss-editor-mobile-tab{flex:1 1 0;height:44px;border:0;border-radius:8px;background:transparent;color:var(--gemboss-text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.gemboss-editor-mobile-tab.active{background:var(--gemboss-active-bg);color:var(--gemboss-active-fg)}}.gemboss-editor-statusbar{position:absolute;top:60px;right:14px;z-index:480;max-width:min(380px,calc(100vw - 28px));padding:8px 16px;font-size:12px;line-height:1.4;color:var(--gemboss-text-muted);background:var(--gemboss-surface);border:1px solid var(--gemboss-divider);border-radius:12px;box-shadow:var(--gemboss-shadow-raised);pointer-events:none;animation:gemboss-statusbar-in .18s cubic-bezier(.16,1,.3,1) both}.gemboss-editor-statusbar.done{background:#eaf6ef;color:#1f7a4d;border-color:var(--gemboss-success-border)}.gemboss-editor-statusbar.error{background:#fdecea;color:var(--gemboss-danger);border-color:#f3c2bb}@media (pointer: coarse){.gemboss-pv-device{width:38px;height:38px;font-size:16px}.gemboss-editor-back{width:44px;height:44px;font-size:20px}.gemboss-editor-chat-toggle{width:44px;height:44px;font-size:16px}}@media (pointer: coarse){.gemboss-editor-tb-ghost{padding:8px 16px;min-height:44px}.gemboss-editor-tb-publish{padding:12px 20px;min-height:44px}.gemboss-pagepicker-trigger{min-height:44px}}@media (pointer: coarse){.gemboss-ec-tab{min-height:44px}}@media (max-width: 760px){.gemboss-editor-chat-toggle{display:none}}.gemboss-pageedit{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--gemboss-panel-bg,#ffffff);z-index:320}.gemboss-pageedit-top{background:#fff;border-bottom:1px solid var(--gemboss-divider,#e5e7ea)}.gemboss-pageedit .gemboss-editor-tb-center{display:flex;align-items:center;gap:12px;justify-content:center}.gemboss-pageedit .gemboss-editor-tb-right{display:flex;align-items:center;gap:12px;min-width:0}.gemboss-pageedit .gemboss-editor-tb-right>:first-child{margin-inline-start:auto}.gemboss-pageedit .gemboss-editor-tb-left{--gemboss-tb-gap:12px;display:flex;align-items:center;gap:var(--gemboss-tb-gap);min-width:0}.gemboss-pageedit-title{font-family:var(--gemboss-serif,inherit);font-size:15px;font-weight:600;color:var(--gemboss-text,#1b1c1e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32ch}.gemboss-pageedit-notice{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex:0 0 auto;padding:12px 16px;background:var(--gemboss-surface);border-bottom:1px solid var(--gemboss-divider);color:var(--gemboss-text);font-size:13px;line-height:1.5}.gemboss-pageedit-notice span{flex:1 1 240px;min-width:0}.gemboss-pageedit-notice button{min-height:44px;padding:8px 12px;flex:0 0 auto;border:1px solid var(--gemboss-divider);border-radius:8px;background:var(--gemboss-surface);color:var(--gemboss-text);cursor:pointer}@media (max-width:900px){.gemboss-pageedit-top{height:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"left" "right" "center";gap:8px;padding:8px 12px}.gemboss-pageedit-top .gemboss-editor-tb-right{flex-wrap:wrap;overflow:visible}.gemboss-pageedit-top .gemboss-editor-tb-right button{min-height:44px}.gemboss-pageedit .gemboss-editor-tb-left{width:100%;overflow:hidden;flex-wrap:wrap}.gemboss-pageedit .gemboss-editor-tb-right,.gemboss-pageedit .gemboss-editor-tb-center{justify-self:stretch;justify-content:flex-start;max-width:100%;overflow-x:auto}.gemboss-pageedit-top .gemboss-editor-tb-center{flex-wrap:wrap;row-gap:8px;overflow:visible}}.gemboss-sec-type{font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:12px;background:#f1efe9;color:var(--gemboss-text-muted);text-transform:capitalize}.gemboss-sec-insert-wrap{position:relative}.gemboss-sec-insert-menu{position:absolute;top:42px;right:0;width:280px;max-height:60vh;overflow-y:auto;padding:6px;z-index:80}.gemboss-sec-insert-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:0;background:transparent;border-radius:8px;cursor:pointer;text-align:left;font-size:13px;color:var(--gemboss-text,#1b1c1e);transition:background .12s ease,color .12s ease}.gemboss-sec-insert-item:hover{background:var(--gemboss-hover,rgba(0,0,0,.04))}.gemboss-sec-insert-item:focus-visible{outline:2px solid var(--gemboss-primary, #1b1c1e);outline-offset:-2px;background:var(--gemboss-hover,rgba(0,0,0,.04))}.gemboss-sec-insert-item:disabled{opacity:.6;cursor:default}.gemboss-sec-insert-item:disabled:hover{background:transparent}.gemboss-sec-insert-cat{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted,#686b71);text-transform:capitalize}.gemboss-sec-insert-empty{display:block;padding:16px;font-size:13px;color:var(--gemboss-text-muted,#686b71);text-decoration:none}.gemboss-pageedit-scope{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted,#686b71);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width:1200px){.gemboss-pageedit-scope{display:none}}.gemboss-pageedit-pv{flex:1;min-width:0;background:var(--gemboss-preview-canvas);display:flex;justify-content:center;overflow:auto;position:relative}.gemboss-pageedit-pv .gemboss-pv-frame iframe{width:100%;height:100%;border:0;background:#fff;display:block}.gemboss-pageedit-chip{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:6px 12px;border-radius:8px;background:var(--gemboss-active-bg);border:1px solid var(--gemboss-divider);font-size:12px;color:var(--gemboss-active-fg)}.gemboss-pageedit-chip button{margin-left:auto;border:0;background:transparent;color:var(--gemboss-active-fg);cursor:pointer;font-size:12px}.gemboss-pageedit-standing{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 16px;background:#b07d1817;border-bottom:1px solid rgba(176,125,24,.28);font-size:13px;line-height:1.5;color:#7a5710}.gemboss-pageedit-standing code{font-size:12px;background:#b07d1824;border-radius:4px;padding:2px 4px}.gemboss-pageedit-standing button{margin-left:auto;flex:0 0 auto;border:1px solid rgba(176,125,24,.4);background:#fff;color:#7a5710;border-radius:8px;padding:4px 12px;font:inherit;font-weight:600;cursor:pointer}.gemboss-pageedit-standing button:disabled{opacity:.6;cursor:default}.gemboss-picker-backdrop{position:fixed;inset:0;background:#1f1e1d38;z-index:70}.gemboss-picker-head{flex:0 0 auto;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--gemboss-divider,#e5e7ea);font-weight:600;font-size:15px}.gemboss-picker-head button{border:0;background:transparent;font-size:15px;cursor:pointer;color:var(--gemboss-text-muted,#686b71)}.gemboss-picker-empty{padding:20px;text-align:center;color:var(--gemboss-text-muted,#686b71);font-size:13px}.gemboss-layers{position:fixed;top:0;left:0;bottom:0;width:300px;background:#fff;border-right:1px solid var(--gemboss-divider,#e5e7ea);box-shadow:8px 0 30px #1f1e1d1f;z-index:71;display:flex;flex-direction:column}.gemboss-layers-list{flex:1;min-height:0;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:4px}.gemboss-layer{display:flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:8px;padding:0 4px 0 6px}.gemboss-layer:hover{background:var(--gemboss-hover,rgba(0,0,0,.04))}.gemboss-layer.is-sel{border-color:var(--gemboss-primary, #1b1c1e);background:var(--gemboss-active-bg)}.gemboss-layer-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:transparent;border:0;cursor:pointer;text-align:left;padding:8px 4px}.gemboss-layer-type{font-size:13px;font-weight:600;color:var(--gemboss-text,#1b1c1e)}.gemboss-layer-head{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted,#686b71);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:195px}.gemboss-layer-acts{display:flex;gap:0;flex:0 0 auto}.gemboss-layer-acts button{width:26px;height:26px;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--gemboss-text-muted,#686b71);font-size:13px;line-height:1}.gemboss-layer-acts button:hover:not(:disabled){background:var(--gemboss-hover,rgba(0,0,0,.07))}.gemboss-layer-acts button:disabled{opacity:.28;cursor:default}.gemboss-layer-del:hover:not(:disabled){color:#c0392b}@media (pointer: coarse){.gemboss-layer{flex-wrap:wrap}.gemboss-layer-acts{margin-left:auto}.gemboss-layer-acts button{width:44px;height:44px;font-size:15px}.gemboss-layer-main{flex:1 1 140px;min-height:44px;justify-content:center}.gemboss-layer-head{max-width:100%}}.gemboss-layer-grip{flex:0 0 auto;width:12px;margin-right:-2px;color:var(--gemboss-text-muted,#686b71);font-size:11px;letter-spacing:-2px;line-height:1;text-align:center;cursor:grab;user-select:none}.gemboss-layer[draggable=true]{cursor:grab}.gemboss-layer.is-dragging{opacity:.4}.gemboss-layer[data-drop=before]{box-shadow:0 -2px 0 var(--gemboss-primary, #1b1c1e)}.gemboss-layer[data-drop=after]{box-shadow:0 2px 0 var(--gemboss-primary, #1b1c1e)}.gemboss-layer.is-hidden .gemboss-layer-main{opacity:.5}.gemboss-layer-acts .gemboss-layer-eye{display:inline-grid;place-items:center}.gemboss-layer-acts .gemboss-layer-eye[aria-pressed=true]{color:var(--gemboss-text,#1b1c1e)}.gemboss-layers[hidden],.gemboss-settings[hidden],.gemboss-picker-backdrop[hidden]{display:none}.gemboss-settings{position:fixed;top:0;right:0;bottom:0;width:min(380px,100%);box-sizing:border-box;background:#fff;border-left:1px solid var(--gemboss-divider,#e5e7ea);box-shadow:-8px 0 30px #1f1e1d1f;z-index:71;display:flex;flex-direction:column}.gemboss-settings-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}.gemboss-settings-grouphead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:16px;border-top:1px solid var(--gemboss-divider,#e5e7ea)}.gemboss-settings-grouphead>span{font-size:var(--gemboss-fs-caption);font-weight:700;color:var(--gemboss-text,#1b1c1e)}.gemboss-settings-gen{border:1px solid var(--gemboss-divider,#e5e7ea);background:var(--gemboss-surface,#fff);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;font-family:inherit;color:var(--gemboss-text,#1b1c1e);cursor:pointer;white-space:nowrap}.gemboss-settings-gen:hover:not(:disabled){background:var(--gemboss-hover,#eceef2)}.gemboss-settings-gen:disabled{opacity:.55;cursor:default}.gemboss-settings-field{display:flex;flex-direction:column;gap:6px}.gemboss-settings-note{margin:0 0 4px;font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted);line-height:1.5}.gemboss-settings-error{margin:0 0 8px;padding:8px 12px;border-radius:8px;font-size:var(--gemboss-fs-caption);line-height:1.45;color:#8a1c1c;background:#fdecec;border:1px solid #f5c2c2}.gemboss-settings-field>span{font-size:13px;font-weight:450;color:var(--gemboss-text-muted)}.gemboss-settings-field :is(input,textarea,select):not([type=color]){width:100%}.gemboss-settings-field small{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted,#686b71)}.gemboss-settings-field textarea.gemboss-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.gemboss-settings-handle span{color:var(--gemboss-text-muted,#686b71);white-space:nowrap}.gemboss-settings-foot{flex:0 0 auto;display:flex;justify-content:flex-end;gap:12px;padding:12px 20px;border-top:1px solid var(--gemboss-divider,#e5e7ea)}.gemboss-settings-cancel{background:transparent;border:1px solid var(--gemboss-divider,#e5e7ea);border-radius:8px;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;color:var(--gemboss-text,#1b1c1e)}.gemboss-settings-save{background:var(--gemboss-primary, #1b1c1e);color:#fff;border:0;border-radius:8px;font-size:13px;font-weight:700;padding:8px 20px;cursor:pointer}.gemboss-settings-save:disabled{opacity:.6;cursor:default}.gemboss-page-section-content :is(button:where(:not(.gemboss-ei-help)),input,textarea){min-height:44px;min-width:44px}.gemboss-pageedit .gemboss-pv-device{width:44px;height:44px;flex-shrink:0}.gemboss-pageedit .gemboss-ec-dock-body :is(button:where(:not(.gemboss-ei-help)),input,select){min-height:44px}.gemboss-bundle-look .gemboss-ei-body :is(button:where(:not(.gemboss-ei-help)),input){min-height:44px}.gemboss-bundle-look .gemboss-ei-body input[type=color]{min-width:44px}.gemboss-page-draft-status{flex:0 0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:8px 12px;border-radius:8px;background:var(--gemboss-surface,#fff);color:var(--gemboss-text,#1b1c1e);font-size:12px;line-height:1.5;box-shadow:0 1px 6px #0001}.gemboss-page-draft-status button{min-height:44px;min-width:44px;padding:8px 12px;border:1px solid var(--gemboss-divider);border-radius:6px;background:var(--gemboss-surface,#fff);cursor:pointer}.gemboss-page-draft-status button:hover{background:var(--gemboss-hover,#eceef2)}.gemboss-page-draft-status button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.gemboss-page-draft-status[data-page-preview-state=ready]{pointer-events:none}.gemboss-pageedit .gemboss-pageedit-pv{flex-direction:column;min-height:0;justify-content:flex-start}.gemboss-page-draft-stage{flex:1;min-height:0;position:relative;overflow:hidden;display:flex;justify-content:center}@media (max-width:1000px){.gemboss-pageedit .gemboss-editor-body>.gemboss-ec{flex:0 0 auto;height:44%;min-height:min(520px,76%);max-height:76%}}.gemboss-ei{position:absolute;top:12px;right:12px;z-index:6;width:320px;max-width:calc(100% - 24px);display:flex;flex-direction:column;max-height:calc(100% - 24px);background:var(--gemboss-surface);border:1px solid var(--gemboss-divider);border-radius:var(--gemboss-radius-xl);box-shadow:var(--gemboss-shadow-overlay);overflow:hidden}.gemboss-ei--docked{position:static;top:auto;right:auto;width:100%;max-width:none;height:100%;max-height:none;border:0;border-radius:0;box-shadow:none;background:transparent;flex:1;min-height:0}.gemboss-ei-head{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--gemboss-divider)}.gemboss-ec>.gemboss-ei-head{padding-inline:var(--gemboss-ec-inset,12px)}.gemboss-ec .gemboss-ei--docked .gemboss-ei-head{padding-inline:var(--gemboss-ec-inset,12px)}.gemboss-ec .gemboss-ei--docked .gemboss-ei-tabs{margin-inline:var(--gemboss-ec-inset,12px)}.gemboss-ec .gemboss-ei--docked .gemboss-ei-pane{padding-inline:var(--gemboss-ec-inset,16px)}.gemboss-ei-title{font-size:var(--gemboss-fs-body);font-weight:700;line-height:1.2;min-width:0;overflow:hidden}.gemboss-ei-title small{display:block;font-weight:500;font-size:11px;color:var(--gemboss-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gemboss-ei-act,.gemboss-ei-x{margin-left:auto;width:26px;height:26px;flex:none;border:0;background:transparent;cursor:pointer;color:var(--gemboss-text-muted);border-radius:6px;display:grid;place-items:center;font-size:14px}.gemboss-ei-x{margin-left:2px;font-size:13px}.gemboss-ei-act:hover,.gemboss-ei-x:hover{background:var(--gemboss-hover);color:var(--gemboss-text)}.gemboss-ei-act:disabled{opacity:.5;cursor:default}.gemboss-ei-tabs{display:flex;gap:2px;margin:8px 12px 0;background:var(--gemboss-panel-bg);padding:4px;border-radius:8px}.gemboss-ei-tab{flex:1;border:0;background:transparent;cursor:pointer;color:var(--gemboss-text-muted);font-weight:550;font-size:12px;line-height:16px;padding:6px 4px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:6px}.gemboss-ei-tab.on{background:var(--gemboss-surface);color:var(--gemboss-text);box-shadow:var(--gemboss-shadow-resting)}.gemboss-ei-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding:2px 0 4px}.gemboss-ei-body::-webkit-scrollbar{width:9px}.gemboss-ei-body::-webkit-scrollbar-thumb{background:#1f1e1d33;border-radius:6px;border:2px solid var(--gemboss-surface);background-clip:content-box}.gemboss-ei-pane{padding:4px 16px 6px}.gemboss-ei-note{margin:0 0 8px;padding:8px 12px;border-radius:8px;background:var(--gemboss-hover,#eceef2);border:1px solid var(--gemboss-divider,#e5e7ea);color:var(--gemboss-text-muted,#686b71);font-size:12px;line-height:1.45}.gemboss-ei-grp{border-bottom:1px solid var(--gemboss-divider-soft);padding:16px 0}.gemboss-ei-grp:last-child{border-bottom:none}.gemboss-ei-gh{font-size:13px;line-height:20px;color:var(--gemboss-text);font-weight:650;margin-bottom:8px;display:flex;align-items:center;gap:6px;width:100%;border:0;background:transparent;cursor:pointer;text-align:left;padding:0;-webkit-appearance:none}.gemboss-ei-chev{order:1;flex:none;margin:0 4px 0 auto;width:6px;height:6px;font-size:0;border:solid var(--gemboss-text-muted);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.gemboss-ei-gh[data-open=closed]>.gemboss-ei-chev{transform:rotate(-45deg)}.gemboss-ei-gh-note{margin-left:6px;font-size:12px;font-weight:450;opacity:.55}.gemboss-ei-gh[data-open=closed]{margin-bottom:0}.gemboss-ei-gh[data-open=closed]~*{display:none}.gemboss-ei-fld{margin-bottom:12px}.gemboss-ei-fld:last-child{margin-bottom:0}.gemboss-ei-grp>:not(.gemboss-ei-gh)+:not(.gemboss-ei-hint){margin-top:12px}.gemboss-ei-fld>label:where(:not(.gemboss-field)),.gemboss-ei-lbl{display:block;font-size:13px;font-weight:500;color:var(--gemboss-text);margin-bottom:6px}.gemboss-ei-lbl>label{margin:0}.gemboss-ei-help{display:none}:is(.gemboss-ei-grp,.gemboss-ei-group) :is(.gemboss-ei-fld>label:where(:not(.gemboss-field)),.gemboss-ei-lbl){font-weight:450;color:var(--gemboss-text-muted)}:is(.gemboss-ei-grp,.gemboss-ei-group) .gemboss-ei-lbl{display:flex;gap:4px;align-items:start}:is(.gemboss-ei-grp,.gemboss-ei-group) .gemboss-ei-fld--row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:0 8px;align-items:start}:is(.gemboss-ei-grp,.gemboss-ei-group) .gemboss-ei-fld--row>:not(:first-child){grid-column:2}:is(.gemboss-ei-grp,.gemboss-ei-group) .gemboss-ei-fld--row>:first-child{margin:0;padding-top:6px}:is(.gemboss-ei-grp,.gemboss-ei-group) .gemboss-ei-help{display:block;flex:none;width:16px;height:16px;padding:0;border:0;border-radius:50%;box-shadow:inset 0 0 0 1px;background:none;color:inherit;font:650 10px/16px var(--gemboss-font-sans);cursor:help;position:relative}.gemboss-ei-help:after{content:"";position:absolute;inset:-4px;border-radius:50%}.gemboss-ei-help:is(:hover,[aria-expanded=true]){color:var(--gemboss-text)}:is(.gemboss-ei-grp,.gemboss-ei-group) .gemboss-ei-fld:has(>.gemboss-ei-lbl>.gemboss-ei-help[aria-expanded=false])>.gemboss-ei-help-text{display:none}.gemboss-ei-inp{width:100%}.gemboss-ei-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}select.gemboss-ei-inp{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gemboss-text-muted) 50%),linear-gradient(135deg,var(--gemboss-text-muted) 50%,transparent 50%);background-position:calc(100% - 15px) center,calc(100% - 10px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.gemboss-ei-swatches{display:flex;gap:8px}.gemboss-ei-sw{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #1f1e1d1a}.gemboss-ei-sw.on{border-color:var(--gemboss-text);box-shadow:0 0 0 2px var(--gemboss-surface),0 0 0 3px var(--gemboss-primary)}.gemboss-ei-sw:disabled{cursor:default;opacity:.7}@media (pointer: coarse),(max-width:47.9975em){.gemboss-ei-tab{min-height:44px}.gemboss-ei-gh{min-height:44px;margin-bottom:4px}.gemboss-ei-sw{width:44px;height:44px}.gemboss-ei-swatches{flex-wrap:wrap}}@media (pointer: coarse),(max-width:47.9975em){.gemboss-ei-fld :is(input:not([type=checkbox]):not([type=radio]),select,button:not(.gemboss-ei-help)){min-height:44px}.gemboss-ei-fld :is(button:not(.gemboss-ei-help),input[type=color]){min-width:44px}.gemboss-ei-help:after{inset:-14px}}.gemboss-ei-apply{margin-top:2px;background:var(--gemboss-primary);color:#fff;border:0;border-radius:8px;font-size:var(--gemboss-fs-caption);font-weight:700;padding:8px 16px;cursor:pointer}.gemboss-ei-apply:hover{background:var(--gemboss-primary-dark)}.gemboss-ei-apply:disabled{opacity:.6;cursor:default}.gemboss-ei-hint{margin:4px 0 0;font-size:12px;line-height:16px;color:var(--gemboss-text-muted)}.gemboss-ei-empty{padding:24px 16px;text-align:center;font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.gemboss-ei-foot{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--gemboss-divider);font-size:11px;color:var(--gemboss-text-muted)}.gemboss-ei-savedot{width:6px;height:6px;border-radius:50%;background:var(--gemboss-success);box-shadow:0 0 0 3px #2e8b572e}.gemboss-ei-savedot.busy{background:var(--gemboss-primary);box-shadow:0 0 0 3px var(--gemboss-primary-soft)}.gemboss-ei-foot.is-error{color:var(--gemboss-danger)}.gemboss-ei-foot.is-error .gemboss-ei-savedot{background:var(--gemboss-danger);box-shadow:0 0 0 3px #d72c0d29}.gemboss-ei-drag{cursor:grab;user-select:none}.gemboss-ei-drag:active{cursor:grabbing}.gemboss-ei-dragmask{position:fixed;inset:0;z-index:9998;cursor:grabbing}.gemboss-ei-block{border:1px solid var(--gemboss-divider);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--gemboss-panel-bg)}.gemboss-ei-block:last-child{margin-bottom:0}.gemboss-ei-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--gemboss-text)}.gemboss-ei-block-x{border:0;background:transparent;cursor:pointer;color:var(--gemboss-text-muted);width:22px;height:22px;border-radius:6px;font-size:11px;flex:none}.gemboss-ei-block-x:hover{background:var(--gemboss-hover);color:var(--gemboss-danger-strong)}.gemboss-ei-block-x:disabled{opacity:.5;cursor:default}.gemboss-ei-block .gemboss-ei-inp{background:var(--gemboss-surface)}.gemboss-ei-addrow{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.gemboss-ei-img{display:flex;gap:8px;align-items:flex-start}.gemboss-ei-img-thumb{flex:none;width:52px;height:52px;border-radius:8px;border:1px solid var(--gemboss-divider);background:var(--gemboss-panel-bg) center/cover no-repeat;display:grid;place-items:center;color:var(--gemboss-text-muted);font-size:16px}.gemboss-ei-img-ctl{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.gemboss-ei-img-actions{display:flex;gap:6px}.gemboss-ei-gen{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:8px;border:1px solid var(--gemboss-divider);border-radius:12px;background:var(--gemboss-panel-bg)}.gemboss-ei-gen .gemboss-ei-apply{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}.gemboss-ei-gen .gemboss-narr-spin{width:11px;height:11px}.gemboss-ei-oos{margin:4px 16px 12px;padding:12px;border:1px solid var(--gemboss-divider);border-left:3px solid var(--gemboss-text-muted);border-radius:8px;background:var(--gemboss-panel-bg)}.gemboss-ei-oos-h{font-size:var(--gemboss-fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--gemboss-text-muted);font-weight:700;margin-bottom:8px}.gemboss-ei-oos p{margin:0 0 6px;font-size:12px;color:var(--gemboss-text-muted);line-height:1.45}.gemboss-ei-oos p:last-child{margin-bottom:0}.gemboss-ei-oos b{color:var(--gemboss-text);font-weight:600}.gemboss-ei-edgebox{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gemboss-ei-value{display:grid;gap:8px}.gemboss-ei-value-row{display:flex;align-items:center;gap:12px}.gemboss-ei-value-box{flex:0 0 7em}.gemboss-ei-value-box input{text-align:right;font-variant-numeric:tabular-nums}.gemboss-ei-value-row .gemboss-ei-range{flex:1 1 auto;min-width:0}.gemboss-ei-edge{display:flex;flex-direction:column;align-items:center;gap:4px}.gemboss-ei-edge input{width:100%;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.gemboss-ei-edge span{font-size:var(--gemboss-fs-micro);letter-spacing:.06em;color:var(--gemboss-text-muted);font-weight:700}.gemboss-ei-edge-scrub{align-self:stretch;min-height:24px;margin-top:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--gemboss-radius-sm);cursor:ew-resize;user-select:none;touch-action:pan-y}@media (hover: hover){.gemboss-ei-edge-scrub:not([aria-disabled]):hover{background:var(--gemboss-hover);color:var(--gemboss-text)}}.gemboss-ei-edge-scrub[aria-disabled]{cursor:default}.gemboss-ec-dock-body{flex:1;min-height:0;overflow-y:auto;padding:var(--gemboss-ec-inset,12px)}.gemboss-ei-group{padding:16px 0}.gemboss-ei-group+.gemboss-ei-group{border-top:1px solid var(--gemboss-divider)}.gemboss-ei-grouphead{margin:0 0 12px;font-size:var(--gemboss-fs-micro,11px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gemboss-text-muted)}.gemboss-ei-color{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gemboss-ei-color-why{display:block;flex:1 0 100%;margin:-4px 0 0;font-size:12px;line-height:16px;color:var(--gemboss-text-muted)}.gemboss-ei-color .gemboss-ei-inp{flex:1;min-width:0}.gemboss-ei-swatch{flex:none;width:32px;height:32px;padding:0;border:1px solid var(--gemboss-divider);border-radius:8px;background:var(--gemboss-surface);cursor:pointer}.gemboss-ei-swatch::-webkit-color-swatch-wrapper{padding:2px}.gemboss-ei-swatch::-webkit-color-swatch{border:none;border-radius:6px}.gemboss-ei-swatch[data-empty]::-webkit-color-swatch{background-image:linear-gradient(to top right,#0000 46%,var(--gemboss-text-muted,#686b71) 46% 54%,#0000 54%)}.gemboss-ei-swatch:disabled{cursor:default;opacity:.7}:is(.gemboss-ei-fld,.gemboss-ei-lbl)>label>.gemboss-ei-rangeval{float:right;font-weight:700;color:var(--gemboss-text);font-variant-numeric:tabular-nums}.gemboss-ei-range{width:100%;accent-color:var(--gemboss-primary);cursor:pointer}.gemboss-ei-range:disabled{cursor:default;opacity:.7}@media (max-width:760px){.gemboss-ei{position:static;width:auto;max-width:none;max-height:none;margin:8px;box-shadow:var(--gemboss-shadow-raised)}}.gemboss-ei-tree{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.gemboss-ei-tnode{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border-radius:6px;padding-right:4px}.gemboss-ei-tnode:hover{background:var(--gemboss-surface)}.gemboss-ei-tnode.on{background:var(--gemboss-primary-soft,var(--gemboss-surface));box-shadow:inset 2px 0 0 var(--gemboss-primary)}.gemboss-ei-tname{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;border:0;background:transparent;cursor:pointer;text-align:left;padding:6px 2px;color:var(--gemboss-text);font-size:12px;font-weight:600}.gemboss-ei-tname small{font-weight:400;font-size:10px;color:var(--gemboss-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gemboss-ei-tacts{flex:none;display:flex;gap:1px;opacity:0;transition:opacity .12s}.gemboss-ei-tnode:hover .gemboss-ei-tacts,.gemboss-ei-tnode.on .gemboss-ei-tacts,.gemboss-ei-tacts:focus-within{opacity:1}.gemboss-ei-tacts button{border:0;background:transparent;cursor:pointer;color:var(--gemboss-text-muted);font-size:11px;line-height:1;padding:4px 6px;border-radius:6px}.gemboss-ei-tacts button:hover:not(:disabled){background:var(--gemboss-surface);color:var(--gemboss-text)}.gemboss-ei-tacts button:disabled{opacity:.3;cursor:default}.gemboss-ei-tadd{flex-basis:100%;padding:4px 2px 6px}.gemboss-editor-topbar--guest{grid-template-columns:1fr auto 1fr}.gemboss-guest-mark{flex:0 0 auto;display:block}.gemboss-guest-brand{font-weight:700;letter-spacing:-.02em;font-size:15px;margin-left:8px}.gemboss-guest-note{font-size:var(--gemboss-fs-caption);color:var(--gemboss-text-muted);border:1px solid var(--gemboss-divider-soft);border-radius:999px;padding:4px 12px;white-space:nowrap}.gemboss-editor-topbar--guest .gemboss-editor-tb-right{display:flex;align-items:center;gap:16px;justify-content:flex-end}.gemboss-guest-signin{font-size:var(--gemboss-fs-body);font-weight:600;color:var(--gemboss-text-muted);text-decoration:none}.gemboss-guest-signin:hover{color:var(--gemboss-text)}.gemboss-guest-keep{border:0;border-radius:999px;background:var(--gemboss-primary);color:var(--gemboss-on-primary);cursor:pointer;font:inherit;font-size:var(--gemboss-fs-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:8px 20px;white-space:nowrap}.gemboss-guest-keep:hover{background:var(--gemboss-primary-dark)}@media (max-width: 720px){.gemboss-guest-note{display:none}}@media (max-width: 1000px){.gemboss-editor-topbar--guest{grid-template-columns:auto minmax(0,1fr)}}@media (max-width: 460px){.gemboss-guest-brand{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.gemboss-editor-topbar--guest .gemboss-editor-tb-right{gap:8px}.gemboss-editor-topbar--guest .gemboss-guest-keep{padding-inline:12px}}@media (max-width: 400px){.gemboss-editor-topbar--guest{padding-inline:8px;column-gap:8px}}
|
package/src/gemboss-field.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.gemboss-field,.gemboss-control{box-sizing:border-box;height:32px;min-width:0;padding:0 12px;font:inherit;font-size:var(--p-font-size-325, 13px);line-height:20px;color:var(--p-color-text, var(--gemboss-field-ink));background-color:var(--p-color-input-bg-surface, var(--gemboss-field-bg));border:1px solid var(--p-color-input-border, var(--gemboss-field-line));border-radius:var(--p-border-radius-200, 8px)}input[type=search]:is(.gemboss-field,.gemboss-field__bare){-webkit-appearance:none;appearance:none}.gemboss-field::placeholder{color:var(--p-color-text-secondary, var(--gemboss-field-placeholder))}.gemboss-field--tall{min-height:44px}.gemboss-field--narrow{padding:0 6px;appearance:textfield;-moz-appearance:textfield}.gemboss-field--narrow::-webkit-outer-spin-button,.gemboss-field--narrow::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gemboss-field:hover:not(:disabled),.gemboss-control:hover:not(:disabled){border-color:var(--p-color-input-border-hover, var(--gemboss-field-line-hover));background-color:var(--p-color-input-bg-surface-hover, var(--gemboss-field-bg-hover))}.gemboss-field:focus-visible,.gemboss-control:focus-visible{outline:2px solid var(--p-color-border-focus, var(--ui-focus, #5661f5));outline-offset:1px;border-color:var(--p-color-input-border-active, var(--gemboss-field-line-active))}.gemboss-field:disabled,.gemboss-control:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 47.9975em){.gemboss-field,.gemboss-control{font-size:16px;min-height:44px}}textarea.gemboss-field{height:auto;padding:6px 12px;resize:vertical}.gemboss-field--group{display:flex;align-items:center;gap:6px;height:auto;min-height:32px;padding-right:0;overflow:hidden}@media (max-width: 47.9975em){.gemboss-field--group{min-height:44px}}.gemboss-field--group:focus-within{outline:2px solid var(--p-color-border-focus, var(--ui-focus, #5661f5));outline-offset:1px;border-color:var(--p-color-input-border-active, var(--gemboss-field-line-active))}.gemboss-field--group input[type=color]{flex:none;align-self:stretch;width:44px;min-width:44px;height:auto;min-height:0;margin:-1px 0 -1px -12px;padding:0;border:0;border-right:1px solid var(--p-color-input-border, var(--gemboss-field-line));border-radius:0;background:none;cursor:pointer}.gemboss-field--group input[type=color]::-webkit-color-swatch-wrapper{padding:0}.gemboss-field--group input[type=color]::-webkit-color-swatch{border:0;border-radius:0}.gemboss-field__bare{flex:1;min-width:0;align-self:stretch;margin-block:-1px;padding:0 12px 0 0;border:0;border-radius:0;outline:none;background:transparent;color:inherit;font:inherit}.gemboss-field__bare::placeholder{color:var(--p-color-text-secondary, var(--gemboss-field-placeholder))}@media (pointer: coarse){.gemboss-field,.gemboss-control{height:auto;min-height:44px}}.gemboss-control{cursor:pointer}.gemboss-control.gemboss-control--icon{width:32px;flex:0 0 auto;padding:0}@media (pointer: coarse){.gemboss-control.gemboss-control--icon{width:44px;min-width:44px}}
|
|
1
|
+
.gemboss-field,.gemboss-control{box-sizing:border-box;height:32px;min-width:0;padding:0 12px;font:inherit;font-size:var(--p-font-size-325, 13px);line-height:20px;color:var(--p-color-text, var(--gemboss-field-ink));background-color:var(--p-color-input-bg-surface, var(--gemboss-field-bg));border:1px solid var(--p-color-input-border, var(--gemboss-field-line));border-radius:var(--p-border-radius-200, 8px)}input[type=search]:is(.gemboss-field,.gemboss-field__bare){-webkit-appearance:none;appearance:none}.gemboss-field::placeholder{color:var(--p-color-text-secondary, var(--gemboss-field-placeholder))}.gemboss-field--tall{min-height:44px}.gemboss-field--narrow{padding:0 6px;appearance:textfield;-moz-appearance:textfield}.gemboss-field--narrow::-webkit-outer-spin-button,.gemboss-field--narrow::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gemboss-field:hover:not(:disabled):not(:has(>.gemboss-field__bare:disabled)),.gemboss-control:hover:not(:disabled){border-color:var(--p-color-input-border-hover, var(--gemboss-field-line-hover));background-color:var(--p-color-input-bg-surface-hover, var(--gemboss-field-bg-hover))}.gemboss-field:focus-visible,.gemboss-control:focus-visible{outline:2px solid var(--p-color-border-focus, var(--ui-focus, #5661f5));outline-offset:1px;border-color:var(--p-color-input-border-active, var(--gemboss-field-line-active))}.gemboss-field:disabled,.gemboss-control:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 47.9975em){.gemboss-field,.gemboss-control{font-size:16px;min-height:44px}}textarea.gemboss-field{height:auto;padding:6px 12px;resize:vertical}.gemboss-field--group{display:flex;align-items:center;gap:6px;height:auto;min-height:32px;padding-right:0;overflow:hidden}@media (max-width: 47.9975em){.gemboss-field--group{min-height:44px}}.gemboss-field--group:focus-within{outline:2px solid var(--p-color-border-focus, var(--ui-focus, #5661f5));outline-offset:1px;border-color:var(--p-color-input-border-active, var(--gemboss-field-line-active))}.gemboss-field--group input[type=color]{flex:none;align-self:stretch;width:44px;min-width:44px;height:auto;min-height:0;margin:-1px 0 -1px -12px;padding:0;border:0;border-right:1px solid var(--p-color-input-border, var(--gemboss-field-line));border-radius:0;background:none;cursor:pointer}.gemboss-field--group input[type=color]::-webkit-color-swatch-wrapper{padding:0}.gemboss-field--group input[type=color]::-webkit-color-swatch{border:0;border-radius:0}.gemboss-field__bare{flex:1;min-width:0;align-self:stretch;margin-block:-1px;padding:0 12px 0 0;border:0;border-radius:0;outline:none;background:transparent;color:inherit;font:inherit}.gemboss-field__bare::placeholder{color:var(--p-color-text-secondary, var(--gemboss-field-placeholder))}.gemboss-field__suffix{flex:none;padding-right:12px;color:var(--p-color-text-secondary, var(--gemboss-field-placeholder))}.gemboss-field__bare:has(+.gemboss-field__suffix){padding-right:0}.gemboss-field--group:has(>.gemboss-field__bare:disabled){opacity:.5;cursor:not-allowed}.gemboss-field__bare:disabled{cursor:not-allowed}@media (pointer: coarse){.gemboss-field,.gemboss-control{height:auto;min-height:44px}}.gemboss-control{cursor:pointer}.gemboss-control.gemboss-control--icon{width:32px;flex:0 0 auto;padding:0}@media (pointer: coarse){.gemboss-control.gemboss-control--icon{width:44px;min-width:44px}}
|
package/src/icons.tsx
CHANGED
|
@@ -65,6 +65,17 @@ const P = {
|
|
|
65
65
|
signOut: <path d="M8 3.5H4v13h4M12.5 6.5 16 10l-3.5 3.5M16 10H8" />,
|
|
66
66
|
// The assistant's mark (✦ in the surfaces' old hand-drawn buttons): a four-point star + a small one.
|
|
67
67
|
sparkle: <><path d="M9 3.5c.4 2.9 1.6 4.1 4.5 4.5-2.9.4-4.1 1.6-4.5 4.5-.4-2.9-1.6-4.1-4.5-4.5 2.9-.4 4.1-1.6 4.5-4.5z" /><path d="M14.5 12.5c.2 1.3.7 1.8 2 2-1.3.2-1.8.7-2 2-.2-1.3-.7-1.8-2-2 1.3-.2 1.8-.7 2-2z" /></>,
|
|
68
|
+
// The team chat (20/10/2026): a channel's kind (hash, lock), a message's actions (reply, thread), the composer
|
|
69
|
+
// (paperclip, send), the phone's way back to the channel list, "jump to the latest", the people panel's toggle.
|
|
70
|
+
hash: <path d="M8 3.5 6.5 16.5M13.5 3.5 12 16.5M4 7.5h12.5M3.5 12.5H16" />,
|
|
71
|
+
lock: <><rect x="4.5" y="9" width="11" height="8" rx="1.5" /><path d="M7 9V6.5a3 3 0 0 1 6 0V9" /></>,
|
|
72
|
+
reply: <path d="M8 13.5 3.5 9 8 4.5M3.5 9h8a5 5 0 0 1 5 5v2" />,
|
|
73
|
+
thread: <><path d="M3 4.5h14v9H8.5L5 16.5v-3H3z" /><path d="M6.5 8h7M6.5 10.5h4.5" /></>,
|
|
74
|
+
paperclip: <path d="M15.5 9.5 10 15a3.5 3.5 0 0 1-5-5l6-6a2.3 2.3 0 0 1 3.3 3.3l-6 6a1.2 1.2 0 0 1-1.7-1.7l5.3-5.3" />,
|
|
75
|
+
send: <><path d="M3.5 10 16.5 3.5 13 16.5 9.5 11z" /><path d="M9.5 11 16.5 3.5" /></>,
|
|
76
|
+
chevronLeft: <path d="M12.5 4.5 7 10l5.5 5.5" />,
|
|
77
|
+
chevronsDown: <path d="M6 5.5l4 4 4-4M6 10.5l4 4 4-4" />,
|
|
78
|
+
panelRight: <><rect x="3" y="3.5" width="14" height="13" rx="2" /><path d="M12.5 3.5v13" /></>,
|
|
68
79
|
} satisfies Record<string, React.ReactNode>;
|
|
69
80
|
// `satisfies`, not a `Record<string, …>` annotation: the annotation widened `keyof` to `string`, so a
|
|
70
81
|
// typo (`name="setings"`) type-checked and drew an empty box (review #3474).
|
package/src/index.ts
CHANGED
|
@@ -26,13 +26,16 @@ export type { DisclosureItemProps } from "./disclosure-item";
|
|
|
26
26
|
export type { SelectableResourceItem, SelectableResourceListProps } from "./resource-list-select";
|
|
27
27
|
// The one switch (0.20.0): every "pick one" control in the admin, and the editor kit's Seg. Its own module (plain, no state).
|
|
28
28
|
export { Segmented, IconSegmented, type SegmentedOption } from "./segmented";
|
|
29
|
+
export { ToggleBar } from "./toggle-bar";
|
|
29
30
|
export { Sparkline, ShareBar, sparklinePaths, type SparkPoint, type SparkTone, type SparklineGeometry, type SharePart, type ShareTone } from "./minichart";
|
|
30
31
|
export { SetupGuide, type SetupStep, type SetupState } from "./setup-guide";
|
|
31
32
|
export { GemMark } from "./GemMark";
|
|
32
|
-
export { AuthError, AuthField, AuthFoot, AuthForm, AuthHelp, AuthLayout, PasswordField, AuthSubmit, type AuthBackdrop } from "./auth";
|
|
33
|
+
export { AuthContinueWithGemBoss, AuthError, AuthField, AuthFoot, AuthForm, AuthHelp, AuthLayout, PasswordField, AuthSubmit, continuesByItself, gemBossSignInUrl, GEMBOSS_ISSUER, type AuthBackdrop } from "./auth";
|
|
34
|
+
export { AuthPageField } from "./auth-field";
|
|
33
35
|
export { BrandLockup } from "./brand";
|
|
36
|
+
export { SiteBrand, SiteHeader } from "./site";
|
|
34
37
|
// 0.36.0: the button after the logo and its panel of Gem services; the catalogue is plain data (also `@gemboss/ui/services`).
|
|
35
|
-
export { ServiceSwitcher, SERVICES_HEALTH_URL, type ServiceSwitcherLabels, type ServiceSwitcherProps } from "./service-switcher";
|
|
38
|
+
export { ServiceSwitcher, Switcher, SERVICES_HEALTH_URL, type ServiceSwitcherLabels, type ServiceSwitcherProps, type SwitcherItem, type SwitcherProps } from "./service-switcher";
|
|
36
39
|
export {
|
|
37
40
|
GEM_SERVICES, SERVICE_GROUPS, SERVICE_TINTS, groupServices,
|
|
38
41
|
type GemService, type ServiceGroup, type ServiceGroupId, type ServiceId, type ServiceTint,
|
|
@@ -54,3 +57,12 @@ export { THEME_KEY, themeScript } from "./theme-script";
|
|
|
54
57
|
export { Reactions, ReactionPicker, type ReactionsProps } from "./reactions";
|
|
55
58
|
export { ActionCard, ActionCardItem, ActionCardSection, ActionChange, type ActionCardItemProps, type ActionCardOutcome, type ActionCardProps } from "./action-card";
|
|
56
59
|
export { isReactionEmoji, QUICK_REACTIONS, REACTION_EMOJI, REACTION_GROUPS, reactionLabel, reactionWords, searchReactions, toggleReaction, type Reaction } from "./reactions-data";
|
|
60
|
+
// The team chat layer (20/10/2026, README "The team chat layer"): GemCare's channel chat for every surface, with
|
|
61
|
+
// team-chat.css its own entry. The row rules (turns, day separators, the "New messages" line) are plain data.
|
|
62
|
+
export {
|
|
63
|
+
ChannelItem, ChannelRail, ChannelSection, ChatHeader, Composer, DaySeparator, JumpToLatest, Message, MessageList, NewMessagesLine,
|
|
64
|
+
PeoplePanel, PeopleSection, PersonRow, ReadReceipt, TeamChat, ThreadPanel, TEAM_CHAT_DRAWER_MAX, TEAM_CHAT_LABELS, TEAM_CHAT_PHONE_MAX,
|
|
65
|
+
type ChannelItemProps, type ChannelKind, type ChannelRailProps, type ChatHeaderProps, type ComposerProps, type MessageListProps, type MessageProps,
|
|
66
|
+
type PeoplePanelProps, type PersonRowProps, type Presence, type TeamChatLabels, type TeamChatPanel, type TeamChatProps, type TeamChatView, type ThreadPanelProps,
|
|
67
|
+
} from "./team-chat";
|
|
68
|
+
export { chatDayKey, chatDayWord, teamChatRows, type ChatRow, type ChatRowMessage, type ChatRowOptions } from "./team-chat-data";
|
package/src/kit-plain.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(g){"use strict";if(g.gembossUI)return;var X='<svg viewBox="0 0 20 20" aria-hidden="true" focusable="false"><path d="M5 5l10 10M15 5L5 15" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" fill="none"/></svg>',ke='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), summary, iframe, [tabindex]:not([tabindex="-1"])',xe=function(e){return Array.prototype.slice.call(e.querySelectorAll(ke)).filter(function(t){return t.checkVisibility?t.checkVisibility({visibilityProperty:!0}):t.getClientRects().length>0})},E=function(e){return String(e).replace(/[&<>"']/g,function(t){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[t]})},m=[],Le=0,H=null;function z(e){var t=e.title||"",r=e.label||"",n=e.closeLabel||"Close",a=document.activeElement,i=document.createElement("div");i.className="ui-overlay"+(e.overlayClass?" "+e.overlayClass:""),i.setAttribute("role","presentation");var l="gb-modal-title-"+ ++Le;i.innerHTML='<div class="ui-modal'+(e.className?" "+e.className:"")+'" role="dialog" aria-modal="true" '+(t?'aria-labelledby="'+l+'"':'aria-label="'+E(r)+'"')+' tabindex="-1">'+(t?'<div class="ui-modal__head"><div class="ui-modal__title" id="'+l+'">'+t+'</div><button type="button" class="ui-modal__close" aria-label="'+E(n)+'">'+X+"</button></div>":"")+(e.body||"")+(e.foot?'<div class="ui-modal__foot">'+e.foot+"</div>":"")+"</div>";var u=i.firstChild,s=!1,c={panel:u,overlay:i,close:function(d,b){var A=b&&b.force;return m.indexOf(c)<0?Promise.resolve():!A&&e.beforeClose?s?Promise.resolve():(s=!0,Promise.resolve().then(function(){return e.beforeClose(d)}).catch(function(x){return console.error(x),!1}).then(function(x){s=!1,x&&m.indexOf(c)>=0&&f(d)})):(f(d),Promise.resolve())}};function f(d){m.splice(m.indexOf(c),1),removeEventListener("keydown",v),i.remove();var b=m[m.length-1];b||(document.body.style.overflow=H||"",H=null),a&&a.isConnected&&a.focus&&(!b||b.panel.contains(a))?a.focus():b&&b.panel.focus(),e.onClose&&e.onClose(d)}function v(d){if(!(d===S||m[m.length-1]!==c)){if(d.key==="Escape"){if(d.isComposing||d.keyCode===229)return;d.preventDefault(),c.close(null);return}if(d.key==="Tab"){var b=xe(u);if(b.length){var A=b[0],x=b[b.length-1];u.contains(document.activeElement)?!d.shiftKey&&document.activeElement===x?(d.preventDefault(),A.focus()):d.shiftKey&&document.activeElement===A&&(d.preventDefault(),x.focus()):(d.preventDefault(),A.focus())}}}}var h=!1;i.addEventListener("mousedown",function(d){h=d.target===i}),i.addEventListener("click",function(d){d.target===i&&h&&c.close(null),h=!1});var p=u.querySelector(".ui-modal__head .ui-modal__close");p&&(p.onclick=function(){c.close(null)});var S=window.event;addEventListener("keydown",v),m.length||(H=document.body.style.overflow),m.push(c);var O=document.body;try{for(var k=document.querySelectorAll("dialog[open]"),y=k.length-1;y>=0;y--)if(k[y].matches(":modal")){O=k[y];break}}catch{}return O.append(i),document.body.style.overflow="hidden",setTimeout(function(){(u.querySelector("[autofocus]")||u).focus()},0),c}function we(e,t){t=t||{};var r=document.querySelector(".gemboss-toast-viewport"),n=!r;r||(r=document.createElement("div"),r.className="gemboss-toast-viewport",r.setAttribute("role","status"),r.setAttribute("aria-live","polite"),document.body.append(r));var a=document.createElement("div");a.className="gemboss-toast"+(t.error?" is-error":""),t.error&&a.setAttribute("role","alert");var i=document.createElement("span");i.className="gemboss-toast-text",i.textContent=String(e),a.append(i);var l=t.duration===0;if(l){var u=document.createElement("button");u.type="button",u.className="gemboss-toast-dismiss",u.setAttribute("aria-label",t.dismissLabel||"Dismiss"),u.innerHTML=X,u.onclick=function(){a.remove()},a.append(u)}n&&(r.dataset.readyAt=String(Date.now()+50));var s=Math.max(0,Number(r.dataset.readyAt||0)-Date.now()),c=function(){r.append(a)};return s||r._gbQueue?((r._gbQueue=r._gbQueue||[]).push(c),r._gbFlush||(r._gbFlush=setTimeout(function(){var f=r._gbQueue;r._gbQueue=null,r._gbFlush=null,f.forEach(function(v){v()})},s))):c(),l||setTimeout(function(){a.remove()},s+(t.duration||(t.error?6e3:3500))),a}var G=!1,qe="details.ui-menu, details.gb-account",Ce=".ui-menu__item, .gemboss-account-menu-item";function F(e){document.querySelectorAll("details.ui-menu[open], details.gb-account[open]").forEach(function(t){t!==e&&(t.open=!1)})}function Me(){G||(G=!0,document.addEventListener("click",function(e){var t=e.target.closest&&e.target.closest(qe);F(t),t&&e.target.closest(Ce)&&(t.open=!1)}),addEventListener("blur",function(){F()}),addEventListener("keydown",function(e){var t=e.key==="Escape"&&!e.isComposing&&document.querySelector("details.ui-menu[open], details.gb-account[open]");if(t){e.preventDefault(),e.stopImmediatePropagation(),t.open=!1;var r=t.querySelector("summary");r&&r.focus()}},!0))}var J=!1,Y=typeof HTMLElement<"u"&&Object.prototype.hasOwnProperty.call(HTMLElement.prototype,"popover");function R(e){return{list:e.querySelector(":scope > .ui-menu__list"),button:e.querySelector(":scope > summary")}}function j(e,t,r){e.style.maxHeight="",e.style.left="0px",e.style.top="0px";var n=t.getBoundingClientRect(),a=document.documentElement.clientWidth,i=g.innerHeight,l=e.offsetWidth,u=e.offsetHeight,s=i-n.bottom-4-8,c=n.top-4-8,f;u<=s||s>=c?(f=n.bottom+4,u>s&&(e.style.maxHeight=Math.max(s,0)+"px"),e.setAttribute("data-side","bottom")):(u>c&&(e.style.maxHeight=Math.max(c,0)+"px"),f=n.top-4-Math.min(u,c),e.setAttribute("data-side","top"));var v=r?n.right-l:n.left;v=Math.max(8,Math.min(v,a-l-8)),e.style.left=Math.round(v)+"px",e.style.top=Math.round(f)+"px"}function B(e){var t=R(e),r=t.list,n=t.button;!r||!n||!e.open||!Y||(r.getAttribute("popover")!=="manual"&&r.setAttribute("popover","manual"),r.matches(":popover-open")||r.showPopover(),j(r,n,e.classList.contains("ui-menu--end")))}function Te(e){var t=R(e).list;t&&t.hasAttribute("popover")&&t.matches(":popover-open")&&t.hidePopover()}function Z(e){e&&e.closest&&e.closest(".ui-menu__list")||document.querySelectorAll("details.ui-menu[open]").forEach(function(t){var r=R(t).list;!r||!r.matches(":popover-open")||(!e||e.nodeType===9||e.contains&&e.contains(t))&&(t.open=!1)})}function ee(){J||!Y||typeof document>"u"||(J=!0,document.documentElement.setAttribute("data-gb-menus","float"),document.querySelectorAll("details.ui-menu[open]").forEach(B),document.addEventListener("toggle",function(e){var t=e.target;!t||!t.matches||!t.matches("details.ui-menu")||(t.open?B(t):Te(t))},!0),document.addEventListener("scroll",function(e){Z(e.target)},!0),addEventListener("resize",function(){Z(null)}))}ee();function Ne(e){e=e||{};var t=e.tone==="critical";return new Promise(function(r){var n=z({title:E(e.title||""),label:e.title?"":e.label||"Confirm",closeLabel:e.closeLabel||e.cancelLabel,body:e.body?'<div class="ui-modal__body">'+E(e.body)+"</div>":"",foot:'<button type="button" class="ui-btn" data-gb-confirm="0"'+(t?" autofocus":"")+">"+E(e.cancelLabel||"Cancel")+'</button><button type="button" class="ui-btn ui-btn--primary'+(t?" ui-btn--critical":"")+'" data-gb-confirm="1"'+(t?"":" autofocus")+">"+E(e.confirmLabel||"OK")+"</button>",onClose:function(a){r(a===!0)}});n.panel.querySelectorAll("[data-gb-confirm]").forEach(function(a){a.onclick=function(){n.close(a.getAttribute("data-gb-confirm")==="1")}})})}var te=!1;function Oe(){if(!te){te=!0;var e=function(){return document.querySelector(".gemboss-platform-shell")},t=function(n){var a=e();if(a){a.classList.toggle("is-mobile-nav-open",n);var i=a.querySelector(".gemboss-mobile-nav-backdrop");i&&(i.tabIndex=n?0:-1);var l=a.querySelector(".gemboss-mobile-menu-btn");if(l){var u=a.querySelector(".icon-nav[id]");u&&!l.hasAttribute("aria-controls")&&l.setAttribute("aria-controls",u.id),l.setAttribute("aria-expanded",String(n));var s=l.getAttribute(n?"data-label-close":"data-label-open");s&&l.setAttribute("aria-label",s)}}},r=function(){var n=e();return!!n&&n.classList.contains("is-mobile-nav-open")};document.addEventListener("click",function(n){var a=n.target;a.closest&&(a.closest(".gemboss-mobile-menu-btn")?t(!r()):(a.closest(".gemboss-mobile-nav-backdrop")||a.closest(".icon-nav .gnav-item, .icon-nav .gnav-subitem"))&&t(!1))}),addEventListener("keydown",function(n){n.key==="Escape"&&!n.isComposing&&n.keyCode!==229&&r()&&!m.length&&t(!1)}),addEventListener("gemboss:assistant-docked",function(){t(!1)}),t(r())}}var re=!1,ne="M3 17 17 3";function ae(e){return document.getElementById(e.getAttribute("aria-controls")||"")||e.parentNode&&e.parentNode.querySelector("input")}function ie(e,t){var r=ae(e);if(r){r.type=t?"text":"password";var n=t?e.getAttribute("data-label-hide")||"Hide password":e.getAttribute("data-label-show")||"Show password";e.setAttribute("aria-label",n),e.setAttribute("title",n);var a=e.querySelector("svg"),i=a&&a.querySelector('path[d="'+ne+'"]');if(a&&t&&!i){var l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",ne),a.append(l)}i&&!t&&i.remove()}}function De(){re||(re=!0,document.addEventListener("click",function(e){var t=e.target.closest&&e.target.closest(".gb-auth-pw-toggle"),r=t&&ae(t);r&&ie(t,r.type==="password")}))}function Pe(){document.querySelectorAll(".gb-auth-pw-toggle").forEach(function(e){ie(e,!1)})}var oe=!1;function Ke(){oe||(oe=!0,document.addEventListener("keydown",function(e){var t=document.querySelector(".gemboss-topbar-search-input");if(t){var r=e.target,n=r&&(r.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(r.tagName));(e.key==="k"||e.key==="K")&&(e.metaKey||e.ctrlKey)&&!e.altKey?(e.preventDefault(),t.focus(),t.select()):e.key==="/"&&!n&&!e.metaKey&&!e.ctrlKey&&!e.altKey?(e.preventDefault(),t.focus()):e.key==="Escape"&&r===t&&t.blur()}}))}var He=120,Fe=15e3,Re=typeof HTMLScriptElement<"u"&&!!HTMLScriptElement.supports&&HTMLScriptElement.supports("speculationrules"),le=!1,I=0,ue=0,D=null,ce={},se=!1;function L(e){var t=e&&e.closest?e.closest("a[href]"):null;if(!t||!(t.matches(".gnav-item, .gnav-subitem")||t.hasAttribute("data-gb-pending"))||t.getAttribute("data-gb-nav")==="next"||t.closest('[data-gb-nav="off"]')||t.target&&t.target!=="_self"||t.hasAttribute("download"))return null;var r;try{r=new URL(t.href,location.href)}catch{return null}return r.origin!==location.origin||!/^https?:$/.test(r.protocol)||r.pathname===location.pathname&&r.search===location.search&&(r.hash||(t.getAttribute("href")||"").indexOf("#")>-1)?null:t}function w(){clearTimeout(ue),document.querySelectorAll("[data-gb-busy]").forEach(function(e){e.removeAttribute("data-gb-busy"),e.removeAttribute("aria-busy");var t=e.querySelector(":scope > .gb-pending-mark");t&&t.remove()})}function Be(e){if(w(),e.setAttribute("data-gb-busy",""),e.setAttribute("aria-busy","true"),e.hasAttribute("data-gb-pending")){var t=document.createElement("span");t.className="gb-pending-mark",t.setAttribute("role","status"),t.innerHTML='<span class="ui-sr-only">'+E(e.getAttribute("data-gb-pending-label")||"Loading")+"</span>",e.appendChild(t)}ue=setTimeout(w,Fe)}function de(e){if(!(se||g.next||g.__next_f||g.__NEXT_DATA__||e.closest('[data-gb-prefetch="off"]'))){var t=navigator.connection;if(!(t&&t.saveData)){var r=new URL(e.href,location.href);r.hash="";var n=r.href;if(!(ce[n]||r.pathname===location.pathname&&r.search===location.search)){ce[n]=!0;var a;Re?(a=document.createElement("script"),a.type="speculationrules",a.textContent=JSON.stringify({prefetch:[{source:"list",urls:[n]}]})):(a=document.createElement("link"),a.rel="prefetch",a.href=n),a.setAttribute("data-gb-prefetched",""),document.head.appendChild(a)}}}}function fe(){if(!(le||typeof document>"u")){le=!0,addEventListener("click",function(r){if(!(r.button!==0||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey)){var n=L(r.target);if(n){if(r.defaultPrevented){se=!0;return}Be(n)}}});var e=function(r){r!==D&&(clearTimeout(I),D=r,r&&(I=setTimeout(function(){D===r&&de(r)},He)))},t=null;document.addEventListener("mousedown",function(r){t=L(r.target),t&&t===D&&clearTimeout(I)}),document.addEventListener("mouseover",function(r){e(L(r.target))}),document.addEventListener("focusin",function(r){var n=L(r.target);n&&n===t||e(n)}),document.addEventListener("touchstart",function(r){var n=L(r.target);n&&de(n)},{passive:!0}),addEventListener("pageshow",w),addEventListener("keydown",function(r){r.key==="Escape"&&w()}),g.navigation&&g.navigation.addEventListener&&g.navigation.addEventListener("navigateerror",w)}}fe();var Ie='a[href], button, input, select, textarea, label, summary, details, dialog, [role="dialog"], [role="menu"], [role="button"], [role="menuitem"], [role="checkbox"], [contenteditable="true"], [contenteditable=""], [data-row-ignore], .ui-table__check',be='details[open], dialog[open], [role="dialog"], [role="menu"]';function Ue(e,t){return t&&t.closest&&t.closest(be)?!0:Array.prototype.some.call(e.querySelectorAll(be),function(r){return r.getClientRects().length>0})}var ve=!1,q=null,U=".ui-index, .ui-resource";function Ve(e){for(var t=e.getAttribute("data-href"),r=e.querySelectorAll("a[href]"),n=0;n<r.length;n++)if(r[n].getAttribute("href")===t)return r[n];return null}function me(e){if(!(e.defaultPrevented||e.button>1||!e.target.closest)){var t=e.target.closest("[data-href]");if(t){var r=e.target.closest(Ie);if(!(r&&t.contains(r))){var n=g.getSelection?g.getSelection():null;if(!(n&&!n.isCollapsed&&n.anchorNode&&t.contains(n.anchorNode))){var a=Ve(t),i=a?a.href:new URL(t.getAttribute("data-href"),location.href).href;if(e.metaKey||e.ctrlKey||e.shiftKey||e.button===1){g.open(i,"_blank","noopener");return}a?a.click():location.assign(i)}}}}}function pe(e){var t=[];return e.querySelectorAll("input[data-gb-select]").forEach(function(r){r.checked&&t.push(r.value)}),t}function C(e){var t=e.querySelectorAll("input[data-gb-select]"),r=0;t.forEach(function(i){var l=i.closest("tr, .ui-list__item, [data-href]");i.checked&&r++,l&&(l.classList.toggle("is-selected",i.checked),l.matches(".ui-list__item")||l.setAttribute("aria-selected",i.checked?"true":"false"))}),e.querySelectorAll("input[data-gb-select-all]").forEach(function(i){i.checked=r>0&&r===t.length,i.indeterminate=r>0&&r<t.length});var n=e.querySelector(".ui-bulkbar");n&&e.matches(".ui-resource")?n.querySelectorAll(".ui-bulkbar__actions button").forEach(function(i){i.disabled=r===0}):n&&(n.hidden=r===0);var a=e.querySelector("[data-gb-count]");a&&(a.textContent=(a.getAttribute("data-gb-count")||"{n} selected").replace("{n}",r)),e.dispatchEvent(new CustomEvent("gb:selection",{bubbles:!0,detail:{ids:pe(e),total:t.length}}))}function ge(e){e.querySelectorAll("input[data-gb-select]").forEach(function(t){t.checked=!1}),C(e)}function he(e){if(!e)return"";var t=e.getAttribute("data-sort-value");return t??e.textContent.trim()}function We(e){var t=e.closest("th"),r=e.closest("table");if(!(!t||!r)){var n=t.getAttribute("aria-sort")==="ascending"?"descending":"ascending";if(r.querySelectorAll("thead th[aria-sort]").forEach(function(c){c!==t&&c.setAttribute("aria-sort","none")}),t.setAttribute("aria-sort",n),r.getAttribute("data-gb-sort")!=="client"){r.dispatchEvent(new CustomEvent("gb:sort",{bubbles:!0,detail:{key:t.getAttribute("data-key"),direction:n}}));return}var a=Array.prototype.indexOf.call(t.parentElement.children,t),i=r.tBodies[0];if(i){var l=Array.prototype.slice.call(i.rows),u=n==="ascending"?1:-1,s=function(c){var f=String(c).replace(/[\s,%$€£¥]/g,"");return f!==""&&!isNaN(+f)?+f:null};l.sort(function(c,f){var v=he(c.cells[a]),h=he(f.cells[a]),p=s(v),S=s(h);return u*(p!=null&&S!=null?p-S:String(v).localeCompare(String(h),void 0,{numeric:!0,sensitivity:"base"}))}),l.forEach(function(c){i.appendChild(c)})}}}function Qe(e){return Array.prototype.slice.call(e.querySelectorAll(":scope > .ui-board__col[data-col]"))}function M(e){return Array.prototype.slice.call(e.querySelectorAll("li[data-id]")).filter(function(t){return t.closest(".ui-board__col")===e})}function V(e){var t=e.getAttribute("data-name")||(e.querySelector(".ui-card__link, h2, h3, h4")||e).textContent||"";return t.trim().replace(/\s+/g," ").slice(0,80)||"Card"}function P(e){var t=e.querySelector(".ui-board__name");return(t&&t.textContent||e.getAttribute("data-col")||"").trim()}function _(e,t){var r=e.querySelector(":scope > [data-gb-live]");r||(r=document.createElement("div"),r.className="ui-sr-only",r.setAttribute("aria-live","assertive"),r.setAttribute("data-gb-live",""),e.appendChild(r)),r.textContent="",setTimeout(function(){r.textContent=t},30)}function ye(e,t){var r=e.querySelector(".ui-board__count"),n=r?parseInt(r.textContent,10):NaN;r&&String(n)===r.textContent.trim()&&(r.textContent=String(n+t))}function $e(e,t,r,n){var a=t.closest(".ui-board__col"),i=M(r).filter(function(f){return f!==t});if(n<i.length)i[n].parentNode.insertBefore(t,i[n]);else if(i.length){var l=i[i.length-1];l.parentNode.insertBefore(t,l.nextSibling)}else{var u=r.querySelector("ol.ui-board__list");if(!u){u=document.createElement("ol"),u.className="ui-board__list";var s=r.querySelector(":scope > .ui-board__empty");s?s.replaceWith(u):r.querySelector(".ui-board__head").after(u)}u.appendChild(t)}if(a!==r&&(ye(a,-1),ye(r,1),!M(a).length&&!a.querySelector(".ui-board__next a[data-gb-more]"))){var c=document.createElement("p");c.className="ui-board__empty",c.textContent=e.getAttribute("data-empty-label")||"Nothing here",a.querySelectorAll(":scope > ol.ui-board__list, :scope > details.ui-board__more").forEach(function(f){f.remove()}),a.querySelector(".ui-board__head").after(c)}}var o=null;function T(e){return M(e).filter(function(t){return!o||t!==o.li})}function W(e){e.querySelectorAll("[data-gb-drop]").forEach(function(t){t.removeAttribute("data-gb-drop")}),e.querySelectorAll("[data-gb-over]").forEach(function(t){t.removeAttribute("data-gb-over")})}function Q(){if(o){W(o.b),o.to.setAttribute("data-gb-over","");var e=T(o.to),t=o.index<e.length?e[o.index]:e[e.length-1];if(t){t.setAttribute("data-gb-drop",o.index<e.length?"before":"after");var r=t.closest("details:not([open])");r&&o.b.contains(r)&&(r.open=!0),o.keys&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"nearest"})}}}function K(){return o?P(o.to)+", position "+(o.index+1)+" of "+(T(o.to).length+1):""}function $(){o&&(o.li.removeAttribute("data-gb-lifted"),o.b.removeAttribute("data-gb-dragging"),W(o.b),o=null)}function Ae(e,t,r){var n=t.closest(".ui-board__col");if(!(!n||!t.getAttribute("data-id"))){var a=M(n).indexOf(t);o={b:e,li:t,id:t.getAttribute("data-id"),from:n,to:n,index:a,origin:a,keys:r},t.setAttribute("data-gb-lifted",r?"key":"drag"),r&&(Q(),_(e,"Picked up "+V(t)+". "+K()+". Arrow keys move it, Space drops it, Escape cancels."))}}function Ee(){if(o){var e=o,t=V(e.li),r=e.to===e.from&&e.index===e.origin,n=K();if($(),r){_(e.b,t+" dropped where it was, in "+P(e.from)+".");return}var a=new CustomEvent("gb:move",{bubbles:!0,cancelable:!0,detail:{id:e.id,from:e.from.getAttribute("data-col"),to:e.to.getAttribute("data-col"),index:e.index}}),i=e.b.dispatchEvent(a);if(i&&$e(e.b,e.li,e.to,e.index),_(e.b,"Moved "+t+" to "+n+"."),e.keys){var l=10,u=function(){var s=Array.prototype.slice.call(e.b.querySelectorAll("li[data-id]")).filter(function(c){return c.getAttribute("data-id")===e.id})[0];s&&document.activeElement!==s?s.focus():!s&&l-- >0&&requestAnimationFrame(u)};requestAnimationFrame(u)}}}function N(e){if(o){var t=o;$(),t.keys&&_(t.b,(e||"")+V(t.li)+" stays in "+P(t.from)+".")}}function _e(e){var t=e&&e.closest?e.closest(".ui-board[data-gb-move]"):null;return t}function Xe(e){var t=_e(e.target),r=t&&e.target.closest("li[data-id]");if(!(!r||!t.contains(r)||t.__gbMoveOn)){if(!o){(e.key===" "||e.key==="Spacebar")&&e.target===r&&(e.preventDefault(),Ae(t,r,!0));return}if(!(o.li!==r||!o.keys)){var n=Qe(t);if(e.key==="ArrowUp"||e.key==="ArrowDown")e.preventDefault(),o.index=Math.max(0,Math.min(T(o.to).length,o.index+(e.key==="ArrowUp"?-1:1)));else if(e.key==="ArrowLeft"||e.key==="ArrowRight"){e.preventDefault();var a=n.indexOf(o.to)+(e.key==="ArrowLeft"?-1:1);if(a<0||a>=n.length){_(t,K()+". No column further "+(e.key==="ArrowLeft"?"left":"right")+".");return}o.to=n[a],o.index=Math.min(o.index,T(o.to).length)}else if(e.key===" "||e.key==="Spacebar"||e.key==="Enter"){e.preventDefault(),Ee();return}else if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),N("Move cancelled. ");return}else if(e.key==="Tab"){N("Move cancelled. ");return}else return;Q(),_(t,K())}}}function ze(e){var t=e.closest(".ui-board__col"),r=e.closest(".ui-board"),n=e.closest(".ui-board__next")||e.parentNode;if(!(!t||!r||n.getAttribute("aria-busy")==="true")){var a=t.getAttribute("data-col"),i=e.href;n.setAttribute("aria-busy","true"),n.innerHTML='<span class="ui-spinner" aria-hidden="true"></span><span role="status">Loading\u2026</span>',fetch(i,{headers:{Accept:"text/html"},credentials:"same-origin"}).then(function(l){if(!l.ok)throw new Error(String(l.status));return l.text()}).then(function(l){var u=new DOMParser().parseFromString(l,"text/html"),s=r.id?u.getElementById(r.id):u,c=Array.prototype.slice.call((s||u).querySelectorAll(".ui-board__col[data-col]")).filter(function(b){return b.getAttribute("data-col")===a})[0];if(!c)throw new Error("no column "+a);var f={};r.querySelectorAll("li[data-id]").forEach(function(b){f[b.getAttribute("data-id")]=1});var v=t.querySelector(":scope > ol.ui-board__list");if(!v){v=document.createElement("ol"),v.className="ui-board__list";var h=t.querySelector(":scope > .ui-board__empty");h?h.replaceWith(v):n.before(v)}var p=M(c).filter(function(b){return!f[b.getAttribute("data-id")]}).map(function(b){var A=document.importNode(b,!0);return v.appendChild(A),A}),S=c.querySelector(".ui-board__count"),O=t.querySelector(".ui-board__count");S&&O&&(O.textContent=S.textContent);var k=c.querySelector(".ui-board__next");k&&k.querySelector("a[data-gb-more]")?(n.innerHTML=k.innerHTML,n.removeAttribute("aria-busy")):n.remove();try{history.replaceState(history.state,"",i)}catch{}_(r,p.length+" more "+(p.length===1?"card":"cards")+" in "+P(t)+".");var y=p[0];if(y){var d=y.matches("[tabindex]")?y:y.querySelector("a[href], button, [tabindex]");d&&d.focus({preventScroll:!1})}}).catch(function(){n.removeAttribute("aria-busy"),n.innerHTML=`<span role="alert" class="ui-more__error">Couldn't load.</span>`;var l=document.createElement("a");l.className="ui-btn ui-btn--sm",l.href=i,l.setAttribute("data-gb-more",""),l.textContent="Try again",n.appendChild(l),l.focus()})}}function Se(){if(!(ve||typeof document>"u")){ve=!0,document.addEventListener("keydown",Xe),document.addEventListener("focusout",function(t){o&&o.keys&&t.target===o.li&&!o.li.contains(t.relatedTarget)&&N("Move cancelled. ")}),document.addEventListener("dragstart",function(t){var r=_e(t.target),n=r&&t.target.closest("li[data-id]");!n||!r.contains(n)||r.__gbMoveOn||!t.dataTransfer||(o&&$(),Ae(r,n,!1),t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",n.getAttribute("data-id")||""),requestAnimationFrame(function(){o&&r.setAttribute("data-gb-dragging","")}))});var e=function(t){var r=t.target.closest?t.target.closest(".ui-board__col[data-col]"):null;if(!r||!o||!o.b.contains(r))return null;for(var n=T(r),a=n.length,i=0;i<n.length;i++){var l=n[i].getBoundingClientRect();if(l.height){if(t.clientY<l.top+l.height/2){a=i;break}a=i+1}}return{col:r,index:a}};document.addEventListener("dragover",function(t){if(!(!o||o.keys)){var r=e(t);r&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move"),(r.col!==o.to||r.index!==o.index||!o.b.querySelector("[data-gb-over]"))&&(o.to=r.col,o.index=r.index,Q()))}}),document.addEventListener("dragleave",function(t){o&&!o.keys&&!o.b.contains(t.relatedTarget)&&W(o.b)}),document.addEventListener("drop",function(t){if(!(!o||o.keys)){t.preventDefault();var r=e(t);if(!r){N();return}o.to=r.col,o.index=r.index,Ee()}}),document.addEventListener("dragend",function(){o&&!o.keys&&N()}),document.addEventListener("click",function(t){var r=t.target;if(!(!r||!r.closest)){var n=r.closest(".ui-board a[data-gb-more][href]");if(n){!t.defaultPrevented&&t.button===0&&!t.metaKey&&!t.ctrlKey&&!t.shiftKey&&!t.altKey&&typeof fetch=="function"&&(t.preventDefault(),ze(n));return}var a=r.closest("table[data-gb-sort] button.ui-table__sort");if(a){We(a);return}var i=r.closest("td.ui-table__check, th.ui-table__check");if(i&&r===i){var l=i.querySelector("input[data-gb-select], input[data-gb-select-all]");if(l){l.click();return}}var u=r.closest("input[data-gb-select]");if(u){var s=u.closest(U);if(s&&t.shiftKey&&q&&q!==u&&s.contains(q)){for(var c=Array.prototype.slice.call(s.querySelectorAll("input[data-gb-select]")),f=c.indexOf(q),v=c.indexOf(u),h=u.checked,p=Math.min(f,v);p<=Math.max(f,v);p++)c[p].checked=h;C(s)}q=u;return}me(t)}}),document.addEventListener("auxclick",function(t){t.button===1&&me(t)}),document.addEventListener("change",function(t){var r=t.target;if(!(!r||!r.matches)){var n=r.closest(U);n&&(r.matches("input[data-gb-select-all]")?(n.querySelectorAll("input[data-gb-select]").forEach(function(a){a.checked=r.checked}),C(n)):r.matches("input[data-gb-select]")&&C(n))}}),document.addEventListener("keydown",function(t){if(!(t.key!=="Escape"||t.defaultPrevented||m.length)){var r=document.activeElement&&document.activeElement.closest?document.activeElement.closest(U):null;r&&Ue(r,document.activeElement)||r&&r.querySelector("input[data-gb-select]:checked")&&ge(r)}})}}Se(),g.gembossUI={openModal:z,toast:we,confirm:Ne,initMenus:Me,closeMenus:F,initSearch:Ke,initShell:Oe,initPasswordFields:De,resetPasswordFields:Pe,initNav:fe,openModals:function(){return m.length},initCollections:Se,selection:pe,clearSelection:ge,syncSelection:C,initMenuLayer:ee,floatMenu:B,placeFloating:j}})(globalThis);
|
|
1
|
+
(function(g){"use strict";if(g.gembossUI)return;var X='<svg viewBox="0 0 20 20" aria-hidden="true" focusable="false"><path d="M5 5l10 10M15 5L5 15" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" fill="none"/></svg>',xe='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), summary, iframe, [tabindex]:not([tabindex="-1"])',Le=function(e){return Array.prototype.slice.call(e.querySelectorAll(xe)).filter(function(t){return t.checkVisibility?t.checkVisibility({visibilityProperty:!0}):t.getClientRects().length>0})},E=function(e){return String(e).replace(/[&<>"']/g,function(t){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[t]})},m=[],we=0,H=null;function z(e){var t=e.title||"",r=e.label||"",n=e.closeLabel||"Close",a=document.activeElement,i=document.createElement("div");i.className="ui-overlay"+(e.overlayClass?" "+e.overlayClass:""),i.setAttribute("role","presentation");var l="gb-modal-title-"+ ++we;i.innerHTML='<div class="ui-modal'+(e.className?" "+e.className:"")+'" role="dialog" aria-modal="true" '+(t?'aria-labelledby="'+l+'"':'aria-label="'+E(r)+'"')+' tabindex="-1">'+(t?'<div class="ui-modal__head"><div class="ui-modal__title" id="'+l+'">'+t+'</div><button type="button" class="ui-modal__close" aria-label="'+E(n)+'">'+X+"</button></div>":"")+(e.body||"")+(e.foot?'<div class="ui-modal__foot">'+e.foot+"</div>":"")+"</div>";var u=i.firstChild,s=!1,c={panel:u,overlay:i,close:function(d,b){var A=b&&b.force;return m.indexOf(c)<0?Promise.resolve():!A&&e.beforeClose?s?Promise.resolve():(s=!0,Promise.resolve().then(function(){return e.beforeClose(d)}).catch(function(x){return console.error(x),!1}).then(function(x){s=!1,x&&m.indexOf(c)>=0&&f(d)})):(f(d),Promise.resolve())}};function f(d){m.splice(m.indexOf(c),1),removeEventListener("keydown",v),i.remove();var b=m[m.length-1];b||(document.body.style.overflow=H||"",H=null),a&&a.isConnected&&a.focus&&(!b||b.panel.contains(a))?a.focus():b&&b.panel.focus(),e.onClose&&e.onClose(d)}function v(d){if(!(d===S||m[m.length-1]!==c)){if(d.key==="Escape"){if(d.isComposing||d.keyCode===229)return;d.preventDefault(),c.close(null);return}if(d.key==="Tab"){var b=Le(u);if(b.length){var A=b[0],x=b[b.length-1];u.contains(document.activeElement)?!d.shiftKey&&document.activeElement===x?(d.preventDefault(),A.focus()):d.shiftKey&&document.activeElement===A&&(d.preventDefault(),x.focus()):(d.preventDefault(),A.focus())}}}}var h=!1;i.addEventListener("mousedown",function(d){h=d.target===i}),i.addEventListener("click",function(d){d.target===i&&h&&c.close(null),h=!1});var p=u.querySelector(".ui-modal__head .ui-modal__close");p&&(p.onclick=function(){c.close(null)});var S=window.event;addEventListener("keydown",v),m.length||(H=document.body.style.overflow),m.push(c);var O=document.body;try{for(var k=document.querySelectorAll("dialog[open]"),y=k.length-1;y>=0;y--)if(k[y].matches(":modal")){O=k[y];break}}catch{}return O.append(i),document.body.style.overflow="hidden",setTimeout(function(){(u.querySelector("[autofocus]")||u).focus()},0),c}function qe(e,t){t=t||{};var r=document.querySelector(".gemboss-toast-viewport"),n=!r;r||(r=document.createElement("div"),r.className="gemboss-toast-viewport",r.setAttribute("role","status"),r.setAttribute("aria-live","polite"),document.body.append(r));var a=document.createElement("div");a.className="gemboss-toast"+(t.error?" is-error":""),t.error&&a.setAttribute("role","alert");var i=document.createElement("span");i.className="gemboss-toast-text",i.textContent=String(e),a.append(i);var l=t.duration===0;if(l){var u=document.createElement("button");u.type="button",u.className="gemboss-toast-dismiss",u.setAttribute("aria-label",t.dismissLabel||"Dismiss"),u.innerHTML=X,u.onclick=function(){a.remove()},a.append(u)}n&&(r.dataset.readyAt=String(Date.now()+50));var s=Math.max(0,Number(r.dataset.readyAt||0)-Date.now()),c=function(){r.append(a)};return s||r._gbQueue?((r._gbQueue=r._gbQueue||[]).push(c),r._gbFlush||(r._gbFlush=setTimeout(function(){var f=r._gbQueue;r._gbQueue=null,r._gbFlush=null,f.forEach(function(v){v()})},s))):c(),l||setTimeout(function(){a.remove()},s+(t.duration||(t.error?6e3:3500))),a}var G=!1,Ce="details.ui-menu, details.gb-account",Me=".ui-menu__item, .gemboss-account-menu-item";function F(e){document.querySelectorAll("details.ui-menu[open], details.gb-account[open]").forEach(function(t){t!==e&&(t.open=!1)})}function Te(){G||(G=!0,document.addEventListener("click",function(e){var t=e.target.closest&&e.target.closest(Ce);F(t),t&&e.target.closest(Me)&&(t.open=!1)}),addEventListener("blur",function(){F()}),addEventListener("keydown",function(e){var t=e.key==="Escape"&&!e.isComposing&&document.querySelector("details.ui-menu[open], details.gb-account[open]");if(t){e.preventDefault(),e.stopImmediatePropagation(),t.open=!1;var r=t.querySelector("summary");r&&r.focus()}},!0))}var J=!1,Y=typeof HTMLElement<"u"&&Object.prototype.hasOwnProperty.call(HTMLElement.prototype,"popover");function R(e){return{list:e.querySelector(":scope > .ui-menu__list"),button:e.querySelector(":scope > summary")}}function j(e,t,r){e.style.maxHeight="",e.style.left="0px",e.style.top="0px";var n=t.getBoundingClientRect(),a=document.documentElement.clientWidth,i=g.innerHeight,l=e.offsetWidth,u=e.offsetHeight,s=i-n.bottom-4-8,c=n.top-4-8,f;u<=s||s>=c?(f=n.bottom+4,u>s&&(e.style.maxHeight=Math.max(s,0)+"px"),e.setAttribute("data-side","bottom")):(u>c&&(e.style.maxHeight=Math.max(c,0)+"px"),f=n.top-4-Math.min(u,c),e.setAttribute("data-side","top"));var v=r?n.right-l:n.left;v=Math.max(8,Math.min(v,a-l-8)),e.style.left=Math.round(v)+"px",e.style.top=Math.round(f)+"px"}function B(e){var t=R(e),r=t.list,n=t.button;!r||!n||!e.open||!Y||(r.getAttribute("popover")!=="manual"&&r.setAttribute("popover","manual"),r.matches(":popover-open")||r.showPopover(),j(r,n,e.classList.contains("ui-menu--end")))}function Ne(e){var t=R(e).list;t&&t.hasAttribute("popover")&&t.matches(":popover-open")&&t.hidePopover()}function Z(e){e&&e.closest&&e.closest(".ui-menu__list")||document.querySelectorAll("details.ui-menu[open]").forEach(function(t){var r=R(t).list;!r||!r.matches(":popover-open")||(!e||e.nodeType===9||e.contains&&e.contains(t))&&(t.open=!1)})}function ee(){var e=document.documentElement;e.getAttribute("data-gb-menus")!=="float"&&e.setAttribute("data-gb-menus","float")}function te(){J||!Y||typeof document>"u"||(J=!0,addEventListener("click",function(e){var t=e.target;t&&t.closest&&t.closest("details.ui-menu > summary")&&ee()},!0),document.querySelectorAll("details.ui-menu[open]").forEach(B),document.addEventListener("toggle",function(e){var t=e.target;!t||!t.matches||!t.matches("details.ui-menu")||(t.open?(ee(),B(t)):Ne(t))},!0),document.addEventListener("scroll",function(e){Z(e.target)},!0),addEventListener("resize",function(){Z(null)}))}te();function Oe(e){e=e||{};var t=e.tone==="critical";return new Promise(function(r){var n=z({title:E(e.title||""),label:e.title?"":e.label||"Confirm",closeLabel:e.closeLabel||e.cancelLabel,body:e.body?'<div class="ui-modal__body">'+E(e.body)+"</div>":"",foot:'<button type="button" class="ui-btn" data-gb-confirm="0"'+(t?" autofocus":"")+">"+E(e.cancelLabel||"Cancel")+'</button><button type="button" class="ui-btn ui-btn--primary'+(t?" ui-btn--critical":"")+'" data-gb-confirm="1"'+(t?"":" autofocus")+">"+E(e.confirmLabel||"OK")+"</button>",onClose:function(a){r(a===!0)}});n.panel.querySelectorAll("[data-gb-confirm]").forEach(function(a){a.onclick=function(){n.close(a.getAttribute("data-gb-confirm")==="1")}})})}var re=!1;function De(){if(!re){re=!0;var e=function(){return document.querySelector(".gemboss-platform-shell")},t=function(n){var a=e();if(a){a.classList.toggle("is-mobile-nav-open",n);var i=a.querySelector(".gemboss-mobile-nav-backdrop");i&&(i.tabIndex=n?0:-1);var l=a.querySelector(".gemboss-mobile-menu-btn");if(l){var u=a.querySelector(".icon-nav[id]");u&&!l.hasAttribute("aria-controls")&&l.setAttribute("aria-controls",u.id),l.setAttribute("aria-expanded",String(n));var s=l.getAttribute(n?"data-label-close":"data-label-open");s&&l.setAttribute("aria-label",s)}}},r=function(){var n=e();return!!n&&n.classList.contains("is-mobile-nav-open")};document.addEventListener("click",function(n){var a=n.target;a.closest&&(a.closest(".gemboss-mobile-menu-btn")?t(!r()):(a.closest(".gemboss-mobile-nav-backdrop")||a.closest(".icon-nav .gnav-item, .icon-nav .gnav-subitem"))&&t(!1))}),addEventListener("keydown",function(n){n.key==="Escape"&&!n.isComposing&&n.keyCode!==229&&r()&&!m.length&&t(!1)}),addEventListener("gemboss:assistant-docked",function(){t(!1)}),t(r())}}var ne=!1,ae="M3 17 17 3";function ie(e){return document.getElementById(e.getAttribute("aria-controls")||"")||e.parentNode&&e.parentNode.querySelector("input")}function oe(e,t){var r=ie(e);if(r){r.type=t?"text":"password";var n=t?e.getAttribute("data-label-hide")||"Hide password":e.getAttribute("data-label-show")||"Show password";e.setAttribute("aria-label",n),e.setAttribute("title",n);var a=e.querySelector("svg"),i=a&&a.querySelector('path[d="'+ae+'"]');if(a&&t&&!i){var l=document.createElementNS("http://www.w3.org/2000/svg","path");l.setAttribute("d",ae),a.append(l)}i&&!t&&i.remove()}}function Pe(){ne||(ne=!0,document.addEventListener("click",function(e){var t=e.target.closest&&e.target.closest(".gb-auth-pw-toggle"),r=t&&ie(t);r&&oe(t,r.type==="password")}))}function Ke(){document.querySelectorAll(".gb-auth-pw-toggle").forEach(function(e){oe(e,!1)})}var le=!1;function He(){le||(le=!0,document.addEventListener("keydown",function(e){var t=document.querySelector(".gemboss-topbar-search-input");if(t){var r=e.target,n=r&&(r.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(r.tagName));(e.key==="k"||e.key==="K")&&(e.metaKey||e.ctrlKey)&&!e.altKey?(e.preventDefault(),t.focus(),t.select()):e.key==="/"&&!n&&!e.metaKey&&!e.ctrlKey&&!e.altKey?(e.preventDefault(),t.focus()):e.key==="Escape"&&r===t&&t.blur()}}))}var Fe=120,Re=15e3,Be=typeof HTMLScriptElement<"u"&&!!HTMLScriptElement.supports&&HTMLScriptElement.supports("speculationrules"),ue=!1,I=0,ce=0,D=null,se={},de=!1;function L(e){var t=e&&e.closest?e.closest("a[href]"):null;if(!t||!(t.matches(".gnav-item, .gnav-subitem")||t.hasAttribute("data-gb-pending"))||t.getAttribute("data-gb-nav")==="next"||t.closest('[data-gb-nav="off"]')||t.target&&t.target!=="_self"||t.hasAttribute("download"))return null;var r;try{r=new URL(t.href,location.href)}catch{return null}return r.origin!==location.origin||!/^https?:$/.test(r.protocol)||r.pathname===location.pathname&&r.search===location.search&&(r.hash||(t.getAttribute("href")||"").indexOf("#")>-1)?null:t}function w(){clearTimeout(ce),document.querySelectorAll("[data-gb-busy]").forEach(function(e){e.removeAttribute("data-gb-busy"),e.removeAttribute("aria-busy");var t=e.querySelector(":scope > .gb-pending-mark");t&&t.remove()})}function Ie(e){if(w(),e.setAttribute("data-gb-busy",""),e.setAttribute("aria-busy","true"),e.hasAttribute("data-gb-pending")){var t=document.createElement("span");t.className="gb-pending-mark",t.setAttribute("role","status"),t.innerHTML='<span class="ui-sr-only">'+E(e.getAttribute("data-gb-pending-label")||"Loading")+"</span>",e.appendChild(t)}ce=setTimeout(w,Re)}function fe(e){if(!(de||g.next||g.__next_f||g.__NEXT_DATA__||e.closest('[data-gb-prefetch="off"]'))){var t=navigator.connection;if(!(t&&t.saveData)){var r=new URL(e.href,location.href);r.hash="";var n=r.href;if(!(se[n]||r.pathname===location.pathname&&r.search===location.search)){se[n]=!0;var a;Be?(a=document.createElement("script"),a.type="speculationrules",a.textContent=JSON.stringify({prefetch:[{source:"list",urls:[n]}]})):(a=document.createElement("link"),a.rel="prefetch",a.href=n),a.setAttribute("data-gb-prefetched",""),document.head.appendChild(a)}}}}function be(){if(!(ue||typeof document>"u")){ue=!0,addEventListener("click",function(r){if(!(r.button!==0||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey)){var n=L(r.target);if(n){if(r.defaultPrevented){de=!0;return}Ie(n)}}});var e=function(r){r!==D&&(clearTimeout(I),D=r,r&&(I=setTimeout(function(){D===r&&fe(r)},Fe)))},t=null;document.addEventListener("mousedown",function(r){t=L(r.target),t&&t===D&&clearTimeout(I)}),document.addEventListener("mouseover",function(r){e(L(r.target))}),document.addEventListener("focusin",function(r){var n=L(r.target);n&&n===t||e(n)}),document.addEventListener("touchstart",function(r){var n=L(r.target);n&&fe(n)},{passive:!0}),addEventListener("pageshow",w),addEventListener("keydown",function(r){r.key==="Escape"&&w()}),g.navigation&&g.navigation.addEventListener&&g.navigation.addEventListener("navigateerror",w)}}be();var Ue='a[href], button, input, select, textarea, label, summary, details, dialog, [role="dialog"], [role="menu"], [role="button"], [role="menuitem"], [role="checkbox"], [contenteditable="true"], [contenteditable=""], [data-row-ignore], .ui-table__check',ve='details[open], dialog[open], [role="dialog"], [role="menu"]';function Ve(e,t){return t&&t.closest&&t.closest(ve)?!0:Array.prototype.some.call(e.querySelectorAll(ve),function(r){return r.getClientRects().length>0})}var me=!1,q=null,U=".ui-index, .ui-resource";function We(e){for(var t=e.getAttribute("data-href"),r=e.querySelectorAll("a[href]"),n=0;n<r.length;n++)if(r[n].getAttribute("href")===t)return r[n];return null}function pe(e){if(!(e.defaultPrevented||e.button>1||!e.target.closest)){var t=e.target.closest("[data-href]");if(t){var r=e.target.closest(Ue);if(!(r&&t.contains(r))){var n=g.getSelection?g.getSelection():null;if(!(n&&!n.isCollapsed&&n.anchorNode&&t.contains(n.anchorNode))){var a=We(t),i=a?a.href:new URL(t.getAttribute("data-href"),location.href).href;if(e.metaKey||e.ctrlKey||e.shiftKey||e.button===1){g.open(i,"_blank","noopener");return}a?a.click():location.assign(i)}}}}}function ge(e){var t=[];return e.querySelectorAll("input[data-gb-select]").forEach(function(r){r.checked&&t.push(r.value)}),t}function C(e){var t=e.querySelectorAll("input[data-gb-select]"),r=0;t.forEach(function(i){var l=i.closest("tr, .ui-list__item, [data-href]");i.checked&&r++,l&&(l.classList.toggle("is-selected",i.checked),l.matches(".ui-list__item")||l.setAttribute("aria-selected",i.checked?"true":"false"))}),e.querySelectorAll("input[data-gb-select-all]").forEach(function(i){i.checked=r>0&&r===t.length,i.indeterminate=r>0&&r<t.length});var n=e.querySelector(".ui-bulkbar");n&&e.matches(".ui-resource")?n.querySelectorAll(".ui-bulkbar__actions button").forEach(function(i){i.disabled=r===0}):n&&(n.hidden=r===0);var a=e.querySelector("[data-gb-count]");a&&(a.textContent=(a.getAttribute("data-gb-count")||"{n} selected").replace("{n}",r)),e.dispatchEvent(new CustomEvent("gb:selection",{bubbles:!0,detail:{ids:ge(e),total:t.length}}))}function he(e){e.querySelectorAll("input[data-gb-select]").forEach(function(t){t.checked=!1}),C(e)}function ye(e){if(!e)return"";var t=e.getAttribute("data-sort-value");return t??e.textContent.trim()}function Qe(e){var t=e.closest("th"),r=e.closest("table");if(!(!t||!r)){var n=t.getAttribute("aria-sort")==="ascending"?"descending":"ascending";if(r.querySelectorAll("thead th[aria-sort]").forEach(function(c){c!==t&&c.setAttribute("aria-sort","none")}),t.setAttribute("aria-sort",n),r.getAttribute("data-gb-sort")!=="client"){r.dispatchEvent(new CustomEvent("gb:sort",{bubbles:!0,detail:{key:t.getAttribute("data-key"),direction:n}}));return}var a=Array.prototype.indexOf.call(t.parentElement.children,t),i=r.tBodies[0];if(i){var l=Array.prototype.slice.call(i.rows),u=n==="ascending"?1:-1,s=function(c){var f=String(c).replace(/[\s,%$€£¥]/g,"");return f!==""&&!isNaN(+f)?+f:null};l.sort(function(c,f){var v=ye(c.cells[a]),h=ye(f.cells[a]),p=s(v),S=s(h);return u*(p!=null&&S!=null?p-S:String(v).localeCompare(String(h),void 0,{numeric:!0,sensitivity:"base"}))}),l.forEach(function(c){i.appendChild(c)})}}}function $e(e){return Array.prototype.slice.call(e.querySelectorAll(":scope > .ui-board__col[data-col]"))}function M(e){return Array.prototype.slice.call(e.querySelectorAll("li[data-id]")).filter(function(t){return t.closest(".ui-board__col")===e})}function V(e){var t=e.getAttribute("data-name")||(e.querySelector(".ui-card__link, h2, h3, h4")||e).textContent||"";return t.trim().replace(/\s+/g," ").slice(0,80)||"Card"}function P(e){var t=e.querySelector(".ui-board__name");return(t&&t.textContent||e.getAttribute("data-col")||"").trim()}function _(e,t){var r=e.querySelector(":scope > [data-gb-live]");r||(r=document.createElement("div"),r.className="ui-sr-only",r.setAttribute("aria-live","assertive"),r.setAttribute("data-gb-live",""),e.appendChild(r)),r.textContent="",setTimeout(function(){r.textContent=t},30)}function Ae(e,t){var r=e.querySelector(".ui-board__count"),n=r?parseInt(r.textContent,10):NaN;r&&String(n)===r.textContent.trim()&&(r.textContent=String(n+t))}function Xe(e,t,r,n){var a=t.closest(".ui-board__col"),i=M(r).filter(function(f){return f!==t});if(n<i.length)i[n].parentNode.insertBefore(t,i[n]);else if(i.length){var l=i[i.length-1];l.parentNode.insertBefore(t,l.nextSibling)}else{var u=r.querySelector("ol.ui-board__list");if(!u){u=document.createElement("ol"),u.className="ui-board__list";var s=r.querySelector(":scope > .ui-board__empty");s?s.replaceWith(u):r.querySelector(".ui-board__head").after(u)}u.appendChild(t)}if(a!==r&&(Ae(a,-1),Ae(r,1),!M(a).length&&!a.querySelector(".ui-board__next a[data-gb-more]"))){var c=document.createElement("p");c.className="ui-board__empty",c.textContent=e.getAttribute("data-empty-label")||"Nothing here",a.querySelectorAll(":scope > ol.ui-board__list, :scope > details.ui-board__more").forEach(function(f){f.remove()}),a.querySelector(".ui-board__head").after(c)}}var o=null;function T(e){return M(e).filter(function(t){return!o||t!==o.li})}function W(e){e.querySelectorAll("[data-gb-drop]").forEach(function(t){t.removeAttribute("data-gb-drop")}),e.querySelectorAll("[data-gb-over]").forEach(function(t){t.removeAttribute("data-gb-over")})}function Q(){if(o){W(o.b),o.to.setAttribute("data-gb-over","");var e=T(o.to),t=o.index<e.length?e[o.index]:e[e.length-1];if(t){t.setAttribute("data-gb-drop",o.index<e.length?"before":"after");var r=t.closest("details:not([open])");r&&o.b.contains(r)&&(r.open=!0),o.keys&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"nearest"})}}}function K(){return o?P(o.to)+", position "+(o.index+1)+" of "+(T(o.to).length+1):""}function $(){o&&(o.li.removeAttribute("data-gb-lifted"),o.b.removeAttribute("data-gb-dragging"),W(o.b),o=null)}function Ee(e,t,r){var n=t.closest(".ui-board__col");if(!(!n||!t.getAttribute("data-id"))){var a=M(n).indexOf(t);o={b:e,li:t,id:t.getAttribute("data-id"),from:n,to:n,index:a,origin:a,keys:r},t.setAttribute("data-gb-lifted",r?"key":"drag"),r&&(Q(),_(e,"Picked up "+V(t)+". "+K()+". Arrow keys move it, Space drops it, Escape cancels."))}}function _e(){if(o){var e=o,t=V(e.li),r=e.to===e.from&&e.index===e.origin,n=K();if($(),r){_(e.b,t+" dropped where it was, in "+P(e.from)+".");return}var a=new CustomEvent("gb:move",{bubbles:!0,cancelable:!0,detail:{id:e.id,from:e.from.getAttribute("data-col"),to:e.to.getAttribute("data-col"),index:e.index}}),i=e.b.dispatchEvent(a);if(i&&Xe(e.b,e.li,e.to,e.index),_(e.b,"Moved "+t+" to "+n+"."),e.keys){var l=10,u=function(){var s=Array.prototype.slice.call(e.b.querySelectorAll("li[data-id]")).filter(function(c){return c.getAttribute("data-id")===e.id})[0];s&&document.activeElement!==s?s.focus():!s&&l-- >0&&requestAnimationFrame(u)};requestAnimationFrame(u)}}}function N(e){if(o){var t=o;$(),t.keys&&_(t.b,(e||"")+V(t.li)+" stays in "+P(t.from)+".")}}function Se(e){var t=e&&e.closest?e.closest(".ui-board[data-gb-move]"):null;return t}function ze(e){var t=Se(e.target),r=t&&e.target.closest("li[data-id]");if(!(!r||!t.contains(r)||t.__gbMoveOn)){if(!o){(e.key===" "||e.key==="Spacebar")&&e.target===r&&(e.preventDefault(),Ee(t,r,!0));return}if(!(o.li!==r||!o.keys)){var n=$e(t);if(e.key==="ArrowUp"||e.key==="ArrowDown")e.preventDefault(),o.index=Math.max(0,Math.min(T(o.to).length,o.index+(e.key==="ArrowUp"?-1:1)));else if(e.key==="ArrowLeft"||e.key==="ArrowRight"){e.preventDefault();var a=n.indexOf(o.to)+(e.key==="ArrowLeft"?-1:1);if(a<0||a>=n.length){_(t,K()+". No column further "+(e.key==="ArrowLeft"?"left":"right")+".");return}o.to=n[a],o.index=Math.min(o.index,T(o.to).length)}else if(e.key===" "||e.key==="Spacebar"||e.key==="Enter"){e.preventDefault(),_e();return}else if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),N("Move cancelled. ");return}else if(e.key==="Tab"){N("Move cancelled. ");return}else return;Q(),_(t,K())}}}function Ge(e){var t=e.closest(".ui-board__col"),r=e.closest(".ui-board"),n=e.closest(".ui-board__next")||e.parentNode;if(!(!t||!r||n.getAttribute("aria-busy")==="true")){var a=t.getAttribute("data-col"),i=e.href;n.setAttribute("aria-busy","true"),n.innerHTML='<span class="ui-spinner" aria-hidden="true"></span><span role="status">Loading\u2026</span>',fetch(i,{headers:{Accept:"text/html"},credentials:"same-origin"}).then(function(l){if(!l.ok)throw new Error(String(l.status));return l.text()}).then(function(l){var u=new DOMParser().parseFromString(l,"text/html"),s=r.id?u.getElementById(r.id):u,c=Array.prototype.slice.call((s||u).querySelectorAll(".ui-board__col[data-col]")).filter(function(b){return b.getAttribute("data-col")===a})[0];if(!c)throw new Error("no column "+a);var f={};r.querySelectorAll("li[data-id]").forEach(function(b){f[b.getAttribute("data-id")]=1});var v=t.querySelector(":scope > ol.ui-board__list");if(!v){v=document.createElement("ol"),v.className="ui-board__list";var h=t.querySelector(":scope > .ui-board__empty");h?h.replaceWith(v):n.before(v)}var p=M(c).filter(function(b){return!f[b.getAttribute("data-id")]}).map(function(b){var A=document.importNode(b,!0);return v.appendChild(A),A}),S=c.querySelector(".ui-board__count"),O=t.querySelector(".ui-board__count");S&&O&&(O.textContent=S.textContent);var k=c.querySelector(".ui-board__next");k&&k.querySelector("a[data-gb-more]")?(n.innerHTML=k.innerHTML,n.removeAttribute("aria-busy")):n.remove();try{history.replaceState(history.state,"",i)}catch{}_(r,p.length+" more "+(p.length===1?"card":"cards")+" in "+P(t)+".");var y=p[0];if(y){var d=y.matches("[tabindex]")?y:y.querySelector("a[href], button, [tabindex]");d&&d.focus({preventScroll:!1})}}).catch(function(){n.removeAttribute("aria-busy"),n.innerHTML=`<span role="alert" class="ui-more__error">Couldn't load.</span>`;var l=document.createElement("a");l.className="ui-btn ui-btn--sm",l.href=i,l.setAttribute("data-gb-more",""),l.textContent="Try again",n.appendChild(l),l.focus()})}}function ke(){if(!(me||typeof document>"u")){me=!0,document.addEventListener("keydown",ze),document.addEventListener("focusout",function(t){o&&o.keys&&t.target===o.li&&!o.li.contains(t.relatedTarget)&&N("Move cancelled. ")}),document.addEventListener("dragstart",function(t){var r=Se(t.target),n=r&&t.target.closest("li[data-id]");!n||!r.contains(n)||r.__gbMoveOn||!t.dataTransfer||(o&&$(),Ee(r,n,!1),t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",n.getAttribute("data-id")||""),requestAnimationFrame(function(){o&&r.setAttribute("data-gb-dragging","")}))});var e=function(t){var r=t.target.closest?t.target.closest(".ui-board__col[data-col]"):null;if(!r||!o||!o.b.contains(r))return null;for(var n=T(r),a=n.length,i=0;i<n.length;i++){var l=n[i].getBoundingClientRect();if(l.height){if(t.clientY<l.top+l.height/2){a=i;break}a=i+1}}return{col:r,index:a}};document.addEventListener("dragover",function(t){if(!(!o||o.keys)){var r=e(t);r&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move"),(r.col!==o.to||r.index!==o.index||!o.b.querySelector("[data-gb-over]"))&&(o.to=r.col,o.index=r.index,Q()))}}),document.addEventListener("dragleave",function(t){o&&!o.keys&&!o.b.contains(t.relatedTarget)&&W(o.b)}),document.addEventListener("drop",function(t){if(!(!o||o.keys)){t.preventDefault();var r=e(t);if(!r){N();return}o.to=r.col,o.index=r.index,_e()}}),document.addEventListener("dragend",function(){o&&!o.keys&&N()}),document.addEventListener("click",function(t){var r=t.target;if(!(!r||!r.closest)){var n=r.closest(".ui-board a[data-gb-more][href]");if(n){!t.defaultPrevented&&t.button===0&&!t.metaKey&&!t.ctrlKey&&!t.shiftKey&&!t.altKey&&typeof fetch=="function"&&(t.preventDefault(),Ge(n));return}var a=r.closest("table[data-gb-sort] button.ui-table__sort");if(a){Qe(a);return}var i=r.closest("td.ui-table__check, th.ui-table__check");if(i&&r===i){var l=i.querySelector("input[data-gb-select], input[data-gb-select-all]");if(l){l.click();return}}var u=r.closest("input[data-gb-select]");if(u){var s=u.closest(U);if(s&&t.shiftKey&&q&&q!==u&&s.contains(q)){for(var c=Array.prototype.slice.call(s.querySelectorAll("input[data-gb-select]")),f=c.indexOf(q),v=c.indexOf(u),h=u.checked,p=Math.min(f,v);p<=Math.max(f,v);p++)c[p].checked=h;C(s)}q=u;return}pe(t)}}),document.addEventListener("auxclick",function(t){t.button===1&&pe(t)}),document.addEventListener("change",function(t){var r=t.target;if(!(!r||!r.matches)){var n=r.closest(U);n&&(r.matches("input[data-gb-select-all]")?(n.querySelectorAll("input[data-gb-select]").forEach(function(a){a.checked=r.checked}),C(n)):r.matches("input[data-gb-select]")&&C(n))}}),document.addEventListener("keydown",function(t){if(!(t.key!=="Escape"||t.defaultPrevented||m.length)){var r=document.activeElement&&document.activeElement.closest?document.activeElement.closest(U):null;r&&Ve(r,document.activeElement)||r&&r.querySelector("input[data-gb-select]:checked")&&he(r)}})}}ke(),g.gembossUI={openModal:z,toast:qe,confirm:Oe,initMenus:Te,closeMenus:F,initSearch:He,initShell:De,initPasswordFields:Pe,resetPasswordFields:Ke,initNav:be,openModals:function(){return m.length},initCollections:ke,selection:ge,clearSelection:he,syncSelection:C,initMenuLayer:te,floatMenu:B,placeFloating:j}})(globalThis);
|