@zylem/editor 0.9.0 → 0.9.3
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/dist/zylem-editor.d.ts +88 -16
- package/dist/zylem-editor.js +108 -23
- package/package.json +6 -6
package/dist/zylem-editor.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{getZylemBridge as
|
|
2
|
-
`;for(let r in e){let
|
|
3
|
-
`,r==="entities"){for(let
|
|
4
|
-
`;continue}if(typeof
|
|
5
|
-
`)}else typeof
|
|
6
|
-
`)}return t};Ie.on("stage",e=>{let t=e.payload;t.config!==void 0&&(C.config=t.config),t.backgroundColor!==void 0&&(C.backgroundColor=t.backgroundColor),t.backgroundImage!==void 0&&(C.backgroundImage=t.backgroundImage),t.inputs!==void 0&&(C.inputs=t.inputs),t.variables!==void 0&&(C.variables=t.variables),t.gravity!==void 0&&(C.gravity=t.gravity),t.entities!==void 0&&(C.entities=t.entities)});Ie.on("entities",e=>{C.entities=e.payload});var xr=new Map;function wi(e){let t={uuid:e.uuid,name:e.name,type:e.type,position:e.position,rotation:e.rotation,scale:e.scale};return e.bounds&&(t.bounds=e.bounds),t}function bs(e,t){e.name!==t.name&&(e.name=t.name),e.type!==t.type&&(e.type=t.type),In(e.position,t.position)||(e.position=t.position),In(e.rotation,t.rotation)||(e.rotation=t.rotation),In(e.scale,t.scale)||(e.scale=t.scale),t.bounds&&!hs(e.bounds,t.bounds)&&(e.bounds=t.bounds)}function In(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z}function hs(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height&&e.depth===t.depth}function vr(){xr.clear(),C.entities.forEach((e,t)=>{e.uuid&&xr.set(e.uuid,t)})}function Ai(e){C.entities=e.map(wi),vr()}function Tn(e){let t=e.filter(r=>!!r.thumbnail).map(r=>({uuid:r.uuid,url:r.thumbnail,bounds:r.bounds}));t.length>0&&Cn(t)}function Bn(e){let t=C.entities;for(let r of e){let n=xr.get(r.uuid),o=n===void 0?void 0:t[n];o?bs(o,r):(xr.set(r.uuid,t.length),t.push(wi(r)))}Tn(e)}function ki(e){vi(e);let t=new Set(e),r=C.entities,n=0;for(let o=0;o<r.length;o+=1){let i=r[o];i.uuid&&t.has(i.uuid)||(r[n]=i,n+=1)}n!==r.length&&(r.length=n,vr())}function Dn(e){Cn(e)}import{proxy as xs}from"valtio/vanilla";var ve=xs({messages:[]}),Mn=500,fe=e=>{let r=`[${new Date().toLocaleTimeString()}] ${e}`;ve.messages.push(r),ve.messages.length>Mn&&ve.messages.splice(0,ve.messages.length-Mn)},Rn=()=>{ve.messages=[]};import{createStore as zs}from"solid-js/store";import{subscribe as ws}from"valtio/vanilla";var Ke=["left","right","top","bottom"];var Be=e=>e==="left"||e==="right",Ln=e=>{switch(e){case"left":return"e";case"right":return"w";case"top":return"s";default:return"n"}},zr=()=>({left:{panels:[],thickness:0},right:{panels:[],thickness:0},top:{panels:[],thickness:0},bottom:{panels:[],thickness:0}}),Ci=e=>{let t=zr();if(!e||typeof e!="object")return t;let r=new Set;for(let n of Ke){let o=e[n];if(!o||typeof o!="object")continue;let i=o.panels;if(Array.isArray(i))for(let d of i)typeof d!="string"||d.length===0||r.has(d)||(r.add(d),t[n].panels.push(d));let a=o.thickness;typeof a=="number"&&Number.isFinite(a)&&a>0&&(t[n].thickness=a)}return t},De=(e,t)=>Ke.find(r=>e[r].panels.includes(t))??null;var vs=e=>{let t=zr();for(let r of Ke)t[r]={panels:[...e[r].panels],thickness:e[r].thickness};return t},Rt=(e,t)=>{let r=vs(e);for(let n of Ke)r[n].panels=r[n].panels.filter(o=>o!==t);return r},wr=(e,t,r,n)=>{let o=Rt(e,t),i=o[r].panels,a=n===void 0?i.length:Math.max(0,Math.min(n,i.length));return i.splice(a,0,t),o},Ei=(e,t)=>Be(e)?t.width:t.height,ht=(e,t,r)=>{if(e[t].panels.length===0)return 0;let n=Ei(t,r),o=e[t].thickness,i=o>0?o:Math.round(n/4);return Math.max(1,Math.min(i,n))},Gn=(e,t,r,n,o)=>{let i=Ei(t,n),d=ht(e,t==="left"?"right":t==="right"?"left":t==="top"?"bottom":"top",n),f=Math.max(1,i-d-80),g=Math.max(1,Math.min(o,f));return Math.round(Math.max(g,Math.min(r,f)))},Si=(e,t,r)=>{if(t<=0)return[];let n=e/t,o=Math.max(r,n);return Array.from({length:t},()=>o)},Ne=(e,t,r={})=>{let n=r.minSlotExtent??0,o={},i=ht(e,"left",t),a=ht(e,"right",t),d=ht(e,"top",t),f=ht(e,"bottom",t);for(let c of["left","right"]){let p=e[c].panels;if(p.length===0)continue;let u=c==="left"?i:a,v=c==="left"?0:Math.max(0,t.width-u),l=Si(t.height,p.length,n),m=0;p.forEach((s,y)=>{o[s]={x:v,y:m,width:u,height:l[y]},m+=l[y]})}let g=i,b=Math.max(1,t.width-i-a);for(let c of["top","bottom"]){let p=e[c].panels;if(p.length===0)continue;let u=c==="top"?d:f,v=c==="top"?0:Math.max(0,t.height-u),l=Si(b,p.length,n),m=g;p.forEach((s,y)=>{o[s]={x:m,y:v,width:l[y],height:u},m+=l[y]})}return o},Hn=(e,t,r,n,o)=>{let i=o?Rt(e,o):e,a=i[t].panels;if(a.length===0)return 0;let d=Ne(i,n),f=Be(t),g=0;return a.forEach((b,c)=>{let p=d[b];if(!p)return;let u=f?p.y+p.height/2:p.x+p.width/2;(f?r.y:r.x)>u&&(g=c+1)}),g},Fn=(e,t,r,n,o,i)=>{let a=wr(e,t,r,n);return Ne(a,o,i)[t]??null};var Ii="zylem-editor-state",ke="main",Pi=["game-config","stage-config","entities","console","bridge"],As=e=>{if(!e)return[...Pi];let t=Pi.filter(r=>!e.includes(r));return t.length>0?[...e,...t]:e},ks=()=>{if(typeof window>"u")return{};try{let e=localStorage.getItem(Ii);if(e)return JSON.parse(e)}catch(e){console.warn("Failed to load editor state from localStorage:",e)}return{}},Ss=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Ii,JSON.stringify(e))}catch(t){console.warn("Failed to save editor state to localStorage:",t)}},Me=ks(),[h,P]=zs({debug:!1,tool:"none",paused:!1,hovered:null,selected:[],lastTouched:null,panelPosition:Me.panelPosition??null,panelSize:Me.panelSize??null,toggleButtonPosition:Me.toggleButtonPosition??{x:0,y:0},panelOrder:As(Me.panelOrder),detachedPanels:Me.detachedPanels??{},openSections:Me.openSections??["console"],panelZOrder:Me.panelZOrder??[],docks:Ci(Me.docks),dockDefaultsApplied:Me.dockDefaultsApplied??!1,draggingPanelId:null,dropTargetIndex:null}),ue=()=>{Ss({panelPosition:h.panelPosition,panelSize:h.panelSize,toggleButtonPosition:h.toggleButtonPosition,panelOrder:h.panelOrder,detachedPanels:h.detachedPanels,openSections:h.openSections,panelZOrder:h.panelZOrder,docks:h.docks,dockDefaultsApplied:h.dockDefaultsApplied})},On=e=>{P("panelPosition",e),ue()},Yn=e=>{P("panelSize",e),ue()},Lt=e=>{P("toggleButtonPosition",e),ue()},Gt=(e,t)=>{P("detachedPanels",e,{position:t,size:{width:350,height:300}}),P("openSections",r=>r.filter(n=>n!==e)),P("panelZOrder",[...h.panelZOrder.filter(r=>r!==e),e]),ue()},Ar=(e,t)=>{P("detachedPanels",e,void 0),P("panelZOrder",h.panelZOrder.filter(n=>n!==e)),P("docks",Rt(h.docks,e));let r=h.panelOrder;r.includes(e)||(t!==void 0?P("panelOrder",[...r.slice(0,t),e,...r.slice(t)]):P("panelOrder",[...r,e])),ue()},Ht=e=>{P("panelZOrder",[...h.panelZOrder.filter(t=>t!==e),e]),ue()},kr=(e,t)=>{P("detachedPanels",e,"position",t),ue()},Sr=(e,t)=>{P("detachedPanels",e,"size",t),ue()},Qn=e=>{P("panelOrder",e),ue()},Un=e=>{P("openSections",e),ue()},Cr=e=>e in h.detachedPanels,tt=(e,t,r)=>{P("docks",wr(h.docks,e,t,r)),ue()},Re=e=>{De(h.docks,e)&&(P("docks",Rt(h.docks,e)),ue())},jn=(e,t)=>{P("docks",e,"thickness",Math.max(1,Math.round(t))),ue()},Ti=e=>De(h.docks,e),Vn=e=>{if(!e||h.dockDefaultsApplied)return;let t=zr(),r=!1;for(let n of["left","right","top","bottom"])for(let o of e[n]??[])o!==ke&&!Cr(o)&&(P("detachedPanels",o,{position:{x:100,y:100},size:{width:350,height:300}}),P("openSections",i=>i.filter(a=>a!==o)),P("panelZOrder",[...h.panelZOrder.filter(i=>i!==o),o])),t=wr(t,o,n),r=!0;r&&P("docks",t),P("dockDefaultsApplied",!0),ue()},Ft=e=>{P("draggingPanelId",e)},We=e=>{P("dropTargetIndex",e)},Ot=()=>{P("draggingPanelId",null),P("dropTargetIndex",null)};ws(A,()=>{P("tool",A.tool),P("paused",A.paused),P("hovered",A.hoveredEntityId),P("selected",[...A.selectedEntityIds]),P("lastTouched",A.lastTouchedEntityId)});import{proxy as Cs}from"valtio/vanilla";var q=Cs({id:"",globals:{},time:0,config:null});Ie.on("game",e=>{let t=e.payload;t.id!==void 0&&(q.id=t.id),t.time!==void 0&&(q.time=t.time),t.globals!==void 0&&Object.assign(q.globals,t.globals)});function Zn(e){q.id!==e.id&&(q.id=e.id);let t=q.config;if(!t){q.config={id:e.id,aspectRatio:e.aspectRatio,fullscreen:e.fullscreen,bodyBackground:e.bodyBackground,internalResolution:e.internalResolution,debug:e.debug};return}t.id!==e.id&&(t.id=e.id),t.aspectRatio!==e.aspectRatio&&(t.aspectRatio=e.aspectRatio),t.fullscreen!==e.fullscreen&&(t.fullscreen=e.fullscreen),t.bodyBackground!==e.bodyBackground&&(t.bodyBackground=e.bodyBackground),t.debug!==e.debug&&(t.debug=e.debug);let r=e.internalResolution,n=t.internalResolution;(!r||!n?r!==n:r.width!==n.width||r.height!==n.height)&&(t.internalResolution=r)}function Bi(e){q.globals[e.path]=e.value}function Kn(e){e.paused!==void 0&&(A.paused=e.paused,P("paused",e.paused)),e.debug!==void 0&&P("debug",e.debug)}function Di(e){fe(`[${e.level}] ${e.message}`)}function Nn(e){e.stage?(C.config={id:e.stage.id,backgroundColor:e.stage.backgroundColor,backgroundImage:e.stage.backgroundImage,gravity:e.stage.gravity,inputs:e.stage.inputs,variables:e.stage.variables},C.backgroundColor=e.stage.backgroundColor,C.backgroundImage=e.stage.backgroundImage,C.gravity=e.stage.gravity,C.inputs=e.stage.inputs,C.variables=e.stage.variables):(C.config=null,C.backgroundColor=null,C.backgroundImage=null,C.gravity={x:0,y:0,z:0},C.inputs={},C.variables={}),Ai(e.entities),zi(),Tn(e.entities),hn()}var Wn=!1,Yt=0,Xn=[];function Er(){Yt+=1;let e=!1,t=()=>{e||(e=!0,Yt-=1,Yt<=0&&(Yt=0,qn()))};if(Wn)return t;Wn=!0,Xn=[M.on("game:config",Zn),M.on("game:variable",Bi),M.on("game:status",Kn),M.on("stage:snapshot",Nn),M.on("entity:upsert",Bn),M.on("entity:removed",({uuids:g})=>ki(g)),M.on("entity:thumbnail",Dn),M.on("entity:selection",zn),M.on("game:notice",Di),M.on("catalog:snapshot",wn),M.on("scene:operation",xi)],vr();let r=M.getState("game:config");r&&Zn(r);let n=M.getState("stage:snapshot");n&&Nn(n);let o=M.getState("entity:upsert");o&&Bn(o);let i=M.getState("entity:thumbnail");i&&Dn(i);let a=M.getState("game:status");a&&Kn(a);let d=M.getState("entity:selection");d&&zn(d);let f=M.getState("catalog:snapshot");return f&&wn(f),t}function qn(){for(let e of Xn)e();Xn=[],Wn=!1,Yt=0}import{bridgeDebug as xt,getZylemBridge as Es}from"@zylem/bridge";import{proxy as Ps}from"valtio/vanilla";var Jn=200,Mi=60,te=Ps({capturing:!1,paused:!1,entries:[],stats:[],dropped:0}),Is=0,$n=null,Pr=null,Ir=!1,Ts=e=>`${(e/1e3).toFixed(2)}s`;function _n(){let{channel:e}=Es();te.stats=xt.stats().map(t=>({...t,retained:e.retainedSize(t.type)}))}function Bs(e){if(te.paused||e.kind==="deliver")return;let t=te.entries;if(t.push({id:Is++,time:Ts(e.t),kind:e.kind,type:e.type,bytes:e.bytes,summary:e.summary}),t.length>Jn){let r=t.length-Jn;t.splice(0,r),te.dropped+=r}}function eo(){return te.capturing||(te.capturing=!0,Ir=!xt.isEnabled(),Ir&&xt.enable(),$n=xt.subscribe(Bs),_n(),Pr=setInterval(_n,500)),Qt}function Qt(){$n?.(),$n=null,Pr!==null&&(clearInterval(Pr),Pr=null),Ir&&(xt.disable(),Ir=!1),te.capturing=!1}function to(e){te.paused=e}function ro(){te.entries=[],te.dropped=0,xt.reset(),_n()}function no(e){return e<1024?`${Math.round(e)} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}import{createComponent as Ds}from"solid-js/web";import{createContext as Ms,onCleanup as Rs,useContext as Ls}from"solid-js";import{createStore as oo,reconcile as rt}from"solid-js/store";import{subscribe as io}from"valtio/vanilla";var Ri=Ms();function ao(e){let[t,r]=oo({...A}),[n,o]=oo({...q}),[i,a]=oo({...C}),d=io(A,()=>{t.paused!==A.paused&&r("paused",A.paused),t.tool!==A.tool&&r("tool",A.tool),t.selectedEntityId!==A.selectedEntityId&&r("selectedEntityId",A.selectedEntityId);let c=A.selectedEntityIds;(t.selectedEntityIds.length!==c.length||t.selectedEntityIds.some((u,v)=>u!==c[v]))&&r("selectedEntityIds",[...c]),t.hoveredEntityId!==A.hoveredEntityId&&r("hoveredEntityId",A.hoveredEntityId),t.lastTouchedEntityId!==A.lastTouchedEntityId&&r("lastTouchedEntityId",A.lastTouchedEntityId);let p=A.flags;(t.flags.size!==p.size||[...t.flags].some(u=>!p.has(u)))&&r("flags",new Set(p))}),f=io(q,()=>{n.id!==q.id&&o("id",q.id),n.time!==q.time&&o("time",q.time),o("globals",rt(q.globals)),q.config===null?n.config!==null&&o("config",null):o("config",rt(q.config))}),g=io(C,()=>{C.config===null?i.config!==null&&a("config",null):a("config",rt(C.config)),i.backgroundColor!==C.backgroundColor&&a("backgroundColor",C.backgroundColor),i.backgroundImage!==C.backgroundImage&&a("backgroundImage",C.backgroundImage),a("inputs",rt(C.inputs)),a("variables",rt(C.variables)),a("gravity",rt(C.gravity)),a("entities",rt(C.entities,{key:"uuid"}))});Rs(()=>{d(),f(),g()});let b={debug:t,game:n,stage:i};return Ds(Ri.Provider,{value:b,get children(){return e.children}})}function ze(){let e=Ls(Ri);if(!e)throw new Error("useEditor must be used within an EditorProvider");return e}import{createComponent as Gs}from"solid-js/web";import{mergeProps as Hs}from"solid-js/web";import{splitProps as Fs}from"solid-js";import{Dynamic as Os}from"solid-js/web";var ly=e=>{let[t,r]=Fs(e,["icon","class"]);return Gs(Os,Hs({get component(){return t.icon},get class(){return`text-current ${t.class||""}`}},r))};function Li(){let e=C.config,t=[];for(let r of C.entities){if(!r.uuid)continue;let n={uuid:r.uuid};r.name!==void 0&&(n.name=r.name),r.type!==void 0&&(n.type=r.type),r.position&&(n.position={...r.position}),r.rotation&&(n.rotation={...r.rotation}),r.scale&&(n.scale={...r.scale}),t.push(n)}return{version:1,exportedAt:new Date().toISOString(),stage:e?{id:e.id,backgroundColor:e.backgroundColor,backgroundImage:e.backgroundImage,gravity:{...e.gravity},variables:{...e.variables}}:null,entities:t}}function Tr(){return JSON.stringify(Li(),null,2)}async function lo(){let e=Tr();if(!navigator.clipboard?.writeText)return null;try{return await navigator.clipboard.writeText(e),e}catch{return null}}var Ys=new Set(["INPUT","TEXTAREA","SELECT"]);function Ut(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let n of r)if(n instanceof HTMLElement&&(Ys.has(n.tagName)||n.isContentEditable))return!0;return!1}function Qs(e){return!e.metaKey&&!e.ctrlKey||e.altKey||e.key.toLowerCase()!=="z"?null:e.shiftKey?"redo":"undo"}function Gi(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=n=>{let o=Qs(n);o&&(Ut(n)||(n.preventDefault(),o==="undo"?Dt():Mt()))};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}function Hi(){let e=yn()!=="none",t=ne.armedTypeId!==null;return!e&&!t?!1:(t&&(bt(null),et(null)),e&&(Ze("none"),xe("none")),!0)}function Fi(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=n=>{n.key==="Escape"&&(Ut(n)||Hi()&&n.preventDefault())};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}import{snapshot as Zs}from"valtio/vanilla";import{proxy as Us,subscribe as js}from"valtio/vanilla";var Yi=Math.PI/12,ae=Us({enabled:!0,translate:.25,rotate:Yi,scale:.1,gridVisible:!1}),me=yt(ae);function Oi(){return{enabled:ae.enabled,translate:ae.translate,rotate:ae.rotate,scale:ae.scale}}function jt(e){ae.enabled=e}function Vs(e){for(let[t,r]of Object.entries(e))typeof r=="number"&&r>0&&(ae[t]=r)}function Vt(e){ae.gridVisible=e}var so=!1;function Qi(){if(so)return()=>{};so=!0,Pt(Oi()),It(ae.gridVisible);let e=ae.gridVisible,t=js(ae,()=>{Pt(Oi()),ae.gridVisible!==e&&(e=ae.gridVisible,It(e))});return()=>{so=!1,t()}}function Ui(e,t){return e==="add"&&t!==null}function Br(e,t,r){let n=o=>o?e.find(i=>i.id===o)??null:null;return n(t)??n(r)??e[0]??null}function ji(e){return e.map(t=>({id:t.id,label:t.label,group:t.group,icon:t.icon,description:t.description,tags:t.tags}))}function Dr(e,t,r){let n=e[0];return n||(t&&r.includes(t)?t:null)}function Zt(){let e=!h.debug;P("debug",e),mt(e)}function co(e){Ze(e),xe(e)}function Ks(e){A.tool!==e&&co(e)}function nt(e){co(A.tool===e?"none":e)}function Ns(){return Dr(A.selectedEntityIds,A.lastTouchedEntityId,C.entities.map(e=>e.uuid).filter(e=>!!e))}function Vi(e){let t=Ns();return t?(bt(null),et(null),e!=="none"&&A.selectedEntityIds.length===0&&(Tt(t),ut(t)),co(e),!0):!1}function mo(e){return A.tool===e?!0:Vi(e)}function fo(e){return Vi(A.tool===e?"none":e)}function Rr(e){let t=bi(e);return t?(bt(t.id),et(t.id,t.defaultProps&&Zs(t.defaultProps)),Ze("add"),xe("add"),!0):!1}function Kt(){let e=Br(ne.entities,ne.armedTypeId,ne.lastTypeId);return e?Rr(e.id):!1}var Mr=null;function Zi(e){return Mr=e,()=>{Mr===e&&(Mr=null)}}function uo(){return Mr?.()??!1}function Nt(){jt(!ae.enabled)}function Wt(){Vt(!ae.gridVisible)}function Xt(){let e=!A.paused;pn(e),ft(e)}var go={debug:{key:"d"},select:{key:"q"},translate:{key:"w"},rotate:{key:"e"},scale:{key:"r"},add:{key:"a"},addPalette:{key:"a",shift:!0},delete:{key:"x"},snap:{key:"s"},grid:{key:"g"},undo:{key:"z",mod:!0},redo:{key:"z",mod:!0,shift:!0},playback:{key:"Enter",mod:!0}},Ws=["debug","select","translate","rotate","scale","add","addPalette","delete","snap","grid","playback"];function Xs(e,t){return e.altKey||(e.metaKey||e.ctrlKey)!==!!t.mod||e.shiftKey!==!!t.shift?!1:e.key.toLowerCase()===t.key.toLowerCase()}function qs(e){for(let t of Ws)if(Xs(e,go[t]))return t;return null}var Js=new Set(["dialog","alertdialog","menu"]);function $s(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let n of r){if(!(n instanceof HTMLElement))continue;let o=n.getAttribute("role");if(o&&Js.has(o))return!0}return!1}var _s=()=>typeof navigator<"u"&&/Mac|iPhone|iPad|iPod/i.test(navigator.platform||navigator.userAgent);function Ki(e,t=_s()){let r=[];return e.mod&&r.push(t?"Cmd":"Ctrl"),e.shift&&r.push("Shift"),r.push(e.key.length===1?e.key.toUpperCase():e.key),r.join("+")}function re(e,t){return`${e} (${Ki(go[t])})`}function Ni(e){switch(e){case"debug":return Zt(),!0;case"select":case"delete":return nt(e),!0;case"translate":case"rotate":case"scale":return mo(e);case"add":return Kt();case"addPalette":return uo();case"snap":return Nt(),!0;case"grid":return Wt(),!0;case"playback":return Xt(),!0}}function po(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=e.isActive??(()=>!0),n=o=>{let i=qs(o);i&&(Ut(o)||$s(o)||r()&&(o.preventDefault(),o.stopImmediatePropagation(),!o.repeat&&Ni(i)))};return t.addEventListener("keydown",n,!0),()=>t.removeEventListener("keydown",n,!0)}import{subscribe as ed}from"valtio/vanilla";var td=new Set(["translate","rotate","scale"]);function rd(e){return td.has(e)}function yo(){return A.selectedEntityIds.length>0||!rd(A.tool)?!1:(Ze("none"),xe("none"),!0)}function bo(e={}){return e.enabled===!1?()=>{}:(yo(),ed(A,()=>{yo()}))}import{getZylemBridge as fg}from"@zylem/bridge";import{createComponent as Kl}from"solid-js/web";var Wi=`@import"https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&display=swap";:root,:host{--zylem-color-primary: #61A6E8;--zylem-color-primary-hover: #3B8AD8;--zylem-color-primary-active: #0C6EB8;--zylem-color-accent: #E64534;--zylem-color-accent-hover: #C93A2C;--zylem-color-accent-active: #A82F24;--zylem-color-background: #11151C;--zylem-color-background-translucent: rgba(10, 20, 30, .46);--zylem-color-surface: #1A1F27;--zylem-color-surface-hover: #222831;--zylem-color-border: #2D3643;--zylem-color-active: rgba(20, 255, 60, .7);--zylem-color-active-hover: rgba(20, 255, 60, .4);--zylem-color-success-hover: #2a6734b3;--zylem-color-text: #E6EBEF;--zylem-color-text-secondary: #88929E;--zylem-color-console-background: rgba(20, 40, 60, .25);--zylem-color-console-text: #61A6E8;--zylem-spacing-xxs: .125rem;--zylem-spacing-xs: .25rem;--zylem-spacing-sm: .5rem;--zylem-spacing-md: .75rem;--zylem-spacing-lg: 1rem;--zylem-spacing-xl: 1.5rem;--zylem-spacing-xxl: 2rem;--zylem-spacing-xxxl: 3rem;--zylem-size-icon: 28px;--zylem-size-icon-sm: 16px;--zylem-size-icon-lg: 96px;--zylem-font-family: "Exo 2", sans-serif;--zylem-font-size: 14px;--zylem-radius: 12px;--zylem-border: 1.5px;--zylem-material-glass-panel: linear-gradient(180deg, rgba(38, 76, 112, .74), rgba(10, 24, 38, .58));--zylem-material-glass-panel-dark: linear-gradient(180deg, rgba(26, 31, 39, .75), rgba(10, 20, 30, .68));--zylem-material-glossy-bar: linear-gradient(180deg, rgba(205, 232, 255, .55) 0%, rgba(97, 166, 232, .34) 38%, rgba(18, 54, 88, .86) 100%);--zylem-material-button-glass: linear-gradient(180deg, rgba(178, 219, 255, .34), rgba(30, 94, 148, .72) 48%, rgba(9, 34, 58, .92));--zylem-material-button-glass-hover: linear-gradient(180deg, rgba(218, 242, 255, .58), rgba(48, 137, 220, .86) 48%, rgba(11, 62, 112, .96));--zylem-material-button-glass-active: linear-gradient(180deg, rgba(190, 255, 203, .42), rgba(28, 174, 63, .78) 50%, rgba(9, 86, 31, .95));--zylem-material-button-glass-danger: linear-gradient(180deg, rgba(255, 210, 202, .36), rgba(230, 69, 52, .82) 50%, rgba(96, 18, 13, .94));--zylem-material-field-glass: linear-gradient(180deg, rgba(8, 19, 31, .82), rgba(15, 39, 62, .72));--zylem-material-panel-header-gloss: linear-gradient(180deg, rgba(190, 226, 255, .18), rgba(61, 118, 165, .16) 46%, rgba(10, 27, 44, .26));--zylem-effect-blur-sm: 8px;--zylem-effect-blur-md: 14px;--zylem-effect-blur-lg: 24px;--zylem-effect-shadow-panel: 0 22px 54px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .1);--zylem-effect-shadow-button: inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(0,0,0,.45), 0 2px 7px rgba(0,0,0,.35);--zylem-effect-shadow-inset: inset 0 1px 2px rgba(0,0,0,.42), inset 0 -1px 0 rgba(255,255,255,.08);--zylem-effect-glow-primary: 0 0 18px rgba(97, 166, 232, .28);--zylem-effect-glow-active: 0 0 20px rgba(20, 255, 60, .26);--zylem-effect-glow-danger: 0 0 20px rgba(230, 69, 52, .24);--zylem-effect-focus-ring: 0 0 0 2px rgba(97, 166, 232, .38), 0 0 18px rgba(97, 166, 232, .22);--zylem-radius-window: 14px;--zylem-radius-panel: 12px;--zylem-radius-button: 7px;--zylem-radius-control: 6px;--zylem-radius-card: 10px;--zylem-motion-fast: .12s;--zylem-motion-normal: .16s;--zylem-motion-ease-out: cubic-bezier(.2,.8,.2,1);--zylem-art-checker-light: #4F5C72;--zylem-art-checker-dark: #3C4759;--zylem-art-canvas-border: rgba(150, 210, 255, .5);--zylem-layer-base: 0;--zylem-layer-panel: 1000;--zylem-layer-modal: 2000;--zylem-layer-popover: 3000;--zylem-layer-tooltip: 4000;--zylem-layer-menu: 5000}.zylem-layer-portals{pointer-events:auto}.zylem-layer-scope{isolation:isolate}:root{--zylem-logo-url: url(data:image/png;base64,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)}:host{--zylem-logo-url: url(data:image/png;base64,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)}.zylem-hyperglass-root{min-height:100vh;color:var(--zylem-color-text);font-family:var(--zylem-font-family);background-color:var(--zylem-color-background);background-image:radial-gradient(circle at 30% 0%,rgba(97,166,232,.18),transparent 32%),linear-gradient(-75deg,#fff0,#61a6e812 42%,#fff0 68%),linear-gradient(rgba(97,166,232,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(97,166,232,.045) 1px,transparent 1px);background-size:100% 100%,100% 100%,24px 24px,24px 24px}.zylem-hyperglass-root :focus-visible,.zylem-focus-ring:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-button:not(.zylem-console-clear),.zylem-toolbar-btn,.zylem-toolbox-btn{position:relative}.zylem-button:before,.zylem-toolbar-btn:before,.zylem-toolbox-btn:before,.entity-grid-item:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(-45deg,#fff0,#ffffff6b 40% 50%,#fff0 55%);background-size:200% 200%;background-position:0% 50%;background-repeat:no-repeat;mix-blend-mode:screen;opacity:.4;transition:background-position var(--zylem-motion-normal) var(--zylem-motion-ease-out),opacity var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-button:hover:not([disabled]):before,.zylem-toolbar-btn:hover:not([disabled]):before,.zylem-toolbox-btn:hover:not([disabled]):before,.entity-grid-item:hover:before{background-position:25% 50%;opacity:.5}.zylem-button:active:not([disabled]):before,.zylem-toolbar-btn:active:not([disabled]):before,.zylem-toolbox-btn:active:not([disabled]):before,.entity-grid-item:active:before{background-position:50% 15%;opacity:.58}.zylem-scroll,.zylem-hyperglass-root{scrollbar-color:rgba(97,166,232,.55) rgba(10,20,30,.5);scrollbar-width:thin}.zylem-scroll::-webkit-scrollbar,.zylem-hyperglass-root ::-webkit-scrollbar{width:13px;height:13px}.zylem-scroll::-webkit-scrollbar-track,.zylem-hyperglass-root ::-webkit-scrollbar-track{border-radius:999px;background:linear-gradient(90deg,#00000052,#61a6e81c,#ffffff0b);border:1px solid rgba(97,166,232,.16)}.zylem-scroll::-webkit-scrollbar-thumb,.zylem-hyperglass-root ::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid rgba(5,16,28,.82);background:linear-gradient(90deg,#dcf2ff7a,#61a6e8b8 42%,#133e66eb);box-shadow:inset 1px 0 #ffffff6b,inset -1px 0 #00000057}.zylem-scroll::-webkit-scrollbar-thumb:hover,.zylem-hyperglass-root ::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faffa3,#61a6e8eb 42%,#154c82fa)}@media(prefers-reduced-motion:reduce){.zylem-button:before,.zylem-toolbar-btn:before,.zylem-toolbox-btn:before,.entity-grid-item:before{transition:none;background-position:0% 50%}.zylem-button:hover:not([disabled]):before,.zylem-toolbar-btn:hover:not([disabled]):before,.zylem-toolbox-btn:hover:not([disabled]):before,.entity-grid-item:hover:before{background-position:0% 50%}.zylem-button:active:not([disabled]):before,.zylem-toolbar-btn:active:not([disabled]):before,.zylem-toolbox-btn:active:not([disabled]):before,.entity-grid-item:active:before{background-position:0% 50%}}@supports not (backdrop-filter: blur(1px)){.zylem-glass{background-color:var(--zylem-color-surface)}}.selected{background:var(--zylem-material-button-glass-active);box-shadow:inset 0 0 6px #14ff3c59,var(--zylem-effect-glow-active)}.overlay{background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:100% 3px;pointer-events:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#07132166;border-radius:999px}::-webkit-scrollbar-thumb{border-radius:999px;border:1px solid rgba(5,16,28,.82);background:linear-gradient(90deg,#dcf2ff66,#61a6e8a6 42%,#133e66e6)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faff99,#61a6e8e6 42%,#154c82fa)}:where(button){all:unset}#zylem-editor-container{position:fixed;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}#zylem-editor-toggle{width:var(--zylem-size-icon-lg);height:var(--zylem-size-icon-lg);background-image:var(--zylem-logo-url);background-size:contain;background-repeat:no-repeat;background-position:center;cursor:grab;z-index:1;pointer-events:auto;filter:drop-shadow(0 0 10px rgba(97,166,232,.35))}.zylem-exo-2{font-family:var(--zylem-font-family);font-optical-sizing:auto;font-weight:400;font-style:normal}.scrollable-y{overflow-y:scroll;overflow-x:hidden;scroll-behavior:smooth}.scroll-thin{scrollbar-width:thin;scrollbar-color:rgba(97,166,232,.55) rgba(10,20,30,.5)}.scroll-thin::-webkit-scrollbar{width:6px;height:6px}.scroll-thin::-webkit-scrollbar-track{background:transparent}.scroll-thin::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(90deg,#dcf2ff66,#61a6e8a6 42%,#133e66e6)}.scroll-thin::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faff99,#61a6e8e6 42%,#154c82fa)}.zylem-icon{width:18px;height:18px;stroke:currentColor;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.floating-panel{border-radius:var(--zylem-radius-window);border:1px solid rgba(146,205,255,.54);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden;pointer-events:auto}.floating-panel-titlebar{min-height:34px;box-sizing:border-box;display:flex;align-items:center;padding:0 var(--zylem-spacing-md);background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14;font-family:var(--zylem-font-family);font-weight:700;cursor:grab;user-select:none;transition:filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.floating-panel-titlebar:hover{filter:brightness(1.08)}.floating-panel-titlebar:active{filter:brightness(.95);cursor:grabbing}.floating-panel-title{font-size:13px;letter-spacing:.02em;color:#f4faff;text-shadow:0 1px 1px rgba(0,0,0,.65)}.floating-panel-content{background:transparent}.floating-panel-controls{display:flex;align-items:center;gap:7px}.zylem-section{padding:var(--zylem-spacing-sm)}.zylem-section-title{margin:0 0 var(--zylem-spacing-sm) 0;font-size:11px;font-family:var(--zylem-font-family);color:var(--zylem-color-text-secondary);font-weight:700;letter-spacing:.09em;text-transform:uppercase}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:var(--zylem-spacing-xs)}.entity-grid>*{display:flex;min-width:0;aspect-ratio:1}.entity-grid-item{position:relative;flex:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--zylem-material-button-glass);border:1px solid rgba(150,210,255,.5);border-radius:var(--zylem-radius-control);box-shadow:var(--zylem-effect-shadow-button);cursor:pointer;color:var(--zylem-color-text-secondary);transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.entity-grid-item:hover{background:var(--zylem-material-button-glass-hover);border-color:#96d2ffbf;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px);color:#f4faff}.entity-grid-item:active{transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.entity-grid-item:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.entity-icon{width:20px;height:20px;color:currentColor;position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.entity-grid-item:hover .entity-icon{color:#f4faff}@supports not (backdrop-filter: blur(1px)){.floating-panel{background:var(--zylem-color-surface)}}.zylem-accordion{color:var(--zylem-color-text);display:flex;flex-direction:column;height:100%;min-height:0}.accordion-header{position:sticky;top:0;z-index:1;display:flex}.accordion-item{position:relative;border-bottom:1px solid rgba(97,166,232,.22);display:flex;flex-direction:column;min-height:0;scrollbar-width:none}.accordion-item:last-child{border-bottom:none}.accordion-item[data-expanded]{scrollbar-width:thin;flex:1;min-height:0}.accordion-trigger{box-sizing:border-box;width:100%;flex:1;padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);display:flex;justify-content:space-between;align-items:center;gap:var(--zylem-spacing-sm);border:none;background:transparent;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);font-weight:600;letter-spacing:.03em;cursor:pointer;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.accordion-trigger:hover{background:#61a6e814}.accordion-trigger[data-expanded]{background:#61a6e81f;color:#f4faff}.accordion-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.accordion-content{overflow-y:auto;flex:1;min-height:0;transition:height .3s ease}.zylem-accordion--stack{height:auto;flex:none}.zylem-accordion--stack .accordion-item[data-expanded]{flex:none}.zylem-accordion--stack .accordion-header{position:static}.zylem-accordion--stack .accordion-content{flex:none;overflow:visible}.accordion-trigger:after{content:"\\25bc";position:relative;color:var(--zylem-color-text-secondary);font-size:10px;transition:transform var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.accordion-trigger[data-expanded]:after{transform:rotate(180deg);color:#f4faff}.panel-content{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-md);color:var(--zylem-color-text)}.zylem-menu{display:flex;flex-direction:column;height:100%;width:100%;background:transparent;border-radius:var(--zylem-radius-panel);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;pointer-events:auto;font-family:var(--zylem-font-family)}.zylem-menu::-webkit-scrollbar{display:none}.zylem-menu-header{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);border-bottom:1px solid rgba(97,166,232,.28);background:linear-gradient(180deg,#82b4e624,#1e3c5f2e 50%,#0816263d);box-shadow:inset 0 1px #ffffff26}.zylem-collapse-button{flex-shrink:0;padding:var(--zylem-spacing-sm);font-size:12px;line-height:1;margin-right:var(--zylem-spacing-sm);color:var(--zylem-color-primary);cursor:pointer}.zylem-menu h3,.zylem-menu h4{margin:0}.entities-list{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);overflow-y:auto;overflow-x:hidden}:where(ul){all:unset}.entity-item-wrapper{all:unset;cursor:pointer}.entity-item{display:grid;gap:var(--zylem-spacing-sm);grid-template-columns:1fr 1fr 1fr;border:1px solid rgba(97,166,232,.32);border-radius:var(--zylem-radius-card);background:var(--zylem-material-glass-panel-dark);box-shadow:inset 0 1px #ffffff14,0 4px 12px #00000040;padding:var(--zylem-spacing-md);margin:var(--zylem-spacing-md) 0;font-weight:600;color:var(--zylem-color-text);transition:background var(--zylem-motion-normal) var(--zylem-motion-ease-out),border-color var(--zylem-motion-normal) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.entity-item-wrapper.hovered .entity-item,.entity-item.hovered{border-color:#96d2ff99;box-shadow:inset 0 1px #ffffff1f,var(--zylem-effect-glow-primary);color:#f4faff}.entity-item-wrapper:active .entity-item{border-color:#14ff3c99;box-shadow:inset 0 1px #ffffff1f,var(--zylem-effect-glow-active)}.entity-info-item{display:grid;grid-template-columns:min-content max-content;gap:var(--zylem-spacing-sm)}@keyframes q0mxj10{0%{opacity:.6}to{opacity:1}}.detached-panel{min-width:250px;min-height:150px;position:fixed;display:flex;flex-direction:column;border-radius:var(--zylem-radius-panel);border:1px solid rgba(97,166,232,.38);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.14);overflow:hidden}.detached-panel-titlebar{box-sizing:border-box;min-height:32px;padding:0 var(--zylem-spacing-md);cursor:grab;display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);user-select:none;background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14;color:#f4faff;font-family:var(--zylem-font-family);font-weight:700;font-size:12px;text-shadow:0 1px 1px rgba(0,0,0,.65)}.detached-panel-titlebar:active{cursor:grabbing}.detached-panel-content{background:transparent;flex:1;overflow:auto;display:flex;flex-direction:column}.accordion-item--dragging{opacity:.5}.accordion-drag-ghost{display:flex;align-items:center;justify-content:space-between;background:var(--zylem-material-glass-panel-dark);border:2px dotted rgba(230,69,52,.8);border-radius:var(--zylem-radius-panel);color:var(--zylem-color-text);font-family:var(--zylem-font-family);backdrop-filter:blur(var(--zylem-effect-blur-sm));box-shadow:0 8px 24px #00000080,var(--zylem-effect-glow-danger);position:fixed;z-index:calc(var(--zylem-layer-panel) + 900);pointer-events:none}.accordion-drop-indicator{height:4px;background:var(--zylem-color-accent);border-radius:2px;margin:var(--zylem-spacing-sm) var(--zylem-spacing-md);box-shadow:0 0 8px var(--zylem-color-accent);animation:q0mxj10 .8s ease-in-out infinite alternate}@supports not (backdrop-filter: blur(1px)){.detached-panel{background:var(--zylem-color-surface)}}.zylem-field{box-sizing:border-box;min-height:28px;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.32);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);padding:0 var(--zylem-spacing-sm);outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-field:focus,.zylem-field:focus-within{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring);border-color:#61a6e899}.zylem-field::placeholder{color:var(--zylem-color-text-secondary)}.zylem-field[disabled],.zylem-field[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-field-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);margin-bottom:var(--zylem-spacing-xxs);user-select:none}.zylem-field-error{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-accent);font-family:var(--zylem-font-family);margin-top:var(--zylem-spacing-xxs)}.zylem-field-root{display:flex;flex-direction:column;min-width:0}.zylem-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--zylem-spacing-xs);min-height:28px;padding:0 var(--zylem-spacing-md);cursor:pointer;user-select:none;white-space:nowrap;border-radius:var(--zylem-radius-button);border:1px solid rgba(150,210,255,.55);color:#f4faff;background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);text-shadow:0 1px 1px rgba(0,0,0,.72);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);font-weight:600;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-button:hover:not([disabled]){background:var(--zylem-material-button-glass-hover);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px);color:#f4faff}.zylem-button:active:not([disabled]){transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.zylem-button:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.zylem-button[disabled],.zylem-button[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-button[data-variant=primary]{border-color:#b2dbffcc;background:var(--zylem-material-button-glass-hover)}.zylem-button[data-variant=primary]:hover:not([disabled]){filter:brightness(1.08)}.zylem-button[data-variant=active]{border-color:#14ff3cc7;background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active)}.zylem-button[data-variant=active]:hover:not([disabled]){background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active);filter:brightness(1.1)}.zylem-button[data-variant=danger]{border-color:#ff8472c7;background:var(--zylem-material-button-glass-danger);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-danger)}.zylem-button[data-variant=danger]:hover:not([disabled]){background:var(--zylem-material-button-glass-danger);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-danger);filter:brightness(1.1)}.zylem-button[data-variant=ghost]{border:1px solid rgba(97,166,232,.35);background:transparent;box-shadow:none;color:var(--zylem-color-primary);text-shadow:none}.zylem-button[data-variant=ghost]:hover:not([disabled]){background:#61a6e81f;box-shadow:var(--zylem-effect-glow-primary);color:var(--zylem-color-primary)}.zylem-button[data-size=sm]{min-height:22px;padding:0 var(--zylem-spacing-sm);font-size:calc(var(--zylem-font-size) - 2px)}.zylem-button[data-size=lg]{min-height:36px;padding:0 var(--zylem-spacing-lg);font-size:calc(var(--zylem-font-size) + 1px)}.zylem-button[data-size=icon]{min-height:28px;min-width:28px;padding:var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control)}.zylem-toolbar-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--zylem-spacing-xs);min-width:34px;height:34px;padding:0 var(--zylem-spacing-sm);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6);cursor:pointer;border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.5);background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);color:#e8f4ff;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-toolbar-btn:hover{background:var(--zylem-material-button-glass-hover);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px)}.zylem-toolbar-btn:active{transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.zylem-toolbar-btn:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.zylem-toolbar-btn[data-selected],.zylem-toolbar-btn.selected{border-color:#14ff3cc7;background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active)}.zylem-toolbar-btn[disabled]{opacity:.45;cursor:not-allowed}.zylem-toolbar-btn svg{width:18px;height:18px;stroke:currentColor;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.zylem-textfield-input{width:100%;height:28px}.zylem-textfield-textarea{width:100%;min-height:72px;padding:var(--zylem-spacing-sm);resize:vertical;line-height:1.45}.zylem-numberfield-group{display:inline-flex;align-items:stretch;position:relative;width:100%}.zylem-numberfield-input{width:100%;height:28px;padding-right:26px;font-variant-numeric:tabular-nums}.zylem-numberfield-stepper{position:absolute;right:3px;width:20px;height:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(150,210,255,.4);border-radius:4px;background:var(--zylem-material-button-glass);color:#f4faff;font-size:8px;line-height:1;padding:0;transition:filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-numberfield-stepper:hover{filter:brightness(1.25)}.zylem-numberfield-stepper:active{filter:brightness(.85)}.zylem-numberfield-stepper--up{top:3px}.zylem-numberfield-stepper--down{bottom:3px}.zylem-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);width:100%;height:28px;cursor:pointer;text-align:left}.zylem-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-select-icon{flex-shrink:0;font-size:9px;color:var(--zylem-color-primary);transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-select-trigger[data-expanded] .zylem-select-icon{transform:rotate(180deg)}.zylem-select-content{z-index:var(--zylem-layer-menu);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden}.zylem-select-listbox{max-height:280px;overflow-y:auto;padding:var(--zylem-spacing-xs);margin:0;display:flex;flex-direction:column;gap:2px;outline:none}.zylem-select-item{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:4px;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);cursor:pointer;user-select:none;outline:none}.zylem-select-item[data-highlighted]{background:#61a6e838;color:#f4faff}.zylem-select-item[data-selected]{background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);color:#f4faff}.zylem-select-item[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-select-item-indicator{color:var(--zylem-color-active);font-size:11px}@supports not (backdrop-filter: blur(1px)){.zylem-select-content{background:var(--zylem-color-surface)}}.zylem-checkbox-root{display:inline-flex;align-items:center;gap:var(--zylem-spacing-sm);cursor:pointer;user-select:none}.zylem-checkbox-root[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-checkbox-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-checkbox-control{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.5);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-checkbox-root:hover .zylem-checkbox-control{border-color:#96d2ffb3;box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-glow-primary)}.zylem-checkbox-root[data-checked] .zylem-checkbox-control{background:var(--zylem-material-button-glass);border:1px solid rgba(150,210,255,.65);box-shadow:var(--zylem-effect-shadow-button)}.zylem-checkbox-root:focus-within .zylem-checkbox-control{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-checkbox-icon{width:12px;height:12px;color:#f4faff;stroke-width:3.5;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.zylem-checkbox-label{font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);color:var(--zylem-color-text)}.zylem-checkbox-root:hover .zylem-checkbox-label{color:var(--zylem-color-primary)}.zylem-switch-root{display:inline-flex;align-items:center;gap:var(--zylem-spacing-sm);cursor:pointer;user-select:none}.zylem-switch-root[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-switch-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-switch-control{box-sizing:border-box;width:38px;height:20px;border-radius:999px;border:1px solid rgba(97,166,232,.42);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);padding:2px;display:flex;align-items:center;transition:background var(--zylem-motion-normal) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.zylem-switch-root[data-checked] .zylem-switch-control{background:linear-gradient(180deg,#b2dbff4d,#1e5e94d9);box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-glow-primary)}.zylem-switch-root:focus-within .zylem-switch-control{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-switch-thumb{width:14px;height:14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:linear-gradient(180deg,#f0fafff2,#a0c8ebe6);box-shadow:inset 0 1px #ffffffb3,0 1px 3px #00000080;transition:transform var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.zylem-switch-thumb[data-checked]{transform:translate(18px)}.zylem-switch-label{font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);color:var(--zylem-color-text)}.zylem-slider-root{display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);width:100%;user-select:none;touch-action:none}.zylem-slider-root[data-disabled]{opacity:.5}.zylem-slider-header{display:flex;align-items:center;justify-content:space-between}.zylem-slider-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family)}.zylem-slider-value{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-primary);font-family:var(--zylem-font-family);font-variant-numeric:tabular-nums}.zylem-slider-track{position:relative;height:8px;width:100%;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);cursor:pointer}.zylem-slider-fill{position:absolute;height:100%;border-radius:999px;background:linear-gradient(180deg,#b2dbffa6,#3089dce6);box-shadow:inset 0 1px #ffffff73}.zylem-slider-thumb{display:block;width:16px;height:16px;top:-5px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-glow-primary);cursor:grab;outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-slider-thumb:active{cursor:grabbing}.zylem-slider-thumb:focus-visible{box-shadow:inset 0 1px #ffffffbf,var(--zylem-effect-focus-ring)}.zylem-slider-thumb-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-tabs-root{display:flex;flex-direction:column;min-height:0;width:100%}.zylem-tabs-list{display:flex;align-items:flex-end;gap:3px;position:relative;padding:var(--zylem-spacing-xs) var(--zylem-spacing-xs) 0}.zylem-tabs-trigger{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs);padding:var(--zylem-spacing-xs) var(--zylem-spacing-md);border-radius:var(--zylem-radius-button) var(--zylem-radius-button) 0 0;border:1px solid rgba(97,166,232,.3);border-bottom:none;background:linear-gradient(180deg,#1a1f2799,#0a141e80);color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;cursor:pointer;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-tabs-trigger:hover{color:var(--zylem-color-text);background:linear-gradient(180deg,#264c7080,#0f273e73)}.zylem-tabs-trigger[data-selected]{color:#f4faff;background:var(--zylem-material-button-glass);border-color:#96d2ff8c;box-shadow:inset 0 1px #ffffff59;text-shadow:0 1px 1px rgba(0,0,0,.6)}.zylem-tabs-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-tabs-trigger[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-tabs-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-tabs-dirty{flex:none;width:6px;height:6px;border-radius:50%;background:var(--zylem-color-active);box-shadow:var(--zylem-effect-glow-active)}.zylem-tabs-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;margin-right:calc(var(--zylem-spacing-xs) * -1);border-radius:4px;color:var(--zylem-color-text-secondary);cursor:pointer;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-tabs-close svg{width:11px;height:11px;stroke:currentColor}.zylem-tabs-close:hover{background:var(--zylem-color-accent);color:#fff4f2}.zylem-tabs-close:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-tabs-content{flex:1;min-height:0;border-radius:0 var(--zylem-radius-card) var(--zylem-radius-card) var(--zylem-radius-card);border:1px solid rgba(97,166,232,.3);background:var(--zylem-material-glass-panel-dark);padding:var(--zylem-spacing-md);outline:none}@keyframes _1swjdrl0{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.zylem-tooltip{position:relative;z-index:var(--zylem-layer-tooltip);max-width:260px;padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:0 8px 24px #00000073,inset 0 1px #ffffff1f;backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.15);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;letter-spacing:.02em;pointer-events:none}.zylem-tooltip[data-enter]{animation:_1swjdrl0 .15s var(--zylem-motion-ease-out)}@supports not (backdrop-filter: blur(1px)){.zylem-tooltip{background:var(--zylem-color-surface)}}@keyframes _1bev2o10{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.zylem-dropdown-content{z-index:var(--zylem-layer-menu);min-width:180px;padding:var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);outline:none}.zylem-dropdown-content[data-expanded]{animation:_1bev2o10 .12s var(--zylem-motion-ease-out)}.zylem-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:4px;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);cursor:pointer;user-select:none;outline:none}.zylem-dropdown-item[data-highlighted]{background:#61a6e838;color:#f4faff}.zylem-dropdown-item[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-dropdown-item--danger{color:#ff9c8f}.zylem-dropdown-item--danger[data-highlighted]{background:#e6453440;color:#ffd9d3}.zylem-dropdown-label{flex:1 1 auto;min-width:0}.zylem-dropdown-check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:14px;height:14px;margin-right:calc(var(--zylem-spacing-xs) * -1)}.zylem-dropdown-check svg{width:13px;height:13px;stroke:currentColor}.zylem-dropdown-shortcut{font-size:calc(var(--zylem-font-size) - 3px);color:var(--zylem-color-text-secondary);letter-spacing:.06em}.zylem-dropdown-separator{height:1px;border:none;margin:var(--zylem-spacing-xs) var(--zylem-spacing-sm);background:linear-gradient(90deg,transparent,rgba(97,166,232,.35),transparent)}@supports not (backdrop-filter: blur(1px)){.zylem-dropdown-content{background:var(--zylem-color-surface)}}.zylem-menubar{display:flex;align-items:center;gap:2px;min-width:0}.zylem-menubar-trigger{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border:1px solid transparent;border-radius:var(--zylem-radius-button);background:transparent;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;letter-spacing:.02em;line-height:1.2;cursor:pointer;user-select:none;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-menubar-trigger:hover{background:#61a6e81f;color:var(--zylem-color-text)}.zylem-menubar-trigger[data-expanded]{background:#61a6e838;border-color:#61a6e859;color:#f4faff}.zylem-menubar-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-menubar-trigger[data-disabled]{opacity:.45;cursor:not-allowed}@keyframes _7rjyk0{0%{opacity:0}to{opacity:1}}@keyframes _7rjyk1{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.zylem-dialog-overlay{position:fixed;inset:0;z-index:var(--zylem-layer-modal);background:#050a1299;backdrop-filter:blur(3px);animation:_7rjyk0 .15s var(--zylem-motion-ease-out)}.zylem-dialog-positioner{position:fixed;inset:0;z-index:calc(var(--zylem-layer-modal) + 1);display:flex;align-items:center;justify-content:center;padding:var(--zylem-spacing-lg)}.zylem-dialog-content{display:flex;flex-direction:column;width:100%;max-width:440px;max-height:100%;min-height:0;border-radius:var(--zylem-radius-window);border:1px solid rgba(146,205,255,.54);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden;animation:_7rjyk1 .16s var(--zylem-motion-ease-out)}.zylem-dialog-content[data-size=lg]{max-width:760px}.zylem-dialog-content[data-size=fullscreen]{max-width:none;height:100%;border-radius:var(--zylem-radius-card)}.zylem-dialog-header{flex:none;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-xs) var(--zylem-spacing-md);background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14}.zylem-dialog-titles{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.zylem-dialog-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.02em;color:#f4faff;font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.65)}.zylem-dialog-subtitle{margin:0;font-size:calc(var(--zylem-font-size) - 2px);font-weight:500;color:#e8f4ffc7;font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.5)}.zylem-dialog-header-extra{display:flex;align-items:center;gap:var(--zylem-spacing-sm);flex:none}.zylem-dialog-body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--zylem-spacing-lg);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);line-height:1.45}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-body{display:flex;flex-direction:column}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-scope{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.zylem-dialog-footer{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:var(--zylem-spacing-sm);padding:0 var(--zylem-spacing-lg) var(--zylem-spacing-lg)}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-footer{padding:var(--zylem-spacing-sm) var(--zylem-spacing-lg);border-top:1px solid rgba(97,166,232,.28);background:#040c1499}@supports not (backdrop-filter: blur(1px)){.zylem-dialog-content{background:var(--zylem-color-surface)}}.zylem-progress-root{display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);width:100%}.zylem-progress-header{display:flex;align-items:center;justify-content:space-between}.zylem-progress-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family)}.zylem-progress-value{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-primary);font-family:var(--zylem-font-family);font-variant-numeric:tabular-nums}.zylem-progress-track{position:relative;height:10px;width:100%;overflow:hidden;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset)}.zylem-progress-fill{height:100%;border-radius:999px;background:linear-gradient(180deg,#b2dbffb3,#3089dceb);box-shadow:inset 0 1px #ffffff80,var(--zylem-effect-glow-primary);transition:width var(--zylem-motion-normal) var(--zylem-motion-ease-out);width:var(--kb-progress-fill-width)}.zylem-badge{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xxs);padding:1px var(--zylem-spacing-sm);border-radius:5px;font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 3px);font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 1px 1px rgba(0,0,0,.6);color:#f4faff;box-shadow:inset 0 1px #ffffff52,inset 0 -1px #0006;white-space:nowrap;user-select:none}.zylem-badge[data-tone=info],.zylem-badge:not([data-tone]){border:1px solid rgba(150,210,255,.55);background:linear-gradient(180deg,#b2dbff66,#1e5e94d9)}.zylem-badge[data-tone=warning]{border:1px solid rgba(255,226,150,.6);background:linear-gradient(180deg,#fff0a873,#b48014d9)}.zylem-badge[data-tone=error]{border:1px solid rgba(255,132,114,.65);background:linear-gradient(180deg,#ffb3a873,#be3426e0)}.zylem-badge[data-tone=success]{border:1px solid rgba(120,255,150,.55);background:linear-gradient(180deg,#b6ffc36b,#12822edb)}.zylem-badge[data-tone=neutral]{border:1px solid rgba(97,166,232,.35);background:linear-gradient(180deg,#3c506999,#1a1f27d9);color:var(--zylem-color-text)}.zylem-callout{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);border-left:2px solid rgba(150,210,255,.7);border-radius:0 var(--zylem-radius-control) var(--zylem-radius-control) 0;background:#61a6e81a;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);line-height:1.45}.zylem-callout-title{font-weight:700;letter-spacing:.02em}.zylem-callout-message code{font-family:Courier New,monospace;font-size:.95em}.zylem-callout[data-tone=warning]{border-left-color:#fcd34dcc;background:#fcd34d17;color:#fde68a}.zylem-callout[data-tone=error]{border-left-color:#ff8472d9;background:#e6453424;color:#ffd9d3}.zylem-callout[data-tone=success]{border-left-color:#78ff96b3;background:#3cc8641f;color:#d9ffe3}@keyframes _1h6y8tx0{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.zylem-toast{position:absolute;left:50%;bottom:var(--zylem-spacing-lg);transform:translate(-50%);z-index:var(--zylem-layer-panel);max-width:calc(100% - 32px);padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-sm));color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);line-height:1.4;text-align:center;pointer-events:none;animation:_1h6y8tx0 .16s var(--zylem-motion-ease-out)}.zylem-toast[data-position=top]{top:var(--zylem-spacing-lg);bottom:auto}.zylem-toast[data-tone=success]{border-color:#78ff968c}.zylem-toast[data-tone=error]{border-color:#ff8472a6;color:#ffd9d3}@supports not (backdrop-filter: blur(1px)){.zylem-toast{background:var(--zylem-color-surface)}}.zylem-separator{border:none}.zylem-separator[data-orientation=horizontal]{height:1px;width:100%;margin:var(--zylem-spacing-sm) 0;background:linear-gradient(90deg,transparent,rgba(97,166,232,.4),transparent)}.zylem-separator[data-orientation=vertical]{width:1px;align-self:stretch;margin:0 var(--zylem-spacing-sm);background:linear-gradient(180deg,transparent,rgba(97,166,232,.4),transparent)}.zylem-window-controls{display:flex;align-items:center;gap:7px}.zylem-window-control,.floating-panel-button{all:unset;box-sizing:border-box;cursor:pointer;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:#f4faff;text-shadow:0 1px 1px rgba(0,0,0,.6);border-radius:var(--zylem-radius-control);border:1px solid rgba(255,255,255,.38);background:var(--zylem-material-button-glass);box-shadow:inset 1px 1px #ffffff80,inset -1px -1px #0006,0 1px 3px #0006;transition:filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-window-control:hover,.floating-panel-button:hover{filter:brightness(1.2);transform:translateY(-1px)}.zylem-window-control:active,.floating-panel-button:active{filter:brightness(.9);transform:translateY(1px)}.zylem-window-control:focus-visible,.floating-panel-button:focus-visible{box-shadow:inset 1px 1px #ffffff80,inset -1px -1px #0006,var(--zylem-effect-focus-ring)}.zylem-window-control--close:hover{background:var(--zylem-color-accent);border-color:#ffa096bf;box-shadow:inset 1px 1px #fff6,inset -1px -1px #0006,var(--zylem-effect-glow-danger)}.zylem-titlebar{box-sizing:border-box;min-height:42px;display:flex;align-items:center;gap:var(--zylem-spacing-sm);padding:0 var(--zylem-spacing-md);background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14;user-select:none}.zylem-titlebar--compact{min-height:32px;padding:0 var(--zylem-spacing-sm)}.zylem-titlebar-title{flex:1;font-size:13px;font-weight:700;letter-spacing:.02em;color:#f4faff;font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.65);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-titlebar--draggable{cursor:grab}.zylem-titlebar--draggable:active{cursor:grabbing}.zylem-panel{box-sizing:border-box;display:flex;flex-direction:column;min-height:0;border-radius:var(--zylem-radius-panel);border:1px solid rgba(97,166,232,.38);background:var(--zylem-material-glass-panel-dark);box-shadow:0 16px 36px #0000005c,inset 0 1px #ffffff17;backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.14);overflow:hidden}.zylem-panel--borderless{border:none;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.zylem-panel--window{border-radius:var(--zylem-radius-window);border:1px solid rgba(146,205,255,.54);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22)}.zylem-panel-header{box-sizing:border-box;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);padding:0 var(--zylem-spacing-md);border-bottom:1px solid rgba(97,166,232,.22);background:var(--zylem-material-panel-header-gloss);box-shadow:inset 0 1px #ffffff26;user-select:none}.zylem-panel-header-title{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--zylem-color-text);font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-panel-body{flex:1;min-height:0;padding:var(--zylem-spacing-md)}.zylem-panel-body--flush{padding:0}@supports not (backdrop-filter: blur(1px)){.zylem-panel{background:var(--zylem-color-surface)}.zylem-panel--borderless{background:transparent}}.zylem-toolbar{box-sizing:border-box;display:flex;align-items:center;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-sm);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.3);background:linear-gradient(180deg,#82b4e633,#1e3c5f47 50%,#08162666);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000059}.zylem-toolbar--vertical{flex-direction:column}.zylem-toolbar.separator{border-bottom:1px solid rgba(97,166,232,.4)}.zylem-property-list{display:flex;flex-direction:column;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.18);background:#08131f59;overflow:hidden}.zylem-property-row{min-height:30px;display:grid;grid-template-columns:var(--zylem-property-label-width, 112px) minmax(0,1fr);align-items:center;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-bottom:1px solid rgba(97,166,232,.12);background:linear-gradient(90deg,rgba(97,166,232,.045),transparent 45%)}.zylem-property-row:last-child{border-bottom:none}.zylem-property-row:hover{background:linear-gradient(90deg,#61a6e821,#61a6e806 65%)}.zylem-property-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:none}.zylem-property-value{color:var(--zylem-color-primary);font-size:var(--zylem-font-size);font-family:var(--zylem-font-family);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-property-value--clickable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.zylem-property-value--clickable:hover{text-decoration-style:solid;color:var(--zylem-color-active)}.zylem-console-container{position:relative;display:flex;flex-direction:column;min-height:0;height:100%;width:100%;box-sizing:border-box;padding:var(--zylem-spacing-sm)}.zylem-console-wrapper{position:relative;display:flex;flex:1;min-height:0}.zylem-console{flex:1;min-height:96px;width:100%;height:100%;box-sizing:border-box;margin:0;padding:var(--zylem-spacing-sm);resize:none;overflow-y:auto;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.28);background:#040c14b8;box-shadow:var(--zylem-effect-shadow-inset);color:var(--zylem-color-console-text);font-family:Courier New,monospace;font-size:calc(var(--zylem-font-size) - 1px);line-height:1.45;outline:none;white-space:pre-wrap;word-break:break-word}.zylem-console:focus-visible{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-console-actions{position:absolute;top:var(--zylem-spacing-xs);right:var(--zylem-spacing-sm);display:flex;gap:var(--zylem-spacing-xs);z-index:1}.zylem-console-clear.zylem-button,.zylem-console-clear{position:absolute;top:var(--zylem-spacing-sm);right:var(--zylem-spacing-sm);z-index:1}.sidebar{box-sizing:border-box;display:flex;flex-direction:column;min-height:0;height:100%;overflow-y:auto;background:var(--zylem-material-glass-panel-dark);border-right:1px solid rgba(97,166,232,.28);backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.1)}.sidebar--borderless{height:auto;overflow:visible;background:none;border-right:none;backdrop-filter:none}.sidebar-section{display:flex;flex-direction:column;padding-bottom:var(--zylem-spacing-sm)}.sidebar-section-title{padding:var(--zylem-spacing-sm) var(--zylem-spacing-md) var(--zylem-spacing-xs);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);user-select:none}.sidebar-item{display:flex;align-items:center;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-md);margin:0 var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control);border:1px solid transparent;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);cursor:pointer;user-select:none;text-decoration:none;background:none;text-align:left;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.sidebar-item:hover{background:#61a6e81f}.sidebar-item[data-active],.sidebar-item.is-active{background:var(--zylem-material-button-glass);border:1px solid rgba(150,210,255,.5);box-shadow:var(--zylem-effect-shadow-button);color:#f4faff;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.6)}.sidebar-item:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.sidebar-item[disabled],.sidebar-item[data-disabled]{opacity:.45;cursor:not-allowed}@supports not (backdrop-filter: blur(1px)){.sidebar{background:var(--zylem-color-surface)}}.zylem-card{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zylem-spacing-xs);padding:var(--zylem-spacing-md);border-radius:var(--zylem-radius-card);border:1px solid rgba(97,166,232,.32);background:var(--zylem-material-glass-panel-dark);box-shadow:0 8px 20px #0000004d,inset 0 1px #ffffff14;color:var(--zylem-color-text);font-family:var(--zylem-font-family);transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-card--interactive{cursor:pointer;text-align:left}.zylem-card--interactive:hover{border-color:#96d2ff99;box-shadow:0 8px 20px #0000004d,inset 0 1px #ffffff14,var(--zylem-effect-glow-primary);transform:translateY(-1px)}.zylem-card--interactive:active{transform:translateY(1px)}.zylem-card--interactive:focus-visible{outline:none;box-shadow:0 8px 20px #0000004d,var(--zylem-effect-focus-ring)}.zylem-card--selected{border-color:#14ff3c99;box-shadow:0 8px 20px #0000004d,inset 0 1px #ffffff14,var(--zylem-effect-glow-active)}.zylem-card-media{display:flex;align-items:center;justify-content:center;min-height:64px;border-radius:var(--zylem-radius-control);overflow:hidden;color:#ffffffd9}.zylem-card-media>img{display:block;width:100%;height:100%;object-fit:cover}.zylem-card-title{font-size:var(--zylem-font-size);font-weight:700;color:#f4faff;text-shadow:0 1px 1px rgba(0,0,0,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-card-description{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-text-secondary);line-height:1.4}.zylem-search{position:relative;display:flex;align-items:center;width:100%}.zylem-search-icon{position:absolute;left:var(--zylem-spacing-sm);width:14px;height:14px;color:var(--zylem-color-text-secondary);pointer-events:none}.zylem-search-input{width:100%;height:28px;padding-left:28px}.zylem-menu-button{position:relative;display:inline-flex;align-items:stretch}.zylem-menu-button__face{display:inline-flex;align-items:center;justify-content:center}.zylem-menu-button__chevron{position:absolute;right:-2px;bottom:-2px;display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;font-size:9px;line-height:1;color:#ffffffbf;background:#141820eb;border:1px solid rgba(255,255,255,.16);border-radius:var(--zylem-radius-control);cursor:pointer;transition:color var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-menu-button__chevron--static{pointer-events:none}.zylem-menu-button__chevron:hover:not([disabled]){color:#fff;border-color:#fff6}.zylem-menu-button__chevron:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-menu-button__chevron[disabled]{opacity:.45;cursor:not-allowed}.zylem-menu-button__panel{z-index:var(--zylem-layer-menu);color:var(--zylem-color-text);font-family:var(--zylem-font-family);border-radius:var(--zylem-radius-panel);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);outline:none}.zylem-menu-button__face svg{width:18px;height:18px}@supports not (backdrop-filter: blur(1px)){.zylem-menu-button__panel{background:var(--zylem-color-surface)}}.zylem-picker{display:flex;flex-direction:column;gap:var(--zylem-spacing-sm);width:260px;max-height:340px;padding:var(--zylem-spacing-sm);color:var(--zylem-color-text);font-family:var(--zylem-font-family)}.zylem-picker__search{flex-shrink:0}.zylem-picker__groups{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);overflow-y:auto}.zylem-picker__group-title{margin:0 0 var(--zylem-spacing-xs);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.5}.zylem-picker__item{display:flex;gap:var(--zylem-spacing-sm);align-items:center;width:100%;padding:var(--zylem-spacing-xs) var(--zylem-spacing-xs);font-family:inherit;font-size:calc(var(--zylem-font-size) - 2px);color:inherit;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--zylem-radius-control);cursor:pointer;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-picker__item:hover:not([disabled]){background:#ffffff14}.zylem-picker__item:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-picker__item[data-selected]{background:#78b4ff29;border-color:#78b4ff73}.zylem-picker__item[disabled]{opacity:.45;cursor:not-allowed}.zylem-picker__item-glyph{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:currentColor}.zylem-picker__item-glyph svg{width:var(--zylem-size-icon-sm);height:var(--zylem-size-icon-sm)}.zylem-picker__item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-picker__empty{margin:0;padding:var(--zylem-spacing-sm) var(--zylem-spacing-xs);font-size:calc(var(--zylem-font-size) - 3px);opacity:.6}.zylem-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xl);text-align:center;border-radius:var(--zylem-radius-card);border:1px dashed rgba(97,166,232,.3);background:#08131f4d;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family)}.zylem-empty-state-title{font-size:var(--zylem-font-size);font-weight:600;color:var(--zylem-color-text)}.zylem-empty-state-message{font-size:calc(var(--zylem-font-size) - 1px);line-height:1.45;max-width:360px}.zylem-empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--zylem-spacing-sm);margin-top:var(--zylem-spacing-xs)}.zylem-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px var(--zylem-spacing-xs);border-radius:4px;border:1px solid rgba(97,166,232,.4);background:linear-gradient(180deg,#3c5573b3,#142030d9);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #00000073,0 1px 2px #0006;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;user-select:none;white-space:nowrap}.zylem-build-label{position:fixed;top:10px;right:12px;z-index:var(--zylem-layer-tooltip);pointer-events:auto;padding:2px var(--zylem-spacing-sm);border-radius:5px;border:1px solid rgba(97,166,232,.35);background:linear-gradient(180deg,#3c50698c,#1a1f27c7);box-shadow:inset 0 1px #ffffff38,0 2px 8px #00000059;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.4;text-shadow:0 1px 1px rgba(0,0,0,.55);user-select:none;white-space:nowrap}.zylem-pixel-grid{box-sizing:content-box;position:relative;flex:none;background:repeating-conic-gradient(var(--zylem-art-checker-light) 0 25%,var(--zylem-art-checker-dark) 0 50%) 0 0 / calc(var(--zylem-pixel-grid-cell, 8px) * 2) calc(var(--zylem-pixel-grid-cell, 8px) * 2);border:1px solid var(--zylem-art-canvas-border);image-rendering:pixelated;overflow:hidden}.zylem-pixel-grid>canvas,.zylem-pixel-grid>img,.zylem-pixel-grid>svg{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated}.zylem-size-picker{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);font-family:var(--zylem-font-family)}.zylem-size-picker-presets{display:flex;flex-wrap:wrap;gap:var(--zylem-spacing-sm)}.zylem-size-picker-presets .zylem-button{min-width:40px;font-variant-numeric:tabular-nums}.zylem-size-picker-stage{box-sizing:border-box;position:relative;flex:none;padding:8px;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);overflow:hidden}.zylem-size-picker-frame{position:relative;box-sizing:content-box}.zylem-size-picker-handle{position:absolute;box-sizing:border-box;border-radius:999px;border:1px solid rgba(178,219,255,.85);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-glow-primary);touch-action:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-size-picker-handle:hover,.zylem-size-picker-handle[data-dragging]{box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-focus-ring)}.zylem-size-picker-handle[data-edge=right]{top:50%;right:-6px;width:8px;height:min(28px,60%);transform:translateY(-50%);cursor:ew-resize}.zylem-size-picker-handle[data-edge=bottom]{left:50%;bottom:-6px;width:min(28px,60%);height:8px;transform:translate(-50%);cursor:ns-resize}.zylem-size-picker-handle[data-edge=corner]{right:-7px;bottom:-7px;width:14px;height:14px;cursor:nwse-resize}.zylem-size-picker-readout{position:absolute;right:var(--zylem-spacing-sm);bottom:var(--zylem-spacing-xs);font-size:calc(var(--zylem-font-size) - 2px);font-variant-numeric:tabular-nums;color:var(--zylem-color-primary);text-shadow:0 1px 1px rgba(0,0,0,.6);pointer-events:none}.zylem-size-picker-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--zylem-spacing-md)}.zylem-tool-group{display:inline-flex;align-items:center;gap:var(--zylem-spacing-md);min-width:0}.zylem-tool-group-label{font-family:var(--zylem-font-family);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);white-space:nowrap}.zylem-tool-group-items{display:flex;align-items:center;flex-wrap:wrap;gap:var(--zylem-spacing-sm)}.zylem-tool-btn{width:34px;padding:0}.zylem-add-tile{box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zylem-spacing-xs);flex:none;padding:0;margin:0;cursor:pointer;user-select:none;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);border-radius:var(--zylem-radius-control);border:1px dashed rgba(150,210,255,.55);background:#61a6e80f;transition:color var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-add-tile[data-variant=square]{width:26px;height:26px}.zylem-add-tile[data-variant=tall]{width:56px;height:74px}.zylem-add-tile[data-variant=fill]{width:100%;height:100%;min-height:110px;border-radius:var(--zylem-radius-card)}.zylem-add-tile:hover:not([disabled]){color:#e8f4ff;border-color:#b2dbffe6;background:#61a6e829;box-shadow:var(--zylem-effect-glow-primary)}.zylem-add-tile:active:not([disabled]){background:#61a6e83d}.zylem-add-tile:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-add-tile[disabled]{opacity:.45;cursor:not-allowed}.zylem-add-tile-icon{display:block;width:16px;height:16px;stroke:currentColor;flex:none}.zylem-add-tile[data-variant=tall] .zylem-add-tile-icon{width:20px;height:20px}.zylem-add-tile[data-variant=fill] .zylem-add-tile-icon{width:24px;height:24px}.zylem-add-tile-label{font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.zylem-add-tile[data-variant=fill] .zylem-add-tile-label{font-size:13px}.zylem-palette{display:flex;align-items:center;flex-wrap:wrap;gap:var(--zylem-spacing-sm)}.zylem-swatch{box-sizing:border-box;width:26px;height:26px;flex:none;padding:0;margin:0;cursor:pointer;border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.4);background:var(--zylem-swatch-color, transparent);box-shadow:inset 0 1px #ffffff38,0 1px 3px #0006;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-swatch[data-transparent]{--zylem-pixel-grid-cell: 5px;background:repeating-conic-gradient(var(--zylem-art-checker-light) 0 25%,var(--zylem-art-checker-dark) 0 50%) 0 0 / calc(var(--zylem-pixel-grid-cell, 8px) * 2) calc(var(--zylem-pixel-grid-cell, 8px) * 2)}.zylem-swatch:hover:not([disabled]){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 2px 6px #00000073,var(--zylem-effect-glow-primary)}.zylem-swatch:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-swatch[data-selected]{border-color:#f4faff;box-shadow:0 0 0 2px #0a141ee6,0 0 0 3px #f4faffd9,var(--zylem-effect-glow-primary)}.zylem-swatch[disabled]{opacity:.45;cursor:not-allowed}.zylem-frame-strip{display:flex;flex-direction:column;gap:var(--zylem-spacing-sm);min-width:0;font-family:var(--zylem-font-family)}.zylem-frame-strip-header{display:flex;align-items:baseline;gap:var(--zylem-spacing-sm)}.zylem-frame-strip-label{font-family:var(--zylem-font-family);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);white-space:nowrap}.zylem-frame-strip-title{font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;color:var(--zylem-color-text)}.zylem-frame-strip-row{display:flex;align-items:flex-start;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-xs) var(--zylem-spacing-sm);overflow-x:auto;overflow-y:hidden}.zylem-frame-thumb{box-sizing:border-box;position:relative;display:flex;flex-direction:column;flex:none;width:56px;height:74px;padding:0;margin:0;cursor:pointer;overflow:hidden;border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.4);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);color:#e8f4ff;font-family:var(--zylem-font-family);transition:border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-frame-thumb:hover{border-color:#b2dbffcc;transform:translateY(-1px);box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-glow-primary)}.zylem-frame-thumb:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-frame-thumb[data-selected]{border-color:#b2dbfff2;box-shadow:var(--zylem-effect-shadow-inset),0 0 0 1px #b2dbff99,var(--zylem-effect-glow-primary)}.zylem-frame-thumb-surface{--zylem-pixel-grid-cell: 6px;position:relative;display:block;flex:none;width:100%;aspect-ratio:1 / 1;background:repeating-conic-gradient(var(--zylem-art-checker-light) 0 25%,var(--zylem-art-checker-dark) 0 50%) 0 0 / calc(var(--zylem-pixel-grid-cell, 8px) * 2) calc(var(--zylem-pixel-grid-cell, 8px) * 2);image-rendering:pixelated}.zylem-frame-thumb-surface>canvas,.zylem-frame-thumb-surface>img,.zylem-frame-thumb-surface>svg{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated}.zylem-frame-thumb-index{display:flex;align-items:center;justify-content:center;flex:1 1 auto;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;background:var(--zylem-material-panel-header-gloss);border-top:1px solid rgba(150,210,255,.25)}.zylem-frame-actions{display:flex;align-items:center;gap:var(--zylem-spacing-sm)}.zylem-frame-actions .zylem-button .zylem-icon{width:14px;height:14px;stroke:currentColor}.zylem-frame-actions-spacer{flex:1 1 auto}.zylem-frame-actions-group{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs)}.zylem-frame-actions-step{width:34px;padding:0}.zylem-playback{display:flex;align-items:center;gap:var(--zylem-spacing-md);min-width:0;font-family:var(--zylem-font-family)}.zylem-playback-transport{display:flex;align-items:center;gap:var(--zylem-spacing-xs)}.zylem-playback-btn{width:34px;padding:0}.zylem-playback-btn--play{width:44px}.zylem-playback-btn .zylem-icon{fill:currentColor;fill-opacity:.85}.zylem-playback-loop .zylem-icon{width:14px;height:14px;stroke:currentColor}.zylem-playback-extra{display:flex;align-items:center;gap:var(--zylem-spacing-sm);min-width:0;flex:1 1 auto;color:var(--zylem-color-text-secondary);font-size:calc(var(--zylem-font-size) - 1px)}.zylem-playback-extra .zylem-field-root{width:72px}.zylem-timeline{display:flex;align-items:center;gap:var(--zylem-spacing-md);width:100%;min-width:0;font-family:var(--zylem-font-family)}.zylem-timeline-root{display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);flex:1 1 auto;min-width:0;user-select:none;touch-action:none}.zylem-timeline-root[data-disabled]{opacity:.5}.zylem-timeline-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary)}.zylem-timeline-track{position:relative;height:18px;width:100%;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);cursor:pointer}.zylem-timeline-fill{position:absolute;top:0;height:100%;border-radius:999px;background:linear-gradient(180deg,#b2dbff8c,#3089dccc);box-shadow:inset 0 1px #fff6}.zylem-timeline-markers,.zylem-timeline-keyframes{position:absolute;inset:0;pointer-events:none}.zylem-timeline-tick{position:absolute;top:50%;width:4px;height:4px;margin-left:-2px;border-radius:999px;background:#cde8ff8c;box-shadow:0 0 0 1px #00000059;transform:translateY(-50%)}.zylem-timeline-keyframe{position:absolute;top:50%;width:10px;height:10px;padding:0;margin:0 0 0 -5px;cursor:pointer;pointer-events:auto;border:1px solid rgba(255,255,255,.7);border-radius:2px;background:linear-gradient(135deg,#fff4c8fa,#f0b43cf2);box-shadow:0 1px 3px #0000008c;transform:translateY(-50%) rotate(45deg);transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-timeline-keyframe:hover:not([disabled]){filter:brightness(1.12);box-shadow:0 1px 3px #0000008c,0 0 10px #f0b43c99}.zylem-timeline-keyframe[data-active]{box-shadow:0 1px 3px #0000008c,0 0 12px #f0b43ccc}.zylem-timeline-keyframe:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-timeline-thumb{display:block;width:14px;height:24px;top:-4px;border-radius:5px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-glow-primary);cursor:grab;outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-timeline-thumb:active{cursor:grabbing}.zylem-timeline-thumb:focus-visible{box-shadow:inset 0 1px #ffffffbf,var(--zylem-effect-focus-ring)}.zylem-timeline-thumb-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-timeline-time{box-sizing:border-box;flex:none;display:inline-flex;align-items:center;justify-content:flex-end;width:12ch;height:18px;line-height:18px;font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;font-variant-numeric:tabular-nums;color:var(--zylem-color-text);text-shadow:0 1px 1px rgba(0,0,0,.6);text-align:right;white-space:nowrap;overflow:hidden}.zylem-toolbox-btn{box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zylem-spacing-sm);width:100%;min-height:72px;padding:var(--zylem-spacing-md) var(--zylem-spacing-sm);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);font-weight:600;line-height:1;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6);cursor:pointer;user-select:none;border-radius:var(--zylem-radius-button);border:1px solid rgba(150,210,255,.5);background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);color:#e8f4ff;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-toolbox-btn:hover:not([disabled]){background:var(--zylem-material-button-glass-hover);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px)}.zylem-toolbox-btn:active:not([disabled]){transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.zylem-toolbox-btn:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.zylem-toolbox-btn[data-selected]{border-color:#14ff3cc7;background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active)}.zylem-toolbox-btn[disabled]{opacity:.45;cursor:not-allowed}.zylem-toolbox-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.zylem-toolbox-btn-icon svg{width:24px;height:24px;stroke:currentColor;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.zylem-toolbox-btn-label{display:block}.zylem-toolbox-btn[data-size=lg],.zylem-toolbox-grid[data-size=lg] .zylem-toolbox-btn:not([data-size]){min-height:96px;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-lg) var(--zylem-spacing-sm);font-size:calc(var(--zylem-font-size) + 1px);border-radius:var(--zylem-radius-card)}.zylem-toolbox-btn[data-size=lg] .zylem-toolbox-btn-icon,.zylem-toolbox-grid[data-size=lg] .zylem-toolbox-btn:not([data-size]) .zylem-toolbox-btn-icon,.zylem-toolbox-btn[data-size=lg] .zylem-toolbox-btn-icon svg,.zylem-toolbox-grid[data-size=lg] .zylem-toolbox-btn:not([data-size]) .zylem-toolbox-btn-icon svg{width:32px;height:32px}.zylem-toolbox-btn[data-size=xl],.zylem-toolbox-grid[data-size=xl] .zylem-toolbox-btn:not([data-size]){min-height:120px;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-xl) var(--zylem-spacing-md);font-size:calc(var(--zylem-font-size) + 2px);border-radius:var(--zylem-radius-card)}.zylem-toolbox-btn[data-size=xl] .zylem-toolbox-btn-icon,.zylem-toolbox-grid[data-size=xl] .zylem-toolbox-btn:not([data-size]) .zylem-toolbox-btn-icon,.zylem-toolbox-btn[data-size=xl] .zylem-toolbox-btn-icon svg,.zylem-toolbox-grid[data-size=xl] .zylem-toolbox-btn:not([data-size]) .zylem-toolbox-btn-icon svg{width:40px;height:40px}.zylem-toolbox-grid{display:flex;flex-direction:column;gap:var(--zylem-spacing-sm);min-width:0}.zylem-toolbox-grid-label{font-family:var(--zylem-font-family);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);white-space:nowrap}.zylem-toolbox-grid-items{display:grid;grid-template-columns:repeat(var(--zylem-toolbox-columns, 2),minmax(0,1fr));gap:var(--zylem-spacing-sm)}.zylem-lanes{position:relative;overflow:auto;min-height:0;min-width:0;font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-text);background:var(--zylem-material-field-glass);border:1px solid rgba(97,166,232,.22);border-radius:var(--zylem-radius-control);box-shadow:var(--zylem-effect-shadow-inset);user-select:none}.zylem-lanes[data-disabled]{opacity:.6}.zylem-lanes-content{position:relative;min-width:100%;min-height:100%}.zylem-lanes-ruler-row{position:sticky;top:0;z-index:3;display:flex;height:26px;background:var(--zylem-material-panel-header-gloss);background-color:#0e1e30f5;border-bottom:1px solid rgba(97,166,232,.3);box-shadow:0 1px #ffffff0f inset}.zylem-lanes-corner{position:sticky;left:0;z-index:4;flex:none;width:var(--zylem-lanes-header);display:flex;align-items:center;padding:0 var(--zylem-spacing-sm);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);background:#0e1e30fa;border-right:1px solid rgba(97,166,232,.16)}.zylem-lanes-ruler{position:relative;flex:none;height:100%;cursor:pointer}.zylem-lanes-range{position:absolute;top:0;bottom:0;background:#f0b43c2e;border-left:1px solid rgba(240,180,60,.7);border-right:1px solid rgba(240,180,60,.7);pointer-events:none}.zylem-lanes-tick{position:absolute;bottom:0;width:1px;height:6px;background:#cde8ff59;pointer-events:none}.zylem-lanes-tick[data-major]{height:10px;background:#cde8ffb3}.zylem-lanes-tick-label{position:absolute;left:4px;bottom:8px;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--zylem-color-text-secondary)}.zylem-lanes-playhead-head{position:absolute;bottom:0;width:0;height:0;margin-left:-6px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid rgba(255,244,200,.98);filter:drop-shadow(0 0 3px rgba(240,180,60,.8));pointer-events:none}.zylem-lanes-playhead{position:absolute;top:26px;bottom:0;z-index:1;width:1px;margin-left:-.5px;background:#ffecaae6;box-shadow:0 0 6px #f0b43cb3;pointer-events:none}.zylem-lanes-rows{display:flex;flex-direction:column}.zylem-lane{display:flex;flex:none;border-bottom:1px solid rgba(97,166,232,.16)}.zylem-lane[data-selected]{background:#61a6e812}.zylem-lane-header{position:sticky;left:0;z-index:2;flex:none;width:var(--zylem-lanes-header);min-width:0;display:flex;align-items:stretch;background:#101b2af5;border-right:1px solid rgba(97,166,232,.16)}.zylem-lane[data-selected]>.zylem-lane-header{background:#1e3652f5}.zylem-lane-body{position:relative;flex:none;height:100%;background-image:repeating-linear-gradient(90deg,rgba(205,232,255,.16) 0 1px,transparent 1px var(--zylem-lanes-major)),repeating-linear-gradient(90deg,rgba(205,232,255,.06) 0 1px,transparent 1px var(--zylem-lanes-minor))}.zylem-lane[data-dimmed]>.zylem-lane-body{opacity:.45}.zylem-lane--group{background:#61a6e814}.zylem-lane--group>.zylem-lane-header{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary)}.zylem-lane--group>.zylem-lane-body{background-image:none}.zylem-lane-end{position:absolute;top:0;bottom:0;right:0;background:#00000047;pointer-events:none}.zylem-clip{position:absolute;top:4px;bottom:4px;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;border-radius:5px;border:1px solid color-mix(in srgb,var(--zylem-clip-color) 70%,white 30%);background:linear-gradient(180deg,color-mix(in srgb,var(--zylem-clip-color) 70%,white 30%),color-mix(in srgb,var(--zylem-clip-color) 75%,black 25%));box-shadow:inset 0 1px #ffffff59,0 1px 3px #00000073;color:#0b1522;cursor:grab;outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-clip:hover:not([data-disabled]){filter:brightness(1.08)}.zylem-clip[data-selected]{border-color:#ffffffe6;box-shadow:inset 0 1px #ffffff73,0 0 0 1px #ffffff80,var(--zylem-effect-glow-primary)}.zylem-clip:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-clip[data-dragging]{cursor:grabbing;filter:brightness(1.12)}.zylem-clip[data-disabled]{cursor:default;opacity:.7}.zylem-clip-label{flex:none;padding:2px 6px 0;font-size:11px;font-weight:600;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,255,255,.25)}.zylem-clip-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;pointer-events:none}.zylem-clip-blend{position:absolute;top:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,rgba(0,0,0,.28) 0 3px,transparent 3px 7px);border-right:1px dashed rgba(0,0,0,.45);pointer-events:none}.zylem-clip-handle{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize}.zylem-clip-handle[data-edge=start]{left:0}.zylem-clip-handle[data-edge=end]{right:0}.zylem-clip-handle:hover{background:#ffffff47}.zylem-marker{position:absolute;top:50%;display:flex;align-items:center;gap:4px;padding:0;margin:0;border:0;background:transparent;color:var(--zylem-color-text);cursor:grab;transform:translate(-50%,-50%);outline:none}.zylem-marker[data-shape=pin]{transform:translate(-7px,-50%)}.zylem-marker:disabled{cursor:default;opacity:.6}.zylem-marker[data-dragging]{cursor:grabbing}.zylem-marker-glyph{display:block;width:11px;height:11px;box-sizing:border-box;border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 3px #0000008c;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-marker[data-shape=diamond] .zylem-marker-glyph{border-radius:2px;background:var(--zylem-marker-color, linear-gradient(135deg, rgba(255, 244, 200, .98), rgba(240, 180, 60, .95)));transform:rotate(45deg)}.zylem-marker[data-shape=pin] .zylem-marker-glyph{width:13px;height:13px;border-radius:999px 999px 999px 2px;background:var(--zylem-marker-color, linear-gradient(135deg, rgba(178, 219, 255, .98), rgba(48, 137, 220, .95)));transform:rotate(-45deg)}.zylem-marker:hover:not(:disabled) .zylem-marker-glyph{filter:brightness(1.12)}.zylem-marker[data-selected] .zylem-marker-glyph{border-color:#fff;box-shadow:0 1px 3px #0000008c,0 0 10px #ffffffb3}.zylem-marker:focus-visible .zylem-marker-glyph{box-shadow:var(--zylem-effect-focus-ring)}.zylem-marker-label{font-size:10px;white-space:nowrap;color:var(--zylem-color-text);text-shadow:0 1px 1px rgba(0,0,0,.7);max-width:120px;overflow:hidden;text-overflow:ellipsis}.zylem-track-header{display:flex;align-items:stretch;gap:var(--zylem-spacing-xs);width:100%;min-width:0;box-sizing:border-box;padding:0 var(--zylem-spacing-xs) 0 0;font-family:var(--zylem-font-family);color:var(--zylem-color-text);cursor:default}.zylem-track-header[data-disabled]{opacity:.6}.zylem-track-header-swatch{flex:none;width:4px;background:var(--zylem-track-color);box-shadow:0 0 6px color-mix(in srgb,var(--zylem-track-color) 60%,transparent)}.zylem-track-header-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0 var(--zylem-spacing-xs)}.zylem-track-header-title{display:flex;align-items:center;gap:var(--zylem-spacing-xs);min-width:0}.zylem-track-header-icon{display:inline-flex;flex:none;color:var(--zylem-color-text-secondary)}.zylem-track-header-icon>svg{width:13px;height:13px}.zylem-track-header-name{font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zylem-track-header[data-muted] .zylem-track-header-name{color:var(--zylem-color-text-secondary)}.zylem-track-header-input{width:100%;min-width:0;box-sizing:border-box;padding:1px 4px;font:inherit;font-size:calc(var(--zylem-font-size) - 1px);color:var(--zylem-color-text);background:var(--zylem-material-field-glass);border:1px solid rgba(97,166,232,.5);border-radius:4px;outline:none}.zylem-track-header-input:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-track-header-detail{font-size:10px;color:var(--zylem-color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zylem-track-header-toggles{flex:none;display:flex;align-items:center;gap:3px}.zylem-track-toggle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;font-family:var(--zylem-font-family);font-size:10px;font-weight:700;line-height:1;color:var(--zylem-color-text-secondary);background:#08131f99;border:1px solid rgba(97,166,232,.28);border-radius:4px;box-shadow:inset 0 1px #ffffff14;cursor:pointer;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-track-toggle>svg{width:11px;height:11px}.zylem-track-toggle:hover:not(:disabled){color:var(--zylem-color-text);background:#61a6e838}.zylem-track-toggle:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-track-toggle:disabled{cursor:default;opacity:.5}.zylem-track-toggle[data-kind=mute][aria-pressed=true]{color:#2b1a08;background:linear-gradient(180deg,#ffdc82f2,#e69628f2);border-color:#ffe6aacc}.zylem-track-toggle[data-kind=solo][aria-pressed=true]{color:#062010;background:linear-gradient(180deg,#aaffbef2,#1cae3ff2);border-color:#beffcbcc}.zylem-track-toggle[data-kind=lock][aria-pressed=true]{color:var(--zylem-color-text);background:#61a6e859;border-color:#b2dbffb3}.zylem-track-header-actions{display:inline-flex;align-items:center}.zylem-piano-roll{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;font-family:var(--zylem-font-family);color:var(--zylem-color-text);background:var(--zylem-material-field-glass);border:1px solid rgba(97,166,232,.22);border-radius:var(--zylem-radius-control);box-shadow:var(--zylem-effect-shadow-inset);outline:none;user-select:none}.zylem-piano-roll:focus-visible{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-piano-roll[data-disabled]{opacity:.6}.zylem-piano-roll-scroll{flex:1 1 auto;min-height:0;overflow:auto}.zylem-piano-roll-content{position:relative;display:flex}.zylem-piano-roll-keys{position:sticky;left:0;z-index:2;flex:none;display:flex;flex-direction:column;border-right:1px solid rgba(97,166,232,.3);box-shadow:2px 0 6px #00000059}.zylem-piano-roll-key{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;padding:0 4px 0 0;margin:0;border:0;border-bottom:1px solid rgba(0,0,0,.35);font-family:var(--zylem-font-family);font-size:9px;line-height:1;color:#1c2633;background:linear-gradient(90deg,#dbe6f2,#f4f8fc);cursor:pointer;outline:none}.zylem-piano-roll-key[data-black]{color:#cdd8e6;background:linear-gradient(90deg,#0d151f,#263241);box-shadow:inset -6px 0 #ffffff0d}.zylem-piano-roll-key[data-c]{font-weight:700}.zylem-piano-roll-key:hover:not(:disabled){filter:brightness(1.1)}.zylem-piano-roll-key:active:not(:disabled){filter:brightness(.92)}.zylem-piano-roll-grid{position:relative;flex:none;background-image:repeating-linear-gradient(90deg,rgba(205,232,255,.28) 0 1px,transparent 1px var(--zylem-pr-bar)),repeating-linear-gradient(90deg,rgba(205,232,255,.12) 0 1px,transparent 1px var(--zylem-pr-ppb)),repeating-linear-gradient(90deg,rgba(205,232,255,.05) 0 1px,transparent 1px var(--zylem-pr-snap))}.zylem-piano-roll-row{position:absolute;left:0;right:0;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.04);pointer-events:none}.zylem-piano-roll-row[data-black]{background:#00000038}.zylem-piano-roll-row[data-c]{border-bottom:1px solid rgba(205,232,255,.25)}.zylem-piano-roll-end{position:absolute;top:0;bottom:0;right:0;background:#00000059;pointer-events:none}.zylem-piano-roll-note{position:absolute;box-sizing:border-box;display:flex;align-items:center;border-radius:3px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,#b2dbfffa,#3089dcfa);box-shadow:inset 0 1px #ffffff73,0 1px 2px #00000080;opacity:calc(.45 + .55 * var(--zylem-pr-velocity, .8));color:#08131f;cursor:grab;outline:none;overflow:hidden}.zylem-piano-roll-note[data-selected]{background:linear-gradient(180deg,#fff4c8fa,#f0b43cfa);border-color:#fff;box-shadow:inset 0 1px #fff9,0 0 8px #f0b43cb3;opacity:1}.zylem-piano-roll[data-dragging] .zylem-piano-roll-note{cursor:grabbing}.zylem-piano-roll-note-label{padding:0 4px;font-size:9px;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none}.zylem-piano-roll-note-handle{position:absolute;top:0;bottom:0;right:0;width:6px;cursor:ew-resize}.zylem-piano-roll-playhead{position:absolute;top:0;bottom:0;width:1px;background:#ffecaae6;box-shadow:0 0 6px #f0b43cb3;pointer-events:none}.zylem-piano-roll-velocity{display:flex;flex:none;border-top:1px solid rgba(97,166,232,.3);background:#08131f99}.zylem-piano-roll-velocity-label{position:sticky;left:0;z-index:2;flex:none;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 4px 4px 0;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);background:#0c1622fa;border-right:1px solid rgba(97,166,232,.3)}.zylem-piano-roll-velocity-lane{position:relative;flex:none;height:100%}.zylem-piano-roll-velocity-bar{position:absolute;bottom:0;width:5px;margin-left:1px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#b2dbfff2,#3089dcd9);cursor:ns-resize}.zylem-piano-roll-velocity-bar[data-selected]{background:linear-gradient(180deg,#fff4c8fa,#f0b43cf2)}.zylem-knob{display:inline-flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--zylem-font-family);color:var(--zylem-color-text);user-select:none}.zylem-knob[data-disabled]{opacity:.5}.zylem-knob-dial{display:block;border-radius:999px;cursor:ns-resize;outline:none;touch-action:none}.zylem-knob[data-dragging] .zylem-knob-dial{cursor:grabbing}.zylem-knob-dial:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-knob-dial svg{display:block;overflow:visible}.zylem-knob-track{fill:none;stroke:#08131fe6;stroke-width:3;stroke-linecap:round}.zylem-knob-fill{fill:none;stroke:#78befff2;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(97,166,232,.7))}.zylem-knob-cap{fill:#284669;stroke:#b2dbff80;stroke-width:1}.zylem-knob-pointer{stroke:#f0fafffa;stroke-width:2;stroke-linecap:round}.zylem-knob-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary)}.zylem-knob-value{font-size:10px;font-variant-numeric:tabular-nums;color:var(--zylem-color-text)}.zylem-mixer-strip{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:var(--zylem-spacing-xs);width:64px;padding:var(--zylem-spacing-sm) var(--zylem-spacing-xs);font-family:var(--zylem-font-family);color:var(--zylem-color-text);background:var(--zylem-material-glass-panel-dark);border:1px solid rgba(97,166,232,.2);border-top:3px solid var(--zylem-track-color);border-radius:var(--zylem-radius-control);box-shadow:inset 0 1px #ffffff0f;user-select:none}.zylem-mixer-strip[data-master]{width:76px;background:var(--zylem-material-glass-panel)}.zylem-mixer-strip[data-selected]{box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #b2dbff99,var(--zylem-effect-glow-primary)}.zylem-mixer-strip[data-disabled]{opacity:.6}.zylem-mixer-fader-row{display:flex;align-items:stretch;gap:4px;height:132px}.zylem-fader{position:relative;display:flex;flex-direction:column;width:24px;height:100%;touch-action:none}.zylem-fader[data-disabled]{opacity:.5}.zylem-fader-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-fader-track{position:relative;flex:1 1 auto;width:8px;margin:0 auto;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);cursor:pointer}.zylem-fader-fill{position:absolute;bottom:0;width:100%;border-radius:999px;background:linear-gradient(0deg,#3089dccc,#b2dbff8c)}.zylem-fader-zero{position:absolute;left:-6px;right:-6px;bottom:calc(100% * 60 / 66);height:1px;background:#cde8ff66;pointer-events:none}.zylem-fader-thumb{display:block;left:-7px;width:22px;height:12px;border-radius:4px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,inset 0 -3px #0000002e,0 1px 4px #00000080;cursor:grab;outline:none}.zylem-fader-thumb:active{cursor:grabbing}.zylem-fader-thumb:focus-visible{box-shadow:inset 0 1px #ffffffbf,var(--zylem-effect-focus-ring)}.zylem-mixer-meter{position:relative;width:6px;border-radius:3px;background:#08131fe6;border:1px solid rgba(97,166,232,.2);overflow:hidden}.zylem-mixer-meter-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#1cae3ff2,#aaffbef2 65%,#ffdc82f2 85%,#e64534f2);transition:height 60ms linear}.zylem-mixer-readout{font-size:10px;font-variant-numeric:tabular-nums;color:var(--zylem-color-text-secondary);white-space:nowrap}.zylem-mixer-toggles{display:flex;gap:3px}.zylem-mixer-name{max-width:100%;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zylem-mixer-strip[data-muted] .zylem-mixer-name{color:var(--zylem-color-text-secondary)}.zylem-mixer-strip[data-master] .zylem-mixer-name{letter-spacing:.08em;text-transform:uppercase}.zylem-waveform{position:relative;width:100%;min-width:0;box-sizing:border-box;overflow:hidden;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.22);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);user-select:none}.zylem-waveform[data-disabled]{opacity:.6}.zylem-waveform-canvas{display:block;width:100%;height:100%}.zylem-waveform-shade{position:absolute;top:0;bottom:0;background:#00000073;pointer-events:none}.zylem-waveform-edge{position:absolute;top:0;bottom:0;width:10px;margin-left:-5px;cursor:ew-resize}.zylem-waveform-edge:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:2px;background:#fff4c8f2;box-shadow:0 0 6px #f0b43cb3}.zylem-waveform-edge:after{content:"";position:absolute;top:50%;left:1px;width:8px;height:16px;margin-top:-8px;border-radius:3px;background:linear-gradient(180deg,#fff4c8fa,#f0b43cf2);border:1px solid rgba(255,255,255,.7);box-sizing:border-box}.zylem-waveform-playhead{position:absolute;top:0;bottom:0;width:1px;background:#ffecaae6;box-shadow:0 0 6px #f0b43cb3;pointer-events:none}.zylem-transport{display:flex;align-items:center;width:100%;min-width:0;box-sizing:border-box;font-family:var(--zylem-font-family);color:var(--zylem-color-text)}.zylem-transport>.zylem-playback{width:100%}.zylem-transport .zylem-playback-extra{flex:1 1 auto;min-width:0;gap:var(--zylem-spacing-sm)}.zylem-transport-track{flex:1 1 auto;min-width:120px}.zylem-transport-time{flex:none;min-width:9ch;font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6)}.zylem-transport-time-total{font-weight:400;color:var(--zylem-color-text-secondary)}.zylem-transport-field{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs);flex:none}.zylem-transport-field-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary)}.zylem-transport-bpm{width:84px}.zylem-transport-signature{width:84px;flex:none}
|
|
7
|
-
`;import{render as mg}from"solid-js/web";import{createComponent as dg}from"solid-js/web";import{template as $u}from"solid-js/web";import{insert as si}from"solid-js/web";import"solid-js/web";import{createComponent as Qe}from"solid-js/web";import{template as od}from"solid-js/web";import{style as Ky}from"solid-js/web";import{effect as Wy}from"solid-js/web";import{insert as qy}from"solid-js/web";import{className as $y}from"solid-js/web";import{createComponent as id}from"solid-js/web";import{memo as ad}from"solid-js/web";import{use as ld}from"solid-js/web";import{createContext as dd,createMemo as cd,createSignal as Xi,onMount as qi,useContext as md}from"solid-js";var qt="zylem-layer-portals";function ho(e){let t=e?.getRootNode();return t instanceof ShadowRoot?t:t instanceof Document?t.body:document.body}function Jt(e){let t=ho(e);for(let n of Array.from(t.children))if(n instanceof HTMLElement&&n.classList.contains(qt))return n;let r=document.createElement("div");return r.className=qt,t.appendChild(r),r}var nd={base:"zylem-layer-base",panel:"zylem-layer-panel",modal:"zylem-layer-modal",popover:"zylem-layer-popover",tooltip:"zylem-layer-tooltip",menu:"zylem-layer-menu"},xo=Object.fromEntries(Object.entries(nd).map(([e,t])=>[e,`var(--${t})`]));var sd=od("<span aria-hidden=true style=display:none>");var Ji=dd();function Lr(e){let[t,r]=Xi(),n;return qi(()=>r(Jt(n))),id(Ji.Provider,{value:{container:t},get children(){return[(()=>{var o=sd(),i=n;return typeof i=="function"?ld(i,o):n=o,o})(),ad(()=>e.children)]}})}function U(e,t=0){let r=md(Ji),[n,o]=Xi(),i;r||qi(()=>o(Jt(i)));let a=cd(()=>{let d=typeof t=="function"?t():t,f=xo[e];return d?`calc(${f} + ${d})`:f});return{mount:r?r.container:n,zIndex:a,anchorRef:d=>{i=d}}}function fd(e,t){if(!("clientX"in e)||!("clientY"in e))return!1;let{clientX:r,clientY:n}=e,o=t.getBoundingClientRect();return r>=o.left&&r<=o.right&&n>=o.top&&n<=o.bottom}function ud(e,t){let r=e.composedPath();return r.length>0?r.includes(t):fd(e,t)}function Xe(){let e;return{ref:t=>{e=t},onInteractOutside:t=>{e&&ud(t.detail.originalEvent,e)&&t.preventDefault()}}}import{template as gd}from"solid-js/web";import{insert as pd}from"solid-js/web";import{spread as yd}from"solid-js/web";import{mergeProps as bd}from"solid-js/web";import{memo as hd}from"solid-js/web";import{splitProps as vd}from"solid-js";var xd=gd("<button type=button>");function de(e){let[t,r]=vd(e,["variant","size","class","children"]);return(()=>{var n=xd();return yd(n,bd({get class(){return hd(()=>!!t.class)()?`zylem-button ${t.class}`:"zylem-button"},get"data-variant"(){return t.variant??"default"},get"data-size"(){return t.size??"md"}},r),!1,!0),pd(n,()=>t.children),n})()}import{createComponent as vt}from"solid-js/web";import{memo as zd}from"solid-js/web";import{Button as wd,Tooltip as Gr}from"@kobalte/core";import{Show as Ad}from"solid-js";function J(e){let t=U("tooltip");return vt(Gr.Root,{openDelay:400,get children(){return[vt(Gr.Trigger,{as:"span",ref(r){var n=t.anchorRef;typeof n=="function"?n(r):t.anchorRef=r},get children(){return vt(wd.Root,{get"aria-label"(){return e.label},get onClick(){return e.onClick},get disabled(){return e.disabled},get class(){return zd(()=>!!e.class)()?`zylem-toolbar-btn ${e.class}`:"zylem-toolbar-btn"},get"data-selected"(){return e.selected?"":void 0},get children(){return e.children}})}}),vt(Ad,{get when(){return t.mount()},keyed:!0,children:r=>vt(Gr.Portal,{mount:r,get children(){return vt(Gr.Content,{class:"zylem-tooltip",get children(){return e.label}})}})})]}})}import{createComponent as Cb}from"solid-js/web";import{memo as Pb}from"solid-js/web";import{TextField as Tb}from"@kobalte/core";import{createEffect as Db,createSignal as Mb,on as Rb,Show as Lb,splitProps as Gb}from"solid-js";import{template as Ob}from"solid-js/web";import{insert as Qb}from"solid-js/web";import{createComponent as jb}from"solid-js/web";import{memo as Zb}from"solid-js/web";import{NumberField as Nb}from"@kobalte/core";import{Show as Xb}from"solid-js";import{createComponent as $b}from"solid-js/web";import{memo as eh}from"solid-js/web";import{Select as rh}from"@kobalte/core";import{Show as oh}from"solid-js";import{createComponent as sh}from"solid-js/web";import{memo as ch}from"solid-js/web";import{Checkbox as fh}from"@kobalte/core";import gh from"lucide-solid/icons/check";import{Show as yh}from"solid-js";import{createComponent as xh}from"solid-js/web";import{memo as zh}from"solid-js/web";import{Switch as Ah}from"@kobalte/core";import{Show as Sh}from"solid-js";import{template as Ph}from"solid-js/web";import{insert as Th}from"solid-js/web";import{createComponent as Dh}from"solid-js/web";import{memo as Rh}from"solid-js/web";import{Slider as Gh}from"@kobalte/core";import{Show as Fh}from"solid-js";import{template as vo}from"solid-js/web";import{delegateEvents as kd}from"solid-js/web";import{setAttribute as _i}from"solid-js/web";import{effect as Sd}from"solid-js/web";import{insert as ea}from"solid-js/web";import{createComponent as ot}from"solid-js/web";import{memo as Hr}from"solid-js/web";import{Tabs as Fr}from"@kobalte/core";import Id from"lucide-solid/icons/x";import{Show as ta}from"solid-js";var Cd=vo("<span class=zylem-tabs-trigger-label>"),Ed=vo('<span class=zylem-tabs-dirty aria-label="Unsaved changes"title="Unsaved changes">'),Pd=vo("<span class=zylem-tabs-close role=button tabindex=0>");function Or(e){return ot(Fr.Root,{get class(){return Hr(()=>!!e.class)()?`zylem-tabs-root ${e.class}`:"zylem-tabs-root"},get value(){return e.value},get onChange(){return e.onChange},get defaultValue(){return e.defaultValue},get"aria-label"(){return e["aria-label"]},get children(){return e.children}})}function ra(e){return ot(Fr.List,{get class(){return Hr(()=>!!e.class)()?`zylem-tabs-list ${e.class}`:"zylem-tabs-list"},get children(){return e.children}})}function na(e){let t=r=>{r.stopPropagation(),r.preventDefault(),e.onClose?.()};return ot(Fr.Trigger,{get class(){return Hr(()=>!!e.class)()?`zylem-tabs-trigger ${e.class}`:"zylem-tabs-trigger"},get value(){return e.value},get disabled(){return e.disabled},get children(){return[(()=>{var r=Cd();return ea(r,()=>e.children),r})(),ot(ta,{get when(){return e.dirty},get children(){return Ed()}}),ot(ta,{get when(){return e.onClose},get children(){var r=Pd();return r.$$keydown=n=>{(n.key==="Enter"||n.key===" ")&&t(n)},r.$$pointerdown=n=>n.stopPropagation(),r.$$click=t,ea(r,ot(Id,{"aria-hidden":"true"})),Sd(n=>{var o=e.closeLabel??"Close tab",i=e.closeLabel??"Close tab";return o!==n.e&&_i(r,"aria-label",n.e=o),i!==n.t&&_i(r,"title",n.t=i),n},{e:void 0,t:void 0}),r}})]}})}function oa(e){return ot(Fr.Content,{get class(){return Hr(()=>!!e.class)()?`zylem-tabs-content ${e.class}`:"zylem-tabs-content"},get value(){return e.value},get children(){return e.children}})}Or.List=ra;Or.Trigger=na;Or.Content=oa;kd(["click","pointerdown","keydown"]);import{createComponent as $h}from"solid-js/web";import{memo as ex}from"solid-js/web";import{Accordion as rx}from"@kobalte/core";import{For as ox}from"solid-js";import{createComponent as $t}from"solid-js/web";import"solid-js/web";import{Tooltip as Yr}from"@kobalte/core";import{Show as Td}from"solid-js";function zo(e){let t=U("tooltip");return $t(Yr.Root,{get placement(){return e.placement},get openDelay(){return e.openDelay??400},get children(){return[$t(Yr.Trigger,{as:"span",ref(r){var n=t.anchorRef;typeof n=="function"?n(r):t.anchorRef=r},style:{display:"flex",width:"100%",height:"100%","min-width":0},get children(){return e.children}}),$t(Td,{get when(){return t.mount()},children:r=>$t(Yr.Portal,{get mount(){return r()},get children(){return $t(Yr.Content,{class:"zylem-tooltip",get children(){return e.content}})}})})]}})}import{template as gx}from"solid-js/web";import"solid-js/web";import{insert as hx}from"solid-js/web";import{createComponent as vx}from"solid-js/web";import{DropdownMenu as wx}from"@kobalte/core";import kx from"lucide-solid/icons/check";import{For as Cx,Show as Ex}from"solid-js";import{createComponent as Bx}from"solid-js/web";import{memo as Mx}from"solid-js/web";import{Menubar as Lx}from"@kobalte/core";import{For as Hx,Show as Fx}from"solid-js";import{template as tv}from"solid-js/web";import{insert as nv}from"solid-js/web";import{memo as iv}from"solid-js/web";import{createComponent as lv}from"solid-js/web";import{use as dv}from"solid-js/web";import{Dialog as mv}from"@kobalte/core";import{Show as uv}from"solid-js";import{template as Ao}from"solid-js/web";import{delegateEvents as Dd}from"solid-js/web";import{createComponent as zt}from"solid-js/web";import{setAttribute as _t}from"solid-js/web";import{effect as ia}from"solid-js/web";import{insert as Qr}from"solid-js/web";import{memo as Md}from"solid-js/web";import{Show as wo}from"solid-js";import Hd from"lucide-solid/icons/panel-bottom-close";import Fd from"lucide-solid/icons/panel-bottom-open";import Od from"lucide-solid/icons/x";var Rd=Ao('<button type=button class="zylem-window-control zylem-window-control--collapse">'),Ld=Ao('<button type=button class="zylem-window-control zylem-window-control--close">'),Gd=Ao('<div class=zylem-window-controls aria-label="Window controls">');function it(e){return zt(wo,{get when(){return e.onClose||e.onCollapse},get children(){var t=Gd();return Qr(t,zt(wo,{get when(){return e.onCollapse},get children(){var r=Rd();return r.$$click=()=>e.onCollapse?.(),Qr(r,(()=>{var n=Md(()=>!!e.collapsed);return()=>n()?zt(Fd,{size:12}):zt(Hd,{size:12})})()),ia(n=>{var o=e.collapsed?"Expand panel":"Collapse panel",i=e.collapsed?"Expand panel":"Collapse panel";return o!==n.e&&_t(r,"aria-label",n.e=o),i!==n.t&&_t(r,"title",n.t=i),n},{e:void 0,t:void 0}),r}}),null),Qr(t,zt(wo,{get when(){return e.onClose},get children(){var r=Ld();return r.$$click=()=>e.onClose?.(),Qr(r,zt(Od,{size:12})),ia(n=>{var o=e.closeLabel??"Close panel",i=e.closeLabel??"Close panel",a=e.closeTestId;return o!==n.e&&_t(r,"aria-label",n.e=o),i!==n.t&&_t(r,"title",n.t=i),a!==n.a&&_t(r,"data-testid",n.a=a),n},{e:void 0,t:void 0,a:void 0}),r}}),null),t}})}Dd(["click"]);import{template as xv}from"solid-js/web";import{insert as zv}from"solid-js/web";import{createComponent as Av}from"solid-js/web";import{memo as Sv}from"solid-js/web";import{Progress as Ev}from"@kobalte/core";import{Show as Iv}from"solid-js";import{template as Dv}from"solid-js/web";import{setAttribute as Rv}from"solid-js/web";import{className as Gv}from"solid-js/web";import{effect as Fv}from"solid-js/web";import{insert as Yv}from"solid-js/web";import{template as jv}from"solid-js/web";import{setAttribute as Zv}from"solid-js/web";import{className as Nv}from"solid-js/web";import{effect as Xv}from"solid-js/web";import{createComponent as Jv}from"solid-js/web";import{insert as _v}from"solid-js/web";import{Show as tz}from"solid-js";import{template as oz}from"solid-js/web";import{createComponent as az}from"solid-js/web";import{setAttribute as sz}from"solid-js/web";import{className as cz}from"solid-js/web";import{effect as fz}from"solid-js/web";import{insert as gz}from"solid-js/web";import{Show as yz}from"solid-js";import{createComponent as xz}from"solid-js/web";import{memo as zz}from"solid-js/web";import{Separator as Az}from"@kobalte/core";import{template as Cz}from"solid-js/web";import{createComponent as Pz}from"solid-js/web";import{insert as Tz}from"solid-js/web";import{spread as Dz}from"solid-js/web";import{mergeProps as Rz}from"solid-js/web";import{Show as Gz,splitProps as Hz}from"solid-js";import{template as Qz}from"solid-js/web";import{className as jz}from"solid-js/web";import{effect as Zz}from"solid-js/web";import{createComponent as Nz}from"solid-js/web";import{insert as Xz}from"solid-js/web";import"solid-js/web";import{spread as _z}from"solid-js/web";import{mergeProps as t0}from"solid-js/web";import{Show as n0,splitProps as o0}from"solid-js";import{template as l0}from"solid-js/web";import{insert as d0}from"solid-js/web";import{spread as m0}from"solid-js/web";import{mergeProps as u0}from"solid-js/web";import{splitProps as p0}from"solid-js";import{template as ko}from"solid-js/web";import{delegateEvents as Yd}from"solid-js/web";import{createComponent as Qd}from"solid-js/web";import{style as z0}from"solid-js/web";import{className as aa}from"solid-js/web";import{effect as la}from"solid-js/web";import{insert as Ur}from"solid-js/web";import{Show as Zd,createMemo as Kd}from"solid-js";var Ud=ko('<span title="Click to reveal full path">'),jd=ko("<div class=zylem-property-row><span class=zylem-property-label>"),Vd=ko("<span>");function Nd(e,t=3){let r=e.includes("\\")?"\\":"/",n=e.split(r).filter(Boolean);return n.length<=t?{truncated:e,isTruncated:!1}:{truncated:`...${r}${n.slice(-t).join(r)}`,isTruncated:!0}}function Wd(e){return e.includes("/")||e.includes("\\")||/^[A-Za-z]:/.test(e)||e.startsWith(".")||e.startsWith("~")}function So(e){let t=Kd(()=>{if(e.children!==void 0)return{element:e.children,isClickable:!1,fullValue:null};if(typeof e.value!="string")return{element:e.value,isClickable:!1,fullValue:null};let r=e.value;if(e.isPath??Wd(r)){let{truncated:o,isTruncated:i}=Nd(r,e.maxPathSegments??3);return{element:o,isClickable:i&&!!e.onPathClick,fullValue:i?r:null}}return{element:r,isClickable:!1,fullValue:null}});return(()=>{var r=jd(),n=r.firstChild;return Ur(n,()=>e.label),Ur(r,Qd(Zd,{get when(){return t().isClickable},get fallback(){return(()=>{var o=Vd();return Ur(o,()=>t().element),la(()=>aa(o,`zylem-property-value ${e.valueClass??""}`)),o})()},get children(){var o=Ud();return o.$$click=()=>{let i=t().fullValue;i&&e.onPathClick?.(i)},Ur(o,()=>t().element),la(()=>aa(o,`zylem-property-value zylem-property-value--clickable ${e.valueClass??""}`)),o}}),null),r})()}Yd(["click"]);import{template as ca}from"solid-js/web";import{delegateEvents as Xd}from"solid-js/web";import{className as qd}from"solid-js/web";import{insert as Co}from"solid-js/web";import{createComponent as Eo}from"solid-js/web";import"solid-js/web";import{setAttribute as Jd}from"solid-js/web";import{effect as sa}from"solid-js/web";import{Show as da}from"solid-js";var $d=ca("<div class=zylem-console-actions>"),_d=ca('<div><div class=zylem-console-wrapper><textarea class="zylem-console zylem-scroll">');function Po(e){return(()=>{var t=_d(),r=t.firstChild,n=r.firstChild;return n.$$input=o=>e.onInput?.(o.currentTarget.value),Jd(n,"spellcheck",!1),Co(r,Eo(da,{get when(){return e.onClear||e.actions},get children(){var o=$d();return Co(o,()=>e.actions,null),Co(o,Eo(da,{get when(){return e.onClear},get children(){return Eo(de,{size:"sm",variant:"ghost",onClick:()=>e.onClear?.(),children:"Clear"})}}),null),o}}),null),sa(o=>{var i=e.class?`zylem-console-container ${e.class}`:"zylem-console-container",a=e.readOnly||!e.onInput;return i!==o.e&&qd(t,o.e=i),a!==o.t&&(n.readOnly=o.t=a),o},{e:void 0,t:void 0}),sa(()=>n.value=e.value),t})()}Xd(["input"]);import{template as jr}from"solid-js/web";import{memo as ec}from"solid-js/web";import{className as tc}from"solid-js/web";import{effect as rc}from"solid-js/web";import{createComponent as nc}from"solid-js/web";import{insert as er}from"solid-js/web";import{spread as ma}from"solid-js/web";import{mergeProps as fa}from"solid-js/web";import{Show as sc,splitProps as ua}from"solid-js";var oc=jr("<aside>"),ic=jr("<div class=sidebar-section-title>"),ac=jr("<div>"),lc=jr("<button type=button>");function Io(e){let[t,r]=ua(e,["children","class","borderless"]);return(()=>{var n=oc();return ma(n,fa({get class(){return["sidebar","zylem-scroll",t.borderless?"sidebar--borderless":"",t.class??""].filter(Boolean).join(" ")}},r),!1,!0),er(n,()=>t.children),n})()}function ga(e){return(()=>{var t=ac();return er(t,nc(sc,{get when(){return e.title},get children(){var r=ic();return er(r,()=>e.title),r}}),null),er(t,()=>e.children,null),rc(()=>tc(t,e.class?`sidebar-section ${e.class}`:"sidebar-section")),t})()}function pa(e){let[t,r]=ua(e,["active","children","class"]);return(()=>{var n=lc();return ma(n,fa({get class(){return ec(()=>!!t.class)()?`sidebar-item ${t.class}`:"sidebar-item"},get"data-active"(){return t.active?"":void 0}},r),!1,!0),er(n,()=>t.children),n})()}Io.Section=ga;Io.Item=pa;import{template as q0}from"solid-js/web";import{delegateEvents as dc}from"solid-js/web";import{createComponent as _0}from"solid-js/web";import{insert as tw}from"solid-js/web";import{spread as nw}from"solid-js/web";import{mergeProps as iw}from"solid-js/web";import{memo as lw}from"solid-js/web";import{Show as dw,splitProps as cw}from"solid-js";dc(["keydown"]);import{template as Vr}from"solid-js/web";import{delegateEvents as cc}from"solid-js/web";import{use as mc}from"solid-js/web";import{setAttribute as To}from"solid-js/web";import{className as fc}from"solid-js/web";import{effect as ya}from"solid-js/web";import{insert as ba}from"solid-js/web";import{memo as ha}from"solid-js/web";import{createComponent as Le}from"solid-js/web";import{Popover as tr}from"@kobalte/core";import{Show as Bo,createSignal as bc}from"solid-js";var uc=Vr("<span aria-hidden=true>\u25BE"),gc=Vr("<div>"),pc=Vr('<span class="zylem-menu-button__chevron zylem-menu-button__chevron--static"aria-hidden=true>\u25BE'),yc=Vr('<button type=button class="zylem-toolbar-btn zylem-menu-button__face">');function Do(e){let[t,r]=bc(!1),n=U("menu"),o=Xe(),i=()=>e.open??t(),a=b=>{r(b),e.onOpenChange?.(b)},d=()=>e.onAction!==void 0,f=()=>e.tooltip===null?null:e.tooltip??e.label,g=b=>Le(Bo,{get when(){return f()},fallback:b,keyed:!0,children:c=>Le(zo,{content:c,children:b})});return(()=>{var b=gc();return ba(b,Le(tr.Root,{get open(){return i()},onOpenChange:a,get placement(){return e.placement??"bottom-start"},get children(){return[Le(Bo,{get when(){return d()},get fallback(){return g(Le(tr.Trigger,{ref(c){var p=n.anchorRef;typeof p=="function"?p(c):n.anchorRef=c},class:"zylem-toolbar-btn zylem-menu-button__face",get"aria-label"(){return e.label},get disabled(){return e.disabled},get"data-selected"(){return e.selected?"":void 0},get children(){return[ha(()=>e.children),pc()]}}))},get children(){return[ha(()=>g((()=>{var c=yc();c.$$click=()=>e.onAction?.();var p=n.anchorRef;return typeof p=="function"?mc(p,c):n.anchorRef=c,ba(c,()=>e.children),ya(u=>{var v=e.label,l=e.disabled,m=e.selected?"":void 0;return v!==u.e&&To(c,"aria-label",u.e=v),l!==u.t&&(c.disabled=u.t=l),m!==u.a&&To(c,"data-selected",u.a=m),u},{e:void 0,t:void 0,a:void 0}),c})())),Le(tr.Trigger,{class:"zylem-menu-button__chevron",get"aria-label"(){return`${e.label} options`},get disabled(){return e.disabled},get children(){return uc()}})]}}),Le(Bo,{get when(){return n.mount()},keyed:!0,children:c=>Le(tr.Portal,{mount:c,get children(){return Le(tr.Content,{ref(p){var u=o.ref;typeof u=="function"?u(p):o.ref=p},class:"zylem-menu-button__panel",get onInteractOutside(){return o.onInteractOutside},get children(){return e.menu(()=>a(!1))}})}})})]}})),ya(c=>{var p=e.class?`zylem-menu-button ${e.class}`:"zylem-menu-button",u=d()?"":void 0;return p!==c.e&&fc(b,c.e=p),u!==c.t&&To(b,"data-split",c.t=u),c},{e:void 0,t:void 0}),b})()}cc(["click"]);import{template as lt}from"solid-js/web";import{delegateEvents as Ec}from"solid-js/web";import{setAttribute as wa}from"solid-js/web";import{className as Pc}from"solid-js/web";import{effect as Go}from"solid-js/web";import{insert as Ge}from"solid-js/web";import{createComponent as at}from"solid-js/web";import"solid-js/web";import{For as Aa,Show as Zr,createMemo as Gc,createSignal as Hc}from"solid-js";import{template as hc}from"solid-js/web";import{delegateEvents as xc}from"solid-js/web";import{setAttribute as xa}from"solid-js/web";import{className as vc}from"solid-js/web";import{insert as zc}from"solid-js/web";import{addEventListener as wc}from"solid-js/web";import{effect as va}from"solid-js/web";import{use as Ac}from"solid-js/web";import{createComponent as kc}from"solid-js/web";import Cc from"lucide-solid/icons/search";var Sc=hc('<div><input type=search class="zylem-field zylem-search-input">');function Mo(e){return(()=>{var t=Sc(),r=t.firstChild;zc(t,kc(Cc,{class:"zylem-search-icon"}),r),wc(r,"keydown",e.onKeyDown,!0),r.$$input=o=>e.onInput?.(o.currentTarget.value);var n=e.ref;return typeof n=="function"?Ac(n,r):e.ref=r,va(o=>{var i=e.class?`zylem-search ${e.class}`:"zylem-search",a=e.placeholder??"Search...",d=e["aria-label"]??e.placeholder??"Search";return i!==o.e&&vc(t,o.e=i),a!==o.t&&xa(r,"placeholder",o.t=a),d!==o.a&&xa(r,"aria-label",o.a=d),o},{e:void 0,t:void 0,a:void 0}),va(()=>r.value=e.value??""),t})()}xc(["input","keydown"]);var za="Other";function Ro(e,t){let r=t.trim().toLowerCase();return r?e.filter(n=>n.label.toLowerCase().includes(r)||n.id.toLowerCase().includes(r)?!0:n.tags?.some(o=>o.toLowerCase().includes(r))??!1):e}function Lo(e){let t=[],r=new Map;for(let n of e){let o=n.group??za,i=r.get(o);i||(i=[],r.set(o,i),t.push({group:o,items:i})),i.push(n)}return t}var Ic=lt('<div class="zylem-picker__groups zylem-scroll">'),Tc=lt("<div>"),Bc=lt("<p class=zylem-picker__empty>"),Dc=lt("<p class=zylem-picker__empty>No matches for \u201C<!>\u201D."),Mc=lt("<div class=zylem-picker__group><h4 class=zylem-picker__group-title>"),Rc=lt("<button type=button class=zylem-picker__item><span class=zylem-picker__item-label>"),Lc=lt("<span class=zylem-picker__item-glyph>");function Ho(e){let[t,r]=Hc(""),n=()=>e.searchable!==!1,o=Gc(()=>Lo(Ro(e.items,t())));return(()=>{var i=Tc();return Ge(i,at(Zr,{get when(){return n()},get children(){return at(Mo,{class:"zylem-picker__search",get value(){return t()},onInput:r,get placeholder(){return e.searchPlaceholder??"Search\u2026"},ref:a=>{e.autoFocus!==!1&&queueMicrotask(()=>a.focus())}})}}),null),Ge(i,at(Zr,{get when(){return e.items.length},get fallback(){return(()=>{var a=Bc();return Ge(a,()=>e.emptyMessage??"Nothing to choose from."),a})()},get children(){return at(Zr,{get when(){return o().length},get fallback(){return(()=>{var a=Dc(),d=a.firstChild,f=d.nextSibling,g=f.nextSibling;return Ge(a,t,f),a})()},get children(){var a=Ic();return Ge(a,at(Aa,{get each(){return o()},children:d=>(()=>{var f=Mc(),g=f.firstChild;return Ge(g,()=>d.group),Ge(f,at(Aa,{get each(){return d.items},children:b=>(()=>{var c=Rc(),p=c.firstChild;return c.$$click=()=>e.onSelect(b),Ge(c,at(Zr,{get when(){return b.icon},children:u=>(()=>{var v=Lc();return Go(()=>v.innerHTML=u()),v})()}),p),Ge(p,()=>b.label),Go(u=>{var v=b.disabled,l=e.selectedId===b.id?"":void 0,m=b.description;return v!==u.e&&(c.disabled=u.e=v),l!==u.t&&wa(c,"data-selected",u.t=l),m!==u.a&&wa(c,"title",u.a=m),u},{e:void 0,t:void 0,a:void 0}),c})()}),null),f})()})),a}})}}),null),Go(()=>Pc(i,e.class?`zylem-picker ${e.class}`:"zylem-picker")),i})()}Ec(["click"]);import{template as $w}from"solid-js/web";import{className as e1}from"solid-js/web";import{effect as r1}from"solid-js/web";import{createComponent as o1}from"solid-js/web";import{insert as a1}from"solid-js/web";import{Show as s1}from"solid-js";import{template as m1}from"solid-js/web";import{insert as u1}from"solid-js/web";import{spread as p1}from"solid-js/web";import{mergeProps as b1}from"solid-js/web";import{memo as x1}from"solid-js/web";import{splitProps as z1}from"solid-js";import{template as k1}from"solid-js/web";import{className as C1}from"solid-js/web";import{effect as P1}from"solid-js/web";import{insert as T1}from"solid-js/web";import{template as F1}from"solid-js/web";import{effect as Y1}from"solid-js/web";import{insert as U1}from"solid-js/web";import{setAttribute as V1}from"solid-js/web";import{createMemo as K1,onMount as N1}from"solid-js";var Fo="zylem-build-label";var R1=`
|
|
8
|
-
#${
|
|
1
|
+
import{getZylemBridge as wd}from"@zylem/bridge";var{channel:R}=wd();function Ct(e){R.send("debug:set",{enabled:e})}function Ge(e){R.send("tool:set",{tool:e})}function Pt(e){R.send("playback:set",{paused:e})}function Et(e){R.send("entity:select",{uuid:e})}function ia(e,t="replace"){R.send("entity:select",{uuid:e[0]??null,uuids:e,mode:t})}function Or(e){R.send("entity:focus",{uuid:e})}function aa(e,t){R.send("stage:variable:set",{key:e,value:t})}function It(e,t){R.send("entity:transform",{uuid:e,...t})}function ft(e,t){R.send("add:type:set",t?{typeId:e,props:t}:{typeId:e})}function la(e){R.send("level:load",{buffer:e})}function sa(e,t){R.send("entity:create",{typeId:e,...t?.props?{props:t.props}:{},...t?.pose?{pose:t.pose}:{}})}function Zt(e){R.send("snap:set",e)}function Kt(e){R.send("grid:set",{visible:e})}function Fr(e){R.send("camera:activate",{id:e})}import{proxy as Sd}from"valtio/vanilla";import{zylemEventBus as Ad}from"@zylem/game-lib/events";var kd={debug:"debug",game:"loading:start",stage:"stage:loaded",entities:"entity:spawned"},Go=class{legacyListeners=new Map;emit(t){let r=this.legacyListeners.get(t.type);if(r)for(let n of r)n(t);let o=kd[t.type];o&&Ad.emit(o,t.payload)}on(t,r){return this.legacyListeners.has(t)||this.legacyListeners.set(t,new Set),this.legacyListeners.get(t).add(r),()=>{this.legacyListeners.get(t)?.delete(r)}}clear(){this.legacyListeners.clear()}},Ne=new Go;var I=Sd({paused:!1,tool:"none",selectedEntityId:null,selectedEntityIds:[],hoveredEntityId:null,lastTouchedEntityId:null,flags:new Set});function Ho(e){I.paused=e}function Oo(){return I.tool}function ot(e){I.tool=e}function Wt(e){I.selectedEntityId=e,I.selectedEntityIds=e?[e]:[],e&&(I.lastTouchedEntityId=e)}function Fo(e){e&&(I.lastTouchedEntityId=e)}Ne.on("debug",e=>{let t=e.payload;t.paused!==void 0&&(I.paused=t.paused),t.tool!==void 0&&(I.tool=t.tool),t.selectedEntityId!==void 0&&(I.selectedEntityId=t.selectedEntityId),t.hoveredEntityId!==void 0&&(I.hoveredEntityId=t.hoveredEntityId)});import{proxy as Id}from"valtio/vanilla";import{createStore as Cd,reconcile as Pd}from"solid-js/store";import{subscribe as Ed}from"valtio/vanilla";function Tt(e){if(Array.isArray(e))return e.map(r=>Tt(r));if(e instanceof Set)return new Set([...e].map(r=>Tt(r)));if(e instanceof Map)return new Map([...e].map(([r,o])=>[r,Tt(o)]));if(e===null||typeof e!="object"||Object.getPrototypeOf(e)!==Object.prototype)return e;let t={};for(let[r,o]of Object.entries(e))t[r]=Tt(o);return t}function Ye(e,t={}){let r=t.key??"id",[o,n]=Cd(Tt(e));return Ed(e,()=>{n(Pd(Tt(e),{key:r,merge:!1}))}),o}var da=100,te=Id({undoStack:[],redoStack:[]}),Xt=Ye(te,{key:"opId"});function Td(){return te.undoStack.length>0}function Bd(){return te.redoStack.length>0}function Dd(){return te.undoStack[te.undoStack.length-1]?.label??null}function Md(){return te.redoStack[te.redoStack.length-1]?.label??null}function ca(e){te.undoStack.push(e),te.undoStack.length>da&&te.undoStack.shift(),te.redoStack.length&&(te.redoStack=[])}function qt(){let e=te.undoStack.pop();return e?(te.redoStack.push(e),R.send("scene:operation:apply",{op:e,direction:"undo"}),!0):!1}function Jt(){let e=te.redoStack.pop();return e?(te.undoStack.push(e),R.send("scene:operation:apply",{op:e,direction:"redo"}),!0):!1}function Yo(){te.undoStack=[],te.redoStack=[]}import{proxy as Rd}from"valtio/vanilla";var X=Rd({entities:[],armedTypeId:null,lastTypeId:null}),Ze=Ye(X);function Qo(e){X.entities=e;let t=new Set(e.map(r=>r.id));X.armedTypeId&&!t.has(X.armedTypeId)&&(X.armedTypeId=null),X.lastTypeId&&!t.has(X.lastTypeId)&&(X.lastTypeId=null)}function ma(e){return e?X.entities.find(t=>t.id===e)??null:null}function Bt(e){X.armedTypeId=e,e&&(X.lastTypeId=e)}var Vo=new Set;function Ld(e){return Vo.add(e),()=>{Vo.delete(e)}}function fa(e){for(let t of Vo)try{t(e)}catch(r){console.error("[zylem/editor] scene operation listener failed",r)}}function Uo(e){I.selectedEntityId=e.selectedUuid,I.hoveredEntityId=e.hoveredUuid,I.selectedEntityIds=e.selectedUuids??(e.selectedUuid?[e.selectedUuid]:[]),Fo(e.selectedUuid)}function jo(e){Qo(e.entities)}function ua(e){e.kind==="create"&&Fo(e.entries.at(-1)?.uuid??null),ca(e),fa(e)}import{createStore as Gd,produce as No}from"solid-js/store";var[Hd,Zo]=Gd({});function Ko(e){return e?Hd[e]:void 0}function Wo(e){Zo(No(t=>{for(let r of e){let o=t[r.uuid];o&&o.url!==r.url&&Xo(o.url),t[r.uuid]=r.bounds?{url:r.url,bounds:r.bounds}:{url:r.url}}}))}function pa(e){Zo(No(t=>{for(let r of e){let o=t[r];o&&(Xo(o.url),delete t[r])}}))}function ga(){Zo(No(e=>{for(let t of Object.keys(e))Xo(e[t].url),delete e[t]}))}function Xo(e){e.startsWith("blob:")&&typeof URL<"u"&&URL.revokeObjectURL(e)}import{proxy as Nd}from"valtio/vanilla";import{proxy as Od}from"valtio/vanilla";var T=Od({config:null,backgroundColor:null,backgroundImage:null,inputs:{p1:["gamepad-1","keyboard-1"],p2:["gamepad-2","keyboard-2"]},variables:{},gravity:{x:0,y:0,z:0},entities:[]}),qo=e=>{let t=`
|
|
2
|
+
`;for(let r in e){let o=e[r];if(t+=`${r}:
|
|
3
|
+
`,r==="entities"){for(let n of e.entities)t+=` ${n.uuid}: ${n.name}
|
|
4
|
+
`;continue}if(typeof o=="object"&&o!==null)for(let n in o){let i=o[n];i&&(t+=` ${n}: ${i}
|
|
5
|
+
`)}else typeof o=="string"&&(t+=` ${r}: ${o}
|
|
6
|
+
`)}return t};Ne.on("stage",e=>{let t=e.payload;t.config!==void 0&&(T.config=t.config),t.backgroundColor!==void 0&&(T.backgroundColor=t.backgroundColor),t.backgroundImage!==void 0&&(T.backgroundImage=t.backgroundImage),t.inputs!==void 0&&(T.inputs=t.inputs),t.variables!==void 0&&(T.variables=t.variables),t.gravity!==void 0&&(T.gravity=t.gravity),t.entities!==void 0&&(T.entities=t.entities)});Ne.on("entities",e=>{T.entities=e.payload});function Fd(){return{version:1,entries:[]}}function Yd(e,t){if(!e)return null;let r=t.find(n=>n.id===e);return r?r.id:t.find(n=>n.label===e)?.id??null}function $o(e,t){return _o(Fd(),e,t)}function _o(e,t,r){if(t.length===0)return e;let o=new Map;for(let i of e.entries)o.set(i.id,{...i,pose:{...i.pose}});let n=!1;for(let i of t){if(!i.uuid)continue;let a=Yd(i.type,r);if(!a){o.delete(i.uuid)&&(n=!0);continue}let l=o.get(i.uuid),d={id:i.uuid,typeId:a,pose:Qd(l?.pose,i)};(!l||!Vd(l,d))&&(o.set(i.uuid,d),n=!0)}return n?{version:1,entries:[...o.values()]}:e}function ya(e,t){if(t.length===0||e.entries.length===0)return e;let r=new Set(t),o=e.entries.filter(n=>!r.has(n.id));return o.length===e.entries.length?e:{version:1,entries:o}}function Qd(e,t){let r={...e};return t.position&&(r.position={...t.position}),t.rotation&&(r.rotation={...t.rotation}),t.quaternion&&(r.quaternion={...t.quaternion}),t.scale&&(r.scale={...t.scale}),r}function Vd(e,t){return e.typeId===t.typeId&&Ud(e.pose,t.pose)}function Ud(e,t){return Jo(e.position,t.position)&&Jo(e.rotation,t.rotation)&&jd(e.quaternion,t.quaternion)&&Jo(e.scale,t.scale)}function Jo(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z}function jd(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}var F=Nd({active:!1,buffer:null,annotations:{},placementRole:null}),ze=Ye(F);function Zd(e,t,r,o){let n={};for(let i of r){let a=t.has(i)?e[i]:void 0;n[i]=a?{role:a.role,props:{...a.props}}:{role:o,props:{}}}return n}function $t(e){return e?.entries.map(t=>t.id)??[]}function Yr(e,t){F.annotations=Zd(F.annotations,e,$t(F.buffer),t)}function Kd(e){if(F.active=e,!e)return;let t=new Set($t(F.buffer));F.buffer=$o(T.entities,X.entities),Yr(t,"doodad")}function en(e){F.placementRole=e}function ba(){Kd(!F.active)}function Wd(){let e=F.buffer;return e?{buffer:JSON.parse(JSON.stringify(e)),annotations:JSON.parse(JSON.stringify(F.annotations)),stageId:T.config?.id??null}:null}function tn(e,t,r){let o=F.annotations[e];if(o?.role!=="actor")return;let n=t.trim();n&&(F.annotations={...F.annotations,[e]:{role:"actor",props:{...o.props,[n]:r}}})}function ha(e){if(!F.active||!F.buffer)return;let t=new Set($t(F.buffer));F.buffer=_o(F.buffer,e,X.entities),Yr(t,F.placementRole??"doodad")}function xa(e){if(!F.active||!F.buffer)return;let t=new Set($t(F.buffer));F.buffer=ya(F.buffer,e),Yr(t,"doodad")}function va(e){if(!F.active)return;let t=new Set($t(F.buffer));F.buffer=$o(e,X.entities),Yr(t,"doodad")}var Qr=new Map;function za(e){let t={uuid:e.uuid,name:e.name,type:e.type,position:e.position,rotation:e.rotation,scale:e.scale};return e.bounds&&(t.bounds=e.bounds),t}function Xd(e,t){e.name!==t.name&&(e.name=t.name),e.type!==t.type&&(e.type=t.type),rn(e.position,t.position)||(e.position=t.position),rn(e.rotation,t.rotation)||(e.rotation=t.rotation),rn(e.scale,t.scale)||(e.scale=t.scale),t.bounds&&!qd(e.bounds,t.bounds)&&(e.bounds=t.bounds)}function rn(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z}function qd(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height&&e.depth===t.depth}function Vr(){Qr.clear(),T.entities.forEach((e,t)=>{e.uuid&&Qr.set(e.uuid,t)})}function wa(e){T.entities=e.map(za),Vr(),va(e)}function on(e){let t=e.filter(r=>!!r.thumbnail).map(r=>({uuid:r.uuid,url:r.thumbnail,bounds:r.bounds}));t.length>0&&Wo(t)}function nn(e){let t=T.entities;for(let r of e){let o=Qr.get(r.uuid),n=o===void 0?void 0:t[o];n?Xd(n,r):(Qr.set(r.uuid,t.length),t.push(za(r)))}on(e),ha(e)}function Aa(e){pa(e);let t=new Set(e),r=T.entities,o=0;for(let n=0;n<r.length;n+=1){let i=r[n];i.uuid&&t.has(i.uuid)||(r[o]=i,o+=1)}o!==r.length&&(r.length=o,Vr(),xa(e))}function an(e){Wo(e)}import{proxy as Jd}from"valtio/vanilla";var He=Jd({messages:[]}),ln=500,he=e=>{let r=`[${new Date().toLocaleTimeString()}] ${e}`;He.messages.push(r),He.messages.length>ln&&He.messages.splice(0,He.messages.length-ln)},sn=()=>{He.messages=[]};import{createStore as tc}from"solid-js/store";import{subscribe as rc}from"valtio/vanilla";var nt=["left","right","top","bottom"],ne="toolbar";var Qe=e=>e==="left"||e==="right",dn=e=>{switch(e){case"left":return"e";case"right":return"w";case"top":return"s";default:return"n"}},Ur=()=>({left:{panels:[],thickness:0},right:{panels:[],thickness:0},top:{panels:[],thickness:0},bottom:{panels:[],thickness:0}}),Ca=e=>{let t=Ur();if(!e||typeof e!="object")return t;let r=new Set;for(let o of nt){let n=e[o];if(!n||typeof n!="object")continue;let i=n.panels;if(Array.isArray(i))for(let l of i)typeof l!="string"||l.length===0||r.has(l)||(r.add(l),t[o].panels.push(l));let a=n.thickness;typeof a=="number"&&Number.isFinite(a)&&a>0&&(t[o].thickness=a)}return t},we=(e,t)=>nt.find(r=>e[r].panels.includes(t))??null;var $d=e=>{let t=Ur();for(let r of nt)t[r]={panels:[...e[r].panels],thickness:e[r].thickness};return t},Mt=(e,t)=>{let r=$d(e);for(let o of nt)r[o].panels=r[o].panels.filter(n=>n!==t);return r},_t=(e,t,r,o)=>{let n=Mt(e,t),i=n[r].panels,a=o===void 0?i.length:Math.max(0,Math.min(o,i.length));return i.splice(a,0,t),n},cn=(e,t)=>Qe(e)?t.width:t.height,Dt=(e,t,r)=>{if(e[t].panels.length===0)return 0;let o=cn(t,r),n=e[t].thickness,i=n>0?n:Math.round(o/4);return Math.max(1,Math.min(i,o))},mn=(e,t,r,o,n)=>{let i=cn(t,o),l=Dt(e,t==="left"?"right":t==="right"?"left":t==="top"?"bottom":"top",o),d=Math.max(1,i-l-80),s=Math.max(1,Math.min(n,d));return Math.round(Math.max(s,Math.min(r,d)))},ka=(e,t,r)=>{if(t<=0)return[];let o=e/t,n=Math.max(r,o);return Array.from({length:t},()=>n)},Ke=(e,t,r={})=>{let o=_d(e);if(!o)return Sa(e,t,r);let n=ec(e,o,t),i=Mt(e,ne),a={width:t.width,height:t.height},l={x:0,y:0},d;switch(o){case"top":a.height=Math.max(1,t.height-n),l.y=n,d={x:0,y:0,width:t.width,height:n};break;case"bottom":a.height=Math.max(1,t.height-n),d={x:0,y:Math.max(0,t.height-n),width:t.width,height:n};break;case"left":a.width=Math.max(1,t.width-n),l.x=n,d={x:0,y:0,width:n,height:t.height};break;case"right":a.width=Math.max(1,t.width-n),d={x:Math.max(0,t.width-n),y:0,width:n,height:t.height};break}let s=Sa(i,a,r);if(l.x!==0||l.y!==0)for(let p of Object.values(s))p.x+=l.x,p.y+=l.y;return s[ne]=d,s},_d=e=>{let t=we(e,ne);return t&&e[t].panels.length===1?t:null},ec=(e,t,r)=>{let o=cn(t,r),n=e[t].thickness,i=n>0?n:40;return Math.max(1,Math.min(i,Math.max(1,o)))},Sa=(e,t,r)=>{let o=r.minSlotExtent??0,n={},i=Dt(e,"left",t),a=Dt(e,"right",t),l=Dt(e,"top",t),d=Dt(e,"bottom",t);for(let c of["left","right"]){let u=e[c].panels;if(u.length===0)continue;let g=c==="left"?i:a,P=c==="left"?0:Math.max(0,t.width-g),h=ka(t.height,u.length,o),v=0;u.forEach((m,b)=>{n[m]={x:P,y:v,width:g,height:h[b]},v+=h[b]})}let s=i,p=Math.max(1,t.width-i-a);for(let c of["top","bottom"]){let u=e[c].panels;if(u.length===0)continue;let g=c==="top"?l:d,P=c==="top"?0:Math.max(0,t.height-g),h=ka(p,u.length,o),v=s;u.forEach((m,b)=>{n[m]={x:v,y:P,width:h[b],height:g},v+=h[b]})}return n},fn=(e,t,r,o,n)=>{let i=n?Mt(e,n):e,a=i[t].panels;if(a.length===0)return 0;let l=Ke(i,o),d=Qe(t),s=0;return a.forEach((p,c)=>{let u=l[p];if(!u)return;let g=d?u.y+u.height/2:u.x+u.width/2;(d?r.y:r.x)>g&&(s=c+1)}),s},un=(e,t,r,o,n,i)=>{let a=_t(e,t,r,o);return Ke(a,n,i)[t]??null};var Ea="zylem-editor-state",Ie="main";var Pa=["game-config","stage-config","entities","transform","level","console","bridge"],oc=e=>{if(!e)return[...Pa];let t=Pa.filter(r=>!e.includes(r));return t.length>0?[...e,...t]:e},nc=()=>{if(typeof window>"u")return{};try{let e=localStorage.getItem(Ea);if(e)return JSON.parse(e)}catch(e){console.warn("Failed to load editor state from localStorage:",e)}return{}},ic=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Ea,JSON.stringify(e))}catch(t){console.warn("Failed to save editor state to localStorage:",t)}},Ee=nc(),[f,B]=tc({debug:!1,tool:"none",paused:!1,hovered:null,selected:[],lastTouched:null,panelPosition:Ee.panelPosition??null,panelSize:Ee.panelSize??null,toggleButtonPosition:Ee.toggleButtonPosition??{x:0,y:0},panelOrder:oc(Ee.panelOrder),detachedPanels:Ee.detachedPanels??{},openSections:Ee.openSections??["console"],panelZOrder:Ee.panelZOrder??[],docks:Ca(Ee.docks),dockDefaultsApplied:Ee.dockDefaultsApplied??!1,toolbarSeeded:Ee.toolbarSeeded??!1,toolbarCollapsed:Ee.toolbarCollapsed??!1,mainCollapsed:Ee.mainCollapsed??!1,draggingPanelId:null,dropTargetIndex:null}),ie=()=>{ic({panelPosition:f.panelPosition,panelSize:f.panelSize,toggleButtonPosition:f.toggleButtonPosition,panelOrder:f.panelOrder,detachedPanels:f.detachedPanels,openSections:f.openSections,panelZOrder:f.panelZOrder,docks:f.docks,dockDefaultsApplied:f.dockDefaultsApplied,toolbarSeeded:f.toolbarSeeded,toolbarCollapsed:f.toolbarCollapsed,mainCollapsed:f.mainCollapsed})},pn=e=>{B("panelPosition",e),ie()},gn=e=>{B("panelSize",e),ie()},tr=e=>{B("toggleButtonPosition",e),ie()},rr=(e,t)=>{B("detachedPanels",e,{position:t,size:{width:350,height:300}}),B("openSections",r=>r.filter(o=>o!==e)),B("panelZOrder",[...f.panelZOrder.filter(r=>r!==e),e]),ie()},jr=(e,t)=>{B("detachedPanels",e,void 0),B("panelZOrder",f.panelZOrder.filter(o=>o!==e)),B("docks",Mt(f.docks,e));let r=f.panelOrder;r.includes(e)||(t!==void 0?B("panelOrder",[...r.slice(0,t),e,...r.slice(t)]):B("panelOrder",[...r,e])),ie()},or=e=>{B("panelZOrder",[...f.panelZOrder.filter(t=>t!==e),e]),ie()},Nr=(e,t)=>{B("detachedPanels",e,"position",t),ie()},Zr=(e,t)=>{B("detachedPanels",e,"size",t),ie()},yn=e=>{B("panelOrder",e),ie()},bn=e=>{B("openSections",e),ie()},hn=e=>{B("toolbarCollapsed",e),ie()},xn=e=>{B("mainCollapsed",e),ie()},Kr=e=>e in f.detachedPanels,ut=(e,t,r)=>{B("docks",_t(f.docks,e,t,r)),ie()},We=e=>{we(f.docks,e)&&(B("docks",Mt(f.docks,e)),ie())},nr=(e,t)=>{B("docks",e,"thickness",Math.max(1,Math.round(t))),ie()},Ia=e=>we(f.docks,e),ac={top:[ne],left:[Ie]},lc=e=>["left","right","top","bottom"].some(r=>e[r]?.includes(ne))?e:{...e,top:[ne,...e.top??[]]},Ta=e=>{let t=we(e,ne);return!t||e[t].panels.length!==1||e[t].thickness>0?e:{...e,[t]:{panels:e[t].panels,thickness:40}}},sc=()=>f.panelPosition||Object.keys(f.detachedPanels).length>0?!0:["left","right","top","bottom"].some(e=>f.docks[e].panels.length>0),vn=e=>{if(f.dockDefaultsApplied)return;if(!e&&sc()){B("dockDefaultsApplied",!0),ie();return}let t=lc(e??ac),r=Ur();for(let o of["left","right","top","bottom"])for(let n of t[o]??[])n!==Ie&&n!==ne&&!Kr(n)&&(B("detachedPanels",n,{position:{x:100,y:100},size:{width:350,height:300}}),B("openSections",i=>i.filter(a=>a!==n)),B("panelZOrder",[...f.panelZOrder.filter(i=>i!==n),n])),r=_t(r,n,o);B("docks",Ta(r)),B("dockDefaultsApplied",!0),B("toolbarSeeded",!0),ie()},zn=()=>{if(!f.toolbarSeeded){if(!we(f.docks,ne)){let e=Ta(_t(f.docks,ne,"top",0));B("docks",e)}B("toolbarSeeded",!0),ie()}},ir=e=>{B("draggingPanelId",e)},it=e=>{B("dropTargetIndex",e)},ar=()=>{B("draggingPanelId",null),B("dropTargetIndex",null)};rc(I,()=>{B("tool",I.tool),B("paused",I.paused),B("hovered",I.hoveredEntityId),B("selected",[...I.selectedEntityIds]),B("lastTouched",I.lastTouchedEntityId)});import{proxy as dc}from"valtio/vanilla";var q=dc({id:"",globals:{},time:0,config:null});Ne.on("game",e=>{let t=e.payload;t.id!==void 0&&(q.id=t.id),t.time!==void 0&&(q.time=t.time),t.globals!==void 0&&Object.assign(q.globals,t.globals)});function wn(e){q.id!==e.id&&(q.id=e.id);let t=q.config;if(!t){q.config={id:e.id,aspectRatio:e.aspectRatio,fullscreen:e.fullscreen,bodyBackground:e.bodyBackground,internalResolution:e.internalResolution,debug:e.debug};return}t.id!==e.id&&(t.id=e.id),t.aspectRatio!==e.aspectRatio&&(t.aspectRatio=e.aspectRatio),t.fullscreen!==e.fullscreen&&(t.fullscreen=e.fullscreen),t.bodyBackground!==e.bodyBackground&&(t.bodyBackground=e.bodyBackground),t.debug!==e.debug&&(t.debug=e.debug);let r=e.internalResolution,o=t.internalResolution;(!r||!o?r!==o:r.width!==o.width||r.height!==o.height)&&(t.internalResolution=r)}function Ba(e){q.globals[e.path]=e.value}function An(e){e.paused!==void 0&&(I.paused=e.paused,B("paused",e.paused)),e.debug!==void 0&&B("debug",e.debug)}function Da(e){he(`[${e.level}] ${e.message}`)}function kn(e){e.stage?(T.config={id:e.stage.id,backgroundColor:e.stage.backgroundColor,backgroundImage:e.stage.backgroundImage,gravity:e.stage.gravity,inputs:e.stage.inputs,variables:e.stage.variables},T.backgroundColor=e.stage.backgroundColor,T.backgroundImage=e.stage.backgroundImage,T.gravity=e.stage.gravity,T.inputs=e.stage.inputs,T.variables=e.stage.variables):(T.config=null,T.backgroundColor=null,T.backgroundImage=null,T.gravity={x:0,y:0,z:0},T.inputs={},T.variables={}),wa(e.entities),ga(),on(e.entities),Yo()}var Sn=!1,lr=0,Cn=[];function Wr(){lr+=1;let e=!1,t=()=>{e||(e=!0,lr-=1,lr<=0&&(lr=0,Pn()))};if(Sn)return t;Sn=!0,Cn=[R.on("game:config",wn),R.on("game:variable",Ba),R.on("game:status",An),R.on("stage:snapshot",kn),R.on("entity:upsert",nn),R.on("entity:removed",({uuids:s})=>Aa(s)),R.on("entity:thumbnail",an),R.on("entity:selection",Uo),R.on("game:notice",Da),R.on("catalog:snapshot",jo),R.on("scene:operation",ua)],Vr();let r=R.getState("game:config");r&&wn(r);let o=R.getState("stage:snapshot");o&&kn(o);let n=R.getState("entity:upsert");n&&nn(n);let i=R.getState("entity:thumbnail");i&&an(i);let a=R.getState("game:status");a&&An(a);let l=R.getState("entity:selection");l&&Uo(l);let d=R.getState("catalog:snapshot");return d&&jo(d),t}function Pn(){for(let e of Cn)e();Cn=[],Sn=!1,lr=0}import{bridgeDebug as Rt,getZylemBridge as cc}from"@zylem/bridge";import{proxy as mc}from"valtio/vanilla";var En=200,Ma=60,re=mc({capturing:!1,paused:!1,entries:[],stats:[],dropped:0}),fc=0,In=null,Xr=null,qr=!1,uc=e=>`${(e/1e3).toFixed(2)}s`;function Tn(){let{channel:e}=cc();re.stats=Rt.stats().map(t=>({...t,retained:e.retainedSize(t.type)}))}function pc(e){if(re.paused||e.kind==="deliver")return;let t=re.entries;if(t.push({id:fc++,time:uc(e.t),kind:e.kind,type:e.type,bytes:e.bytes,summary:e.summary}),t.length>En){let r=t.length-En;t.splice(0,r),re.dropped+=r}}function Bn(){return re.capturing||(re.capturing=!0,qr=!Rt.isEnabled(),qr&&Rt.enable(),In=Rt.subscribe(pc),Tn(),Xr=setInterval(Tn,500)),sr}function sr(){In?.(),In=null,Xr!==null&&(clearInterval(Xr),Xr=null),qr&&(Rt.disable(),qr=!1),re.capturing=!1}function Dn(e){re.paused=e}function Mn(){re.entries=[],re.dropped=0,Rt.reset(),Tn()}function Rn(e){return e<1024?`${Math.round(e)} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}import{createComponent as gc}from"solid-js/web";import{createContext as yc,onCleanup as bc,useContext as hc}from"solid-js";import{createStore as Ln,reconcile as pt}from"solid-js/store";import{subscribe as Gn}from"valtio/vanilla";var Ra=yc();function Hn(e){let[t,r]=Ln({...I}),[o,n]=Ln({...q}),[i,a]=Ln({...T}),l=Gn(I,()=>{t.paused!==I.paused&&r("paused",I.paused),t.tool!==I.tool&&r("tool",I.tool),t.selectedEntityId!==I.selectedEntityId&&r("selectedEntityId",I.selectedEntityId);let c=I.selectedEntityIds;(t.selectedEntityIds.length!==c.length||t.selectedEntityIds.some((g,P)=>g!==c[P]))&&r("selectedEntityIds",[...c]),t.hoveredEntityId!==I.hoveredEntityId&&r("hoveredEntityId",I.hoveredEntityId),t.lastTouchedEntityId!==I.lastTouchedEntityId&&r("lastTouchedEntityId",I.lastTouchedEntityId);let u=I.flags;(t.flags.size!==u.size||[...t.flags].some(g=>!u.has(g)))&&r("flags",new Set(u))}),d=Gn(q,()=>{o.id!==q.id&&n("id",q.id),o.time!==q.time&&n("time",q.time),n("globals",pt(q.globals)),q.config===null?o.config!==null&&n("config",null):n("config",pt(q.config))}),s=Gn(T,()=>{T.config===null?i.config!==null&&a("config",null):a("config",pt(T.config)),i.backgroundColor!==T.backgroundColor&&a("backgroundColor",T.backgroundColor),i.backgroundImage!==T.backgroundImage&&a("backgroundImage",T.backgroundImage),a("inputs",pt(T.inputs)),a("variables",pt(T.variables)),a("gravity",pt(T.gravity)),a("entities",pt(T.entities,{key:"uuid"}))});bc(()=>{l(),d(),s()});let p={debug:t,game:o,stage:i};return gc(Ra.Provider,{value:p,get children(){return e.children}})}function Oe(){let e=hc(Ra);if(!e)throw new Error("useEditor must be used within an EditorProvider");return e}import{createComponent as xc}from"solid-js/web";import{mergeProps as vc}from"solid-js/web";import{splitProps as zc}from"solid-js";import{Dynamic as wc}from"solid-js/web";var Uh=e=>{let[t,r]=zc(e,["icon","class"]);return xc(wc,vc({get component(){return t.icon},get class(){return`text-current ${t.class||""}`}},r))};function La(){let e=T.config,t=[];for(let r of T.entities){if(!r.uuid)continue;let o={uuid:r.uuid};r.name!==void 0&&(o.name=r.name),r.type!==void 0&&(o.type=r.type),r.position&&(o.position={...r.position}),r.rotation&&(o.rotation={...r.rotation}),r.scale&&(o.scale={...r.scale}),t.push(o)}return{version:1,exportedAt:new Date().toISOString(),stage:e?{id:e.id,backgroundColor:e.backgroundColor,backgroundImage:e.backgroundImage,gravity:{...e.gravity},variables:{...e.variables}}:null,entities:t}}function Jr(){return JSON.stringify(La(),null,2)}async function On(){let e=Jr();if(!navigator.clipboard?.writeText)return null;try{return await navigator.clipboard.writeText(e),e}catch{return null}}var Ac=new Set(["INPUT","TEXTAREA","SELECT"]);function Lt(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let o of r)if(o instanceof HTMLElement&&(Ac.has(o.tagName)||o.isContentEditable))return!0;return!1}function kc(e){return!e.metaKey&&!e.ctrlKey||e.altKey||e.key.toLowerCase()!=="z"?null:e.shiftKey?"redo":"undo"}function Ga(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=o=>{let n=kc(o);n&&(Lt(o)||(o.preventDefault(),n==="undo"?qt():Jt()))};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}function Ha(){let e=Oo()!=="none",t=X.armedTypeId!==null;return!e&&!t?!1:(t&&(Bt(null),ft(null)),e&&(ot("none"),Ge("none")),!0)}function Oa(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=o=>{o.key==="Escape"&&(Lt(o)||Ha()&&o.preventDefault())};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}import{snapshot as Ec}from"valtio/vanilla";import{proxy as Sc,subscribe as Cc}from"valtio/vanilla";var Ya=Math.PI/12,ae=Sc({enabled:!0,translate:.25,rotate:Ya,scale:.1,gridVisible:!1}),ue=Ye(ae);function Fa(){return{enabled:ae.enabled,translate:ae.translate,rotate:ae.rotate,scale:ae.scale}}function dr(e){ae.enabled=e}function Pc(e){for(let[t,r]of Object.entries(e))typeof r=="number"&&r>0&&(ae[t]=r)}function cr(e){ae.gridVisible=e}var Fn=!1;function Qa(){if(Fn)return()=>{};Fn=!0,Zt(Fa()),Kt(ae.gridVisible);let e=ae.gridVisible,t=Cc(ae,()=>{Zt(Fa()),ae.gridVisible!==e&&(e=ae.gridVisible,Kt(e))});return()=>{Fn=!1,t()}}function Va(e,t){return e==="add"&&t!==null}function $r(e,t,r){let o=n=>n?e.find(i=>i.id===n)??null:null;return o(t)??o(r)??e[0]??null}function Ua(e){return e.map(t=>({id:t.id,label:t.label,group:t.group,icon:t.icon,description:t.description,tags:t.tags}))}function _r(e,t,r){let o=e[0];return o||(t&&r.includes(t)?t:null)}function mr(){let e=!f.debug;B("debug",e),Ct(e)}function Yn(e){ot(e),Ge(e),e!=="add"&&en(null)}function Ic(e){I.tool!==e&&Yn(e)}function gt(e){Yn(I.tool===e?"none":e)}function Tc(){return _r(I.selectedEntityIds,I.lastTouchedEntityId,T.entities.map(e=>e.uuid).filter(e=>!!e))}function ja(e){let t=Tc();return t?(Bt(null),ft(null),e!=="none"&&I.selectedEntityIds.length===0&&(Wt(t),Et(t)),Yn(e),!0):!1}function Qn(e){return I.tool===e?!0:ja(e)}function Vn(e){return ja(I.tool===e?"none":e)}function to(e,t="doodad"){let r=ma(e);return r?(en(t),Bt(r.id),ft(r.id,r.defaultProps&&Ec(r.defaultProps)),ot("add"),Ge("add"),!0):!1}function fr(e="doodad"){let t=$r(X.entities,X.armedTypeId,X.lastTypeId);return t?to(t.id,e):!1}var eo=null;function Na(e){return eo=e,()=>{eo===e&&(eo=null)}}function Un(){return eo?.()??!1}function ur(){dr(!ae.enabled)}function pr(){cr(!ae.gridVisible)}function ro(){ba()}function gr(){let e=!I.paused;Ho(e),Pt(e)}import{EDITOR_CAMERAS as oo,GAME_CAMERA_ID as Bc}from"@zylem/bridge";import{proxy as Dc,subscribe as Mc}from"valtio/vanilla";var Rc={game:Bc,side:oo.side,top:oo.top,isometric:oo.isometric,free:oo.free};function Lc(e){return Rc[e]}var Ve=Dc({perspective:!1,preset:"game",spaceHeld:!1}),at=Ye(Ve);function no(e,t){return t?"free":e}function Za(){Ve.perspective=!Ve.perspective}function Ka(e){Ve.preset=e}function Nn(e){Ve.spaceHeld=e}var jn=!1;function Wa(){if(jn)return()=>{};jn=!0;let e=no(Ve.preset,Ve.spaceHeld),t=Mc(Ve,()=>{let r=no(Ve.preset,Ve.spaceHeld);r!==e&&(e=r,Fr(Lc(r)))});return()=>{jn=!1,t()}}var Zn={debug:{key:"d"},build:{key:"b"},select:{key:"q"},translate:{key:"w"},rotate:{key:"e"},scale:{key:"r"},add:{key:"a"},addPalette:{key:"a",shift:!0},delete:{key:"x"},snap:{key:"s"},grid:{key:"g"},undo:{key:"z",mod:!0},redo:{key:"z",mod:!0,shift:!0},playback:{key:"Enter",mod:!0}},Gc=["debug","build","select","translate","rotate","scale","add","addPalette","delete","snap","grid","playback"];function Hc(e,t){return e.altKey||(e.metaKey||e.ctrlKey)!==!!t.mod||e.shiftKey!==!!t.shift?!1:e.key.toLowerCase()===t.key.toLowerCase()}function Oc(e){for(let t of Gc)if(Hc(e,Zn[t]))return t;return null}var Fc=new Set(["dialog","alertdialog","menu"]);function Xa(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let o of r){if(!(o instanceof HTMLElement))continue;let n=o.getAttribute("role");if(n&&Fc.has(n))return!0}return!1}var Yc=()=>typeof navigator<"u"&&/Mac|iPhone|iPad|iPod/i.test(navigator.platform||navigator.userAgent);function qa(e,t=Yc()){let r=[];return e.mod&&r.push(t?"Cmd":"Ctrl"),e.shift&&r.push("Shift"),r.push(e.key.length===1?e.key.toUpperCase():e.key),r.join("+")}function J(e,t){return`${e} (${qa(Zn[t])})`}function Ja(e){switch(e){case"debug":return mr(),!0;case"build":return ro(),!0;case"select":case"delete":return gt(e),!0;case"translate":case"rotate":case"scale":return Qn(e);case"add":return fr();case"addPalette":return Un();case"snap":return ur(),!0;case"grid":return pr(),!0;case"playback":return gr(),!0}}function Kn(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=e.isActive??(()=>!0),o=l=>l.key===" "||l.key==="Spacebar",n=l=>{!o(l)||l.repeat||l.metaKey||l.ctrlKey||l.altKey||l.shiftKey||Lt(l)||Xa(l)||r()&&(l.preventDefault(),l.stopImmediatePropagation(),Nn(!0))},i=l=>{o(l)&&Nn(!1)},a=l=>{let d=Oc(l);d&&(Lt(l)||Xa(l)||r()&&(l.preventDefault(),l.stopImmediatePropagation(),!l.repeat&&Ja(d)))};return t.addEventListener("keydown",n,!0),t.addEventListener("keyup",i,!0),t.addEventListener("keydown",a,!0),()=>{t.removeEventListener("keydown",n,!0),t.removeEventListener("keyup",i,!0),t.removeEventListener("keydown",a,!0)}}import{subscribe as Qc}from"valtio/vanilla";var Vc=new Set(["translate","rotate","scale"]);function Uc(e){return Vc.has(e)}function Wn(){return I.selectedEntityIds.length>0||!Uc(I.tool)?!1:(ot("none"),Ge("none"),!0)}function Xn(e={}){return e.enabled===!1?()=>{}:(Wn(),Qc(I,()=>{Wn()}))}import{getZylemBridge as Yy}from"@zylem/bridge";import{createComponent as fd}from"solid-js/web";var $a=`@import"https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&display=swap";:root,:host{--zylem-color-primary: #61A6E8;--zylem-color-primary-hover: #3B8AD8;--zylem-color-primary-active: #0C6EB8;--zylem-color-accent: #E64534;--zylem-color-accent-hover: #C93A2C;--zylem-color-accent-active: #A82F24;--zylem-color-background: #11151C;--zylem-color-background-translucent: rgba(10, 20, 30, .46);--zylem-color-surface: #1A1F27;--zylem-color-surface-hover: #222831;--zylem-color-border: #2D3643;--zylem-color-active: rgba(20, 255, 60, .7);--zylem-color-active-hover: rgba(20, 255, 60, .4);--zylem-color-success-hover: #2a6734b3;--zylem-color-text: #E6EBEF;--zylem-color-text-secondary: #88929E;--zylem-color-console-background: rgba(20, 40, 60, .25);--zylem-color-console-text: #61A6E8;--zylem-spacing-xxs: .125rem;--zylem-spacing-xs: .25rem;--zylem-spacing-sm: .5rem;--zylem-spacing-md: .75rem;--zylem-spacing-lg: 1rem;--zylem-spacing-xl: 1.5rem;--zylem-spacing-xxl: 2rem;--zylem-spacing-xxxl: 3rem;--zylem-size-icon: 28px;--zylem-size-icon-sm: 16px;--zylem-size-icon-lg: 96px;--zylem-font-family: "Exo 2", sans-serif;--zylem-font-size: 14px;--zylem-radius: 12px;--zylem-border: 1.5px;--zylem-material-glass-panel: linear-gradient(180deg, rgba(38, 76, 112, .74), rgba(10, 24, 38, .58));--zylem-material-glass-panel-dark: linear-gradient(180deg, rgba(26, 31, 39, .75), rgba(10, 20, 30, .68));--zylem-material-glossy-bar: linear-gradient(180deg, rgba(205, 232, 255, .55) 0%, rgba(97, 166, 232, .34) 38%, rgba(18, 54, 88, .86) 100%);--zylem-material-button-glass: linear-gradient(180deg, rgba(178, 219, 255, .34), rgba(30, 94, 148, .72) 48%, rgba(9, 34, 58, .92));--zylem-material-button-glass-hover: linear-gradient(180deg, rgba(218, 242, 255, .58), rgba(48, 137, 220, .86) 48%, rgba(11, 62, 112, .96));--zylem-material-button-glass-active: linear-gradient(180deg, rgba(190, 255, 203, .42), rgba(28, 174, 63, .78) 50%, rgba(9, 86, 31, .95));--zylem-material-button-glass-danger: linear-gradient(180deg, rgba(255, 210, 202, .36), rgba(230, 69, 52, .82) 50%, rgba(96, 18, 13, .94));--zylem-material-field-glass: linear-gradient(180deg, rgba(8, 19, 31, .82), rgba(15, 39, 62, .72));--zylem-material-panel-header-gloss: linear-gradient(180deg, rgba(190, 226, 255, .18), rgba(61, 118, 165, .16) 46%, rgba(10, 27, 44, .26));--zylem-effect-blur-sm: 8px;--zylem-effect-blur-md: 14px;--zylem-effect-blur-lg: 24px;--zylem-effect-shadow-panel: 0 22px 54px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .1);--zylem-effect-shadow-button: inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(0,0,0,.45), 0 2px 7px rgba(0,0,0,.35);--zylem-effect-shadow-inset: inset 0 1px 2px rgba(0,0,0,.42), inset 0 -1px 0 rgba(255,255,255,.08);--zylem-effect-glow-primary: 0 0 18px rgba(97, 166, 232, .28);--zylem-effect-glow-active: 0 0 20px rgba(20, 255, 60, .26);--zylem-effect-glow-danger: 0 0 20px rgba(230, 69, 52, .24);--zylem-effect-focus-ring: 0 0 0 2px rgba(97, 166, 232, .38), 0 0 18px rgba(97, 166, 232, .22);--zylem-radius-window: 14px;--zylem-radius-panel: 12px;--zylem-radius-button: 7px;--zylem-radius-control: 6px;--zylem-radius-card: 10px;--zylem-motion-fast: .12s;--zylem-motion-normal: .16s;--zylem-motion-ease-out: cubic-bezier(.2,.8,.2,1);--zylem-art-checker-light: #4F5C72;--zylem-art-checker-dark: #3C4759;--zylem-art-canvas-border: rgba(150, 210, 255, .5);--zylem-layer-base: 0;--zylem-layer-panel: 1000;--zylem-layer-modal: 2000;--zylem-layer-popover: 3000;--zylem-layer-tooltip: 4000;--zylem-layer-menu: 5000}.zylem-layer-portals{pointer-events:auto}.zylem-layer-scope{isolation:isolate}:root{--zylem-logo-url: url(data:image/png;base64,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)}:host{--zylem-logo-url: url(data:image/png;base64,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)}.zylem-hyperglass-root{min-height:100vh;color:var(--zylem-color-text);font-family:var(--zylem-font-family);background-color:var(--zylem-color-background);background-image:radial-gradient(circle at 30% 0%,rgba(97,166,232,.18),transparent 32%),linear-gradient(-75deg,#fff0,#61a6e812 42%,#fff0 68%),linear-gradient(rgba(97,166,232,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(97,166,232,.045) 1px,transparent 1px);background-size:100% 100%,100% 100%,24px 24px,24px 24px}.zylem-hyperglass-root :focus-visible,.zylem-focus-ring:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-button:not(.zylem-console-clear),.zylem-toolbar-btn,.zylem-toolbox-btn{position:relative}.zylem-button:before,.zylem-toolbar-btn:before,.zylem-toolbox-btn:before,.entity-grid-item:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(-45deg,#fff0,#ffffff6b 40% 50%,#fff0 55%);background-size:200% 200%;background-position:0% 50%;background-repeat:no-repeat;mix-blend-mode:screen;opacity:.4;transition:background-position var(--zylem-motion-normal) var(--zylem-motion-ease-out),opacity var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-button:hover:not([disabled]):before,.zylem-toolbar-btn:hover:not([disabled]):before,.zylem-toolbox-btn:hover:not([disabled]):before,.entity-grid-item:hover:before{background-position:25% 50%;opacity:.5}.zylem-button:active:not([disabled]):before,.zylem-toolbar-btn:active:not([disabled]):before,.zylem-toolbox-btn:active:not([disabled]):before,.entity-grid-item:active:before{background-position:50% 15%;opacity:.58}.zylem-scroll,.zylem-hyperglass-root{scrollbar-color:rgba(97,166,232,.55) rgba(10,20,30,.5);scrollbar-width:thin}.zylem-scroll::-webkit-scrollbar,.zylem-hyperglass-root ::-webkit-scrollbar{width:13px;height:13px}.zylem-scroll::-webkit-scrollbar-track,.zylem-hyperglass-root ::-webkit-scrollbar-track{border-radius:999px;background:linear-gradient(90deg,#00000052,#61a6e81c,#ffffff0b);border:1px solid rgba(97,166,232,.16)}.zylem-scroll::-webkit-scrollbar-thumb,.zylem-hyperglass-root ::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid rgba(5,16,28,.82);background:linear-gradient(90deg,#dcf2ff7a,#61a6e8b8 42%,#133e66eb);box-shadow:inset 1px 0 #ffffff6b,inset -1px 0 #00000057}.zylem-scroll::-webkit-scrollbar-thumb:hover,.zylem-hyperglass-root ::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faffa3,#61a6e8eb 42%,#154c82fa)}@media(prefers-reduced-motion:reduce){.zylem-button:before,.zylem-toolbar-btn:before,.zylem-toolbox-btn:before,.entity-grid-item:before{transition:none;background-position:0% 50%}.zylem-button:hover:not([disabled]):before,.zylem-toolbar-btn:hover:not([disabled]):before,.zylem-toolbox-btn:hover:not([disabled]):before,.entity-grid-item:hover:before{background-position:0% 50%}.zylem-button:active:not([disabled]):before,.zylem-toolbar-btn:active:not([disabled]):before,.zylem-toolbox-btn:active:not([disabled]):before,.entity-grid-item:active:before{background-position:0% 50%}}@supports not (backdrop-filter: blur(1px)){.zylem-glass{background-color:var(--zylem-color-surface)}}.selected{background:var(--zylem-material-button-glass-active);box-shadow:inset 0 0 6px #14ff3c59,var(--zylem-effect-glow-active)}.overlay{background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:100% 3px;pointer-events:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#07132166;border-radius:999px}::-webkit-scrollbar-thumb{border-radius:999px;border:1px solid rgba(5,16,28,.82);background:linear-gradient(90deg,#dcf2ff66,#61a6e8a6 42%,#133e66e6)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faff99,#61a6e8e6 42%,#154c82fa)}:where(button){all:unset}#zylem-editor-container{position:fixed;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}#zylem-editor-toggle{width:var(--zylem-size-icon-lg);height:var(--zylem-size-icon-lg);background-image:var(--zylem-logo-url);background-size:contain;background-repeat:no-repeat;background-position:center;cursor:grab;z-index:1;pointer-events:auto;filter:drop-shadow(0 0 10px rgba(97,166,232,.35))}.zylem-exo-2{font-family:var(--zylem-font-family);font-optical-sizing:auto;font-weight:400;font-style:normal}.scrollable-y{overflow-y:scroll;overflow-x:hidden;scroll-behavior:smooth}.scroll-thin{scrollbar-width:thin;scrollbar-color:rgba(97,166,232,.55) rgba(10,20,30,.5)}.scroll-thin::-webkit-scrollbar{width:6px;height:6px}.scroll-thin::-webkit-scrollbar-track{background:transparent}.scroll-thin::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(90deg,#dcf2ff66,#61a6e8a6 42%,#133e66e6)}.scroll-thin::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faff99,#61a6e8e6 42%,#154c82fa)}.zylem-icon{width:18px;height:18px;stroke:currentColor;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.floating-panel{border-radius:var(--zylem-radius-window);border:1px solid rgba(146,205,255,.54);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden;pointer-events:auto}.floating-panel-titlebar{min-height:34px;box-sizing:border-box;display:flex;align-items:center;padding:0 var(--zylem-spacing-md);background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14;font-family:var(--zylem-font-family);font-weight:700;cursor:grab;user-select:none;transition:filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.floating-panel-titlebar:hover{filter:brightness(1.08)}.floating-panel-titlebar:active{filter:brightness(.95);cursor:grabbing}.floating-panel-title{font-size:13px;letter-spacing:.02em;color:#f4faff;text-shadow:0 1px 1px rgba(0,0,0,.65)}.floating-panel-content{background:transparent}.floating-panel-controls{display:flex;align-items:center;gap:7px}.zylem-section{padding:var(--zylem-spacing-sm)}.zylem-section-title{margin:0 0 var(--zylem-spacing-sm) 0;font-size:11px;font-family:var(--zylem-font-family);color:var(--zylem-color-text-secondary);font-weight:700;letter-spacing:.09em;text-transform:uppercase}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:var(--zylem-spacing-xs)}.entity-grid>*{display:flex;min-width:0;aspect-ratio:1}.entity-grid-item{position:relative;flex:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--zylem-material-button-glass);border:1px solid rgba(150,210,255,.5);border-radius:var(--zylem-radius-control);box-shadow:var(--zylem-effect-shadow-button);cursor:pointer;color:var(--zylem-color-text-secondary);transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.entity-grid-item:hover{background:var(--zylem-material-button-glass-hover);border-color:#96d2ffbf;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px);color:#f4faff}.entity-grid-item:active{transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.entity-grid-item:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.entity-icon{width:20px;height:20px;color:currentColor;position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.entity-grid-item:hover .entity-icon{color:#f4faff}@supports not (backdrop-filter: blur(1px)){.floating-panel{background:var(--zylem-color-surface)}}.zylem-accordion{color:var(--zylem-color-text);display:flex;flex-direction:column;height:100%;min-height:0}.accordion-header{position:sticky;top:0;z-index:1;display:flex}.accordion-item{position:relative;border-bottom:1px solid rgba(97,166,232,.22);display:flex;flex-direction:column;min-height:0;scrollbar-width:none}.accordion-item:last-child{border-bottom:none}.accordion-item[data-expanded]{scrollbar-width:thin;flex:1;min-height:0}.accordion-trigger{box-sizing:border-box;width:100%;flex:1;padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);display:flex;justify-content:space-between;align-items:center;gap:var(--zylem-spacing-sm);border:none;background:transparent;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);font-weight:600;letter-spacing:.03em;cursor:pointer;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.accordion-trigger:hover{background:#61a6e814}.accordion-trigger[data-expanded]{background:#61a6e81f;color:#f4faff}.accordion-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.accordion-content{overflow-y:auto;flex:1;min-height:0;transition:height .3s ease}.zylem-accordion--stack{height:auto;flex:none}.zylem-accordion--stack .accordion-item[data-expanded]{flex:none}.zylem-accordion--stack .accordion-header{position:static}.zylem-accordion--stack .accordion-content{flex:none;overflow:visible}.accordion-trigger:after{content:"\\25bc";position:relative;color:var(--zylem-color-text-secondary);font-size:10px;transition:transform var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.accordion-trigger[data-expanded]:after{transform:rotate(180deg);color:#f4faff}.panel-content{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-md);color:var(--zylem-color-text)}.zylem-menu{display:flex;flex-direction:column;height:100%;width:100%;background:transparent;border-radius:var(--zylem-radius-panel);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;pointer-events:auto;font-family:var(--zylem-font-family)}.zylem-menu::-webkit-scrollbar{display:none}.zylem-menu-header{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);border-bottom:1px solid rgba(97,166,232,.28);background:linear-gradient(180deg,#82b4e624,#1e3c5f2e 50%,#0816263d);box-shadow:inset 0 1px #ffffff26}.zylem-collapse-button{flex-shrink:0;padding:var(--zylem-spacing-sm);font-size:12px;line-height:1;margin-right:var(--zylem-spacing-sm);color:var(--zylem-color-primary);cursor:pointer}.zylem-menu h3,.zylem-menu h4{margin:0}.entities-list{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);overflow-y:auto;overflow-x:hidden}:where(ul){all:unset}.entity-item-wrapper{all:unset;cursor:pointer}.entity-item{display:grid;gap:var(--zylem-spacing-sm);grid-template-columns:1fr 1fr 1fr;border:1px solid rgba(97,166,232,.32);border-radius:var(--zylem-radius-card);background:var(--zylem-material-glass-panel-dark);box-shadow:inset 0 1px #ffffff14,0 4px 12px #00000040;padding:var(--zylem-spacing-md);margin:var(--zylem-spacing-md) 0;font-weight:600;color:var(--zylem-color-text);transition:background var(--zylem-motion-normal) var(--zylem-motion-ease-out),border-color var(--zylem-motion-normal) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.entity-item-wrapper.hovered .entity-item,.entity-item.hovered{border-color:#96d2ff99;box-shadow:inset 0 1px #ffffff1f,var(--zylem-effect-glow-primary);color:#f4faff}.entity-item-wrapper:active .entity-item{border-color:#14ff3c99;box-shadow:inset 0 1px #ffffff1f,var(--zylem-effect-glow-active)}.entity-info-item{display:grid;grid-template-columns:min-content max-content;gap:var(--zylem-spacing-sm)}@keyframes q0mxj10{0%{opacity:.6}to{opacity:1}}.detached-panel{min-width:250px;min-height:150px;position:fixed;display:flex;flex-direction:column;border-radius:var(--zylem-radius-panel);border:1px solid rgba(97,166,232,.38);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.14);overflow:hidden}.detached-panel-titlebar{box-sizing:border-box;min-height:32px;padding:0 var(--zylem-spacing-md);cursor:grab;display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);user-select:none;background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14;color:#f4faff;font-family:var(--zylem-font-family);font-weight:700;font-size:12px;text-shadow:0 1px 1px rgba(0,0,0,.65)}.detached-panel-titlebar:active{cursor:grabbing}.detached-panel-content{background:transparent;flex:1;overflow:auto;display:flex;flex-direction:column}.accordion-item--dragging{opacity:.5}.accordion-drag-ghost{display:flex;align-items:center;justify-content:space-between;background:var(--zylem-material-glass-panel-dark);border:2px dotted rgba(230,69,52,.8);border-radius:var(--zylem-radius-panel);color:var(--zylem-color-text);font-family:var(--zylem-font-family);backdrop-filter:blur(var(--zylem-effect-blur-sm));box-shadow:0 8px 24px #00000080,var(--zylem-effect-glow-danger);position:fixed;z-index:calc(var(--zylem-layer-panel) + 900);pointer-events:none}.accordion-drop-indicator{height:4px;background:var(--zylem-color-accent);border-radius:2px;margin:var(--zylem-spacing-sm) var(--zylem-spacing-md);box-shadow:0 0 8px var(--zylem-color-accent);animation:q0mxj10 .8s ease-in-out infinite alternate}@supports not (backdrop-filter: blur(1px)){.detached-panel{background:var(--zylem-color-surface)}}.zylem-field{box-sizing:border-box;min-height:28px;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.32);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);padding:0 var(--zylem-spacing-sm);outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-field:focus,.zylem-field:focus-within{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring);border-color:#61a6e899}.zylem-field::placeholder{color:var(--zylem-color-text-secondary)}.zylem-field[disabled],.zylem-field[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-field-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);margin-bottom:var(--zylem-spacing-xxs);user-select:none}.zylem-field-error{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-accent);font-family:var(--zylem-font-family);margin-top:var(--zylem-spacing-xxs)}.zylem-field-root{display:flex;flex-direction:column;min-width:0}.zylem-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--zylem-spacing-xs);min-height:28px;padding:0 var(--zylem-spacing-md);cursor:pointer;user-select:none;white-space:nowrap;border-radius:var(--zylem-radius-button);border:1px solid rgba(150,210,255,.55);color:#f4faff;background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);text-shadow:0 1px 1px rgba(0,0,0,.72);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);font-weight:600;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-button:hover:not([disabled]){background:var(--zylem-material-button-glass-hover);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px);color:#f4faff}.zylem-button:active:not([disabled]){transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.zylem-button:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.zylem-button[disabled],.zylem-button[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-button[data-variant=primary]{border-color:#b2dbffcc;background:var(--zylem-material-button-glass-hover)}.zylem-button[data-variant=primary]:hover:not([disabled]){filter:brightness(1.08)}.zylem-button[data-variant=active]{border-color:#14ff3cc7;background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active)}.zylem-button[data-variant=active]:hover:not([disabled]){background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active);filter:brightness(1.1)}.zylem-button[data-variant=danger]{border-color:#ff8472c7;background:var(--zylem-material-button-glass-danger);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-danger)}.zylem-button[data-variant=danger]:hover:not([disabled]){background:var(--zylem-material-button-glass-danger);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-danger);filter:brightness(1.1)}.zylem-button[data-variant=ghost]{border:1px solid rgba(97,166,232,.35);background:transparent;box-shadow:none;color:var(--zylem-color-primary);text-shadow:none}.zylem-button[data-variant=ghost]:hover:not([disabled]){background:#61a6e81f;box-shadow:var(--zylem-effect-glow-primary);color:var(--zylem-color-primary)}.zylem-button[data-size=sm]{min-height:22px;padding:0 var(--zylem-spacing-sm);font-size:calc(var(--zylem-font-size) - 2px)}.zylem-button[data-size=lg]{min-height:36px;padding:0 var(--zylem-spacing-lg);font-size:calc(var(--zylem-font-size) + 1px)}.zylem-button[data-size=icon]{min-height:28px;min-width:28px;padding:var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control)}.zylem-toolbar-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--zylem-spacing-xs);min-width:34px;height:34px;padding:0 var(--zylem-spacing-sm);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6);cursor:pointer;border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.5);background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);color:#e8f4ff;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-toolbar-btn:hover{background:var(--zylem-material-button-glass-hover);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px)}.zylem-toolbar-btn:active{transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.zylem-toolbar-btn:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.zylem-toolbar-btn[data-selected],.zylem-toolbar-btn.selected{border-color:#14ff3cc7;background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active)}.zylem-toolbar-btn[disabled]{opacity:.45;cursor:not-allowed}.zylem-toolbar-btn svg{width:18px;height:18px;stroke:currentColor;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.zylem-textfield-input{width:100%;height:28px}.zylem-textfield-textarea{width:100%;min-height:72px;padding:var(--zylem-spacing-sm);resize:vertical;line-height:1.45}.zylem-numberfield-group{display:inline-flex;align-items:stretch;position:relative;width:100%}.zylem-numberfield-input{width:100%;height:28px;padding-right:26px;font-variant-numeric:tabular-nums}.zylem-numberfield-stepper{position:absolute;right:3px;width:20px;height:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(150,210,255,.4);border-radius:4px;background:var(--zylem-material-button-glass);color:#f4faff;font-size:8px;line-height:1;padding:0;transition:filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-numberfield-stepper:hover{filter:brightness(1.25)}.zylem-numberfield-stepper:active{filter:brightness(.85)}.zylem-numberfield-stepper--up{top:3px}.zylem-numberfield-stepper--down{bottom:3px}.zylem-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);width:100%;height:28px;cursor:pointer;text-align:left}.zylem-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-select-icon{flex-shrink:0;font-size:9px;color:var(--zylem-color-primary);transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-select-trigger[data-expanded] .zylem-select-icon{transform:rotate(180deg)}.zylem-select-content{z-index:var(--zylem-layer-menu);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden}.zylem-select-listbox{max-height:280px;overflow-y:auto;padding:var(--zylem-spacing-xs);margin:0;display:flex;flex-direction:column;gap:2px;outline:none}.zylem-select-item{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:4px;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);cursor:pointer;user-select:none;outline:none}.zylem-select-item[data-highlighted]{background:#61a6e838;color:#f4faff}.zylem-select-item[data-selected]{background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);color:#f4faff}.zylem-select-item[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-select-item-indicator{color:var(--zylem-color-active);font-size:11px}@supports not (backdrop-filter: blur(1px)){.zylem-select-content{background:var(--zylem-color-surface)}}.zylem-checkbox-root{display:inline-flex;align-items:center;gap:var(--zylem-spacing-sm);cursor:pointer;user-select:none}.zylem-checkbox-root[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-checkbox-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-checkbox-control{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.5);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-checkbox-root:hover .zylem-checkbox-control{border-color:#96d2ffb3;box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-glow-primary)}.zylem-checkbox-root[data-checked] .zylem-checkbox-control{background:var(--zylem-material-button-glass);border:1px solid rgba(150,210,255,.65);box-shadow:var(--zylem-effect-shadow-button)}.zylem-checkbox-root:focus-within .zylem-checkbox-control{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-checkbox-icon{width:12px;height:12px;color:#f4faff;stroke-width:3.5;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.zylem-checkbox-label{font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);color:var(--zylem-color-text)}.zylem-checkbox-root:hover .zylem-checkbox-label{color:var(--zylem-color-primary)}.zylem-switch-root{display:inline-flex;align-items:center;gap:var(--zylem-spacing-sm);cursor:pointer;user-select:none}.zylem-switch-root[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-switch-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-switch-control{box-sizing:border-box;width:38px;height:20px;border-radius:999px;border:1px solid rgba(97,166,232,.42);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);padding:2px;display:flex;align-items:center;transition:background var(--zylem-motion-normal) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.zylem-switch-root[data-checked] .zylem-switch-control{background:linear-gradient(180deg,#b2dbff4d,#1e5e94d9);box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-glow-primary)}.zylem-switch-root:focus-within .zylem-switch-control{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-switch-thumb{width:14px;height:14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:linear-gradient(180deg,#f0fafff2,#a0c8ebe6);box-shadow:inset 0 1px #ffffffb3,0 1px 3px #00000080;transition:transform var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.zylem-switch-thumb[data-checked]{transform:translate(18px)}.zylem-switch-label{font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);color:var(--zylem-color-text)}.zylem-slider-root{display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);width:100%;user-select:none;touch-action:none}.zylem-slider-root[data-disabled]{opacity:.5}.zylem-slider-header{display:flex;align-items:center;justify-content:space-between}.zylem-slider-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family)}.zylem-slider-value{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-primary);font-family:var(--zylem-font-family);font-variant-numeric:tabular-nums}.zylem-slider-track{position:relative;height:8px;width:100%;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);cursor:pointer}.zylem-slider-fill{position:absolute;height:100%;border-radius:999px;background:linear-gradient(180deg,#b2dbffa6,#3089dce6);box-shadow:inset 0 1px #ffffff73}.zylem-slider-thumb{display:block;width:16px;height:16px;top:-5px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-glow-primary);cursor:grab;outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-slider-thumb:active{cursor:grabbing}.zylem-slider-thumb:focus-visible{box-shadow:inset 0 1px #ffffffbf,var(--zylem-effect-focus-ring)}.zylem-slider-thumb-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-tabs-root{display:flex;flex-direction:column;min-height:0;width:100%}.zylem-tabs-list{display:flex;align-items:flex-end;gap:3px;position:relative;padding:var(--zylem-spacing-xs) var(--zylem-spacing-xs) 0}.zylem-tabs-trigger{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs);padding:var(--zylem-spacing-xs) var(--zylem-spacing-md);border-radius:var(--zylem-radius-button) var(--zylem-radius-button) 0 0;border:1px solid rgba(97,166,232,.3);border-bottom:none;background:linear-gradient(180deg,#1a1f2799,#0a141e80);color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;cursor:pointer;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-tabs-trigger:hover{color:var(--zylem-color-text);background:linear-gradient(180deg,#264c7080,#0f273e73)}.zylem-tabs-trigger[data-selected]{color:#f4faff;background:var(--zylem-material-button-glass);border-color:#96d2ff8c;box-shadow:inset 0 1px #ffffff59;text-shadow:0 1px 1px rgba(0,0,0,.6)}.zylem-tabs-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-tabs-trigger[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-tabs-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-tabs-dirty{flex:none;width:6px;height:6px;border-radius:50%;background:var(--zylem-color-active);box-shadow:var(--zylem-effect-glow-active)}.zylem-tabs-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;margin-right:calc(var(--zylem-spacing-xs) * -1);border-radius:4px;color:var(--zylem-color-text-secondary);cursor:pointer;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-tabs-close svg{width:11px;height:11px;stroke:currentColor}.zylem-tabs-close:hover{background:var(--zylem-color-accent);color:#fff4f2}.zylem-tabs-close:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-tabs-content{flex:1;min-height:0;border-radius:0 var(--zylem-radius-card) var(--zylem-radius-card) var(--zylem-radius-card);border:1px solid rgba(97,166,232,.3);background:var(--zylem-material-glass-panel-dark);padding:var(--zylem-spacing-md);outline:none}@keyframes _1swjdrl0{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.zylem-tooltip{position:relative;z-index:var(--zylem-layer-tooltip);max-width:260px;padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:0 8px 24px #00000073,inset 0 1px #ffffff1f;backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.15);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;letter-spacing:.02em;pointer-events:none}.zylem-tooltip[data-enter]{animation:_1swjdrl0 .15s var(--zylem-motion-ease-out)}@supports not (backdrop-filter: blur(1px)){.zylem-tooltip{background:var(--zylem-color-surface)}}@keyframes _1bev2o10{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.zylem-dropdown-content{z-index:var(--zylem-layer-menu);min-width:180px;padding:var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);outline:none}.zylem-dropdown-content[data-expanded]{animation:_1bev2o10 .12s var(--zylem-motion-ease-out)}.zylem-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:4px;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);cursor:pointer;user-select:none;outline:none}.zylem-dropdown-item[data-highlighted]{background:#61a6e838;color:#f4faff}.zylem-dropdown-item[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-dropdown-item--danger{color:#ff9c8f}.zylem-dropdown-item--danger[data-highlighted]{background:#e6453440;color:#ffd9d3}.zylem-dropdown-label{flex:1 1 auto;min-width:0}.zylem-dropdown-check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:14px;height:14px;margin-right:calc(var(--zylem-spacing-xs) * -1)}.zylem-dropdown-check svg{width:13px;height:13px;stroke:currentColor}.zylem-dropdown-shortcut{font-size:calc(var(--zylem-font-size) - 3px);color:var(--zylem-color-text-secondary);letter-spacing:.06em}.zylem-dropdown-separator{height:1px;border:none;margin:var(--zylem-spacing-xs) var(--zylem-spacing-sm);background:linear-gradient(90deg,transparent,rgba(97,166,232,.35),transparent)}@supports not (backdrop-filter: blur(1px)){.zylem-dropdown-content{background:var(--zylem-color-surface)}}.zylem-menubar{display:flex;align-items:center;gap:2px;min-width:0}.zylem-menubar-trigger{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border:1px solid transparent;border-radius:var(--zylem-radius-button);background:transparent;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;letter-spacing:.02em;line-height:1.2;cursor:pointer;user-select:none;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-menubar-trigger:hover{background:#61a6e81f;color:var(--zylem-color-text)}.zylem-menubar-trigger[data-expanded]{background:#61a6e838;border-color:#61a6e859;color:#f4faff}.zylem-menubar-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-menubar-trigger[data-disabled]{opacity:.45;cursor:not-allowed}@keyframes _7rjyk0{0%{opacity:0}to{opacity:1}}@keyframes _7rjyk1{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.zylem-dialog-overlay{position:fixed;inset:0;z-index:var(--zylem-layer-modal);background:#050a1299;backdrop-filter:blur(3px);animation:_7rjyk0 .15s var(--zylem-motion-ease-out)}.zylem-dialog-positioner{position:fixed;inset:0;z-index:calc(var(--zylem-layer-modal) + 1);display:flex;align-items:center;justify-content:center;padding:var(--zylem-spacing-lg)}.zylem-dialog-content{display:flex;flex-direction:column;width:100%;max-width:440px;max-height:100%;min-height:0;border-radius:var(--zylem-radius-window);border:1px solid rgba(146,205,255,.54);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden;animation:_7rjyk1 .16s var(--zylem-motion-ease-out)}.zylem-dialog-content[data-size=lg]{max-width:760px}.zylem-dialog-content[data-size=fullscreen]{max-width:none;height:100%;border-radius:var(--zylem-radius-card)}.zylem-dialog-header{flex:none;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-xs) var(--zylem-spacing-md);background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14}.zylem-dialog-titles{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.zylem-dialog-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.02em;color:#f4faff;font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.65)}.zylem-dialog-subtitle{margin:0;font-size:calc(var(--zylem-font-size) - 2px);font-weight:500;color:#e8f4ffc7;font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.5)}.zylem-dialog-header-extra{display:flex;align-items:center;gap:var(--zylem-spacing-sm);flex:none}.zylem-dialog-body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--zylem-spacing-lg);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);line-height:1.45}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-body{display:flex;flex-direction:column}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-scope{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.zylem-dialog-footer{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:var(--zylem-spacing-sm);padding:0 var(--zylem-spacing-lg) var(--zylem-spacing-lg)}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-footer{padding:var(--zylem-spacing-sm) var(--zylem-spacing-lg);border-top:1px solid rgba(97,166,232,.28);background:#040c1499}@supports not (backdrop-filter: blur(1px)){.zylem-dialog-content{background:var(--zylem-color-surface)}}.zylem-progress-root{display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);width:100%}.zylem-progress-header{display:flex;align-items:center;justify-content:space-between}.zylem-progress-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family)}.zylem-progress-value{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-primary);font-family:var(--zylem-font-family);font-variant-numeric:tabular-nums}.zylem-progress-track{position:relative;height:10px;width:100%;overflow:hidden;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset)}.zylem-progress-fill{height:100%;border-radius:999px;background:linear-gradient(180deg,#b2dbffb3,#3089dceb);box-shadow:inset 0 1px #ffffff80,var(--zylem-effect-glow-primary);transition:width var(--zylem-motion-normal) var(--zylem-motion-ease-out);width:var(--kb-progress-fill-width)}.zylem-badge{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xxs);padding:1px var(--zylem-spacing-sm);border-radius:5px;font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 3px);font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 1px 1px rgba(0,0,0,.6);color:#f4faff;box-shadow:inset 0 1px #ffffff52,inset 0 -1px #0006;white-space:nowrap;user-select:none}.zylem-badge[data-tone=info],.zylem-badge:not([data-tone]){border:1px solid rgba(150,210,255,.55);background:linear-gradient(180deg,#b2dbff66,#1e5e94d9)}.zylem-badge[data-tone=warning]{border:1px solid rgba(255,226,150,.6);background:linear-gradient(180deg,#fff0a873,#b48014d9)}.zylem-badge[data-tone=error]{border:1px solid rgba(255,132,114,.65);background:linear-gradient(180deg,#ffb3a873,#be3426e0)}.zylem-badge[data-tone=success]{border:1px solid rgba(120,255,150,.55);background:linear-gradient(180deg,#b6ffc36b,#12822edb)}.zylem-badge[data-tone=neutral]{border:1px solid rgba(97,166,232,.35);background:linear-gradient(180deg,#3c506999,#1a1f27d9);color:var(--zylem-color-text)}.zylem-callout{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);border-left:2px solid rgba(150,210,255,.7);border-radius:0 var(--zylem-radius-control) var(--zylem-radius-control) 0;background:#61a6e81a;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);line-height:1.45}.zylem-callout-title{font-weight:700;letter-spacing:.02em}.zylem-callout-message code{font-family:Courier New,monospace;font-size:.95em}.zylem-callout[data-tone=warning]{border-left-color:#fcd34dcc;background:#fcd34d17;color:#fde68a}.zylem-callout[data-tone=error]{border-left-color:#ff8472d9;background:#e6453424;color:#ffd9d3}.zylem-callout[data-tone=success]{border-left-color:#78ff96b3;background:#3cc8641f;color:#d9ffe3}@keyframes _1h6y8tx0{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.zylem-toast{position:absolute;left:50%;bottom:var(--zylem-spacing-lg);transform:translate(-50%);z-index:var(--zylem-layer-panel);max-width:calc(100% - 32px);padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-sm));color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);line-height:1.4;text-align:center;pointer-events:none;animation:_1h6y8tx0 .16s var(--zylem-motion-ease-out)}.zylem-toast[data-position=top]{top:var(--zylem-spacing-lg);bottom:auto}.zylem-toast[data-tone=success]{border-color:#78ff968c}.zylem-toast[data-tone=error]{border-color:#ff8472a6;color:#ffd9d3}@supports not (backdrop-filter: blur(1px)){.zylem-toast{background:var(--zylem-color-surface)}}.zylem-separator{border:none}.zylem-separator[data-orientation=horizontal]{height:1px;width:100%;margin:var(--zylem-spacing-sm) 0;background:linear-gradient(90deg,transparent,rgba(97,166,232,.4),transparent)}.zylem-separator[data-orientation=vertical]{width:1px;align-self:stretch;margin:0 var(--zylem-spacing-sm);background:linear-gradient(180deg,transparent,rgba(97,166,232,.4),transparent)}.zylem-window-controls{display:flex;align-items:center;gap:7px}.zylem-window-control,.floating-panel-button{all:unset;box-sizing:border-box;cursor:pointer;min-width:18px;height:18px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:#f4faff;text-shadow:0 1px 1px rgba(0,0,0,.6);border-radius:var(--zylem-radius-control);border:1px solid rgba(255,255,255,.38);background:var(--zylem-material-button-glass);box-shadow:inset 1px 1px #ffffff80,inset -1px -1px #0006,0 1px 3px #0006;transition:filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-window-control:hover,.floating-panel-button:hover{filter:brightness(1.2);transform:translateY(-1px)}.zylem-window-control:active,.floating-panel-button:active{filter:brightness(.9);transform:translateY(1px)}.zylem-window-control:focus-visible,.floating-panel-button:focus-visible{box-shadow:inset 1px 1px #ffffff80,inset -1px -1px #0006,var(--zylem-effect-focus-ring)}.zylem-window-control--close:hover{background:var(--zylem-color-accent);border-color:#ffa096bf;box-shadow:inset 1px 1px #fff6,inset -1px -1px #0006,var(--zylem-effect-glow-danger)}.zylem-titlebar{box-sizing:border-box;min-height:42px;display:flex;align-items:center;gap:var(--zylem-spacing-sm);padding:0 var(--zylem-spacing-md);background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14;user-select:none}.zylem-titlebar--compact{min-height:32px;padding:0 var(--zylem-spacing-sm)}.zylem-titlebar-title{flex:1;font-size:13px;font-weight:700;letter-spacing:.02em;color:#f4faff;font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.65);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-titlebar--draggable{cursor:grab}.zylem-titlebar--draggable:active{cursor:grabbing}.zylem-panel{box-sizing:border-box;display:flex;flex-direction:column;min-height:0;border-radius:var(--zylem-radius-panel);border:1px solid rgba(97,166,232,.38);background:var(--zylem-material-glass-panel-dark);box-shadow:0 16px 36px #0000005c,inset 0 1px #ffffff17;backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.14);overflow:hidden}.zylem-panel--borderless{border:none;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.zylem-panel--window{border-radius:var(--zylem-radius-window);border:1px solid rgba(146,205,255,.54);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22)}.zylem-panel-header{box-sizing:border-box;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);padding:0 var(--zylem-spacing-md);border-bottom:1px solid rgba(97,166,232,.22);background:var(--zylem-material-panel-header-gloss);box-shadow:inset 0 1px #ffffff26;user-select:none}.zylem-panel-header-title{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--zylem-color-text);font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-panel-body{flex:1;min-height:0;padding:var(--zylem-spacing-md)}.zylem-panel-body--flush{padding:0}@supports not (backdrop-filter: blur(1px)){.zylem-panel{background:var(--zylem-color-surface)}.zylem-panel--borderless{background:transparent}}.zylem-toolbar{box-sizing:border-box;display:flex;align-items:center;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-sm);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.3);background:linear-gradient(180deg,#82b4e633,#1e3c5f47 50%,#08162666);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000059}.zylem-toolbar--vertical{flex-direction:column}.zylem-toolbar.separator{border-bottom:1px solid rgba(97,166,232,.4)}.zylem-property-list{display:flex;flex-direction:column;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.18);background:#08131f59;overflow:hidden}.zylem-property-row{min-height:30px;display:grid;grid-template-columns:var(--zylem-property-label-width, 112px) minmax(0,1fr);align-items:center;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-bottom:1px solid rgba(97,166,232,.12);background:linear-gradient(90deg,rgba(97,166,232,.045),transparent 45%)}.zylem-property-row:last-child{border-bottom:none}.zylem-property-row:hover{background:linear-gradient(90deg,#61a6e821,#61a6e806 65%)}.zylem-property-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:none}.zylem-property-value{color:var(--zylem-color-primary);font-size:var(--zylem-font-size);font-family:var(--zylem-font-family);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-property-value--clickable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.zylem-property-value--clickable:hover{text-decoration-style:solid;color:var(--zylem-color-active)}.zylem-console-container{position:relative;display:flex;flex-direction:column;min-height:0;height:100%;width:100%;box-sizing:border-box;padding:var(--zylem-spacing-sm)}.zylem-console-wrapper{position:relative;display:flex;flex:1;min-height:0}.zylem-console{flex:1;min-height:96px;width:100%;height:100%;box-sizing:border-box;margin:0;padding:var(--zylem-spacing-sm);resize:none;overflow-y:auto;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.28);background:#040c14b8;box-shadow:var(--zylem-effect-shadow-inset);color:var(--zylem-color-console-text);font-family:Courier New,monospace;font-size:calc(var(--zylem-font-size) - 1px);line-height:1.45;outline:none;white-space:pre-wrap;word-break:break-word}.zylem-console:focus-visible{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-console-actions{position:absolute;top:var(--zylem-spacing-xs);right:var(--zylem-spacing-sm);display:flex;gap:var(--zylem-spacing-xs);z-index:1}.zylem-console-clear.zylem-button,.zylem-console-clear{position:absolute;top:var(--zylem-spacing-sm);right:var(--zylem-spacing-sm);z-index:1}.sidebar{box-sizing:border-box;display:flex;flex-direction:column;min-height:0;height:100%;overflow-y:auto;background:var(--zylem-material-glass-panel-dark);border-right:1px solid rgba(97,166,232,.28);backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.1)}.sidebar--borderless{height:auto;overflow:visible;background:none;border-right:none;backdrop-filter:none}.sidebar-section{display:flex;flex-direction:column;padding-bottom:var(--zylem-spacing-sm)}.sidebar-section-title{padding:var(--zylem-spacing-sm) var(--zylem-spacing-md) var(--zylem-spacing-xs);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);user-select:none}.sidebar-item{display:flex;align-items:center;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-md);margin:0 var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control);border:1px solid transparent;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);cursor:pointer;user-select:none;text-decoration:none;background:none;text-align:left;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.sidebar-item:hover{background:#61a6e81f}.sidebar-item[data-active],.sidebar-item.is-active{background:var(--zylem-material-button-glass);border:1px solid rgba(150,210,255,.5);box-shadow:var(--zylem-effect-shadow-button);color:#f4faff;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.6)}.sidebar-item:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.sidebar-item[disabled],.sidebar-item[data-disabled]{opacity:.45;cursor:not-allowed}@supports not (backdrop-filter: blur(1px)){.sidebar{background:var(--zylem-color-surface)}}.zylem-card{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zylem-spacing-xs);padding:var(--zylem-spacing-md);border-radius:var(--zylem-radius-card);border:1px solid rgba(97,166,232,.32);background:var(--zylem-material-glass-panel-dark);box-shadow:0 8px 20px #0000004d,inset 0 1px #ffffff14;color:var(--zylem-color-text);font-family:var(--zylem-font-family);transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-card--interactive{cursor:pointer;text-align:left}.zylem-card--interactive:hover{border-color:#96d2ff99;box-shadow:0 8px 20px #0000004d,inset 0 1px #ffffff14,var(--zylem-effect-glow-primary);transform:translateY(-1px)}.zylem-card--interactive:active{transform:translateY(1px)}.zylem-card--interactive:focus-visible{outline:none;box-shadow:0 8px 20px #0000004d,var(--zylem-effect-focus-ring)}.zylem-card--selected{border-color:#14ff3c99;box-shadow:0 8px 20px #0000004d,inset 0 1px #ffffff14,var(--zylem-effect-glow-active)}.zylem-card-media{display:flex;align-items:center;justify-content:center;min-height:64px;border-radius:var(--zylem-radius-control);overflow:hidden;color:#ffffffd9}.zylem-card-media>img{display:block;width:100%;height:100%;object-fit:cover}.zylem-card-title{font-size:var(--zylem-font-size);font-weight:700;color:#f4faff;text-shadow:0 1px 1px rgba(0,0,0,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-card-description{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-text-secondary);line-height:1.4}.zylem-search{position:relative;display:flex;align-items:center;width:100%}.zylem-search-icon{position:absolute;left:var(--zylem-spacing-sm);width:14px;height:14px;color:var(--zylem-color-text-secondary);pointer-events:none}.zylem-search-input{width:100%;height:28px;padding-left:28px}.zylem-menu-button{position:relative;display:inline-flex;align-items:stretch}.zylem-menu-button__face{display:inline-flex;align-items:center;justify-content:center}.zylem-menu-button__chevron{position:absolute;right:-2px;bottom:-2px;display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;font-size:9px;line-height:1;color:#ffffffbf;background:#141820eb;border:1px solid rgba(255,255,255,.16);border-radius:var(--zylem-radius-control);cursor:pointer;transition:color var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-menu-button__chevron--static{pointer-events:none}.zylem-menu-button__chevron:hover:not([disabled]){color:#fff;border-color:#fff6}.zylem-menu-button__chevron:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-menu-button__chevron[disabled]{opacity:.45;cursor:not-allowed}.zylem-menu-button__panel{z-index:var(--zylem-layer-menu);color:var(--zylem-color-text);font-family:var(--zylem-font-family);border-radius:var(--zylem-radius-panel);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);outline:none}.zylem-menu-button__face svg{width:18px;height:18px}@supports not (backdrop-filter: blur(1px)){.zylem-menu-button__panel{background:var(--zylem-color-surface)}}.zylem-picker{display:flex;flex-direction:column;gap:var(--zylem-spacing-sm);width:260px;max-height:340px;padding:var(--zylem-spacing-sm);color:var(--zylem-color-text);font-family:var(--zylem-font-family)}.zylem-picker__search{flex-shrink:0}.zylem-picker__groups{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);overflow-y:auto}.zylem-picker__group-title{margin:0 0 var(--zylem-spacing-xs);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.5}.zylem-picker__item{display:flex;gap:var(--zylem-spacing-sm);align-items:center;width:100%;padding:var(--zylem-spacing-xs) var(--zylem-spacing-xs);font-family:inherit;font-size:calc(var(--zylem-font-size) - 2px);color:inherit;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--zylem-radius-control);cursor:pointer;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-picker__item:hover:not([disabled]){background:#ffffff14}.zylem-picker__item:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-picker__item[data-selected]{background:#78b4ff29;border-color:#78b4ff73}.zylem-picker__item[disabled]{opacity:.45;cursor:not-allowed}.zylem-picker__item-glyph{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:currentColor}.zylem-picker__item-glyph svg{width:var(--zylem-size-icon-sm);height:var(--zylem-size-icon-sm)}.zylem-picker__item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-picker__empty{margin:0;padding:var(--zylem-spacing-sm) var(--zylem-spacing-xs);font-size:calc(var(--zylem-font-size) - 3px);opacity:.6}.zylem-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xl);text-align:center;border-radius:var(--zylem-radius-card);border:1px dashed rgba(97,166,232,.3);background:#08131f4d;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family)}.zylem-empty-state-title{font-size:var(--zylem-font-size);font-weight:600;color:var(--zylem-color-text)}.zylem-empty-state-message{font-size:calc(var(--zylem-font-size) - 1px);line-height:1.45;max-width:360px}.zylem-empty-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--zylem-spacing-sm);margin-top:var(--zylem-spacing-xs)}.zylem-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px var(--zylem-spacing-xs);border-radius:4px;border:1px solid rgba(97,166,232,.4);background:linear-gradient(180deg,#3c5573b3,#142030d9);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #00000073,0 1px 2px #0006;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;user-select:none;white-space:nowrap}.zylem-build-label{position:fixed;top:10px;right:12px;z-index:var(--zylem-layer-tooltip);pointer-events:auto;padding:2px var(--zylem-spacing-sm);border-radius:5px;border:1px solid rgba(97,166,232,.35);background:linear-gradient(180deg,#3c50698c,#1a1f27c7);box-shadow:inset 0 1px #ffffff38,0 2px 8px #00000059;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.4;text-shadow:0 1px 1px rgba(0,0,0,.55);user-select:none;white-space:nowrap}.zylem-pixel-grid{box-sizing:content-box;position:relative;flex:none;background:repeating-conic-gradient(var(--zylem-art-checker-light) 0 25%,var(--zylem-art-checker-dark) 0 50%) 0 0 / calc(var(--zylem-pixel-grid-cell, 8px) * 2) calc(var(--zylem-pixel-grid-cell, 8px) * 2);border:1px solid var(--zylem-art-canvas-border);image-rendering:pixelated;overflow:hidden}.zylem-pixel-grid>canvas,.zylem-pixel-grid>img,.zylem-pixel-grid>svg{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated}.zylem-size-picker{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);font-family:var(--zylem-font-family)}.zylem-size-picker-presets{display:flex;flex-wrap:wrap;gap:var(--zylem-spacing-sm)}.zylem-size-picker-presets .zylem-button{min-width:40px;font-variant-numeric:tabular-nums}.zylem-size-picker-stage{box-sizing:border-box;position:relative;flex:none;padding:8px;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);overflow:hidden}.zylem-size-picker-frame{position:relative;box-sizing:content-box}.zylem-size-picker-handle{position:absolute;box-sizing:border-box;border-radius:999px;border:1px solid rgba(178,219,255,.85);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-glow-primary);touch-action:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-size-picker-handle:hover,.zylem-size-picker-handle[data-dragging]{box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-focus-ring)}.zylem-size-picker-handle[data-edge=right]{top:50%;right:-6px;width:8px;height:min(28px,60%);transform:translateY(-50%);cursor:ew-resize}.zylem-size-picker-handle[data-edge=bottom]{left:50%;bottom:-6px;width:min(28px,60%);height:8px;transform:translate(-50%);cursor:ns-resize}.zylem-size-picker-handle[data-edge=corner]{right:-7px;bottom:-7px;width:14px;height:14px;cursor:nwse-resize}.zylem-size-picker-readout{position:absolute;right:var(--zylem-spacing-sm);bottom:var(--zylem-spacing-xs);font-size:calc(var(--zylem-font-size) - 2px);font-variant-numeric:tabular-nums;color:var(--zylem-color-primary);text-shadow:0 1px 1px rgba(0,0,0,.6);pointer-events:none}.zylem-size-picker-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--zylem-spacing-md)}.zylem-tool-group{display:inline-flex;align-items:center;gap:var(--zylem-spacing-md);min-width:0}.zylem-tool-group-label{font-family:var(--zylem-font-family);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);white-space:nowrap}.zylem-tool-group-items{display:flex;align-items:center;flex-wrap:wrap;gap:var(--zylem-spacing-sm)}.zylem-tool-btn{width:34px;padding:0}.zylem-add-tile{box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zylem-spacing-xs);flex:none;padding:0;margin:0;cursor:pointer;user-select:none;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);border-radius:var(--zylem-radius-control);border:1px dashed rgba(150,210,255,.55);background:#61a6e80f;transition:color var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-add-tile[data-variant=square]{width:26px;height:26px}.zylem-add-tile[data-variant=tall]{width:56px;height:74px}.zylem-add-tile[data-variant=fill]{width:100%;height:100%;min-height:110px;border-radius:var(--zylem-radius-card)}.zylem-add-tile:hover:not([disabled]){color:#e8f4ff;border-color:#b2dbffe6;background:#61a6e829;box-shadow:var(--zylem-effect-glow-primary)}.zylem-add-tile:active:not([disabled]){background:#61a6e83d}.zylem-add-tile:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-add-tile[disabled]{opacity:.45;cursor:not-allowed}.zylem-add-tile-icon{display:block;width:16px;height:16px;stroke:currentColor;flex:none}.zylem-add-tile[data-variant=tall] .zylem-add-tile-icon{width:20px;height:20px}.zylem-add-tile[data-variant=fill] .zylem-add-tile-icon{width:24px;height:24px}.zylem-add-tile-label{font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.zylem-add-tile[data-variant=fill] .zylem-add-tile-label{font-size:13px}.zylem-palette{display:flex;align-items:center;flex-wrap:wrap;gap:var(--zylem-spacing-sm)}.zylem-swatch{box-sizing:border-box;width:26px;height:26px;flex:none;padding:0;margin:0;cursor:pointer;border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.4);background:var(--zylem-swatch-color, transparent);box-shadow:inset 0 1px #ffffff38,0 1px 3px #0006;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-swatch[data-transparent]{--zylem-pixel-grid-cell: 5px;background:repeating-conic-gradient(var(--zylem-art-checker-light) 0 25%,var(--zylem-art-checker-dark) 0 50%) 0 0 / calc(var(--zylem-pixel-grid-cell, 8px) * 2) calc(var(--zylem-pixel-grid-cell, 8px) * 2)}.zylem-swatch:hover:not([disabled]){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 2px 6px #00000073,var(--zylem-effect-glow-primary)}.zylem-swatch:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-swatch[data-selected]{border-color:#f4faff;box-shadow:0 0 0 2px #0a141ee6,0 0 0 3px #f4faffd9,var(--zylem-effect-glow-primary)}.zylem-swatch[disabled]{opacity:.45;cursor:not-allowed}.zylem-frame-strip{display:flex;flex-direction:column;gap:var(--zylem-spacing-sm);min-width:0;font-family:var(--zylem-font-family)}.zylem-frame-strip-header{display:flex;align-items:baseline;gap:var(--zylem-spacing-sm)}.zylem-frame-strip-label{font-family:var(--zylem-font-family);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);white-space:nowrap}.zylem-frame-strip-title{font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;color:var(--zylem-color-text)}.zylem-frame-strip-row{display:flex;align-items:flex-start;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-xs) var(--zylem-spacing-sm);overflow-x:auto;overflow-y:hidden}.zylem-frame-thumb{box-sizing:border-box;position:relative;display:flex;flex-direction:column;flex:none;width:56px;height:74px;padding:0;margin:0;cursor:pointer;overflow:hidden;border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.4);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);color:#e8f4ff;font-family:var(--zylem-font-family);transition:border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-frame-thumb:hover{border-color:#b2dbffcc;transform:translateY(-1px);box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-glow-primary)}.zylem-frame-thumb:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-frame-thumb[data-selected]{border-color:#b2dbfff2;box-shadow:var(--zylem-effect-shadow-inset),0 0 0 1px #b2dbff99,var(--zylem-effect-glow-primary)}.zylem-frame-thumb-surface{--zylem-pixel-grid-cell: 6px;position:relative;display:block;flex:none;width:100%;aspect-ratio:1 / 1;background:repeating-conic-gradient(var(--zylem-art-checker-light) 0 25%,var(--zylem-art-checker-dark) 0 50%) 0 0 / calc(var(--zylem-pixel-grid-cell, 8px) * 2) calc(var(--zylem-pixel-grid-cell, 8px) * 2);image-rendering:pixelated}.zylem-frame-thumb-surface>canvas,.zylem-frame-thumb-surface>img,.zylem-frame-thumb-surface>svg{position:absolute;inset:0;width:100%;height:100%;display:block;image-rendering:pixelated}.zylem-frame-thumb-index{display:flex;align-items:center;justify-content:center;flex:1 1 auto;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;background:var(--zylem-material-panel-header-gloss);border-top:1px solid rgba(150,210,255,.25)}.zylem-frame-actions{display:flex;align-items:center;gap:var(--zylem-spacing-sm)}.zylem-frame-actions .zylem-button .zylem-icon{width:14px;height:14px;stroke:currentColor}.zylem-frame-actions-spacer{flex:1 1 auto}.zylem-frame-actions-group{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs)}.zylem-frame-actions-step{width:34px;padding:0}.zylem-playback{display:flex;align-items:center;gap:var(--zylem-spacing-md);min-width:0;font-family:var(--zylem-font-family)}.zylem-playback-transport{display:flex;align-items:center;gap:var(--zylem-spacing-xs)}.zylem-playback-btn{width:34px;padding:0}.zylem-playback-btn--play{width:44px}.zylem-playback-btn .zylem-icon{fill:currentColor;fill-opacity:.85}.zylem-playback-loop .zylem-icon{width:14px;height:14px;stroke:currentColor}.zylem-playback-extra{display:flex;align-items:center;gap:var(--zylem-spacing-sm);min-width:0;flex:1 1 auto;color:var(--zylem-color-text-secondary);font-size:calc(var(--zylem-font-size) - 1px)}.zylem-playback-extra .zylem-field-root{width:72px}.zylem-timeline{display:flex;align-items:center;gap:var(--zylem-spacing-md);width:100%;min-width:0;font-family:var(--zylem-font-family)}.zylem-timeline-root{display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);flex:1 1 auto;min-width:0;user-select:none;touch-action:none}.zylem-timeline-root[data-disabled]{opacity:.5}.zylem-timeline-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary)}.zylem-timeline-track{position:relative;height:18px;width:100%;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);cursor:pointer}.zylem-timeline-fill{position:absolute;top:0;height:100%;border-radius:999px;background:linear-gradient(180deg,#b2dbff8c,#3089dccc);box-shadow:inset 0 1px #fff6}.zylem-timeline-markers,.zylem-timeline-keyframes{position:absolute;inset:0;pointer-events:none}.zylem-timeline-tick{position:absolute;top:50%;width:4px;height:4px;margin-left:-2px;border-radius:999px;background:#cde8ff8c;box-shadow:0 0 0 1px #00000059;transform:translateY(-50%)}.zylem-timeline-keyframe{position:absolute;top:50%;width:10px;height:10px;padding:0;margin:0 0 0 -5px;cursor:pointer;pointer-events:auto;border:1px solid rgba(255,255,255,.7);border-radius:2px;background:linear-gradient(135deg,#fff4c8fa,#f0b43cf2);box-shadow:0 1px 3px #0000008c;transform:translateY(-50%) rotate(45deg);transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-timeline-keyframe:hover:not([disabled]){filter:brightness(1.12);box-shadow:0 1px 3px #0000008c,0 0 10px #f0b43c99}.zylem-timeline-keyframe[data-active]{box-shadow:0 1px 3px #0000008c,0 0 12px #f0b43ccc}.zylem-timeline-keyframe:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-timeline-thumb{display:block;width:14px;height:24px;top:-4px;border-radius:5px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-glow-primary);cursor:grab;outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-timeline-thumb:active{cursor:grabbing}.zylem-timeline-thumb:focus-visible{box-shadow:inset 0 1px #ffffffbf,var(--zylem-effect-focus-ring)}.zylem-timeline-thumb-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-timeline-time{box-sizing:border-box;flex:none;display:inline-flex;align-items:center;justify-content:flex-end;width:12ch;height:18px;line-height:18px;font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;font-variant-numeric:tabular-nums;color:var(--zylem-color-text);text-shadow:0 1px 1px rgba(0,0,0,.6);text-align:right;white-space:nowrap;overflow:hidden}.zylem-toolbox-btn{box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--zylem-spacing-sm);width:100%;min-height:72px;padding:var(--zylem-spacing-md) var(--zylem-spacing-sm);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);font-weight:600;line-height:1;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6);cursor:pointer;user-select:none;border-radius:var(--zylem-radius-button);border:1px solid rgba(150,210,255,.5);background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);color:#e8f4ff;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-toolbox-btn:hover:not([disabled]){background:var(--zylem-material-button-glass-hover);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px)}.zylem-toolbox-btn:active:not([disabled]){transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.zylem-toolbox-btn:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.zylem-toolbox-btn[data-selected]{border-color:#14ff3cc7;background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active)}.zylem-toolbox-btn[disabled]{opacity:.45;cursor:not-allowed}.zylem-toolbox-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.zylem-toolbox-btn-icon svg{width:24px;height:24px;stroke:currentColor;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.zylem-toolbox-btn-label{display:block}.zylem-toolbox-btn[data-size=lg],.zylem-toolbox-grid[data-size=lg] .zylem-toolbox-btn:not([data-size]){min-height:96px;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-lg) var(--zylem-spacing-sm);font-size:calc(var(--zylem-font-size) + 1px);border-radius:var(--zylem-radius-card)}.zylem-toolbox-btn[data-size=lg] .zylem-toolbox-btn-icon,.zylem-toolbox-grid[data-size=lg] .zylem-toolbox-btn:not([data-size]) .zylem-toolbox-btn-icon,.zylem-toolbox-btn[data-size=lg] .zylem-toolbox-btn-icon svg,.zylem-toolbox-grid[data-size=lg] .zylem-toolbox-btn:not([data-size]) .zylem-toolbox-btn-icon svg{width:32px;height:32px}.zylem-toolbox-btn[data-size=xl],.zylem-toolbox-grid[data-size=xl] .zylem-toolbox-btn:not([data-size]){min-height:120px;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-xl) var(--zylem-spacing-md);font-size:calc(var(--zylem-font-size) + 2px);border-radius:var(--zylem-radius-card)}.zylem-toolbox-btn[data-size=xl] .zylem-toolbox-btn-icon,.zylem-toolbox-grid[data-size=xl] .zylem-toolbox-btn:not([data-size]) .zylem-toolbox-btn-icon,.zylem-toolbox-btn[data-size=xl] .zylem-toolbox-btn-icon svg,.zylem-toolbox-grid[data-size=xl] .zylem-toolbox-btn:not([data-size]) .zylem-toolbox-btn-icon svg{width:40px;height:40px}.zylem-toolbox-grid{display:flex;flex-direction:column;gap:var(--zylem-spacing-sm);min-width:0}.zylem-toolbox-grid-label{font-family:var(--zylem-font-family);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);white-space:nowrap}.zylem-toolbox-grid-items{display:grid;grid-template-columns:repeat(var(--zylem-toolbox-columns, 2),minmax(0,1fr));gap:var(--zylem-spacing-sm)}.zylem-lanes{position:relative;overflow:auto;min-height:0;min-width:0;font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-text);background:var(--zylem-material-field-glass);border:1px solid rgba(97,166,232,.22);border-radius:var(--zylem-radius-control);box-shadow:var(--zylem-effect-shadow-inset);user-select:none}.zylem-lanes[data-disabled]{opacity:.6}.zylem-lanes-content{position:relative;min-width:100%;min-height:100%}.zylem-lanes-ruler-row{position:sticky;top:0;z-index:3;display:flex;height:26px;background:var(--zylem-material-panel-header-gloss);background-color:#0e1e30f5;border-bottom:1px solid rgba(97,166,232,.3);box-shadow:0 1px #ffffff0f inset}.zylem-lanes-corner{position:sticky;left:0;z-index:4;flex:none;width:var(--zylem-lanes-header);display:flex;align-items:center;padding:0 var(--zylem-spacing-sm);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);background:#0e1e30fa;border-right:1px solid rgba(97,166,232,.16)}.zylem-lanes-ruler{position:relative;flex:none;height:100%;cursor:pointer}.zylem-lanes-range{position:absolute;top:0;bottom:0;background:#f0b43c2e;border-left:1px solid rgba(240,180,60,.7);border-right:1px solid rgba(240,180,60,.7);pointer-events:none}.zylem-lanes-tick{position:absolute;bottom:0;width:1px;height:6px;background:#cde8ff59;pointer-events:none}.zylem-lanes-tick[data-major]{height:10px;background:#cde8ffb3}.zylem-lanes-tick-label{position:absolute;left:4px;bottom:8px;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--zylem-color-text-secondary)}.zylem-lanes-playhead-head{position:absolute;bottom:0;width:0;height:0;margin-left:-6px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid rgba(255,244,200,.98);filter:drop-shadow(0 0 3px rgba(240,180,60,.8));pointer-events:none}.zylem-lanes-playhead{position:absolute;top:26px;bottom:0;z-index:1;width:1px;margin-left:-.5px;background:#ffecaae6;box-shadow:0 0 6px #f0b43cb3;pointer-events:none}.zylem-lanes-rows{display:flex;flex-direction:column}.zylem-lane{display:flex;flex:none;border-bottom:1px solid rgba(97,166,232,.16)}.zylem-lane[data-selected]{background:#61a6e812}.zylem-lane-header{position:sticky;left:0;z-index:2;flex:none;width:var(--zylem-lanes-header);min-width:0;display:flex;align-items:stretch;background:#101b2af5;border-right:1px solid rgba(97,166,232,.16)}.zylem-lane[data-selected]>.zylem-lane-header{background:#1e3652f5}.zylem-lane-body{position:relative;flex:none;height:100%;background-image:repeating-linear-gradient(90deg,rgba(205,232,255,.16) 0 1px,transparent 1px var(--zylem-lanes-major)),repeating-linear-gradient(90deg,rgba(205,232,255,.06) 0 1px,transparent 1px var(--zylem-lanes-minor))}.zylem-lane[data-dimmed]>.zylem-lane-body{opacity:.45}.zylem-lane--group{background:#61a6e814}.zylem-lane--group>.zylem-lane-header{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary)}.zylem-lane--group>.zylem-lane-body{background-image:none}.zylem-lane-end{position:absolute;top:0;bottom:0;right:0;background:#00000047;pointer-events:none}.zylem-clip{position:absolute;top:4px;bottom:4px;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;border-radius:5px;border:1px solid color-mix(in srgb,var(--zylem-clip-color) 70%,white 30%);background:linear-gradient(180deg,color-mix(in srgb,var(--zylem-clip-color) 70%,white 30%),color-mix(in srgb,var(--zylem-clip-color) 75%,black 25%));box-shadow:inset 0 1px #ffffff59,0 1px 3px #00000073;color:#0b1522;cursor:grab;outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-clip:hover:not([data-disabled]){filter:brightness(1.08)}.zylem-clip[data-selected]{border-color:#ffffffe6;box-shadow:inset 0 1px #ffffff73,0 0 0 1px #ffffff80,var(--zylem-effect-glow-primary)}.zylem-clip:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-clip[data-dragging]{cursor:grabbing;filter:brightness(1.12)}.zylem-clip[data-disabled]{cursor:default;opacity:.7}.zylem-clip-label{flex:none;padding:2px 6px 0;font-size:11px;font-weight:600;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,255,255,.25)}.zylem-clip-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;pointer-events:none}.zylem-clip-blend{position:absolute;top:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,rgba(0,0,0,.28) 0 3px,transparent 3px 7px);border-right:1px dashed rgba(0,0,0,.45);pointer-events:none}.zylem-clip-handle{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize}.zylem-clip-handle[data-edge=start]{left:0}.zylem-clip-handle[data-edge=end]{right:0}.zylem-clip-handle:hover{background:#ffffff47}.zylem-marker{position:absolute;top:50%;display:flex;align-items:center;gap:4px;padding:0;margin:0;border:0;background:transparent;color:var(--zylem-color-text);cursor:grab;transform:translate(-50%,-50%);outline:none}.zylem-marker[data-shape=pin]{transform:translate(-7px,-50%)}.zylem-marker:disabled{cursor:default;opacity:.6}.zylem-marker[data-dragging]{cursor:grabbing}.zylem-marker-glyph{display:block;width:11px;height:11px;box-sizing:border-box;border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 3px #0000008c;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-marker[data-shape=diamond] .zylem-marker-glyph{border-radius:2px;background:var(--zylem-marker-color, linear-gradient(135deg, rgba(255, 244, 200, .98), rgba(240, 180, 60, .95)));transform:rotate(45deg)}.zylem-marker[data-shape=pin] .zylem-marker-glyph{width:13px;height:13px;border-radius:999px 999px 999px 2px;background:var(--zylem-marker-color, linear-gradient(135deg, rgba(178, 219, 255, .98), rgba(48, 137, 220, .95)));transform:rotate(-45deg)}.zylem-marker:hover:not(:disabled) .zylem-marker-glyph{filter:brightness(1.12)}.zylem-marker[data-selected] .zylem-marker-glyph{border-color:#fff;box-shadow:0 1px 3px #0000008c,0 0 10px #ffffffb3}.zylem-marker:focus-visible .zylem-marker-glyph{box-shadow:var(--zylem-effect-focus-ring)}.zylem-marker-label{font-size:10px;white-space:nowrap;color:var(--zylem-color-text);text-shadow:0 1px 1px rgba(0,0,0,.7);max-width:120px;overflow:hidden;text-overflow:ellipsis}.zylem-track-header{display:flex;align-items:stretch;gap:var(--zylem-spacing-xs);width:100%;min-width:0;box-sizing:border-box;padding:0 var(--zylem-spacing-xs) 0 0;font-family:var(--zylem-font-family);color:var(--zylem-color-text);cursor:default}.zylem-track-header[data-disabled]{opacity:.6}.zylem-track-header-swatch{flex:none;width:4px;background:var(--zylem-track-color);box-shadow:0 0 6px color-mix(in srgb,var(--zylem-track-color) 60%,transparent)}.zylem-track-header-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0 var(--zylem-spacing-xs)}.zylem-track-header-title{display:flex;align-items:center;gap:var(--zylem-spacing-xs);min-width:0}.zylem-track-header-icon{display:inline-flex;flex:none;color:var(--zylem-color-text-secondary)}.zylem-track-header-icon>svg{width:13px;height:13px}.zylem-track-header-name{font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zylem-track-header[data-muted] .zylem-track-header-name{color:var(--zylem-color-text-secondary)}.zylem-track-header-input{width:100%;min-width:0;box-sizing:border-box;padding:1px 4px;font:inherit;font-size:calc(var(--zylem-font-size) - 1px);color:var(--zylem-color-text);background:var(--zylem-material-field-glass);border:1px solid rgba(97,166,232,.5);border-radius:4px;outline:none}.zylem-track-header-input:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-track-header-detail{font-size:10px;color:var(--zylem-color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zylem-track-header-toggles{flex:none;display:flex;align-items:center;gap:3px}.zylem-track-toggle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;font-family:var(--zylem-font-family);font-size:10px;font-weight:700;line-height:1;color:var(--zylem-color-text-secondary);background:#08131f99;border:1px solid rgba(97,166,232,.28);border-radius:4px;box-shadow:inset 0 1px #ffffff14;cursor:pointer;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-track-toggle>svg{width:11px;height:11px}.zylem-track-toggle:hover:not(:disabled){color:var(--zylem-color-text);background:#61a6e838}.zylem-track-toggle:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-track-toggle:disabled{cursor:default;opacity:.5}.zylem-track-toggle[data-kind=mute][aria-pressed=true]{color:#2b1a08;background:linear-gradient(180deg,#ffdc82f2,#e69628f2);border-color:#ffe6aacc}.zylem-track-toggle[data-kind=solo][aria-pressed=true]{color:#062010;background:linear-gradient(180deg,#aaffbef2,#1cae3ff2);border-color:#beffcbcc}.zylem-track-toggle[data-kind=lock][aria-pressed=true]{color:var(--zylem-color-text);background:#61a6e859;border-color:#b2dbffb3}.zylem-track-header-actions{display:inline-flex;align-items:center}.zylem-piano-roll{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;font-family:var(--zylem-font-family);color:var(--zylem-color-text);background:var(--zylem-material-field-glass);border:1px solid rgba(97,166,232,.22);border-radius:var(--zylem-radius-control);box-shadow:var(--zylem-effect-shadow-inset);outline:none;user-select:none}.zylem-piano-roll:focus-visible{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-piano-roll[data-disabled]{opacity:.6}.zylem-piano-roll-scroll{flex:1 1 auto;min-height:0;overflow:auto}.zylem-piano-roll-content{position:relative;display:flex}.zylem-piano-roll-keys{position:sticky;left:0;z-index:2;flex:none;display:flex;flex-direction:column;border-right:1px solid rgba(97,166,232,.3);box-shadow:2px 0 6px #00000059}.zylem-piano-roll-key{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end;padding:0 4px 0 0;margin:0;border:0;border-bottom:1px solid rgba(0,0,0,.35);font-family:var(--zylem-font-family);font-size:9px;line-height:1;color:#1c2633;background:linear-gradient(90deg,#dbe6f2,#f4f8fc);cursor:pointer;outline:none}.zylem-piano-roll-key[data-black]{color:#cdd8e6;background:linear-gradient(90deg,#0d151f,#263241);box-shadow:inset -6px 0 #ffffff0d}.zylem-piano-roll-key[data-c]{font-weight:700}.zylem-piano-roll-key:hover:not(:disabled){filter:brightness(1.1)}.zylem-piano-roll-key:active:not(:disabled){filter:brightness(.92)}.zylem-piano-roll-grid{position:relative;flex:none;background-image:repeating-linear-gradient(90deg,rgba(205,232,255,.28) 0 1px,transparent 1px var(--zylem-pr-bar)),repeating-linear-gradient(90deg,rgba(205,232,255,.12) 0 1px,transparent 1px var(--zylem-pr-ppb)),repeating-linear-gradient(90deg,rgba(205,232,255,.05) 0 1px,transparent 1px var(--zylem-pr-snap))}.zylem-piano-roll-row{position:absolute;left:0;right:0;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.04);pointer-events:none}.zylem-piano-roll-row[data-black]{background:#00000038}.zylem-piano-roll-row[data-c]{border-bottom:1px solid rgba(205,232,255,.25)}.zylem-piano-roll-end{position:absolute;top:0;bottom:0;right:0;background:#00000059;pointer-events:none}.zylem-piano-roll-note{position:absolute;box-sizing:border-box;display:flex;align-items:center;border-radius:3px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,#b2dbfffa,#3089dcfa);box-shadow:inset 0 1px #ffffff73,0 1px 2px #00000080;opacity:calc(.45 + .55 * var(--zylem-pr-velocity, .8));color:#08131f;cursor:grab;outline:none;overflow:hidden}.zylem-piano-roll-note[data-selected]{background:linear-gradient(180deg,#fff4c8fa,#f0b43cfa);border-color:#fff;box-shadow:inset 0 1px #fff9,0 0 8px #f0b43cb3;opacity:1}.zylem-piano-roll[data-dragging] .zylem-piano-roll-note{cursor:grabbing}.zylem-piano-roll-note-label{padding:0 4px;font-size:9px;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none}.zylem-piano-roll-note-handle{position:absolute;top:0;bottom:0;right:0;width:6px;cursor:ew-resize}.zylem-piano-roll-playhead{position:absolute;top:0;bottom:0;width:1px;background:#ffecaae6;box-shadow:0 0 6px #f0b43cb3;pointer-events:none}.zylem-piano-roll-velocity{display:flex;flex:none;border-top:1px solid rgba(97,166,232,.3);background:#08131f99}.zylem-piano-roll-velocity-label{position:sticky;left:0;z-index:2;flex:none;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 4px 4px 0;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);background:#0c1622fa;border-right:1px solid rgba(97,166,232,.3)}.zylem-piano-roll-velocity-lane{position:relative;flex:none;height:100%}.zylem-piano-roll-velocity-bar{position:absolute;bottom:0;width:5px;margin-left:1px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#b2dbfff2,#3089dcd9);cursor:ns-resize}.zylem-piano-roll-velocity-bar[data-selected]{background:linear-gradient(180deg,#fff4c8fa,#f0b43cf2)}.zylem-knob{display:inline-flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--zylem-font-family);color:var(--zylem-color-text);user-select:none}.zylem-knob[data-disabled]{opacity:.5}.zylem-knob-dial{display:block;border-radius:999px;cursor:ns-resize;outline:none;touch-action:none}.zylem-knob[data-dragging] .zylem-knob-dial{cursor:grabbing}.zylem-knob-dial:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-knob-dial svg{display:block;overflow:visible}.zylem-knob-track{fill:none;stroke:#08131fe6;stroke-width:3;stroke-linecap:round}.zylem-knob-fill{fill:none;stroke:#78befff2;stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(97,166,232,.7))}.zylem-knob-cap{fill:#284669;stroke:#b2dbff80;stroke-width:1}.zylem-knob-pointer{stroke:#f0fafffa;stroke-width:2;stroke-linecap:round}.zylem-knob-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary)}.zylem-knob-value{font-size:10px;font-variant-numeric:tabular-nums;color:var(--zylem-color-text)}.zylem-mixer-strip{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:var(--zylem-spacing-xs);width:64px;padding:var(--zylem-spacing-sm) var(--zylem-spacing-xs);font-family:var(--zylem-font-family);color:var(--zylem-color-text);background:var(--zylem-material-glass-panel-dark);border:1px solid rgba(97,166,232,.2);border-top:3px solid var(--zylem-track-color);border-radius:var(--zylem-radius-control);box-shadow:inset 0 1px #ffffff0f;user-select:none}.zylem-mixer-strip[data-master]{width:76px;background:var(--zylem-material-glass-panel)}.zylem-mixer-strip[data-selected]{box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #b2dbff99,var(--zylem-effect-glow-primary)}.zylem-mixer-strip[data-disabled]{opacity:.6}.zylem-mixer-fader-row{display:flex;align-items:stretch;gap:4px;height:132px}.zylem-fader{position:relative;display:flex;flex-direction:column;width:24px;height:100%;touch-action:none}.zylem-fader[data-disabled]{opacity:.5}.zylem-fader-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-fader-track{position:relative;flex:1 1 auto;width:8px;margin:0 auto;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);cursor:pointer}.zylem-fader-fill{position:absolute;bottom:0;width:100%;border-radius:999px;background:linear-gradient(0deg,#3089dccc,#b2dbff8c)}.zylem-fader-zero{position:absolute;left:-6px;right:-6px;bottom:calc(100% * 60 / 66);height:1px;background:#cde8ff66;pointer-events:none}.zylem-fader-thumb{display:block;left:-7px;width:22px;height:12px;border-radius:4px;border:1px solid rgba(255,255,255,.55);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,inset 0 -3px #0000002e,0 1px 4px #00000080;cursor:grab;outline:none}.zylem-fader-thumb:active{cursor:grabbing}.zylem-fader-thumb:focus-visible{box-shadow:inset 0 1px #ffffffbf,var(--zylem-effect-focus-ring)}.zylem-mixer-meter{position:relative;width:6px;border-radius:3px;background:#08131fe6;border:1px solid rgba(97,166,232,.2);overflow:hidden}.zylem-mixer-meter-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#1cae3ff2,#aaffbef2 65%,#ffdc82f2 85%,#e64534f2);transition:height 60ms linear}.zylem-mixer-readout{font-size:10px;font-variant-numeric:tabular-nums;color:var(--zylem-color-text-secondary);white-space:nowrap}.zylem-mixer-toggles{display:flex;gap:3px}.zylem-mixer-name{max-width:100%;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zylem-mixer-strip[data-muted] .zylem-mixer-name{color:var(--zylem-color-text-secondary)}.zylem-mixer-strip[data-master] .zylem-mixer-name{letter-spacing:.08em;text-transform:uppercase}.zylem-waveform{position:relative;width:100%;min-width:0;box-sizing:border-box;overflow:hidden;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.22);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);user-select:none}.zylem-waveform[data-disabled]{opacity:.6}.zylem-waveform-canvas{display:block;width:100%;height:100%}.zylem-waveform-shade{position:absolute;top:0;bottom:0;background:#00000073;pointer-events:none}.zylem-waveform-edge{position:absolute;top:0;bottom:0;width:10px;margin-left:-5px;cursor:ew-resize}.zylem-waveform-edge:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:2px;background:#fff4c8f2;box-shadow:0 0 6px #f0b43cb3}.zylem-waveform-edge:after{content:"";position:absolute;top:50%;left:1px;width:8px;height:16px;margin-top:-8px;border-radius:3px;background:linear-gradient(180deg,#fff4c8fa,#f0b43cf2);border:1px solid rgba(255,255,255,.7);box-sizing:border-box}.zylem-waveform-playhead{position:absolute;top:0;bottom:0;width:1px;background:#ffecaae6;box-shadow:0 0 6px #f0b43cb3;pointer-events:none}.zylem-transport{display:flex;align-items:center;width:100%;min-width:0;box-sizing:border-box;font-family:var(--zylem-font-family);color:var(--zylem-color-text)}.zylem-transport>.zylem-playback{width:100%}.zylem-transport .zylem-playback-extra{flex:1 1 auto;min-width:0;gap:var(--zylem-spacing-sm)}.zylem-transport-track{flex:1 1 auto;min-width:120px}.zylem-transport-time{flex:none;min-width:9ch;font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6)}.zylem-transport-time-total{font-weight:400;color:var(--zylem-color-text-secondary)}.zylem-transport-field{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs);flex:none}.zylem-transport-field-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary)}.zylem-transport-bpm{width:84px}.zylem-transport-signature{width:84px;flex:none}
|
|
7
|
+
`;import{render as Fy}from"solid-js/web";import{createComponent as Hy}from"solid-js/web";import{template as Py}from"solid-js/web";import{insert as Ro}from"solid-js/web";import"solid-js/web";import{createComponent as De}from"solid-js/web";import{template as Nc}from"solid-js/web";import{style as Lx}from"solid-js/web";import{effect as Hx}from"solid-js/web";import{insert as Fx}from"solid-js/web";import{className as Qx}from"solid-js/web";import{createComponent as Zc}from"solid-js/web";import{memo as Kc}from"solid-js/web";import{use as Wc}from"solid-js/web";import{createContext as qc,createMemo as Jc,createSignal as _a,onMount as el,useContext as $c}from"solid-js";var yr="zylem-layer-portals";function qn(e){let t=e?.getRootNode();return t instanceof ShadowRoot?t:t instanceof Document?t.body:document.body}function br(e){let t=qn(e);for(let o of Array.from(t.children))if(o instanceof HTMLElement&&o.classList.contains(yr))return o;let r=document.createElement("div");return r.className=yr,t.appendChild(r),r}var jc={base:"zylem-layer-base",panel:"zylem-layer-panel",modal:"zylem-layer-modal",popover:"zylem-layer-popover",tooltip:"zylem-layer-tooltip",menu:"zylem-layer-menu"},Jn=Object.fromEntries(Object.entries(jc).map(([e,t])=>[e,`var(--${t})`]));var Xc=Nc("<span aria-hidden=true style=display:none>");var tl=qc();function io(e){let[t,r]=_a(),o;return el(()=>r(br(o))),Zc(tl.Provider,{value:{container:t},get children(){return[(()=>{var n=Xc(),i=o;return typeof i=="function"?Wc(i,n):o=n,n})(),Kc(()=>e.children)]}})}function K(e,t=0){let r=$c(tl),[o,n]=_a(),i;r||el(()=>n(br(i)));let a=Jc(()=>{let l=typeof t=="function"?t():t,d=Jn[e];return l?`calc(${d} + ${l})`:d});return{mount:r?r.container:o,zIndex:a,anchorRef:l=>{i=l}}}function _c(e,t){if(!("clientX"in e)||!("clientY"in e))return!1;let{clientX:r,clientY:o}=e,n=t.getBoundingClientRect();return r>=n.left&&r<=n.right&&o>=n.top&&o<=n.bottom}function em(e,t){let r=e.composedPath();return r.length>0?r.includes(t):_c(e,t)}function lt(){let e;return{ref:t=>{e=t},onInteractOutside:t=>{e&&em(t.detail.originalEvent,e)&&t.preventDefault()}}}import{template as tm}from"solid-js/web";import{insert as rm}from"solid-js/web";import{spread as om}from"solid-js/web";import{mergeProps as nm}from"solid-js/web";import{memo as im}from"solid-js/web";import{splitProps as lm}from"solid-js";var am=tm("<button type=button>");function de(e){let[t,r]=lm(e,["variant","size","class","children"]);return(()=>{var o=am();return om(o,nm({get class(){return im(()=>!!t.class)()?`zylem-button ${t.class}`:"zylem-button"},get"data-variant"(){return t.variant??"default"},get"data-size"(){return t.size??"md"}},r),!1,!0),rm(o,()=>t.children),o})()}import{createComponent as Gt}from"solid-js/web";import{memo as sm}from"solid-js/web";import{Button as dm,Tooltip as ao}from"@kobalte/core";import{Show as cm}from"solid-js";function Q(e){let t=K("tooltip");return Gt(ao.Root,{openDelay:400,get children(){return[Gt(ao.Trigger,{as:"span",ref(r){var o=t.anchorRef;typeof o=="function"?o(r):t.anchorRef=r},get children(){return Gt(dm.Root,{get"aria-label"(){return e.label},get onClick(){return e.onClick},get disabled(){return e.disabled},get class(){return sm(()=>!!e.class)()?`zylem-toolbar-btn ${e.class}`:"zylem-toolbar-btn"},get"data-selected"(){return e.selected?"":void 0},get children(){return e.children}})}}),Gt(cm,{get when(){return t.mount()},keyed:!0,children:r=>Gt(ao.Portal,{mount:r,get children(){return Gt(ao.Content,{class:"zylem-tooltip",get children(){return e.label}})}})})]}})}import{createComponent as gv}from"solid-js/web";import{memo as bv}from"solid-js/web";import{TextField as xv}from"@kobalte/core";import{createEffect as zv,createSignal as wv,on as Av,Show as kv,splitProps as Sv}from"solid-js";import{template as Ev}from"solid-js/web";import{insert as Tv}from"solid-js/web";import{createComponent as Dv}from"solid-js/web";import{memo as Rv}from"solid-js/web";import{NumberField as Gv}from"@kobalte/core";import{Show as Ov}from"solid-js";import{createComponent as Qv}from"solid-js/web";import{memo as Uv}from"solid-js/web";import{Select as Nv}from"@kobalte/core";import{Show as Kv}from"solid-js";import{createComponent as Jv}from"solid-js/web";import{memo as _v}from"solid-js/web";import{Checkbox as tz}from"@kobalte/core";import oz from"lucide-solid/icons/check";import{Show as iz}from"solid-js";import{createComponent as sz}from"solid-js/web";import{memo as cz}from"solid-js/web";import{Switch as fz}from"@kobalte/core";import{Show as pz}from"solid-js";import{template as bz}from"solid-js/web";import{insert as xz}from"solid-js/web";import{createComponent as zz}from"solid-js/web";import{memo as Az}from"solid-js/web";import{Slider as Sz}from"@kobalte/core";import{Show as Pz}from"solid-js";import{template as $n}from"solid-js/web";import{delegateEvents as mm}from"solid-js/web";import{setAttribute as ol}from"solid-js/web";import{effect as fm}from"solid-js/web";import{insert as nl}from"solid-js/web";import{createComponent as yt}from"solid-js/web";import{memo as lo}from"solid-js/web";import{Tabs as so}from"@kobalte/core";import ym from"lucide-solid/icons/x";import{Show as il}from"solid-js";var um=$n("<span class=zylem-tabs-trigger-label>"),pm=$n('<span class=zylem-tabs-dirty aria-label="Unsaved changes"title="Unsaved changes">'),gm=$n("<span class=zylem-tabs-close role=button tabindex=0>");function co(e){return yt(so.Root,{get class(){return lo(()=>!!e.class)()?`zylem-tabs-root ${e.class}`:"zylem-tabs-root"},get value(){return e.value},get onChange(){return e.onChange},get defaultValue(){return e.defaultValue},get"aria-label"(){return e["aria-label"]},get children(){return e.children}})}function al(e){return yt(so.List,{get class(){return lo(()=>!!e.class)()?`zylem-tabs-list ${e.class}`:"zylem-tabs-list"},get children(){return e.children}})}function ll(e){let t=r=>{r.stopPropagation(),r.preventDefault(),e.onClose?.()};return yt(so.Trigger,{get class(){return lo(()=>!!e.class)()?`zylem-tabs-trigger ${e.class}`:"zylem-tabs-trigger"},get value(){return e.value},get disabled(){return e.disabled},get children(){return[(()=>{var r=um();return nl(r,()=>e.children),r})(),yt(il,{get when(){return e.dirty},get children(){return pm()}}),yt(il,{get when(){return e.onClose},get children(){var r=gm();return r.$$keydown=o=>{(o.key==="Enter"||o.key===" ")&&t(o)},r.$$pointerdown=o=>o.stopPropagation(),r.$$click=t,nl(r,yt(ym,{"aria-hidden":"true"})),fm(o=>{var n=e.closeLabel??"Close tab",i=e.closeLabel??"Close tab";return n!==o.e&&ol(r,"aria-label",o.e=n),i!==o.t&&ol(r,"title",o.t=i),o},{e:void 0,t:void 0}),r}})]}})}function sl(e){return yt(so.Content,{get class(){return lo(()=>!!e.class)()?`zylem-tabs-content ${e.class}`:"zylem-tabs-content"},get value(){return e.value},get children(){return e.children}})}co.List=al;co.Trigger=ll;co.Content=sl;mm(["click","pointerdown","keydown"]);import{createComponent as Qz}from"solid-js/web";import{memo as Uz}from"solid-js/web";import{Accordion as Nz}from"@kobalte/core";import{For as Kz}from"solid-js";import{createComponent as hr}from"solid-js/web";import"solid-js/web";import{Tooltip as mo}from"@kobalte/core";import{Show as bm}from"solid-js";function _n(e){let t=K("tooltip");return hr(mo.Root,{get placement(){return e.placement},get openDelay(){return e.openDelay??400},get children(){return[hr(mo.Trigger,{as:"span",ref(r){var o=t.anchorRef;typeof o=="function"?o(r):t.anchorRef=r},style:{display:"flex",width:"100%",height:"100%","min-width":0},get children(){return e.children}}),hr(bm,{get when(){return t.mount()},children:r=>hr(mo.Portal,{get mount(){return r()},get children(){return hr(mo.Content,{class:"zylem-tooltip",get children(){return e.content}})}})})]}})}import{template as o0}from"solid-js/web";import"solid-js/web";import{insert as l0}from"solid-js/web";import{createComponent as d0}from"solid-js/web";import{DropdownMenu as m0}from"@kobalte/core";import u0 from"lucide-solid/icons/check";import{For as g0,Show as y0}from"solid-js";import{createComponent as v0}from"solid-js/web";import{memo as w0}from"solid-js/web";import{Menubar as k0}from"@kobalte/core";import{For as C0,Show as P0}from"solid-js";import{template as j0}from"solid-js/web";import{insert as Z0}from"solid-js/web";import{memo as W0}from"solid-js/web";import{createComponent as q0}from"solid-js/web";import{use as $0}from"solid-js/web";import{Dialog as ew}from"@kobalte/core";import{Show as rw}from"solid-js";import{template as ti}from"solid-js/web";import{delegateEvents as xm}from"solid-js/web";import{createComponent as Ht}from"solid-js/web";import{setAttribute as xr}from"solid-js/web";import{effect as dl}from"solid-js/web";import{insert as fo}from"solid-js/web";import{memo as vm}from"solid-js/web";import{Show as ei}from"solid-js";import km from"lucide-solid/icons/panel-bottom-close";import Sm from"lucide-solid/icons/panel-bottom-open";import Cm from"lucide-solid/icons/x";var zm=ti('<button type=button class="zylem-window-control zylem-window-control--collapse">'),wm=ti('<button type=button class="zylem-window-control zylem-window-control--close">'),Am=ti('<div class=zylem-window-controls aria-label="Window controls">');function bt(e){return Ht(ei,{get when(){return e.onClose||e.onCollapse},get children(){var t=Am();return fo(t,Ht(ei,{get when(){return e.onCollapse},get children(){var r=zm();return r.$$click=()=>e.onCollapse?.(),fo(r,(()=>{var o=vm(()=>!!e.collapsed);return()=>o()?Ht(Sm,{size:12}):Ht(km,{size:12})})()),dl(o=>{var n=e.collapsed?"Expand panel":"Collapse panel",i=e.collapsed?"Expand panel":"Collapse panel";return n!==o.e&&xr(r,"aria-label",o.e=n),i!==o.t&&xr(r,"title",o.t=i),o},{e:void 0,t:void 0}),r}}),null),fo(t,Ht(ei,{get when(){return e.onClose},get children(){var r=wm();return r.$$click=()=>e.onClose?.(),fo(r,Ht(Cm,{size:12})),dl(o=>{var n=e.closeLabel??"Close panel",i=e.closeLabel??"Close panel",a=e.closeTestId;return n!==o.e&&xr(r,"aria-label",o.e=n),i!==o.t&&xr(r,"title",o.t=i),a!==o.a&&xr(r,"data-testid",o.a=a),o},{e:void 0,t:void 0,a:void 0}),r}}),null),t}})}xm(["click"]);import{template as sw}from"solid-js/web";import{insert as cw}from"solid-js/web";import{createComponent as fw}from"solid-js/web";import{memo as pw}from"solid-js/web";import{Progress as yw}from"@kobalte/core";import{Show as hw}from"solid-js";import{template as zw}from"solid-js/web";import{setAttribute as Aw}from"solid-js/web";import{className as Sw}from"solid-js/web";import{effect as Pw}from"solid-js/web";import{insert as Iw}from"solid-js/web";import{template as Dw}from"solid-js/web";import{setAttribute as Rw}from"solid-js/web";import{className as Gw}from"solid-js/web";import{effect as Ow}from"solid-js/web";import{createComponent as Yw}from"solid-js/web";import{insert as Vw}from"solid-js/web";import{Show as jw}from"solid-js";import{template as Kw}from"solid-js/web";import{createComponent as Xw}from"solid-js/web";import{setAttribute as Jw}from"solid-js/web";import{className as _w}from"solid-js/web";import{effect as t1}from"solid-js/web";import{insert as o1}from"solid-js/web";import{Show as i1}from"solid-js";import{createComponent as s1}from"solid-js/web";import{memo as c1}from"solid-js/web";import{Separator as f1}from"@kobalte/core";import{template as g1}from"solid-js/web";import{createComponent as b1}from"solid-js/web";import{insert as x1}from"solid-js/web";import{spread as z1}from"solid-js/web";import{mergeProps as A1}from"solid-js/web";import{Show as S1,splitProps as C1}from"solid-js";import{template as T1}from"solid-js/web";import{className as D1}from"solid-js/web";import{effect as R1}from"solid-js/web";import{createComponent as G1}from"solid-js/web";import{insert as O1}from"solid-js/web";import"solid-js/web";import{spread as V1}from"solid-js/web";import{mergeProps as j1}from"solid-js/web";import{Show as Z1,splitProps as K1}from"solid-js";import{template as q1}from"solid-js/web";import{insert as $1}from"solid-js/web";import{spread as eA}from"solid-js/web";import{mergeProps as rA}from"solid-js/web";import{splitProps as nA}from"solid-js";import{template as ri}from"solid-js/web";import{delegateEvents as Pm}from"solid-js/web";import{createComponent as Em}from"solid-js/web";import{style as cA}from"solid-js/web";import{className as cl}from"solid-js/web";import{effect as ml}from"solid-js/web";import{insert as uo}from"solid-js/web";import{Show as Dm,createMemo as Mm}from"solid-js";var Im=ri('<span title="Click to reveal full path">'),Tm=ri("<div class=zylem-property-row><span class=zylem-property-label>"),Bm=ri("<span>");function Rm(e,t=3){let r=e.includes("\\")?"\\":"/",o=e.split(r).filter(Boolean);return o.length<=t?{truncated:e,isTruncated:!1}:{truncated:`...${r}${o.slice(-t).join(r)}`,isTruncated:!0}}function Lm(e){return e.includes("/")||e.includes("\\")||/^[A-Za-z]:/.test(e)||e.startsWith(".")||e.startsWith("~")}function oi(e){let t=Mm(()=>{if(e.children!==void 0)return{element:e.children,isClickable:!1,fullValue:null};if(typeof e.value!="string")return{element:e.value,isClickable:!1,fullValue:null};let r=e.value;if(e.isPath??Lm(r)){let{truncated:n,isTruncated:i}=Rm(r,e.maxPathSegments??3);return{element:n,isClickable:i&&!!e.onPathClick,fullValue:i?r:null}}return{element:r,isClickable:!1,fullValue:null}});return(()=>{var r=Tm(),o=r.firstChild;return uo(o,()=>e.label),uo(r,Em(Dm,{get when(){return t().isClickable},get fallback(){return(()=>{var n=Bm();return uo(n,()=>t().element),ml(()=>cl(n,`zylem-property-value ${e.valueClass??""}`)),n})()},get children(){var n=Im();return n.$$click=()=>{let i=t().fullValue;i&&e.onPathClick?.(i)},uo(n,()=>t().element),ml(()=>cl(n,`zylem-property-value zylem-property-value--clickable ${e.valueClass??""}`)),n}}),null),r})()}Pm(["click"]);import{template as pl}from"solid-js/web";import{delegateEvents as Gm}from"solid-js/web";import{className as Hm}from"solid-js/web";import{insert as ni}from"solid-js/web";import{createComponent as ii}from"solid-js/web";import"solid-js/web";import{setAttribute as Om}from"solid-js/web";import{effect as fl}from"solid-js/web";import{Show as ul}from"solid-js";var Fm=pl("<div class=zylem-console-actions>"),Ym=pl('<div><div class=zylem-console-wrapper><textarea class="zylem-console zylem-scroll">');function ai(e){return(()=>{var t=Ym(),r=t.firstChild,o=r.firstChild;return o.$$input=n=>e.onInput?.(n.currentTarget.value),Om(o,"spellcheck",!1),ni(r,ii(ul,{get when(){return e.onClear||e.actions},get children(){var n=Fm();return ni(n,()=>e.actions,null),ni(n,ii(ul,{get when(){return e.onClear},get children(){return ii(de,{size:"sm",variant:"ghost",onClick:()=>e.onClear?.(),children:"Clear"})}}),null),n}}),null),fl(n=>{var i=e.class?`zylem-console-container ${e.class}`:"zylem-console-container",a=e.readOnly||!e.onInput;return i!==n.e&&Hm(t,n.e=i),a!==n.t&&(o.readOnly=n.t=a),n},{e:void 0,t:void 0}),fl(()=>o.value=e.value),t})()}Gm(["input"]);import{template as po}from"solid-js/web";import{memo as Qm}from"solid-js/web";import{className as Vm}from"solid-js/web";import{effect as Um}from"solid-js/web";import{createComponent as jm}from"solid-js/web";import{insert as vr}from"solid-js/web";import{spread as gl}from"solid-js/web";import{mergeProps as yl}from"solid-js/web";import{Show as Xm,splitProps as bl}from"solid-js";var Nm=po("<aside>"),Zm=po("<div class=sidebar-section-title>"),Km=po("<div>"),Wm=po("<button type=button>");function li(e){let[t,r]=bl(e,["children","class","borderless"]);return(()=>{var o=Nm();return gl(o,yl({get class(){return["sidebar","zylem-scroll",t.borderless?"sidebar--borderless":"",t.class??""].filter(Boolean).join(" ")}},r),!1,!0),vr(o,()=>t.children),o})()}function hl(e){return(()=>{var t=Km();return vr(t,jm(Xm,{get when(){return e.title},get children(){var r=Zm();return vr(r,()=>e.title),r}}),null),vr(t,()=>e.children,null),Um(()=>Vm(t,e.class?`sidebar-section ${e.class}`:"sidebar-section")),t})()}function xl(e){let[t,r]=bl(e,["active","children","class"]);return(()=>{var o=Wm();return gl(o,yl({get class(){return Qm(()=>!!t.class)()?`sidebar-item ${t.class}`:"sidebar-item"},get"data-active"(){return t.active?"":void 0}},r),!1,!0),vr(o,()=>t.children),o})()}li.Section=hl;li.Item=xl;import{template as FA}from"solid-js/web";import{delegateEvents as qm}from"solid-js/web";import{createComponent as VA}from"solid-js/web";import{insert as jA}from"solid-js/web";import{spread as ZA}from"solid-js/web";import{mergeProps as WA}from"solid-js/web";import{memo as qA}from"solid-js/web";import{Show as $A,splitProps as _A}from"solid-js";qm(["keydown"]);import{template as go}from"solid-js/web";import{delegateEvents as Jm}from"solid-js/web";import{use as $m}from"solid-js/web";import{setAttribute as si}from"solid-js/web";import{className as _m}from"solid-js/web";import{effect as vl}from"solid-js/web";import{insert as zl}from"solid-js/web";import{memo as wl}from"solid-js/web";import{createComponent as Xe}from"solid-js/web";import{Popover as zr}from"@kobalte/core";import{Show as di,createSignal as nf}from"solid-js";var ef=go("<span aria-hidden=true>\u25BE"),tf=go("<div>"),rf=go('<span class="zylem-menu-button__chevron zylem-menu-button__chevron--static"aria-hidden=true>\u25BE'),of=go('<button type=button class="zylem-toolbar-btn zylem-menu-button__face">');function ci(e){let[t,r]=nf(!1),o=K("menu"),n=lt(),i=()=>e.open??t(),a=p=>{r(p),e.onOpenChange?.(p)},l=()=>e.onAction!==void 0,d=()=>e.tooltip===null?null:e.tooltip??e.label,s=p=>Xe(di,{get when(){return d()},fallback:p,keyed:!0,children:c=>Xe(_n,{content:c,children:p})});return(()=>{var p=tf();return zl(p,Xe(zr.Root,{get open(){return i()},onOpenChange:a,get placement(){return e.placement??"bottom-start"},get children(){return[Xe(di,{get when(){return l()},get fallback(){return s(Xe(zr.Trigger,{ref(c){var u=o.anchorRef;typeof u=="function"?u(c):o.anchorRef=c},class:"zylem-toolbar-btn zylem-menu-button__face",get"aria-label"(){return e.label},get disabled(){return e.disabled},get"data-selected"(){return e.selected?"":void 0},get children(){return[wl(()=>e.children),rf()]}}))},get children(){return[wl(()=>s((()=>{var c=of();c.$$click=()=>e.onAction?.();var u=o.anchorRef;return typeof u=="function"?$m(u,c):o.anchorRef=c,zl(c,()=>e.children),vl(g=>{var P=e.label,h=e.disabled,v=e.selected?"":void 0;return P!==g.e&&si(c,"aria-label",g.e=P),h!==g.t&&(c.disabled=g.t=h),v!==g.a&&si(c,"data-selected",g.a=v),g},{e:void 0,t:void 0,a:void 0}),c})())),Xe(zr.Trigger,{class:"zylem-menu-button__chevron",get"aria-label"(){return`${e.label} options`},get disabled(){return e.disabled},get children(){return ef()}})]}}),Xe(di,{get when(){return o.mount()},keyed:!0,children:c=>Xe(zr.Portal,{mount:c,get children(){return Xe(zr.Content,{ref(u){var g=n.ref;typeof g=="function"?g(u):n.ref=u},class:"zylem-menu-button__panel",get onInteractOutside(){return n.onInteractOutside},get children(){return e.menu(()=>a(!1))}})}})})]}})),vl(c=>{var u=e.class?`zylem-menu-button ${e.class}`:"zylem-menu-button",g=l()?"":void 0;return u!==c.e&&_m(p,c.e=u),g!==c.t&&si(p,"data-split",c.t=g),c},{e:void 0,t:void 0}),p})()}Jm(["click"]);import{template as xt}from"solid-js/web";import{delegateEvents as gf}from"solid-js/web";import{setAttribute as Cl}from"solid-js/web";import{className as yf}from"solid-js/web";import{effect as pi}from"solid-js/web";import{insert as qe}from"solid-js/web";import{createComponent as ht}from"solid-js/web";import"solid-js/web";import{For as Pl,Show as yo,createMemo as kf,createSignal as Sf}from"solid-js";import{template as af}from"solid-js/web";import{delegateEvents as lf}from"solid-js/web";import{setAttribute as Al}from"solid-js/web";import{className as sf}from"solid-js/web";import{insert as df}from"solid-js/web";import{addEventListener as cf}from"solid-js/web";import{effect as kl}from"solid-js/web";import{use as mf}from"solid-js/web";import{createComponent as ff}from"solid-js/web";import pf from"lucide-solid/icons/search";var uf=af('<div><input type=search class="zylem-field zylem-search-input">');function mi(e){return(()=>{var t=uf(),r=t.firstChild;df(t,ff(pf,{class:"zylem-search-icon"}),r),cf(r,"keydown",e.onKeyDown,!0),r.$$input=n=>e.onInput?.(n.currentTarget.value);var o=e.ref;return typeof o=="function"?mf(o,r):e.ref=r,kl(n=>{var i=e.class?`zylem-search ${e.class}`:"zylem-search",a=e.placeholder??"Search...",l=e["aria-label"]??e.placeholder??"Search";return i!==n.e&&sf(t,n.e=i),a!==n.t&&Al(r,"placeholder",n.t=a),l!==n.a&&Al(r,"aria-label",n.a=l),n},{e:void 0,t:void 0,a:void 0}),kl(()=>r.value=e.value??""),t})()}lf(["input","keydown"]);var Sl="Other";function fi(e,t){let r=t.trim().toLowerCase();return r?e.filter(o=>o.label.toLowerCase().includes(r)||o.id.toLowerCase().includes(r)?!0:o.tags?.some(n=>n.toLowerCase().includes(r))??!1):e}function ui(e){let t=[],r=new Map;for(let o of e){let n=o.group??Sl,i=r.get(n);i||(i=[],r.set(n,i),t.push({group:n,items:i})),i.push(o)}return t}var bf=xt('<div class="zylem-picker__groups zylem-scroll">'),hf=xt("<div>"),xf=xt("<p class=zylem-picker__empty>"),vf=xt("<p class=zylem-picker__empty>No matches for \u201C<!>\u201D."),zf=xt("<div class=zylem-picker__group><h4 class=zylem-picker__group-title>"),wf=xt("<button type=button class=zylem-picker__item><span class=zylem-picker__item-label>"),Af=xt("<span class=zylem-picker__item-glyph>");function gi(e){let[t,r]=Sf(""),o=()=>e.searchable!==!1,n=kf(()=>ui(fi(e.items,t())));return(()=>{var i=hf();return qe(i,ht(yo,{get when(){return o()},get children(){return ht(mi,{class:"zylem-picker__search",get value(){return t()},onInput:r,get placeholder(){return e.searchPlaceholder??"Search\u2026"},ref:a=>{e.autoFocus!==!1&&queueMicrotask(()=>a.focus())}})}}),null),qe(i,ht(yo,{get when(){return e.items.length},get fallback(){return(()=>{var a=xf();return qe(a,()=>e.emptyMessage??"Nothing to choose from."),a})()},get children(){return ht(yo,{get when(){return n().length},get fallback(){return(()=>{var a=vf(),l=a.firstChild,d=l.nextSibling,s=d.nextSibling;return qe(a,t,d),a})()},get children(){var a=bf();return qe(a,ht(Pl,{get each(){return n()},children:l=>(()=>{var d=zf(),s=d.firstChild;return qe(s,()=>l.group),qe(d,ht(Pl,{get each(){return l.items},children:p=>(()=>{var c=wf(),u=c.firstChild;return c.$$click=()=>e.onSelect(p),qe(c,ht(yo,{get when(){return p.icon},children:g=>(()=>{var P=Af();return pi(()=>P.innerHTML=g()),P})()}),u),qe(u,()=>p.label),pi(g=>{var P=p.disabled,h=e.selectedId===p.id?"":void 0,v=p.description;return P!==g.e&&(c.disabled=g.e=P),h!==g.t&&Cl(c,"data-selected",g.t=h),v!==g.a&&Cl(c,"title",g.a=v),g},{e:void 0,t:void 0,a:void 0}),c})()}),null),d})()})),a}})}}),null),pi(()=>yf(i,e.class?`zylem-picker ${e.class}`:"zylem-picker")),i})()}gf(["click"]);import{template as Qk}from"solid-js/web";import{className as Uk}from"solid-js/web";import{effect as Nk}from"solid-js/web";import{createComponent as Kk}from"solid-js/web";import{insert as Xk}from"solid-js/web";import{Show as Jk}from"solid-js";import{template as eS}from"solid-js/web";import{insert as rS}from"solid-js/web";import{spread as nS}from"solid-js/web";import{mergeProps as aS}from"solid-js/web";import{memo as sS}from"solid-js/web";import{splitProps as cS}from"solid-js";import{template as uS}from"solid-js/web";import{className as gS}from"solid-js/web";import{effect as bS}from"solid-js/web";import{insert as xS}from"solid-js/web";import{template as PS}from"solid-js/web";import{effect as IS}from"solid-js/web";import{insert as BS}from"solid-js/web";import{setAttribute as MS}from"solid-js/web";import{createMemo as LS,onMount as GS}from"solid-js";var yi="zylem-build-label";var AS=`
|
|
8
|
+
#${yi} {
|
|
9
9
|
position: fixed;
|
|
10
10
|
top: 10px;
|
|
11
11
|
right: 12px;
|
|
@@ -26,12 +26,12 @@ import{getZylemBridge as es}from"@zylem/bridge";var{channel:M}=es();function mt(
|
|
|
26
26
|
user-select: none;
|
|
27
27
|
white-space: nowrap;
|
|
28
28
|
}
|
|
29
|
-
`;import{template as $1}from"solid-js/web";import{insert as eA}from"solid-js/web";import{spread as rA}from"solid-js/web";import{mergeProps as oA}from"solid-js/web";import{memo as aA}from"solid-js/web";import{splitProps as sA}from"solid-js";import{template as fA}from"solid-js/web";import{delegateEvents as Uc}from"solid-js/web";import{setStyleProperty as pA}from"solid-js/web";import{className as bA}from"solid-js/web";import{effect as xA}from"solid-js/web";import{memo as zA}from"solid-js/web";import{addEventListener as AA}from"solid-js/web";import{insert as SA}from"solid-js/web";import{createComponent as EA}from"solid-js/web";import{For as IA,Show as TA,onCleanup as BA}from"solid-js";Uc(["pointerdown"]);import{template as FA}from"solid-js/web";import{insert as YA}from"solid-js/web";import{spread as UA}from"solid-js/web";import{mergeProps as VA}from"solid-js/web";import{memo as KA}from"solid-js/web";import{splitProps as WA}from"solid-js";import{createComponent as JA}from"solid-js/web";import{memo as _A}from"solid-js/web";import tk from"lucide-solid/icons/circle";import nk from"lucide-solid/icons/eraser";import ik from"lucide-solid/icons/hand";import lk from"lucide-solid/icons/paint-bucket";import dk from"lucide-solid/icons/pencil";import mk from"lucide-solid/icons/pipette";import uk from"lucide-solid/icons/square";import pk from"lucide-solid/icons/square-dashed";import{Dynamic as bk}from"solid-js/web";import{template as zk}from"solid-js/web";import{delegateEvents as jc}from"solid-js/web";import{setAttribute as kk}from"solid-js/web";import{className as Ck}from"solid-js/web";import{effect as Pk}from"solid-js/web";import{insert as Tk}from"solid-js/web";import{createComponent as Dk}from"solid-js/web";import{addEventListener as Rk}from"solid-js/web";import Gk from"lucide-solid/icons/plus";import{Show as Fk}from"solid-js";jc(["click"]);import{template as Qk}from"solid-js/web";import{delegateEvents as Zc}from"solid-js/web";import{insert as Vk}from"solid-js/web";import{createComponent as Kk}from"solid-js/web";import"solid-js/web";import{setAttribute as qk}from"solid-js/web";import{style as $k}from"solid-js/web";import{className as e2}from"solid-js/web";import{effect as r2}from"solid-js/web";import{addEventListener as o2}from"solid-js/web";import{For as a2,Show as l2}from"solid-js";Zc(["click"]);import{template as m2}from"solid-js/web";import{delegateEvents as Kc}from"solid-js/web";import{className as g2}from"solid-js/web";import{addEventListener as y2}from"solid-js/web";import{setAttribute as h2}from"solid-js/web";import{effect as v2}from"solid-js/web";import{createComponent as w2}from"solid-js/web";import{insert as k2}from"solid-js/web";import{spread as C2}from"solid-js/web";import{mergeProps as P2}from"solid-js/web";import{memo as T2}from"solid-js/web";import D2 from"lucide-solid/icons/arrow-left-to-line";import R2 from"lucide-solid/icons/arrow-right-to-line";import G2 from"lucide-solid/icons/chevron-left";import F2 from"lucide-solid/icons/chevron-right";import Y2 from"lucide-solid/icons/copy";import U2 from"lucide-solid/icons/trash-2";import{Show as V2,splitProps as Z2}from"solid-js";Kc(["click"]);import{template as q2}from"solid-js/web";import{className as $2}from"solid-js/web";import{effect as eS}from"solid-js/web";import{insert as rS}from"solid-js/web";import{createComponent as oS}from"solid-js/web";import{memo as aS}from"solid-js/web";import sS from"lucide-solid/icons/fast-forward";import cS from"lucide-solid/icons/pause";import fS from"lucide-solid/icons/play";import gS from"lucide-solid/icons/repeat";import yS from"lucide-solid/icons/rewind";import{Show as hS}from"solid-js";import{template as kS}from"solid-js/web";import{delegateEvents as qc}from"solid-js/web";import{setAttribute as ES}from"solid-js/web";import{setStyleProperty as IS}from"solid-js/web";import{className as BS}from"solid-js/web";import{effect as MS}from"solid-js/web";import{insert as LS}from"solid-js/web";import{createComponent as HS}from"solid-js/web";import"solid-js/web";import{Slider as QS}from"@kobalte/core";import{For as jS,Show as VS,createMemo as ZS}from"solid-js";qc(["pointerdown","click"]);import{template as XS}from"solid-js/web";import{spread as JS}from"solid-js/web";import{mergeProps as _S}from"solid-js/web";import{createComponent as tC}from"solid-js/web";import{insert as nC}from"solid-js/web";import{memo as iC}from"solid-js/web";import{Button as lC}from"@kobalte/core";import{Show as dC,splitProps as cC}from"solid-js";import{template as gC}from"solid-js/web";import{delegateEvents as _c}from"solid-js/web";import{memo as bC}from"solid-js/web";import{addEventListener as xC}from"solid-js/web";import{setAttribute as zC}from"solid-js/web";import{className as AC}from"solid-js/web";import{setStyleProperty as SC}from"solid-js/web";import{effect as EC}from"solid-js/web";import{createComponent as IC}from"solid-js/web";import{insert as BC}from"solid-js/web";import{use as MC}from"solid-js/web";import{createContext as em,createMemo as LC,createSignal as GC,For as HC,Show as FC,splitProps as OC,useContext as YC}from"solid-js";var UC=em();_c(["pointerdown","dblclick"]);import{template as ZC}from"solid-js/web";import{delegateEvents as tm}from"solid-js/web";import{setStyleProperty as WC}from"solid-js/web";import{className as qC}from"solid-js/web";import{memo as $C}from"solid-js/web";import{setAttribute as eE}from"solid-js/web";import{use as rE}from"solid-js/web";import{effect as oE}from"solid-js/web";import{createComponent as aE}from"solid-js/web";import{insert as sE}from"solid-js/web";import cE from"lucide-solid/icons/lock";import fE from"lucide-solid/icons/lock-open";import{createSignal as gE,Show as pE}from"solid-js";tm(["pointerdown","input","keydown","click","dblclick"]);import{template as wE}from"solid-js/web";import{delegateEvents as am}from"solid-js/web";import{addEventListener as SE}from"solid-js/web";import{setAttribute as EE}from"solid-js/web";import{className as IE}from"solid-js/web";import{setStyleProperty as BE}from"solid-js/web";import{effect as ME}from"solid-js/web";import{insert as LE}from"solid-js/web";import{createComponent as HE}from"solid-js/web";import{use as OE}from"solid-js/web";import{createMemo as QE,createSignal as UE,For as jE,Index as VE,Show as ZE}from"solid-js";am(["keydown","pointerdown","dblclick"]);import{template as qE}from"solid-js/web";import{delegateEvents as lm}from"solid-js/web";import{setStyleProperty as _E}from"solid-js/web";import{setAttribute as tP}from"solid-js/web";import{className as nP}from"solid-js/web";import{effect as iP}from"solid-js/web";import{createComponent as lP}from"solid-js/web";import{insert as dP}from"solid-js/web";import{createSignal as mP,Show as fP}from"solid-js";lm(["pointerdown","keydown","dblclick"]);import{template as yP}from"solid-js/web";import{delegateEvents as dm}from"solid-js/web";import{setStyleProperty as xP}from"solid-js/web";import{className as zP}from"solid-js/web";import{setAttribute as AP}from"solid-js/web";import{effect as SP}from"solid-js/web";import{insert as EP}from"solid-js/web";import{createComponent as IP}from"solid-js/web";import"solid-js/web";import{Slider as MP}from"@kobalte/core";import{Show as LP}from"solid-js";dm(["pointerdown","click"]);import{template as QP}from"solid-js/web";import{delegateEvents as fm}from"solid-js/web";import{addEventListener as VP}from"solid-js/web";import{setAttribute as KP}from"solid-js/web";import{className as WP}from"solid-js/web";import{insert as qP}from"solid-js/web";import{setStyleProperty as $P}from"solid-js/web";import{effect as eI}from"solid-js/web";import{createComponent as rI}from"solid-js/web";import{memo as oI}from"solid-js/web";import{use as aI}from"solid-js/web";import{createEffect as sI,createMemo as dI,createSignal as cI,onCleanup as mI,onMount as fI,Show as uI}from"solid-js";fm(["pointerdown"]);import{template as hI}from"solid-js/web";import{setAttribute as vI}from"solid-js/web";import{className as wI}from"solid-js/web";import{effect as kI}from"solid-js/web";import{insert as CI}from"solid-js/web";import{memo as PI}from"solid-js/web";import{createComponent as TI}from"solid-js/web";import DI from"lucide-solid/icons/square";import{Show as RI}from"solid-js";import{createMemo as eg,createSignal as Yl,For as tg,onCleanup as rg,onMount as ng,Show as Ql}from"solid-js";import{render as og}from"solid-js/web";import{template as Fm}from"solid-js/web";import{delegateEvents as Om}from"solid-js/web";import{setStyleProperty as jo}from"solid-js/web";import{style as Fe}from"solid-js/web";import{effect as Ym}from"solid-js/web";import{addEventListener as qe}from"solid-js/web";import{insert as ar}from"solid-js/web";import{memo as Qm}from"solid-js/web";import{createComponent as Vo}from"solid-js/web";import{use as Um}from"solid-js/web";import{createEffect as Vm,createSignal as Zo,onCleanup as Zm,onMount as Km}from"solid-js";import{template as Qo}from"solid-js/web";import{delegateEvents as hm}from"solid-js/web";import{setAttribute as Kr}from"solid-js/web";import{setStyleProperty as nr}from"solid-js/web";import{effect as Oo}from"solid-js/web";import{memo as xm}from"solid-js/web";import{insert as Nr}from"solid-js/web";import{createComponent as or}from"solid-js/web";import{use as Yo}from"solid-js/web";import{PanelBottom as Am,PanelLeft as km,PanelRight as Ba,PanelTop as Sm}from"lucide-solid";import{createEffect as Cm,createSignal as Pa,For as Em,onCleanup as Pm,Show as Im}from"solid-js";import{Dynamic as Ia,Portal as Tm}from"solid-js/web";var vm=Qo('<div role=menu aria-label="Dock panel to edge"style="position:fixed;display:flex;gap:6px;padding:6px;border-radius:6px;border:1px solid rgba(255, 255, 255, 0.25);background:rgba(10, 20, 30, 0.92);box-shadow:0 4px 14px rgba(0, 0, 0, 0.45);pointer-events:auto">'),zm=Qo('<div style=display:inline-flex><button type=button class=floating-panel-button title="Dock panel"aria-label="Dock panel"aria-haspopup=true data-testid=dock-menu-trigger>'),wm=Qo("<button type=button role=menuitem class=floating-panel-button>"),Ta=[{side:"left",label:"Dock to left",icon:km},{side:"top",label:"Dock to top",icon:Sm},{side:"bottom",label:"Dock to bottom",icon:Am},{side:"right",label:"Dock to right",icon:Ba}],Da=e=>{let[t,r]=Pa(!1),[n,o]=Pa({top:0,right:0}),i=U("menu"),a,d,f,g=u=>{a=u,i.anchorRef(u)},b=()=>Ta.find(u=>u.side===e.dockedSide())?.icon??Ba,c=()=>{if(!d)return;let u=d.getBoundingClientRect();o({top:u.bottom+6,right:Math.max(0,window.innerWidth-u.right)})},p=()=>{t()||c(),r(!t())};return Cm(()=>{if(!t())return;let u=l=>{let m=l.composedPath();a&&m.includes(a)||f&&m.includes(f)||r(!1)},v=l=>{l.key==="Escape"&&r(!1)};document.addEventListener("pointerdown",u),document.addEventListener("keydown",v),window.addEventListener("resize",c),Pm(()=>{document.removeEventListener("pointerdown",u),document.removeEventListener("keydown",v),window.removeEventListener("resize",c)})}),(()=>{var u=zm(),v=u.firstChild;u.$$pointerdown=m=>m.stopPropagation(),Yo(g,u),v.$$click=p;var l=d;return typeof l=="function"?Yo(l,v):d=v,Nr(v,or(Ia,{get component(){return b()},size:12})),Nr(u,or(Im,{get when(){return xm(()=>!!t())()&&i.mount()},get children(){return or(Tm,{get mount(){return i.mount()},get children(){var m=vm();m.$$pointerdown=y=>y.stopPropagation();var s=f;return typeof s=="function"?Yo(s,m):f=m,Nr(m,or(Em,{each:Ta,children:y=>{let z=()=>e.dockedSide()===y.side;return(()=>{var S=wm();return S.$$click=()=>{e.onDock(y.side),r(!1)},Nr(S,or(Ia,{get component(){return y.icon},size:12})),Oo(w=>{var H=y.label,Y=y.label,j=`dock-menu-${y.side}`,oe=z()?"var(--zylem-color-primary, #61a6e8)":void 0,_=z()?"rgba(97, 166, 232, 0.4)":void 0;return H!==w.e&&Kr(S,"title",w.e=H),Y!==w.t&&Kr(S,"aria-label",w.t=Y),j!==w.a&&Kr(S,"data-testid",w.a=j),oe!==w.o&&nr(S,"border-color",w.o=oe),_!==w.i&&nr(S,"background",w.i=_),w},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),S})()}})),Oo(y=>{var z=`${n().top}px`,S=`${n().right}px`,w=i.zIndex();return z!==y.e&&nr(m,"top",y.e=z),S!==y.t&&nr(m,"right",y.t=S),w!==y.a&&nr(m,"z-index",y.a=w),y},{e:void 0,t:void 0,a:void 0}),m}})}}),null),Oo(()=>Kr(v,"aria-expanded",t())),u})()};hm(["pointerdown","click"]);var He={toggleButton:1,mainPanel:2,detachedBase:3,mainDockPreview:4,dragGhost:900};import{template as Mm}from"solid-js/web";import{setStyleProperty as ir}from"solid-js/web";import{effect as Rm}from"solid-js/web";import{createComponent as Uo}from"solid-js/web";import{createEffect as Ra,createMemo as La,createSignal as Wr,Show as Ga,untrack as Ha}from"solid-js";import{Portal as Gm}from"solid-js/web";import{createSignal as Bm}from"solid-js";var Ma=()=>typeof window>"u"?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight},[we,Dm]=Bm(Ma(),{equals:(e,t)=>e.width===t.width&&e.height===t.height});if(typeof window<"u"){let e;window.addEventListener("resize",()=>{e!==void 0&&cancelAnimationFrame(e),e=requestAnimationFrame(()=>{e=void 0,Dm(Ma())})})}var Lm=Mm('<div style="position:fixed;pointer-events:none;box-sizing:border-box;border:2px dashed var(--zylem-color-primary);background:rgba(10, 20, 30, 0.2);border-radius:0">'),Hm=24,Fa={width:320,height:240};function Xr(e){let[t,r]=Wr({width:e.initialSize.width,height:e.initialSize.height}),[n,o]=Wr({visible:!1,side:null,index:0}),i=La(()=>De(h.docks,e.panelId)),a=()=>i()!==null,d=La(()=>i()?Ne(h.docks,we(),{minSlotExtent:0})[e.panelId]??null:null);Ra(()=>{let x=d();x&&Ha(()=>{let I=e.position(),T=e.size();(I.x!==x.x||I.y!==x.y)&&e.setPosition({x:x.x,y:x.y}),(T.width!==x.width||T.height!==x.height)&&e.setSize({width:x.width,height:x.height})})});let[f,g]=Wr(!0),b=()=>!a()&&f(),[c,p]=Wr(!1),u=!0,v=(x,I)=>{o({visible:!0,side:x,index:I})},l=()=>{o({visible:!1,side:null,index:0})},m=x=>{r({width:x.width,height:x.height})},s=()=>{let x=e.panelRef();if(x){let I=x.getBoundingClientRect();return{width:I.width,height:I.height}}return e.size()},y=()=>{let x=n();return!x.visible||!x.side?null:Fn(h.docks,e.panelId,x.side,x.index,we())},z=(x,I)=>{let T=we(),B=Math.max(1,T.width),$=Math.max(1,T.height),V=Math.min(e.minSize.width,B),se=Math.min(e.minSize.height,$);return{width:Math.min(B,Math.max(V,x)),height:Math.min($,Math.max(se,I))}},S=(x,I,T,B)=>{let $=we(),V=z(T,B),se=Math.max(0,$.width-V.width),ce=Math.max(0,$.height-V.height);return{position:{x:Math.max(0,Math.min(x,se)),y:Math.max(0,Math.min(I,ce))},size:V}},w=(x,I,T,B)=>{let $=we(),se=[{side:"left",amount:Math.max(0,-x)},{side:"right",amount:Math.max(0,x+T-$.width)},{side:"top",amount:Math.max(0,-I)},{side:"bottom",amount:Math.max(0,I+B-$.height)}].reduce((ce,Ue)=>Ue.amount>ce.amount?Ue:ce);return se.amount>=Hm?se.side:null},H=(x,I,T)=>Hn(h.docks,x,{x:I,y:T},we(),e.panelId),Y=(x,I)=>{let T=e.position(),B=s();a()?u=!0:(m(B),u=f());let $=z(Fa.width,Fa.height),V=B.width>0?Math.max(0,Math.min(1,(x-T.x)/B.width)):0,se=B.height>0?Math.max(0,Math.min(1,(I-T.y)/B.height)):0,ce=S(x-$.width*V,I-$.height*se,$.width,$.height);return Re(e.panelId),e.setSize(ce.size),e.setPosition(ce.position),g(!1),p(!0),l(),ce},j=()=>{let x=t(),I=z(x.width,x.height),T=e.position(),B=S(T.x,T.y,I.width,I.height);return e.setSize(B.size),e.setPosition(B.position),g(u),p(!1),e.onSizeCommit?.(B.size),e.onPositionCommit?.(B.position),B},oe=x=>{l();let I=i();if(I&&x&&x===Ln(I)){let B=s();return e.setSize(B),g(!1),{size:B,mode:"thickness"}}I&&Re(e.panelId);let T=s();return e.setSize(T),g(!1),{size:T,mode:"free"}},_=(x,I,T)=>{let B=i();if(!B)return;let $=Be(B),V=$?I:T,se=B==="left"||B==="top"?V:-V,ce=$?e.minSize.width:e.minSize.height,Ue=Gn(h.docks,B,x+se,we(),ce);jn(B,Ue)},ge=()=>{Re(e.panelId)},Q=()=>{let x=n();return!x.visible||!x.side?null:(a()||m(e.size()),tt(e.panelId,x.side,x.index),g(!1),p(!1),l(),{side:x.side,index:x.index})},he=()=>{let x=t(),I=z(x.width,x.height),T=e.position(),B=S(T.x,T.y,I.width,I.height);return Re(e.panelId),e.setSize(B.size),e.setPosition(B.position),g(!0),e.onSizeCommit?.(B.size),e.onPositionCommit?.(B.position),B},Ae=x=>{if(x===null){a()&&he();return}a()||m(e.size()),tt(e.panelId,x),g(!1)},Et=()=>{if(a())return;let x=e.position(),I=b()?s():e.size(),T=S(x.x,x.y,I.width,I.height);(I.width!==T.size.width||I.height!==T.size.height)&&(e.setSize(T.size),e.onSizeCommit?.(T.size)),(x.x!==T.position.x||x.y!==T.position.y)&&(e.setPosition(T.position),e.onPositionCommit?.(T.position))};return Ra(()=>{we(),Ha(Et)}),{dockedSide:i,dockRect:d,isAutoHeight:b,setIsAutoHeight:g,showDockPreview:v,hideDockPreview:l,rememberUndockedSize:m,getLiveSize:s,getDockPreviewRect:y,detectDockSide:w,detectDockIndex:H,beginDragGhost:Y,endDragGhost:j,isMoving:c,clampSizeToViewport:z,fitPanelToViewport:S,beginResize:oe,resizeDockThickness:_,clearDockedSide:ge,applyDockPreview:Q,restoreUndockedPanel:he,dockTo:Ae}}var qr=e=>{let t=U("panel",e.rank);return Uo(Ga,{get when(){return e.rect},children:r=>Uo(Ga,{get when(){return t.mount()},keyed:!0,children:n=>Uo(Gm,{mount:n,get children(){var o=Lm();return Rm(i=>{var a=`${r().x}px`,d=`${r().y}px`,f=`${r().width}px`,g=`${r().height}px`,b=t.zIndex();return a!==i.e&&ir(o,"left",i.e=a),d!==i.t&&ir(o,"top",i.t=d),f!==i.a&&ir(o,"width",i.a=f),g!==i.o&&ir(o,"height",i.o=g),b!==i.i&&ir(o,"z-index",i.i=b),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),o}})})})};var jm=Fm("<div class=floating-panel style=position:fixed;display:flex;flex-direction:column;pointer-events:auto><div class=floating-panel-titlebar style=cursor:grab;display:flex;align-items:center;justify-content:space-between;user-select:none;touch-action:none><span class=floating-panel-title></span><div style=display:flex;align-items:center;gap:7px></div></div><div class=floating-panel-content style=flex:1;overflow:hidden;display:flex;flex-direction:column></div><div style=top:0;left:10px;right:10px;height:6px></div><div style=bottom:0;left:10px;right:10px;height:6px></div><div style=left:0;top:10px;bottom:10px;width:6px></div><div style=right:0;top:10px;bottom:10px;width:6px></div><div style=top:0;left:0;width:10px;height:10px></div><div style=top:0;right:0;width:10px;height:10px></div><div style=bottom:0;left:0;width:10px;height:10px></div><div style=bottom:0;right:0;width:10px;height:10px>"),Oa=3,Ya=e=>{let t=U("panel",He.mainPanel),r=e.minSize??{width:300,height:200},n=e.initialSize??{width:460,height:600},[o,i]=Zo(e.initialPosition??{x:50,y:50}),[a,d]=Zo(n),[f,g]=Zo(!1),b=()=>g(!f()),c=!1,p=!1,u="free",v=null,l={x:0,y:0},m={x:0,y:0},s={width:0,height:0},y=0,z=!1,S,{dockedSide:w,isAutoHeight:H,showDockPreview:Y,hideDockPreview:j,rememberUndockedSize:oe,getLiveSize:_,getDockPreviewRect:ge,detectDockSide:Q,detectDockIndex:he,beginDragGhost:Ae,endDragGhost:Et,isMoving:x,clampSizeToViewport:I,beginResize:T,resizeDockThickness:B,applyDockPreview:$,dockTo:V}=Xr({panelId:ke,initialSize:e.floatingSize??n,minSize:r,position:o,setPosition:i,size:a,setSize:d,panelRef:()=>S,onPositionCommit:k=>e.onMove?.(k),onSizeCommit:k=>e.onResize?.(k)});Vm(()=>{let k=e.dockRequest?.();k&&V(k.side)});let se=(k,D,F,G)=>({x:Math.max(-F+50,Math.min(k,window.innerWidth-50)),y:Math.max(0,Math.min(D,window.innerHeight-50))}),ce=(k,D)=>I(k,D),Ue=k=>{c=!0,z=!1,j(),l={x:k.clientX,y:k.clientY},m={...o()},k.pointerType==="mouse"&&k.preventDefault()},ie=k=>D=>{p=!0,v=k;let F=w(),{size:G,mode:Z}=T(k);u=Z,y=F&&Be(F)?G.width:G.height,l={x:D.clientX,y:D.clientY},m={...o()},s={...G},D.pointerType==="mouse"&&D.preventDefault(),D.stopPropagation()},E=k=>{if(c){let D=k.clientX-l.x,F=k.clientY-l.y;if((Math.abs(D)>Oa||Math.abs(F)>Oa)&&!z){z=!0;let G=Ae(k.clientX,k.clientY);l={x:k.clientX,y:k.clientY},m={...G.position},s={...G.size},D=0,F=0}if(z){let G=m.x+D,Z=m.y+F,N=_(),W=Q(G,Z,N.width,N.height);W?Y(W,he(W,k.clientX,k.clientY)):j();let X=se(G,Z,N.width,N.height);i(X)}}else if(p&&v){let D=k.clientX-l.x,F=k.clientY-l.y;if(u==="thickness"){B(y,D,F);return}let G=s.width,Z=s.height,N=m.x,W=m.y;v.includes("e")?G=s.width+D:v.includes("w")&&(G=s.width-D,N=m.x+D),v.includes("s")?Z=s.height+F:v.includes("n")&&(Z=s.height-F,W=m.y+F);let X=ce(G,Z);v.includes("w")&&X.width===r.width&&(N=m.x+s.width-r.width),v.includes("n")&&X.height===r.height&&(W=m.y+s.height-r.height),d(X),i(se(N,W,X.width,X.height))}},O=()=>{c&&z&&($()||Et()),p&&u==="free"&&(oe(a()),e.onResize?.(a())),c=!1,p=!1,u="free",v=null,z=!1,j()};Km(()=>{window.addEventListener("pointermove",E),window.addEventListener("pointerup",O)}),Zm(()=>{window.removeEventListener("pointermove",E),window.removeEventListener("pointerup",O)});let K=k=>({position:"absolute","z-index":10,cursor:k,"touch-action":"none"});return(()=>{var k=jm(),D=k.firstChild,F=D.firstChild,G=F.nextSibling,Z=D.nextSibling,N=Z.nextSibling,W=N.nextSibling,X=W.nextSibling,Ee=X.nextSibling,Pe=Ee.nextSibling,R=Pe.nextSibling,je=R.nextSibling,Ve=je.nextSibling,_e=S;return typeof _e=="function"?Um(_e,k):S=k,ar(k,Vo(qr,{get rect(){return ge()},get rank(){return He.mainDockPreview}}),D),D.$$pointerdown=Ue,ar(F,()=>e.title??"Panel"),ar(G,Vo(Da,{dockedSide:w,onDock:L=>V(L)}),null),ar(G,Vo(it,{get collapsed(){return f()},get onCollapse(){return e.collapsible?b:void 0},get onClose(){return e.onClose},closeTestId:"floating-panel-close"}),null),ar(Z,(()=>{var L=Qm(()=>typeof e.children=="function");return()=>L()?e.children(f):e.children})()),qe(N,"pointerdown",ie("n"),!0),qe(W,"pointerdown",ie("s"),!0),qe(X,"pointerdown",ie("w"),!0),qe(Ee,"pointerdown",ie("e"),!0),qe(Pe,"pointerdown",ie("nw"),!0),qe(R,"pointerdown",ie("ne"),!0),qe(je,"pointerdown",ie("sw"),!0),qe(Ve,"pointerdown",ie("se"),!0),Ym(L=>{var dn={left:`${o().x}px`,top:`${o().y}px`,width:`${a().width}px`,height:!x()&&(f()||H())?"auto":`${a().height}px`,"z-index":t.zIndex(),"border-radius":w()?"0":void 0,...x()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}},pr=w()?"0":void 0,yr=x()?"hidden":void 0,br=x()?"hidden":void 0,cn={...K("ns-resize")},mn={...K("ns-resize")},fn={...K("ew-resize")},un={...K("ew-resize")},ql={...K("nwse-resize")},Jl={...K("nesw-resize")},$l={...K("nesw-resize")},_l={...K("nwse-resize")};return L.e=Fe(k,dn,L.e),pr!==L.t&&jo(D,"border-radius",L.t=pr),yr!==L.a&&jo(D,"visibility",L.a=yr),br!==L.o&&jo(Z,"visibility",L.o=br),L.i=Fe(N,cn,L.i),L.n=Fe(W,mn,L.n),L.s=Fe(X,fn,L.s),L.h=Fe(Ee,un,L.h),L.r=Fe(Pe,ql,L.r),L.d=Fe(R,Jl,L.d),L.l=Fe(je,$l,L.l),L.u=Fe(Ve,_l,L.u),L},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0}),k})()};Om(["pointerdown"]);import{template as Nm}from"solid-js/web";import{delegateEvents as Wm}from"solid-js/web";import{setStyleProperty as Ko}from"solid-js/web";import{effect as Xm}from"solid-js/web";import{createSignal as Jm,onCleanup as $m,onMount as _m}from"solid-js";var qm=Nm("<div style=position:fixed;cursor:grab;touch-action:none;pointer-events:auto><button id=zylem-editor-toggle type=button>"),Jr=50,Qa=5,Se=96,wt=20,Ua=e=>{let t=U("panel",He.toggleButton),[r,n]=Jm({x:0,y:0}),o,i=!1,a={x:0,y:0},d={x:0,y:0},f=!1,g=(l,m)=>{let s=window.innerWidth,y=window.innerHeight,z=l,S=m;return l<Jr?z=wt:l>s-Se-Jr&&(z=s-Se-wt),m<Jr?S=wt:m>y-Se-Jr&&(S=y-Se-wt),{x:z,y:S}},b=(l,m)=>{let s=Math.max(0,window.innerWidth-Se),y=Math.max(0,window.innerHeight-Se);return{x:Math.max(0,Math.min(l,s)),y:Math.max(0,Math.min(m,y))}},c=l=>{i=!0,f=!1,a={x:l.clientX,y:l.clientY},d={...r()},l.pointerType==="mouse"&&l.preventDefault()},p=l=>{if(!i)return;let m=l.clientX-a.x,s=l.clientY-a.y;if((Math.abs(m)>Qa||Math.abs(s)>Qa)&&(f=!0),f){let y=d.x+m,z=d.y+s,S=window.innerWidth,w=window.innerHeight,H=Math.max(0,Math.min(y,S-Se)),Y=Math.max(0,Math.min(z,w-Se));n({x:H,y:Y})}},u=()=>{if(i){if(f){let l=r(),m=g(l.x,l.y);n(m),Lt(m)}else e.onToggle();i=!1,f=!1}},v=()=>{o!==void 0&&cancelAnimationFrame(o),o=requestAnimationFrame(()=>{let l=r(),m=b(l.x,l.y);(m.x!==l.x||m.y!==l.y)&&(n(m),Lt(m)),o=void 0})};return _m(()=>{let l=b(window.innerWidth-Se-wt,window.innerHeight-Se-wt);n(l),Lt(l),window.addEventListener("pointermove",p),window.addEventListener("pointerup",u),window.addEventListener("resize",v)}),$m(()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",u),window.removeEventListener("resize",v),o!==void 0&&cancelAnimationFrame(o)}),(()=>{var l=qm(),m=l.firstChild;return m.$$pointerdown=c,Xm(s=>{var y=`${r().x}px`,z=`${r().y}px`,S=t.zIndex();return y!==s.e&&Ko(l,"left",s.e=y),z!==s.t&&Ko(l,"top",s.t=z),S!==s.a&&Ko(l,"z-index",s.a=S),s},{e:void 0,t:void 0,a:void 0}),l})()};Wm(["pointerdown"]);import{template as iu}from"solid-js/web";import{delegateEvents as au}from"solid-js/web";import{setStyleProperty as ti}from"solid-js/web";import{style as Ye}from"solid-js/web";import{effect as lu}from"solid-js/web";import{addEventListener as $e}from"solid-js/web";import{insert as nn}from"solid-js/web";import{createComponent as cl}from"solid-js/web";import{use as su}from"solid-js/web";import{createSignal as ml,onCleanup as cu,onMount as mu}from"solid-js";import{createComponent as ou}from"solid-js/web";import{template as st}from"solid-js/web";import{className as ef}from"solid-js/web";import{setAttribute as tf}from"solid-js/web";import{effect as ja}from"solid-js/web";import{insert as le}from"solid-js/web";import{createComponent as At}from"solid-js/web";import{memo as rf}from"solid-js/web";import{createSignal as $r,For as Va,onCleanup as mf,onMount as ff,Show as Za}from"solid-js";import{subscribe as uf}from"valtio/vanilla";var nf=st("<section class=zylem-section><h4 class=zylem-section-title>Message types</h4><div class=zylem-property-list>"),of=st("<span class=zylem-property-value>(<!> older dropped)"),af=st('<div class=panel-content><section class=zylem-toolbar><span class=zylem-property-value> msg/s</span></section><section class=zylem-section><h4 class=zylem-section-title>Recent messages</h4><div class="bridge-log scrollable-y scroll-thin">'),lf=st("<p class=zylem-property-value>No bridge traffic recorded yet."),sf=st("<div class=zylem-property-row><span class=zylem-property-label></span><span class=zylem-property-value> \xB7 <!>/s \xB7 "),df=st("<p class=zylem-property-value>Waiting for messages\u2026"),cf=st("<div class=bridge-log-row><span></span><span class=bridge-log-type></span><span class=bridge-log-meta></span><span class=bridge-log-summary>"),Ka=()=>{let[e,t]=$r([]),[r,n]=$r([]),[o,i]=$r(te.paused),[a,d]=$r(0);ff(()=>{eo();let b=uf(te,()=>{t([...te.stats]),n([...te.entries]),i(te.paused),d(te.dropped)});mf(()=>{b(),Qt()})});let f=()=>to(!te.paused),g=()=>e().reduce((b,c)=>b+c.rate,0);return(()=>{var b=af(),c=b.firstChild,p=c.firstChild,u=p.firstChild,v=c.nextSibling,l=v.firstChild,m=l.firstChild,s=l.nextSibling;return le(c,At(de,{size:"sm",onClick:f,get children(){return o()?"Resume":"Pause"}}),p),le(c,At(de,{size:"sm",onClick:ro,children:"Clear"}),p),le(p,()=>g().toFixed(0),u),le(b,At(Za,{get when(){return e().length>0},get fallback(){return lf()},get children(){var y=nf(),z=y.firstChild,S=z.nextSibling;return le(S,At(Va,{get each(){return e()},children:w=>(()=>{var H=sf(),Y=H.firstChild,j=Y.nextSibling,oe=j.firstChild,_=oe.nextSibling,ge=_.nextSibling;return le(Y,()=>w.type),le(j,()=>w.sent,oe),le(j,()=>w.rate.toFixed(0),_),le(j,()=>no(w.bytes),null),le(j,(()=>{var Q=rf(()=>w.retained>0);return()=>Q()?` \xB7 ${w.retained} kept`:""})(),null),ja(Q=>{var he=w.rate>Mi,Ae=`sent ${w.sent} \xB7 queued ${w.queued} \xB7 delivered ${w.delivered} \xB7 coalesced ${(w.coalesced*100).toFixed(0)}% \xB7 ${w.listeners} listener(s) \xB7 ${w.retained} retained`;return he!==Q.e&&H.classList.toggle("bridge-row--hot",Q.e=he),Ae!==Q.t&&tf(H,"title",Q.t=Ae),Q},{e:void 0,t:void 0}),H})()})),y}}),v),le(l,At(Za,{get when(){return a()>0},get children(){return[" ",(()=>{var y=of(),z=y.firstChild,S=z.nextSibling,w=S.nextSibling;return le(y,a,S),y})()]}}),null),le(s,At(Va,{get each(){return r().slice().reverse()},get fallback(){return df()},children:y=>(()=>{var z=cf(),S=z.firstChild,w=S.nextSibling,H=w.nextSibling,Y=H.nextSibling;return le(S,()=>y.kind),le(w,()=>y.type),le(H,()=>no(y.bytes)),le(Y,()=>y.summary),ja(()=>ef(S,`bridge-log-kind bridge-log-kind--${y.kind}`)),z})()})),b})()};import{createComponent as gf}from"solid-js/web";import{createSignal as pf,onCleanup as yf}from"solid-js";import{subscribe as bf}from"valtio/vanilla";var Na=()=>{let[e,t]=pf(ve.messages.join(`
|
|
30
|
-
`)),r=
|
|
31
|
-
`);r===0?t(a):a.length>0&&t(
|
|
32
|
-
${a}`),r=i;return}t(
|
|
33
|
-
`)),r=i});return
|
|
34
|
-
${Tr()}`)})},children:"Export Stage"}),null),t})()};import{template as dr}from"solid-js/web";import{setAttribute as Nf}from"solid-js/web";import{effect as tn}from"solid-js/web";import{createComponent as il}from"solid-js/web";import{insert as Oe}from"solid-js/web";import{createMemo as _f,For as eu,Show as tu}from"solid-js";var Wf=dr("<div class=zylem-transform-row><span class=zylem-transform-row__label>"),Xf=dr("<input class=zylem-transform-row__field type=number step=any>"),qf=dr("<section>"),Jf=dr("<div class=panel-content><div class=zylem-transform-snap><label><input type=checkbox>Snap to grid</label><label><input type=checkbox>Show grid</label></div><p class=zylem-transform-hint>Grid: <!> units, <!>\xB0, <!> scale. Hold Alt while dragging to move freely."),$f=dr("<p class=zylem-transform-empty>Select an entity to edit its transform."),ru=3,nu=["x","y","z"];function _o(e){let t=10**ru;return Math.round(e*t)/t}function al(e,t){return!me.enabled||t<=0?e:Math.round(e/t)*t}var ll=()=>{let{debug:e,stage:t}=ze(),r=_f(()=>{let a=e.selectedEntityId;return a?t.entities.find(d=>d.uuid===a)??null:null}),n=(a,d)=>{let f=r();if(!f)return 0;if(a==="rotation")return _o((f.rotation?.[d]??0)*180/Math.PI);let g=a==="scale"?1:0;return _o(f[a]?.[d]??g)},o=(a,d,f)=>{let g=r();if(!g?.uuid)return;let b=Number.parseFloat(f);if(!Number.isFinite(b))return;if(a==="rotation"){let u=me.rotate*180/Math.PI,v=al(b,u)*Math.PI/180,l={x:g.rotation?.x??0,y:g.rotation?.y??0,z:g.rotation?.z??0,[d]:v};gt(g.uuid,{rotation:l});return}let c=a==="scale"?me.scale:me.translate,p=al(b,c);if(a==="scale"){let u=p===0?c:p;gt(g.uuid,{scale:{x:g.scale?.x??1,y:g.scale?.y??1,z:g.scale?.z??1,[d]:u}});return}gt(g.uuid,{position:{x:g.position?.x??0,y:g.position?.y??0,z:g.position?.z??0,[d]:p}})},i=(a,d)=>(()=>{var f=Wf(),g=f.firstChild;return Oe(g,d),Oe(f,il(eu,{each:nu,children:b=>(()=>{var c=Xf();return c.addEventListener("change",p=>o(a,b,p.currentTarget.value)),tn(()=>Nf(c,"aria-label",`${d} ${b.toUpperCase()}`)),tn(()=>c.value=n(a,b)),c})()}),null),f})();return(()=>{var a=Jf(),d=a.firstChild,f=d.firstChild,g=f.firstChild,b=f.nextSibling,c=b.firstChild,p=d.nextSibling,u=p.firstChild,v=u.nextSibling,l=v.nextSibling,m=l.nextSibling,s=m.nextSibling,y=s.nextSibling,z=y.nextSibling;return Oe(a,il(tu,{get when(){return r()},get fallback(){return $f()},get children(){var S=qf();return Oe(S,()=>i("position","Position"),null),Oe(S,()=>i("rotation","Rotation\xB0"),null),Oe(S,()=>i("scale","Scale"),null),S}}),d),g.addEventListener("change",S=>jt(S.currentTarget.checked)),c.addEventListener("change",S=>Vt(S.currentTarget.checked)),Oe(p,()=>me.translate,v),Oe(p,()=>_o(me.rotate*180/Math.PI),m),Oe(p,()=>me.scale,y),tn(()=>g.checked=me.enabled),tn(()=>c.checked=me.gridVisible),a})()};var ei=[{id:"game-config",title:"Game",component:rl},{id:"stage-config",title:"Stage",component:ol},{id:"entities",title:"Entities",component:tl},{id:"transform",title:"Transform",component:ll},{id:"console",title:"Console",component:Na},{id:"bridge",title:"Bridge",component:Ka}],sl=e=>ei.find(t=>t.id===e),dl=e=>sl(e)?.title??e,rn=e=>{let t=sl(e);if(!t)return null;let r=t.component;return ou(r,{})};var du=iu('<div class="detached-panel floating-panel"style=pointer-events:auto><div class="detached-panel-titlebar floating-panel-titlebar"style=touch-action:none><span class=floating-panel-title></span></div><div class="detached-panel-content floating-panel-content"></div><div style=top:0;left:10px;right:10px;height:6px></div><div style=bottom:0;left:10px;right:10px;height:6px></div><div style=left:0;top:10px;bottom:10px;width:6px></div><div style=right:0;top:10px;bottom:10px;width:6px></div><div style=top:0;left:0;width:10px;height:10px></div><div style=top:0;right:0;width:10px;height:10px></div><div style=bottom:0;left:0;width:10px;height:10px></div><div style=bottom:0;right:0;width:10px;height:10px>'),fl=3,ri=250,ni=150,ul=e=>{let t=()=>h.detachedPanels[e.panelId],r=()=>He.detachedBase+h.panelZOrder.indexOf(e.panelId),n=U("panel",r),o=t()?.size??{width:350,height:300},[i,a]=ml(t()?.position??{x:100,y:100}),[d,f]=ml(o),g=!1,b=!1,c="free",p=null,u={x:0,y:0},v={x:0,y:0},l={width:0,height:0},m=0,s=!1,y,{dockedSide:z,isAutoHeight:S,showDockPreview:w,hideDockPreview:H,rememberUndockedSize:Y,getLiveSize:j,getDockPreviewRect:oe,detectDockSide:_,detectDockIndex:ge,beginDragGhost:Q,endDragGhost:he,isMoving:Ae,clampSizeToViewport:Et,beginResize:x,resizeDockThickness:I,applyDockPreview:T}=Xr({panelId:e.panelId,initialSize:o,minSize:{width:ri,height:ni},position:i,setPosition:a,size:d,setSize:f,panelRef:()=>y,onPositionCommit:E=>kr(e.panelId,E),onSizeCommit:E=>Sr(e.panelId,E)}),B=()=>{Ht(e.panelId)},$=E=>{g=!0,s=!1,H(),u={x:E.clientX,y:E.clientY},v={...i()},Ht(e.panelId),E.pointerType==="mouse"&&E.preventDefault()},V=E=>O=>{b=!0,p=E;let K=z(),{size:k,mode:D}=x(E);c=D,m=K&&Be(K)?k.width:k.height,u={x:O.clientX,y:O.clientY},v={...i()},l={...k},Ht(e.panelId),O.pointerType==="mouse"&&O.preventDefault(),O.stopPropagation()},se=E=>{if(g){let O=E.clientX-u.x,K=E.clientY-u.y;if((Math.abs(O)>fl||Math.abs(K)>fl)&&!s){s=!0,Ft(e.panelId);let k=Q(E.clientX,E.clientY);u={x:E.clientX,y:E.clientY},v={...k.position},l={...k.size},O=0,K=0}if(s){let k=v.x+O,D=v.y+K,F=j(),G=_(k,D,F.width,F.height);G?(w(G,ge(G,E.clientX,E.clientY)),We(null)):H();let Z={x:Math.max(0,Math.min(k,window.innerWidth-100)),y:Math.max(0,Math.min(D,window.innerHeight-50))};if(a(Z),!G){let N=document.querySelector(".zylem-accordion");if(N){let W=N.getBoundingClientRect();if(E.clientX>=W.left&&E.clientX<=W.right&&E.clientY>=W.top&&E.clientY<=W.bottom){let Ee=N.querySelectorAll(".accordion-item"),Pe=0;for(let R=0;R<Ee.length;R++){let je=Ee[R];if(!je)continue;let Ve=je.getBoundingClientRect(),_e=Ve.top+Ve.height/2;E.clientY>_e&&(Pe=R+1)}We(Pe)}else We(null)}}}}else if(b&&p){let O=E.clientX-u.x,K=E.clientY-u.y;if(c==="thickness"){I(m,O,K);return}let k=l.width,D=l.height,F=v.x,G=v.y;if(p.includes("e"))k=Math.max(ri,l.width+O);else if(p.includes("w")){let X=l.width-O;X>=ri&&(k=X,F=v.x+O)}if(p.includes("s"))D=Math.max(ni,l.height+K);else if(p.includes("n")){let X=l.height-K;X>=ni&&(D=X,G=v.y+K)}let Z=Et(k,D),N=Math.max(0,window.innerWidth-Z.width),W=Math.max(0,window.innerHeight-Z.height);f(Z),a({x:Math.max(0,Math.min(F,N)),y:Math.max(0,Math.min(G,W))})}},ce=()=>{if(g&&s&&!T()){let E=h.dropTargetIndex;E!==null?Ar(e.panelId,E):he()}b&&c==="free"&&(Y(d()),Sr(e.panelId,d()),kr(e.panelId,i())),g=!1,b=!1,c="free",p=null,s=!1,H(),Ot()},Ue=()=>{Ar(e.panelId)};mu(()=>{window.addEventListener("pointermove",se),window.addEventListener("pointerup",ce)}),cu(()=>{window.removeEventListener("pointermove",se),window.removeEventListener("pointerup",ce)});let ie=E=>({position:"absolute","z-index":10,cursor:E,"touch-action":"none"});return(()=>{var E=du(),O=E.firstChild,K=O.firstChild,k=O.nextSibling,D=k.nextSibling,F=D.nextSibling,G=F.nextSibling,Z=G.nextSibling,N=Z.nextSibling,W=N.nextSibling,X=W.nextSibling,Ee=X.nextSibling;E.$$pointerdown=B;var Pe=y;return typeof Pe=="function"?su(Pe,E):y=E,nn(E,cl(qr,{get rect(){return oe()},rank:()=>r()+1}),O),O.$$pointerdown=$,nn(K,()=>dl(e.panelId)),nn(O,cl(it,{onClose:Ue,closeLabel:"Dock back to panel"}),null),nn(k,()=>rn(e.panelId)),$e(D,"pointerdown",V("n"),!0),$e(F,"pointerdown",V("s"),!0),$e(G,"pointerdown",V("w"),!0),$e(Z,"pointerdown",V("e"),!0),$e(N,"pointerdown",V("nw"),!0),$e(W,"pointerdown",V("ne"),!0),$e(X,"pointerdown",V("sw"),!0),$e(Ee,"pointerdown",V("se"),!0),lu(R=>{var je={left:`${i().x}px`,top:`${i().y}px`,width:`${d().width}px`,height:S()?"auto":`${d().height}px`,"z-index":n.zIndex(),"border-radius":z()?"0":void 0,...Ae()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}},Ve=z()?"0":void 0,_e=Ae()?"hidden":void 0,L=Ae()?"hidden":void 0,dn={...ie("ns-resize")},pr={...ie("ns-resize")},yr={...ie("ew-resize")},br={...ie("ew-resize")},cn={...ie("nwse-resize")},mn={...ie("nesw-resize")},fn={...ie("nesw-resize")},un={...ie("nwse-resize")};return R.e=Ye(E,je,R.e),Ve!==R.t&&ti(O,"border-radius",R.t=Ve),_e!==R.a&&ti(O,"visibility",R.a=_e),L!==R.o&&ti(k,"visibility",R.o=L),R.i=Ye(D,dn,R.i),R.n=Ye(F,pr,R.n),R.s=Ye(G,yr,R.s),R.h=Ye(Z,br,R.h),R.r=Ye(N,cn,R.r),R.d=Ye(W,mn,R.d),R.l=Ye(X,fn,R.l),R.u=Ye(Ee,un,R.u),R},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0}),E})()};au(["pointerdown"]);import{template as Xu}from"solid-js/web";import{insert as Fl}from"solid-js/web";import{createComponent as li}from"solid-js/web";import{Show as Ju}from"solid-js";import{template as Ru}from"solid-js/web";import{insert as ye}from"solid-js/web";import{createComponent as be}from"solid-js/web";import{template as pl}from"solid-js/web";import{effect as fu}from"solid-js/web";import{insert as uu}from"solid-js/web";import{createComponent as on}from"solid-js/web";import yu from"lucide-solid/icons/plus";import{createMemo as gl,createSignal as bu,onCleanup as hu,Show as xu}from"solid-js";var gu=pl("<div class=zylem-add-tool>"),pu=pl("<span class=zylem-add-tool__glyph>"),yl=()=>{let e=()=>Ui(h.tool,Te.armedTypeId),t=gl(()=>Br(Te.entities,Te.armedTypeId,Te.lastTypeId)),r=gl(()=>ji(Te.entities)),n=()=>{let a=t();return a?`Place ${a.label}`:"Add"},[o,i]=bu(!1);return hu(Zi(()=>Te.entities.length===0?!1:(i(!0),!0))),(()=>{var a=gu();return uu(a,on(Do,{get label(){return n()},get tooltip(){return`${re(n(),"add")} \xB7 ${re("Palette","addPalette")}`},get selected(){return e()},get disabled(){return Te.entities.length===0},onAction:Kt,get open(){return o()},onOpenChange:i,menu:d=>on(Ho,{get items(){return r()},get selectedId(){return Te.armedTypeId},searchPlaceholder:"Search entities\u2026",emptyMessage:"No entity types published. Is a game running?",onSelect:f=>{Rr(f.id),d()}}),get children(){return on(xu,{get when(){return t()?.icon},get fallback(){return on(yu,{class:"zylem-icon"})},children:d=>(()=>{var f=pu();return fu(()=>f.innerHTML=d()),f})()})}})),a})()};import{createComponent as bl}from"solid-js/web";import vu from"lucide-solid/icons/bug";var hl=()=>bl(J,{get label(){return re("Debug","debug")},get selected(){return h.debug},onClick:Zt,get children(){return bl(vu,{class:"zylem-icon"})}});import{createComponent as xl}from"solid-js/web";import zu from"lucide-solid/icons/trash-2";var vl=()=>xl(J,{get label(){return re("Delete","delete")},get selected(){return h.tool==="delete"},onClick:()=>nt("delete"),get children(){return xl(zu,{class:"zylem-icon"})}});import{createComponent as an}from"solid-js/web";import wu from"lucide-solid/icons/grid-3x3";import Au from"lucide-solid/icons/magnet";var zl=()=>an(J,{get label(){return re(me.gridVisible?"Hide grid":"Show grid","grid")},get selected(){return me.gridVisible},onClick:Wt,get children(){return an(wu,{class:"zylem-icon"})}}),wl=()=>an(J,{get label(){return re(me.enabled?"Snapping on":"Snapping off","snap")},get selected(){return me.enabled},onClick:Nt,get children(){return an(Au,{class:"zylem-icon"})}});import{createComponent as ln}from"solid-js/web";import ku from"lucide-solid/icons/redo-2";import Su from"lucide-solid/icons/undo-2";var Al=e=>e[e.length-1]?.label??null,kl=()=>{let e=()=>{let t=Al(Bt.undoStack);return t?re(`Undo ${t}`,"undo"):"Nothing to undo"};return ln(J,{get label(){return e()},get disabled(){return Bt.undoStack.length===0},onClick:()=>Dt(),get children(){return ln(Su,{class:"zylem-icon"})}})},Sl=()=>{let e=()=>{let t=Al(Bt.redoStack);return t?re(`Redo ${t}`,"redo"):"Nothing to redo"};return ln(J,{get label(){return e()},get disabled(){return Bt.redoStack.length===0},onClick:()=>Mt(),get children(){return ln(ku,{class:"zylem-icon"})}})};import{createComponent as oi}from"solid-js/web";import{memo as Cu}from"solid-js/web";import Eu from"lucide-solid/icons/pause";import Pu from"lucide-solid/icons/play";var Cl=()=>oi(J,{get label(){return re(h.paused?"Play":"Pause","playback")},get selected(){return h.paused},onClick:Xt,get children(){return Cu(()=>!!h.paused)()?oi(Pu,{class:"zylem-icon"}):oi(Eu,{class:"zylem-icon"})}});import{createComponent as El}from"solid-js/web";import Iu from"lucide-solid/icons/mouse-pointer";var Pl=()=>El(J,{get label(){return re("Select","select")},get selected(){return h.tool==="select"},onClick:()=>nt("select"),get children(){return El(Iu,{class:"zylem-icon"})}});import{createComponent as dt}from"solid-js/web";import Tu from"lucide-solid/icons/move-3d";import Bu from"lucide-solid/icons/rotate-3d";import Du from"lucide-solid/icons/scale-3d";import{createMemo as Mu}from"solid-js";var ii=e=>{let{stage:t}=ze(),r=Mu(()=>Dr(h.selected,h.lastTouched,t.entities.map(n=>n.uuid).filter(n=>!!n)));return dt(J,{get label(){return re(e.label,e.tool)},get selected(){return h.tool===e.tool},get disabled(){return!r()},onClick:()=>fo(e.tool),get children(){return e.children}})},Il=()=>dt(ii,{tool:"translate",label:"Move",get children(){return dt(Tu,{class:"zylem-icon"})}}),Tl=()=>dt(ii,{tool:"rotate",label:"Rotate",get children(){return dt(Bu,{class:"zylem-icon"})}}),Bl=()=>dt(ii,{tool:"scale",label:"Scale",get children(){return dt(Du,{class:"zylem-icon"})}});var Lu=Ru("<div class=zylem-toolbar><div class=zylem-toolbar-group><span class=zylem-toolbar-transforms></span></div><span class=zylem-toolbar-divider></span><div class=zylem-toolbar-group></div><span class=zylem-toolbar-divider></span><div class=zylem-toolbar-group>"),Dl=()=>(()=>{var e=Lu(),t=e.firstChild,r=t.firstChild,n=t.nextSibling,o=n.nextSibling,i=o.nextSibling,a=i.nextSibling;return ye(t,be(hl,{}),r),ye(t,be(Pl,{}),r),ye(r,be(Il,{}),null),ye(r,be(Tl,{}),null),ye(r,be(Bl,{}),null),ye(o,be(yl,{}),null),ye(o,be(vl,{}),null),ye(a,be(wl,{}),null),ye(a,be(zl,{}),null),ye(a,be(kl,{}),null),ye(a,be(Sl,{}),null),ye(a,be(Cl,{}),null),e})();import{template as Ku}from"solid-js/web";import{createComponent as mr}from"solid-js/web";import{memo as Rl}from"solid-js/web";import{Accordion as Nu}from"@kobalte/core";import{Index as Wu,Show as Gl}from"solid-js";import{template as Gu}from"solid-js/web";import{setStyleProperty as cr}from"solid-js/web";import{effect as Hu}from"solid-js/web";import{insert as Fu}from"solid-js/web";import{memo as Ou}from"solid-js/web";import{createComponent as Ct}from"solid-js/web";import{Accordion as sn}from"@kobalte/core";import{createSignal as ai,onCleanup as Qu,onMount as Uu,Show as ju}from"solid-js";import{Portal as Vu}from"solid-js/web";var Yu=Gu(`<div class=accordion-drag-ghost style="position:fixed;pointer-events:none;display:flex;align-items:center;justify-content:space-between;background:rgba(10, 20, 30, 0.54);border:2px dotted #E64534;border-radius:12px;color:#61A6E8;font-family:'Exo 2', sans-serif;backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.5), 0 0 0 1px #E64534"><span class="accordion-trigger zylem-exo-2"style="font-family:'Exo 2', sans-serif;font-weight:400;padding:8px 12px">`),Zu=5,Ml=e=>{let t=U("panel",He.dragGhost),r,n,o=null,[i,a]=ai(!1),[d,f]=ai({x:0,y:0}),[g,b]=ai({width:0,height:0}),c={x:0,y:0},p=!1,u=()=>{let s=Object.keys(h.detachedPanels);return h.panelOrder.filter(z=>!s.includes(z)).indexOf(e.value)},v=s=>{if(s.button===0){if(p=!0,c={x:s.clientX,y:s.clientY},o=r?.closest(".floating-panel"),n){let y=n.getBoundingClientRect();b({width:y.width,height:y.height})}s.pointerType==="mouse"&&s.preventDefault()}},l=s=>{if(!p)return;let y=s.clientX-c.x,z=s.clientY-c.y;if(Math.sqrt(y*y+z*z)>Zu&&!i()&&(a(!0),Ft(e.value)),i()&&(f({x:s.clientX-g().width/2,y:s.clientY-15}),o)){let w=o.getBoundingClientRect();if(s.clientX>=w.left&&s.clientX<=w.right&&s.clientY>=w.top&&s.clientY<=w.bottom){let Y=o.querySelector(".zylem-accordion");if(Y){let j=Y.querySelectorAll(".accordion-item"),oe=0;for(let _=0;_<j.length;_++){let ge=j[_];if(!ge)continue;let Q=ge.getBoundingClientRect(),he=Q.top+Q.height/2;s.clientY>he&&(oe=_+1)}We(oe)}}else We(null)}},m=s=>{if(!p)return;let y=i();if(p=!1,a(!1),y&&o){let z=o.getBoundingClientRect();if(s.clientX<z.left||s.clientX>z.right||s.clientY<z.top||s.clientY>z.bottom)Gt(e.value,{x:s.clientX-175,y:s.clientY-20});else{let w=h.dropTargetIndex;if(w!==null){let H=u();if(w!==H&&w!==H+1){let Y=Object.keys(h.detachedPanels),oe=h.panelOrder.filter(Q=>!Y.includes(Q)).filter(Q=>Q!==e.value),_=w;w>H&&(_=w-1),oe.splice(_,0,e.value);let ge=[...oe];h.panelOrder.forEach(Q=>{Y.includes(Q)&&!ge.includes(Q)&&ge.push(Q)}),Qn(ge)}}}}Ot()};return Uu(()=>{window.addEventListener("pointermove",l),window.addEventListener("pointerup",m)}),Qu(()=>{window.removeEventListener("pointermove",l),window.removeEventListener("pointerup",m)}),[Ct(sn.Item,{ref(s){var y=r;typeof y=="function"?y(s):r=s},get value(){return e.value},get class(){return`accordion-item ${i()?"accordion-item--dragging":""}`},get children(){return[Ct(sn.Header,{ref(s){var y=n;typeof y=="function"?y(s):n=s},class:"accordion-header",onPointerDown:v,style:{"touch-action":"none"},get children(){return Ct(sn.Trigger,{class:"accordion-trigger zylem-exo-2",get children(){return e.title}})}}),Ct(sn.Content,{class:"accordion-content scrollable-y scroll-thin",get children(){return e.children}})]}}),Ct(ju,{get when(){return Ou(()=>!!i())()&&t.mount()},get children(){return Ct(Vu,{get mount(){return t.mount()},get children(){var s=Yu(),y=s.firstChild;return Fu(y,()=>e.title),Hu(z=>{var S=`${d().x}px`,w=`${d().y}px`,H=`${g().width}px`,Y=`${g().height}px`,j=t.zIndex();return S!==z.e&&cr(s,"left",z.e=S),w!==z.t&&cr(s,"top",z.t=w),H!==z.a&&cr(s,"width",z.a=H),Y!==z.o&&cr(s,"height",z.o=Y),j!==z.i&&cr(s,"z-index",z.i=j),z},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),s}})}})]};var Ll=Ku("<div class=accordion-drop-indicator>"),Hl=()=>{let e=()=>{let n=Object.keys(h.detachedPanels);return h.panelOrder.filter(o=>!n.includes(o)).map(o=>ei.find(i=>i.id===o)).filter(o=>o!==void 0)},t=()=>h.draggingPanelId!==null,r=()=>h.dropTargetIndex;return mr(Nu.Root,{multiple:!0,class:"zylem-accordion",get value(){return h.openSections},onChange:Un,get children(){return[mr(Gl,{get when(){return Rl(()=>!!t())()&&r()===0},get children(){return Ll()}}),mr(Wu,{get each(){return e()},children:(n,o)=>[mr(Ml,{get value(){return n().id},get title(){return n().title},get children(){return rn(n().id)}}),mr(Gl,{get when(){return Rl(()=>!!t())()&&r()===o+1},get children(){return Ll()}})]})]}})};var qu=Xu("<div class=zylem-menu>"),Ol=e=>(()=>{var t=qu();return Fl(t,li(Dl,{}),null),Fl(t,li(Ju,{get when(){return!e.isCollapsed()},get children(){return li(Hl,{})}}),null),t})();var _u=$u("<div style=display:flex;height:100vh;width:100vw;position:absolute;pointer-events:none><div style=flex:1>"),fr=460,ur=600,ct=20,ig=12,ag=92,lg=(e=0)=>{let t=ig,r=Math.max(300,window.innerWidth-t*2),n=Math.max(200,window.innerHeight-e-t*2),o=Math.min(fr,r),i=Math.min(ur,n),a=t,d=window.innerHeight-e-t,f=Math.round((d-a-i)/2)+a;return{initialPosition:{x:Math.max(t,Math.round((window.innerWidth-o)/2)),y:Math.max(a,f)},initialSize:{width:o,height:i}}},sg=()=>{if(h.panelPosition)return h.panelPosition;let e=h.toggleButtonPosition,t=window.innerWidth,r=window.innerHeight,n=e.x>t/2,o=e.y>r/2,i,a;return n?i=t-fr-ct:i=ct,o?a=Math.max(ct,r-ur-ct):a=ct,{x:i,y:a}},di=e=>{let[t,r]=Yl(!1),[n,o]=Yl(null),i=()=>e.launcherMode??"floating";Vn(e.defaultDocks);let a=()=>{r(l=>!l)},d=()=>r(!1),f=()=>r(!0),g=l=>{On(l)},b=()=>De(h.docks,ke),c=()=>Object.keys(h.detachedPanels),p=()=>typeof window>"u"?i()==="hidden":i()==="hidden"||window.innerWidth<fr+ct*2||window.innerHeight<ur+ct*2,u=eg(()=>{if(b()){let m=Ne(h.docks,we())[ke];if(m)return{initialPosition:{x:m.x,y:m.y},initialSize:{width:m.width,height:m.height}}}let l=typeof window>"u"||!p()?{initialPosition:sg(),initialSize:{width:fr,height:ur}}:lg(i()==="hidden"?ag:0);return{initialPosition:l.initialPosition,initialSize:h.panelSize??l.initialSize}}),v={openPanel:f,closePanel:d,togglePanel:a,isPanelOpen:t,dockPanel:(l,m=ke)=>{if(m===ke){f(),o(s=>({side:l,nonce:(s?.nonce??0)+1}));return}if(l===null){Re(m);return}Cr(m)||Gt(m,{x:100,y:100}),tt(m,l)}};return ng(()=>{e.onControllerReady?.(v)}),rg(()=>{e.onControllerReady?.(null)}),Qe(Lr,{get children(){var l=_u(),m=l.firstChild;return si(l,Qe(Ql,{get when(){return i()!=="hidden"},get children(){return Qe(Ua,{onToggle:a})}}),m),si(l,Qe(Ql,{get when(){return t()},get children(){return Qe(Ya,{title:"Zylem Editor",get initialPosition(){return u().initialPosition},get initialSize(){return u().initialSize},get floatingSize(){return h.panelSize??{width:fr,height:ur}},minSize:{width:300,height:200},collapsible:!0,onClose:d,onMove:g,onResize:Yn,dockRequest:n,children:s=>Qe(Ol,{isCollapsed:s})})}}),m),si(l,Qe(tg,{get each(){return c()},children:s=>Qe(ul,{panelId:s})}),m),l}})};if(typeof window<"u"&&!import.meta.env.VITEST){let e=document.getElementById("zylem-editor-container");e&&og(()=>Qe(di,{}),e)}var cg=e=>dg(di,{get launcherMode(){return e.launcherMode},get defaultDocks(){return e.defaultDocks},get onControllerReady(){return e.onControllerReady}}),Ul=cg;var jl=`
|
|
29
|
+
`;import{template as QS}from"solid-js/web";import{insert as US}from"solid-js/web";import{spread as NS}from"solid-js/web";import{mergeProps as KS}from"solid-js/web";import{memo as XS}from"solid-js/web";import{splitProps as JS}from"solid-js";import{template as t2}from"solid-js/web";import{delegateEvents as Tf}from"solid-js/web";import{setStyleProperty as n2}from"solid-js/web";import{className as a2}from"solid-js/web";import{effect as s2}from"solid-js/web";import{memo as c2}from"solid-js/web";import{addEventListener as f2}from"solid-js/web";import{insert as p2}from"solid-js/web";import{createComponent as y2}from"solid-js/web";import{For as h2,Show as x2,onCleanup as v2}from"solid-js";Tf(["pointerdown"]);import{template as P2}from"solid-js/web";import{insert as I2}from"solid-js/web";import{spread as B2}from"solid-js/web";import{mergeProps as M2}from"solid-js/web";import{memo as L2}from"solid-js/web";import{splitProps as H2}from"solid-js";import{createComponent as Y2}from"solid-js/web";import{memo as V2}from"solid-js/web";import j2 from"lucide-solid/icons/circle";import Z2 from"lucide-solid/icons/eraser";import W2 from"lucide-solid/icons/hand";import q2 from"lucide-solid/icons/paint-bucket";import $2 from"lucide-solid/icons/pencil";import eC from"lucide-solid/icons/pipette";import rC from"lucide-solid/icons/square";import nC from"lucide-solid/icons/square-dashed";import{Dynamic as aC}from"solid-js/web";import{template as cC}from"solid-js/web";import{delegateEvents as Bf}from"solid-js/web";import{setAttribute as uC}from"solid-js/web";import{className as gC}from"solid-js/web";import{effect as bC}from"solid-js/web";import{insert as xC}from"solid-js/web";import{createComponent as zC}from"solid-js/web";import{addEventListener as AC}from"solid-js/web";import SC from"lucide-solid/icons/plus";import{Show as PC}from"solid-js";Bf(["click"]);import{template as TC}from"solid-js/web";import{delegateEvents as Mf}from"solid-js/web";import{insert as MC}from"solid-js/web";import{createComponent as LC}from"solid-js/web";import"solid-js/web";import{setAttribute as FC}from"solid-js/web";import{style as QC}from"solid-js/web";import{className as UC}from"solid-js/web";import{effect as NC}from"solid-js/web";import{addEventListener as KC}from"solid-js/web";import{For as XC,Show as qC}from"solid-js";Mf(["click"]);import{template as eP}from"solid-js/web";import{delegateEvents as Rf}from"solid-js/web";import{className as oP}from"solid-js/web";import{addEventListener as iP}from"solid-js/web";import{setAttribute as lP}from"solid-js/web";import{effect as dP}from"solid-js/web";import{createComponent as mP}from"solid-js/web";import{insert as uP}from"solid-js/web";import{spread as gP}from"solid-js/web";import{mergeProps as bP}from"solid-js/web";import{memo as xP}from"solid-js/web";import zP from"lucide-solid/icons/arrow-left-to-line";import AP from"lucide-solid/icons/arrow-right-to-line";import SP from"lucide-solid/icons/chevron-left";import PP from"lucide-solid/icons/chevron-right";import IP from"lucide-solid/icons/copy";import BP from"lucide-solid/icons/trash-2";import{Show as MP,splitProps as RP}from"solid-js";Rf(["click"]);import{template as FP}from"solid-js/web";import{className as QP}from"solid-js/web";import{effect as UP}from"solid-js/web";import{insert as NP}from"solid-js/web";import{createComponent as KP}from"solid-js/web";import{memo as XP}from"solid-js/web";import JP from"lucide-solid/icons/fast-forward";import _P from"lucide-solid/icons/pause";import tE from"lucide-solid/icons/play";import oE from"lucide-solid/icons/repeat";import iE from"lucide-solid/icons/rewind";import{Show as lE}from"solid-js";import{template as uE}from"solid-js/web";import{delegateEvents as Of}from"solid-js/web";import{setAttribute as yE}from"solid-js/web";import{setStyleProperty as hE}from"solid-js/web";import{className as vE}from"solid-js/web";import{effect as wE}from"solid-js/web";import{insert as kE}from"solid-js/web";import{createComponent as CE}from"solid-js/web";import"solid-js/web";import{Slider as TE}from"@kobalte/core";import{For as DE,Show as ME,createMemo as RE}from"solid-js";Of(["pointerdown","click"]);import{template as OE}from"solid-js/web";import{spread as YE}from"solid-js/web";import{mergeProps as VE}from"solid-js/web";import{createComponent as jE}from"solid-js/web";import{insert as ZE}from"solid-js/web";import{memo as WE}from"solid-js/web";import{Button as qE}from"@kobalte/core";import{Show as $E,splitProps as _E}from"solid-js";import{template as oI}from"solid-js/web";import{delegateEvents as Qf}from"solid-js/web";import{memo as aI}from"solid-js/web";import{addEventListener as sI}from"solid-js/web";import{setAttribute as cI}from"solid-js/web";import{className as fI}from"solid-js/web";import{setStyleProperty as pI}from"solid-js/web";import{effect as yI}from"solid-js/web";import{createComponent as hI}from"solid-js/web";import{insert as vI}from"solid-js/web";import{use as wI}from"solid-js/web";import{createContext as Vf,createMemo as kI,createSignal as SI,For as CI,Show as PI,splitProps as EI,useContext as II}from"solid-js";var BI=Vf();Qf(["pointerdown","dblclick"]);import{template as RI}from"solid-js/web";import{delegateEvents as Uf}from"solid-js/web";import{setStyleProperty as HI}from"solid-js/web";import{className as FI}from"solid-js/web";import{memo as QI}from"solid-js/web";import{setAttribute as UI}from"solid-js/web";import{use as NI}from"solid-js/web";import{effect as KI}from"solid-js/web";import{createComponent as XI}from"solid-js/web";import{insert as JI}from"solid-js/web";import _I from"lucide-solid/icons/lock";import tT from"lucide-solid/icons/lock-open";import{createSignal as oT,Show as nT}from"solid-js";Uf(["pointerdown","input","keydown","click","dblclick"]);import{template as mT}from"solid-js/web";import{delegateEvents as Wf}from"solid-js/web";import{addEventListener as pT}from"solid-js/web";import{setAttribute as yT}from"solid-js/web";import{className as hT}from"solid-js/web";import{setStyleProperty as vT}from"solid-js/web";import{effect as wT}from"solid-js/web";import{insert as kT}from"solid-js/web";import{createComponent as CT}from"solid-js/web";import{use as ET}from"solid-js/web";import{createMemo as TT,createSignal as BT,For as DT,Index as MT,Show as RT}from"solid-js";Wf(["keydown","pointerdown","dblclick"]);import{template as FT}from"solid-js/web";import{delegateEvents as Xf}from"solid-js/web";import{setStyleProperty as VT}from"solid-js/web";import{setAttribute as jT}from"solid-js/web";import{className as ZT}from"solid-js/web";import{effect as WT}from"solid-js/web";import{createComponent as qT}from"solid-js/web";import{insert as $T}from"solid-js/web";import{createSignal as e5,Show as t5}from"solid-js";Xf(["pointerdown","keydown","dblclick"]);import{template as i5}from"solid-js/web";import{delegateEvents as Jf}from"solid-js/web";import{setStyleProperty as s5}from"solid-js/web";import{className as c5}from"solid-js/web";import{setAttribute as f5}from"solid-js/web";import{effect as p5}from"solid-js/web";import{insert as y5}from"solid-js/web";import{createComponent as h5}from"solid-js/web";import"solid-js/web";import{Slider as w5}from"@kobalte/core";import{Show as k5}from"solid-js";Jf(["pointerdown","click"]);import{template as T5}from"solid-js/web";import{delegateEvents as eu}from"solid-js/web";import{addEventListener as M5}from"solid-js/web";import{setAttribute as L5}from"solid-js/web";import{className as H5}from"solid-js/web";import{insert as F5}from"solid-js/web";import{setStyleProperty as Q5}from"solid-js/web";import{effect as U5}from"solid-js/web";import{createComponent as N5}from"solid-js/web";import{memo as K5}from"solid-js/web";import{use as X5}from"solid-js/web";import{createEffect as J5,createMemo as $5,createSignal as _5,onCleanup as eB,onMount as tB,Show as rB}from"solid-js";eu(["pointerdown"]);import{template as lB}from"solid-js/web";import{setAttribute as dB}from"solid-js/web";import{className as mB}from"solid-js/web";import{effect as uB}from"solid-js/web";import{insert as gB}from"solid-js/web";import{memo as bB}from"solid-js/web";import{createComponent as xB}from"solid-js/web";import zB from"lucide-solid/icons/square";import{Show as AB}from"solid-js";import{template as au}from"solid-js/web";import{insert as lu}from"solid-js/web";import{createComponent as Dl}from"solid-js/web";import{spread as su}from"solid-js/web";import{mergeProps as Ml}from"solid-js/web";import"solid-js/web";import{For as cu,splitProps as mu}from"solid-js";import{Dynamic as fu}from"solid-js/web";var du=au("<svg>"),uu={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function pu(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Je(e,t){return o=>{let[n,i]=mu(o,["color","size","strokeWidth","class","absoluteStrokeWidth"]),a=()=>n.size??24,l=()=>{let s=Number(n.strokeWidth??2);return n.absoluteStrokeWidth?s*24/Number(a()):s},d=()=>["zylem-icon",`zylem-icon-${pu(e)}`,n.class].filter(s=>!!s).join(" ");return(()=>{var s=du();return su(s,Ml(uu,{get width(){return a()},get height(){return a()},get stroke(){return n.color??"currentColor"},get"stroke-width"(){return l()},get class(){return d()},"aria-hidden":"true"},i),!0,!0),lu(s,Dl(cu,{each:t,children:([p,c])=>Dl(fu,Ml({component:p},c))})),s})()}}var bi=[["rect",{x:"2",y:"8",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10 4-2v8l-4-2"}],["path",{d:"m18 7 4-3m-4 13 4 3"}]],hi=[["rect",{x:"2",y:"8",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10 4-2v8l-4-2"}],["path",{d:"M18 6h4v12h-4"}]],xi=[["rect",{x:"8",y:"2",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10-2 4h8l-2-4"}],["path",{d:"M6 18v4h12v-4"}]],vi=[["rect",{x:"7",y:"9",width:"7",height:"6",rx:"1"}],["path",{d:"m14 11 3-2v6l-3-2"}],["path",{d:"M3 8a9 9 0 0 1 15-3"}],["path",{d:"M18 2v3h-3"}],["path",{d:"M21 16a9 9 0 0 1-15 3"}],["path",{d:"M6 22v-3h3"}]],zi=[["path",{d:"M11.549 11.368 2 5.855"}],["path",{d:"M11.549 19.944 11.549 17.252"}],["path",{d:"M11.549 14.06 11.549 11.368"}],["path",{d:"M11.549 19.944 2 14.431"}],["path",{d:"M2 14.431 2 5.855"}],["path",{d:"M2 5.855 6.775 3.098"}],["path",{d:"M6.775 3.098 16.324 8.611"}],["path",{d:"M11.549 11.368 16.324 8.611"}],["path",{d:"M16.324 8.611 16.324 11.151"}],["path",{d:"M13.749 18.674 11.549 19.944"}],["path",{d:"M15.887 10.899 21.192 13.962"}],["path",{d:"M11.986 17.656 17.291 20.719"}],["path",{d:"M15.887 10.899A3.901 2.252 -60 0 0 11.986 17.656"}],["path",{d:"M21.192 13.962A3.901 2.252 -60 1 1 17.291 20.719A3.901 2.252 -60 1 1 21.192 13.962Z"}]],wi=[["rect",{x:"2",y:"6",width:"16",height:"12",rx:"2"}],["path",{d:"m18 10 4-3v10l-4-3"}],["path",{d:"M6 12h4m-2-2v4"}],["path",{d:"M14 10h.01M14 14h.01"}]];var Ai=Je("Perspective",bi),ki=Je("SideviewPerspective",hi),Si=Je("TopDownPerspective",xi),Ci=Je("IsometricPerspective",zi),Pi=Je("FreePerspective",vi),Ei=Je("GameCamera",wi);import{createMemo as ld,createSignal as Lo,For as Iy,onCleanup as Ty,onMount as By,Show as ta}from"solid-js";import{render as Dy}from"solid-js/web";import{template as pe}from"solid-js/web";import{delegateEvents as Gu}from"solid-js/web";import{style as _e}from"solid-js/web";import{addEventListener as st}from"solid-js/web";import{setStyleProperty as Ot}from"solid-js/web";import{use as Nl}from"solid-js/web";import"solid-js/web";import{createComponent as dt}from"solid-js/web";import{setAttribute as Mi}from"solid-js/web";import{effect as Ae}from"solid-js/web";import{insert as ke}from"solid-js/web";import{createEffect as $u,createSignal as Ri,onCleanup as Zl,onMount as _u,Show as Cr}from"solid-js";import{template as Bi}from"solid-js/web";import{delegateEvents as yu}from"solid-js/web";import{setAttribute as bo}from"solid-js/web";import{setStyleProperty as Ar}from"solid-js/web";import{effect as Ii}from"solid-js/web";import{memo as bu}from"solid-js/web";import{insert as ho}from"solid-js/web";import{createComponent as kr}from"solid-js/web";import{use as Ti}from"solid-js/web";import{PanelBottom as zu,PanelLeft as wu,PanelRight as Hl,PanelTop as Au}from"lucide-solid";import{createEffect as ku,createSignal as Rl,For as Su,onCleanup as Cu,Show as Pu}from"solid-js";import{Dynamic as Ll,Portal as Eu}from"solid-js/web";var hu=Bi('<div role=menu aria-label="Dock panel to edge"style="position:fixed;display:flex;gap:6px;padding:6px;border-radius:6px;border:1px solid rgba(255, 255, 255, 0.25);background:rgba(10, 20, 30, 0.92);box-shadow:0 4px 14px rgba(0, 0, 0, 0.45);pointer-events:auto">'),xu=Bi('<div style=display:inline-flex><button type=button class=floating-panel-button title="Dock panel"aria-label="Dock panel"aria-haspopup=true data-testid=dock-menu-trigger>'),vu=Bi("<button type=button role=menuitem class=floating-panel-button>"),Gl=[{side:"left",label:"Dock to left",icon:wu},{side:"top",label:"Dock to top",icon:Au},{side:"bottom",label:"Dock to bottom",icon:zu},{side:"right",label:"Dock to right",icon:Hl}],Ol=e=>{let[t,r]=Rl(!1),[o,n]=Rl({top:0,right:0}),i=K("menu"),a,l,d,s=g=>{a=g,i.anchorRef(g)},p=()=>Gl.find(g=>g.side===e.dockedSide())?.icon??Hl,c=()=>{if(!l)return;let g=l.getBoundingClientRect();n({top:g.bottom+6,right:Math.max(0,window.innerWidth-g.right)})},u=()=>{t()||c(),r(!t())};return ku(()=>{if(!t())return;let g=h=>{let v=h.composedPath();a&&v.includes(a)||d&&v.includes(d)||r(!1)},P=h=>{h.key==="Escape"&&r(!1)};document.addEventListener("pointerdown",g),document.addEventListener("keydown",P),window.addEventListener("resize",c),Cu(()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",P),window.removeEventListener("resize",c)})}),(()=>{var g=xu(),P=g.firstChild;g.$$pointerdown=v=>v.stopPropagation(),Ti(s,g),P.$$click=u;var h=l;return typeof h=="function"?Ti(h,P):l=P,ho(P,kr(Ll,{get component(){return p()},size:12})),ho(g,kr(Pu,{get when(){return bu(()=>!!t())()&&i.mount()},get children(){return kr(Eu,{get mount(){return i.mount()},get children(){var v=hu();v.$$pointerdown=b=>b.stopPropagation();var m=d;return typeof m=="function"?Ti(m,v):d=v,ho(v,kr(Su,{each:Gl,children:b=>{let z=()=>e.dockedSide()===b.side;return(()=>{var k=vu();return k.$$click=()=>{e.onDock(b.side),r(!1)},ho(k,kr(Ll,{get component(){return b.icon},size:12})),Ii(x=>{var E=b.label,H=b.label,Y=`dock-menu-${b.side}`,V=z()?"var(--zylem-color-primary, #61a6e8)":void 0,$=z()?"rgba(97, 166, 232, 0.4)":void 0;return E!==x.e&&bo(k,"title",x.e=E),H!==x.t&&bo(k,"aria-label",x.t=H),Y!==x.a&&bo(k,"data-testid",x.a=Y),V!==x.o&&Ar(k,"border-color",x.o=V),$!==x.i&&Ar(k,"background",x.i=$),x},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),k})()}})),Ii(b=>{var z=`${o().top}px`,k=`${o().right}px`,x=i.zIndex();return z!==b.e&&Ar(v,"top",b.e=z),k!==b.t&&Ar(v,"right",b.t=k),x!==b.a&&Ar(v,"z-index",b.a=x),b},{e:void 0,t:void 0,a:void 0}),v}})}}),null),Ii(()=>bo(P,"aria-expanded",t())),g})()};yu(["pointerdown","click"]);var $e={toggleButton:1,mainPanel:2,detachedBase:3,mainDockPreview:4,dragGhost:900};import{template as Bu}from"solid-js/web";import{setStyleProperty as Sr}from"solid-js/web";import{effect as Du}from"solid-js/web";import{createComponent as Di}from"solid-js/web";import{createEffect as Yl,createMemo as Ql,createSignal as xo,Show as Vl,untrack as Ul}from"solid-js";import{Portal as Ru}from"solid-js/web";import{createSignal as Iu}from"solid-js";var Fl=()=>typeof window>"u"?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight},[Te,Tu]=Iu(Fl(),{equals:(e,t)=>e.width===t.width&&e.height===t.height});if(typeof window<"u"){let e;window.addEventListener("resize",()=>{e!==void 0&&cancelAnimationFrame(e),e=requestAnimationFrame(()=>{e=void 0,Tu(Fl())})})}var Mu=Bu('<div style="position:fixed;pointer-events:none;box-sizing:border-box;border:2px dashed var(--zylem-color-primary);background:rgba(10, 20, 30, 0.2);border-radius:0">'),Lu=24,jl={width:320,height:240};function vo(e){let[t,r]=xo({width:e.initialSize.width,height:e.initialSize.height}),[o,n]=xo({visible:!1,side:null,index:0}),i=Ql(()=>we(f.docks,e.panelId)),a=()=>i()!==null,l=Ql(()=>i()?Ke(f.docks,Te(),{minSlotExtent:0})[e.panelId]??null:null);Yl(()=>{let A=l();A&&Ul(()=>{let M=e.position(),L=e.size();(M.x!==A.x||M.y!==A.y)&&e.setPosition({x:A.x,y:A.y}),(L.width!==A.width||L.height!==A.height)&&e.setSize({width:A.width,height:A.height})})});let[d,s]=xo(!0),p=()=>!a()&&d(),[c,u]=xo(!1),g=!0,P=(A,M)=>{n({visible:!0,side:A,index:M})},h=()=>{n({visible:!1,side:null,index:0})},v=A=>{r({width:A.width,height:A.height})},m=()=>{let A=e.panelRef();if(A){let M=A.getBoundingClientRect();return{width:M.width,height:M.height}}return e.size()},b=()=>{let A=o();return!A.visible||!A.side?null:un(f.docks,e.panelId,A.side,A.index,Te())},z=(A,M)=>{let L=Te(),G=Math.max(1,L.width),U=Math.max(1,L.height),W=Math.min(e.minSize.width,G),ce=Math.min(e.minSize.height,U);return{width:Math.min(G,Math.max(W,A)),height:Math.min(U,Math.max(ce,M))}},k=(A,M,L,G)=>{let U=Te(),W=z(L,G),ce=Math.max(0,U.width-W.width),me=Math.max(0,U.height-W.height);return{position:{x:Math.max(0,Math.min(A,ce)),y:Math.max(0,Math.min(M,me))},size:W}},x=(A,M,L,G)=>{let U=Te(),ce=[{side:"left",amount:Math.max(0,-A)},{side:"right",amount:Math.max(0,A+L-U.width)},{side:"top",amount:Math.max(0,-M)},{side:"bottom",amount:Math.max(0,M+G-U.height)}].reduce((me,rt)=>rt.amount>me.amount?rt:me);return ce.amount>=Lu?ce.side:null},E=(A,M,L)=>fn(f.docks,A,{x:M,y:L},Te(),e.panelId),H=(A,M)=>{let L=e.position(),G=m();a()?g=!0:(v(G),g=d());let U=z(jl.width,jl.height),W=G.width>0?Math.max(0,Math.min(1,(A-L.x)/G.width)):0,ce=G.height>0?Math.max(0,Math.min(1,(M-L.y)/G.height)):0,me=k(A-U.width*W,M-U.height*ce,U.width,U.height);return We(e.panelId),e.setSize(me.size),e.setPosition(me.position),s(!1),u(!0),h(),me},Y=()=>{let A=t(),M=z(A.width,A.height),L=e.position(),G=k(L.x,L.y,M.width,M.height);return e.setSize(G.size),e.setPosition(G.position),s(g),u(!1),e.onSizeCommit?.(G.size),e.onPositionCommit?.(G.position),G},V=A=>{h();let M=i();if(M&&A&&A===dn(M)){let G=m();return e.setSize(G),s(!1),{size:G,mode:"thickness"}}M&&We(e.panelId);let L=m();return e.setSize(L),s(!1),{size:L,mode:"free"}},$=(A,M,L)=>{let G=i();if(!G)return;let U=Qe(G),W=U?M:L,ce=G==="left"||G==="top"?W:-W,me=U?e.minSize.width:e.minSize.height,rt=mn(f.docks,G,A+ce,Te(),me);nr(G,rt)},ge=()=>{We(e.panelId)},oe=()=>{let A=o();return!A.visible||!A.side?null:(a()||v(e.size()),ut(e.panelId,A.side,A.index),s(!1),u(!1),h(),{side:A.side,index:A.index})},Me=()=>{let A=t(),M=z(A.width,A.height),L=e.position(),G=k(L.x,L.y,M.width,M.height);return We(e.panelId),e.setSize(G.size),e.setPosition(G.position),s(!0),e.onSizeCommit?.(G.size),e.onPositionCommit?.(G.position),G},Fe=A=>{if(A===null){a()&&Me();return}a()||v(e.size()),ut(e.panelId,A),s(!1)},Nt=()=>{if(a())return;let A=e.position(),M=p()?m():e.size(),L=k(A.x,A.y,M.width,M.height);(M.width!==L.size.width||M.height!==L.size.height)&&(e.setSize(L.size),e.onSizeCommit?.(L.size)),(A.x!==L.position.x||A.y!==L.position.y)&&(e.setPosition(L.position),e.onPositionCommit?.(L.position))};return Yl(()=>{Te(),Ul(Nt)}),{dockedSide:i,dockRect:l,isAutoHeight:p,setIsAutoHeight:s,showDockPreview:P,hideDockPreview:h,rememberUndockedSize:v,getLiveSize:m,getDockPreviewRect:b,detectDockSide:x,detectDockIndex:E,beginDragGhost:H,endDragGhost:Y,isMoving:c,clampSizeToViewport:z,fitPanelToViewport:k,beginResize:V,resizeDockThickness:$,clearDockedSide:ge,applyDockPreview:oe,restoreUndockedPanel:Me,dockTo:Fe}}var zo=e=>{let t=K("panel",e.rank);return Di(Vl,{get when(){return e.rect},children:r=>Di(Vl,{get when(){return t.mount()},keyed:!0,children:o=>Di(Ru,{mount:o,get children(){var n=Mu();return Du(i=>{var a=`${r().x}px`,l=`${r().y}px`,d=`${r().width}px`,s=`${r().height}px`,p=t.zIndex();return a!==i.e&&Sr(n,"left",i.e=a),l!==i.t&&Sr(n,"top",i.t=l),d!==i.a&&Sr(n,"width",i.a=d),s!==i.o&&Sr(n,"height",i.o=s),p!==i.i&&Sr(n,"z-index",i.i=p),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),n}})})})};var Hu=pe("<button type=button class=zylem-window-control data-testid=restore-sibling style=white-space:nowrap;width:auto>"),Ou=pe("<div class=floating-panel-controls data-no-drag>"),Fu=pe("<div class=zylem-chrome-inline>"),Yu=pe("<div style=top:0;left:10px;right:10px;height:6px>"),Qu=pe("<div style=bottom:0;left:10px;right:10px;height:6px>"),Vu=pe("<div style=left:0;top:10px;bottom:10px;width:6px>"),Uu=pe("<div style=right:0;top:10px;bottom:10px;width:6px>"),ju=pe("<div style=top:0;left:0;width:10px;height:10px>"),Nu=pe("<div style=top:0;right:0;width:10px;height:10px>"),Zu=pe("<div style=bottom:0;left:0;width:10px;height:10px>"),Ku=pe("<div style=bottom:0;right:0;width:10px;height:10px>"),Wu=pe("<section class=floating-panel style=position:fixed;display:flex;flex-direction:column;pointer-events:auto>"),Xu=pe("<span class=floating-panel-title>"),qu=pe("<div class=floating-panel-titlebar style=cursor:grab;display:flex;align-items:center;user-select:none;touch-action:none>"),Ju=pe("<div class=floating-panel-content style=flex:1;overflow:hidden;display:flex;flex-direction:column>"),Kl=3,Li=e=>{let t=K("panel",$e.mainPanel),r=e.panelId??Ie,o=e.minSize??{width:300,height:200},n=e.initialSize??{width:460,height:600},i=()=>e.chrome??"bar",[a,l]=Ri(e.initialPosition??{x:50,y:50}),[d,s]=Ri(n),[p,c]=Ri(!1),u=()=>e.collapsed??p(),g=()=>{let S=!u();e.onCollapsedChange?.(S),e.collapsed===void 0&&c(S)},P=!1,h=!1,v="free",m=null,b={x:0,y:0},z={x:0,y:0},k={width:0,height:0},x=0,E=!1,H,Y,{dockedSide:V,isAutoHeight:$,showDockPreview:ge,hideDockPreview:oe,rememberUndockedSize:Me,getLiveSize:Fe,getDockPreviewRect:Nt,detectDockSide:A,detectDockIndex:M,beginDragGhost:L,endDragGhost:G,isMoving:U,clampSizeToViewport:W,beginResize:ce,resizeDockThickness:me,applyDockPreview:rt,dockTo:Re}=vo({panelId:r,initialSize:e.floatingSize??n,minSize:o,position:a,setPosition:l,size:d,setSize:s,panelRef:()=>H,onPositionCommit:S=>e.onMove?.(S),onSizeCommit:S=>e.onResize?.(S)});$u(()=>{let S=e.dockRequest?.();!S||S.panelId&&S.panelId!==r||Re(S.side)});let D=(S,w,y,C)=>({x:Math.max(-y+50,Math.min(S,window.innerWidth-50)),y:Math.max(0,Math.min(w,window.innerHeight-50))}),Z=(S,w)=>W(S,w),se=S=>{let w=S.target;w instanceof Element&&w.closest("button, a, input, textarea, select, [data-no-drag]")||(P=!0,E=!1,oe(),b={x:S.clientX,y:S.clientY},z={...a()},S.pointerType==="mouse"&&S.preventDefault())},j=S=>w=>{h=!0,m=S;let y=V(),{size:C,mode:O}=ce(S);v=O,x=y&&Qe(y)?C.width:C.height,b={x:w.clientX,y:w.clientY},z={...a()},k={...C},w.pointerType==="mouse"&&w.preventDefault(),w.stopPropagation()},fe=S=>{if(P){let w=S.clientX-b.x,y=S.clientY-b.y;if((Math.abs(w)>Kl||Math.abs(y)>Kl)&&!E){E=!0;let C=L(S.clientX,S.clientY);b={x:S.clientX,y:S.clientY},z={...C.position},k={...C.size},w=0,y=0}if(E){let C=z.x+w,O=z.y+y,_=Fe(),ee=A(C,O,_.width,_.height);ee?ge(ee,M(ee,S.clientX,S.clientY)):oe();let Pe=D(C,O,_.width,_.height);l(Pe)}}else if(h&&m){let w=S.clientX-b.x,y=S.clientY-b.y;if(v==="thickness"){me(x,w,y);return}let C=k.width,O=k.height,_=z.x,ee=z.y;m.includes("e")?C=k.width+w:m.includes("w")&&(C=k.width-w,_=z.x+w),m.includes("s")?O=k.height+y:m.includes("n")&&(O=k.height-y,ee=z.y+y);let Pe=Z(C,O);m.includes("w")&&Pe.width===o.width&&(_=z.x+k.width-o.width),m.includes("n")&&Pe.height===o.height&&(ee=z.y+k.height-o.height),s(Pe),l(D(_,ee,Pe.width,Pe.height))}},Se=()=>{P&&E&&(rt()||G()),h&&v==="free"&&(Me(d()),e.onResize?.(d())),P=!1,h=!1,v="free",m=null,E=!1,oe()};_u(()=>{if(window.addEventListener("pointermove",fe),window.addEventListener("pointerup",Se),!e.fitDockThickness)return;let S=()=>{let y=Y;if(!y||U())return;let C=V();if(!C)return;let O=f.docks[C].panels;if(O.length!==1||O[0]!==r)return;let _=Qe(C)?y.offsetWidth:y.offsetHeight,ee=Math.round(_);ee>0&&ee!==f.docks[C].thickness&&nr(C,ee)},w=new ResizeObserver(S);Y&&w.observe(Y),S(),Zl(()=>w.disconnect())}),Zl(()=>{window.removeEventListener("pointermove",fe),window.removeEventListener("pointerup",Se)});let ye=()=>!U()&&!!e.hugContent&&!V(),Le=()=>!U()&&(ye()||u()&&!e.fitDockThickness||$()&&!V()),Ce=()=>{let S=V();return S==="left"||S==="right"},xe=()=>typeof e.children=="function"?e.children({isCollapsed:u,dockedSide:V}):e.children,ve=()=>(()=>{var S=Ou();return ke(S,dt(Cr,{get when(){return e.onRestoreSibling!==void 0},get children(){var w=Hu();return w.$$click=()=>e.onRestoreSibling?.(),ke(w,()=>e.restoreSiblingLabel),Ae(y=>{var C=e.restoreSiblingLabel,O=e.restoreSiblingLabel;return C!==y.e&&Mi(w,"aria-label",y.e=C),O!==y.t&&Mi(w,"title",y.t=O),y},{e:void 0,t:void 0}),w}}),null),ke(S,dt(Ol,{dockedSide:V,onDock:w=>Re(w)}),null),ke(S,dt(bt,{get collapsed(){return u()},get onCollapse(){return e.collapsible?g:void 0},get onClose(){return e.onClose},closeTestId:"floating-panel-close"}),null),S})(),be=S=>({position:"absolute","z-index":10,cursor:S,"touch-action":"none"});return(()=>{var S=Wu(),w=H;return typeof w=="function"?Nl(w,S):H=S,ke(S,dt(zo,{get rect(){return Nt()},get rank(){return $e.mainDockPreview}}),null),ke(S,dt(Cr,{get when(){return i()==="inline"},get fallback(){return[(()=>{var y=qu();return y.$$pointerdown=se,ke(y,dt(Cr,{get when(){return!e.hideTitle},get children(){var C=Xu();return ke(C,()=>e.title??"Panel"),C}}),null),ke(y,ve,null),Ae(C=>{var O=e.hideTitle?"flex-start":"space-between",_=V()?"0":void 0,ee=U()?"hidden":void 0;return O!==C.e&&Ot(y,"justify-content",C.e=O),_!==C.t&&Ot(y,"border-radius",C.t=_),ee!==C.a&&Ot(y,"visibility",C.a=ee),C},{e:void 0,t:void 0,a:void 0}),y})(),(()=>{var y=Ju();return ke(y,xe),Ae(C=>Ot(y,"visibility",U()?"hidden":void 0)),y})()]},get children(){var y=Fu();y.$$pointerdown=se;var C=Y;return typeof C=="function"?Nl(C,y):Y=y,ke(y,dt(Cr,{get when(){return!u()},get children(){return xe()}}),null),ke(y,ve,null),Ae(O=>{var _=!!Ce(),ee=!Ce()&&V()?"100%":"max-content",Pe=U()?"hidden":void 0;return _!==O.e&&y.classList.toggle("zylem-chrome-inline--column",O.e=_),ee!==O.t&&Ot(y,"width",O.t=ee),Pe!==O.a&&Ot(y,"visibility",O.a=Pe),O},{e:void 0,t:void 0,a:void 0}),y}}),null),ke(S,dt(Cr,{get when(){return e.resizable!==!1},get children(){return[(()=>{var y=Yu();return st(y,"pointerdown",j("n"),!0),Ae(C=>_e(y,{...be("ns-resize")},C)),y})(),(()=>{var y=Qu();return st(y,"pointerdown",j("s"),!0),Ae(C=>_e(y,{...be("ns-resize")},C)),y})(),(()=>{var y=Vu();return st(y,"pointerdown",j("w"),!0),Ae(C=>_e(y,{...be("ew-resize")},C)),y})(),(()=>{var y=Uu();return st(y,"pointerdown",j("e"),!0),Ae(C=>_e(y,{...be("ew-resize")},C)),y})(),(()=>{var y=ju();return st(y,"pointerdown",j("nw"),!0),Ae(C=>_e(y,{...be("nwse-resize")},C)),y})(),(()=>{var y=Nu();return st(y,"pointerdown",j("ne"),!0),Ae(C=>_e(y,{...be("nesw-resize")},C)),y})(),(()=>{var y=Zu();return st(y,"pointerdown",j("sw"),!0),Ae(C=>_e(y,{...be("nesw-resize")},C)),y})(),(()=>{var y=Ku();return st(y,"pointerdown",j("se"),!0),Ae(C=>_e(y,{...be("nwse-resize")},C)),y})()]}}),null),Ae(y=>{var C=e.label??e.title??"Panel",O={left:`${a().x}px`,top:`${a().y}px`,width:ye()?"auto":`${d().width}px`,height:Le()?"auto":`${d().height}px`,"z-index":t.zIndex(),"border-radius":V()?"0":void 0,...U()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}};return C!==y.e&&Mi(S,"aria-label",y.e=C),y.t=_e(S,O,y.t),y},{e:void 0,t:void 0}),S})()};Gu(["click","pointerdown"]);import{template as ep}from"solid-js/web";import{delegateEvents as tp}from"solid-js/web";import{setStyleProperty as Gi}from"solid-js/web";import{effect as rp}from"solid-js/web";import{createSignal as np,onCleanup as ip,onMount as ap}from"solid-js";var op=ep("<div style=position:fixed;cursor:grab;touch-action:none;pointer-events:auto><button id=zylem-editor-toggle type=button>"),wo=50,Wl=5,Ue=96,Ft=20,Xl=e=>{let t=K("panel",$e.toggleButton),[r,o]=np({x:0,y:0}),n,i=!1,a={x:0,y:0},l={x:0,y:0},d=!1,s=(h,v)=>{let m=window.innerWidth,b=window.innerHeight,z=h,k=v;return h<wo?z=Ft:h>m-Ue-wo&&(z=m-Ue-Ft),v<wo?k=Ft:v>b-Ue-wo&&(k=b-Ue-Ft),{x:z,y:k}},p=(h,v)=>{let m=Math.max(0,window.innerWidth-Ue),b=Math.max(0,window.innerHeight-Ue);return{x:Math.max(0,Math.min(h,m)),y:Math.max(0,Math.min(v,b))}},c=h=>{i=!0,d=!1,a={x:h.clientX,y:h.clientY},l={...r()},h.pointerType==="mouse"&&h.preventDefault()},u=h=>{if(!i)return;let v=h.clientX-a.x,m=h.clientY-a.y;if((Math.abs(v)>Wl||Math.abs(m)>Wl)&&(d=!0),d){let b=l.x+v,z=l.y+m,k=window.innerWidth,x=window.innerHeight,E=Math.max(0,Math.min(b,k-Ue)),H=Math.max(0,Math.min(z,x-Ue));o({x:E,y:H})}},g=()=>{if(i){if(d){let h=r(),v=s(h.x,h.y);o(v),tr(v)}else e.onToggle();i=!1,d=!1}},P=()=>{n!==void 0&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{let h=r(),v=p(h.x,h.y);(v.x!==h.x||v.y!==h.y)&&(o(v),tr(v)),n=void 0})};return ap(()=>{let h=p(window.innerWidth-Ue-Ft,window.innerHeight-Ue-Ft);o(h),tr(h),window.addEventListener("pointermove",u),window.addEventListener("pointerup",g),window.addEventListener("resize",P)}),ip(()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",g),window.removeEventListener("resize",P),n!==void 0&&cancelAnimationFrame(n)}),(()=>{var h=op(),v=h.firstChild;return v.$$pointerdown=c,rp(m=>{var b=`${r().x}px`,z=`${r().y}px`,k=t.zIndex();return b!==m.e&&Gi(h,"left",m.e=b),z!==m.t&&Gi(h,"top",m.t=z),k!==m.a&&Gi(h,"z-index",m.a=k),m},{e:void 0,t:void 0,a:void 0}),h})()};tp(["pointerdown"]);import{template as zg}from"solid-js/web";import{delegateEvents as wg}from"solid-js/web";import{setStyleProperty as Zi}from"solid-js/web";import{style as tt}from"solid-js/web";import{effect as Ag}from"solid-js/web";import{addEventListener as mt}from"solid-js/web";import{insert as Eo}from"solid-js/web";import{createComponent as zs}from"solid-js/web";import{use as kg}from"solid-js/web";import{createSignal as ws,onCleanup as Cg,onMount as Pg}from"solid-js";import{createComponent as vg}from"solid-js/web";import{template as vt}from"solid-js/web";import{className as lp}from"solid-js/web";import{setAttribute as sp}from"solid-js/web";import{effect as ql}from"solid-js/web";import{insert as le}from"solid-js/web";import{createComponent as Yt}from"solid-js/web";import{memo as dp}from"solid-js/web";import{createSignal as Ao,For as Jl,onCleanup as bp,onMount as hp,Show as $l}from"solid-js";import{subscribe as xp}from"valtio/vanilla";var cp=vt("<section class=zylem-section><h4 class=zylem-section-title>Message types</h4><div class=zylem-property-list>"),mp=vt("<span class=zylem-property-value>(<!> older dropped)"),fp=vt('<div class=panel-content><section class=zylem-toolbar><span class=zylem-property-value> msg/s</span></section><section class=zylem-section><h4 class=zylem-section-title>Recent messages</h4><div class="bridge-log scrollable-y scroll-thin">'),up=vt("<p class=zylem-property-value>No bridge traffic recorded yet."),pp=vt("<div class=zylem-property-row><span class=zylem-property-label></span><span class=zylem-property-value> \xB7 <!>/s \xB7 "),gp=vt("<p class=zylem-property-value>Waiting for messages\u2026"),yp=vt("<div class=bridge-log-row><span></span><span class=bridge-log-type></span><span class=bridge-log-meta></span><span class=bridge-log-summary>"),_l=()=>{let[e,t]=Ao([]),[r,o]=Ao([]),[n,i]=Ao(re.paused),[a,l]=Ao(0);hp(()=>{Bn();let p=xp(re,()=>{t([...re.stats]),o([...re.entries]),i(re.paused),l(re.dropped)});bp(()=>{p(),sr()})});let d=()=>Dn(!re.paused),s=()=>e().reduce((p,c)=>p+c.rate,0);return(()=>{var p=fp(),c=p.firstChild,u=c.firstChild,g=u.firstChild,P=c.nextSibling,h=P.firstChild,v=h.firstChild,m=h.nextSibling;return le(c,Yt(de,{size:"sm",onClick:d,get children(){return n()?"Resume":"Pause"}}),u),le(c,Yt(de,{size:"sm",onClick:Mn,children:"Clear"}),u),le(u,()=>s().toFixed(0),g),le(p,Yt($l,{get when(){return e().length>0},get fallback(){return up()},get children(){var b=cp(),z=b.firstChild,k=z.nextSibling;return le(k,Yt(Jl,{get each(){return e()},children:x=>(()=>{var E=pp(),H=E.firstChild,Y=H.nextSibling,V=Y.firstChild,$=V.nextSibling,ge=$.nextSibling;return le(H,()=>x.type),le(Y,()=>x.sent,V),le(Y,()=>x.rate.toFixed(0),$),le(Y,()=>Rn(x.bytes),null),le(Y,(()=>{var oe=dp(()=>x.retained>0);return()=>oe()?` \xB7 ${x.retained} kept`:""})(),null),ql(oe=>{var Me=x.rate>Ma,Fe=`sent ${x.sent} \xB7 queued ${x.queued} \xB7 delivered ${x.delivered} \xB7 coalesced ${(x.coalesced*100).toFixed(0)}% \xB7 ${x.listeners} listener(s) \xB7 ${x.retained} retained`;return Me!==oe.e&&E.classList.toggle("bridge-row--hot",oe.e=Me),Fe!==oe.t&&sp(E,"title",oe.t=Fe),oe},{e:void 0,t:void 0}),E})()})),b}}),P),le(h,Yt($l,{get when(){return a()>0},get children(){return[" ",(()=>{var b=mp(),z=b.firstChild,k=z.nextSibling,x=k.nextSibling;return le(b,a,k),b})()]}}),null),le(m,Yt(Jl,{get each(){return r().slice().reverse()},get fallback(){return gp()},children:b=>(()=>{var z=yp(),k=z.firstChild,x=k.nextSibling,E=x.nextSibling,H=E.nextSibling;return le(k,()=>b.kind),le(x,()=>b.type),le(E,()=>Rn(b.bytes)),le(H,()=>b.summary),ql(()=>lp(k,`bridge-log-kind bridge-log-kind--${b.kind}`)),z})()})),p})()};import{createComponent as vp}from"solid-js/web";import{createSignal as zp,onCleanup as wp}from"solid-js";import{subscribe as Ap}from"valtio/vanilla";var es=()=>{let[e,t]=zp(He.messages.join(`
|
|
30
|
+
`)),r=He.messages.length,o=Ap(He,()=>{let n=He.messages,i=n.length;if(i===0){r!==0&&t(""),r=0;return}if(i>r){let a=n.slice(r).join(`
|
|
31
|
+
`);r===0?t(a):a.length>0&&t(l=>`${l}
|
|
32
|
+
${a}`),r=i;return}t(n.join(`
|
|
33
|
+
`)),r=i});return wp(()=>{o()}),vp(ai,{get value(){return e()},onInput:t,onClear:sn})};import{template as ls}from"solid-js/web";import{delegateEvents as Fp}from"solid-js/web";import{setAttribute as Yp}from"solid-js/web";import{effect as Qp}from"solid-js/web";import"solid-js/web";import{createComponent as as}from"solid-js/web";import{insert as Fi}from"solid-js/web";import{For as jp}from"solid-js";import{template as Pr}from"solid-js/web";import{setAttribute as ko}from"solid-js/web";import{effect as os}from"solid-js/web";import{insert as Qt}from"solid-js/web";import{createComponent as Hi}from"solid-js/web";import{Show as ns}from"solid-js";import{createComponent as kp}from"solid-js/web";import"solid-js/web";import ts from"lucide-solid/icons/box";import Sp from"lucide-solid/icons/ghost";import Cp from"lucide-solid/icons/globe";import Pp from"lucide-solid/icons/grid-3x3";import Ep from"lucide-solid/icons/person-standing";import Ip from"lucide-solid/icons/square";import Tp from"lucide-solid/icons/square-dashed";import Bp from"lucide-solid/icons/torus";import Dp from"lucide-solid/icons/type";var Mp={Box:ts,Sphere:Cp,Disk:Bp,Sprite:Sp,Actor:Ep,Text:Dp,Rect:Ip,Plane:Pp,Zone:Tp},rs=e=>{let t=Mp[e.type]??ts;return kp(t,{get class(){return e.class??"entity-icon"}})};var Rp=Pr('<div class="entity-ruler entity-ruler-bottom"aria-hidden=true><span class=entity-ruler-ticks></span><span class=entity-ruler-label>'),Lp=Pr('<div class="entity-ruler entity-ruler-side"aria-hidden=true><span class=entity-ruler-ticks></span><span class=entity-ruler-label>'),Gp=Pr("<span class=entity-ruler-depth>d "),Hp=Pr("<div class=entity-thumbnail><div class=entity-thumbnail-frame><span class=entity-grid-name>"),Op=Pr("<img class=entity-thumbnail-image>");function Oi(e){return Number.isFinite(e)?e>=10?e.toFixed(0):e>=1?e.toFixed(1):e.toFixed(2):"\u2014"}var is=e=>{let t=()=>Oi(e.bounds?.width??0),r=()=>Oi(e.bounds?.height??0),o=()=>Oi(e.bounds?.depth??0),n=()=>!!e.bounds,i=()=>e.name??e.type;return(()=>{var a=Hp(),l=a.firstChild,d=l.firstChild;return Qt(l,Hi(ns,{get when(){return e.thumbnail},get fallback(){return Hi(rs,{get type(){return e.type},class:"entity-icon"})},children:s=>(()=>{var p=Op();return ko(p,"draggable",!1),os(c=>{var u=s(),g=e.name??e.type;return u!==c.e&&ko(p,"src",c.e=u),g!==c.t&&ko(p,"alt",c.t=g),c},{e:void 0,t:void 0}),p})()}),d),Qt(d,i),Qt(l,Hi(ns,{get when(){return n()},get children(){return[(()=>{var s=Rp(),p=s.firstChild,c=p.nextSibling;return Qt(c,t),s})(),(()=>{var s=Lp(),p=s.firstChild,c=p.nextSibling;return Qt(c,r),s})(),(()=>{var s=Gp(),p=s.firstChild;return Qt(s,o,null),s})()]}}),null),os(()=>ko(a,"title",e.name)),a})()};var Vp=ls("<div class=panel-content><section class=zylem-section><h4 class=zylem-section-title>Entities (<!>)</h4><div class=entity-grid>"),Up=ls("<button class=entity-grid-item type=button>");function Np(e){e.uuid&&(he(`Entity: ${JSON.stringify(e,null,2)}`),Wt(e.uuid),Et(e.uuid),Or(e.uuid),B("debug",!0))}var ss=()=>{let{stage:e}=Oe();return(()=>{var t=Vp(),r=t.firstChild,o=r.firstChild,n=o.firstChild,i=n.nextSibling,a=i.nextSibling,l=o.nextSibling;return Fi(o,()=>e.entities.length,i),Fi(l,as(jp,{get each(){return e.entities},children:d=>(()=>{var s=Up();return s.$$click=()=>Np(d),Fi(s,as(is,{get type(){return d.type??"Box"},get name(){return d.name},get thumbnail(){return Ko(d.uuid)?.url},get bounds(){return Ko(d.uuid)?.bounds??d.bounds}})),Qp(()=>Yp(s,"title",d.name?`${d.name} (${d.uuid})`:d.uuid)),s})()})),t})()};Fp(["click"]);import{template as So}from"solid-js/web";import{createComponent as Er}from"solid-js/web";import"solid-js/web";import{insert as Be}from"solid-js/web";import{Show as Yi}from"solid-js";var Zp=So("<div class=zylem-property-row><span class=zylem-property-label>Resolution</span><span class=zylem-property-value>x"),Kp=So("<div class=zylem-property-row><span class=zylem-property-label>Background</span><span class=zylem-property-value>"),Wp=So("<section class=zylem-property-list><div class=zylem-property-row><span class=zylem-property-label>ID</span><span class=zylem-property-value></span></div><div class=zylem-property-row><span class=zylem-property-label>Aspect Ratio</span><span class=zylem-property-value></span></div><div class=zylem-property-row><span class=zylem-property-label>Fullscreen</span><span class=zylem-property-value></span></div><div class=zylem-property-row><span class=zylem-property-label>Debug</span><span class=zylem-property-value>"),Xp=So("<div class=panel-content><section class=zylem-toolbar>"),ds=()=>{let{game:e}=Oe();return(()=>{var t=Xp(),r=t.firstChild;return Be(t,Er(Yi,{get when(){return e.config},get children(){var o=Wp(),n=o.firstChild,i=n.firstChild,a=i.nextSibling,l=n.nextSibling,d=l.firstChild,s=d.nextSibling,p=l.nextSibling,c=p.firstChild,u=c.nextSibling,g=p.nextSibling,P=g.firstChild,h=P.nextSibling;return Be(a,()=>e.config?.id),Be(s,()=>e.config?.aspectRatio.toFixed(3)),Be(u,()=>e.config?.fullscreen?"Yes":"No"),Be(h,()=>e.config?.debug?"Yes":"No"),Be(o,Er(Yi,{get when(){return e.config?.internalResolution},get children(){var v=Zp(),m=v.firstChild,b=m.nextSibling,z=b.firstChild;return Be(b,()=>e.config?.internalResolution?.width,z),Be(b,()=>e.config?.internalResolution?.height,null),v}}),null),Be(o,Er(Yi,{get when(){return e.config?.bodyBackground},get children(){var v=Kp(),m=v.firstChild,b=m.nextSibling;return Be(b,()=>e.config?.bodyBackground),v}}),null),o}}),r),Be(r,Er(de,{size:"sm",onClick:()=>{he(`Global State: ${JSON.stringify(e.globals,null,2)}`)},children:"Print Global State"}),null),Be(r,Er(de,{size:"sm",onClick:()=>{he(`All State: ${JSON.stringify(e,null,2)}`)},children:"Print All"}),null),t})()};import{template as Vt}from"solid-js/web";import{delegateEvents as qp}from"solid-js/web";import{effect as Qi}from"solid-js/web";import{memo as Jp}from"solid-js/web";import{insert as zt}from"solid-js/web";import{createComponent as Ir}from"solid-js/web";import{createSignal as cs,For as fs,Show as ms}from"solid-js";var $p=Vt("<ul class=zylem-level-list>"),_p=Vt("<div class=panel-content>"),eg=Vt("<p class=zylem-transform-empty>Nothing recorded yet."),tg=Vt("<li class=zylem-level-row><span class=zylem-level-row__type></span><span class=zylem-level-row__role>"),rg=Vt("<div class=zylem-level-props><div class=zylem-level-props__row><input class=zylem-transform-row__field placeholder=Key><input class=zylem-transform-row__field placeholder=Value><button type=button class=zylem-level-props__add>Add"),og=Vt("<label class=zylem-level-props__row><span></span><input class=zylem-transform-row__field>");function ng(e){return e?.role==="actor"?"Actor":e?.role==="level"?"Level \xB7 bake":"Doodad"}var us=()=>{let e=()=>ze.buffer?.entries??[],t=()=>f.selected[0]??null;return(()=>{var r=_p();return zt(r,Ir(ms,{get when(){return e().length>0},get fallback(){return eg()},get children(){var o=$p();return zt(o,Ir(fs,{get each(){return e()},children:n=>{let i=()=>ze.annotations[n.id],a=()=>t()===n.id;return(()=>{var l=tg(),d=l.firstChild,s=d.nextSibling;return zt(d,()=>n.typeId),zt(s,()=>ng(i())),zt(l,Ir(ms,{get when(){return Jp(()=>!!a())()&&i()?.role==="actor"},get children(){return Ir(ig,{get id(){return n.id},get fields(){return i()?.props??{}}})}}),null),Qi(()=>l.classList.toggle("is-selected",!!a())),l})()}})),o}})),r})()},ig=e=>{let[t,r]=cs(""),[o,n]=cs(""),i=()=>Object.entries(e.fields),a=()=>{let l=t().trim();l&&(tn(e.id,l,o()),r(""),n(""))};return(()=>{var l=rg(),d=l.firstChild,s=d.firstChild,p=s.nextSibling,c=p.nextSibling;return zt(l,Ir(fs,{get each(){return i()},children:([u,g])=>(()=>{var P=og(),h=P.firstChild,v=h.nextSibling;return zt(h,u),v.$$input=m=>tn(e.id,u,m.currentTarget.value),v.value=g,P})()}),d),s.$$input=u=>r(u.currentTarget.value),p.$$input=u=>n(u.currentTarget.value),c.$$click=a,Qi(()=>s.value=t()),Qi(()=>p.value=o()),l})()};qp(["input","click"]);import{template as ps}from"solid-js/web";import{insert as ct}from"solid-js/web";import{memo as Vi}from"solid-js/web";import{createComponent as je}from"solid-js/web";import{Show as Ui}from"solid-js";import{createComponent as ag}from"solid-js/web";var Ut=e=>ag(oi,{get label(){return e.label},get value(){return e.value},get isPath(){return e.isPath},get maxPathSegments(){return e.maxPathSegments},get valueClass(){return e.valueClass},onPathClick:t=>he(`Full path: ${t}`),get children(){return e.children}});var lg=ps("<section class=zylem-property-list>"),sg=ps("<div class=panel-content><section class=zylem-toolbar>"),gs=()=>{let{stage:e}=Oe();return(()=>{var t=sg(),r=t.firstChild;return ct(t,je(Ui,{get when(){return e.config},get children(){var o=lg();return ct(o,je(Ut,{label:"ID",get value(){return e.config?.id}}),null),ct(o,je(Ut,{label:"Background",get value(){return e.config?.backgroundColor}}),null),ct(o,je(Ui,{get when(){return e.config?.backgroundImage},get children(){return je(Ut,{label:"Image",get value(){return e.config?.backgroundImage??""},isPath:!0})}}),null),ct(o,je(Ut,{label:"Gravity",get children(){return["X:",Vi(()=>e.config?.gravity.x.toFixed(2))," Y:",Vi(()=>e.config?.gravity.y.toFixed(2))," Z:",Vi(()=>e.config?.gravity.z.toFixed(2))]}}),null),ct(o,je(Ui,{get when(){return Object.keys(e.config?.variables??{}).length>0},get children(){return je(Ut,{label:"Variables",get value(){return`${Object.keys(e.config?.variables??{}).length} defined`}})}}),null),o}}),r),ct(r,je(de,{size:"sm",onClick:()=>{he(`Stage State: ${qo(T)}`)},children:"Print Stage State"}),null),ct(r,je(de,{size:"sm",onClick:()=>{On().then(o=>{if(o){he(`Copied stage export (${e.entities.length} entities) to clipboard.`);return}he(`Clipboard unavailable; stage export follows.
|
|
34
|
+
${Jr()}`)})},children:"Export Stage"}),null),t})()};import{template as Tr}from"solid-js/web";import{setAttribute as dg}from"solid-js/web";import{effect as Co}from"solid-js/web";import{createComponent as ys}from"solid-js/web";import{insert as et}from"solid-js/web";import{createMemo as gg,For as yg,Show as bg}from"solid-js";var cg=Tr("<div class=zylem-transform-row><span class=zylem-transform-row__label>"),mg=Tr("<input class=zylem-transform-row__field type=number step=any>"),fg=Tr("<section>"),ug=Tr("<div class=panel-content><div class=zylem-transform-snap><label><input type=checkbox>Snap to grid</label><label><input type=checkbox>Show grid</label></div><p class=zylem-transform-hint>Grid: <!> units, <!>\xB0, <!> scale. Hold Alt while dragging to move freely."),pg=Tr("<p class=zylem-transform-empty>Select an entity to edit its transform."),hg=3,xg=["x","y","z"];function ji(e){let t=10**hg;return Math.round(e*t)/t}function bs(e,t){return!ue.enabled||t<=0?e:Math.round(e/t)*t}var hs=()=>{let{debug:e,stage:t}=Oe(),r=gg(()=>{let a=e.selectedEntityId;return a?t.entities.find(l=>l.uuid===a)??null:null}),o=(a,l)=>{let d=r();if(!d)return 0;if(a==="rotation")return ji((d.rotation?.[l]??0)*180/Math.PI);let s=a==="scale"?1:0;return ji(d[a]?.[l]??s)},n=(a,l,d)=>{let s=r();if(!s?.uuid)return;let p=Number.parseFloat(d);if(!Number.isFinite(p))return;if(a==="rotation"){let g=ue.rotate*180/Math.PI,P=bs(p,g)*Math.PI/180,h={x:s.rotation?.x??0,y:s.rotation?.y??0,z:s.rotation?.z??0,[l]:P};It(s.uuid,{rotation:h});return}let c=a==="scale"?ue.scale:ue.translate,u=bs(p,c);if(a==="scale"){let g=u===0?c:u;It(s.uuid,{scale:{x:s.scale?.x??1,y:s.scale?.y??1,z:s.scale?.z??1,[l]:g}});return}It(s.uuid,{position:{x:s.position?.x??0,y:s.position?.y??0,z:s.position?.z??0,[l]:u}})},i=(a,l)=>(()=>{var d=cg(),s=d.firstChild;return et(s,l),et(d,ys(yg,{each:xg,children:p=>(()=>{var c=mg();return c.addEventListener("change",u=>n(a,p,u.currentTarget.value)),Co(()=>dg(c,"aria-label",`${l} ${p.toUpperCase()}`)),Co(()=>c.value=o(a,p)),c})()}),null),d})();return(()=>{var a=ug(),l=a.firstChild,d=l.firstChild,s=d.firstChild,p=d.nextSibling,c=p.firstChild,u=l.nextSibling,g=u.firstChild,P=g.nextSibling,h=P.nextSibling,v=h.nextSibling,m=v.nextSibling,b=m.nextSibling,z=b.nextSibling;return et(a,ys(bg,{get when(){return r()},get fallback(){return pg()},get children(){var k=fg();return et(k,()=>i("position","Position"),null),et(k,()=>i("rotation","Rotation\xB0"),null),et(k,()=>i("scale","Scale"),null),k}}),l),s.addEventListener("change",k=>dr(k.currentTarget.checked)),c.addEventListener("change",k=>cr(k.currentTarget.checked)),et(u,()=>ue.translate,P),et(u,()=>ji(ue.rotate*180/Math.PI),v),et(u,()=>ue.scale,b),Co(()=>s.checked=ue.enabled),Co(()=>c.checked=ue.gridVisible),a})()};var Ni=[{id:"game-config",title:"Game",component:ds},{id:"stage-config",title:"Stage",component:gs},{id:"entities",title:"Entities",component:ss},{id:"transform",title:"Transform",component:hs},{id:"level",title:"Level",component:us},{id:"console",title:"Console",component:es},{id:"bridge",title:"Bridge",component:_l}],xs=e=>Ni.find(t=>t.id===e),vs=e=>xs(e)?.title??e,Po=e=>{let t=xs(e);if(!t)return null;let r=t.component;return vg(r,{})};var Sg=zg('<div class="detached-panel floating-panel"style=pointer-events:auto><div class="detached-panel-titlebar floating-panel-titlebar"style=touch-action:none><span class=floating-panel-title></span></div><div class="detached-panel-content floating-panel-content"></div><div style=top:0;left:10px;right:10px;height:6px></div><div style=bottom:0;left:10px;right:10px;height:6px></div><div style=left:0;top:10px;bottom:10px;width:6px></div><div style=right:0;top:10px;bottom:10px;width:6px></div><div style=top:0;left:0;width:10px;height:10px></div><div style=top:0;right:0;width:10px;height:10px></div><div style=bottom:0;left:0;width:10px;height:10px></div><div style=bottom:0;right:0;width:10px;height:10px>'),As=3,Ki=250,Wi=150,ks=e=>{let t=()=>f.detachedPanels[e.panelId],r=()=>$e.detachedBase+f.panelZOrder.indexOf(e.panelId),o=K("panel",r),n=t()?.size??{width:350,height:300},[i,a]=ws(t()?.position??{x:100,y:100}),[l,d]=ws(n),s=!1,p=!1,c="free",u=null,g={x:0,y:0},P={x:0,y:0},h={width:0,height:0},v=0,m=!1,b,{dockedSide:z,isAutoHeight:k,showDockPreview:x,hideDockPreview:E,rememberUndockedSize:H,getLiveSize:Y,getDockPreviewRect:V,detectDockSide:$,detectDockIndex:ge,beginDragGhost:oe,endDragGhost:Me,isMoving:Fe,clampSizeToViewport:Nt,beginResize:A,resizeDockThickness:M,applyDockPreview:L}=vo({panelId:e.panelId,initialSize:n,minSize:{width:Ki,height:Wi},position:i,setPosition:a,size:l,setSize:d,panelRef:()=>b,onPositionCommit:D=>Nr(e.panelId,D),onSizeCommit:D=>Zr(e.panelId,D)}),G=()=>{or(e.panelId)},U=D=>{s=!0,m=!1,E(),g={x:D.clientX,y:D.clientY},P={...i()},or(e.panelId),D.pointerType==="mouse"&&D.preventDefault()},W=D=>Z=>{p=!0,u=D;let se=z(),{size:j,mode:fe}=A(D);c=fe,v=se&&Qe(se)?j.width:j.height,g={x:Z.clientX,y:Z.clientY},P={...i()},h={...j},or(e.panelId),Z.pointerType==="mouse"&&Z.preventDefault(),Z.stopPropagation()},ce=D=>{if(s){let Z=D.clientX-g.x,se=D.clientY-g.y;if((Math.abs(Z)>As||Math.abs(se)>As)&&!m){m=!0,ir(e.panelId);let j=oe(D.clientX,D.clientY);g={x:D.clientX,y:D.clientY},P={...j.position},h={...j.size},Z=0,se=0}if(m){let j=P.x+Z,fe=P.y+se,Se=Y(),ye=$(j,fe,Se.width,Se.height);ye?(x(ye,ge(ye,D.clientX,D.clientY)),it(null)):E();let Le={x:Math.max(0,Math.min(j,window.innerWidth-100)),y:Math.max(0,Math.min(fe,window.innerHeight-50))};if(a(Le),!ye){let Ce=document.querySelector(".zylem-accordion");if(Ce){let xe=Ce.getBoundingClientRect();if(D.clientX>=xe.left&&D.clientX<=xe.right&&D.clientY>=xe.top&&D.clientY<=xe.bottom){let be=Ce.querySelectorAll(".accordion-item"),S=0;for(let w=0;w<be.length;w++){let y=be[w];if(!y)continue;let C=y.getBoundingClientRect(),O=C.top+C.height/2;D.clientY>O&&(S=w+1)}it(S)}else it(null)}}}}else if(p&&u){let Z=D.clientX-g.x,se=D.clientY-g.y;if(c==="thickness"){M(v,Z,se);return}let j=h.width,fe=h.height,Se=P.x,ye=P.y;if(u.includes("e"))j=Math.max(Ki,h.width+Z);else if(u.includes("w")){let ve=h.width-Z;ve>=Ki&&(j=ve,Se=P.x+Z)}if(u.includes("s"))fe=Math.max(Wi,h.height+se);else if(u.includes("n")){let ve=h.height-se;ve>=Wi&&(fe=ve,ye=P.y+se)}let Le=Nt(j,fe),Ce=Math.max(0,window.innerWidth-Le.width),xe=Math.max(0,window.innerHeight-Le.height);d(Le),a({x:Math.max(0,Math.min(Se,Ce)),y:Math.max(0,Math.min(ye,xe))})}},me=()=>{if(s&&m&&!L()){let D=f.dropTargetIndex;D!==null?jr(e.panelId,D):Me()}p&&c==="free"&&(H(l()),Zr(e.panelId,l()),Nr(e.panelId,i())),s=!1,p=!1,c="free",u=null,m=!1,E(),ar()},rt=()=>{jr(e.panelId)};Pg(()=>{window.addEventListener("pointermove",ce),window.addEventListener("pointerup",me)}),Cg(()=>{window.removeEventListener("pointermove",ce),window.removeEventListener("pointerup",me)});let Re=D=>({position:"absolute","z-index":10,cursor:D,"touch-action":"none"});return(()=>{var D=Sg(),Z=D.firstChild,se=Z.firstChild,j=Z.nextSibling,fe=j.nextSibling,Se=fe.nextSibling,ye=Se.nextSibling,Le=ye.nextSibling,Ce=Le.nextSibling,xe=Ce.nextSibling,ve=xe.nextSibling,be=ve.nextSibling;D.$$pointerdown=G;var S=b;return typeof S=="function"?kg(S,D):b=D,Eo(D,zs(zo,{get rect(){return V()},rank:()=>r()+1}),Z),Z.$$pointerdown=U,Eo(se,()=>vs(e.panelId)),Eo(Z,zs(bt,{onClose:rt,closeLabel:"Dock back to panel"}),null),Eo(j,()=>Po(e.panelId)),mt(fe,"pointerdown",W("n"),!0),mt(Se,"pointerdown",W("s"),!0),mt(ye,"pointerdown",W("w"),!0),mt(Le,"pointerdown",W("e"),!0),mt(Ce,"pointerdown",W("nw"),!0),mt(xe,"pointerdown",W("ne"),!0),mt(ve,"pointerdown",W("sw"),!0),mt(be,"pointerdown",W("se"),!0),Ag(w=>{var y={left:`${i().x}px`,top:`${i().y}px`,width:`${l().width}px`,height:k()?"auto":`${l().height}px`,"z-index":o.zIndex(),"border-radius":z()?"0":void 0,...Fe()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}},C=z()?"0":void 0,O=Fe()?"hidden":void 0,_=Fe()?"hidden":void 0,ee={...Re("ns-resize")},Pe={...Re("ns-resize")},yd={...Re("ew-resize")},bd={...Re("ew-resize")},hd={...Re("nwse-resize")},xd={...Re("nesw-resize")},vd={...Re("nesw-resize")},zd={...Re("nwse-resize")};return w.e=tt(D,y,w.e),C!==w.t&&Zi(Z,"border-radius",w.t=C),O!==w.a&&Zi(Z,"visibility",w.a=O),_!==w.o&&Zi(j,"visibility",w.o=_),w.i=tt(fe,ee,w.i),w.n=tt(Se,Pe,w.n),w.s=tt(ye,yd,w.s),w.h=tt(Le,bd,w.h),w.r=tt(Ce,hd,w.r),w.d=tt(xe,xd,w.d),w.l=tt(ve,vd,w.l),w.u=tt(be,zd,w.u),w},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0}),D})()};wg(["pointerdown"]);import{template as Ug}from"solid-js/web";import{insert as jg}from"solid-js/web";import{createComponent as Ts}from"solid-js/web";import{Show as Zg}from"solid-js";import{template as Yg}from"solid-js/web";import{createComponent as Mr}from"solid-js/web";import{memo as Cs}from"solid-js/web";import{Accordion as Qg}from"@kobalte/core";import{Index as Vg,Show as Es}from"solid-js";import{template as Tg}from"solid-js/web";import{setStyleProperty as Dr}from"solid-js/web";import{effect as Bg}from"solid-js/web";import{insert as Dg}from"solid-js/web";import{memo as Mg}from"solid-js/web";import{createComponent as jt}from"solid-js/web";import{Accordion as Io}from"@kobalte/core";import{createSignal as Ji,onCleanup as Lg,onMount as Gg,Show as Hg}from"solid-js";import{Portal as Og}from"solid-js/web";var Eg=new Set(["translate","rotate","scale"]);function Xi(e,t){return e==="game-config"||e==="stage-config"||e==="console"?!0:e==="transform"?Eg.has(t.tool):e==="entities"||e==="bridge"?t.debug:e==="level"?t.build:!1}function Ig(e,t,r){let o=new Set(t);return e.filter(n=>!o.has(n)&&Xi(n,r))}function qi(){return{debug:f.debug,build:ze.active,tool:f.tool}}function Br(){return Ig(f.panelOrder,Object.keys(f.detachedPanels),qi())}var Rg=Tg(`<div class=accordion-drag-ghost style="position:fixed;pointer-events:none;display:flex;align-items:center;justify-content:space-between;background:rgba(10, 20, 30, 0.54);border:2px dotted #E64534;border-radius:12px;color:#61A6E8;font-family:'Exo 2', sans-serif;backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.5), 0 0 0 1px #E64534"><span class="accordion-trigger zylem-exo-2"style="font-family:'Exo 2', sans-serif;font-weight:400;padding:8px 12px">`),Fg=5,Ss=e=>{let t=K("panel",$e.dragGhost),r,o,n=null,[i,a]=Ji(!1),[l,d]=Ji({x:0,y:0}),[s,p]=Ji({width:0,height:0}),c={x:0,y:0},u=!1,g=()=>Br().indexOf(e.value),P=m=>{if(m.button===0){if(u=!0,c={x:m.clientX,y:m.clientY},n=r?.closest(".floating-panel"),o){let b=o.getBoundingClientRect();p({width:b.width,height:b.height})}m.pointerType==="mouse"&&m.preventDefault()}},h=m=>{if(!u)return;let b=m.clientX-c.x,z=m.clientY-c.y;if(Math.sqrt(b*b+z*z)>Fg&&!i()&&(a(!0),ir(e.value)),i()&&(d({x:m.clientX-s().width/2,y:m.clientY-15}),n)){let x=n.getBoundingClientRect();if(m.clientX>=x.left&&m.clientX<=x.right&&m.clientY>=x.top&&m.clientY<=x.bottom){let H=n.querySelector(".zylem-accordion");if(H){let Y=H.querySelectorAll(".accordion-item"),V=0;for(let $=0;$<Y.length;$++){let ge=Y[$];if(!ge)continue;let oe=ge.getBoundingClientRect(),Me=oe.top+oe.height/2;m.clientY>Me&&(V=$+1)}it(V)}}else it(null)}},v=m=>{if(!u)return;let b=i();if(u=!1,a(!1),b&&n){let z=n.getBoundingClientRect();if(m.clientX<z.left||m.clientX>z.right||m.clientY<z.top||m.clientY>z.bottom)rr(e.value,{x:m.clientX-175,y:m.clientY-20});else{let x=f.dropTargetIndex;if(x!==null){let E=g();if(x!==E&&x!==E+1){let Y=Br().filter(ge=>ge!==e.value),V=x;x>E&&(V=x-1),Y.splice(V,0,e.value);let $=[...Y];f.panelOrder.forEach(ge=>{$.includes(ge)||$.push(ge)}),yn($)}}}}ar()};return Gg(()=>{window.addEventListener("pointermove",h),window.addEventListener("pointerup",v)}),Lg(()=>{window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",v)}),[jt(Io.Item,{ref(m){var b=r;typeof b=="function"?b(m):r=m},get value(){return e.value},get class(){return`accordion-item ${i()?"accordion-item--dragging":""}`},get children(){return[jt(Io.Header,{ref(m){var b=o;typeof b=="function"?b(m):o=m},class:"accordion-header",onPointerDown:P,style:{"touch-action":"none"},get children(){return jt(Io.Trigger,{class:"accordion-trigger zylem-exo-2",get children(){return e.title}})}}),jt(Io.Content,{class:"accordion-content scrollable-y scroll-thin",get children(){return e.children}})]}}),jt(Hg,{get when(){return Mg(()=>!!i())()&&t.mount()},get children(){return jt(Og,{get mount(){return t.mount()},get children(){var m=Rg(),b=m.firstChild;return Dg(b,()=>e.title),Bg(z=>{var k=`${l().x}px`,x=`${l().y}px`,E=`${s().width}px`,H=`${s().height}px`,Y=t.zIndex();return k!==z.e&&Dr(m,"left",z.e=k),x!==z.t&&Dr(m,"top",z.t=x),E!==z.a&&Dr(m,"width",z.a=E),H!==z.o&&Dr(m,"height",z.o=H),Y!==z.i&&Dr(m,"z-index",z.i=Y),z},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),m}})}})]};var Ps=Yg("<div class=accordion-drop-indicator>"),Is=()=>{let e=()=>Br().map(o=>Ni.find(n=>n.id===o)).filter(o=>o!==void 0),t=()=>f.draggingPanelId!==null,r=()=>f.dropTargetIndex;return Mr(Qg.Root,{multiple:!0,class:"zylem-accordion",get value(){return f.openSections},onChange:bn,get children(){return[Mr(Es,{get when(){return Cs(()=>!!t())()&&r()===0},get children(){return Ps()}}),Mr(Vg,{get each(){return e()},children:(o,n)=>[Mr(Ss,{get value(){return o().id},get title(){return o().title},get children(){return Po(o().id)}}),Mr(Es,{get when(){return Cs(()=>!!t())()&&r()===n+1},get children(){return Ps()}})]})]}})};var Ng=Ug("<div class=zylem-menu>"),Bs=e=>Ts(Zg,{get when(){return!e.isCollapsed()},get children(){var t=Ng();return jg(t,Ts(Is,{})),t}});import{template as ea}from"solid-js/web";import{effect as by}from"solid-js/web";import{memo as hy}from"solid-js/web";import{insert as kt}from"solid-js/web";import{createComponent as N}from"solid-js/web";import{For as wy,Show as Ay}from"solid-js";import{template as Ms}from"solid-js/web";import{effect as Kg}from"solid-js/web";import{insert as Wg}from"solid-js/web";import{createComponent as To}from"solid-js/web";import{memo as Xg}from"solid-js/web";import $g from"lucide-solid/icons/plus";import{createMemo as Ds,createSignal as _g,onCleanup as ey,Show as ty}from"solid-js";var qg=Ms("<div class=zylem-add-tool>"),Jg=Ms("<span class=zylem-add-tool__glyph>"),Bo=e=>{let t=()=>e.placement??"doodad",r=()=>Va(f.tool,Ze.armedTypeId)&&ze.placementRole===t(),o=Ds(()=>$r(Ze.entities,Ze.armedTypeId,Ze.lastTypeId)),n=Ds(()=>Ua(Ze.entities)),i=()=>{let s=o();return e.label?s?`${e.label}: ${s.label}`:e.label:s?`Place ${s.label}`:"Add"},[a,l]=_g(!1);return ey(e.registerPaletteShortcut??t()==="doodad"?Na(()=>Ze.entities.length===0?!1:(l(!0),!0)):()=>{}),(()=>{var s=qg();return Wg(s,To(ci,{get label(){return i()},get tooltip(){return Xg(()=>!!e.label)()?i():`${J(i(),"add")} \xB7 ${J("Palette","addPalette")}`},get selected(){return r()},get disabled(){return Ze.entities.length===0},onAction:()=>fr(t()),get open(){return a()},onOpenChange:l,menu:p=>To(gi,{get items(){return n()},get selectedId(){return Ze.armedTypeId},searchPlaceholder:"Search entities\u2026",emptyMessage:"No entity types published. Is a game running?",onSelect:c=>{to(c.id,t()),p()}}),get children(){return To(ty,{get when(){return o()?.icon},get fallback(){return To($g,{class:"zylem-icon"})},children:p=>(()=>{var c=Jg();return Kg(()=>c.innerHTML=p()),c})()})}})),s})()};import{createComponent as Rs}from"solid-js/web";import ry from"lucide-solid/icons/hammer";var Ls=()=>{let e=()=>ze.buffer?.entries.length??0,t=()=>{let r=ze.active?"Building":"Build";return e()>0?`${r} (${e()})`:r};return Rs(Q,{get label(){return J(t(),"build")},get selected(){return ze.active},onClick:ro,get children(){return Rs(ry,{class:"zylem-icon"})}})};function Gs(e){let t=["translate","rotate","scale"];return e.perspective&&t.push("view-game","view-side","view-top","view-isometric","view-free"),e.debug&&t.push("grid"),e.build&&t.push("add-actor","add-level","add-primitive","delete"),t.push("snap","undo","redo"),t}function Hs(e){return e==="view-game"||e==="grid"||e==="add-actor"||e==="snap"}import{createComponent as Os}from"solid-js/web";import oy from"lucide-solid/icons/bug";var Fs=()=>Os(Q,{get label(){return J("Debug","debug")},get selected(){return f.debug},onClick:mr,get children(){return Os(oy,{class:"zylem-icon"})}});import{createComponent as Ys}from"solid-js/web";import ny from"lucide-solid/icons/trash";var Qs=()=>Ys(Q,{get label(){return J("Delete","delete")},get selected(){return f.tool==="delete"},onClick:()=>gt("delete"),get children(){return Ys(ny,{class:"zylem-icon"})}});import{createComponent as Do}from"solid-js/web";import iy from"lucide-solid/icons/grid-3x3";import ay from"lucide-solid/icons/magnet";var Vs=()=>Do(Q,{get label(){return J(ue.gridVisible?"Hide grid":"Show grid","grid")},get selected(){return ue.gridVisible},onClick:pr,get children(){return Do(iy,{class:"zylem-icon"})}}),Us=()=>Do(Q,{get label(){return J(ue.enabled?"Snapping on":"Snapping off","snap")},get selected(){return ue.enabled},onClick:ur,get children(){return Do(ay,{class:"zylem-icon"})}});import{createComponent as Mo}from"solid-js/web";import ly from"lucide-solid/icons/redo-2";import sy from"lucide-solid/icons/undo-2";var js=e=>e[e.length-1]?.label??null,Ns=()=>{let e=()=>{let t=js(Xt.undoStack);return t?J(`Undo ${t}`,"undo"):"Nothing to undo"};return Mo(Q,{get label(){return e()},get disabled(){return Xt.undoStack.length===0},onClick:()=>qt(),get children(){return Mo(sy,{class:"zylem-icon"})}})},Zs=()=>{let e=()=>{let t=js(Xt.redoStack);return t?J(`Redo ${t}`,"redo"):"Nothing to redo"};return Mo(Q,{get label(){return e()},get disabled(){return Xt.redoStack.length===0},onClick:()=>Jt(),get children(){return Mo(ly,{class:"zylem-icon"})}})};import{createComponent as Ks}from"solid-js/web";import"solid-js/web";var Ws=()=>Ks(Q,{get label(){return at.perspective?"Perspective on":"Perspective"},get selected(){return at.perspective},onClick:Za,get children(){return Ks(Ai,{})}});import{createComponent as $i}from"solid-js/web";import{memo as dy}from"solid-js/web";import cy from"lucide-solid/icons/pause";import my from"lucide-solid/icons/play";var Xs=()=>$i(Q,{get label(){return J(f.paused?"Play":"Pause","playback")},get selected(){return f.paused},onClick:gr,get children(){return dy(()=>!!f.paused)()?$i(my,{class:"zylem-icon"}):$i(cy,{class:"zylem-icon"})}});import{createComponent as qs}from"solid-js/web";import fy from"lucide-solid/icons/mouse-pointer";var Js=()=>qs(Q,{get label(){return J("Select","select")},get selected(){return f.tool==="select"},onClick:()=>gt("select"),get children(){return qs(fy,{class:"zylem-icon"})}});import{createComponent as wt}from"solid-js/web";import uy from"lucide-solid/icons/move-3d";import py from"lucide-solid/icons/rotate-3d";import gy from"lucide-solid/icons/scale-3d";import{createMemo as yy}from"solid-js";var _i=e=>{let{stage:t}=Oe(),r=yy(()=>_r(f.selected,f.lastTouched,t.entities.map(o=>o.uuid).filter(o=>!!o)));return wt(Q,{get label(){return J(e.label,e.tool)},get selected(){return f.tool===e.tool},get disabled(){return!r()},onClick:()=>Vn(e.tool),get children(){return e.children}})},$s=()=>wt(_i,{tool:"translate",label:"Move",get children(){return wt(uy,{class:"zylem-icon"})}}),_s=()=>wt(_i,{tool:"rotate",label:"Rotate",get children(){return wt(py,{class:"zylem-icon"})}}),ed=()=>wt(_i,{tool:"scale",label:"Scale",get children(){return wt(gy,{class:"zylem-icon"})}});import{createComponent as At}from"solid-js/web";var Rr=e=>{let t=e.icon;return At(Q,{get label(){return e.label},get selected(){return no(at.preset,at.spaceHeld)===e.preset},onClick:()=>Ka(e.preset),get children(){return At(t,{})}})},td=()=>At(Rr,{preset:"game",label:"Game camera",icon:Ei}),rd=()=>At(Rr,{preset:"top",label:"Top",icon:Si}),od=()=>At(Rr,{preset:"side",label:"Side",icon:ki}),nd=()=>At(Rr,{preset:"isometric",label:"Isometric",icon:Ci}),id=()=>At(Rr,{preset:"free",label:"Free camera",icon:Pi});var xy=ea("<div class=zylem-toolbar-group>"),vy=ea("<span class=zylem-toolbar-divider>"),zy=ea("<div class=zylem-toolbar><span class=zylem-toolbar-divider>"),ky=()=>(()=>{var e=xy();return kt(e,N(Js,{}),null),kt(e,N(Ws,{}),null),kt(e,N(Fs,{}),null),kt(e,N(Ls,{}),null),kt(e,N(Xs,{}),null),e})(),Sy=e=>{switch(e.action){case"translate":return N($s,{});case"rotate":return N(_s,{});case"scale":return N(ed,{});case"view-game":return N(td,{});case"view-side":return N(od,{});case"view-top":return N(rd,{});case"view-isometric":return N(nd,{});case"view-free":return N(id,{});case"grid":return N(Vs,{});case"add-actor":return N(Bo,{placement:"actor",label:"Add actor",registerPaletteShortcut:!1});case"add-level":return N(Bo,{placement:"level",label:"Add level",registerPaletteShortcut:!1});case"add-primitive":return N(Bo,{placement:"doodad",label:"Add primitive"});case"delete":return N(Qs,{});case"snap":return N(Us,{});case"undo":return N(Ns,{});case"redo":return N(Zs,{})}},Cy=()=>{let e=()=>Gs({perspective:at.perspective,debug:f.debug,build:ze.active});return N(wy,{get each(){return e()},children:(t,r)=>[N(Ay,{get when(){return hy(()=>r()>0)()&&Hs(t)},get children(){return vy()}}),N(Sy,{action:t})]})},ad=e=>(()=>{var t=zy(),r=t.firstChild;return kt(t,N(ky,{}),r),kt(t,N(Cy,{}),null),by(()=>t.classList.toggle("zylem-toolbar--vertical",(e.orientation??"row")==="column")),t})();var Ey=Py("<div style=display:flex;height:100vh;width:100vw;position:absolute;pointer-events:none><div style=flex:1>"),Lr=460,Gr=600,St=20,My=12,Ry=92,Ly=(e=0)=>{let t=My,r=Math.max(300,window.innerWidth-t*2),o=Math.max(200,window.innerHeight-e-t*2),n=Math.min(Lr,r),i=Math.min(Gr,o),a=t,l=window.innerHeight-e-t,d=Math.round((l-a-i)/2)+a;return{initialPosition:{x:Math.max(t,Math.round((window.innerWidth-n)/2)),y:Math.max(a,d)},initialSize:{width:n,height:i}}},Gy=()=>{if(f.panelPosition)return f.panelPosition;let e=f.toggleButtonPosition,t=window.innerWidth,r=window.innerHeight,o=e.x>t/2,n=e.y>r/2,i,a;return o?i=t-Lr-St:i=St,n?a=Math.max(St,r-Gr-St):a=St,{x:i,y:a}},ra=e=>{let[t,r]=Lo(!1),[o,n]=Lo(!1),[i,a]=Lo(null),[l,d]=Lo(null),s=()=>e.launcherMode??"floating",p=()=>t()||o();vn(e.defaultDocks),zn();let c=()=>{r(!0),n(!0)},u=()=>{r(!1),n(!1)},g=()=>{p()?u():c()},P=x=>{pn(x)},h=()=>we(f.docks,Ie),v=()=>{let x=qi();return Object.keys(f.detachedPanels).filter(E=>Xi(E,x))},m=()=>typeof window>"u"?s()==="hidden":s()==="hidden"||window.innerWidth<Lr+St*2||window.innerHeight<Gr+St*2,b=ld(()=>{if(h()){let E=Ke(f.docks,Te())[Ie];if(E)return{initialPosition:{x:E.x,y:E.y},initialSize:{width:E.width,height:E.height}}}let x=typeof window>"u"||!m()?{initialPosition:Gy(),initialSize:{width:Lr,height:Gr}}:Ly(s()==="hidden"?Ry:0);return{initialPosition:x.initialPosition,initialSize:f.panelSize??x.initialSize}}),z=ld(()=>{if(we(f.docks,ne)){let E=Ke(f.docks,Te())[ne];if(E)return{initialPosition:{x:E.x,y:E.y},initialSize:{width:E.width,height:E.height}}}return{initialPosition:{x:0,y:0},initialSize:{width:640,height:40}}}),k={openPanel:c,closePanel:u,togglePanel:g,isPanelOpen:p,dockPanel:(x,E=Ie)=>{if(E===ne){r(!0),a(H=>({side:x,nonce:(H?.nonce??0)+1,panelId:E}));return}if(E===Ie){n(!0),d(H=>({side:x,nonce:(H?.nonce??0)+1,panelId:E}));return}if(x===null){We(E);return}Kr(E)||rr(E,{x:100,y:100}),ut(E,x)}};return By(()=>{e.onControllerReady?.(k)}),Ty(()=>{e.onControllerReady?.(null)}),De(io,{get children(){var x=Ey(),E=x.firstChild;return Ro(x,De(ta,{get when(){return s()!=="hidden"},get children(){return De(Xl,{onToggle:g})}}),E),Ro(x,De(ta,{get when(){return t()},get children(){return De(Li,{panelId:ne,label:"Toolbar",hideTitle:!0,chrome:"inline",resizable:!1,fitDockThickness:!0,hugContent:!0,get initialPosition(){return z().initialPosition},get initialSize(){return z().initialSize},floatingSize:{width:640,height:40},minSize:{width:36,height:36},collapsible:!0,get collapsed(){return f.toolbarCollapsed},onCollapsedChange:hn,onClose:()=>r(!1),get onRestoreSibling(){return o()?void 0:()=>n(!0)},restoreSiblingLabel:"Show panels",dockRequest:i,children:H=>De(ad,{get orientation(){return H.dockedSide()==="left"||H.dockedSide()==="right"?"column":"row"}})})}}),E),Ro(x,De(ta,{get when(){return o()},get children(){return De(Li,{panelId:Ie,label:"Panels",hideTitle:!0,get initialPosition(){return b().initialPosition},get initialSize(){return b().initialSize},get floatingSize(){return f.panelSize??{width:Lr,height:Gr}},minSize:{width:300,height:200},collapsible:!0,get collapsed(){return f.mainCollapsed},onCollapsedChange:xn,onClose:()=>n(!1),get onRestoreSibling(){return t()?void 0:()=>r(!0)},restoreSiblingLabel:"Show toolbar",onMove:P,onResize:gn,dockRequest:l,children:H=>De(Bs,{get isCollapsed(){return H.isCollapsed}})})}}),E),Ro(x,De(Iy,{get each(){return v()},children:H=>De(ks,{panelId:H})}),E),x}})};if(typeof window<"u"&&!import.meta.env.VITEST){let e=document.getElementById("zylem-editor-container");e&&Dy(()=>De(ra,{}),e)}var Oy=e=>Hy(ra,{get launcherMode(){return e.launcherMode},get defaultDocks(){return e.defaultDocks},get onControllerReady(){return e.onControllerReady}}),sd=Oy;var dd=`
|
|
35
35
|
.bridge-row--hot .zylem-property-label,
|
|
36
36
|
.bridge-row--hot .zylem-property-value {
|
|
37
37
|
color: #ffb347;
|
|
@@ -92,7 +92,7 @@ ${Tr()}`)})},children:"Export Stage"}),null),t})()};import{template as dr}from"s
|
|
|
92
92
|
text-overflow: ellipsis;
|
|
93
93
|
opacity: 0.75;
|
|
94
94
|
}
|
|
95
|
-
`;var
|
|
95
|
+
`;var cd=`
|
|
96
96
|
.panel-content .zylem-section {
|
|
97
97
|
padding: 0 10px 10px;
|
|
98
98
|
box-sizing: border-box;
|
|
@@ -300,13 +300,19 @@ ${Tr()}`)})},children:"Export Stage"}),null),t})()};import{template as dr}from"s
|
|
|
300
300
|
writing-mode: vertical-rl;
|
|
301
301
|
transform: rotate(180deg);
|
|
302
302
|
}
|
|
303
|
-
`;var
|
|
303
|
+
`;var md=`
|
|
304
304
|
/*
|
|
305
|
-
* The toolbar
|
|
306
|
-
*
|
|
305
|
+
* The toolbar is its own window: one row on a top or bottom dock, one column
|
|
306
|
+
* on a side dock. Wrapping would break that strip.
|
|
307
307
|
*/
|
|
308
308
|
.zylem-toolbar {
|
|
309
|
-
flex-wrap:
|
|
309
|
+
flex-wrap: nowrap;
|
|
310
|
+
width: max-content;
|
|
311
|
+
max-width: 100%;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.zylem-toolbar--vertical .zylem-toolbar-group {
|
|
315
|
+
flex-direction: column;
|
|
310
316
|
}
|
|
311
317
|
|
|
312
318
|
.zylem-toolbar-divider {
|
|
@@ -316,6 +322,36 @@ ${Tr()}`)})},children:"Export Stage"}),null),t})()};import{template as dr}from"s
|
|
|
316
322
|
background: rgba(255, 255, 255, 0.18);
|
|
317
323
|
}
|
|
318
324
|
|
|
325
|
+
.zylem-toolbar--vertical .zylem-toolbar-divider {
|
|
326
|
+
width: auto;
|
|
327
|
+
height: 1px;
|
|
328
|
+
margin: 2px 0;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/* The toolbar window's controls share this row (or column) with the buttons. */
|
|
332
|
+
.zylem-chrome-inline {
|
|
333
|
+
display: flex;
|
|
334
|
+
align-items: center;
|
|
335
|
+
justify-content: space-between;
|
|
336
|
+
gap: 8px;
|
|
337
|
+
box-sizing: border-box;
|
|
338
|
+
width: 100%;
|
|
339
|
+
padding: 4px;
|
|
340
|
+
cursor: grab;
|
|
341
|
+
user-select: none;
|
|
342
|
+
touch-action: none;
|
|
343
|
+
/* Keep the measured strip at its content size instead of shrinking into
|
|
344
|
+
the dock slot, so the zone thickness can grow to match the buttons. */
|
|
345
|
+
flex-shrink: 0;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.zylem-chrome-inline--column {
|
|
349
|
+
flex-direction: column;
|
|
350
|
+
justify-content: flex-start;
|
|
351
|
+
align-self: flex-start;
|
|
352
|
+
width: max-content;
|
|
353
|
+
}
|
|
354
|
+
|
|
319
355
|
/* Keeps a group's buttons together when the toolbar wraps. */
|
|
320
356
|
.zylem-toolbar-group {
|
|
321
357
|
display: inline-flex;
|
|
@@ -413,7 +449,56 @@ ${Tr()}`)})},children:"Export Stage"}),null),t})()};import{template as dr}from"s
|
|
|
413
449
|
line-height: 1.4;
|
|
414
450
|
opacity: 0.5;
|
|
415
451
|
}
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
452
|
+
|
|
453
|
+
.zylem-level-list {
|
|
454
|
+
list-style: none;
|
|
455
|
+
margin: 0;
|
|
456
|
+
padding: 0;
|
|
457
|
+
display: flex;
|
|
458
|
+
flex-direction: column;
|
|
459
|
+
gap: 6px;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
.zylem-level-row {
|
|
463
|
+
display: flex;
|
|
464
|
+
flex-wrap: wrap;
|
|
465
|
+
gap: 6px 10px;
|
|
466
|
+
align-items: baseline;
|
|
467
|
+
font-size: 11px;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
.zylem-level-row.is-selected .zylem-level-row__type {
|
|
471
|
+
color: #9ecbff;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
.zylem-level-row__role {
|
|
475
|
+
opacity: 0.65;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
.zylem-level-props {
|
|
479
|
+
flex-basis: 100%;
|
|
480
|
+
display: flex;
|
|
481
|
+
flex-direction: column;
|
|
482
|
+
gap: 4px;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.zylem-level-props__row {
|
|
486
|
+
display: grid;
|
|
487
|
+
grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr) auto;
|
|
488
|
+
gap: 5px;
|
|
489
|
+
align-items: center;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
.zylem-level-props__add {
|
|
493
|
+
padding: 3px 8px;
|
|
494
|
+
font-size: 11px;
|
|
495
|
+
color: inherit;
|
|
496
|
+
background: rgba(255, 255, 255, 0.06);
|
|
497
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
498
|
+
border-radius: 4px;
|
|
499
|
+
cursor: pointer;
|
|
500
|
+
}
|
|
501
|
+
`;var oa=e=>e==="hidden"?"hidden":"floating",ud=e=>{let t=e;if(typeof t=="string")try{t=JSON.parse(t)}catch{return}if(!t||typeof t!="object")return;let r={};for(let o of nt){let n=t[o];if(!Array.isArray(n))continue;let i=n.filter(a=>typeof a=="string"&&a.length>0);i.length>0&&(r[o]=i)}return Object.keys(r).length>0?r:void 0},Hr=class extends HTMLElement{dispose=null;_config={};_initialized=!1;controller=null;releaseBridge=null;teardownHooks=[];constructor(){super(),this.attachShadow({mode:"open"})}set config(t){this._config=t,this._initialized&&this.reinitialize()}get config(){return this._config}set launcherMode(t){let r=oa(t);this._config.launcherMode!==r&&(this._config.launcherMode=r,this._initialized&&this.reinitialize())}get launcherMode(){return oa(this._config.launcherMode)}static get observedAttributes(){return["include-styles","launcher-mode","default-docks"]}attributeChangedCallback(t,r,o){if(t==="include-styles"){this._config.includeStyles=o!=="false";return}if(t==="launcher-mode"){this.launcherMode=oa(o);return}if(t==="default-docks"){let n=ud(o);n?this._config.defaultDocks=n:delete this._config.defaultDocks}}connectedCallback(){this.initialize()}initialize(){if(this._initialized)return;if(this._initialized=!0,this.releaseBridge=Wr(),this.teardownHooks=[Qa(),Wa(),Ga({enabled:this._config.enableUndoShortcut!==!1}),Oa({enabled:this._config.enableEscapeShortcut!==!1}),Kn({enabled:this._config.enableToolbarShortcuts!==!1,isActive:()=>this.isPanelOpen()}),Xn()],this._config.includeStyles!==!1){let r=document.createElement("style");r.textContent=`${$a}
|
|
502
|
+
${cd}
|
|
503
|
+
${dd}
|
|
504
|
+
${md}`,this.shadowRoot.appendChild(r)}let t=document.createElement("div");t.style.width="100%",t.style.height="100%",this.shadowRoot.appendChild(t),this.dispose=Fy(()=>{let r=this;return fd(Hn,{get children(){return fd(sd,{get launcherMode(){return r.launcherMode},get defaultDocks(){return ud(r._config.defaultDocks)},onControllerReady:o=>{r.controller=o}})}})},t)}openPanel(){this.controller?.openPanel()}closePanel(){this.controller?.closePanel()}togglePanel(){this.controller?.togglePanel()}isPanelOpen(){return this.controller?.isPanelOpen()??!1}dockPanel(t,r){this.controller?.dockPanel(t,r)}reinitialize(){for(this.teardown();this.shadowRoot.firstChild;)this.shadowRoot.removeChild(this.shadowRoot.firstChild);this.initialize()}disconnectedCallback(){this.teardown()}teardown(){this.dispose&&(this.dispose(),this.dispose=null);for(let t of this.teardownHooks)t();this.teardownHooks=[],this.releaseBridge?.(),this.releaseBridge=null,this.controller=null,this._initialized=!1}};function na(e="zylem-editor"){customElements.get(e)||customElements.define(e,Hr)}typeof window<"u"&&!customElements.get("zylem-editor")&&customElements.define("zylem-editor",Hr);function pd(e){e.gameState?.debugFlag!==void 0&&B("debug",e.gameState.debugFlag),e.toolbarState?.tool!==void 0&&(I.tool=e.toolbarState.tool),e.toolbarState?.paused!==void 0&&(I.paused=e.toolbarState.paused)}function gd(e={}){let{channel:t}=Yy(),r=[t.on("debug:set",({enabled:o})=>{e.onStateDispatch?.({gameState:{debugFlag:o}})}),t.on("tool:set",({tool:o})=>{e.onStateDispatch?.({toolbarState:{tool:o}})}),t.on("playback:set",({paused:o})=>{e.onStateDispatch?.({toolbarState:{paused:o}})})];return{dispatchToEditor:pd,dispose(){for(let o of r)o()}}}function Qy(e){e.gameState?.debugFlag!==void 0&&Ct(e.gameState.debugFlag),e.toolbarState?.tool!==void 0&&Ge(e.toolbarState.tool),e.toolbarState?.paused!==void 0&&Pt(e.toolbarState.paused)}function Vy(e={}){na();let t=document.createElement("zylem-editor");t.setAttribute("launcher-mode",e.launcherMode??"floating"),e.defaultDocks&&(t.config={...t.config,defaultDocks:e.defaultDocks}),(e.target??document.body).appendChild(t);let r=gd(e);return{element:t,dispatchToEditor:r.dispatchToEditor,dockPanel(o,n){t.dockPanel(o,n)},dispose(){r.dispose(),t.remove()}}}export{Ya as DEFAULT_ROTATE_SNAP,nt as DOCK_SIDES,Uh as Icon,Ie as MAIN_PANEL_ID,da as MAX_HISTORY_DEPTH,ne as TOOLBAR_PANEL_ID,Zn as TOOLBAR_SHORTCUTS,Hr as ZylemEditorElement,fr as armAddTool,to as armAddType,gd as attachEditorStateBridge,R as bridgeChannel,La as buildStageExport,Bd as canRedo,Td as canUndo,X as catalogState,Yo as clearHistory,Ke as computeDockLayout,Wr as connectEditorBridge,On as copyStageExport,I as debugState,f as debugStore,Ha as disarmTools,Pn as disconnectEditorBridge,Qy as dispatchEditorUpdate,pd as dispatchToEditor,ut as dockPanelToSide,Ne as editorEvents,we as findDockedSide,qa as formatShortcut,q as gameState,Ia as getDockedSide,te as historyState,Kn as installToolbarShortcuts,Xn as installTransformToolGuard,F as levelState,Vy as mountZylemEditor,Ld as onSceneOperation,Un as openAddPalette,Jt as redo,Md as redoLabel,na as registerZylemEditor,Wn as releaseOrphanedTransformTool,Ja as runToolbarAction,Ic as selectTool,Qn as selectTransformTool,ft as sendAddType,Fr as sendCameraActivate,Ct as sendDebugEnabled,sa as sendEntityCreate,Or as sendEntityFocus,Et as sendEntitySelect,ia as sendEntitySelectMany,It as sendEntityTransform,Kt as sendGridVisible,la as sendLevelLoad,Pt as sendPlayback,Zt as sendSnapSettings,aa as sendStageVariable,Ge as sendTool,Bt as setArmedType,Qo as setEntityCatalog,cr as setGridVisible,dr as setSnapEnabled,Pc as setSnapIncrements,Wd as snapshotLevelBuffer,Jr as stageExportToString,T as stageState,mr as toggleDebug,pr as toggleGrid,gr as togglePlayback,ur as toggleSnap,gt as toggleTool,Vn as toggleTransformTool,ae as transformState,qt as undo,Dd as undoLabel,We as undockPanelFromSides};
|