const __TWEAKS_STYLE=`
  .twk-panel{position:fixed;right:16px;bottom:16px;z-index:2147483646;width:280px;
    max-height:calc(100vh - 32px);display:flex;flex-direction:column;
    transform:scale(var(--dc-inv-zoom,1));transform-origin:bottom right;
    background:rgba(250,249,247,.78);color:#29261b;
    -webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);
    border:.5px solid rgba(255,255,255,.6);border-radius:14px;
    box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 12px 40px rgba(0,0,0,.18);
    font:11.5px/1.4 ui-sans-serif,system-ui,-apple-system,sans-serif;overflow:hidden}
  .twk-hd{display:flex;align-items:center;justify-content:space-between;
    padding:10px 8px 10px 14px;cursor:move;user-select:none}
  .twk-hd b{font-size:12px;font-weight:600;letter-spacing:.01em}
  .twk-x{appearance:none;border:0;background:transparent;color:rgba(41,38,27,.55);
    width:22px;height:22px;border-radius:6px;cursor:default;font-size:13px;line-height:1}
  .twk-x:hover{background:rgba(0,0,0,.06);color:#29261b}
  .twk-body{padding:2px 14px 14px;display:flex;flex-direction:column;gap:10px;
    overflow-y:auto;overflow-x:hidden;min-height:0;
    scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}
  .twk-body::-webkit-scrollbar{width:8px}
  .twk-body::-webkit-scrollbar-track{background:transparent;margin:2px}
  .twk-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:4px;
    border:2px solid transparent;background-clip:content-box}
  .twk-body::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.25);
    border:2px solid transparent;background-clip:content-box}
  .twk-row{display:flex;flex-direction:column;gap:5px}
  .twk-row-h{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
  .twk-lbl{display:flex;justify-content:space-between;align-items:baseline;
    color:rgba(41,38,27,.72)}
  .twk-lbl>span:first-child{font-weight:500}
  .twk-val{color:rgba(41,38,27,.5);font-variant-numeric:tabular-nums}

  .twk-sect{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    color:rgba(41,38,27,.45);padding:10px 0 0}
  .twk-sect:first-child{padding-top:0}

  .twk-field{appearance:none;box-sizing:border-box;width:100%;min-width:0;height:26px;padding:0 8px;
    border:.5px solid rgba(0,0,0,.1);border-radius:7px;
    background:rgba(255,255,255,.6);color:inherit;font:inherit;outline:none}
  .twk-field:focus{border-color:rgba(0,0,0,.25);background:rgba(255,255,255,.85)}
  select.twk-field{padding-right:22px;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='rgba(0,0,0,.5)' d='M0 0h10L5 6z'/></svg>");
    background-repeat:no-repeat;background-position:right 8px center}

  .twk-slider{appearance:none;-webkit-appearance:none;width:100%;height:4px;margin:6px 0;
    border-radius:999px;background:rgba(0,0,0,.12);outline:none}
  .twk-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
    width:14px;height:14px;border-radius:50%;background:#fff;
    border:.5px solid rgba(0,0,0,.12);box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:default}
  .twk-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;
    background:#fff;border:.5px solid rgba(0,0,0,.12);box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:default}

  .twk-seg{position:relative;display:flex;padding:2px;border-radius:8px;
    background:rgba(0,0,0,.06);user-select:none}
  .twk-seg-thumb{position:absolute;top:2px;bottom:2px;border-radius:6px;
    background:rgba(255,255,255,.9);box-shadow:0 1px 2px rgba(0,0,0,.12);
    transition:left .15s cubic-bezier(.3,.7,.4,1),width .15s}
  .twk-seg.dragging .twk-seg-thumb{transition:none}
  .twk-seg button{appearance:none;position:relative;z-index:1;flex:1;border:0;
    background:transparent;color:inherit;font:inherit;font-weight:500;min-height:22px;
    border-radius:6px;cursor:default;padding:4px 6px;line-height:1.2;
    overflow-wrap:anywhere}

  .twk-toggle{position:relative;width:32px;height:18px;border:0;border-radius:999px;
    background:rgba(0,0,0,.15);transition:background .15s;cursor:default;padding:0}
  .twk-toggle[data-on="1"]{background:#34c759}
  .twk-toggle i{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;
    background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
  .twk-toggle[data-on="1"] i{transform:translateX(14px)}

  .twk-num{display:flex;align-items:center;box-sizing:border-box;min-width:0;height:26px;padding:0 0 0 8px;
    border:.5px solid rgba(0,0,0,.1);border-radius:7px;background:rgba(255,255,255,.6)}
  .twk-num-lbl{font-weight:500;color:rgba(41,38,27,.6);cursor:ew-resize;
    user-select:none;padding-right:8px}
  .twk-num input{flex:1;min-width:0;height:100%;border:0;background:transparent;
    font:inherit;font-variant-numeric:tabular-nums;text-align:right;padding:0 8px 0 0;
    outline:none;color:inherit;-moz-appearance:textfield}
  .twk-num input::-webkit-inner-spin-button,.twk-num input::-webkit-outer-spin-button{
    -webkit-appearance:none;margin:0}
  .twk-num-unit{padding-right:8px;color:rgba(41,38,27,.45)}

  .twk-btn{appearance:none;height:26px;padding:0 12px;border:0;border-radius:7px;
    background:rgba(0,0,0,.78);color:#fff;font:inherit;font-weight:500;cursor:default}
  .twk-btn:hover{background:rgba(0,0,0,.88)}
  .twk-btn.secondary{background:rgba(0,0,0,.06);color:inherit}
  .twk-btn.secondary:hover{background:rgba(0,0,0,.1)}

  .twk-swatch{appearance:none;-webkit-appearance:none;width:56px;height:22px;
    border:.5px solid rgba(0,0,0,.1);border-radius:6px;padding:0;cursor:default;
    background:transparent;flex-shrink:0}
  .twk-swatch::-webkit-color-swatch-wrapper{padding:0}
  .twk-swatch::-webkit-color-swatch{border:0;border-radius:5.5px}
  .twk-swatch::-moz-color-swatch{border:0;border-radius:5.5px}

  .twk-chips{display:flex;gap:6px}
  .twk-chip{position:relative;appearance:none;flex:1;min-width:0;height:46px;
    padding:0;border:0;border-radius:6px;overflow:hidden;cursor:default;
    box-shadow:0 0 0 .5px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.06);
    transition:transform .12s cubic-bezier(.3,.7,.4,1),box-shadow .12s}
  .twk-chip:hover{transform:translateY(-1px);
    box-shadow:0 0 0 .5px rgba(0,0,0,.18),0 4px 10px rgba(0,0,0,.12)}
  .twk-chip[data-on="1"]{box-shadow:0 0 0 1.5px rgba(0,0,0,.85),
    0 2px 6px rgba(0,0,0,.15)}
  .twk-chip>span{position:absolute;top:0;bottom:0;right:0;width:34%;
    display:flex;flex-direction:column;box-shadow:-1px 0 0 rgba(0,0,0,.1)}
  .twk-chip>span>i{flex:1;box-shadow:0 -1px 0 rgba(0,0,0,.1)}
  .twk-chip>span>i:first-child{box-shadow:none}
  .twk-chip svg{position:absolute;top:6px;left:6px;width:13px;height:13px;
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
`;function useTweaks(a){const[e,n]=React.useState(a),o=React.useCallback((t,d)=>{const r=typeof t=="object"&&t!==null?t:{[t]:d};n(c=>({...c,...r})),window.parent.postMessage({type:"__edit_mode_set_keys",edits:r},"*"),window.dispatchEvent(new CustomEvent("tweakchange",{detail:r}))},[]);return[e,o]}function TweaksPanel({title:a="Tweaks",children:e}){const[n,o]=React.useState(!1),t=React.useRef(null),d=React.useRef({x:16,y:16}),r=16,c=React.useCallback(()=>{const i=t.current;if(!i)return;const p=i.offsetWidth,u=i.offsetHeight,w=Math.max(r,window.innerWidth-p-r),h=Math.max(r,window.innerHeight-u-r);d.current={x:Math.min(w,Math.max(r,d.current.x)),y:Math.min(h,Math.max(r,d.current.y))},i.style.right=d.current.x+"px",i.style.bottom=d.current.y+"px"},[]);React.useEffect(()=>{if(!n)return;if(c(),typeof ResizeObserver>"u")return window.addEventListener("resize",c),()=>window.removeEventListener("resize",c);const i=new ResizeObserver(c);return i.observe(document.documentElement),()=>i.disconnect()},[n,c]),React.useEffect(()=>{const i=p=>{const u=p?.data?.type;u==="__activate_edit_mode"?o(!0):u==="__deactivate_edit_mode"&&o(!1)};return window.addEventListener("message",i),window.parent.postMessage({type:"__edit_mode_available"},"*"),()=>window.removeEventListener("message",i)},[]);const g=()=>{o(!1),window.parent.postMessage({type:"__edit_mode_dismissed"},"*")},k=i=>{const p=t.current;if(!p)return;const u=p.getBoundingClientRect(),w=i.clientX,h=i.clientY,f=window.innerWidth-u.right,s=window.innerHeight-u.bottom,l=x=>{d.current={x:f-(x.clientX-w),y:s-(x.clientY-h)},c()},b=()=>{window.removeEventListener("mousemove",l),window.removeEventListener("mouseup",b)};window.addEventListener("mousemove",l),window.addEventListener("mouseup",b)};return n?React.createElement(React.Fragment,null,React.createElement("style",null,__TWEAKS_STYLE),React.createElement("div",{ref:t,className:"twk-panel","data-omelette-chrome":"",style:{right:d.current.x,bottom:d.current.y}},React.createElement("div",{className:"twk-hd",onMouseDown:k},React.createElement("b",null,a),React.createElement("button",{className:"twk-x","aria-label":"Close tweaks",onMouseDown:i=>i.stopPropagation(),onClick:g},"\u2715")),React.createElement("div",{className:"twk-body"},e))):null}function TweakSection({label:a,children:e}){return React.createElement(React.Fragment,null,React.createElement("div",{className:"twk-sect"},a),e)}function TweakRow({label:a,value:e,children:n,inline:o=!1}){return React.createElement("div",{className:o?"twk-row twk-row-h":"twk-row"},React.createElement("div",{className:"twk-lbl"},React.createElement("span",null,a),e!=null&&React.createElement("span",{className:"twk-val"},e)),n)}function TweakSlider({label:a,value:e,min:n=0,max:o=100,step:t=1,unit:d="",onChange:r}){return React.createElement(TweakRow,{label:a,value:`${e}${d}`},React.createElement("input",{type:"range",className:"twk-slider",min:n,max:o,step:t,value:e,onChange:c=>r(Number(c.target.value))}))}function TweakToggle({label:a,value:e,onChange:n}){return React.createElement("div",{className:"twk-row twk-row-h"},React.createElement("div",{className:"twk-lbl"},React.createElement("span",null,a)),React.createElement("button",{type:"button",className:"twk-toggle","data-on":e?"1":"0",role:"switch","aria-checked":!!e,onClick:()=>n(!e)},React.createElement("i",null)))}function TweakRadio({label:a,value:e,options:n,onChange:o}){const t=React.useRef(null),[d,r]=React.useState(!1),c=React.useRef(e);c.current=e;const g=s=>String(typeof s=="object"?s.label:s).length;if(!(n.reduce((s,l)=>Math.max(s,g(l)),0)<=({2:16,3:10}[n.length]??0))){const s=l=>{const b=n.find(x=>String(typeof x=="object"?x.value:x)===l);return b===void 0?l:typeof b=="object"?b.value:b};return React.createElement(TweakSelect,{label:a,value:e,options:n,onChange:l=>o(s(l))})}const p=n.map(s=>typeof s=="object"?s:{value:s,label:s}),u=Math.max(0,p.findIndex(s=>s.value===e)),w=p.length,h=s=>{const l=t.current.getBoundingClientRect(),b=l.width-4,x=Math.floor((s-l.left-2)/b*w);return p[Math.max(0,Math.min(w-1,x))].value};return React.createElement(TweakRow,{label:a},React.createElement("div",{ref:t,role:"radiogroup",onPointerDown:s=>{r(!0);const l=h(s.clientX);l!==c.current&&o(l);const b=v=>{if(!t.current)return;const m=h(v.clientX);m!==c.current&&o(m)},x=()=>{r(!1),window.removeEventListener("pointermove",b),window.removeEventListener("pointerup",x)};window.addEventListener("pointermove",b),window.addEventListener("pointerup",x)},className:d?"twk-seg dragging":"twk-seg"},React.createElement("div",{className:"twk-seg-thumb",style:{left:`calc(2px + ${u} * (100% - 4px) / ${w})`,width:`calc((100% - 4px) / ${w})`}}),p.map(s=>React.createElement("button",{key:s.value,type:"button",role:"radio","aria-checked":s.value===e},s.label))))}function TweakSelect({label:a,value:e,options:n,onChange:o}){return React.createElement(TweakRow,{label:a},React.createElement("select",{className:"twk-field",value:e,onChange:t=>o(t.target.value)},n.map(t=>{const d=typeof t=="object"?t.value:t,r=typeof t=="object"?t.label:t;return React.createElement("option",{key:d,value:d},r)})))}function TweakText({label:a,value:e,placeholder:n,onChange:o}){return React.createElement(TweakRow,{label:a},React.createElement("input",{className:"twk-field",type:"text",value:e,placeholder:n,onChange:t=>o(t.target.value)}))}function TweakNumber({label:a,value:e,min:n,max:o,step:t=1,unit:d="",onChange:r}){const c=i=>n!=null&&i<n?n:o!=null&&i>o?o:i,g=React.useRef({x:0,val:0});return React.createElement("div",{className:"twk-num"},React.createElement("span",{className:"twk-num-lbl",onPointerDown:i=>{i.preventDefault(),g.current={x:i.clientX,val:e};const p=(String(t).split(".")[1]||"").length,u=h=>{const f=h.clientX-g.current.x,s=g.current.val+f*t,l=Math.round(s/t)*t;r(c(Number(l.toFixed(p))))},w=()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",w)};window.addEventListener("pointermove",u),window.addEventListener("pointerup",w)}},a),React.createElement("input",{type:"number",value:e,min:n,max:o,step:t,onChange:i=>r(c(Number(i.target.value)))}),d&&React.createElement("span",{className:"twk-num-unit"},d))}function __twkIsLight(a){const e=String(a).replace("#",""),n=e.length===3?e.replace(/./g,c=>c+c):e.padEnd(6,"0"),o=parseInt(n.slice(0,6),16);if(Number.isNaN(o))return!0;const t=o>>16&255,d=o>>8&255,r=o&255;return t*299+d*587+r*114>148e3}const __TwkCheck=({light:a})=>React.createElement("svg",{viewBox:"0 0 14 14","aria-hidden":"true"},React.createElement("path",{d:"M3 7.2 5.8 10 11 4.2",fill:"none",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",stroke:a?"rgba(0,0,0,.78)":"#fff"}));function TweakColor({label:a,value:e,options:n,onChange:o}){if(!n||!n.length)return React.createElement("div",{className:"twk-row twk-row-h"},React.createElement("div",{className:"twk-lbl"},React.createElement("span",null,a)),React.createElement("input",{type:"color",className:"twk-swatch",value:e,onChange:r=>o(r.target.value)}));const t=r=>String(JSON.stringify(r)).toLowerCase(),d=t(e);return React.createElement(TweakRow,{label:a},React.createElement("div",{className:"twk-chips",role:"radiogroup"},n.map((r,c)=>{const g=Array.isArray(r)?r:[r],[k,...i]=g,p=i.slice(0,4),u=t(r)===d;return React.createElement("button",{key:c,type:"button",className:"twk-chip",role:"radio","aria-checked":u,"data-on":u?"1":"0","aria-label":g.join(", "),title:g.join(" \xB7 "),style:{background:k},onClick:()=>o(r)},p.length>0&&React.createElement("span",null,p.map((w,h)=>React.createElement("i",{key:h,style:{background:w}}))),u&&React.createElement(__TwkCheck,{light:__twkIsLight(k)}))})))}function TweakButton({label:a,onClick:e,secondary:n=!1}){return React.createElement("button",{type:"button",className:n?"twk-btn secondary":"twk-btn",onClick:e},a)}Object.assign(window,{useTweaks,TweaksPanel,TweakSection,TweakRow,TweakSlider,TweakToggle,TweakRadio,TweakSelect,TweakText,TweakNumber,TweakColor,TweakButton});
