@zylem/editor 0.8.8 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,37 @@
1
- import{getZylemBridge as Ql}from"@zylem/bridge";import{proxy as yl}from"valtio/vanilla";var ve=yl({messages:[]}),qr=500,ce=e=>{let r=`[${new Date().toLocaleTimeString()}] ${e}`;ve.messages.push(r),ve.messages.length>qr&&ve.messages.splice(0,ve.messages.length-qr)},Jr=()=>{ve.messages=[]};import{createStore as zl}from"solid-js/store";import{subscribe as wl}from"valtio/vanilla";var Ve=["left","right","top","bottom"];var Ie=e=>e==="left"||e==="right",_r=e=>{switch(e){case"left":return"e";case"right":return"w";case"top":return"s";default:return"n"}},ar=()=>({left:{panels:[],thickness:0},right:{panels:[],thickness:0},top:{panels:[],thickness:0},bottom:{panels:[],thickness:0}}),Fn=e=>{let t=ar();if(!e||typeof e!="object")return t;let r=new Set;for(let o of Ve){let n=e[o];if(!n||typeof n!="object")continue;let i=n.panels;if(Array.isArray(i))for(let s of i)typeof s!="string"||s.length===0||r.has(s)||(r.add(s),t[o].panels.push(s));let a=n.thickness;typeof a=="number"&&Number.isFinite(a)&&a>0&&(t[o].thickness=a)}return t},Be=(e,t)=>Ve.find(r=>e[r].panels.includes(t))??null;var hl=e=>{let t=ar();for(let r of Ve)t[r]={panels:[...e[r].panels],thickness:e[r].thickness};return t},wt=(e,t)=>{let r=hl(e);for(let o of Ve)r[o].panels=r[o].panels.filter(n=>n!==t);return r},lr=(e,t,r,o)=>{let n=wt(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},Ln=(e,t)=>Ie(e)?t.width:t.height,dt=(e,t,r)=>{if(e[t].panels.length===0)return 0;let o=Ln(t,r),n=e[t].thickness,i=n>0?n:Math.round(o/4);return Math.max(1,Math.min(i,o))},$r=(e,t,r,o,n)=>{let i=Ln(t,o),s=dt(e,t==="left"?"right":t==="right"?"left":t==="top"?"bottom":"top",o),u=Math.max(1,i-s-80),m=Math.max(1,Math.min(n,u));return Math.round(Math.max(m,Math.min(r,u)))},Hn=(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=r.minSlotExtent??0,n={},i=dt(e,"left",t),a=dt(e,"right",t),s=dt(e,"top",t),u=dt(e,"bottom",t);for(let d of["left","right"]){let g=e[d].panels;if(g.length===0)continue;let p=d==="left"?i:a,z=d==="left"?0:Math.max(0,t.width-p),l=Hn(t.height,g.length,o),f=0;g.forEach((c,y)=>{n[c]={x:z,y:f,width:p,height:l[y]},f+=l[y]})}let m=i,h=Math.max(1,t.width-i-a);for(let d of["top","bottom"]){let g=e[d].panels;if(g.length===0)continue;let p=d==="top"?s:u,z=d==="top"?0:Math.max(0,t.height-p),l=Hn(h,g.length,o),f=m;g.forEach((c,y)=>{n[c]={x:f,y:z,width:l[y],height:p},f+=l[y]})}return n},eo=(e,t,r,o,n)=>{let i=n?wt(e,n):e,a=i[t].panels;if(a.length===0)return 0;let s=Ke(i,o),u=Ie(t),m=0;return a.forEach((h,d)=>{let g=s[h];if(!g)return;let p=u?g.y+g.height/2:g.x+g.width/2;(u?r.y:r.x)>p&&(m=d+1)}),m},to=(e,t,r,o,n,i)=>{let a=lr(e,t,r,o);return Ke(a,n,i)[t]??null};import{proxy as vl}from"valtio/vanilla";import{zylemEventBus as bl}from"@zylem/game-lib/events";var xl={debug:"debug",game:"loading:start",stage:"stage:loaded",entities:"entity:spawned"},ro=class{legacyListeners=new Map;emit(t){let r=this.legacyListeners.get(t.type);if(r)for(let n of r)n(t);let o=xl[t.type];o&&bl.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()}},De=new ro;var E=vl({paused:!1,tool:"none",selectedEntityId:null,selectedEntityIds:[],hoveredEntityId:null,lastTouchedEntityId:null,flags:new Set});function oo(e){E.paused=e}function no(){return E.tool}function ue(e){E.tool=e}function At(e){E.selectedEntityId=e,E.selectedEntityIds=e?[e]:[],e&&(E.lastTouchedEntityId=e)}function io(e){e&&(E.lastTouchedEntityId=e)}De.on("debug",e=>{let t=e.payload;t.paused!==void 0&&(E.paused=t.paused),t.tool!==void 0&&(E.tool=t.tool),t.selectedEntityId!==void 0&&(E.selectedEntityId=t.selectedEntityId),t.hoveredEntityId!==void 0&&(E.hoveredEntityId=t.hoveredEntityId)});var Qn="zylem-editor-state",ke="main",On=["game-config","stage-config","entities","console","bridge"],Al=e=>{if(!e)return[...On];let t=On.filter(r=>!e.includes(r));return t.length>0?[...e,...t]:e},kl=()=>{if(typeof window>"u")return{};try{let e=localStorage.getItem(Qn);if(e)return JSON.parse(e)}catch(e){console.warn("Failed to load editor state from localStorage:",e)}return{}},El=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Qn,JSON.stringify(e))}catch(t){console.warn("Failed to save editor state to localStorage:",t)}},Te=kl(),[b,P]=zl({debug:!1,tool:"none",paused:!1,hovered:null,selected:[],lastTouched:null,panelPosition:Te.panelPosition??null,panelSize:Te.panelSize??null,toggleButtonPosition:Te.toggleButtonPosition??{x:0,y:0},panelOrder:Al(Te.panelOrder),detachedPanels:Te.detachedPanels??{},openSections:Te.openSections??["console"],panelZOrder:Te.panelZOrder??[],docks:Fn(Te.docks),dockDefaultsApplied:Te.dockDefaultsApplied??!1,draggingPanelId:null,dropTargetIndex:null}),de=()=>{El({panelPosition:b.panelPosition,panelSize:b.panelSize,toggleButtonPosition:b.toggleButtonPosition,panelOrder:b.panelOrder,detachedPanels:b.detachedPanels,openSections:b.openSections,panelZOrder:b.panelZOrder,docks:b.docks,dockDefaultsApplied:b.dockDefaultsApplied})},ao=e=>{P("panelPosition",e),de()},lo=e=>{P("panelSize",e),de()},kt=e=>{P("toggleButtonPosition",e),de()},Et=(e,t)=>{P("detachedPanels",e,{position:t,size:{width:350,height:300}}),P("openSections",r=>r.filter(o=>o!==e)),P("panelZOrder",[...b.panelZOrder.filter(r=>r!==e),e]),de()},sr=(e,t)=>{P("detachedPanels",e,void 0),P("panelZOrder",b.panelZOrder.filter(o=>o!==e)),P("docks",wt(b.docks,e));let r=b.panelOrder;r.includes(e)||(t!==void 0?P("panelOrder",[...r.slice(0,t),e,...r.slice(t)]):P("panelOrder",[...r,e])),de()},St=e=>{P("panelZOrder",[...b.panelZOrder.filter(t=>t!==e),e]),de()},cr=(e,t)=>{P("detachedPanels",e,"position",t),de()},dr=(e,t)=>{P("detachedPanels",e,"size",t),de()},so=e=>{P("panelOrder",e),de()},co=e=>{P("openSections",e),de()},mr=e=>e in b.detachedPanels,$e=(e,t,r)=>{P("docks",lr(b.docks,e,t,r)),de()},Me=e=>{Be(b.docks,e)&&(P("docks",wt(b.docks,e)),de())},mo=(e,t)=>{P("docks",e,"thickness",Math.max(1,Math.round(t))),de()},Yn=e=>Be(b.docks,e),fo=e=>{if(!e||b.dockDefaultsApplied)return;let t=ar(),r=!1;for(let o of["left","right","top","bottom"])for(let n of e[o]??[])n!==ke&&!mr(n)&&(P("detachedPanels",n,{position:{x:100,y:100},size:{width:350,height:300}}),P("openSections",i=>i.filter(a=>a!==n)),P("panelZOrder",[...b.panelZOrder.filter(i=>i!==n),n])),t=lr(t,n,o),r=!0;r&&P("docks",t),P("dockDefaultsApplied",!0),de()},Ct=e=>{P("draggingPanelId",e)},We=e=>{P("dropTargetIndex",e)},Pt=()=>{P("draggingPanelId",null),P("dropTargetIndex",null)};wl(E,()=>{P("tool",E.tool),P("paused",E.paused),P("hovered",E.hoveredEntityId),P("selected",E.selectedEntityId?[E.selectedEntityId]:[]),P("lastTouched",E.lastTouchedEntityId)});import{createStore as Sl,produce as uo}from"solid-js/store";var[Cl,po]=Sl({});function go(e){return e?Cl[e]:void 0}function yo(e){po(uo(t=>{for(let r of e){let o=t[r.uuid];o&&o.url!==r.url&&ho(o.url),t[r.uuid]=r.bounds?{url:r.url,bounds:r.bounds}:{url:r.url}}}))}function Zn(e){po(uo(t=>{for(let r of e){let o=t[r];o&&(ho(o.url),delete t[r])}}))}function Un(){po(uo(e=>{for(let t of Object.keys(e))ho(e[t].url),delete e[t]}))}function ho(e){e.startsWith("blob:")&&typeof URL<"u"&&URL.revokeObjectURL(e)}import{proxy as Pl}from"valtio/vanilla";var q=Pl({id:"",globals:{},time:0,config:null});De.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)});import{proxy as Tl}from"valtio/vanilla";import{createStore as Il,reconcile as Bl}from"solid-js/store";import{subscribe as Dl}from"valtio/vanilla";function mt(e){if(Array.isArray(e))return e.map(r=>mt(r));if(e instanceof Set)return new Set([...e].map(r=>mt(r)));if(e instanceof Map)return new Map([...e].map(([r,o])=>[r,mt(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]=mt(o);return t}function ft(e,t={}){let r=t.key??"id",[o,n]=Il(mt(e));return Dl(e,()=>{n(Bl(mt(e),{key:r,merge:!1}))}),o}var jn=100,$=Tl({undoStack:[],redoStack:[]}),bo=ft($,{key:"opId"});function Ml(){return $.undoStack.length>0}function Rl(){return $.redoStack.length>0}function Gl(){return $.undoStack[$.undoStack.length-1]?.label??null}function Hl(){return $.redoStack[$.redoStack.length-1]?.label??null}function Vn(e){$.undoStack.push(e),$.undoStack.length>jn&&$.undoStack.shift(),$.redoStack.length&&($.redoStack=[])}function It(){let e=$.undoStack.pop();return e?($.redoStack.push(e),R.send("scene:operation:apply",{op:e,direction:"undo"}),!0):!1}function Bt(){let e=$.redoStack.pop();return e?($.undoStack.push(e),R.send("scene:operation:apply",{op:e,direction:"redo"}),!0):!1}function xo(){$.undoStack=[],$.redoStack=[]}import{proxy as Fl}from"valtio/vanilla";var S=Fl({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:[]}),vo=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};De.on("stage",e=>{let t=e.payload;t.config!==void 0&&(S.config=t.config),t.backgroundColor!==void 0&&(S.backgroundColor=t.backgroundColor),t.backgroundImage!==void 0&&(S.backgroundImage=t.backgroundImage),t.inputs!==void 0&&(S.inputs=t.inputs),t.variables!==void 0&&(S.variables=t.variables),t.gravity!==void 0&&(S.gravity=t.gravity),t.entities!==void 0&&(S.entities=t.entities)});De.on("entities",e=>{S.entities=e.payload});import{proxy as Ll}from"valtio/vanilla";var pe=Ll({entities:[],armedTypeId:null,lastTypeId:null}),Re=ft(pe);function zo(e){pe.entities=e;let t=new Set(e.map(r=>r.id));pe.armedTypeId&&!t.has(pe.armedTypeId)&&(pe.armedTypeId=null),pe.lastTypeId&&!t.has(pe.lastTypeId)&&(pe.lastTypeId=null)}function et(e){pe.armedTypeId=e,e&&(pe.lastTypeId=e)}var wo=new Set;function Ol(e){return wo.add(e),()=>{wo.delete(e)}}function Kn(e){for(let t of wo)try{t(e)}catch(r){console.error("[zylem/editor] scene operation listener failed",r)}}var{channel:R}=Ql(),ko=!1,Dt=0,Eo=[],Xe=new Map;function ei(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 Yl(e,t){e.name!==t.name&&(e.name=t.name),e.type!==t.type&&(e.type=t.type),Ao(e.position,t.position)||(e.position=t.position),Ao(e.rotation,t.rotation)||(e.rotation=t.rotation),Ao(e.scale,t.scale)||(e.scale=t.scale),t.bounds&&!Zl(e.bounds,t.bounds)&&(e.bounds=t.bounds)}function Ao(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z}function Zl(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height&&e.depth===t.depth}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 Ul(e){q.globals[e.path]=e.value}function Xn(e){e.stage?(S.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},S.backgroundColor=e.stage.backgroundColor,S.backgroundImage=e.stage.backgroundImage,S.gravity=e.stage.gravity,S.inputs=e.stage.inputs,S.variables=e.stage.variables):(S.config=null,S.backgroundColor=null,S.backgroundImage=null,S.gravity={x:0,y:0,z:0},S.inputs={},S.variables={}),S.entities=e.entities.map(ei),Xe.clear(),S.entities.forEach((t,r)=>{t.uuid&&Xe.set(t.uuid,r)}),Un(),ti(e.entities),xo()}function ti(e){let t=e.filter(r=>!!r.thumbnail).map(r=>({uuid:r.uuid,url:r.thumbnail,bounds:r.bounds}));t.length>0&&yo(t)}function Nn(e){let t=S.entities;for(let r of e){let o=Xe.get(r.uuid),n=o===void 0?void 0:t[o];n?Yl(n,r):(Xe.set(r.uuid,t.length),t.push(ei(r)))}ti(e)}function jl(e){Zn(e);let t=new Set(e),r=S.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,Xe.clear(),r.forEach((n,i)=>{n.uuid&&Xe.set(n.uuid,i)}))}function qn(e){yo(e)}function Jn(e){e.paused!==void 0&&(E.paused=e.paused,P("paused",e.paused)),e.debug!==void 0&&P("debug",e.debug)}function _n(e){E.selectedEntityId=e.selectedUuid,E.hoveredEntityId=e.hoveredUuid,E.selectedEntityIds=e.selectedUuids??(e.selectedUuid?[e.selectedUuid]:[]),io(e.selectedUuid)}function $n(e){zo(e.entities)}function Vl(e){e.kind==="create"&&io(e.entries.at(-1)?.uuid??null),Vn(e),Kn(e)}function Kl(e){ce(`[${e.level}] ${e.message}`)}function So(){Dt+=1;let e=!1,t=()=>{e||(e=!0,Dt-=1,Dt<=0&&(Dt=0,ri()))};if(ko)return t;ko=!0,Eo=[R.on("game:config",Wn),R.on("game:variable",Ul),R.on("game:status",Jn),R.on("stage:snapshot",Xn),R.on("entity:upsert",Nn),R.on("entity:removed",({uuids:m})=>jl(m)),R.on("entity:thumbnail",qn),R.on("entity:selection",_n),R.on("game:notice",Kl),R.on("catalog:snapshot",$n),R.on("scene:operation",Vl)],Xe.clear(),S.entities.forEach((m,h)=>{m.uuid&&Xe.set(m.uuid,h)});let r=R.getState("game:config");r&&Wn(r);let o=R.getState("stage:snapshot");o&&Xn(o);let n=R.getState("entity:upsert");n&&Nn(n);let i=R.getState("entity:thumbnail");i&&qn(i);let a=R.getState("game:status");a&&Jn(a);let s=R.getState("entity:selection");s&&_n(s);let u=R.getState("catalog:snapshot");return u&&$n(u),t}function ri(){for(let e of Eo)e();Eo=[],ko=!1,Dt=0}function Tt(e){R.send("debug:set",{enabled:e})}function se(e){R.send("tool:set",{tool:e})}function Mt(e){R.send("playback:set",{paused:e})}function Rt(e){R.send("entity:select",{uuid:e})}function Co(e){R.send("entity:focus",{uuid:e})}function Wl(e,t){R.send("stage:variable:set",{key:e,value:t})}function Gt(e,t){R.send("entity:transform",{uuid:e,...t})}function tt(e,t){R.send("add:type:set",t?{typeId:e,props:t}:{typeId:e})}function Xl(e,t){R.send("entity:create",{typeId:e,...t?.props?{props:t.props}:{},...t?.pose?{pose:t.pose}:{}})}function fr(e){R.send("snap:set",e)}function ur(e){R.send("grid:set",{visible:e})}import{bridgeDebug as ut,getZylemBridge as Nl}from"@zylem/bridge";import{proxy as ql}from"valtio/vanilla";var Po=200,oi=60,ee=ql({capturing:!1,paused:!1,entries:[],stats:[],dropped:0}),Jl=0,Io=null,pr=null,gr=!1,_l=e=>`${(e/1e3).toFixed(2)}s`;function Bo(){let{channel:e}=Nl();ee.stats=ut.stats().map(t=>({...t,retained:e.retainedSize(t.type)}))}function $l(e){if(ee.paused||e.kind==="deliver")return;let t=ee.entries;if(t.push({id:Jl++,time:_l(e.t),kind:e.kind,type:e.type,bytes:e.bytes,summary:e.summary}),t.length>Po){let r=t.length-Po;t.splice(0,r),ee.dropped+=r}}function Do(){return ee.capturing||(ee.capturing=!0,gr=!ut.isEnabled(),gr&&ut.enable(),Io=ut.subscribe($l),Bo(),pr=setInterval(Bo,500)),Ht}function Ht(){Io?.(),Io=null,pr!==null&&(clearInterval(pr),pr=null),gr&&(ut.disable(),gr=!1),ee.capturing=!1}function To(e){ee.paused=e}function Mo(){ee.entries=[],ee.dropped=0,ut.reset(),Bo()}function Ro(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 es}from"solid-js/web";import{createContext as ts,onCleanup as rs,useContext as os}from"solid-js";import{createStore as Go,reconcile as rt}from"solid-js/store";import{subscribe as Ho}from"valtio/vanilla";var ni=ts();function Fo(e){let[t,r]=Go({...E}),[o,n]=Go({...q}),[i,a]=Go({...S}),s=Ho(E,()=>{t.paused!==E.paused&&r("paused",E.paused),t.tool!==E.tool&&r("tool",E.tool),t.selectedEntityId!==E.selectedEntityId&&r("selectedEntityId",E.selectedEntityId),t.hoveredEntityId!==E.hoveredEntityId&&r("hoveredEntityId",E.hoveredEntityId);let d=E.flags;(t.flags.size!==d.size||[...t.flags].some(g=>!d.has(g)))&&r("flags",new Set(d))}),u=Ho(q,()=>{o.id!==q.id&&n("id",q.id),o.time!==q.time&&n("time",q.time),n("globals",rt(q.globals)),q.config===null?o.config!==null&&n("config",null):n("config",rt(q.config))}),m=Ho(S,()=>{S.config===null?i.config!==null&&a("config",null):a("config",rt(S.config)),i.backgroundColor!==S.backgroundColor&&a("backgroundColor",S.backgroundColor),i.backgroundImage!==S.backgroundImage&&a("backgroundImage",S.backgroundImage),a("inputs",rt(S.inputs)),a("variables",rt(S.variables)),a("gravity",rt(S.gravity)),a("entities",rt(S.entities,{key:"uuid"}))});rs(()=>{s(),u(),m()});let h={debug:t,game:o,stage:i};return es(ni.Provider,{value:h,get children(){return e.children}})}function ze(){let e=os(ni);if(!e)throw new Error("useEditor must be used within an EditorProvider");return e}import{createComponent as ns}from"solid-js/web";import{mergeProps as is}from"solid-js/web";import{splitProps as as}from"solid-js";import{Dynamic as ls}from"solid-js/web";var sp=e=>{let[t,r]=as(e,["icon","class"]);return ns(ls,is({get component(){return t.icon},get class(){return`text-current ${t.class||""}`}},r))};function ii(){let e=S.config,t=[];for(let r of S.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 yr(){return JSON.stringify(ii(),null,2)}async function Lo(){let e=yr();if(!navigator.clipboard?.writeText)return null;try{return await navigator.clipboard.writeText(e),e}catch{return null}}var ss=new Set(["INPUT","TEXTAREA","SELECT"]);function Oo(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let o of r)if(o instanceof HTMLElement&&(ss.has(o.tagName)||o.isContentEditable))return!0;return!1}function cs(e){return!e.metaKey&&!e.ctrlKey||e.altKey||e.key.toLowerCase()!=="z"?null:e.shiftKey?"redo":"undo"}function ai(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=o=>{let n=cs(o);n&&(Oo(o)||(o.preventDefault(),n==="undo"?It():Bt()))};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}function li(){let e=no()!=="none",t=pe.armedTypeId!==null;return!e&&!t?!1:(t&&(et(null),tt(null)),e&&(ue("none"),se("none")),!0)}function si(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"&&(Oo(o)||li()&&o.preventDefault())};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}import{subscribe as ds}from"valtio/vanilla";var ms=new Set(["translate","rotate","scale"]);function fs(e){return ms.has(e)}function Qo(){return E.selectedEntityIds.length>0||!fs(E.tool)?!1:(ue("none"),se("none"),!0)}function Yo(e={}){return e.enabled===!1?()=>{}:(Qo(),ds(E,()=>{Qo()}))}import{proxy as us,subscribe as ps}from"valtio/vanilla";var di=Math.PI/12,me=us({enabled:!0,translate:.25,rotate:di,scale:.1,gridVisible:!1}),oe=ft(me);function ci(){return{enabled:me.enabled,translate:me.translate,rotate:me.rotate,scale:me.scale}}function Ft(e){me.enabled=e}function gs(e){for(let[t,r]of Object.entries(e))typeof r=="number"&&r>0&&(me[t]=r)}function Lt(e){me.gridVisible=e}var Zo=!1;function mi(){if(Zo)return()=>{};Zo=!0,fr(ci()),ur(me.gridVisible);let e=me.gridVisible,t=ps(me,()=>{fr(ci()),me.gridVisible!==e&&(e=me.gridVisible,ur(e))});return()=>{Zo=!1,t()}}import{getZylemBridge as Hf}from"@zylem/bridge";import{createComponent as sl}from"solid-js/web";var fi=`@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-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,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAwmVYSWZNTQAqAAAACAAHARIAAwAAAAEAAQAAARoABQAAAAEAAABiARsABQAAAAEAAABqASgAAwAAAAEAAgAAATEAAgAAABIAAAByATIAAgAAABQAAACEh2kABAAAAAEAAACYAAAAAAAAAEgAAAABAAAASAAAAAFQaXhlbG1hdG9yIDMuOS4xMQAyMDI1OjA0OjI2IDE1OjA0OjM0AAADoAEAAwAAAAEAAQAAoAIABAAAAAEAAAEAoAMABAAAAAEAAAEAAAAAALnGOawAAAAJcEhZcwAACxMAAAsTAQCanBgAAAQpaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjEwMjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTAyNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDI1LTA0LTI2VDE1OjA0OjM0PC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5QaXhlbG1hdG9yIDMuOS4xMTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8dGlmZjpDb21wcmVzc2lvbj4wPC90aWZmOkNvbXByZXNzaW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzI8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOkJhZy8+CiAgICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cs7dBfIAAEAASURBVHgB7H0HgF5Vlf95X52eyaSQCgEiCQk9IAIuBFEQFUTdoGIXxYINdVfXxrju6q5tV3f9qyh2UYmNJoKFEQQUCCCQ0HtNZpJMn6+//+/3O/d9M1EsuCKT8O7M924799xzzzvn3PLuu88sdSkHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQdSDqQcSDmQciDlQMqBlAMpB1IOpBxIOZByIOVAyoGUAykHUg6kHEg5kHIg5UDKgZQDKQeeAA5ET0CdaZWPOwfiyHotsvVro9Ur5zTvcV+z3l+ZrVgR2wbPW91MN+vrQ94c5K3cEFvv6bFZhF/qdlQONIVjR23gjt8uKPuatZlE0ftOX1236G+otDHwf7gvKz6u74/t7DWNvyn+Hf8GTesWpgZgWt+eP0Jcb29mtR2RmbNidbz2xKj++1A9L/tsV0/PvEUj1dK8nvb2haMNWxxbnGvL57sKmbgdXXpLHCPFomoc10YqtXikWmvUCxmbyNUqtw2Vq0MzM5WHBm595OH+vt7R38dvvXEGY4WM0SCsPbGB/HSU8AdM2j4SUgOwfdwns6D0ffarBsJUOrmdjv5E+4y9F6+ICh0HWja7CkP2vaNsZkk2G82Ks8VsNpszpAMWOgql548DhLhBAxAcOnkZhLhhjVrVrFG3uDxRiRuNzY1K7Z64VrvN4uq1Vild0zL40C3r1/ZuSYrK770kZ5w69J0OY/Q3HH1sU0kaeTw4kBqAx4OrfzOccbS6ty/bZ6uh9FFT6Ze/40dLrJh5VpTNPsty+UNzhfzCbEu7WQaKXK1aXK9BoTkTsDoUXRofxw1EI+i5tF22gEaBig8XGwyCu5hAAI2yFmXwj87esshuWG1inIahH0ZifVyr9zUmxn/eec0vr16/fm0lFIahgjHwkcEfjEyaMGlg2nAgNQDT5lZMIQQKuBrz7r7eI2tJ6qLTzl7a3tL2vLhQfFEhlzko29ZZzECl41qFCg/jENeDcvOe4od+XorMjh5w9IKuK9CAoicpPjJgORkCXCLoO7NZAiEFgS3OxpbNWAajCuCsl8bMShP31MvVX1qjcm770IO/wOjApwwYsVif4ddLQ0A8qZuGHEgNwHS6KckwPyj+okM+3dp6xLIT8vnMq7LFwuo8lJ49dqM8xg4a83eoZBTBDsAS0EmlfTjPKGE13EeHnugg06wBBWdCYiBcv91KYKQAECls3Kgzzf+ZCKsgpAgADzFlMlEmG2Oa0cDIoz4++lC9VPlhfqz/63d99z3XkAY5jgp6j0wNQcKPaeSnBmA63Awo4tQef+7rvrTTzHm7nJor5F6Tb+9chJE9evoSVY5jeyqvD89BuzR1ahuowK71nioFDlDymEAl5wChAcxhIKARgbTce38NAZLpAmFVTjhpCLiGAFpoFIgMBgFeJpeLsgUYghFrlMYvz1RKn7vn66d+t0mmG4LmqGYq2Wn4ieFAagCeGL43a10NpUiG+kvefPa8Yk/XO/KF7BsLXT0z4uoEF+QwqbcIM/gsJubo0ROl562jRjOBc3ZEAMc0GQDWwGzGpauKIEp9bWY4EjcqHP4rjwoOJK70Ki9DIESOSyMB4BVioOQsQT+WwuKDZaNcMcOZSX1saEM0Nvrfc275+tfWrVuHFUbgwmNLPD1I1wh4e55gRwFI3RPBgTVnZ5Nn6kte/dXu4pKd35vLRqcWO7s7rDoOvYfiU+k5vNcIP+gqaPWbBo1HAP03AkHpHQQQVEx60EeqqfQ9iYdMlkkyNCVojgSo+xhx4CfQACd44GAqnyCwrAxFEob9gCGggVEm5g8wCVhEzOXiOGvx2NY7M+XKv93zzVO/Riy2ujdnq7G+MOWJhtLTy9+VAy5Lf9cqn/SVRatO+WJu3RlvQG9otsd7fvL6QnvrRwozZuwUY24PnYHic4jv83rdoKYBQIEpd0z6i7iMgKsdAFz5Xf+hjJwOaIVfXToRCCCuhzzCh+E/R/OEdwWHMuMf+DAloLqzGEcPCPj8AXE49f7MY3IYXXgaM1FWCwkNPLHI0xDURwavyo8P/tPdZ7/3UmK3U76Yt8ALxdPL35UDU8Tp71rvk7My9vph6Lv4tHMObO9s+9+2nlkHW73MlXwYBD56Y49PPdcFUeodU6F7vFvQNVxCyGGowACnlk46V1mPq6emjkLB5SXwVFqCwKfyU48VYTrTmMkUGg8mKcy45wsvh/5IYu8fnh4IDnsJHE5Tgwg0YnNBoxFnC/kYTc2Mj357Vmn4tOvWvq/fyBdtPe6VySFFqfv7cIACkbq/AwdWnXJNft0ZB6rXX/q+C3rbu2acXmhrhe5PVKkWXE6XzkcZjJtxWzi0z1DTGaYHHaQ+ugqTYqUxD6BUQf0rP+nRCeTKqsJeFMpLeA37QzEipvozTfAIs/cmRqikGw7kMEySpo4I9DyAxsONAsrhn2EZBgTqvqjoAwGmwxCAkkJLtjEyONg6PvK2O9a+55tskKYFfb3pIqGY8fe5UCZS97hyACv83MyDR3t7nPaD3TIze77bPrPnICuPQBfQK2Yy2mffHPFD0TXih/ZTmafeICjkpKN2Mn+KAaDyEh5axwsVUSMDKqc6c5Z2xRQURw5UVSYTAAQ1LYkrMbKIg8qNksTvASo3wzQYSAlK3kyTUSA+PUYEWloOGgZZE/h1NLFRxZ6CfIx2RsNbfrBw+NrX/vbCbw+nUwLdjb/bZap8/d0qfdJUxD3zYQffnu+78CXZttavtHR2tnKbLdQhz3E9HuNDk6C3VGZqfiZDvWbErzAIDGzjXCGbSVJ0pgmWiknlo0+sClH5EHb9VpbiqhrA6q0BCQWFI6xKhxGBpxEpUSa9PcGZ4MaAxoNhGhLoP6slHvrw6OvnowEMK7THABloZh1blvP14a33t1WHXnLn93uv0JRgLV46Er0iKb08ThzgPs/UPR4c0DNv3777lPf/9L9a5879TqEl39qoYMhvcSGD/fn4xXq4hwf9HobyU/E5G5BPPaQhYNqUH+BhOLRNl1t1E8Mx2QzaE8GH8kRBQ6PpAiKwDBngpsEAmA85OFpAhKAchXDaQSwwSIJThi5QadLlrhngWETjEcfLyhRXEb/4YEUZSCDeTAR7kYurpYq1ti0eb+m5fNd//MhbfZ0EeNas8bcQvar0+jhwwO/444D4yYwSq/yY73OV/9Ute/a+7Pz2njlHNUojNWgEZvpQKSg+lc31TbcAOucKSh+6jYEAdtwyNcBxwx37cvau9Ot6yCY1i+rqiZnMeDKMp6IxTh+dKZxGCkxQljKgtfKp9SqfxJu+RgEsQXQwXZx4oL6QjySG2bt7Gnt9xBNkqDPp+Zke6kIhBZWntUGMDOoIYD6QxcBo68avPPTjD51MQn008Mf3DACjy3Av/PVrEF5r1r/6Mcl1H6pZPacPqMw+vNbi09EaIFCcaTuye0yM2pEZ8bdqW6L8u779rJ3yM+f+omvW7JXxxKiG/FTqZo9NxeYWP/ay/EMwm8taIZ+zHEcHNADKn6SMWiOphE+lr9bqVq3WYAy40IY3+ZTtishShGcNKoeCgGFVDkUNJDZ5NBrQWS7U0RAAEQrhPygtIWlwVAZhKbnX47CJAQCMDIKXJQ7++CIRFhi9PNMUDkZCYdSrdQO+zmB1w5MCGIG+ZT/+0LF9eNsgWRyMe2Eg1qMFiYLPmRNHa9c+LhuKzsboY01/v+vH6r5G1OucAit2KOcN3KGa9MQ1Jlnp73jNt1YsWjL/ko7uGXMbZQxvIytwKA1mo0vHsJ/re7xw8I14ATuAisVCnMV7NhrO/14TqDN01NzkhjGJ4So6zvHxMkYB0jwpmRQ1KcRS0k8pHCtGNhUSxQEDohw7e3qqK5Uf83xi8ycFSHYExA1Dw+JIYtkw70fYy6nnVznWKmPAsoQjCKyW0n0EAaPFNOJw4wAw0lUjhZVqJlfIDG2+6fCxB5++9udnDJ2NR4UnPsruwXjVqrytW9c+9KK9ezJRfWE8WmmrtbYszNars7AFAZy1PFBlq5mogHFVlKlW2VA8eanVcU8qMLyjcZx5OB4Z2JztaC9ny4172352/xbwtgRGbOPi1atzxpHCWi6EoCk7gEvkaQdoyhPbhET5577u6/vM2XnxFS2dHe1xtczdfHkp/+RQXoRC0aNCMR+3FAro8TWp96m41JqyFTSTq/BUG6iFi1yQO3hMoMGoVOs2NjYhKBSEWrEnDvyg8ilNV2QqoszmiIAxKDWnFxogUC8JGIb/0lMpMnWZCKi8BAk4XYGJmACJ4geYyScBeiogG4ALCXQk7gsHDQCnBBwRNMqNLDg0uPmmJbddfOjlt14+csfzD1q8U2P4KdVCYQX4sw9o3S3O5heh1jn1TLatJZtpwZ5DvK8IQ8o2BZ7TZ7VKE83MctGn0eEQgiMqbH60Wr0+CtM8YLXqneD8hkytflU8Ubmu56I7bkGJ5mhDxsBHBgmnWeN255wL2x3Z04vgZNg/Dz3/nN0W/qalo62zXq1wRx+UHz0+HUYAen0XpBfyeWspFqJcPqdRARUpk0U+1BxiCjGE4yKcemuEcZdcCZUjQYYCOSzvIIzE6HgJU4JaAIVKeI/OwgD1Dks4gIpYpLyh12d5FAxwzGJPT7mWDguX99LKU1nVT4uhf/biLOYGAAVQXjksCzyMI1NKjuqh4A5LmwVAKryKMw/wTKvXokLcqN5nUf7ZpZE7v5X9xsZq1LVvS7HYXsyBU8DKlw6qdSouUbOcK6iQIw+DLNEEUFd4wCWOIRo7Ggc0l+0nl7H5OpPJIVrA0IE+lybGy1USfGumVvt1tjL+467r7uyLHjC8qIESHBX09aEBIilBv934FJ/U/R84kLzMs/R131pU2GXh9W2dHbMalVIVKp+nAkPxm3N9zutbWwqG4b7m+KyWWoyRKQ0BZZFa83sOCfinGjHPbxj0hvBMC7+JibKVZHMIJ2WAz1zGqZiTP2gLK2SXLxTIQiyUoT6ol6cGTylDPFoHcPxSbBoKAbmC0yigkGwBfZ8qEC/D8GkASHEYQSBRXTPpFc2ki/hgEKDQLBR1Nmq1OyyfW1u7245qvdBGK7PqWbyoAF6xclpWci0osPhJNYYTa5AlFoQLImQyXZKeMFEJiDgFAMD7V7QzjihXxCitFVXVse4yUa7cZ7Xyd7ITW78w86eP3CN0MARRX992t4mJE9HU/bUcwLzU3+Q7pa24eP7F7V2dsxpVV35IIOUQ8kPZzFgul7PO9lYYgCJX96W8vhTgskvRk7ipzKScijTBEwuLUdhpM3jrQlkognBSqCnQAiMU/j2BAh+wIIUhKj2nFYIJZVhWSkUUxK1MbwKTtCjJZnnTWCo4YgvQTGGE+GVgGPZalMwYn3ioAMoRBvgEHwBCBagwHsXbRLuin18zMaf22/GDG91Rf6aB946hpzyVBCP+hiMLCk1stEIwIwBhM50Y1sohgfQ8wCoNYYcJdSd3je9jNDAIaMT8YbG1Xh8s12sjFtWstXXntpnd76nMmH/zwIuW/Ue8ymZQ+WMsHG5TnyqY3pfQ6ulN5LSkDooCqZYo7fGBi6/smjvnaY3SqPf8XPBjLgUOYa7st7e1hF6fyosWuYIRSDLpmCZxQngJ4j0jRZpMwEU9aGAIVVSjcMRLJYwAsOQgCBZOYBFWlD08cz1C5UCQUwNHTSDiCsCCQ6+NfI7efTTAvORpQBglqL9UD65RA6njaIBk4qmEhuWO02GaowE2iPWjvpAmghBmx8+08C4BFus4lIqzpRG7b7QWXd51e2NZ8VorVWfixQl2uCSRvGJTFAwmkk0kC+EpD/lKARAy5Lyokj3RcTBbRRRABH4zTQVBYRTVML0rdMMMjY2XB2x8+C2zzr/ze8w+e41hwXJyvUBFpumF3Ujq/hoOhKOyl73/p18Kyo8V5SkLfpr7Z+I8ev527PmngPLPn+vLOqBWCaVLna6TcRdAdkcJrBNJHC7mEEoqTaA9SDtjAPB/AFDRWABJXg6GRnHHrxwiop7AnMH/A+cFlAG9hBMidtLA6dWrmKOdJIiAojYAhaIqjWI+ihBCp8jhHTtrESCimZgHDkaZPPr7cnzYyG5Rf3VJVIxw6AgPJ05ICBWTFPyDNaCblwQ58z0vQa261QBVxQscYfBjcRUNjOV9EKwXYMtx8kk9Hqw0Ko2Wltmts2Z9d/MJe36ZKKj8MYwAw9PdpQbgr7hDXPHHEVe1Pd57weva5+70ukZprAr10Zyf8sGen9rBYX8Hhv0uUxBlcjvIGauVoLkmMco8juWlcUHOoOFTC0AwBYYLAol4s6dWL00ciUYoyE1FHI24KhI9LJDSUN6NiyglhQ5LIpgn3/ERp0KcgyCMmsOPBAhUVUzmJYQhBagIJEc6SDeVGqS49WJawB8AmRL+4YFp/MNUwJYqp27/PryP1aIO7KLE8h/5o9EH+QEM+DWrF+5AQZMKh5N2M00wqC+pnD5+SPYU5ge8TFEiL+EHI5OvY0PGUM2qHTO6T950/J5XxgusLYIR4EgAkNPapQbgsd4ezPv5Vt/SU89amW8rfsEqYxQ8HNwhRFQqOAgQFK+tFY//EUFCjFV+AEjsGJfIswjzKU1KYzgIlqYJRMlsOQ8IXPqHxKBbHI5zzQxRIRAMs6nwSKHvYXXbji65soQLuMbMSlbPDkJgFDjY1YCXGT4CID7pBDGL9oQQtoNwgQB6+jGNOayHjh4BA5ziSAhRVpwACh1h+WhvE4zACtiOb9Vz9t3h/aKWTInTc+FKWOK4gtUM9cnSOCavGhWxzaLNYUQ474FKihDCoGbgFxdV3sugRjgOmXhFGjYSZOqN3JZqvdw2q/tp/auW9aFYRiMBb6kXmYbX1AA8ppsCUQibUXJz5n6n2Dkji8dEfPYGUeA/x7Vak4q42IcRAOQAmdRmCiochcx9eRIgJksJASQwgIROTfmcm3spQFJg+d/8xVbBUJTPsUGdioer6BGsKiRddIDj3J5KHgTdw0kp0pCAwnc4kMc0/ykoKIdTHhLDH6l3xRG4wyRlRUFoDA2LGgJ4FgAe5agEQwmNpBMvTebxewDD/j3zdTut0mPXjO1vHbmtqBlDgSjGAWT8SAp+EdQxgm2IsF4Yfp6OBTx/VAgYEUxyAm9ZGWpu0iye64LalZXcO29RIB2lCcQ0LH4URyqNUvesnoO2PH/5mUK+Zs201rFpTZwYOI0uq045gyvP9pR/Pu/jbT1z9uZbfZBNpMkCUJAoqlEei36FAuasiHHYj38+DQxQSgYWQDIIGPw0hpa0MRWOuYKAr1FCc37uwiYYlMU7AVG1gt1zCbBKCR3FFsBQBeB34ea4m5XSGNBc0PNa6fmiH/IZVn3s5IAYYZZTmSk+crxWbz4jiiuqEGtlwE2Th5NCwo0klgoKxGkIoJniHqMM4kojCgOAZf9oK4xANl+1V07sEm+pL8nMLU7ku7OZfHemkevAr9Nq2Q5rZNujerbN6vAb2Q7ssJ6Zi/Izitlcaz6bw/sY2HiRqYMKHn7Gf7GI5KCtk0xm5Wz8tumBKGYyW2R7oF4vbqk2qsXurlcPP2fJ87lVWXsFHHTaXb0h046saUjQ2Ti15sQT60tPPfuQtsXzr8CInsvcnFNTobTCT03jEXitrS3c6EMt4saSIB2EC+IsP8gYYdBcXCWAujCOn98cpCDCn4SQPiJasUcQz6T5PoBQBBn2whTLcOwXi6gMV+XliBM/jZ+JnCMO+sinp2E/INB/wigIlqlwWuFvphGHVuzdRz7BBN+EIR0cnQg3cIUnA6yDwxzmsE7WzfKOj2iwwt/ER7rQdeO04Rq+RUCOzcVnEG6P85mPxf39p3Z8+RvDo8u2trTED2Sq9U358mA5Z9i2g9PVapa3eq4tl+3o6MAHTZbGmfzulsvsj8OXlhULhR7sErZRmIBGPcbhqw3O2WmqSZGzHzWLZcmFNCGHnrskoFugJFi1RrGQzdbHJ+646fu/2/NIbDBkKRZLSk0Xn1Sn7s9zoHl3V374F9e0dHWuapQn+AwKx2Bjpx9vbjaHnX4W5QoFzP1bsHUlnO71Bz0/Snm/59LARTmMXaUKooP9JHtsd1IqFmECJciVRvEaRHy8xA2HQOElVEyKywm7I4HOyQahCm20QVkhg65BCVFYPtJkD1gKyih8UlwqJeC1ew+eFJiYCRaMQ3IgCOhA3V6PfJZFnYJlBYBXUdGBLKKRcnPE4eUYV726kBH4852C9YlRq0/wmwhmFeDqAe33VeoZG6kfYVd/5tLAsr/Ii1fb7OHOPQ6q53LHN/L5F3W2ts4ZZpWNuIp2cfjGmiedzDSiIEj3oZnHNiCdEgLHu4creoJMdQYeAo1s2fKauT+582scBUzHjUKBbNGeXv4IB5Ktvkvffe47Ohct/i8rDfOBex7dPlfUIZAc6nPHX8aKmPu3cbMPrEHyyI9oKT/UtklH+fIUlzTOJRCSxAM2+FOlS3kUQDgu+k3g2b/S0NNTDFnHJAwiVHDhxMV9eFQ+IJDiMznEWZKGgul8u1CkEBABKQbSpO8sE+j0BKzpx1ZGXWW8zIdKnXTpL3fIAlphFHbjwTpJEOljrQGf9/IA9rhgWQ+m9SiPRCl/fQJbcdBQluMYohNdeXdlYsur2+5e9u7zzhu4Bi8HrdptHZBs6/rwBuHqJOkSbN0FiiQaP3PmjC1tc06utbR+oL21deZotV4FQ7FPGw4kEE50wmeDeCHZcgyQoCQFUd1XzM7acplceWL80jk/uPEIvsmINwr/gK6A5Qnz1J4nrPbtoWJ+4gpHV89b89k5M1csv62lva0bCtKgdnNemgz/MadUuL29xYqY/1OTkE3hkHz8MUa7HEHxIGgPlmtWwt7zmhSjwVfWJH3Y7o4Hy1AA+FzFmoBCTIxXIP7SLNcG8pLCSISsjApEhQ4CrDhshGCCQgV4h1BZVz4aBYhqGBIwLcEX5JewvtDnFWKrfLGrGO+KUU8ZZdFi6DENAVHj4mEFGZUhAAb6j2oAWAp8IB2OgiMAJGH4z1EAeYqCod2Naj1TLMweG/z8Xb/63JuTV4eB/k86EI7vE2C4D8OQ9MwPL7U5ub33+gp2dD5vuIYdSA1NCbz9qvL3UZIPIYM8p2OSPATQC0T1WrllZGBl94X33zkdjYAWtZzk9PpoHOBnuPsg7Z3L9vhwy8ye7hi7/XDP87i1EEmIop7b+91nr483+1w4QzpHAQSUk+BuWwt3DKBY3I/3+j/79J2i5fPxWQDYF5ZSMaKGFiSOQfaSrlwJmBTd6wnFWDgU4+jAcSVIpvq0VAAgaXT0QlgeLwRJ8gU0eWEfqXMJ3v/1y+yb9wzZnm1FjAaEUASwcrAJV45GWBMcyqin59qn00ko5FOreaXHMlw/oSVilDSAtyyua8CFNddsXGkMF4pvOuDI15157SW963SS0J85JwA4+FovrEwfEUV2yqpcdMa6frvjpuMGjl/2/zp7ut80XIlqeI6AdQFCO+lJ/R4jJSodqPI7zVT+wIZaeyFfrLZ0HoDonX19q9GAvmBFkTINXGoA/tRNwJl+fb1RbdEbvv0UvJh6ipXHeIfxkhgFAvcYHsPyILBKVzKUGkIMJ7ERBOqhUFBwVDyRJyRyJb8dL57suaDDrrz6Rrv9/i2YRhQCrAu+cBMBFxzxLT4sNmLwyx9GHpnED+sOrIA/YiAFHA3QaPirtuhKMY7gVlv0suqBATfZE3sZGRiUlbHRQIM4ts1jFZuHxuwfjz7Q3nXC/tE33/WjuG353HiChpH8IAW8aOThpoAxOig+mMM0hmUcSC2gmTQFVu1wOMIqm1ZVxDAOzuBw1Vq+JTNQr34UKccQ7LE4VXrGuqp27/Fd/3NvffPAC/de2NHVcfw49v8DF98y1v3TRVQjlfxg+xT3REbd8a7jhQXcn0ocLWPaas+YVtfUAPzJ29HHLqdRnNnzvnx7V5Z7/SHa0DYXB/VIvO8cDQDS172QgN6fZp6FBQpfIZcRxZKLFI3KAiUt4b3+n6y7z/7fRfeYzWt1waKss+fTc0SE6eMMAcwz8Ct6OI8wXjHWDwLnsKiBPTGH0lgsxKMCrJzxV8YPm2vL8LGGoPzESMhQoMxUnzjYGvpMb+YhzqeJ/SW79NZNtvbfXmEnHzI3OvOOkXj5jPa4DM1HLi/0FEOAETkwDEEt7jENFCScogpxGoE0BpNCTJAxkLFKTAdStVyJF3dqtfFC29F7HfG6Z9209ss/W4MXc9b+mVGAUzJ55e69YATqrRsfftNoduEzrNjaEeEjR7JpoJKEkiRclOSlmTLpyE4CuAkAz6JozmTu9AqlBuCP3Q8/0be2y+u+sWehmH0lvtrD26ren/cWOqkuTHIrQUU2hVQeRRcCThHmbjrKCgoLDL4LCAP4ySMEVAIAczqh1Du326HdLYZzs1WRnoGjQo4CuNCYhQHIQumbP6w5ZHN4xRijAo4OkoVJrthzLs3PC9Zr/IIvvszDXyUH3384GAf0+JSCSt4Ma8TAOIgI+Rq2C4ZpXCJo2IwlXfbTKx60W+960N58wlPjM09da+37t0YT6NSTITvbiX+WccVmWCnSJYR9epDwB60Oyi++IJkIpHIsiLgPHnBFhqIwtnhjD+8LbM20vBcwP1u7ciWG+Dgf8DE6GgEuJLZfvu6hgeNn/wDvcbxquM4lGLx9KDJYI2K8F+FGkghERY1oVSsRAhRNGd4GmysycITZYyTncQdnJ5W6R+WAen8rzuo5rdjVDflqcCjo3RSH9ri5eO7nmi1xpZxioY5Da+RzUEAXpIJZEvmmBCRxlRWg4NnXYBXQJrDiN6ZfA37Dxps/LAAivYSOhb8ywMv0Ua6CMM8fw2tqVuUPYb5Iw96YMF4G5UEMFxLHE/x4Sj2GOllP4o8iPso4fgozDrgR+Y2m318CWxa12Rd+eIXtsWRBtOawebZu6yjelEEl5BI0Vw0DbXBKaTJjSoaCv38Bb6hmYKiXFgcdoadQ+clu3RbsuMBe3HzbM/Ze/fpnGhZuOQr4fZR/SXxVZ6fqy1Tjn+GIIJJL9UZRBNQkBr1dNIq8804aSEEWf3QkS0YCbxIz3pecMcjINHGpAXi0G6GV/yNri1975gJsG3sJ5v68/xgtURZ57xOhhk+5mNT2CO+No8cNj9ZoCCQ8hMFPAh3Ksl7iAYxkSiLHxEdxU4pM5oYCSblE6iSL6jm3AW1mM5Vl9GNjEIb3B/khJUHPYo/maHhWzWy1L597u939wEZ7x4sOjuzOLdaJhmMEQv7gj8MBsALXyYrYqMkU1u9apMZS4bYhSaMEKiFL4c/xEIQMJGVAjdlAFaOgsaj4DqY89v6fpeDCCcFRefj+8CRGtLAaVeVX3TdquVKdiBAM/QJyuFyRqVUeQdBW8zLNXGoAHvWGHCG+FGfOfGWuY2Yn5Qq3mf8ualR4bluVWAABbj6VmI4n9JZ1FCAymU4VIBzDEg/3BE88LCfDwNIIJzgZhfOo4/YUr0vVcWjOVXLihiLqsRqG/fwuL4f2OBTT0wCnk3kJ5/WhnP8J5yRhXsWfuU6lhqAcndiiVvvKOVfYXst2saMPmm3XDo/h9UgRFpRexlBtRc1kjjeOZIRWOqB4zCqYDnJhTDFFUBtFuwN7kGBwgWfAirWAajySzT931eGv3htTgDpGAn+1jOeKeJLPqZeYRmpQF+4VbigNlCqm9WE8TAmUSpLkMDTh49uoXr8tSZpu/l/NnOnWkL8hPRFf9QW+CMf1vgITZtx0PA8O95v1QB68h6KnXXZTtRabYrDYVqngbBBO6ikS/E96NOKhxLKIekgqQ+IIn4Td96iDMCxZpOJLqSF8nOfrx5EHfljww5ZXhOnjx5V+/mgYphgExpEYKksqlTZuS8DU2DbinZTBdmRMJfaf3Wb/ffYGe2TTVnvviYeY3TxgeFXKdccJp/7gn4/2mICoJyDMIBWd6eJtqNV5E0wHsnxjEcHAEdpfMoaxEKYFwHGehXasBbS/Vkj6sDzwWB32BrBIpVjYR491ebentp1KnVh/+ABWS5o9QjPPsqPoDOLR8g0iAYeIPlZSHm/4x86cx5uiJxr/mrPFk13ectaRxbaOFVGtzLfLOHwNtxm+RgAQCpc93Xxmqi9GB8F16XGcBl4pY48+pUM9PMAAozIUJkbZcRA1YFimKWTMJ0Dis1RSBjnJ4p4v8FHxXdGp7Dyzrg7Fr2PVnwaAYRkGwbgR4AjBjUaoBzhVF6Nyoe6Q3UwmD6a6kE+FnuAoYGGrfeHsX9n+K3azow/bya4dLeP7Z2qpUCBIbuCPTwCIDIqkK5EyTQ6+Kz5g2HAkCg4sIJfgiIVKCY/Y6JrKp0d2NRvLZl68ZvXKDvOPjbKav9yFKUAjEz0Xz01gd1gbfNKhzp79Pm+fo9zmviHDRwXWwCnFWJCp3jDrkvvWE3I67gRMDYDfw8nryjm6rYW2tjW5QgskLMiclN7tABLDaBUCSmFEnCMB3HjGKBnQLyyUjU/Y6HgZG2XwoBrSwz35xFZHz4tz/LG+1MBoAbv/sJ9/ZKKkeiVUCHH1CgfTcuHBfYaTOJBkgCODbbJ4RMUhJpBi0ILV/gg/CJ3/kIadaMojTAbrmBnUy3IsnwX5FABvYcICinbiGMaPAPpNpk+F4psuHTip1zaXbPFOM/QeRIEbojDCAclUHHleRuviQgTmETH5JihnKnlLcDquHbC8/4BvMivon0MmBMpiwKTC7BVa519nhzxbaFav/osXA+NeTNvxJGD4ObvtUc8WjhypgLfGzUDu2Bb+1CDmiHb6oJSUo9lqJzY3QHosVy39iCWn6xuB6WNAv6/JVcP/lbamUM/nnx3Xsdce507hC3ZYyeHnvBIw3lH8JL/o+SJ8tguZSGrKI8RYx4DzzH5+wYedARABjBLC4S6NBASJ4s+eG3EioVEwDDoGUG4EQaoLzsgFbj4GhE/Rwz8+YIHjxRt49F+HwgE/Hv9ltSkIG4VYB2CIkD09h/5Ym8B2gBp+VWwJwFty8Jk/B3S1Alzb+BFnI9zzsBJCc6e0PiRze3Jss/BG3TUP4sO+xzzF3vLyY+wzX7/Azr+hP95r951siAYHjy5JORF77w/cSKGj7UTMe1hOSVQ/L5w+EEBMZlnxKbCY8MqetBaIItXHU2gPNkdVosIaYPi+2Wp4ffj9Be6hVVD2dY1KrnhaJ17pG8Z7AWC86wnpcYfKEMG94A1niHdV5AYYtDY3XCpXivXKN1SEw/8+LzydrqkBmHo3OPzHgR/1Nx13SLaldYnVYP79oTqFS473V0pLXyMBCajn4a5DcAMEpZGwimMYTmVJnhx6GaIUDvgQIBmJrraC7T+3zXbtxkYgpeG5P5/948c1BZ4spM+GQeQy2HufyeKdJCp+UH6SC6wqS9GEAWsaAS0MQp45LaBhoIbdsXXCHpyoWAeKgUQ4ibF7DCstoFM8SeOUx3v+60fKts/CLvvUu9bYuT+70v7ps1fG+x+2a7QJSw/82pFQuMaoTgUTlNtWQIbRUlCPSTgZysYoHB65ISZdUzJzqIhwDieKYwxw8DJwJnvUMYcc03NRX++WKfmEfVR3Cd/YO6OvuvUFe+xbyxXeOIiRG54scOBFKlQJyVVQic4cBH3s55SQQbXOfC4/UR6/oPuC++7iacFR7+PzCbNHbchjSEwNwFRmcfiPZ0flYuvz2gvYkFPGQ28c9yWBpdCxx8bTZhaBEaDJV5ZkTmmIU6+o3+wTgpOssPdXAU8kEmCAYEUxlpptAA/xR6GIb3nxEXbyCTUZA5YLHT6Bk2oog/rxwvC2jiQl0rptDlHQSV9AC9tAg/H6z/zELnlwyBagJ8dHDIHUa3DcrMR/ShYGNQVfPcHoBIbEBsv20/95nW247R77x7f9OD7gmUuj/nouzuKRHCtDOfwRMRyJQDBUERLcICKVwICFaXJD6hWRU5zKwJjB+uGSTC0ArUaRPiJveuB2XMOegFn3ZhcdhuTzjNOAP3FuP4o3XwqqZVq/hC38VsVRSyjr73tTElgJrT/YRi+kqEmqX/cIybDSZYyy8BGRT5Km/8MDSS/+OF5TAzCVuaevxmMj3ONC9kjOpyGE0GL8815zPgtFpYhBEiSoeMYLH38SQmZ5z8VkZDAPZYPcMsB8XllEiuEAfMNvJpC969zb4sXo+GuVkq/k1/BCGqcHEHy9+IeyHHLz+TrtDH1gApn0kUncyKehQpQOFYJuxpBMghhsxSC37+Ehu+y9x3Ofi51976Dt15bD24fCQFAi4oX/ijevIR0g1oW+cd21W+z6b52Mpx4VO/jN37DlR+xqW+N8HOGrfHCEdiZJYdCjO2LSQq6yJqJq1qIQe35lCobMQsNFHJkoeF0ZcuftFXeVwHZbjN2RY5nCMUg5789OA1atyuEbg9WB56/4TFtH60GDE9w7PXkugHMU1YAWEcGW0TGSBLlGiROGunKWL41N/HDWBfdewa3FXFNw4Ol3TQ1Ack/4vBjj9QWv/MzO+H73irjKx39QeYxgeVsxsYYMwBjwZrv0SsUlqUijkgHM5YQjx2SfAPNQjIuCAKJEB4cAhRzIIaqGL8/E92Puf81QWQt3HKJzGozBv+AldigslUIpoGSdUpMggaDTozAWqEeoVQF7aRoO7hTcGW+533D7YHzuWw6JZnR12Jx/OdvmQZFZ1k8WJl1OJLE5xoArpHPRb6di1q66ZpOd94kTbMnC2Tb79Z+NM7vNgcoUsWbBA5K5BRrOiwacScSbrnpYMYDklK0oGwqmNUtjUM09jWAyXQBX1MMq1Ez3DLxeUbNKJnO4yvjTAAV//7J+zcpCtHZdZeiE5S/Ntbe/bWsJHw7FIZ+8mawRyGW+tikXSEnqVDMIm8vk8QSo3lIe+RfBrwTEX70jaZsaH5dIagAm2UqdanR0zTkg24azvPkMTYvwrrJQKGgveiGM2V0oNNZHVCNEYZEsBiWhxFB8aDs45A0DCcSRgiR0UC5CQBw0JWrNZeLdcJ5AXM+zNDWSFoVqMRlHOnHQJULHoTGFlfFmGsMsT+TAwRFEF1p42cYR++SaldGzD1lub/qv862B59SLu4o2gkVHoWXFLKMfKwm/EKAhmUvlv3WL/ffbDrVjnr6PvfpDZ8Y1PMTYG+sAg9gyz9fgqcFsIE2hFBlhRIBNi3uhCTJTrMvbRxg6FqXyK6yGwQBgLY7TKKXh0qRLfPR0ZSIoptNkY/QURSsOOPzFe1576fdu1qYgbBEWWLhQ+VeuXV/ZctweTy8XWs7i9musmMreknHhv4mfptKLsnVTHEtEUWVWPiqMjlY+1vWTB2/jOwVR7zqMJKavo9CnThw4wvmQzx1suSIVlDc60adEHQhDDZYUUMgJ4D/kSOHgBylRISECqqCMCSxSlM2BLR10AKMEi/CBAezlx9fv+N0bHDNWh48v39LHEZeIY7W/gR9XuRv4KT+BA2yDP4wa8FxA5RosC+tTxCLhZWM1W7PrjPitJxxgX/rRlXbmNQ/ipSMqPw82VnOdKoT15w1wJqgJmKrkM3b1w6P2+qN2szef9Ez7r6+dF5915SN2wKI5toXKj3r4VISKAwtGtGwqL/ohU4aBPlISLXIAcWLqhazWaxh8socMImUxYqMTViaEKKwzYWR9EcL7QXGxLVsrdB4kgD6a4UmXKP/osxbuVy20/ryOBdXwMgfgSFpSjyKKI0U06z6GFIZxf2s4bLQwNDL6u9nn3vxB1rJq3ToSPa3dNgyZ1pQ+3sSt79fdjrOZfdAFozYIJ8WYmpn8oMTh9gfRYx6EnM6FkgnBOgBdM0+ipLm6QDVnh8wTH3GzOAISJEY0xmDA66caoPtjNmFRJqGCvqwRLRHDjBJT0DKCQx3xw6vGWLGrR59/zdOiX6+73U799vV22OIO24xTiAhF5HpiIEqYwKKii5mQ79jasAayfqxiT5nTZp867UV2/i9+a+/53NV24F4LrR+7ZnDYLqqn7kj5Qnl5IsT5QV0ncl3JJAHAdxgHZ7rHgauB6VgC5cDKQo7zAWlM4L0RmOd6IpcLxxo5HsixjYtPWZVnz7/5+UtXjHXP+nWmWCzG+Lwymqk5F2oXmimFgH0yieNAVYoaEcR3grK5CjZ85MZGX8YymvtPNm4KmukVTA2A3w+d93+sHVvM5fIruJEGc3YcBiN5cjPA3p4/JPlFwsbbD0nmPwWaf4w5jMMzj/N5jTzhaWiRoIBPu8C9+oTzebhggARpUGXUySE+cUi3BcYcBuQo+M26OKSgQDbxxXEbOtEbNo7aTaccZINDI3bUp35pB+3aaVup/CSYtLFcKDPVVxjo+CyMHKj0T9gv/+0ku+2u++yF7zwnPuDQJbYJO6Wz2TxIkEo4nkACGQIcoIftZkRxpHnQ1UiaJZqZDmi4SV7HFbzzKNzkYSgopM2II0uyGCMeLKHQlJcbmf0E0IfBEbOg/Dj9p7r52J1X1HPtv8kUW9srFSg/znQVHC541gAMUnhdlB6MQpKRwGLO0+jOgwcjIyfPuui+9cI/jRf+mnSznVMjT9pwb69u8sBrj1uImeMCLjhBMZhGyXWBVG9OqcJP83f6ms9KeZGhf8/n0JdC7Wksgn/HI584aRQ4WkBYI4EATVj9OHcO+YRlr54YApYhUIKL81bh4dMAz+P2VS7+4UVmu/z+ETvnpJW2eE6H/cPHL7Als3FsFzYcycAJN+sOfwnupu/0zMBOv5tu3GLXfOolSGjYgW/5RrzHobvYIPYqRhw6c5zhlkc0qMG8ABYX8ILaw1FMoJuP8rjKqR/NkIoTVljEBHatWMjDuw18ouBZAiReBZKL4yU8KmJL4FgCCdgqHUW7H3fccW1mvY3bj11apPLff9Tcfart3VdFLcXOcglzIH1tmPaWRYEB5CrIKFyC1GO8qpYIA5/qTPT+pcGt/zP7J7d/Taf/Av8k3PQOpQaA92f9Ct3r8UzLkhinbWBn3uSemCmdDqTMFZbqTeWkWEAQgswgKCX1ROShZ5XcuEDiKmGnj2JUZoaEwdMY8QQJsHIAlOB3yAAjYwAl9jL08SMFMhK0UXHcjYnAZf1j9rHD59uxT93V3vOFi+zh4bLNLmRgALjoN7VeNFTECAuC7nPRb04R8/7f9dsPPvIcW7brfDvyvV+LbdEsnMbXYjV+tFPDfhRHfShHpGAqVIgoGEJKuChCltMxT6qVKJ23lGmeB7yN0jgAOTyhE1VesKmdNC7ikdeb1E9CWDF3QEaZWTYxczbhnnLhHeX+Z+12YHbG3N9mCsV2vLlZA9Ec4KAO13lf5nWkLBNMiYIkEflsIadZFXxopDAyMnJJzzm3vU0AfX0cdGw3LjUAuFWrw/7/bFvLbpbjib5BNrmIRbGm4gap5p2lYjsIUgkqCaeHQJBdDekJRFiCSL8clj077YoXBW4qrc7dT3CxNv7wj/JcwRc+fuhDowL2nMgkCvmCZURIsXcgagXFl2O+ftz8VjvtBftHXz3nSvvCFffZIT1FG+b+diEP9Ig4xzU1ncpPY/HbOwftoycfaMc94wB716e+Y3dsqds+3V02joVJbCSC1oAd4hrxIUieISByGIUTteCjRwL/PBFJziMwwfMD37H0HzXK41Q44BKwapLdZUWyvbo1oZyICHeABogdOsZCmWxrrpzdlXXfc/x+z63O6LgiW2xp4bAfSfx+m8gHElbTdIwrEhLDKISJyIqq7YVsYWJsYkP1RxueR7i4F+PHpEwTy/QOpAYA92ePh27DfcOGtlq8iCvmUEhJL++7QpQ9dTRM1u1Xlm4tlTmMDChwyuA8PxRUhxzCgHfUzGUG/4QQAfQqxIdkAmHrML/4K8UXSgA6Mex9vGCzDsDTSClOY4GXiOIyd/iUq/GZJz8t+u3vbrc3nHm1HbpLpw1o0c97+6QMcSsc6Gacys+NPldjBPHigxbau171bPvid34an3HxPfGqXebYZq3469uHpF11owibiH/Xfw+rjaI9aa5aQnI9wYcrKqy2CRe2XMaNShX7+TA69x1YUn6C4R8Vqq4m+4hLlXhABLEN7eBLF+7pj+o7jZf/ce4LZ7Zmz8ce6rx2+WGbryMLOIFBTzCJWq45FkCNfoPQVFZTyxcy+fJEacCGB5+1AEcixKuxTNLrawyh8HbhPekNAPd/n7HgFA3bugu2m5/85X0MRRR3W8aBIkJFk++yhkdT7ImZgQT8ZDeoRLz1zKA2q5xGEFJqpQuePb/3fJoqEJfwuSKzXMDL54NB65EE/MKpKoIisx4aAeFrGE4YthseHolufPPBEYandsS/X2QH7N5pW3hQSaBLVgTl5IseUa062Y4W4HhkAlPZ1rx94T1r7JdXXBe/9eOXRQfuu9g24uF6Tiv+UIdE+UWvKEYo6dFJKdfhQ88OA+ltCmmsVy7wWHHBIoSS5TEsG2B/FsLSO8C6AiKBRoDpjsMR6UpYPv/D1AX+w9jNeWctY1fNvuWjw1H390dQVaPGgxH8DT8iaVIBnOA+qwrYQYWaqFGGMgBbK+BxR1wqj+XGxo+Y87P7H9Lz/j58smE7dM1Vz+2Q9v8TybiREfeH66MQfXhUdIKd/qlq6SUfKlfiffBBiDLmny5PWPGjkEPXKHyUYYgQeyWXSkGx92Y0EUeVlBA1+wS+U85OhOImKUYBgrGoenXUMwWj5wqPp6IcYtBXKr0CKOzoeKXUUnFnode+7N4hO/+Ve9vOs9tt13d/yxZi0a/CRT8ZJC8rKRdOIiMricXDbDknQhsfGLU7v/56e+ChjXbsW8+2fZ++q6/45wrQC0A5Sc3yCtAIIeBZRCzbhYRwmAfrUaNZZ4Blkup2eBTHI8saRgAlJNBmyHKwAMO8NoPeDkWVSh5yRW8xdkLczOMY8ITi0q47GnsW7njmYL0diPF+B/b3swQdjboGGKwJpPLueqXIxH3i0wDV5oOBajafzdcmJkodQ3cf2vGLsQ0xN/tgC7GQbYeXJ+UIQCu1lDK8HDK+Zu9DBl781Gtb23bvjfN4loP7DdGmpvrthOc9OQsgMfTaFAtXGAIAtNmbQr5CWL1yWD+QHCVlOEpgb8+eXWEoB9E08x234lwbSHCrbuZxlEB4Vs3K0S0BD75+a5dhk84nj1oUHX3QrvaOz55vW0ZKthPm8SUtGKIc62N5+Sib4A4I+QiyB5t9brh2wH79iTXW0Vqwvd/yVVty4GLDUZ+YX2ibb7Ne1k0amrxQM0gYLSYUnO1PCOUcn+TKiIlukEIjgLCuLMcw9J+Lf6Al2EqUo9lwWwgMwhOQqX7msZ48GjQfHxa9Gb3+K/Gl8PXdN0bLizdmtjbyybfNNE8XTSjp1cqA4qJ3N2VTmEHegFO0CZSHahHKn5kojRSGNh0M5b9Bj/u2Y+VHC3XeBP0nheMija1fE+GTzbX44KVdQ4s7/7PS0vJGPsbaWMEX5vj6GnoEvAPsikHziJ6eskClwTMfiiolTfxSh4G30yQmkhKA8nuBKCABU4+viMsTuycO1Tl6IB444ZZ8ueGgxKMCzwEsABDhv1KBlnkkgT6DqB0/vs57OV7tPWm3dnvrCfvb57/XZ1+98j47GMd292Pez8NFkiJezGvxRA/zfZt52Ob7298N2Ld6n2UHrFxiz3z7/4utZ4a1trTBAGCnXzIyCnWTL3SJApI24hR10B4FgsI7xcwniC4qOxmnsUAMis9vAIoXGK3DiXQ0AdwIBYmMbVJhfJ0I0bkwMP1473pTPW+fzm+1F3dejxs+bqPVLkzQ9ZkvaTz4NWlXwGFFxHYipRNi4dYNiPG572IuXy+VtrSWNq3u+MWmG/X+wBnr+ILCdu2eNFMA9fq9fZinrbWRFyxbs6Wl67PF9tZ5gyUMCau1ONPIFkYhfzgyBwNTSSHkgsNcCirmrNhSC8mEsEBGKfM0Dnw1VfkQItoGKjx6NGZjddx1FEmSW/QkekpGmeW/HEcawMFeMNgWz2U+ZZXoXXODFfLSrDM4rvjj2C1DO1BN3f735EPtkitvsrd/6Sp72l49tgmnDXGdPhnFsJgrTQgFXFww48Eev8XnvT7wsn3sxGOfZv/y6bPsinvGbN+l87Hoh40uWPFHJaSfts/bLjQMOk1eD9pD5Rf95Aaph8+KBSc9ZCSoHcsyE/+ERO/Prb/gObEziXleNMSVwkS52HbGkH8DX5Gq5+zcjgftacXro1KjBZ/6bdPGaNKN2sLdYCHHSgUncvb0CivqiGkZUAaP+vKF8tj4zS2j/as7Lt64ScN+vDzkdW/f1x3eAOBWRuvwqieG+9V4P+seXLrPl3IdHf/IM/KHJyqVbAPvrrKriQr4QDz2sEMZ+ZAOj470rE4X9eRcuKK80kFYGt7zsyiTpRYSMY0AIG0OSWiKGsVXhoERZYWL96Bcdg8ZtCxSBviUedCSZHEILUSon4Yo9Kx4c8F+t3Esvu2DR0aPbBywZ5/+E1u1Z7cN6NPhLAAEqk4ot6meEY4gurDR59ot43bsitn2/lOOs2/+6Jfxp86+2VYdvCR6GDMUfO4ctgoNFS2hbkfHCtR89tyh3V5hUicKOUign+U4/w8679MExDACYXoNHwCl8oloL8gCxCm8vIICrbrNgF/AVGNDNROfnKnaaV3rbW7urmisNpPkYnsSTRuReVEyjsgSQpWOJDSARpi+0KtEJqrM4KO+kbHrZv94/dNRcFwLftv5sF/tD5cd2gA038XGDRt97tJjNnfN/FprW8s87H+vZrHQhxtaoGRQkSDd/MgGouz/KSDBZxKH7JIfigfyBAFgDtE5CoDDq7QQLSovhVxYcUEIZdVZMozCiAgGwNQVAvIyKY/YtoJCFEJKovIZoKPnIQShbKxzVj4TX373sP3ijQdEPe05m/3utbbbknYMe7EDjgol5CpODJMIAibixD4fG8LZhOhE7ZsfOsmuuOZGO/n9F0erjtodK/65OJ/D4oLaFvCIHjTE6cKVvbsqgt6wjayHVybS7NGpbmYyTLDAJobJV1gZQpdLmG3jlWi+VIT2O/nONWFhOWQQ60JcbyGiWt6+UtgSPbt9HZCVcUx5D45jC+sqwqDagYqKnjBdJBC9WCSkvFNYEUQOzoGOarOh/OMjY+dD+U8AYF2jSHQkLLOjuB3WAIRhmm7W0Iv2/UzU3vo2vLprw6VaJRfH3L5GqZA0UBTYmWLdGRIIhdW0n6IiaUMaQhRTTA8kpRIjl0QqonqV8KpqsxTEiH/sXSVlQWKaOIMcgg6MmoEdTnUo4FABFyLUEFkdiqakmSZrFkzY5Vjx/+Lzd7fD9l5kL/7gN0Fr3dqxpjGCfQAcsCf651SQZvxCs1gV294C5b719kG75dtvsM1btsZHveks2+uIJXjBJ4vvjiZHhxKXl4dqU2N5gSM+/hhGyP3mIjmZAABAAElEQVQQcCiyDoUdnJCyDUnxUIQeGFYfGyY/aVwdDFchxoV4uE7RibR2bPG9BcP943BPPthxc7xrdkM03uDnSFoBB2PGKtl+1oowPLKQ5sBZwSzl8yLokIDbkc3Gs4tRfnRo+Kuzz7nltQLQwR6cQu5YboczALjd0Tr/1HO1fPSs5eMzF38v39m1D+bI9YwWlGJ8SdNlkTKhf4oGpCUnjUPPQeHj+LEpRZRBmA1NDyBFGC1QbFxkWWOwGJz2AxFnDLiyEJAAKUNwSpXUUS+DVhPMIZlI5CJL8AojCgT4CRdhsVIfdUH5rxgYszftN8tec+w+0ce/fIGdc93DtgqLfgPozSfn/aJUtbMauUAQjdO8Ys6u+s1G+8UZL7XZM9tt9ss/He207wKbwBbfmLsi1fOrQSga6ECAvElMgCOFgtMqEcpHT7ISBE2MltjLdrA9RMa1D/p8+xL11CdG8QmWMg73x2cYRGMgVNzELAnAC2AZbmUt9YL9d2HYTmi7ISraVhuNMeQHBBcfyHY5wOkusgpZaVbGTM8PUAIKVgELKrlsNxoyvnX0/bPPu+WjxMPFY2zy0WqkI95xrhyz7jCON4p3+EC8jDFywooTR2fvdkO2rWOfoVK1guOw2VaqNcUHWuS3XPoH4ctHY3E3p4tMpwHgEJtaSmHVjxGXS89jXL2xYDDc5qm16s6ZwMUwVOS+C7riBOPQHJ60CB6hmv9KpwIhbfItQYITyOtsAdF347jxPbH0/5+vPiw67+dX2we+fI09dUmnbcKKP1cnSKOKqAzxkxrQi3RWxseGOtXnuk125unPtEMP2MNO+uBXMB9otZ62ditncKwX+CJmQVMcF67ELfzkHOfxTbLYECo7zRa4TP1nkv95MaQgwFz3HZcYUS1F9ZHNPqUKNBKQyLhrB2/y2E64ObdihvQPsNGXtt9pL2v/OdZsx6wUd2Chj70+7h3rC85trUdpCOSCAZaHi6eL5Goez/l4dPr44KaTeqD8Z+MwT5SOtscdfgkP/py/w4wAmqv8vWZbXrDiY5nOrvfiu+w42BGvksVTe33ccwoh5EFyLenLYNRXiWc18PA4W8QpoFBkiBR6ExTVSj/kBNvfKDXJz9UM/KUIoSJi4w8LUtQ5ypb2vvhIAJ0cyis/3BLJKovgAFsKPHe8UXngqGDMoShzUwLknlUo1R8W4NjwwVJ87b8eE91+5732oveeb6tWzbJHsOjHdXOaNmEglimhJEo7NxuP+66+e9De/dK97RUnHG69//M9u3jDVtt3jwXWjxV/fBHH2wSqQQ8voIgECTPykhros/2exwB0MOQ3fcCgjSpDpacREjXw0WZA10YHQbY4HLJck8H9aBHK3swo3tn5RHbYXth+k3VEj+DDpTPBZ37jgKcqAglBhC3BjRTGec9IVshz4pjm9gLJlfbWQqEyPjGS27rpmbN/+chV/srw2h1qvh+4so23QxgA34qJVf4l1rL1wP1+2NnZduyWalyDanEFDk/JILkQAvS8QZzlBWGBNELaC7UJ7D7BmyfZfBsEHjLKYSllB5oHHxqKH6U2hFEM4gr0VF7y1A0FKnLlZ1km8+KyLHHTxJy9I2WVH8+gMhCCowcGqLtSOC+mtSzBuA524+3b32DR7+p/ORxLEhVb9bazbNk+3bZVL/iwDB1xesWMiWpchB9Xrvhfjz0DRyybZf966gvsu+f22UfPvD5e9fTd7CHM+7HNFwwAAlIEe6aSvDpdREN14pXUKsL2eJzkI6z8AMcclRVI88L1Cqz2xfXxoQi7/vDklEN/H2njoUiEEwbxReNGfDPO5jwuqtg/t9xle+bXx6W4iM333XgVCcMBoiarnSCQDPTOe6U7AG8/b5ay1DJSjwQs9mWqPcVcYWhs5LqusU3Pbf/lwMPJeQGE2dHddm8Akps1ccKSJZuLsy7saG9dPlCpV6D5erwHAaAguCRKxZTCJApvDXO+3AwIWn3s9jd9sDt/7FOyuePHKtgbgMMkqAXsoTVxoExLdIAkw14LUibEyJe+ERY/ZLAYhZC/0MEhnCgB1wuEFy+7ceUbGcjiRR5rZlQ4Qhl47LXn4JjKK+8esu+/Zj9bvrjHDn7rFwzb9lRtFTv9iCkgQn3NkBIZ4w+bAm2cxgLHg63911faNb+7xV75tvPsgOfuYQ/XM5bL4QUfrkSw3WxvMsxncTWMfAvY6JMHHvf05iiG1Wk6gHL0CctyPr1BWG3H4d1Y+BtCdfz8IlkZRe3wuzDwv7XBx7J5+1phIHpGy41WjIbwsZQuTEzwsZGw0Ecswps03vnJyqnfugeo1G8Vqyc8Hd6xxEtB8dxCVBgeHvnO/HNvOYnJ6ky2o/f5SfP/xanv+r8geCLLJso/euTcfceKs24oQPkHKzUqPxb65CRylAY63HsXYgYwO8gVIO3VSrV/a/XFnefaF546MdLP3ed4vKav0Ggeja246KkwOscPPbF+msgjxDjkiOD8+g42oWk472lYQ6DWAoZwOKEWOAiL7/w4PJYaCMPHdcSPmL/fT8TuQj2cr/dgbH/lw6Pxvz9rFzv+6cvsnz691jbcP2T7dPiKP5WAAq8/Vcuqwy/k0TK1Y2R/zw1bbP3/vsaG8KLQ4a//erzn0bvFWPHneX5QDkwygvKDEKGF+uifFyfMq/E6AeP5zGISwHih0sMyKk3llcmo0sI6SG14c4DBSYZo5wKUeRj+rdWc/TN6/d+1r7fntf4SCEo20eBcnwt9xE9qwiUovWs2E+UwEmMKbjZ8kqSRnAiA9cjlMm1Wz24dHnn/nKD8fGx84A70jD/w4U962+0IIFH+oWOXPm1sZs8vcy3F1okSPssbYUcPjTzvuCSAAbjEQxrkoVos4JXQsbHh7NDGI3e56KFrCYIjsu6mEmapuVrYh9ahQ4cgSzEIQ+ELCGlOIFQ+Odfzftarnpc+flQC+YBTRjPeTCdGOSqE7BPj7FbpAQOuM7AccdVWvJa7tNPe/ZJD8FruRfaFH26wA/adbQ9jByDeyg80qZST4MFmOtV0QUvOrrnkEbvomy+3+XO7redln7CuveZFFTw25GGivuKPgqRFtYsWsC5pMZIZ9F5eCi/6kY+IAzObYZbhv3xeVZC4ZUj5QZLayKCe+WPTlc1t1OJ+lOWjvaMw73lv673x3oUNmGBV0OvPwlIIX9TW9IDIAv+IE44eag8xJSkFCbp9SvEnNzjBp9KGwzsrpfJEbXzixHkX33W+Fo9ZYAdd6U8Y8mj+dmkAEuUfPn7ZYeWO7l9lCrlsDSe7wMJzV6x0TcIg6QvNlpJQSGMIQA4HOYzfE09seca8ix66+4o1a1oPXbt2Yka9dEsJm1CgLHwrRM/92YtqOAzlpC77zkDiRITSFYLSOkZd0gEnKfUoQAnvWVwjYFnS4gWIFaQGoRYwEQl5K2DvHcenuzCh+eKpR9nPL1tnb/3AL2zV6p3sIXxJiMovZUsIEQmMkDThwv6GGB/uhfJfvck+/9Gj7YiD8fXDf8Ie/6hgCzvao0Ft88Vwm3rLcizG4sG59jIBP0bYs9MR2MMqNpknODSJCL1MGA1wiAT8GFRNjEW18SHrAQ+58n57ncuXFn0z3x8fXtwQF6NN0QQe7UVW5HAfFJE2UogA28wYC4QQJyycPihx2wtyaPQxnMpkatzWO4ZtvTOrE8e2Xnz3vZKlaX5097bN+dvGtjsD0FT+o3c5tNQ545IIb/A1eLILpq/QmKClFBUXGcof5QI+BMd0ikt5ePiW+r33/MOCdSMDwrdgZdnWrsUOsupdjcoYHvnrszYUNzgqBpFQjijQrIVi6BfWIiEkTJA/VqVExROZxE5BYZqa5/LsCFiFiA13mAd7oBJMLTYPjMX3fPz46N57H7Dnvuq7ts/hc7Tiz/kbxFrFQyH3aDqICg6P0GxuAR+9wak+bztpbzv5xKPs3z/3PTvvmo3Rvnstwk4/rvhDDNgM0MdGu90MjQ14gErUK090OtVexIEwYSejGVEyfYfnCIpBZCHUqFej1pHNUH6Lb6MtwUfE/yMzGh/Xdgs+VnpPVG50xBNxD9qPHl+onTRqPhEHQlEwZNNXJirAPWMdTpF8rBngsG98rguvSudHh0e+N//uW18Zrcd3Uvgq75Novi+G/d4FrNp+XPLu9dizFh9YmrPgyriA7+LyKGec5krJc61DexBqCqaUn1KB1zkx7K+Njd+eu+Oep868fnCQCz4+53NlPuaYNT3r5z79tkZr2ywMGKGxPPIKLOKuGq7y04N0ySPbQnwy6PlKBznaVapenhCTDlYlkVMmSmCV68JOCZcezcZq/dW3b7GrP3J0tKCn1Rae8Cnbbed2fuzCP+NFQFY5xTFKNPSpW53AcdtIxQ7CgaB9n3uLnXPx5XbSO8/j9/vswVqWa6AApinBykmiNmSlHPhCe+CKzRRXYmQjQxVx2U7gSRn08Anv0d0DTLiQ1Ii4JNKK6VXH0Ea7BfsV8FjP3pWZsBNb742WZDbgYV4OG3k7QI3OZQoFvYVoDzGR4/LZ4/OuMY2EJemMqCBTmIjntzjAA1saweax4XfO+8kd/0X4S3CCz5F9XEl8crvtZgQQ44ZFfeuqg8+w3cfmzL8k21LI1UsVDvuh/OGew4N0BBlw0UAK4/iORjZfnaiMFIYnjumG8ifGxG+/uszooouiLYtf+rS7MfafhRU5yhFWxLgSDaRUWiKnryqQSwGnSErJAxVCxTqhUFyZZ4GmEUA6OjGXZD3RZ2Fk03OxpdSimM3nWXy3bbYfvu3gaNnOs2zVGz5jOKBPHw0d50MKFWSZSfvBpAQL/QKEXkeD4eOd53317Xb9+tvtpNf8KN7/RU+JHqpi5yPWQL1FKEeiVJpDHARwwcokA9J14oZzJgA2wNM6CJxXL0+lZ1A5SuUopQXxLmRsGB4wfLfbToIGn1y421YUbgZ8FWf3c3Wfox59pyDBpsaJOySUVcApjosTmiSoJQ4VTAOe7zbasuUs1nk3YtK/Zu5Fd1/GL/XayrUx5vtPeuUnL7cLAxC2YtYeMmurzV11YaG1paNc4vlWPueHtFA4JIpoE7t7yB/FhOmYxWfxah8+LpHbsvno7p/fc3cyjSBA063+ML4ei4/xxI31+CrPgTiOhu8HcQwNLFDmDDcCccjNoTECjLjdoAoiMUQ0UpAGiABIJOkJwKCRAwtESayrFks387FDr67tub+9a6t9es3y6HlPX2FvOP1Mu/2eQVu5cxd2+tVhCUlToBxVSVtCdKrH5/03/mKT3fir0wzzXjvslV+y5cftav31LKbDebYBhLhBgrUiRhFOFoKBQYcDesTp+BTDG86IgBh1W6GRAlPdCFDxizAiXXi2fzNPIR6fsGeXyvbmln7bP38TviA4GI/Xu9EUGDZNVlgDedNsHbnJmkGoE6fKRQpvMHnuGVJ/gfAGcfHW4s7MFruztswuquy05kMXfeuynxx7bBFnQWC6p1LpBRzYLgyAWS9I7bX8mn2+19HZ/pSt4+UKhuhY7YeTdEg6ceOZ4HJJn6KNz2o1cFJOpjo8eErXz+/5zZ87yKFYLf+m3Ki/SmJI+daAG5VwS54qoOLCMjR7fxFAOqTJsBhuCoIMS8dEKPNJHIfa4fk/TMNkPnp+YJ4N7b4GX+499dB59tYTD7VPnvFD++raDbbvgbPtQZzRl6POEp9wTuoA20vHKti1LcZZfteufdAuvOjVtmjebJv58v+w/F7zrJItYI0dj/xIpSNyCwCEagn0B21z9LyqHjRcsCFBacii0SA8NV1ZPmJgrIhLF0713YCB1IPYj3V0adReZw/YQV23Rm22CYrfhnP7Zmq4L+0W7WIR7hrqCypPxUZW0xG37g35oCCubDX+Gec5n/loHC84VePLKqszLxjvfsA23KKnPM+58MId4h3+JjP+BoFpbwC0MaO3tzr0wpUfaZ0x43lbJqD8eAWcUkDJoKjQ459EIjCFQuSrvtl8aWjoazPPvfNL2i68tu/RhWA1JrN9sIjjWy+N2zshRzgdg1sH8bhKc2BOqPl8HNVQ1hhgVawedUkAEUAW9InppArOIw7r+UgkociQhyv+uZ/QuvCF4OuHS3bY/Db7+BuPjn5wwaX2L2/6he1/0gK7b5zKT3zCzjJyoQ/0CK5VZC/Cp76v/fUj9rkvP8eecdh+dtI//w+2PGVseVcn+tysvhPIAmSaX9RjI8K2gBJSI44SCnnuWHEggPmKBp5D8RXHEB48awWODfi6Eh6zx0fXyvam6H47IHuTtdhD2NnXgTN6ZnBlH/VweOVOTUMKb6OMImlLGpm0WSmyDqrP4cBq5JOb/B5iW44vBi2yL5f2avRGczPLbODaWzdePGYc+q9dO1lhqPfJ7k1rAxCHef/Ic+YfHrW1fmBzpY43+nhe5aTYU3CaN7EpM0jFkybs9ciPj40/GF9641sFs7pPSt6Enxro7RWeNRd+6pYvvfSTt9XyLcszDb5UD1mlCqBOPzFO4wr2UJA6Godmb+7iKoOkTpUwLEjphKPhQNiVi/iQrAwAR3Er5us8tddKFfvx+9ZE11y/wV5y/Fm230sW2f1j2OPPhgZrRzQBJzzWQTzEx2UCbPPdsNne/Jp97LUnPss+/Nlvxz/47h3Wc+QSu3EYti+PPVLcX8zBNRrHcq5NxEkMcCIsxGkQwqhA+XwsytEPe33CM85Hezxin+uxLdx5XYiPqZfsddkBOzB3I47mvgeKPwPbd2dh5IHTUWN86QeNQElyCF7iGGR7mMYsz6Siy7FKpOuKLDhlUPGzWNTvzGyNbq4dZO8s727X4JyGldmq1Sr1S1S2fyVg07G/M3LyOm0NgCQAc3L42c3tc8/I4Ss0Gbzm6lY/iA/aIREAkJwEhRGICSStDROAiYnh02b126iPJP7k6a2xre7N9eI78ktKY7+qtXYu10Nrjvep/LA8lFjJpWTQ6/F6GYZCURwFQ6oop9RY/DNZ6sJDQ6i9csigEmKZEUl56NAj9w3a7Z9/aTQwMGBHHPNFW/6i+TqaO5Rvovc6WBI/Zso1rAXvFtyCL/88+2kL7RP//HK79DfX2Vcuv81e9ep9bJTjHmy44eHEHKhjbEMdVhPrUGjoMSJExGZwRIABFMI85oA851N6GiHtFWQu01AfT1Thg5IyzlOFwbWZ/YPxMZUHo73t/rgwcFVUqhTj0cxcTDrwfQ7fuy98qIpcDTWGVgAP/tks3knqORMCUIgwGUFylpQSR3tuCL1+j501cWj8drxBYNmaLcvEuYHKeLx7/ODPgcVsNZrdp1B6mcKBaWsAeIyXYVvmlhes/FD7jBnL+EovhILzfv1THILYhOZQXiiWlBBrQBnyWPi6Zs65d6yFwCDjTyr/FJagkywPnT9RnfkGyBbQsZdETdQaYqdjD0jR07o1ZZFwIixcECEpTKWUBhmm70NsJpFK4AYYtvlG110/EP/28y+KOrBbb/4LP2Oz/6Ebb7s1tIlHyBP8RI2fX50biuJSZAY+3vkPx+2spH333N1u/up7BT4VhxQooAlaT6VyRRPBoQi8UE6MZYPIgpAmi1FBExqYJnUMbbaJoWHLj41gUb8Ei1CKBi/EWxa/O9+y7a3iGcqxOucLKAT1ROeNIFKyMQwMmMdGKN95yCiBWQjLihl8yRNf/86W8EhxhX2ksof9LFuwpbk6Xg+OGg9lCtm5jbEbrrjigptUsLdXN1Lh9NLkwLQ0AL7qv6468czWnUdb297D46rwAojeUiHliaw0WwGxcIGRpFAgsRSEEenE6McFc+RqdGB9XBv7066vV3PEPYc+/avr2v7t4YnWzvm5mM/c0Mdp1QzFZRW0FoAZAHeoYVGPPZle21OPLqGVOZJdkKZPinNCARUHf/Ow1EDlP+/fjo723HWu7fcqkNyVtRnoUbdWMf+QBlBnKPpwisOnFosTlGtXzK2YsSxc1GHvP+c6+86lN9vSWdgzgK497+R7M/jaManGhb7sFH3iwr+ccLMKtALVaLQPY8Wlfm6VJs6tqJZHjT+jMWoHZYas/ZEH7JFxjAhmz7ChsdiWHrKn1hy2VLZGmfZ5bmeIv1lHqMq1ntaHVVH9AcEQAZUow8QLJ1HkP1cP2rKj8Vij2747vK/9Uw29fmfBlmNtdhPWOIChkecOrlrlAtWCkZ1hZOc1ptepHJiWBsD6VuNW9jXGZ+z2gc62luLQRLWKMThohRTA6cqLy4jSXGooH4b9QVl8tGXs7jkX3HGOMv/yDzZqGnBuX+/I7sdPnD/R1v16bF3FhBnL2HwtVv0g64Cd4JMAjQr0WA/UUEQ5t07og2EIMZDEf5TXyIGSTmG32VDy62/dbF9+5yHR0YettJPe9Vm76+6ttnzJDHsEG2W44p80VnoR2k+0SfNZH2PSHmSUoZwL8Fmfm7GYeNNm7GokEaqNYCjFgvzxorAi26Yx24EUmgxzIgAHlO+E0h+cH0AfnMPIA0d4F/M21jrLZowPW89dN1nPK56DT4ljH0J/2Qo9nDhwQ7KrtfChbU4Z/IQ+4UYqXSCPUDR+nIlx+tISTaC+eryhvDz6yPCCmGZ9j1mFaALHeD2CtmuthDu4KiVsOpr4sXDNWR8aqVh6mcKBaWcAvPfvq008e96S0Za2Vw/i1VV0YDiTO4jPVGGRKCJBiuL3GDqKuX8jM1IaPweiVNHKPz4AMqXNfzoYhKWlPPGdofL463FSCKbCUF4/D5CVoTx/2owjxUZ2UHBKrQwFQBCGQAYdZgb/Ud4xdADtTf2j0WnPXRq/9DkHWe+nv2U/+PHtttdBs7Xiz0083m2SXCgB8dE5JgS8SiYpiyQFEAwcbCfMxyP8SCqz/tARETObCAMIKfS5VgGhEZR+iHBwb8+M2Qxs2unBKfzLIrzIA+XfiLN6bsHLuzsDcqiRs30L47a5c46VBjbjmI0S3+ZVRa7vQsMqyYTQ25NsKTngvB62m2SRd8zF6gFkoG6d2Yn44dp8+/7ILvaRaiewTNgenfjeYaENNtlfigJ8I87ks8X66PXrLzvrKtWYrv474x/lCgmZZk69Px5ndcx9fUdLMQ8pwdK4JAQeRTN4icyEeJAeCRXPlM+V633M6nusKz9BWG666NN92fHR9XhTDS+qc38rp+z0UJNWxiF/8DWnR6KeiXNVjTQShtv5WIanCxGOZfHjvJ9QGT5Dx3P9OZ3FqITNMR+74EbbZZ8ZeMGniufYtB0BDzy2W5iRRl9sCDSwDv018xymgnrK/IEODtV//zeBmc0E0hN/HOE6fhn+kHc3nt/z+C1+XvudMU4dzmywl0PVlzRGbIX1wx7WjPP/JbbFFsajtrlRtN1syK6qzcOxnCVrHxv0qQOVGESTbDowAyMjmLMQ91S2gNrPRM/gFZosM9uWGYatytlFo/vbvv172kfKrbY0U7Z52Mbc3z4D67N844EV0fHzLdhaVBn/lqIc/qfuj3JgWhkACgE/1xXjZJ9qofgKbnmF8PCkCHeJj9g20pLEXY4ibBHEltkK9pxi8ZdfiHysDkJD/K3V8TNYE1UXHw1ll0x6GJMiu4Sjy+eZf76k7orO031kHFCG6VR6KT6Vn3l1G6o14j3ntdr7vr4uHoXSn/3u59m95z9ic3FUl2uLGgPivc6kbtVPGtAmwk39JTBOZqDVI4JjfgLvXKHa4KtC+M1E3sMoch96+/vxeyF25Z+OXv5jmUfsmOghVNawB+ud1o7ef2Oj3dY3evDcPWPDeLpPWvjZlHEctjw/V7bBzXh6umgJPiyK9/cHUZRrKHQkidMoFngUp2TRSPBMjO9wYTtzLf5daUX8loH941eMzrSZ+ZrtlmvYQzBUlQ6e/U9+UXAcIV76yefLI2M7j91+llL6cPtS90c5MK0MADZriJ6h/ZYfXsznFld1ioZGgxKeZis0hmzGEJDoUGchYDrDynIFvD/717q+07UYOKv/mrOisa3DQIOBLByUmOvPrtyJMsMaqDdOTrqhvAmOhgHwIEM/9PhJWAaDhoB5Dfvpr66zIw7dz2y/Tp3WI1km9QF+W6VFMtub4Gr6TKKCs9Eq7GGBhviUcq0Ic5suFfde2K870dseC+V+i43Zf2AL7XOiLVhUG0J+HVOAdsDMsGGcv9uFQzrmRGPo5WtWgAkYahSw6o7Hf5kS1iy4QIgdv/lO665PIBcDoaLWHlEbaAhKKj8Jk9yQwUUTPtMvRCV8nXjcHqgsjv9z80F2zNYFdgHyluVgUDG93wi+Fto6oggHmPLUFWg/0jGqwHNGfPnb8O3vsy9bd9nDfKyLHaS8Ian7IxyYXgagH6tGcJh3P7uAOTJf4d5G2ClEAiAQA5wHuI8rBAFzRTzSpupXKlGHsv6qCywMhGfdur6B9mrpGw0MP0EJTp6E0nJPO4ec7NGp4JB4TA1oHDDe93zGmeS9f4AFAi9Dn5E43lqt2c5LuuwN3/wNSM/aZ996pN13xQB6OSw7UJOTX2gDeZGk09ePac0/MsHLqejUdCTnkdjGNPgPIM65/Ub83hmN2juiYXtpZpM9J/OQPQVHb3HNoQLFnoVeGFsi7Rbs4CvAGJQxIBvAvL8bB3WUkDObi3LIH8EhTAuwGDgjwoc5MBIYzLdjIYF7/Lk7EZXB4V6Fc9YQQRrHAqyH4xAqfi5TsdbseLypMS/+yvAqe9rmXe2zOCBkj0LN5mEQ8QAX9sHYLA4wyXb0EIVj5ZhCjMFCMRYhi2MPfJI5tpqWOHV/igPTa34UVutr+cLTeTQXbiueVunusg0087zRvKtQ9USqKFbeRABQymKc8WkThfwzEbvY7loFI7dOPbpD/YVXCk+f2cxq/2dGxlreGLe0cj1CK/ugAnWiR+dLQurnSBjpAAS3B0DMVQvCSggEuqg36+fmGzy9Ann3jMW/vnpDdNyzDrG3bcVz80Se1SA0CbUQIZs35eKIvCaEmwGFGMPrPhigYzCNHzXhPi+sQfsr0MsWkLo39s0vQo/eCcXl5qAW9PALos3/v71zAdbrqu77Pt/7viVdXb1t+SVjY0jAshMwxog0AduE4LSVmdBQOkkmM23aKZPpJMP04SuaZpqmCZmkIQlpaEtbkpFIMKaMayAgO4ZagGNqR7KF39bDeljSfd/7vfv7r73Pdz/ZjgKuJMthnXu/89iPtdf5n7X2e68dnu2uDkco+ZcwFcas/fCDhSncZ8JD7TVGfwMl9BTGOXWIDuU/3YDV8I32RNhYW2QPtqPs8DunTXusCqfvaEf+TtbJqRYS7XV4KRVabNC6vvvlxU3hFxdGCNoJm6nuy1rQIRBRRqL3UO2rPLYGcjyREUPOPgep0AuIjbf6iT95Ys/n9lnpP+lDf4b5GU5pXOcMIc6TFwIr0eh2bwwr58Y2TbJghVqqCXVezJvwJzEyrnS/LPaRUWlcgzYng3NXfmT90icGv/bUgkYWdux+SdAzv9nu3VYLeP7PP/bCys3Xb2wNjV0XsDwCT2p0krTkLqXex6aUtXf03fbcuDG+8dO1Aa358VrYt/9g+Mc/+bYsG50Nn7vvqXDxGizhQ4vxbBvH11i+fhU957/cTe7ppxx9CMJq1x9ASab5TZHSNO63oGS3UlX/WebL31Q8FlbwCmvCYjiCisskWIOazgla+fPZQJihRD+Fai+xZm+AHnjlUyrZh+lhGaCqz1bhKG2ARj2sJWPAwGZYXVyAx2J4w+JDYfDGH2NdxXRo7v9KtzKylha9hkB5JVNYZZBYYM+WsgqbMx5tr80+P3tV97aZjeGeVpXOvVZYg2SeQO2XiGUCwDur9lUexVBIDbOh1L5i14KR1XTKrFhfyNbOP/uBYwf3H8MAQhb27ftrvoA48UMIXDA1gF3bkYhdoX18dMtmJvKsol5N8UmmoO+bf0au+a2Yt3LRdFFPHCop2b+63ek0hwerE43Whl/B0t8/C4e3sqhf+8adFj3GOdM51QLWLTzzqwdqAx9qV2s1NUukuTFtdWkhzDCprkJT6ZQB4C/XxG7OdXwZIyB2CcMoZ/f1A8Xw8JcOhUcee7r7U++7Kfv3H7krfGc1pSuWe1/CcU6q/6o+CJkv0CA4E2K0x0DAys91rYWwlSr8D5aWzGTK6OI8KsXSXExtzRTYBahF7zppjzenw4L2TYFEtduwJckr6Whbj7Krav5MdU1ozdfDxGA3zDP0N9acC1PFkXBRndEAxv9rlcVwaHYs1OuN0B5thEc7V4by4aNhhNK/pu0VhI7O2m4JXqvZHLgVw/OU+PcsbgwfWRqyt5lgc0/tePQCaTKDwUoExRWSLEMOxYGhUBxcwb0GhjiIxT8wZ82siK2v5vSnHvk/n3vESv9dXvpHkM58vmAygO2Jz3K9sVLt/zr9SXxaq6EoEzAJsRMBzUFfH8GwJymgquccqnV3O6XZZrc9PDjyT2d+/PKHMfv0hzIEsZMc5nYymTND0uer6aNbf7784P2feO6Sd334Y9O1kY9kYQnzvrFT0JoAUj74i9KqGw5lAsazeaS6Qs68gsamgUIqxDSmB8KbxsJ/2nlf+ORHfybc8Rt/N+x96kgYGaR1rfxGWYl+hC2g3NJzTRJSLVg98YtyK9NPSQm59MJUuKw+H65cOhEuZkZhKxsJa+bnQmFpPhxZfSVt+EJ4PZOMRsgcOsPrwwvH58Mwm4oOVap06xXCUK1M2Q70TZQfpSsx3Hfl8wfD0hVXhOzwIdpklVBetSZcNDcXZiZ+OKw+dSTcN7UxrLhmPAyvqIUVx58PTxyeDaveekMoHD/UXfi/ISvfXGN6fpOOvXlmaFTC043Ls3vm13Q/ukgth6x5fanNEuHQleIf4x31GfmwvHn8utyxKJNNSkfHLSMwcAWGZbY6FdnYaaoxdOyxHbiGkDJuu/fTGREQjBfE0bXNF6kBvGPjO0ubN30FQW2zE6SGdDnsa5tQRGalTFEhdKcHywDkaEWvnmhhYwmqirJ1Zud+edWde/+DAsoYyI4ND7YnJ63IltPfdFjiH3zX2qF7ij/zWGNodFOx3dTKFvRQXqoBcOGB/8iYrjzRSOVknrgnTs1BjwqjpONrTdDx99hjx7O7f/P94cbrrgnzGM+QskchJ1hUB8sQZDNHM5vUEjGDG7TRM+bgLz66N2TDI6HI9tqF6ZOhue4iZuMdC6VWI3RGV2CFl2k91WoYKDN7b2Q4TO99JHRQ/NqmzaF76kQobbkqzD72WKhu2Biazz4VyivHQ+v4EcsEGpTuRer8lUuu0FSGUKCDj9U/oTNDNX+WjrcrrgqVy7eEpbvvDE3ilN/8ljC7597QufPfhaENrwuNdrX7RGNDuGtxbfjtOrUbmhUbCm0yhUI4ARKQ5G0MEEEiICNgOqvdv2odrQy6YVQzVDAFEABYR1PpXz3+9K8cuv+//Gtl2OHBT6QqAuH8OCMCCfEzhjkvnnkGcOqWTe8IExt3L2cA+sZRHKJERHYkIfTDq7CQp2QCeUB2TDoURg+4YQxoJQXk4szc50pzU/9k6EsHDpvvtm2lMLG7S6VAWkrgMxwaTmIu+evf8fPbj67atJMITYz7sywZ2+ExPZgUH6Rohx7VQRgrvgoj5uSZB0oJJifC08M+RPhnTy1037lpiM44etyZ0DTNKMOT5GVTVkXvhqvRvrfTUXd1ZyG8kWG6sc6JMNA8GMpz+7LFF+gA3Xx11q2OMAuPTj1q3IUlegBq9NkPjYfiqaepRq+yPoRuaSC0F06E1sgaWkmHQxXlbjCVN8wc7JZUUy9UM+1HUKyOhtIQ1nlPPh0aKy/tNlmTVX5hX6hsfFOYO3k4tIfWdNl/MSscf5LdGIYzRmC6rXI1G25Nd7HZhqmv4bCvflH4k6Xx8KfY+memUbiMWZWaQH3SPpC+WUQtYWOYRHzgo90MlZVrGfKj/dHWMCD/9q3Bk9ygXWQP77kTT77vy79zNZM2pPgJ00jTz2dGIEF/5kDnw1cddRml8vGbL31dc9X4X1Hl02a9UhtUS6qdjvzzmrRQAsR6Ip89ZgL6/nLCWzc4E5fxYWzBl+sLi3PlduM3GrOzn5hIGYGomp04DUGSIezYFbp34CQhy5O06/adGJS4vb3l3f/8fx0bWfserJFie4NeMdUAehkRyYmRyI0VT7k4im2m1qrWrkh0vnCf3k7DZJrrdlwpspApsP6fhjghO+FtnaXwQ8x620Kv+2a65TaUTpJRHAsyd6U20hJDci068egBZ4gcyJqLWDGkflBgkTHxMzb5RCWpMtRDoTxIUduyWfnalIQFk6HTYhS/PADfJE5NoVDSoJ6Sx6IeytbRrEr6BTol0mjMQ49BQYb4sjrbeJcGUMo6MwgbWacyxpJmxu9LC6FB1/+RzkXdbzXXh48vjIb9UKIawjuwgIiE1CkZ9dgyTVIT2KfBbRBqRmd5xeqsWBth7lTSbfPRt6VxRHcPVpNLK08+/uOPf33XF7aRqe/+XqZ9W8rf3yfJ5QVx8PlVEEjTa0c/sPU7lXLtomaTWe1WfEYWl8Og7P0Sk8eU0kMjRpFA2aO0Ekeaw2jDGIXQ3EJ9rtRufKbYanx6cf/jD0zsZwTrRYcyhd1kCtuS+76JicI1u3Y1Prxt2yVfrG19dL42Vit2NRnWKurLsRmr1uIBfuZGdZ2yXYLPjjd0fJmzvMxbXRy6oWef63uZfXcVhdjFLHG9iOm368OpbAXZwkA2Rf/8nLX3Wwy9NRluixMk82mSak+gD/qHlvWOK3MRdcgLHqUhyGJqerYHg1G8CjMttiGUBTE6FpqQqSNCGQNpRKJU3WkHEQPzTEWaB/C+ROfiXqr5X5pbFX67RRNBR7HNvIKMGQJZd47Qsi8gXviPHyc9Wh6ve0sT0yvtZrcytppOvzHVAhTBXsgi8Z5cG51ipTJw4plPHbrvkx+yjj9f8ScAv6dDeF4wh5QOo43tY3/vDXcNjY6+d051YK3sQuhMNkxyTKRNehBIU329QC+MRIVnC2WSH+PyzBPFBnKujGCYCfdtStnFVuv5YqOxh06q3ejttyuNxe8M3vPsMWj89Z2FN/3CrWF45RfoY7BWiCVoiSpx3SgpSbru00GV/maGqoeo0l/KcNwEg24XFxa7Y52lbDyb644xlDaIog8wul7AaJZK6Bb95S3m3HVVX6CDLr6UqEoVOZLyxAfcedWow2RL0kwFicDBSLwxN059nKF7xNIB2xrloOHCMyfF0mSFlJJoSQvlUlQ2xBwCuu+6Rxtrwl/y+8zicPjfTP1TNX8jowg1KJwiPGV3SkAXywEsLREWg5EzO4s4LSdqHWOU/EwlxrKyvpw4STTEAK5FzDzPTx279qnf2nL3E1SgwiQATSZgjLKfvgsELphRAOM1zQQM9YXPZt2R99LsNROafQLCLbLAEd100/OVh0lT7meligJzSDl04YpdgXZnhi5GyukCmwStr5XLtwHEbVows9Aanl3avurQqUb9IMORz1RajQOtYo2FbuXD1YWZqRYLk8cGf/fAx5c+dOfzpXW3VTrdFh1xRZX56pVQvrGq0Oyup52uJukoM+VWcM2Y7DKmcpDqfBl5LXe1efkC49dYx+toEi3z7LTrLQrPSL7eBLGX0Ismdm61PajpJI7pBaUXvJZppGlIUivdCwxTHVHiZ/mf3QrBCBUpyDeeBVGkq2dFUQvEQsoqgTICbcVdxcxWkVxipjNO235LuGdxZfitOtONFImMbUu1yaQg5h+Qjc0mzuwi4kLfAsZz70WMO0IpEWZTllZMMLw4zNxLNWWMV3ufyBY5FM2QUmMxrJp5+h9I+WPVf1L9on58jwjEb/09RjpXwU1EkLzHrwijI9de+0ShVplgqrf1pOWKnguQBDTJc48d6bgJdxQ23PvC5GItYYs+eJs8Kpq6luXDqEOXbiW2GcJRKq0cUnKpFqjCM6HFNuVodRrtLt3iRRYJydwVlBTQOGD3MdJQ5YAJSWoQIL4EpikgA1oKVyKkGEIhjBm1WrhV/PhMILvpK/ctZnS3sMYWRERCZ3GgODqMG66WY8TXVL4Rg0bvSL4XNI9hDjyImxi8k7HaHqVvYcl3ZTiI8Y099fHs0/Wx7oNSOcxvradTT9t5MIE4sMk6GPE2/dkJ9PLkIqfpKaKGJ670OajPorKSWX5laj2a5adYikAAy4G4AVPaG+XKyIknPvrMvf/tDu/11/d+5Ye+xAV15Ov3j7/vqn8xPDH+69NL6mGy3X4lLtIaLpKEKPI9ycrfok+oYlAkCLf8RS2yhV2+y/UllUgEhrr6mBSVsHl07pPGauEPjWA8jAon3ZnAGm8WL8mvxTeS3ImyZLqnr6IpInqveFEoKZFxY2zLL5LNw6Wy397DmBLBFJYUlLJicBhg3OcNiOhseFh6OilxRY6ZlWJp5l+TyXUY1aRGcqS1Jvv20kT3C4sj4c9Y82/sUNpfSTpLdGVOQ850PrIpUuJHhBLhlIDVZuSdjpS4FF8xyqvW0rFIbUIrLw1qY06YKaQ+R6NTqlWGZg7fc+DLv3dzqvYrUEosJ+zX7xaBvq/x3UY5t+Hih44f9NjtP/DgwNDItQt1ZqVoExCkKoq58SC5MMXJOYrVVJMGhMYUyhQgFw/RNkkjgkWVmCk4HpIggQHNdNGzXFNVmgfFVxuZCPKS2KKJoiCXqHUK1DtyormDCCi0Bgr6wtHvH2mJqHEhXyhG0Rc/0TXR6YsaXeRgoSJ9PRmzEME93stfVONJAS2IXlc/6ioMD9Yp6ZfoXRsOJ9rj3X3N8fAlqvifzDv0MIF2GdT0ztPEaYjDSCYmfBpj8U2iU0o8cts7mx/V/KxcycpjE+RS2ofRUI3MxpfSt+TotOj0K1XnXnjmdYd/542799Ir6u3+Hpav9CaJzSuNfm7i5XMCpt89ekVjxaWPdAeGa9oAFGFjPMnk2c4mFz3ZQnaQOR7NWSfzMjGXci4rssksz4QxAVaQGHOZhilKToNrpAqNqPxyiW4inA4rp9J9zkfSN+MLmqYyfenzHom0MbscWdULvY9Y05uIgPEgwlSXo4N5JgKRYwVTeDnm6mmEkrMpvMiKOOV7udhibzWMe1DSn2iNh8caa7v30pn3u00NVkKHDr2LqeKzqpcVf1maohtTMRrGmIhz5G9pmCcuDNvobe+dwluVn3F95hAww2+1edHjJyIpcO9CBsBgJIZZivMz8xunHt768Le+uj9oHocP+fVAeqU3L0H7lRI62/HypsCpn9hyU2tw5M8LlWqp1WYSuKbhmshLc8R+VJEoQctcJFfz7ymZeZONSFTJR0xOdbJQdonULCMx756j1Mt0pl/I8ZWtUA7DUZS4sYuuPTW1qLloi9KylNsbpIiWmO4JkZJJD4Q3dx4tgpzTkcLHJ3mmI7201DwqvaLKZh4Wh+im0329M9Y9jmGPfc1V4f76aPb7zaoxp4V1a6mWjEJqgZB05qW3irStvm9MWh4T/TjDSh4y3tF30udiRFRTYuKA3ZfH2CegNqwl1hEh/PBNmZ69MS6YIc2KRSz8hIm557Y98he77t2q6dk+2y9+jP/Psz7YBXvku/e+cPO66zsjE1+pjY4Oz9c79ULbFpmatPQrcf4iPbEz5ZBr7yYPgrRKyXh9EegPoef4n1wjRNKMHCzFJYjFzkmTBSwrKTETZWlfTMCoWZks+uYW4+g2L+GTh1xU8cWLkyWrU48Q9/agRNQ7r2c7RXd1X1pYU6g2y3fYF5GFNh2mIM1iSfcQJf3epRXh3vpg2MlyX3sTevjXUtqPQWiRJJmYxF/iS2Qjm3lKPOUJxugxD1wOpLqShTGsjBtRC50mE5Iw5FGmpz9jXb/19MtDb2SvYqS5t/emW4IsFuMOq089/tP7H/js//ROP32Cs3csf8WzR/OsUsozgVO3Xrq5PTj0x6Ojo2+VuWyqkJJoeqR4BYQs1+X8hUzvoljBTxTMqPTxMYpkYjV6x2CSQ/NMIfKAiXD0UzyLZFoaOYARnHSfl/yWXo+qefGUCOkivinwSDGqQIyYJ2EBRS+SjbzaM8phbKX0egpPkCKKzBh9hkk0ngrdutrzrZXhcUr5v6wzTt8YCA8xMmGz7wm7ieo98wNjSY8rJI3DnM2Yqs7GcHxU4pG7PkdujSuupry8fc6kYulBswpHVrJPwEoeedleU6aXmpJXaGWczDPCIiuzEwenD3zoufs//SlXfkFzdg/7jGeX5NmnljcHRPnoT2z5pc7A8L8ZGxwYmmYtLZkAG4aQEWiETqdUg9R9EuUeQ1GyJWBJ7aKg4SDhlYwqjmIyVSjdKbKcUwYTFc8oik46dKuo0Mh72+Vg8U6LHslIzy0ciqIPYGdLtz/+Mm0CGSmddGg2kw7xWyqQC1Ktt221oVpnDsF0a0U42B4Ne+uj4ZuM0f8xVnXEn+3FRz/bFt5CtOahs4CrWDeCRjZy1OdsDikEzhZSxPKbvnuR0S9FsUfSYhov05St1C9UtJafmX32MgnO/MWMol6OiT7MOS5RWxg7+ewHn9iz83+48hs4Z/3U/xXPOvGzSTB1DKI7LBt968DG7sQlO9q16j9aMVArztKExKKt+gdUc9ZQfV6pTCyYUi+zkwQuFVFJXHPvqAt55mFP6cQl4qWbpJQ9xYAvUsE/Jd0n1NI3xcQpxicu/+lZTvKINQElpaC6iESMGB2YjkPZjbLT/16kuq5XXeyOZlOtse5BDHbub46EbzaGwqe16MZYIYNE4dfRwz8KUU09mgUh1h6Ifo9VS80czC0mak0QguVIGkd4xZiWk+VRjOP4GjjFl7W3YSyf9n1WGhrplkZYaKSvE234LRPqcQLlCEOTxQnl0uJ0WLVw+O8/9hc7/9SVfxnps32nz/aaOvImgZg+tm30isLK9T/XLlU/OFirbehgwXuJ3XFoF8ddKExNtYxOYqkTEmaaK+2QFkS1iwJsCqlQUThNoKNUm77k8biaQpugS1cV3s7RhfvoGJ0jhehv58hIL4zc5KQ8y7IFHvQsg9iyha8SXvPslWGweJY98EbDqdYIJfxweLw+FL7RqIXPsDDRImlRLb+1/EbEL7EWIEYpn7ImriJ++tHPbvQxlz7OY3vcYnIyD+FoCeRnYibSNPQZK2X9Px23mtLLlYk9Lc3nV5B4SQ+4WCw9yovOCnYvnZuaWTP93Lsf3fNnD7jyGzLn7BSBP2fkzw3h7iT6wf4BMiGuFI5dgwWszZdt75ZqtxUqpbcPVCorZc5/CX2QbXxkTEOIsYQxCWRyIfVuEz2crbSSYPIfs4XIt/rX5GRPQireceHGcg+ixHzDgsk7J2FXUzuLZzE5KV2LajQtMTVbMIDGzGRKdpTe2GQpbiUsdoa707TQj7XGwoHmEL311fA1TGZ9QxsQWQnPC7IcYQ0G0MZUuOK2gJd67mOmZalEvnEX23hxl7g2duWsl8l9hUYMHAFSYPnlrpFmImf4iGzvkKIznl8aWcHS45EYV73+CvmSIycL6wVmFrG4pzR7bO/EyW/fuvfB+59z5X8JYGfd4eW+yllP5FwRVEbw4Oe3Fq9jE9E8jdk3h4mFNZtvKlRrP9oqlW/AiMTVg9UyZvSYjotgN1kAhEl+2tE0FNIUNBNmMoSYERBIE3V0SLLNU7cS1ijv0hDukkbIXQt7eeSkKDG2nETSOuyKavTz0KaDTrP/sSeikCrncenW2Ah0MExRqj+Pzf1DGMx4EmV/iB763eqwI2swNUwl/CXExRgB74OyQ2YRdsQFjy9zyLnvMysDsJfJg9oDr2MMcdIrpEAxql7V8pNciRNOBINuSpV9ExSLcf2RbnF4Ba8Gz3T6CRZLMTIBNClxQwofVh7TI4LhsGJWmzmy8z1f/YOf1rp+H+rLv8+5vfZJxrlN6FxSN4ndtq0YJia6Wk3Yn9bM39l4Zb02dC2y+WbsSb+BKuaVSOE6FpMNs1pNRoNMryW+knINXSuDEJEo9bom6ZU0m9AnqSeMNtlUG0MDb/FKocy9Iim+FrPN00FBFb/ZKQxVZ9rl5qnmUOlEa5DNLSoMyVXDPkY1v84U22NSdsXVEJqUnceNqORg+kpqCMhWnpnZ7lM+nHQoVGTMGObRXJZ5xQEXe85PFqIv5GkBLFexU6IOS9BMwUWIPJTSXV2mBVbulYeYOVCqMK7Pru45D4qRA0n0mL7Y0Psx37hQrhQwYTa8cOwXmdv/MQvik3wMhvNxkgD8rTqQymz3tlDcFrZxE5sI/S+If3n+1olxNq/azMaWF5WLnS3tQmWcKuiVtF2HsIhRo3hei8wOY7VGk46klbb9jMQW+U+qrRoEnhk2tQOG9DtY2Gy166wgnOu22vtLzcU5zGYdDfXWk1jOOnykXZr9l3PX/v6d2bpbSAfpl8UPuueVc6BksuS7hp+2JFImRL+5SvZQj1oICzjmh26lqhwqT3VnTtFB51gLwTEFM32Uu2l4HylzU3hTWD0RJBLD6UUBFU4hhIBWajNGXxoc7Ral+BgkMaWWYitUKuvhLbGXaBm79NFgvJVV2YXS7AuPrpg98A/3f+Oub7ExDEZXriHgpIj4cR4QiFJ0HhJ6tZLI+wss/ZepIbwcX91bQvXk3ax8RawXNrD2bP3qsursg4WFbvfEfIc9KTunDmFmDzFfsZWG+4O2CC5J+MtRXHbbev3t/2qmWPu3gb4uqs3YGc+w2VtgFr46KlS8WusiqV6u2svx7S5Pqf/rpRjyWi6kFTplET1lfhHN3L0/ZzAifYko1xMh69UnWyyWuiWUXuv1MxSflg2lPNmWNZFM+41NRTEOSINUxRbdFLT1CyUr9QfmT/3Hn73vj355UlUJt+WXMDu/l34ROr8pv0qpIZLZDn53bKeCcDxkqinYQeawi5vtu3Zp+XEu/dHvuzhLxnfdvr1g1o1zuwaKJ7uD14Turr3bs+27ZE4w677zh9+z9fHuij+Yqo1slYlrRurUh1GSiijtmLg+zXLpbq59vpFFhUH3UjguejztkFbiyEVvLq8UIKXS/6p5ENFTOLIiqjtqD8VWVVbFuu8ARkdrmAdTp4YqMnkk0Y33sQJhKcK/vQIeBUYfUXylXpk9/s1VS4d+Ye/XP/9NceTz+g2FV+WUpOFVSfuCTTRXlZzBHYj7Hf2aknukawJRWvM3H30l3eU/9FO/NF0o7lisDNfo0mvbHuhY+UrpRz009YaBXPmVGPoUs4Y8OWLkqefhkhLnIUzviYS30eUEpZgx6F4Zk1HFVXrcK+1Lpa4Uvjg4yqo9rP3osJGVxIHxg1svXQUQAf1M/VuU+hUMEobywqnjQ/VTk0/d+6mPK1Qy42XdLfbsp/OOgD6fH+cZge20dXelzsobbviRzQeaE786Vx7+wCIKVsLQCGMKGqFQjSBpY/6ZUFH0ynQt51l61jtM6WIcNJqQ8sExBeqFlapH356TQibF1i1LdAPtezr36Bahkz432CE/jp6658W9nFKnAX7wLxsostdPB0hxfnqhtjD369c0//Nv3r1H5rs4rL1/eoetufvpvCKQS9Z5TdQTMwQy2r2l3Ib9m65/3w1ThaHJuVL1x5bUodahn0wbktIPQX6QlPk0dX0RjASx3KHn3Cvr5ZJUPldcfXflJkweoBpP217WiOmQZ6EOCj8wlFFbjzqt6r/pMxeTFuk3XjxGmkaJEzqPlV6q+lBF8endLCxMz9Wa8/91w+Ljv7Znz+6DBMpLfZu/Yc9+elURsE/6qnLwfZ/4ZCFs283Epjhicd1bbnnbsdbwh+dKtZ9sVAaxI0Y3IUvmpFBonkYkrNA12PJi3PQx6XjyiFmFqgG5muKif2u322xJFBZ/Zuux116G4ndV6lsbQWFQaLUMiG8tAiPLKeYc3CRXAsicmkZEShlN/ALz/gsLU4dqjYWPr2s8+kd79uw5anFj00eKH1kzRz+92gh4BvBqf4GUfmwW6CFWi699y49ePdUZ/7m5kL1/40ArRAAABPJJREFUqVjd2KFEjnbyMPKPTvLhZDWMBVB29PQy6hdqmRQNhY9TczG2oewgKzGFyJR+kFG4GoU1Yx1WbNPZZ4rPo0nF8slopdqFeg0IYNbDuDKMye4BuBTqs61Sc+kr5fkT//2qxZ2f/eLDNmUhlfjKTSaVq/hxgSFgX/kC4+n7mh3LCIRA6iPY/tYwsLd567tmu5UPzIfytlZlYE2bnXilTRjPR1e7TVW6TeNZPkDJjRMFshQfVw3Z0XmXZZUa/XBMfaJTz9r0KK1NhESfUWCix3/IpjxFd9JsK93lpp58Oijp/scMquYwhsW5bmgsPVRrzd85HmZ2Pvy1u/YTLh62m9IdtB+WKyy5l18vHAQ8A7hwvsWLOJk8rWkgzxtvfOPKowsXv7NRqN7aLFbevtjJrmgzpM7SWevHVw1BMxOpyrMEr6JRN37MZWLOjTSYjCIqvVUg5KB/TWPmKklQ6a6rdhZRm4Pue03ptYu8mlgSaiweLTUbD5bb81+snDz05Sf2fXUvMeKhjj0Nge7e7T37OSYX+NUzgAv8A8Fexji5TXPOawVieSebqf7aU9u2THcHti5l1eupGbwplGuXt0rViVAdrsp2Ph17VlNAd+NhWs5tukrLTQB67ngpk1C/g1ZXt5qzTPU9UO4091Y6jQcqC8cfWH3qC3+1xzbiSDTJHsK2HUWmU3TC5KRX83NYXiNXzwBeIx8qsRkzAz28zDTnd/1AGDpc/pF1c4WhTSPV4cvmOt2NjdLgOMvrN7PpyTCGvotU/2tM4SVnaKOxWavFxn5lrIkMlrITi0uNp2tZc6HYaX6nvTB7YHTxiWff/+ijRyetRzBxoIuV9NdQ0it/caXvQ+Y1d+sZwGvuk/UY5ttNkiHs1sgAGcK2c6eMas/rmNjLbsq7VMrndQpz9tNrFwHPAF673+7lOI+Zwva9mbXFqZfbIcXVcQ0LbSbvWFbeyR1Z2EtYO5jEfHxfut+Nsk9I2RU2/8VgfnYEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBBwBR8ARcAQcAUfAEXAEHAFHwBFwBByBv0UI/D+m/9cOkSY+dQAAAABJRU5ErkJggg==)}: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{position:relative}.zylem-button:before,.zylem-toolbar-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,.entity-grid-item:hover:before{background-position:25% 50%;opacity:.5}.zylem-button:active:not([disabled]):before,.zylem-toolbar-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,.entity-grid-item:before{transition:none;background-position:0% 50%}.zylem-button:hover:not([disabled]):before,.zylem-toolbar-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,.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}.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-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-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)}}@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{width:100%;max-width:440px;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-header{min-height:40px;display:flex;align-items:center;justify-content:space-between;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}.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-body{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-footer{display:flex;justify-content:flex-end;gap:var(--zylem-spacing-sm);padding:0 var(--zylem-spacing-lg) var(--zylem-spacing-lg)}@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-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:112px 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-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-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-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}
7
- `;import{render as Gf}from"solid-js/web";import{createComponent as Mf}from"solid-js/web";import{template as wf}from"solid-js/web";import{insert as Tn}from"solid-js/web";import"solid-js/web";import{createComponent as Ye}from"solid-js/web";import{template as hs}from"solid-js/web";import{style as Tp}from"solid-js/web";import{effect as Rp}from"solid-js/web";import{insert as Hp}from"solid-js/web";import{className as Lp}from"solid-js/web";import{createComponent as bs}from"solid-js/web";import{memo as xs}from"solid-js/web";import{use as vs}from"solid-js/web";import{createContext as ws,createMemo as As,createSignal as ui,onMount as pi,useContext as ks}from"solid-js";var Ot="zylem-layer-portals";function Uo(e){let t=e?.getRootNode();return t instanceof ShadowRoot?t:t instanceof Document?t.body:document.body}function Qt(e){let t=Uo(e);for(let o of Array.from(t.children))if(o instanceof HTMLElement&&o.classList.contains(Ot))return o;let r=document.createElement("div");return r.className=Ot,t.appendChild(r),r}var ys={base:"zylem-layer-base",panel:"zylem-layer-panel",modal:"zylem-layer-modal",popover:"zylem-layer-popover",tooltip:"zylem-layer-tooltip",menu:"zylem-layer-menu"},jo=Object.fromEntries(Object.entries(ys).map(([e,t])=>[e,`var(--${t})`]));var zs=hs("<span aria-hidden=true style=display:none>");var gi=ws();function hr(e){let[t,r]=ui(),o;return pi(()=>r(Qt(o))),bs(gi.Provider,{value:{container:t},get children(){return[(()=>{var n=zs(),i=o;return typeof i=="function"?vs(i,n):o=n,n})(),xs(()=>e.children)]}})}function V(e,t=0){let r=ks(gi),[o,n]=ui(),i;r||pi(()=>n(Qt(i)));let a=As(()=>{let s=typeof t=="function"?t():t,u=jo[e];return s?`calc(${u} + ${s})`:u});return{mount:r?r.container:o,zIndex:a,anchorRef:s=>{i=s}}}function Es(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 Ss(e,t){let r=e.composedPath();return r.length>0?r.includes(t):Es(e,t)}function ot(){let e;return{ref:t=>{e=t},onInteractOutside:t=>{e&&Ss(t.detail.originalEvent,e)&&t.preventDefault()}}}import{template as Cs}from"solid-js/web";import{insert as Ps}from"solid-js/web";import{spread as Is}from"solid-js/web";import{mergeProps as Bs}from"solid-js/web";import{memo as Ds}from"solid-js/web";import{splitProps as Ms}from"solid-js";var Ts=Cs("<button type=button>");function ge(e){let[t,r]=Ms(e,["variant","size","class","children"]);return(()=>{var o=Ts();return Is(o,Bs({get class(){return Ds(()=>!!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),Ps(o,()=>t.children),o})()}import{createComponent as pt}from"solid-js/web";import{memo as Rs}from"solid-js/web";import{Button as Gs,Tooltip as br}from"@kobalte/core";import{Show as Hs}from"solid-js";function ne(e){let t=V("tooltip");return pt(br.Root,{openDelay:400,get children(){return[pt(br.Trigger,{as:"span",ref(r){var o=t.anchorRef;typeof o=="function"?o(r):t.anchorRef=r},get children(){return pt(Gs.Root,{get"aria-label"(){return e.label},get onClick(){return e.onClick},get disabled(){return e.disabled},get class(){return Rs(()=>!!e.class)()?`zylem-toolbar-btn ${e.class}`:"zylem-toolbar-btn"},get"data-selected"(){return e.selected?"":void 0},get children(){return e.children}})}}),pt(Hs,{get when(){return t.mount()},keyed:!0,children:r=>pt(br.Portal,{mount:r,get children(){return pt(br.Content,{class:"zylem-tooltip",get children(){return e.label}})}})})]}})}import{createComponent as fg}from"solid-js/web";import{memo as pg}from"solid-js/web";import{TextField as yg}from"@kobalte/core";import{Show as bg,splitProps as xg}from"solid-js";import{template as wg}from"solid-js/web";import{insert as kg}from"solid-js/web";import{createComponent as Sg}from"solid-js/web";import{memo as Pg}from"solid-js/web";import{NumberField as Bg}from"@kobalte/core";import{Show as Tg}from"solid-js";import{createComponent as Gg}from"solid-js/web";import{memo as Fg}from"solid-js/web";import{Select as Og}from"@kobalte/core";import{Show as Yg}from"solid-js";import{createComponent as Vg}from"solid-js/web";import{memo as Wg}from"solid-js/web";import{Checkbox as Ng}from"@kobalte/core";import Jg from"lucide-solid/icons/check";import{Show as $g}from"solid-js";import{createComponent as ry}from"solid-js/web";import{memo as ny}from"solid-js/web";import{Switch as ay}from"@kobalte/core";import{Show as sy}from"solid-js";import{template as my}from"solid-js/web";import{insert as uy}from"solid-js/web";import{createComponent as gy}from"solid-js/web";import{memo as hy}from"solid-js/web";import{Slider as xy}from"@kobalte/core";import{Show as zy}from"solid-js";import{createComponent as xr}from"solid-js/web";import{memo as vr}from"solid-js/web";import{Tabs as zr}from"@kobalte/core";function wr(e){return xr(zr.Root,{get class(){return vr(()=>!!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 hi(e){return xr(zr.List,{get class(){return vr(()=>!!e.class)()?`zylem-tabs-list ${e.class}`:"zylem-tabs-list"},get children(){return e.children}})}function bi(e){return xr(zr.Trigger,{get class(){return vr(()=>!!e.class)()?`zylem-tabs-trigger ${e.class}`:"zylem-tabs-trigger"},get value(){return e.value},get disabled(){return e.disabled},get children(){return e.children}})}function xi(e){return xr(zr.Content,{get class(){return vr(()=>!!e.class)()?`zylem-tabs-content ${e.class}`:"zylem-tabs-content"},get value(){return e.value},get children(){return e.children}})}wr.List=hi;wr.Trigger=bi;wr.Content=xi;import{createComponent as Py}from"solid-js/web";import{memo as By}from"solid-js/web";import{Accordion as Ty}from"@kobalte/core";import{For as Ry}from"solid-js";import{createComponent as Yt}from"solid-js/web";import"solid-js/web";import{Tooltip as Ar}from"@kobalte/core";import{Show as Fs}from"solid-js";function Vo(e){let t=V("tooltip");return Yt(Ar.Root,{get placement(){return e.placement},get openDelay(){return e.openDelay??400},get children(){return[Yt(Ar.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}}),Yt(Fs,{get when(){return t.mount()},children:r=>Yt(Ar.Portal,{get mount(){return r()},get children(){return Yt(Ar.Content,{class:"zylem-tooltip",get children(){return e.content}})}})})]}})}import{template as jy}from"solid-js/web";import{insert as Ky}from"solid-js/web";import"solid-js/web";import{createComponent as qy}from"solid-js/web";import{DropdownMenu as _y}from"@kobalte/core";import{For as eh,Show as th}from"solid-js";import{template as hh}from"solid-js/web";import"solid-js/web";import{insert as zh}from"solid-js/web";import{createComponent as Ah}from"solid-js/web";import{use as Eh}from"solid-js/web";import{Dialog as Ch}from"@kobalte/core";import{Show as Ih}from"solid-js";import{template as Wo}from"solid-js/web";import{delegateEvents as Ls}from"solid-js/web";import{createComponent as gt}from"solid-js/web";import{setAttribute as Zt}from"solid-js/web";import{effect as vi}from"solid-js/web";import{insert as kr}from"solid-js/web";import{memo as Os}from"solid-js/web";import{Show as Ko}from"solid-js";import Us from"lucide-solid/icons/panel-bottom-close";import js from"lucide-solid/icons/panel-bottom-open";import Vs from"lucide-solid/icons/x";var Qs=Wo('<button type=button class="zylem-window-control zylem-window-control--collapse">'),Ys=Wo('<button type=button class="zylem-window-control zylem-window-control--close">'),Zs=Wo('<div class=zylem-window-controls aria-label="Window controls">');function nt(e){return gt(Ko,{get when(){return e.onClose||e.onCollapse},get children(){var t=Zs();return kr(t,gt(Ko,{get when(){return e.onCollapse},get children(){var r=Qs();return r.$$click=()=>e.onCollapse?.(),kr(r,(()=>{var o=Os(()=>!!e.collapsed);return()=>o()?gt(js,{size:12}):gt(Us,{size:12})})()),vi(o=>{var n=e.collapsed?"Expand panel":"Collapse panel",i=e.collapsed?"Expand panel":"Collapse panel";return n!==o.e&&Zt(r,"aria-label",o.e=n),i!==o.t&&Zt(r,"title",o.t=i),o},{e:void 0,t:void 0}),r}}),null),kr(t,gt(Ko,{get when(){return e.onClose},get children(){var r=Ys();return r.$$click=()=>e.onClose?.(),kr(r,gt(Vs,{size:12})),vi(o=>{var n=e.closeLabel??"Close panel",i=e.closeLabel??"Close panel",a=e.closeTestId;return n!==o.e&&Zt(r,"aria-label",o.e=n),i!==o.t&&Zt(r,"title",o.t=i),a!==o.a&&Zt(r,"data-testid",o.a=a),o},{e:void 0,t:void 0,a:void 0}),r}}),null),t}})}Ls(["click"]);import{template as Gh}from"solid-js/web";import{insert as Fh}from"solid-js/web";import{createComponent as Oh}from"solid-js/web";import{memo as Yh}from"solid-js/web";import{Progress as Uh}from"@kobalte/core";import{Show as Vh}from"solid-js";import{template as Xh}from"solid-js/web";import{setAttribute as qh}from"solid-js/web";import{className as _h}from"solid-js/web";import{effect as eb}from"solid-js/web";import{insert as rb}from"solid-js/web";import{createComponent as ib}from"solid-js/web";import{memo as lb}from"solid-js/web";import{Separator as cb}from"@kobalte/core";import{template as fb}from"solid-js/web";import{createComponent as pb}from"solid-js/web";import{insert as yb}from"solid-js/web";import{spread as bb}from"solid-js/web";import{mergeProps as vb}from"solid-js/web";import{Show as wb,splitProps as Ab}from"solid-js";import{template as Cb}from"solid-js/web";import{className as Ib}from"solid-js/web";import{effect as Db}from"solid-js/web";import{createComponent as Mb}from"solid-js/web";import{insert as Gb}from"solid-js/web";import"solid-js/web";import{spread as Ob}from"solid-js/web";import{mergeProps as Yb}from"solid-js/web";import{Show as Ub,splitProps as jb}from"solid-js";import{template as Wb}from"solid-js/web";import{insert as Nb}from"solid-js/web";import{spread as Jb}from"solid-js/web";import{mergeProps as $b}from"solid-js/web";import{splitProps as tx}from"solid-js";import{template as Xo}from"solid-js/web";import{delegateEvents as Ks}from"solid-js/web";import{createComponent as Ws}from"solid-js/web";import{className as zi}from"solid-js/web";import{effect as wi}from"solid-js/web";import{insert as Er}from"solid-js/web";import{Show as Js,createMemo as _s}from"solid-js";var Xs=Xo('<span title="Click to reveal full path">'),Ns=Xo("<div class=zylem-property-row><span class=zylem-property-label>"),qs=Xo("<span>");function $s(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 ec(e){return e.includes("/")||e.includes("\\")||/^[A-Za-z]:/.test(e)||e.startsWith(".")||e.startsWith("~")}function No(e){let t=_s(()=>{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??ec(r)){let{truncated:n,isTruncated:i}=$s(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=Ns(),o=r.firstChild;return Er(o,()=>e.label),Er(r,Ws(Js,{get when(){return t().isClickable},get fallback(){return(()=>{var n=qs();return Er(n,()=>t().element),wi(()=>zi(n,`zylem-property-value ${e.valueClass??""}`)),n})()},get children(){var n=Xs();return n.$$click=()=>{let i=t().fullValue;i&&e.onPathClick?.(i)},Er(n,()=>t().element),wi(()=>zi(n,`zylem-property-value zylem-property-value--clickable ${e.valueClass??""}`)),n}}),null),r})()}Ks(["click"]);import{template as Ei}from"solid-js/web";import{delegateEvents as tc}from"solid-js/web";import{className as rc}from"solid-js/web";import{insert as qo}from"solid-js/web";import{createComponent as Jo}from"solid-js/web";import"solid-js/web";import{setAttribute as oc}from"solid-js/web";import{effect as Ai}from"solid-js/web";import{Show as ki}from"solid-js";var nc=Ei("<div class=zylem-console-actions>"),ic=Ei('<div><div class=zylem-console-wrapper><textarea class="zylem-console zylem-scroll">');function _o(e){return(()=>{var t=ic(),r=t.firstChild,o=r.firstChild;return o.$$input=n=>e.onInput?.(n.currentTarget.value),oc(o,"spellcheck",!1),qo(r,Jo(ki,{get when(){return e.onClear||e.actions},get children(){var n=nc();return qo(n,()=>e.actions,null),qo(n,Jo(ki,{get when(){return e.onClear},get children(){return Jo(ge,{size:"sm",variant:"ghost",onClick:()=>e.onClear?.(),children:"Clear"})}}),null),n}}),null),Ai(n=>{var i=e.class?`zylem-console-container ${e.class}`:"zylem-console-container",a=e.readOnly||!e.onInput;return i!==n.e&&rc(t,n.e=i),a!==n.t&&(o.readOnly=n.t=a),n},{e:void 0,t:void 0}),Ai(()=>o.value=e.value),t})()}tc(["input"]);import{template as Sr}from"solid-js/web";import{className as ac}from"solid-js/web";import{effect as lc}from"solid-js/web";import{createComponent as sc}from"solid-js/web";import{insert as Ut}from"solid-js/web";import{spread as Si}from"solid-js/web";import{mergeProps as Ci}from"solid-js/web";import{memo as Pi}from"solid-js/web";import{Show as uc,splitProps as Ii}from"solid-js";var cc=Sr("<aside>"),dc=Sr("<div class=sidebar-section-title>"),mc=Sr("<div>"),fc=Sr("<button type=button>");function $o(e){let[t,r]=Ii(e,["children","class"]);return(()=>{var o=cc();return Si(o,Ci({get class(){return Pi(()=>!!t.class)()?`sidebar zylem-scroll ${t.class}`:"sidebar zylem-scroll"}},r),!1,!0),Ut(o,()=>t.children),o})()}function Bi(e){return(()=>{var t=mc();return Ut(t,sc(uc,{get when(){return e.title},get children(){var r=dc();return Ut(r,()=>e.title),r}}),null),Ut(t,()=>e.children,null),lc(()=>ac(t,e.class?`sidebar-section ${e.class}`:"sidebar-section")),t})()}function Di(e){let[t,r]=Ii(e,["active","children","class"]);return(()=>{var o=fc();return Si(o,Ci({get class(){return Pi(()=>!!t.class)()?`sidebar-item ${t.class}`:"sidebar-item"},get"data-active"(){return t.active?"":void 0}},r),!1,!0),Ut(o,()=>t.children),o})()}$o.Section=Bi;$o.Item=Di;import{template as Rx}from"solid-js/web";import{createComponent as Hx}from"solid-js/web";import{insert as Lx}from"solid-js/web";import{spread as Qx}from"solid-js/web";import{mergeProps as Zx}from"solid-js/web";import"solid-js/web";import{Show as Kx,splitProps as Wx}from"solid-js";import{template as Cr}from"solid-js/web";import{delegateEvents as pc}from"solid-js/web";import{use as gc}from"solid-js/web";import{setAttribute as en}from"solid-js/web";import{className as yc}from"solid-js/web";import{effect as Ti}from"solid-js/web";import{insert as Mi}from"solid-js/web";import{memo as Ri}from"solid-js/web";import{createComponent as Ge}from"solid-js/web";import{Popover as jt}from"@kobalte/core";import{Show as tn,createSignal as zc}from"solid-js";var hc=Cr("<span aria-hidden=true>\u25BE"),bc=Cr("<div>"),xc=Cr('<span class="zylem-menu-button__chevron zylem-menu-button__chevron--static"aria-hidden=true>\u25BE'),vc=Cr('<button type=button class="zylem-toolbar-btn zylem-menu-button__face">');function rn(e){let[t,r]=zc(!1),o=V("menu"),n=ot(),i=()=>e.open??t(),a=h=>{r(h),e.onOpenChange?.(h)},s=()=>e.onAction!==void 0,u=()=>e.tooltip===null?null:e.tooltip??e.label,m=h=>Ge(tn,{get when(){return u()},fallback:h,keyed:!0,children:d=>Ge(Vo,{content:d,children:h})});return(()=>{var h=bc();return Mi(h,Ge(jt.Root,{get open(){return i()},onOpenChange:a,get placement(){return e.placement??"bottom-start"},get children(){return[Ge(tn,{get when(){return s()},get fallback(){return m(Ge(jt.Trigger,{ref(d){var g=o.anchorRef;typeof g=="function"?g(d):o.anchorRef=d},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[Ri(()=>e.children),xc()]}}))},get children(){return[Ri(()=>m((()=>{var d=vc();d.$$click=()=>e.onAction?.();var g=o.anchorRef;return typeof g=="function"?gc(g,d):o.anchorRef=d,Mi(d,()=>e.children),Ti(p=>{var z=e.label,l=e.disabled,f=e.selected?"":void 0;return z!==p.e&&en(d,"aria-label",p.e=z),l!==p.t&&(d.disabled=p.t=l),f!==p.a&&en(d,"data-selected",p.a=f),p},{e:void 0,t:void 0,a:void 0}),d})())),Ge(jt.Trigger,{class:"zylem-menu-button__chevron",get"aria-label"(){return`${e.label} options`},get disabled(){return e.disabled},get children(){return hc()}})]}}),Ge(tn,{get when(){return o.mount()},keyed:!0,children:d=>Ge(jt.Portal,{mount:d,get children(){return Ge(jt.Content,{ref(g){var p=n.ref;typeof p=="function"?p(g):n.ref=g},class:"zylem-menu-button__panel",get onInteractOutside(){return n.onInteractOutside},get children(){return e.menu(()=>a(!1))}})}})})]}})),Ti(d=>{var g=e.class?`zylem-menu-button ${e.class}`:"zylem-menu-button",p=s()?"":void 0;return g!==d.e&&yc(h,d.e=g),p!==d.t&&en(h,"data-split",d.t=p),d},{e:void 0,t:void 0}),h})()}pc(["click"]);import{template as at}from"solid-js/web";import{delegateEvents as Dc}from"solid-js/web";import{setAttribute as Li}from"solid-js/web";import{className as Tc}from"solid-js/web";import{effect as ln}from"solid-js/web";import{insert as He}from"solid-js/web";import{createComponent as it}from"solid-js/web";import"solid-js/web";import{For as Oi,Show as Pr,createMemo as Qc,createSignal as Yc}from"solid-js";import{template as wc}from"solid-js/web";import{delegateEvents as Ac}from"solid-js/web";import{setAttribute as Gi}from"solid-js/web";import{className as kc}from"solid-js/web";import{insert as Ec}from"solid-js/web";import{addEventListener as Sc}from"solid-js/web";import{effect as Hi}from"solid-js/web";import{use as Cc}from"solid-js/web";import{createComponent as Pc}from"solid-js/web";import Bc from"lucide-solid/icons/search";var Ic=wc('<div><input type=search class="zylem-field zylem-search-input">');function on(e){return(()=>{var t=Ic(),r=t.firstChild;Ec(t,Pc(Bc,{class:"zylem-search-icon"}),r),Sc(r,"keydown",e.onKeyDown,!0),r.$$input=n=>e.onInput?.(n.currentTarget.value);var o=e.ref;return typeof o=="function"?Cc(o,r):e.ref=r,Hi(n=>{var i=e.class?`zylem-search ${e.class}`:"zylem-search",a=e.placeholder??"Search...",s=e["aria-label"]??e.placeholder??"Search";return i!==n.e&&kc(t,n.e=i),a!==n.t&&Gi(r,"placeholder",n.t=a),s!==n.a&&Gi(r,"aria-label",n.a=s),n},{e:void 0,t:void 0,a:void 0}),Hi(()=>r.value=e.value??""),t})()}Ac(["input","keydown"]);var Fi="Other";function nn(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 an(e){let t=[],r=new Map;for(let o of e){let n=o.group??Fi,i=r.get(n);i||(i=[],r.set(n,i),t.push({group:n,items:i})),i.push(o)}return t}var Mc=at('<div class="zylem-picker__groups zylem-scroll">'),Rc=at("<div>"),Gc=at("<p class=zylem-picker__empty>"),Hc=at("<p class=zylem-picker__empty>No matches for \u201C<!>\u201D."),Fc=at("<div class=zylem-picker__group><h4 class=zylem-picker__group-title>"),Lc=at("<button type=button class=zylem-picker__item><span class=zylem-picker__item-label>"),Oc=at("<span class=zylem-picker__item-glyph>");function sn(e){let[t,r]=Yc(""),o=()=>e.searchable!==!1,n=Qc(()=>an(nn(e.items,t())));return(()=>{var i=Rc();return He(i,it(Pr,{get when(){return o()},get children(){return it(on,{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),He(i,it(Pr,{get when(){return e.items.length},get fallback(){return(()=>{var a=Gc();return He(a,()=>e.emptyMessage??"Nothing to choose from."),a})()},get children(){return it(Pr,{get when(){return n().length},get fallback(){return(()=>{var a=Hc(),s=a.firstChild,u=s.nextSibling,m=u.nextSibling;return He(a,t,u),a})()},get children(){var a=Mc();return He(a,it(Oi,{get each(){return n()},children:s=>(()=>{var u=Fc(),m=u.firstChild;return He(m,()=>s.group),He(u,it(Oi,{get each(){return s.items},children:h=>(()=>{var d=Lc(),g=d.firstChild;return d.$$click=()=>e.onSelect(h),He(d,it(Pr,{get when(){return h.icon},children:p=>(()=>{var z=Oc();return ln(()=>z.innerHTML=p()),z})()}),g),He(g,()=>h.label),ln(p=>{var z=h.disabled,l=e.selectedId===h.id?"":void 0,f=h.description;return z!==p.e&&(d.disabled=p.e=z),l!==p.t&&Li(d,"data-selected",p.t=l),f!==p.a&&Li(d,"title",p.a=f),p},{e:void 0,t:void 0,a:void 0}),d})()}),null),u})()})),a}})}}),null),ln(()=>Tc(i,e.class?`zylem-picker ${e.class}`:"zylem-picker")),i})()}Dc(["click"]);import{template as Gv}from"solid-js/web";import{className as Fv}from"solid-js/web";import{effect as Ov}from"solid-js/web";import{createComponent as Yv}from"solid-js/web";import{insert as Uv}from"solid-js/web";import{Show as Vv}from"solid-js";import{template as Xv}from"solid-js/web";import{insert as qv}from"solid-js/web";import{spread as _v}from"solid-js/web";import{mergeProps as ez}from"solid-js/web";import{memo as rz}from"solid-js/web";import{splitProps as nz}from"solid-js";import{template as lz}from"solid-js/web";import{className as cz}from"solid-js/web";import{effect as mz}from"solid-js/web";import{insert as uz}from"solid-js/web";import{createMemo as kf,createSignal as rl,For as Ef,onCleanup as Sf,onMount as Cf,Show as ol}from"solid-js";import{render as Pf}from"solid-js/web";import{template as sd}from"solid-js/web";import{delegateEvents as cd}from"solid-js/web";import{setStyleProperty as un}from"solid-js/web";import{style as Le}from"solid-js/web";import{effect as dd}from"solid-js/web";import{addEventListener as Ne}from"solid-js/web";import{insert as Xt}from"solid-js/web";import{memo as md}from"solid-js/web";import{createComponent as pn}from"solid-js/web";import{use as fd}from"solid-js/web";import{createEffect as pd,createSignal as gn,onCleanup as gd,onMount as yd}from"solid-js";import{template as mn}from"solid-js/web";import{delegateEvents as Zc}from"solid-js/web";import{setAttribute as Ir}from"solid-js/web";import{setStyleProperty as Vt}from"solid-js/web";import{effect as cn}from"solid-js/web";import{memo as Uc}from"solid-js/web";import{insert as Br}from"solid-js/web";import{createComponent as Kt}from"solid-js/web";import{use as dn}from"solid-js/web";import{PanelBottom as Wc,PanelLeft as Xc,PanelRight as Ui,PanelTop as Nc}from"lucide-solid";import{createEffect as qc,createSignal as Qi,For as Jc,onCleanup as _c,Show as $c}from"solid-js";import{Dynamic as Yi,Portal as ed}from"solid-js/web";var jc=mn('<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">'),Vc=mn('<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>'),Kc=mn("<button type=button role=menuitem class=floating-panel-button>"),Zi=[{side:"left",label:"Dock to left",icon:Xc},{side:"top",label:"Dock to top",icon:Nc},{side:"bottom",label:"Dock to bottom",icon:Wc},{side:"right",label:"Dock to right",icon:Ui}],ji=e=>{let[t,r]=Qi(!1),[o,n]=Qi({top:0,right:0}),i=V("menu"),a,s,u,m=p=>{a=p,i.anchorRef(p)},h=()=>Zi.find(p=>p.side===e.dockedSide())?.icon??Ui,d=()=>{if(!s)return;let p=s.getBoundingClientRect();n({top:p.bottom+6,right:Math.max(0,window.innerWidth-p.right)})},g=()=>{t()||d(),r(!t())};return qc(()=>{if(!t())return;let p=l=>{let f=l.composedPath();a&&f.includes(a)||u&&f.includes(u)||r(!1)},z=l=>{l.key==="Escape"&&r(!1)};document.addEventListener("pointerdown",p),document.addEventListener("keydown",z),window.addEventListener("resize",d),_c(()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",z),window.removeEventListener("resize",d)})}),(()=>{var p=Vc(),z=p.firstChild;p.$$pointerdown=f=>f.stopPropagation(),dn(m,p),z.$$click=g;var l=s;return typeof l=="function"?dn(l,z):s=z,Br(z,Kt(Yi,{get component(){return h()},size:12})),Br(p,Kt($c,{get when(){return Uc(()=>!!t())()&&i.mount()},get children(){return Kt(ed,{get mount(){return i.mount()},get children(){var f=jc();f.$$pointerdown=y=>y.stopPropagation();var c=u;return typeof c=="function"?dn(c,f):u=f,Br(f,Kt(Jc,{each:Zi,children:y=>{let v=()=>e.dockedSide()===y.side;return(()=>{var k=Kc();return k.$$click=()=>{e.onDock(y.side),r(!1)},Br(k,Kt(Yi,{get component(){return y.icon},size:12})),cn(w=>{var F=y.label,Q=y.label,Z=`dock-menu-${y.side}`,te=v()?"var(--zylem-color-primary, #61a6e8)":void 0,_=v()?"rgba(97, 166, 232, 0.4)":void 0;return F!==w.e&&Ir(k,"title",w.e=F),Q!==w.t&&Ir(k,"aria-label",w.t=Q),Z!==w.a&&Ir(k,"data-testid",w.a=Z),te!==w.o&&Vt(k,"border-color",w.o=te),_!==w.i&&Vt(k,"background",w.i=_),w},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),k})()}})),cn(y=>{var v=`${o().top}px`,k=`${o().right}px`,w=i.zIndex();return v!==y.e&&Vt(f,"top",y.e=v),k!==y.t&&Vt(f,"right",y.t=k),w!==y.a&&Vt(f,"z-index",y.a=w),y},{e:void 0,t:void 0,a:void 0}),f}})}}),null),cn(()=>Ir(z,"aria-expanded",t())),p})()};Zc(["pointerdown","click"]);var Fe={toggleButton:1,mainPanel:2,detachedBase:3,mainDockPreview:4,dragGhost:900};import{template as od}from"solid-js/web";import{setStyleProperty as Wt}from"solid-js/web";import{effect as nd}from"solid-js/web";import{createComponent as fn}from"solid-js/web";import{createEffect as Ki,createMemo as Wi,createSignal as Dr,Show as Xi,untrack as Ni}from"solid-js";import{Portal as ad}from"solid-js/web";import{createSignal as td}from"solid-js";var Vi=()=>typeof window>"u"?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight},[we,rd]=td(Vi(),{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,rd(Vi())})})}var id=od('<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">'),ld=24,qi={width:320,height:240};function Tr(e){let[t,r]=Dr({width:e.initialSize.width,height:e.initialSize.height}),[o,n]=Dr({visible:!1,side:null,index:0}),i=Wi(()=>Be(b.docks,e.panelId)),a=()=>i()!==null,s=Wi(()=>i()?Ke(b.docks,we(),{minSlotExtent:0})[e.panelId]??null:null);Ki(()=>{let x=s();x&&Ni(()=>{let I=e.position(),B=e.size();(I.x!==x.x||I.y!==x.y)&&e.setPosition({x:x.x,y:x.y}),(B.width!==x.width||B.height!==x.height)&&e.setSize({width:x.width,height:x.height})})});let[u,m]=Dr(!0),h=()=>!a()&&u(),[d,g]=Dr(!1),p=!0,z=(x,I)=>{n({visible:!0,side:x,index:I})},l=()=>{n({visible:!1,side:null,index:0})},f=x=>{r({width:x.width,height:x.height})},c=()=>{let x=e.panelRef();if(x){let I=x.getBoundingClientRect();return{width:I.width,height:I.height}}return e.size()},y=()=>{let x=o();return!x.visible||!x.side?null:to(b.docks,e.panelId,x.side,x.index,we())},v=(x,I)=>{let B=we(),D=Math.max(1,B.width),J=Math.max(1,B.height),U=Math.min(e.minSize.width,D),ae=Math.min(e.minSize.height,J);return{width:Math.min(D,Math.max(U,x)),height:Math.min(J,Math.max(ae,I))}},k=(x,I,B,D)=>{let J=we(),U=v(B,D),ae=Math.max(0,J.width-U.width),le=Math.max(0,J.height-U.height);return{position:{x:Math.max(0,Math.min(x,ae)),y:Math.max(0,Math.min(I,le))},size:U}},w=(x,I,B,D)=>{let J=we(),ae=[{side:"left",amount:Math.max(0,-x)},{side:"right",amount:Math.max(0,x+B-J.width)},{side:"top",amount:Math.max(0,-I)},{side:"bottom",amount:Math.max(0,I+D-J.height)}].reduce((le,Ze)=>Ze.amount>le.amount?Ze:le);return ae.amount>=ld?ae.side:null},F=(x,I,B)=>eo(b.docks,x,{x:I,y:B},we(),e.panelId),Q=(x,I)=>{let B=e.position(),D=c();a()?p=!0:(f(D),p=u());let J=v(qi.width,qi.height),U=D.width>0?Math.max(0,Math.min(1,(x-B.x)/D.width)):0,ae=D.height>0?Math.max(0,Math.min(1,(I-B.y)/D.height)):0,le=k(x-J.width*U,I-J.height*ae,J.width,J.height);return Me(e.panelId),e.setSize(le.size),e.setPosition(le.position),m(!1),g(!0),l(),le},Z=()=>{let x=t(),I=v(x.width,x.height),B=e.position(),D=k(B.x,B.y,I.width,I.height);return e.setSize(D.size),e.setPosition(D.position),m(p),g(!1),e.onSizeCommit?.(D.size),e.onPositionCommit?.(D.position),D},te=x=>{l();let I=i();if(I&&x&&x===_r(I)){let D=c();return e.setSize(D),m(!1),{size:D,mode:"thickness"}}I&&Me(e.panelId);let B=c();return e.setSize(B),m(!1),{size:B,mode:"free"}},_=(x,I,B)=>{let D=i();if(!D)return;let J=Ie(D),U=J?I:B,ae=D==="left"||D==="top"?U:-U,le=J?e.minSize.width:e.minSize.height,Ze=$r(b.docks,D,x+ae,we(),le);mo(D,Ze)},fe=()=>{Me(e.panelId)},Y=()=>{let x=o();return!x.visible||!x.side?null:(a()||f(e.size()),$e(e.panelId,x.side,x.index),m(!1),g(!1),l(),{side:x.side,index:x.index})},xe=()=>{let x=t(),I=v(x.width,x.height),B=e.position(),D=k(B.x,B.y,I.width,I.height);return Me(e.panelId),e.setSize(D.size),e.setPosition(D.position),m(!0),e.onSizeCommit?.(D.size),e.onPositionCommit?.(D.position),D},Ae=x=>{if(x===null){a()&&xe();return}a()||f(e.size()),$e(e.panelId,x),m(!1)},zt=()=>{if(a())return;let x=e.position(),I=h()?c():e.size(),B=k(x.x,x.y,I.width,I.height);(I.width!==B.size.width||I.height!==B.size.height)&&(e.setSize(B.size),e.onSizeCommit?.(B.size)),(x.x!==B.position.x||x.y!==B.position.y)&&(e.setPosition(B.position),e.onPositionCommit?.(B.position))};return Ki(()=>{we(),Ni(zt)}),{dockedSide:i,dockRect:s,isAutoHeight:h,setIsAutoHeight:m,showDockPreview:z,hideDockPreview:l,rememberUndockedSize:f,getLiveSize:c,getDockPreviewRect:y,detectDockSide:w,detectDockIndex:F,beginDragGhost:Q,endDragGhost:Z,isMoving:d,clampSizeToViewport:v,fitPanelToViewport:k,beginResize:te,resizeDockThickness:_,clearDockedSide:fe,applyDockPreview:Y,restoreUndockedPanel:xe,dockTo:Ae}}var Mr=e=>{let t=V("panel",e.rank);return fn(Xi,{get when(){return e.rect},children:r=>fn(Xi,{get when(){return t.mount()},keyed:!0,children:o=>fn(ad,{mount:o,get children(){var n=id();return nd(i=>{var a=`${r().x}px`,s=`${r().y}px`,u=`${r().width}px`,m=`${r().height}px`,h=t.zIndex();return a!==i.e&&Wt(n,"left",i.e=a),s!==i.t&&Wt(n,"top",i.t=s),u!==i.a&&Wt(n,"width",i.a=u),m!==i.o&&Wt(n,"height",i.o=m),h!==i.i&&Wt(n,"z-index",i.i=h),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),n}})})})};var ud=sd("<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>"),Ji=3,_i=e=>{let t=V("panel",Fe.mainPanel),r=e.minSize??{width:300,height:200},o=e.initialSize??{width:460,height:600},[n,i]=gn(e.initialPosition??{x:50,y:50}),[a,s]=gn(o),[u,m]=gn(!1),h=()=>m(!u()),d=!1,g=!1,p="free",z=null,l={x:0,y:0},f={x:0,y:0},c={width:0,height:0},y=0,v=!1,k,{dockedSide:w,isAutoHeight:F,showDockPreview:Q,hideDockPreview:Z,rememberUndockedSize:te,getLiveSize:_,getDockPreviewRect:fe,detectDockSide:Y,detectDockIndex:xe,beginDragGhost:Ae,endDragGhost:zt,isMoving:x,clampSizeToViewport:I,beginResize:B,resizeDockThickness:D,applyDockPreview:J,dockTo:U}=Tr({panelId:ke,initialSize:e.floatingSize??o,minSize:r,position:n,setPosition:i,size:a,setSize:s,panelRef:()=>k,onPositionCommit:A=>e.onMove?.(A),onSizeCommit:A=>e.onResize?.(A)});pd(()=>{let A=e.dockRequest?.();A&&U(A.side)});let ae=(A,T,L,H)=>({x:Math.max(-L+50,Math.min(A,window.innerWidth-50)),y:Math.max(0,Math.min(T,window.innerHeight-50))}),le=(A,T)=>I(A,T),Ze=A=>{d=!0,v=!1,Z(),l={x:A.clientX,y:A.clientY},f={...n()},A.pointerType==="mouse"&&A.preventDefault()},re=A=>T=>{g=!0,z=A;let L=w(),{size:H,mode:j}=B(A);p=j,y=L&&Ie(L)?H.width:H.height,l={x:T.clientX,y:T.clientY},f={...n()},c={...H},T.pointerType==="mouse"&&T.preventDefault(),T.stopPropagation()},C=A=>{if(d){let T=A.clientX-l.x,L=A.clientY-l.y;if((Math.abs(T)>Ji||Math.abs(L)>Ji)&&!v){v=!0;let H=Ae(A.clientX,A.clientY);l={x:A.clientX,y:A.clientY},f={...H.position},c={...H.size},T=0,L=0}if(v){let H=f.x+T,j=f.y+L,W=_(),X=Y(H,j,W.width,W.height);X?Q(X,xe(X,A.clientX,A.clientY)):Z();let N=ae(H,j,W.width,W.height);i(N)}}else if(g&&z){let T=A.clientX-l.x,L=A.clientY-l.y;if(p==="thickness"){D(y,T,L);return}let H=c.width,j=c.height,W=f.x,X=f.y;z.includes("e")?H=c.width+T:z.includes("w")&&(H=c.width-T,W=f.x+T),z.includes("s")?j=c.height+L:z.includes("n")&&(j=c.height-L,X=f.y+L);let N=le(H,j);z.includes("w")&&N.width===r.width&&(W=f.x+c.width-r.width),z.includes("n")&&N.height===r.height&&(X=f.y+c.height-r.height),s(N),i(ae(W,X,N.width,N.height))}},O=()=>{d&&v&&(J()||zt()),g&&p==="free"&&(te(a()),e.onResize?.(a())),d=!1,g=!1,p="free",z=null,v=!1,Z()};yd(()=>{window.addEventListener("pointermove",C),window.addEventListener("pointerup",O)}),gd(()=>{window.removeEventListener("pointermove",C),window.removeEventListener("pointerup",O)});let K=A=>({position:"absolute","z-index":10,cursor:A,"touch-action":"none"});return(()=>{var A=ud(),T=A.firstChild,L=T.firstChild,H=L.nextSibling,j=T.nextSibling,W=j.nextSibling,X=W.nextSibling,N=X.nextSibling,Ce=N.nextSibling,Pe=Ce.nextSibling,M=Pe.nextSibling,Ue=M.nextSibling,je=Ue.nextSibling,_e=k;return typeof _e=="function"?fd(_e,A):k=A,Xt(A,pn(Mr,{get rect(){return fe()},get rank(){return Fe.mainDockPreview}}),T),T.$$pointerdown=Ze,Xt(L,()=>e.title??"Panel"),Xt(H,pn(ji,{dockedSide:w,onDock:G=>U(G)}),null),Xt(H,pn(nt,{get collapsed(){return u()},get onCollapse(){return e.collapsible?h:void 0},get onClose(){return e.onClose},closeTestId:"floating-panel-close"}),null),Xt(j,(()=>{var G=md(()=>typeof e.children=="function");return()=>G()?e.children(u):e.children})()),Ne(W,"pointerdown",re("n"),!0),Ne(X,"pointerdown",re("s"),!0),Ne(N,"pointerdown",re("w"),!0),Ne(Ce,"pointerdown",re("e"),!0),Ne(Pe,"pointerdown",re("nw"),!0),Ne(M,"pointerdown",re("ne"),!0),Ne(Ue,"pointerdown",re("sw"),!0),Ne(je,"pointerdown",re("se"),!0),dd(G=>{var Vr={left:`${n().x}px`,top:`${n().y}px`,width:`${a().width}px`,height:!x()&&(u()||F())?"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)"}:{}},or=w()?"0":void 0,nr=x()?"hidden":void 0,ir=x()?"hidden":void 0,Kr={...K("ns-resize")},Wr={...K("ns-resize")},Xr={...K("ew-resize")},Nr={...K("ew-resize")},fl={...K("nwse-resize")},ul={...K("nesw-resize")},pl={...K("nesw-resize")},gl={...K("nwse-resize")};return G.e=Le(A,Vr,G.e),or!==G.t&&un(T,"border-radius",G.t=or),nr!==G.a&&un(T,"visibility",G.a=nr),ir!==G.o&&un(j,"visibility",G.o=ir),G.i=Le(W,Kr,G.i),G.n=Le(X,Wr,G.n),G.s=Le(N,Xr,G.s),G.h=Le(Ce,Nr,G.h),G.r=Le(Pe,fl,G.r),G.d=Le(M,ul,G.d),G.l=Le(Ue,pl,G.l),G.u=Le(je,gl,G.u),G},{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}),A})()};cd(["pointerdown"]);import{template as hd}from"solid-js/web";import{delegateEvents as bd}from"solid-js/web";import{setStyleProperty as yn}from"solid-js/web";import{effect as xd}from"solid-js/web";import{createSignal as zd,onCleanup as wd,onMount as Ad}from"solid-js";var vd=hd("<div style=position:fixed;cursor:grab;touch-action:none;pointer-events:auto><button id=zylem-editor-toggle type=button>"),Rr=50,$i=5,Ee=96,yt=20,ea=e=>{let t=V("panel",Fe.toggleButton),[r,o]=zd({x:0,y:0}),n,i=!1,a={x:0,y:0},s={x:0,y:0},u=!1,m=(l,f)=>{let c=window.innerWidth,y=window.innerHeight,v=l,k=f;return l<Rr?v=yt:l>c-Ee-Rr&&(v=c-Ee-yt),f<Rr?k=yt:f>y-Ee-Rr&&(k=y-Ee-yt),{x:v,y:k}},h=(l,f)=>{let c=Math.max(0,window.innerWidth-Ee),y=Math.max(0,window.innerHeight-Ee);return{x:Math.max(0,Math.min(l,c)),y:Math.max(0,Math.min(f,y))}},d=l=>{i=!0,u=!1,a={x:l.clientX,y:l.clientY},s={...r()},l.pointerType==="mouse"&&l.preventDefault()},g=l=>{if(!i)return;let f=l.clientX-a.x,c=l.clientY-a.y;if((Math.abs(f)>$i||Math.abs(c)>$i)&&(u=!0),u){let y=s.x+f,v=s.y+c,k=window.innerWidth,w=window.innerHeight,F=Math.max(0,Math.min(y,k-Ee)),Q=Math.max(0,Math.min(v,w-Ee));o({x:F,y:Q})}},p=()=>{if(i){if(u){let l=r(),f=m(l.x,l.y);o(f),kt(f)}else e.onToggle();i=!1,u=!1}},z=()=>{n!==void 0&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{let l=r(),f=h(l.x,l.y);(f.x!==l.x||f.y!==l.y)&&(o(f),kt(f)),n=void 0})};return Ad(()=>{let l=h(window.innerWidth-Ee-yt,window.innerHeight-Ee-yt);o(l),kt(l),window.addEventListener("pointermove",g),window.addEventListener("pointerup",p),window.addEventListener("resize",z)}),wd(()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",p),window.removeEventListener("resize",z),n!==void 0&&cancelAnimationFrame(n)}),(()=>{var l=vd(),f=l.firstChild;return f.$$pointerdown=d,xd(c=>{var y=`${r().x}px`,v=`${r().y}px`,k=t.zIndex();return y!==c.e&&yn(l,"left",c.e=y),v!==c.t&&yn(l,"top",c.t=v),k!==c.a&&yn(l,"z-index",c.a=k),c},{e:void 0,t:void 0,a:void 0}),l})()};bd(["pointerdown"]);import{template as Pm}from"solid-js/web";import{delegateEvents as Im}from"solid-js/web";import{setStyleProperty as En}from"solid-js/web";import{style as Qe}from"solid-js/web";import{effect as Bm}from"solid-js/web";import{addEventListener as Je}from"solid-js/web";import{insert as Qr}from"solid-js/web";import{createComponent as wa}from"solid-js/web";import{use as Dm}from"solid-js/web";import{createSignal as Aa,onCleanup as Mm,onMount as Rm}from"solid-js";import{createComponent as Cm}from"solid-js/web";import{template as lt}from"solid-js/web";import{className as kd}from"solid-js/web";import{setAttribute as Ed}from"solid-js/web";import{effect as ta}from"solid-js/web";import{insert as ie}from"solid-js/web";import{createComponent as ht}from"solid-js/web";import{memo as Sd}from"solid-js/web";import{createSignal as Gr,For as ra,onCleanup as Rd,onMount as Gd,Show as oa}from"solid-js";import{subscribe as Hd}from"valtio/vanilla";var Cd=lt("<section class=zylem-section><h4 class=zylem-section-title>Message types</h4><div class=zylem-property-list>"),Pd=lt("<span class=zylem-property-value>(<!> older dropped)"),Id=lt('<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">'),Bd=lt("<p class=zylem-property-value>No bridge traffic recorded yet."),Dd=lt("<div class=zylem-property-row><span class=zylem-property-label></span><span class=zylem-property-value> \xB7 <!>/s \xB7 "),Td=lt("<p class=zylem-property-value>Waiting for messages\u2026"),Md=lt("<div class=bridge-log-row><span></span><span class=bridge-log-type></span><span class=bridge-log-meta></span><span class=bridge-log-summary>"),na=()=>{let[e,t]=Gr([]),[r,o]=Gr([]),[n,i]=Gr(ee.paused),[a,s]=Gr(0);Gd(()=>{Do();let h=Hd(ee,()=>{t([...ee.stats]),o([...ee.entries]),i(ee.paused),s(ee.dropped)});Rd(()=>{h(),Ht()})});let u=()=>To(!ee.paused),m=()=>e().reduce((h,d)=>h+d.rate,0);return(()=>{var h=Id(),d=h.firstChild,g=d.firstChild,p=g.firstChild,z=d.nextSibling,l=z.firstChild,f=l.firstChild,c=l.nextSibling;return ie(d,ht(ge,{size:"sm",onClick:u,get children(){return n()?"Resume":"Pause"}}),g),ie(d,ht(ge,{size:"sm",onClick:Mo,children:"Clear"}),g),ie(g,()=>m().toFixed(0),p),ie(h,ht(oa,{get when(){return e().length>0},get fallback(){return Bd()},get children(){var y=Cd(),v=y.firstChild,k=v.nextSibling;return ie(k,ht(ra,{get each(){return e()},children:w=>(()=>{var F=Dd(),Q=F.firstChild,Z=Q.nextSibling,te=Z.firstChild,_=te.nextSibling,fe=_.nextSibling;return ie(Q,()=>w.type),ie(Z,()=>w.sent,te),ie(Z,()=>w.rate.toFixed(0),_),ie(Z,()=>Ro(w.bytes),null),ie(Z,(()=>{var Y=Sd(()=>w.retained>0);return()=>Y()?` \xB7 ${w.retained} kept`:""})(),null),ta(Y=>{var xe=w.rate>oi,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 xe!==Y.e&&F.classList.toggle("bridge-row--hot",Y.e=xe),Ae!==Y.t&&Ed(F,"title",Y.t=Ae),Y},{e:void 0,t:void 0}),F})()})),y}}),z),ie(l,ht(oa,{get when(){return a()>0},get children(){return[" ",(()=>{var y=Pd(),v=y.firstChild,k=v.nextSibling,w=k.nextSibling;return ie(y,a,k),y})()]}}),null),ie(c,ht(ra,{get each(){return r().slice().reverse()},get fallback(){return Td()},children:y=>(()=>{var v=Md(),k=v.firstChild,w=k.nextSibling,F=w.nextSibling,Q=F.nextSibling;return ie(k,()=>y.kind),ie(w,()=>y.type),ie(F,()=>Ro(y.bytes)),ie(Q,()=>y.summary),ta(()=>kd(k,`bridge-log-kind bridge-log-kind--${y.kind}`)),v})()})),h})()};import{createComponent as Fd}from"solid-js/web";import{createSignal as Ld,onCleanup as Od}from"solid-js";import{subscribe as Qd}from"valtio/vanilla";var ia=()=>{let[e,t]=Ld(ve.messages.join(`
8
- `)),r=ve.messages.length,o=Qd(ve,()=>{let n=ve.messages,i=n.length;if(i===0){r!==0&&t(""),r=0;return}if(i>r){let a=n.slice(r).join(`
9
- `);r===0?t(a):a.length>0&&t(s=>`${s}
10
- ${a}`),r=i;return}t(n.join(`
11
- `)),r=i});return Od(()=>{o()}),Fd(_o,{get value(){return e()},onInput:t,onClear:Jr})};import{template as fa}from"solid-js/web";import{delegateEvents as rm}from"solid-js/web";import{setAttribute as om}from"solid-js/web";import{effect as nm}from"solid-js/web";import"solid-js/web";import{createComponent as ma}from"solid-js/web";import{insert as xn}from"solid-js/web";import{For as lm}from"solid-js";import{template as Nt}from"solid-js/web";import{setAttribute as Hr}from"solid-js/web";import{effect as sa}from"solid-js/web";import{insert as bt}from"solid-js/web";import{createComponent as hn}from"solid-js/web";import{Show as ca}from"solid-js";import{createComponent as Yd}from"solid-js/web";import"solid-js/web";import aa from"lucide-solid/icons/box";import Zd from"lucide-solid/icons/ghost";import Ud from"lucide-solid/icons/globe";import jd from"lucide-solid/icons/grid-3x3";import Vd from"lucide-solid/icons/person-standing";import Kd from"lucide-solid/icons/square";import Wd from"lucide-solid/icons/square-dashed";import Xd from"lucide-solid/icons/torus";import Nd from"lucide-solid/icons/type";var qd={Box:aa,Sphere:Ud,Disk:Xd,Sprite:Zd,Actor:Vd,Text:Nd,Rect:Kd,Plane:jd,Zone:Wd},la=e=>{let t=qd[e.type]??aa;return Yd(t,{get class(){return e.class??"entity-icon"}})};var Jd=Nt('<div class="entity-ruler entity-ruler-bottom"aria-hidden=true><span class=entity-ruler-ticks></span><span class=entity-ruler-label>'),_d=Nt('<div class="entity-ruler entity-ruler-side"aria-hidden=true><span class=entity-ruler-ticks></span><span class=entity-ruler-label>'),$d=Nt("<span class=entity-ruler-depth>d "),em=Nt("<div class=entity-thumbnail><div class=entity-thumbnail-frame><span class=entity-grid-name>"),tm=Nt("<img class=entity-thumbnail-image>");function bn(e){return Number.isFinite(e)?e>=10?e.toFixed(0):e>=1?e.toFixed(1):e.toFixed(2):"\u2014"}var da=e=>{let t=()=>bn(e.bounds?.width??0),r=()=>bn(e.bounds?.height??0),o=()=>bn(e.bounds?.depth??0),n=()=>!!e.bounds,i=()=>e.name??e.type;return(()=>{var a=em(),s=a.firstChild,u=s.firstChild;return bt(s,hn(ca,{get when(){return e.thumbnail},get fallback(){return hn(la,{get type(){return e.type},class:"entity-icon"})},children:m=>(()=>{var h=tm();return Hr(h,"draggable",!1),sa(d=>{var g=m(),p=e.name??e.type;return g!==d.e&&Hr(h,"src",d.e=g),p!==d.t&&Hr(h,"alt",d.t=p),d},{e:void 0,t:void 0}),h})()}),u),bt(u,i),bt(s,hn(ca,{get when(){return n()},get children(){return[(()=>{var m=Jd(),h=m.firstChild,d=h.nextSibling;return bt(d,t),m})(),(()=>{var m=_d(),h=m.firstChild,d=h.nextSibling;return bt(d,r),m})(),(()=>{var m=$d(),h=m.firstChild;return bt(m,o,null),m})()]}}),null),sa(()=>Hr(a,"title",e.name)),a})()};var im=fa("<div class=panel-content><section class=zylem-section><h4 class=zylem-section-title>Entities (<!>)</h4><div class=entity-grid>"),am=fa("<button class=entity-grid-item type=button>");function sm(e){e.uuid&&(ce(`Entity: ${JSON.stringify(e,null,2)}`),At(e.uuid),Rt(e.uuid),Co(e.uuid),P("debug",!0))}var ua=()=>{let{stage:e}=ze();return(()=>{var t=im(),r=t.firstChild,o=r.firstChild,n=o.firstChild,i=n.nextSibling,a=i.nextSibling,s=o.nextSibling;return xn(o,()=>e.entities.length,i),xn(s,ma(lm,{get each(){return e.entities},children:u=>(()=>{var m=am();return m.$$click=()=>sm(u),xn(m,ma(da,{get type(){return u.type??"Box"},get name(){return u.name},get thumbnail(){return go(u.uuid)?.url},get bounds(){return go(u.uuid)?.bounds??u.bounds}})),nm(()=>om(m,"title",u.name?`${u.name} (${u.uuid})`:u.uuid)),m})()})),t})()};rm(["click"]);import{template as Fr}from"solid-js/web";import{createComponent as qt}from"solid-js/web";import"solid-js/web";import{insert as ye}from"solid-js/web";import{Show as vn}from"solid-js";var cm=Fr("<div class=zylem-property-row><span class=zylem-property-label>Resolution</span><span class=zylem-property-value>x"),dm=Fr("<div class=zylem-property-row><span class=zylem-property-label>Background</span><span class=zylem-property-value>"),mm=Fr("<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>"),fm=Fr("<div class=panel-content><section class=zylem-toolbar>"),pa=()=>{let{game:e}=ze();return(()=>{var t=fm(),r=t.firstChild;return ye(t,qt(vn,{get when(){return e.config},get children(){var o=mm(),n=o.firstChild,i=n.firstChild,a=i.nextSibling,s=n.nextSibling,u=s.firstChild,m=u.nextSibling,h=s.nextSibling,d=h.firstChild,g=d.nextSibling,p=h.nextSibling,z=p.firstChild,l=z.nextSibling;return ye(a,()=>e.config?.id),ye(m,()=>e.config?.aspectRatio.toFixed(3)),ye(g,()=>e.config?.fullscreen?"Yes":"No"),ye(l,()=>e.config?.debug?"Yes":"No"),ye(o,qt(vn,{get when(){return e.config?.internalResolution},get children(){var f=cm(),c=f.firstChild,y=c.nextSibling,v=y.firstChild;return ye(y,()=>e.config?.internalResolution?.width,v),ye(y,()=>e.config?.internalResolution?.height,null),f}}),null),ye(o,qt(vn,{get when(){return e.config?.bodyBackground},get children(){var f=dm(),c=f.firstChild,y=c.nextSibling;return ye(y,()=>e.config?.bodyBackground),f}}),null),o}}),r),ye(r,qt(ge,{size:"sm",onClick:()=>{ce(`Global State: ${JSON.stringify(e.globals,null,2)}`)},children:"Print Global State"}),null),ye(r,qt(ge,{size:"sm",onClick:()=>{ce(`All State: ${JSON.stringify(e,null,2)}`)},children:"Print All"}),null),t})()};import{template as ga}from"solid-js/web";import{insert as qe}from"solid-js/web";import{memo as zn}from"solid-js/web";import{createComponent as Se}from"solid-js/web";import{Show as wn}from"solid-js";import{createComponent as um}from"solid-js/web";var xt=e=>um(No,{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=>ce(`Full path: ${t}`),get children(){return e.children}});var pm=ga("<section class=zylem-property-list>"),gm=ga("<div class=panel-content><section class=zylem-toolbar>"),ya=()=>{let{stage:e}=ze();return(()=>{var t=gm(),r=t.firstChild;return qe(t,Se(wn,{get when(){return e.config},get children(){var o=pm();return qe(o,Se(xt,{label:"ID",get value(){return e.config?.id}}),null),qe(o,Se(xt,{label:"Background",get value(){return e.config?.backgroundColor}}),null),qe(o,Se(wn,{get when(){return e.config?.backgroundImage},get children(){return Se(xt,{label:"Image",get value(){return e.config?.backgroundImage??""},isPath:!0})}}),null),qe(o,Se(xt,{label:"Gravity",get children(){return["X:",zn(()=>e.config?.gravity.x.toFixed(2))," Y:",zn(()=>e.config?.gravity.y.toFixed(2))," Z:",zn(()=>e.config?.gravity.z.toFixed(2))]}}),null),qe(o,Se(wn,{get when(){return Object.keys(e.config?.variables??{}).length>0},get children(){return Se(xt,{label:"Variables",get value(){return`${Object.keys(e.config?.variables??{}).length} defined`}})}}),null),o}}),r),qe(r,Se(ge,{size:"sm",onClick:()=>{ce(`Stage State: ${vo(S)}`)},children:"Print Stage State"}),null),qe(r,Se(ge,{size:"sm",onClick:()=>{Lo().then(o=>{if(o){ce(`Copied stage export (${e.entities.length} entities) to clipboard.`);return}ce(`Clipboard unavailable; stage export follows.
12
- ${yr()}`)})},children:"Export Stage"}),null),t})()};import{template as Jt}from"solid-js/web";import{setAttribute as ym}from"solid-js/web";import{effect as Lr}from"solid-js/web";import{createComponent as ha}from"solid-js/web";import{insert as Oe}from"solid-js/web";import{createMemo as wm,For as Am,Show as km}from"solid-js";var hm=Jt("<div class=zylem-transform-row><span class=zylem-transform-row__label>"),bm=Jt("<input class=zylem-transform-row__field type=number step=any>"),xm=Jt("<section>"),vm=Jt("<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."),zm=Jt("<p class=zylem-transform-empty>Select an entity to edit its transform."),Em=3,Sm=["x","y","z"];function An(e){let t=10**Em;return Math.round(e*t)/t}function ba(e,t){return!oe.enabled||t<=0?e:Math.round(e/t)*t}var xa=()=>{let{debug:e,stage:t}=ze(),r=wm(()=>{let a=e.selectedEntityId;return a?t.entities.find(s=>s.uuid===a)??null:null}),o=(a,s)=>{let u=r();if(!u)return 0;if(a==="rotation")return An((u.rotation?.[s]??0)*180/Math.PI);let m=a==="scale"?1:0;return An(u[a]?.[s]??m)},n=(a,s,u)=>{let m=r();if(!m?.uuid)return;let h=Number.parseFloat(u);if(!Number.isFinite(h))return;if(a==="rotation"){let p=oe.rotate*180/Math.PI,z=ba(h,p)*Math.PI/180,l={x:m.rotation?.x??0,y:m.rotation?.y??0,z:m.rotation?.z??0,[s]:z};Gt(m.uuid,{rotation:l});return}let d=a==="scale"?oe.scale:oe.translate,g=ba(h,d);if(a==="scale"){let p=g===0?d:g;Gt(m.uuid,{scale:{x:m.scale?.x??1,y:m.scale?.y??1,z:m.scale?.z??1,[s]:p}});return}Gt(m.uuid,{position:{x:m.position?.x??0,y:m.position?.y??0,z:m.position?.z??0,[s]:g}})},i=(a,s)=>(()=>{var u=hm(),m=u.firstChild;return Oe(m,s),Oe(u,ha(Am,{each:Sm,children:h=>(()=>{var d=bm();return d.addEventListener("change",g=>n(a,h,g.currentTarget.value)),Lr(()=>ym(d,"aria-label",`${s} ${h.toUpperCase()}`)),Lr(()=>d.value=o(a,h)),d})()}),null),u})();return(()=>{var a=vm(),s=a.firstChild,u=s.firstChild,m=u.firstChild,h=u.nextSibling,d=h.firstChild,g=s.nextSibling,p=g.firstChild,z=p.nextSibling,l=z.nextSibling,f=l.nextSibling,c=f.nextSibling,y=c.nextSibling,v=y.nextSibling;return Oe(a,ha(km,{get when(){return r()},get fallback(){return zm()},get children(){var k=xm();return Oe(k,()=>i("position","Position"),null),Oe(k,()=>i("rotation","Rotation\xB0"),null),Oe(k,()=>i("scale","Scale"),null),k}}),s),m.addEventListener("change",k=>Ft(k.currentTarget.checked)),d.addEventListener("change",k=>Lt(k.currentTarget.checked)),Oe(g,()=>oe.translate,z),Oe(g,()=>An(oe.rotate*180/Math.PI),f),Oe(g,()=>oe.scale,y),Lr(()=>m.checked=oe.enabled),Lr(()=>d.checked=oe.gridVisible),a})()};var kn=[{id:"game-config",title:"Game",component:pa},{id:"stage-config",title:"Stage",component:ya},{id:"entities",title:"Entities",component:ua},{id:"transform",title:"Transform",component:xa},{id:"console",title:"Console",component:ia},{id:"bridge",title:"Bridge",component:na}],va=e=>kn.find(t=>t.id===e),za=e=>va(e)?.title??e,Or=e=>{let t=va(e);if(!t)return null;let r=t.component;return Cm(r,{})};var Tm=Pm('<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>'),ka=3,Sn=250,Cn=150,Ea=e=>{let t=()=>b.detachedPanels[e.panelId],r=()=>Fe.detachedBase+b.panelZOrder.indexOf(e.panelId),o=V("panel",r),n=t()?.size??{width:350,height:300},[i,a]=Aa(t()?.position??{x:100,y:100}),[s,u]=Aa(n),m=!1,h=!1,d="free",g=null,p={x:0,y:0},z={x:0,y:0},l={width:0,height:0},f=0,c=!1,y,{dockedSide:v,isAutoHeight:k,showDockPreview:w,hideDockPreview:F,rememberUndockedSize:Q,getLiveSize:Z,getDockPreviewRect:te,detectDockSide:_,detectDockIndex:fe,beginDragGhost:Y,endDragGhost:xe,isMoving:Ae,clampSizeToViewport:zt,beginResize:x,resizeDockThickness:I,applyDockPreview:B}=Tr({panelId:e.panelId,initialSize:n,minSize:{width:Sn,height:Cn},position:i,setPosition:a,size:s,setSize:u,panelRef:()=>y,onPositionCommit:C=>cr(e.panelId,C),onSizeCommit:C=>dr(e.panelId,C)}),D=()=>{St(e.panelId)},J=C=>{m=!0,c=!1,F(),p={x:C.clientX,y:C.clientY},z={...i()},St(e.panelId),C.pointerType==="mouse"&&C.preventDefault()},U=C=>O=>{h=!0,g=C;let K=v(),{size:A,mode:T}=x(C);d=T,f=K&&Ie(K)?A.width:A.height,p={x:O.clientX,y:O.clientY},z={...i()},l={...A},St(e.panelId),O.pointerType==="mouse"&&O.preventDefault(),O.stopPropagation()},ae=C=>{if(m){let O=C.clientX-p.x,K=C.clientY-p.y;if((Math.abs(O)>ka||Math.abs(K)>ka)&&!c){c=!0,Ct(e.panelId);let A=Y(C.clientX,C.clientY);p={x:C.clientX,y:C.clientY},z={...A.position},l={...A.size},O=0,K=0}if(c){let A=z.x+O,T=z.y+K,L=Z(),H=_(A,T,L.width,L.height);H?(w(H,fe(H,C.clientX,C.clientY)),We(null)):F();let j={x:Math.max(0,Math.min(A,window.innerWidth-100)),y:Math.max(0,Math.min(T,window.innerHeight-50))};if(a(j),!H){let W=document.querySelector(".zylem-accordion");if(W){let X=W.getBoundingClientRect();if(C.clientX>=X.left&&C.clientX<=X.right&&C.clientY>=X.top&&C.clientY<=X.bottom){let Ce=W.querySelectorAll(".accordion-item"),Pe=0;for(let M=0;M<Ce.length;M++){let Ue=Ce[M];if(!Ue)continue;let je=Ue.getBoundingClientRect(),_e=je.top+je.height/2;C.clientY>_e&&(Pe=M+1)}We(Pe)}else We(null)}}}}else if(h&&g){let O=C.clientX-p.x,K=C.clientY-p.y;if(d==="thickness"){I(f,O,K);return}let A=l.width,T=l.height,L=z.x,H=z.y;if(g.includes("e"))A=Math.max(Sn,l.width+O);else if(g.includes("w")){let N=l.width-O;N>=Sn&&(A=N,L=z.x+O)}if(g.includes("s"))T=Math.max(Cn,l.height+K);else if(g.includes("n")){let N=l.height-K;N>=Cn&&(T=N,H=z.y+K)}let j=zt(A,T),W=Math.max(0,window.innerWidth-j.width),X=Math.max(0,window.innerHeight-j.height);u(j),a({x:Math.max(0,Math.min(L,W)),y:Math.max(0,Math.min(H,X))})}},le=()=>{if(m&&c&&!B()){let C=b.dropTargetIndex;C!==null?sr(e.panelId,C):xe()}h&&d==="free"&&(Q(s()),dr(e.panelId,s()),cr(e.panelId,i())),m=!1,h=!1,d="free",g=null,c=!1,F(),Pt()},Ze=()=>{sr(e.panelId)};Rm(()=>{window.addEventListener("pointermove",ae),window.addEventListener("pointerup",le)}),Mm(()=>{window.removeEventListener("pointermove",ae),window.removeEventListener("pointerup",le)});let re=C=>({position:"absolute","z-index":10,cursor:C,"touch-action":"none"});return(()=>{var C=Tm(),O=C.firstChild,K=O.firstChild,A=O.nextSibling,T=A.nextSibling,L=T.nextSibling,H=L.nextSibling,j=H.nextSibling,W=j.nextSibling,X=W.nextSibling,N=X.nextSibling,Ce=N.nextSibling;C.$$pointerdown=D;var Pe=y;return typeof Pe=="function"?Dm(Pe,C):y=C,Qr(C,wa(Mr,{get rect(){return te()},rank:()=>r()+1}),O),O.$$pointerdown=J,Qr(K,()=>za(e.panelId)),Qr(O,wa(nt,{onClose:Ze,closeLabel:"Dock back to panel"}),null),Qr(A,()=>Or(e.panelId)),Je(T,"pointerdown",U("n"),!0),Je(L,"pointerdown",U("s"),!0),Je(H,"pointerdown",U("w"),!0),Je(j,"pointerdown",U("e"),!0),Je(W,"pointerdown",U("nw"),!0),Je(X,"pointerdown",U("ne"),!0),Je(N,"pointerdown",U("sw"),!0),Je(Ce,"pointerdown",U("se"),!0),Bm(M=>{var Ue={left:`${i().x}px`,top:`${i().y}px`,width:`${s().width}px`,height:k()?"auto":`${s().height}px`,"z-index":o.zIndex(),"border-radius":v()?"0":void 0,...Ae()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}},je=v()?"0":void 0,_e=Ae()?"hidden":void 0,G=Ae()?"hidden":void 0,Vr={...re("ns-resize")},or={...re("ns-resize")},nr={...re("ew-resize")},ir={...re("ew-resize")},Kr={...re("nwse-resize")},Wr={...re("nesw-resize")},Xr={...re("nesw-resize")},Nr={...re("nwse-resize")};return M.e=Qe(C,Ue,M.e),je!==M.t&&En(O,"border-radius",M.t=je),_e!==M.a&&En(O,"visibility",M.a=_e),G!==M.o&&En(A,"visibility",M.o=G),M.i=Qe(T,Vr,M.i),M.n=Qe(L,or,M.n),M.s=Qe(H,nr,M.s),M.h=Qe(j,ir,M.h),M.r=Qe(W,Kr,M.r),M.d=Qe(X,Wr,M.d),M.l=Qe(N,Xr,M.l),M.u=Qe(Ce,Nr,M.u),M},{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}),C})()};Im(["pointerdown"]);import{template as xf}from"solid-js/web";import{insert as el}from"solid-js/web";import{createComponent as Dn}from"solid-js/web";import{Show as zf}from"solid-js";import{template as of}from"solid-js/web";import{insert as he}from"solid-js/web";import{createComponent as be}from"solid-js/web";import{template as Ba}from"solid-js/web";import{effect as Gm}from"solid-js/web";import{insert as Hm}from"solid-js/web";import{createComponent as Yr}from"solid-js/web";import{memo as Fm}from"solid-js/web";import Qm from"lucide-solid/icons/plus";import{createMemo as Ia,Show as Ym}from"solid-js";import{unwrap as Zm}from"solid-js/store";function Sa(e,t){return e==="add"&&t!==null}function Ca(e,t,r){let o=n=>n?e.find(i=>i.id===n)??null:null;return o(t)??o(r)??e[0]??null}function Pa(e){return e.map(t=>({id:t.id,label:t.label,group:t.group,icon:t.icon,description:t.description,tags:t.tags}))}var Lm=Ba("<div class=zylem-add-tool>"),Om=Ba("<span class=zylem-add-tool__glyph>"),Da=()=>{let e=()=>Sa(b.tool,Re.armedTypeId),t=a=>a?Re.entities.find(s=>s.id===a)??null:null,r=Ia(()=>Ca(Re.entities,Re.armedTypeId,Re.lastTypeId)),o=Ia(()=>Pa(Re.entities)),n=a=>{et(a.id),tt(a.id,Zm(a.defaultProps)),ue("add"),se("add")},i=()=>{let a=r();a&&n(a)};return(()=>{var a=Lm();return Hm(a,Yr(rn,{get label(){return Fm(()=>!!r())()?`Place ${r().label}`:"Add"},get selected(){return e()},get disabled(){return Re.entities.length===0},onAction:i,menu:s=>Yr(sn,{get items(){return o()},get selectedId(){return Re.armedTypeId},searchPlaceholder:"Search entities\u2026",emptyMessage:"No entity types published. Is a game running?",onSelect:u=>{let m=t(u.id);m&&n(m),s()}}),get children(){return Yr(Ym,{get when(){return r()?.icon},get fallback(){return Yr(Qm,{class:"zylem-icon"})},children:s=>(()=>{var u=Om();return Gm(()=>u.innerHTML=s()),u})()})}})),a})()};import{createComponent as Ta}from"solid-js/web";import Um from"lucide-solid/icons/bug";var Ma=()=>Ta(ne,{label:"Debug",get selected(){return b.debug},onClick:()=>{let t=!b.debug;P("debug",t),Tt(t)},get children(){return Ta(Um,{class:"zylem-icon"})}});import{createComponent as Ra}from"solid-js/web";import jm from"lucide-solid/icons/trash-2";var Ga=()=>Ra(ne,{label:"Delete",get selected(){return b.tool==="delete"},onClick:()=>{let t=b.tool==="delete"?"none":"delete";ue(t),se(t)},get children(){return Ra(jm,{class:"zylem-icon"})}});import{createComponent as Zr}from"solid-js/web";import"solid-js/web";import Vm from"lucide-solid/icons/grid-3x3";import Km from"lucide-solid/icons/magnet";var Ha=()=>Zr(ne,{get label(){return oe.gridVisible?"Hide grid":"Show grid"},get selected(){return oe.gridVisible},onClick:()=>Lt(!oe.gridVisible),get children(){return Zr(Vm,{class:"zylem-icon"})}}),Fa=()=>Zr(ne,{get label(){return oe.enabled?"Snapping on":"Snapping off"},get selected(){return oe.enabled},onClick:()=>Ft(!oe.enabled),get children(){return Zr(Km,{class:"zylem-icon"})}});import{createComponent as Ur}from"solid-js/web";import Wm from"lucide-solid/icons/redo-2";import Xm from"lucide-solid/icons/undo-2";var La=e=>e[e.length-1]?.label??null,Oa=()=>{let e=()=>{let t=La(bo.undoStack);return t?`Undo ${t}`:"Nothing to undo"};return Ur(ne,{get label(){return e()},onClick:()=>It(),get children(){return Ur(Xm,{class:"zylem-icon"})}})},Qa=()=>{let e=()=>{let t=La(bo.redoStack);return t?`Redo ${t}`:"Nothing to redo"};return Ur(ne,{get label(){return e()},onClick:()=>Bt(),get children(){return Ur(Wm,{class:"zylem-icon"})}})};import{createComponent as Pn}from"solid-js/web";import{memo as Nm}from"solid-js/web";import qm from"lucide-solid/icons/pause";import Jm from"lucide-solid/icons/play";var Ya=()=>Pn(ne,{get label(){return b.paused?"Play":"Pause"},get selected(){return b.paused},onClick:()=>{let t=!E.paused;oo(t),Mt(t)},get children(){return Nm(()=>!!b.paused)()?Pn(Jm,{class:"zylem-icon"}):Pn(qm,{class:"zylem-icon"})}});import{createComponent as Za}from"solid-js/web";import _m from"lucide-solid/icons/mouse-pointer";var Ua=()=>Za(ne,{label:"Select",get selected(){return b.tool==="select"},onClick:()=>{let t=b.tool==="select"?"none":"select";ue(t),se(t)},get children(){return Za(_m,{class:"zylem-icon"})}});import{createComponent as st}from"solid-js/web";import $m from"lucide-solid/icons/move-3d";import ef from"lucide-solid/icons/rotate-3d";import tf from"lucide-solid/icons/scale-3d";import{createMemo as rf}from"solid-js";function ja(e,t,r){let o=e[0];return o||(t&&r.includes(t)?t:null)}var In=e=>{let{stage:t}=ze(),r=rf(()=>ja(b.selected,b.lastTouched,t.entities.map(n=>n.uuid).filter(n=>!!n)));return st(ne,{get label(){return e.label},get selected(){return b.tool===e.tool},get disabled(){return!r()},onClick:()=>{let n=r();if(!n)return;let i=b.tool===e.tool?"none":e.tool;et(null),tt(null),i!=="none"&&b.selected.length===0&&(At(n),Rt(n)),ue(i),se(i)},get children(){return e.children}})},Va=()=>st(In,{tool:"translate",label:"Move",get children(){return st($m,{class:"zylem-icon"})}}),Ka=()=>st(In,{tool:"rotate",label:"Rotate",get children(){return st(ef,{class:"zylem-icon"})}}),Wa=()=>st(In,{tool:"scale",label:"Scale",get children(){return st(tf,{class:"zylem-icon"})}});var nf=of("<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>"),Xa=()=>(()=>{var e=nf(),t=e.firstChild,r=t.firstChild,o=t.nextSibling,n=o.nextSibling,i=n.nextSibling,a=i.nextSibling;return he(t,be(Ma,{}),r),he(t,be(Ua,{}),r),he(r,be(Va,{}),null),he(r,be(Ka,{}),null),he(r,be(Wa,{}),null),he(n,be(Da,{}),null),he(n,be(Ga,{}),null),he(a,be(Fa,{}),null),he(a,be(Ha,{}),null),he(a,be(Oa,{}),null),he(a,be(Qa,{}),null),he(a,be(Ya,{}),null),e})();import{template as yf}from"solid-js/web";import{createComponent as $t}from"solid-js/web";import{memo as qa}from"solid-js/web";import{Accordion as hf}from"@kobalte/core";import{Index as bf,Show as _a}from"solid-js";import{template as af}from"solid-js/web";import{setStyleProperty as _t}from"solid-js/web";import{effect as lf}from"solid-js/web";import{insert as sf}from"solid-js/web";import{memo as cf}from"solid-js/web";import{createComponent as vt}from"solid-js/web";import{Accordion as jr}from"@kobalte/core";import{createSignal as Bn,onCleanup as mf,onMount as ff,Show as uf}from"solid-js";import{Portal as pf}from"solid-js/web";var df=af(`<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">`),gf=5,Na=e=>{let t=V("panel",Fe.dragGhost),r,o,n=null,[i,a]=Bn(!1),[s,u]=Bn({x:0,y:0}),[m,h]=Bn({width:0,height:0}),d={x:0,y:0},g=!1,p=()=>{let c=Object.keys(b.detachedPanels);return b.panelOrder.filter(v=>!c.includes(v)).indexOf(e.value)},z=c=>{if(c.button===0){if(g=!0,d={x:c.clientX,y:c.clientY},n=r?.closest(".floating-panel"),o){let y=o.getBoundingClientRect();h({width:y.width,height:y.height})}c.pointerType==="mouse"&&c.preventDefault()}},l=c=>{if(!g)return;let y=c.clientX-d.x,v=c.clientY-d.y;if(Math.sqrt(y*y+v*v)>gf&&!i()&&(a(!0),Ct(e.value)),i()&&(u({x:c.clientX-m().width/2,y:c.clientY-15}),n)){let w=n.getBoundingClientRect();if(c.clientX>=w.left&&c.clientX<=w.right&&c.clientY>=w.top&&c.clientY<=w.bottom){let Q=n.querySelector(".zylem-accordion");if(Q){let Z=Q.querySelectorAll(".accordion-item"),te=0;for(let _=0;_<Z.length;_++){let fe=Z[_];if(!fe)continue;let Y=fe.getBoundingClientRect(),xe=Y.top+Y.height/2;c.clientY>xe&&(te=_+1)}We(te)}}else We(null)}},f=c=>{if(!g)return;let y=i();if(g=!1,a(!1),y&&n){let v=n.getBoundingClientRect();if(c.clientX<v.left||c.clientX>v.right||c.clientY<v.top||c.clientY>v.bottom)Et(e.value,{x:c.clientX-175,y:c.clientY-20});else{let w=b.dropTargetIndex;if(w!==null){let F=p();if(w!==F&&w!==F+1){let Q=Object.keys(b.detachedPanels),te=b.panelOrder.filter(Y=>!Q.includes(Y)).filter(Y=>Y!==e.value),_=w;w>F&&(_=w-1),te.splice(_,0,e.value);let fe=[...te];b.panelOrder.forEach(Y=>{Q.includes(Y)&&!fe.includes(Y)&&fe.push(Y)}),so(fe)}}}}Pt()};return ff(()=>{window.addEventListener("pointermove",l),window.addEventListener("pointerup",f)}),mf(()=>{window.removeEventListener("pointermove",l),window.removeEventListener("pointerup",f)}),[vt(jr.Item,{ref(c){var y=r;typeof y=="function"?y(c):r=c},get value(){return e.value},get class(){return`accordion-item ${i()?"accordion-item--dragging":""}`},get children(){return[vt(jr.Header,{ref(c){var y=o;typeof y=="function"?y(c):o=c},class:"accordion-header",onPointerDown:z,style:{"touch-action":"none"},get children(){return vt(jr.Trigger,{class:"accordion-trigger zylem-exo-2",get children(){return e.title}})}}),vt(jr.Content,{class:"accordion-content scrollable-y scroll-thin",get children(){return e.children}})]}}),vt(uf,{get when(){return cf(()=>!!i())()&&t.mount()},get children(){return vt(pf,{get mount(){return t.mount()},get children(){var c=df(),y=c.firstChild;return sf(y,()=>e.title),lf(v=>{var k=`${s().x}px`,w=`${s().y}px`,F=`${m().width}px`,Q=`${m().height}px`,Z=t.zIndex();return k!==v.e&&_t(c,"left",v.e=k),w!==v.t&&_t(c,"top",v.t=w),F!==v.a&&_t(c,"width",v.a=F),Q!==v.o&&_t(c,"height",v.o=Q),Z!==v.i&&_t(c,"z-index",v.i=Z),v},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),c}})}})]};var Ja=yf("<div class=accordion-drop-indicator>"),$a=()=>{let e=()=>{let o=Object.keys(b.detachedPanels);return b.panelOrder.filter(n=>!o.includes(n)).map(n=>kn.find(i=>i.id===n)).filter(n=>n!==void 0)},t=()=>b.draggingPanelId!==null,r=()=>b.dropTargetIndex;return $t(hf.Root,{multiple:!0,class:"zylem-accordion",get value(){return b.openSections},onChange:co,get children(){return[$t(_a,{get when(){return qa(()=>!!t())()&&r()===0},get children(){return Ja()}}),$t(bf,{get each(){return e()},children:(o,n)=>[$t(Na,{get value(){return o().id},get title(){return o().title},get children(){return Or(o().id)}}),$t(_a,{get when(){return qa(()=>!!t())()&&r()===n+1},get children(){return Ja()}})]})]}})};var vf=xf("<div class=zylem-menu>"),tl=e=>(()=>{var t=vf();return el(t,Dn(Xa,{}),null),el(t,Dn(zf,{get when(){return!e.isCollapsed()},get children(){return Dn($a,{})}}),null),t})();var Af=wf("<div style=display:flex;height:100vh;width:100vw;position:absolute;pointer-events:none><div style=flex:1>"),er=460,tr=600,ct=20,If=12,Bf=92,Df=(e=0)=>{let t=If,r=Math.max(300,window.innerWidth-t*2),o=Math.max(200,window.innerHeight-e-t*2),n=Math.min(er,r),i=Math.min(tr,o),a=t,s=window.innerHeight-e-t,u=Math.round((s-a-i)/2)+a;return{initialPosition:{x:Math.max(t,Math.round((window.innerWidth-n)/2)),y:Math.max(a,u)},initialSize:{width:n,height:i}}},Tf=()=>{if(b.panelPosition)return b.panelPosition;let e=b.toggleButtonPosition,t=window.innerWidth,r=window.innerHeight,o=e.x>t/2,n=e.y>r/2,i,a;return o?i=t-er-ct:i=ct,n?a=Math.max(ct,r-tr-ct):a=ct,{x:i,y:a}},Mn=e=>{let[t,r]=rl(!1),[o,n]=rl(null),i=()=>e.launcherMode??"floating";fo(e.defaultDocks);let a=()=>{r(l=>!l)},s=()=>r(!1),u=()=>r(!0),m=l=>{ao(l)},h=()=>Be(b.docks,ke),d=()=>Object.keys(b.detachedPanels),g=()=>typeof window>"u"?i()==="hidden":i()==="hidden"||window.innerWidth<er+ct*2||window.innerHeight<tr+ct*2,p=kf(()=>{if(h()){let f=Ke(b.docks,we())[ke];if(f)return{initialPosition:{x:f.x,y:f.y},initialSize:{width:f.width,height:f.height}}}let l=typeof window>"u"||!g()?{initialPosition:Tf(),initialSize:{width:er,height:tr}}:Df(i()==="hidden"?Bf:0);return{initialPosition:l.initialPosition,initialSize:b.panelSize??l.initialSize}}),z={openPanel:u,closePanel:s,togglePanel:a,dockPanel:(l,f=ke)=>{if(f===ke){u(),n(c=>({side:l,nonce:(c?.nonce??0)+1}));return}if(l===null){Me(f);return}mr(f)||Et(f,{x:100,y:100}),$e(f,l)}};return Cf(()=>{e.onControllerReady?.(z)}),Sf(()=>{e.onControllerReady?.(null)}),Ye(hr,{get children(){var l=Af(),f=l.firstChild;return Tn(l,Ye(ol,{get when(){return i()!=="hidden"},get children(){return Ye(ea,{onToggle:a})}}),f),Tn(l,Ye(ol,{get when(){return t()},get children(){return Ye(_i,{title:"Zylem Editor",get initialPosition(){return p().initialPosition},get initialSize(){return p().initialSize},get floatingSize(){return b.panelSize??{width:er,height:tr}},minSize:{width:300,height:200},collapsible:!0,onClose:s,onMove:m,onResize:lo,dockRequest:o,children:c=>Ye(tl,{isCollapsed:c})})}}),f),Tn(l,Ye(Ef,{get each(){return d()},children:c=>Ye(Ea,{panelId:c})}),f),l}})};if(typeof window<"u"&&!import.meta.env.VITEST){let e=document.getElementById("zylem-editor-container");e&&Pf(()=>Ye(Mn,{}),e)}var Rf=e=>Mf(Mn,{get launcherMode(){return e.launcherMode},get defaultDocks(){return e.defaultDocks},get onControllerReady(){return e.onControllerReady}}),nl=Rf;var il=`
1
+ import{getZylemBridge as es}from"@zylem/bridge";var{channel:M}=es();function mt(e){M.send("debug:set",{enabled:e})}function xe(e){M.send("tool:set",{tool:e})}function ft(e){M.send("playback:set",{paused:e})}function ut(e){M.send("entity:select",{uuid:e})}function fi(e,t="replace"){M.send("entity:select",{uuid:e[0]??null,uuids:e,mode:t})}function hr(e){M.send("entity:focus",{uuid:e})}function ui(e,t){M.send("stage:variable:set",{key:e,value:t})}function gt(e,t){M.send("entity:transform",{uuid:e,...t})}function et(e,t){M.send("add:type:set",t?{typeId:e,props:t}:{typeId:e})}function gi(e,t){M.send("entity:create",{typeId:e,...t?.props?{props:t.props}:{},...t?.pose?{pose:t.pose}:{}})}function Pt(e){M.send("snap:set",e)}function It(e){M.send("grid:set",{visible:e})}import{proxy as ns}from"valtio/vanilla";import{zylemEventBus as ts}from"@zylem/game-lib/events";var rs={debug:"debug",game:"loading:start",stage:"stage:loaded",entities:"entity:spawned"},gn=class{legacyListeners=new Map;emit(t){let r=this.legacyListeners.get(t.type);if(r)for(let o of r)o(t);let n=rs[t.type];n&&ts.emit(n,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()}},Ie=new gn;var A=ns({paused:!1,tool:"none",selectedEntityId:null,selectedEntityIds:[],hoveredEntityId:null,lastTouchedEntityId:null,flags:new Set});function pn(e){A.paused=e}function yn(){return A.tool}function Ze(e){A.tool=e}function Tt(e){A.selectedEntityId=e,A.selectedEntityIds=e?[e]:[],e&&(A.lastTouchedEntityId=e)}function bn(e){e&&(A.lastTouchedEntityId=e)}Ie.on("debug",e=>{let t=e.payload;t.paused!==void 0&&(A.paused=t.paused),t.tool!==void 0&&(A.tool=t.tool),t.selectedEntityId!==void 0&&(A.selectedEntityId=t.selectedEntityId),t.hoveredEntityId!==void 0&&(A.hoveredEntityId=t.hoveredEntityId)});import{proxy as ls}from"valtio/vanilla";import{createStore as os,reconcile as is}from"solid-js/store";import{subscribe as as}from"valtio/vanilla";function pt(e){if(Array.isArray(e))return e.map(r=>pt(r));if(e instanceof Set)return new Set([...e].map(r=>pt(r)));if(e instanceof Map)return new Map([...e].map(([r,n])=>[r,pt(n)]));if(e===null||typeof e!="object"||Object.getPrototypeOf(e)!==Object.prototype)return e;let t={};for(let[r,n]of Object.entries(e))t[r]=pt(n);return t}function yt(e,t={}){let r=t.key??"id",[n,o]=os(pt(e));return as(e,()=>{o(is(pt(e),{key:r,merge:!1}))}),n}var pi=100,ee=ls({undoStack:[],redoStack:[]}),Bt=yt(ee,{key:"opId"});function ss(){return ee.undoStack.length>0}function ds(){return ee.redoStack.length>0}function cs(){return ee.undoStack[ee.undoStack.length-1]?.label??null}function ms(){return ee.redoStack[ee.redoStack.length-1]?.label??null}function yi(e){ee.undoStack.push(e),ee.undoStack.length>pi&&ee.undoStack.shift(),ee.redoStack.length&&(ee.redoStack=[])}function Dt(){let e=ee.undoStack.pop();return e?(ee.redoStack.push(e),M.send("scene:operation:apply",{op:e,direction:"undo"}),!0):!1}function Mt(){let e=ee.redoStack.pop();return e?(ee.undoStack.push(e),M.send("scene:operation:apply",{op:e,direction:"redo"}),!0):!1}function hn(){ee.undoStack=[],ee.redoStack=[]}import{proxy as fs}from"valtio/vanilla";var ne=fs({entities:[],armedTypeId:null,lastTypeId:null}),Te=yt(ne);function xn(e){ne.entities=e;let t=new Set(e.map(r=>r.id));ne.armedTypeId&&!t.has(ne.armedTypeId)&&(ne.armedTypeId=null),ne.lastTypeId&&!t.has(ne.lastTypeId)&&(ne.lastTypeId=null)}function bi(e){return e?ne.entities.find(t=>t.id===e)??null:null}function bt(e){ne.armedTypeId=e,e&&(ne.lastTypeId=e)}var vn=new Set;function us(e){return vn.add(e),()=>{vn.delete(e)}}function hi(e){for(let t of vn)try{t(e)}catch(r){console.error("[zylem/editor] scene operation listener failed",r)}}function zn(e){A.selectedEntityId=e.selectedUuid,A.hoveredEntityId=e.hoveredUuid,A.selectedEntityIds=e.selectedUuids??(e.selectedUuid?[e.selectedUuid]:[]),bn(e.selectedUuid)}function wn(e){xn(e.entities)}function xi(e){e.kind==="create"&&bn(e.entries.at(-1)?.uuid??null),yi(e),hi(e)}import{createStore as gs,produce as An}from"solid-js/store";var[ps,kn]=gs({});function Sn(e){return e?ps[e]:void 0}function Cn(e){kn(An(t=>{for(let r of e){let n=t[r.uuid];n&&n.url!==r.url&&En(n.url),t[r.uuid]=r.bounds?{url:r.url,bounds:r.bounds}:{url:r.url}}}))}function vi(e){kn(An(t=>{for(let r of e){let n=t[r];n&&(En(n.url),delete t[r])}}))}function zi(){kn(An(e=>{for(let t of Object.keys(e))En(e[t].url),delete e[t]}))}function En(e){e.startsWith("blob:")&&typeof URL<"u"&&URL.revokeObjectURL(e)}import{proxy as ys}from"valtio/vanilla";var C=ys({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:[]}),Pn=e=>{let t=`
2
+ `;for(let r in e){let n=e[r];if(t+=`${r}:
3
+ `,r==="entities"){for(let o of e.entities)t+=` ${o.uuid}: ${o.name}
4
+ `;continue}if(typeof n=="object"&&n!==null)for(let o in n){let i=n[o];i&&(t+=` ${o}: ${i}
5
+ `)}else typeof n=="string"&&(t+=` ${r}: ${n}
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
+ #${Fo} {
9
+ position: fixed;
10
+ top: 10px;
11
+ right: 12px;
12
+ z-index: var(--zylem-layer-tooltip, 4000);
13
+ pointer-events: auto;
14
+ padding: 2px 8px;
15
+ border-radius: 5px;
16
+ border: 1px solid rgba(97, 166, 232, 0.35);
17
+ background: linear-gradient(180deg, rgba(60, 80, 105, 0.55), rgba(26, 31, 39, 0.78));
18
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 2px 8px rgba(0, 0, 0, 0.35);
19
+ color: #c5d0da;
20
+ font-family: var(--zylem-font-family, 'Exo 2', sans-serif);
21
+ font-size: 10px;
22
+ font-weight: 700;
23
+ letter-spacing: 0.06em;
24
+ line-height: 1.4;
25
+ text-shadow: 0 1px 1px rgba(0, 0, 0, 0.55);
26
+ user-select: none;
27
+ white-space: nowrap;
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=ve.messages.length,n=bf(ve,()=>{let o=ve.messages,i=o.length;if(i===0){r!==0&&t(""),r=0;return}if(i>r){let a=o.slice(r).join(`
31
+ `);r===0?t(a):a.length>0&&t(d=>`${d}
32
+ ${a}`),r=i;return}t(o.join(`
33
+ `)),r=i});return yf(()=>{n()}),gf(Po,{get value(){return e()},onInput:t,onClear:Rn})};import{template as el}from"solid-js/web";import{delegateEvents as Mf}from"solid-js/web";import{setAttribute as Rf}from"solid-js/web";import{effect as Lf}from"solid-js/web";import"solid-js/web";import{createComponent as _a}from"solid-js/web";import{insert as Xo}from"solid-js/web";import{For as Ff}from"solid-js";import{template as lr}from"solid-js/web";import{setAttribute as _r}from"solid-js/web";import{effect as qa}from"solid-js/web";import{insert as kt}from"solid-js/web";import{createComponent as No}from"solid-js/web";import{Show as Ja}from"solid-js";import{createComponent as hf}from"solid-js/web";import"solid-js/web";import Wa from"lucide-solid/icons/box";import xf from"lucide-solid/icons/ghost";import vf from"lucide-solid/icons/globe";import zf from"lucide-solid/icons/grid-3x3";import wf from"lucide-solid/icons/person-standing";import Af from"lucide-solid/icons/square";import kf from"lucide-solid/icons/square-dashed";import Sf from"lucide-solid/icons/torus";import Cf from"lucide-solid/icons/type";var Ef={Box:Wa,Sphere:vf,Disk:Sf,Sprite:xf,Actor:wf,Text:Cf,Rect:Af,Plane:zf,Zone:kf},Xa=e=>{let t=Ef[e.type]??Wa;return hf(t,{get class(){return e.class??"entity-icon"}})};var Pf=lr('<div class="entity-ruler entity-ruler-bottom"aria-hidden=true><span class=entity-ruler-ticks></span><span class=entity-ruler-label>'),If=lr('<div class="entity-ruler entity-ruler-side"aria-hidden=true><span class=entity-ruler-ticks></span><span class=entity-ruler-label>'),Tf=lr("<span class=entity-ruler-depth>d "),Bf=lr("<div class=entity-thumbnail><div class=entity-thumbnail-frame><span class=entity-grid-name>"),Df=lr("<img class=entity-thumbnail-image>");function Wo(e){return Number.isFinite(e)?e>=10?e.toFixed(0):e>=1?e.toFixed(1):e.toFixed(2):"\u2014"}var $a=e=>{let t=()=>Wo(e.bounds?.width??0),r=()=>Wo(e.bounds?.height??0),n=()=>Wo(e.bounds?.depth??0),o=()=>!!e.bounds,i=()=>e.name??e.type;return(()=>{var a=Bf(),d=a.firstChild,f=d.firstChild;return kt(d,No(Ja,{get when(){return e.thumbnail},get fallback(){return No(Xa,{get type(){return e.type},class:"entity-icon"})},children:g=>(()=>{var b=Df();return _r(b,"draggable",!1),qa(c=>{var p=g(),u=e.name??e.type;return p!==c.e&&_r(b,"src",c.e=p),u!==c.t&&_r(b,"alt",c.t=u),c},{e:void 0,t:void 0}),b})()}),f),kt(f,i),kt(d,No(Ja,{get when(){return o()},get children(){return[(()=>{var g=Pf(),b=g.firstChild,c=b.nextSibling;return kt(c,t),g})(),(()=>{var g=If(),b=g.firstChild,c=b.nextSibling;return kt(c,r),g})(),(()=>{var g=Tf(),b=g.firstChild;return kt(g,n,null),g})()]}}),null),qa(()=>_r(a,"title",e.name)),a})()};var Gf=el("<div class=panel-content><section class=zylem-section><h4 class=zylem-section-title>Entities (<!>)</h4><div class=entity-grid>"),Hf=el("<button class=entity-grid-item type=button>");function Of(e){e.uuid&&(fe(`Entity: ${JSON.stringify(e,null,2)}`),Tt(e.uuid),ut(e.uuid),hr(e.uuid),P("debug",!0))}var tl=()=>{let{stage:e}=ze();return(()=>{var t=Gf(),r=t.firstChild,n=r.firstChild,o=n.firstChild,i=o.nextSibling,a=i.nextSibling,d=n.nextSibling;return Xo(n,()=>e.entities.length,i),Xo(d,_a(Ff,{get each(){return e.entities},children:f=>(()=>{var g=Hf();return g.$$click=()=>Of(f),Xo(g,_a($a,{get type(){return f.type??"Box"},get name(){return f.name},get thumbnail(){return Sn(f.uuid)?.url},get bounds(){return Sn(f.uuid)?.bounds??f.bounds}})),Lf(()=>Rf(g,"title",f.name?`${f.name} (${f.uuid})`:f.uuid)),g})()})),t})()};Mf(["click"]);import{template as en}from"solid-js/web";import{createComponent as sr}from"solid-js/web";import"solid-js/web";import{insert as pe}from"solid-js/web";import{Show as qo}from"solid-js";var Yf=en("<div class=zylem-property-row><span class=zylem-property-label>Resolution</span><span class=zylem-property-value>x"),Qf=en("<div class=zylem-property-row><span class=zylem-property-label>Background</span><span class=zylem-property-value>"),Uf=en("<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>"),jf=en("<div class=panel-content><section class=zylem-toolbar>"),rl=()=>{let{game:e}=ze();return(()=>{var t=jf(),r=t.firstChild;return pe(t,sr(qo,{get when(){return e.config},get children(){var n=Uf(),o=n.firstChild,i=o.firstChild,a=i.nextSibling,d=o.nextSibling,f=d.firstChild,g=f.nextSibling,b=d.nextSibling,c=b.firstChild,p=c.nextSibling,u=b.nextSibling,v=u.firstChild,l=v.nextSibling;return pe(a,()=>e.config?.id),pe(g,()=>e.config?.aspectRatio.toFixed(3)),pe(p,()=>e.config?.fullscreen?"Yes":"No"),pe(l,()=>e.config?.debug?"Yes":"No"),pe(n,sr(qo,{get when(){return e.config?.internalResolution},get children(){var m=Yf(),s=m.firstChild,y=s.nextSibling,z=y.firstChild;return pe(y,()=>e.config?.internalResolution?.width,z),pe(y,()=>e.config?.internalResolution?.height,null),m}}),null),pe(n,sr(qo,{get when(){return e.config?.bodyBackground},get children(){var m=Qf(),s=m.firstChild,y=s.nextSibling;return pe(y,()=>e.config?.bodyBackground),m}}),null),n}}),r),pe(r,sr(de,{size:"sm",onClick:()=>{fe(`Global State: ${JSON.stringify(e.globals,null,2)}`)},children:"Print Global State"}),null),pe(r,sr(de,{size:"sm",onClick:()=>{fe(`All State: ${JSON.stringify(e,null,2)}`)},children:"Print All"}),null),t})()};import{template as nl}from"solid-js/web";import{insert as Je}from"solid-js/web";import{memo as Jo}from"solid-js/web";import{createComponent as Ce}from"solid-js/web";import{Show as $o}from"solid-js";import{createComponent as Vf}from"solid-js/web";var St=e=>Vf(So,{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=>fe(`Full path: ${t}`),get children(){return e.children}});var Zf=nl("<section class=zylem-property-list>"),Kf=nl("<div class=panel-content><section class=zylem-toolbar>"),ol=()=>{let{stage:e}=ze();return(()=>{var t=Kf(),r=t.firstChild;return Je(t,Ce($o,{get when(){return e.config},get children(){var n=Zf();return Je(n,Ce(St,{label:"ID",get value(){return e.config?.id}}),null),Je(n,Ce(St,{label:"Background",get value(){return e.config?.backgroundColor}}),null),Je(n,Ce($o,{get when(){return e.config?.backgroundImage},get children(){return Ce(St,{label:"Image",get value(){return e.config?.backgroundImage??""},isPath:!0})}}),null),Je(n,Ce(St,{label:"Gravity",get children(){return["X:",Jo(()=>e.config?.gravity.x.toFixed(2))," Y:",Jo(()=>e.config?.gravity.y.toFixed(2))," Z:",Jo(()=>e.config?.gravity.z.toFixed(2))]}}),null),Je(n,Ce($o,{get when(){return Object.keys(e.config?.variables??{}).length>0},get children(){return Ce(St,{label:"Variables",get value(){return`${Object.keys(e.config?.variables??{}).length} defined`}})}}),null),n}}),r),Je(r,Ce(de,{size:"sm",onClick:()=>{fe(`Stage State: ${Pn(C)}`)},children:"Print Stage State"}),null),Je(r,Ce(de,{size:"sm",onClick:()=>{lo().then(n=>{if(n){fe(`Copied stage export (${e.entities.length} entities) to clipboard.`);return}fe(`Clipboard unavailable; stage export follows.
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=`
13
35
  .bridge-row--hot .zylem-property-label,
14
36
  .bridge-row--hot .zylem-property-value {
15
37
  color: #ffb347;
@@ -70,7 +92,7 @@ ${yr()}`)})},children:"Export Stage"}),null),t})()};import{template as Jt}from"s
70
92
  text-overflow: ellipsis;
71
93
  opacity: 0.75;
72
94
  }
73
- `;var al=`
95
+ `;var Vl=`
74
96
  .panel-content .zylem-section {
75
97
  padding: 0 10px 10px;
76
98
  box-sizing: border-box;
@@ -278,7 +300,7 @@ ${yr()}`)})},children:"Export Stage"}),null),t})()};import{template as Jt}from"s
278
300
  writing-mode: vertical-rl;
279
301
  transform: rotate(180deg);
280
302
  }
281
- `;var ll=`
303
+ `;var Zl=`
282
304
  /*
283
305
  * The toolbar carries three tool groups now, which overflows a narrow docked
284
306
  * panel; wrapping keeps every button reachable instead of clipping the tail.
@@ -391,7 +413,7 @@ ${yr()}`)})},children:"Export Stage"}),null),t})()};import{template as Jt}from"s
391
413
  line-height: 1.4;
392
414
  opacity: 0.5;
393
415
  }
394
- `;var Rn=e=>e==="hidden"?"hidden":"floating",cl=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 Ve){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},rr=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=Rn(t);this._config.launcherMode!==r&&(this._config.launcherMode=r,this._initialized&&this.reinitialize())}get launcherMode(){return Rn(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=Rn(o);return}if(t==="default-docks"){let n=cl(o);n?this._config.defaultDocks=n:delete this._config.defaultDocks}}connectedCallback(){this.initialize()}initialize(){if(this._initialized)return;if(this._initialized=!0,this.releaseBridge=So(),this.teardownHooks=[mi(),ai({enabled:this._config.enableUndoShortcut!==!1}),si({enabled:this._config.enableEscapeShortcut!==!1}),Yo()],this._config.includeStyles!==!1){let r=document.createElement("style");r.textContent=`${fi}
395
- ${al}
396
- ${il}
397
- ${ll}`,this.shadowRoot.appendChild(r)}let t=document.createElement("div");t.style.width="100%",t.style.height="100%",this.shadowRoot.appendChild(t),this.dispose=Gf(()=>{let r=this;return sl(Fo,{get children(){return sl(nl,{get launcherMode(){return r.launcherMode},get defaultDocks(){return cl(r._config.defaultDocks)},onControllerReady:o=>{r.controller=o}})}})},t)}openPanel(){this.controller?.openPanel()}closePanel(){this.controller?.closePanel()}togglePanel(){this.controller?.togglePanel()}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 Gn(e="zylem-editor"){customElements.get(e)||customElements.define(e,rr)}typeof window<"u"&&!customElements.get("zylem-editor")&&customElements.define("zylem-editor",rr);function dl(e){e.gameState?.debugFlag!==void 0&&P("debug",e.gameState.debugFlag),e.toolbarState?.tool!==void 0&&(E.tool=e.toolbarState.tool),e.toolbarState?.paused!==void 0&&(E.paused=e.toolbarState.paused)}function ml(e={}){let{channel:t}=Hf(),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:dl,dispose(){for(let o of r)o()}}}function Ff(e){e.gameState?.debugFlag!==void 0&&Tt(e.gameState.debugFlag),e.toolbarState?.tool!==void 0&&se(e.toolbarState.tool),e.toolbarState?.paused!==void 0&&Mt(e.toolbarState.paused)}function Lf(e={}){Gn();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=ml(e);return{element:t,dispatchToEditor:r.dispatchToEditor,dockPanel(o,n){t.dockPanel(o,n)},dispose(){r.dispose(),t.remove()}}}export{di as DEFAULT_ROTATE_SNAP,Ve as DOCK_SIDES,sp as Icon,ke as MAIN_PANEL_ID,jn as MAX_HISTORY_DEPTH,rr as ZylemEditorElement,ml as attachEditorStateBridge,R as bridgeChannel,ii as buildStageExport,Rl as canRedo,Ml as canUndo,pe as catalogState,xo as clearHistory,Ke as computeDockLayout,So as connectEditorBridge,Lo as copyStageExport,E as debugState,b as debugStore,li as disarmTools,ri as disconnectEditorBridge,Ff as dispatchEditorUpdate,dl as dispatchToEditor,$e as dockPanelToSide,De as editorEvents,Be as findDockedSide,q as gameState,Yn as getDockedSide,$ as historyState,Yo as installTransformToolGuard,Lf as mountZylemEditor,Ol as onSceneOperation,Bt as redo,Hl as redoLabel,Gn as registerZylemEditor,Qo as releaseOrphanedTransformTool,tt as sendAddType,Tt as sendDebugEnabled,Xl as sendEntityCreate,Co as sendEntityFocus,Rt as sendEntitySelect,Gt as sendEntityTransform,ur as sendGridVisible,Mt as sendPlayback,fr as sendSnapSettings,Wl as sendStageVariable,se as sendTool,et as setArmedType,zo as setEntityCatalog,Lt as setGridVisible,Ft as setSnapEnabled,gs as setSnapIncrements,yr as stageExportToString,S as stageState,me as transformState,It as undo,Gl as undoLabel,Me as undockPanelFromSides};
416
+ `;var ci=e=>e==="hidden"?"hidden":"floating",Nl=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 n of Ke){let o=t[n];if(!Array.isArray(o))continue;let i=o.filter(a=>typeof a=="string"&&a.length>0);i.length>0&&(r[n]=i)}return Object.keys(r).length>0?r:void 0},gr=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=ci(t);this._config.launcherMode!==r&&(this._config.launcherMode=r,this._initialized&&this.reinitialize())}get launcherMode(){return ci(this._config.launcherMode)}static get observedAttributes(){return["include-styles","launcher-mode","default-docks"]}attributeChangedCallback(t,r,n){if(t==="include-styles"){this._config.includeStyles=n!=="false";return}if(t==="launcher-mode"){this.launcherMode=ci(n);return}if(t==="default-docks"){let o=Nl(n);o?this._config.defaultDocks=o:delete this._config.defaultDocks}}connectedCallback(){this.initialize()}initialize(){if(this._initialized)return;if(this._initialized=!0,this.releaseBridge=Er(),this.teardownHooks=[Qi(),Gi({enabled:this._config.enableUndoShortcut!==!1}),Fi({enabled:this._config.enableEscapeShortcut!==!1}),po({enabled:this._config.enableToolbarShortcuts!==!1,isActive:()=>this.isPanelOpen()}),bo()],this._config.includeStyles!==!1){let r=document.createElement("style");r.textContent=`${Wi}
417
+ ${Vl}
418
+ ${jl}
419
+ ${Zl}`,this.shadowRoot.appendChild(r)}let t=document.createElement("div");t.style.width="100%",t.style.height="100%",this.shadowRoot.appendChild(t),this.dispose=mg(()=>{let r=this;return Kl(ao,{get children(){return Kl(Ul,{get launcherMode(){return r.launcherMode},get defaultDocks(){return Nl(r._config.defaultDocks)},onControllerReady:n=>{r.controller=n}})}})},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 mi(e="zylem-editor"){customElements.get(e)||customElements.define(e,gr)}typeof window<"u"&&!customElements.get("zylem-editor")&&customElements.define("zylem-editor",gr);function Wl(e){e.gameState?.debugFlag!==void 0&&P("debug",e.gameState.debugFlag),e.toolbarState?.tool!==void 0&&(A.tool=e.toolbarState.tool),e.toolbarState?.paused!==void 0&&(A.paused=e.toolbarState.paused)}function Xl(e={}){let{channel:t}=fg(),r=[t.on("debug:set",({enabled:n})=>{e.onStateDispatch?.({gameState:{debugFlag:n}})}),t.on("tool:set",({tool:n})=>{e.onStateDispatch?.({toolbarState:{tool:n}})}),t.on("playback:set",({paused:n})=>{e.onStateDispatch?.({toolbarState:{paused:n}})})];return{dispatchToEditor:Wl,dispose(){for(let n of r)n()}}}function ug(e){e.gameState?.debugFlag!==void 0&&mt(e.gameState.debugFlag),e.toolbarState?.tool!==void 0&&xe(e.toolbarState.tool),e.toolbarState?.paused!==void 0&&ft(e.toolbarState.paused)}function gg(e={}){mi();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=Xl(e);return{element:t,dispatchToEditor:r.dispatchToEditor,dockPanel(n,o){t.dockPanel(n,o)},dispose(){r.dispose(),t.remove()}}}export{Yi as DEFAULT_ROTATE_SNAP,Ke as DOCK_SIDES,ly as Icon,ke as MAIN_PANEL_ID,pi as MAX_HISTORY_DEPTH,go as TOOLBAR_SHORTCUTS,gr as ZylemEditorElement,Kt as armAddTool,Rr as armAddType,Xl as attachEditorStateBridge,M as bridgeChannel,Li as buildStageExport,ds as canRedo,ss as canUndo,ne as catalogState,hn as clearHistory,Ne as computeDockLayout,Er as connectEditorBridge,lo as copyStageExport,A as debugState,h as debugStore,Hi as disarmTools,qn as disconnectEditorBridge,ug as dispatchEditorUpdate,Wl as dispatchToEditor,tt as dockPanelToSide,Ie as editorEvents,De as findDockedSide,Ki as formatShortcut,q as gameState,Ti as getDockedSide,ee as historyState,po as installToolbarShortcuts,bo as installTransformToolGuard,gg as mountZylemEditor,us as onSceneOperation,uo as openAddPalette,Mt as redo,ms as redoLabel,mi as registerZylemEditor,yo as releaseOrphanedTransformTool,Ni as runToolbarAction,Ks as selectTool,mo as selectTransformTool,et as sendAddType,mt as sendDebugEnabled,gi as sendEntityCreate,hr as sendEntityFocus,ut as sendEntitySelect,fi as sendEntitySelectMany,gt as sendEntityTransform,It as sendGridVisible,ft as sendPlayback,Pt as sendSnapSettings,ui as sendStageVariable,xe as sendTool,bt as setArmedType,xn as setEntityCatalog,Vt as setGridVisible,jt as setSnapEnabled,Vs as setSnapIncrements,Tr as stageExportToString,C as stageState,Zt as toggleDebug,Wt as toggleGrid,Xt as togglePlayback,Nt as toggleSnap,nt as toggleTool,fo as toggleTransformTool,ae as transformState,Dt as undo,cs as undoLabel,Re as undockPanelFromSides};