@zylem/editor 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/zylem-editor.js +23 -15
- package/package.json +2 -2
package/dist/zylem-editor.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{getZylemBridge as
|
|
1
|
+
import{getZylemBridge as Dd}from"@zylem/bridge";var{channel:R}=Dd();function It(e){R.send("debug:set",{enabled:e})}function He(e){R.send("tool:set",{tool:e})}function Tt(e){R.send("playback:set",{paused:e})}function Bt(e){R.send("entity:select",{uuid:e})}function sa(e,t="replace"){R.send("entity:select",{uuid:e[0]??null,uuids:e,mode:t})}function Vr(e){R.send("entity:focus",{uuid:e})}function da(e,t){R.send("stage:variable:set",{key:e,value:t})}function Dt(e,t){R.send("entity:transform",{uuid:e,...t})}function ut(e,t){R.send("add:type:set",t?{typeId:e,props:t}:{typeId:e})}function ca(e){R.send("level:load",{buffer:e})}function ma(e,t){R.send("entity:create",{typeId:e,...t?.props?{props:t.props}:{},...t?.pose?{pose:t.pose}:{}})}function qt(e){R.send("snap:set",e)}function Jt(e){R.send("grid:set",{visible:e})}function Ur(e){R.send("camera:activate",{id:e})}import{proxy as Ld}from"valtio/vanilla";import{zylemEventBus as Md}from"@zylem/game-lib/events";var Rd={debug:"debug",game:"loading:start",stage:"stage:loaded",entities:"entity:spawned"},Ho=class{legacyListeners=new Map;emit(t){let r=this.legacyListeners.get(t.type);if(r)for(let n of r)n(t);let o=Rd[t.type];o&&Md.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()}},Ke=new Ho;var E=Ld({paused:!1,tool:"none",selectedEntityId:null,selectedEntityIds:[],hoveredEntityId:null,lastTouchedEntityId:null,flags:new Set});function Fo(e){E.paused=e}function Oo(){return E.tool}function nt(e){E.tool=e}function $t(e){E.selectedEntityId=e,E.selectedEntityIds=e?[e]:[],e&&(E.lastTouchedEntityId=e)}function Yo(e){e&&(E.lastTouchedEntityId=e)}Ke.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)});import{proxy as Od}from"valtio/vanilla";import{createStore as Gd,reconcile as Hd}from"solid-js/store";import{subscribe as Fd}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 Qe(e,t={}){let r=t.key??"id",[o,n]=Gd(Mt(e));return Fd(e,()=>{n(Hd(Mt(e),{key:r,merge:!1}))}),o}var fa=100,ee=Od({undoStack:[],redoStack:[]}),_t=Qe(ee,{key:"opId"});function Yd(){return ee.undoStack.length>0}function Qd(){return ee.redoStack.length>0}function Vd(){return ee.undoStack[ee.undoStack.length-1]?.label??null}function Ud(){return ee.redoStack[ee.redoStack.length-1]?.label??null}function ua(e){ee.undoStack.push(e),ee.undoStack.length>fa&&ee.undoStack.shift(),ee.redoStack.length&&(ee.redoStack=[])}function er(){let e=ee.undoStack.pop();return e?(ee.redoStack.push(e),R.send("scene:operation:apply",{op:e,direction:"undo"}),!0):!1}function tr(){let e=ee.redoStack.pop();return e?(ee.undoStack.push(e),R.send("scene:operation:apply",{op:e,direction:"redo"}),!0):!1}function Qo(){ee.undoStack=[],ee.redoStack=[]}import{proxy as jd}from"valtio/vanilla";var X=jd({entities:[],armedTypeId:null,lastTypeId:null}),We=Qe(X);function Vo(e){X.entities=e;let t=new Set(e.map(r=>r.id));X.armedTypeId&&!t.has(X.armedTypeId)&&(X.armedTypeId=null),X.lastTypeId&&!t.has(X.lastTypeId)&&(X.lastTypeId=null)}function ga(e){return e?X.entities.find(t=>t.id===e)??null:null}function Rt(e){X.armedTypeId=e,e&&(X.lastTypeId=e)}var Uo=new Set;function Nd(e){return Uo.add(e),()=>{Uo.delete(e)}}function pa(e){for(let t of Uo)try{t(e)}catch(r){console.error("[zylem/editor] scene operation listener failed",r)}}function jo(e){E.selectedEntityId=e.selectedUuid,E.hoveredEntityId=e.hoveredUuid,E.selectedEntityIds=e.selectedUuids??(e.selectedUuid?[e.selectedUuid]:[]),Yo(e.selectedUuid)}function No(e){Vo(e.entities)}function ya(e){e.kind==="create"&&Yo(e.entries.at(-1)?.uuid??null),ua(e),pa(e)}import{createStore as Zd,produce as Zo}from"solid-js/store";var[Kd,Ko]=Zd({});function Wo(e){return e?Kd[e]:void 0}function Xo(e){Ko(Zo(t=>{for(let r of e){let o=t[r.uuid];o&&o.url!==r.url&&qo(o.url),t[r.uuid]=r.bounds?{url:r.url,bounds:r.bounds}:{url:r.url}}}))}function ba(e){Ko(Zo(t=>{for(let r of e){let o=t[r];o&&(qo(o.url),delete t[r])}}))}function ha(){Ko(Zo(e=>{for(let t of Object.keys(e))qo(e[t].url),delete e[t]}))}function qo(e){e.startsWith("blob:")&&typeof URL<"u"&&URL.revokeObjectURL(e)}import{proxy as tc}from"valtio/vanilla";import{proxy as Wd}from"valtio/vanilla";var T=Wd({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:[]}),Jo=e=>{let t=`
|
|
2
2
|
`;for(let r in e){let o=e[r];if(t+=`${r}:
|
|
3
3
|
`,r==="entities"){for(let n of e.entities)t+=` ${n.uuid}: ${n.name}
|
|
4
4
|
`;continue}if(typeof o=="object"&&o!==null)for(let n in o){let i=o[n];i&&(t+=` ${n}: ${i}
|
|
5
5
|
`)}else typeof o=="string"&&(t+=` ${r}: ${o}
|
|
6
|
-
`)}return t};Ne.on("stage",e=>{let t=e.payload;t.config!==void 0&&(T.config=t.config),t.backgroundColor!==void 0&&(T.backgroundColor=t.backgroundColor),t.backgroundImage!==void 0&&(T.backgroundImage=t.backgroundImage),t.inputs!==void 0&&(T.inputs=t.inputs),t.variables!==void 0&&(T.variables=t.variables),t.gravity!==void 0&&(T.gravity=t.gravity),t.entities!==void 0&&(T.entities=t.entities)});Ne.on("entities",e=>{T.entities=e.payload});function Od(){return{version:1,entries:[]}}function Yd(e,t){if(!e)return null;let r=t.find(n=>n.id===e);return r?r.id:t.find(n=>n.label===e)?.id??null}function $o(e,t){return _o(Od(),e,t)}function _o(e,t,r){if(t.length===0)return e;let o=new Map;for(let i of e.entries)o.set(i.id,{...i,pose:{...i.pose}});let n=!1;for(let i of t){if(!i.uuid)continue;let a=Yd(i.type,r);if(!a){o.delete(i.uuid)&&(n=!0);continue}let l=o.get(i.uuid),d={id:i.uuid,typeId:a,pose:Qd(l?.pose,i)};(!l||!Vd(l,d))&&(o.set(i.uuid,d),n=!0)}return n?{version:1,entries:[...o.values()]}:e}function ya(e,t){if(t.length===0||e.entries.length===0)return e;let r=new Set(t),o=e.entries.filter(n=>!r.has(n.id));return o.length===e.entries.length?e:{version:1,entries:o}}function Qd(e,t){let r={...e};return t.position&&(r.position={...t.position}),t.rotation&&(r.rotation={...t.rotation}),t.quaternion&&(r.quaternion={...t.quaternion}),t.scale&&(r.scale={...t.scale}),r}function Vd(e,t){return e.typeId===t.typeId&&Ud(e.pose,t.pose)}function Ud(e,t){return Jo(e.position,t.position)&&Jo(e.rotation,t.rotation)&&jd(e.quaternion,t.quaternion)&&Jo(e.scale,t.scale)}function Jo(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z}function jd(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}var O=Nd({active:!1,buffer:null,annotations:{},placementRole:null}),ze=Ye(O);function Zd(e,t,r,o){let n={};for(let i of r){let a=t.has(i)?e[i]:void 0;n[i]=a?{role:a.role,props:{...a.props}}:{role:o,props:{}}}return n}function $t(e){return e?.entries.map(t=>t.id)??[]}function Yr(e,t){O.annotations=Zd(O.annotations,e,$t(O.buffer),t)}function Kd(e){if(O.active=e,!e)return;let t=new Set($t(O.buffer));O.buffer=$o(T.entities,X.entities),Yr(t,"doodad")}function en(e){O.placementRole=e}function ba(){Kd(!O.active)}function Wd(){let e=O.buffer;return e?{buffer:JSON.parse(JSON.stringify(e)),annotations:JSON.parse(JSON.stringify(O.annotations)),stageId:T.config?.id??null}:null}function tn(e,t,r){let o=O.annotations[e];if(o?.role!=="actor")return;let n=t.trim();n&&(O.annotations={...O.annotations,[e]:{role:"actor",props:{...o.props,[n]:r}}})}function ha(e){if(!O.active||!O.buffer)return;let t=new Set($t(O.buffer));O.buffer=_o(O.buffer,e,X.entities),Yr(t,O.placementRole??"doodad")}function xa(e){if(!O.active||!O.buffer)return;let t=new Set($t(O.buffer));O.buffer=ya(O.buffer,e),Yr(t,"doodad")}function va(e){if(!O.active)return;let t=new Set($t(O.buffer));O.buffer=$o(e,X.entities),Yr(t,"doodad")}var Qr=new Map;function za(e){let t={uuid:e.uuid,name:e.name,type:e.type,position:e.position,rotation:e.rotation,scale:e.scale};return e.bounds&&(t.bounds=e.bounds),t}function Xd(e,t){e.name!==t.name&&(e.name=t.name),e.type!==t.type&&(e.type=t.type),rn(e.position,t.position)||(e.position=t.position),rn(e.rotation,t.rotation)||(e.rotation=t.rotation),rn(e.scale,t.scale)||(e.scale=t.scale),t.bounds&&!qd(e.bounds,t.bounds)&&(e.bounds=t.bounds)}function rn(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z}function qd(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height&&e.depth===t.depth}function Vr(){Qr.clear(),T.entities.forEach((e,t)=>{e.uuid&&Qr.set(e.uuid,t)})}function wa(e){T.entities=e.map(za),Vr(),va(e)}function on(e){let t=e.filter(r=>!!r.thumbnail).map(r=>({uuid:r.uuid,url:r.thumbnail,bounds:r.bounds}));t.length>0&&Wo(t)}function nn(e){let t=T.entities;for(let r of e){let o=Qr.get(r.uuid),n=o===void 0?void 0:t[o];n?Xd(n,r):(Qr.set(r.uuid,t.length),t.push(za(r)))}on(e),ha(e)}function Aa(e){pa(e);let t=new Set(e),r=T.entities,o=0;for(let n=0;n<r.length;n+=1){let i=r[n];i.uuid&&t.has(i.uuid)||(r[o]=i,o+=1)}o!==r.length&&(r.length=o,Vr(),xa(e))}function an(e){Wo(e)}import{proxy as Jd}from"valtio/vanilla";var He=Jd({messages:[]}),ln=500,he=e=>{let r=`[${new Date().toLocaleTimeString()}] ${e}`;He.messages.push(r),He.messages.length>ln&&He.messages.splice(0,He.messages.length-ln)},sn=()=>{He.messages=[]};import{createStore as tc}from"solid-js/store";import{subscribe as rc}from"valtio/vanilla";var nt=["left","right","top","bottom"],ne="toolbar";var Qe=e=>e==="left"||e==="right",dn=e=>{switch(e){case"left":return"e";case"right":return"w";case"top":return"s";default:return"n"}},Ur=()=>({left:{panels:[],thickness:0},right:{panels:[],thickness:0},top:{panels:[],thickness:0},bottom:{panels:[],thickness:0}}),Ca=e=>{let t=Ur();if(!e||typeof e!="object")return t;let r=new Set;for(let o of nt){let n=e[o];if(!n||typeof n!="object")continue;let i=n.panels;if(Array.isArray(i))for(let l of i)typeof l!="string"||l.length===0||r.has(l)||(r.add(l),t[o].panels.push(l));let a=n.thickness;typeof a=="number"&&Number.isFinite(a)&&a>0&&(t[o].thickness=a)}return t},we=(e,t)=>nt.find(r=>e[r].panels.includes(t))??null;var $d=e=>{let t=Ur();for(let r of nt)t[r]={panels:[...e[r].panels],thickness:e[r].thickness};return t},Mt=(e,t)=>{let r=$d(e);for(let o of nt)r[o].panels=r[o].panels.filter(n=>n!==t);return r},_t=(e,t,r,o)=>{let n=Mt(e,t),i=n[r].panels,a=o===void 0?i.length:Math.max(0,Math.min(o,i.length));return i.splice(a,0,t),n},cn=(e,t)=>Qe(e)?t.width:t.height,Dt=(e,t,r)=>{if(e[t].panels.length===0)return 0;let o=cn(t,r),n=e[t].thickness,i=n>0?n:Math.round(o/4);return Math.max(1,Math.min(i,o))},mn=(e,t,r,o,n)=>{let i=cn(t,o),l=Dt(e,t==="left"?"right":t==="right"?"left":t==="top"?"bottom":"top",o),d=Math.max(1,i-l-80),s=Math.max(1,Math.min(n,d));return Math.round(Math.max(s,Math.min(r,d)))},ka=(e,t,r)=>{if(t<=0)return[];let o=e/t,n=Math.max(r,o);return Array.from({length:t},()=>n)},Ke=(e,t,r={})=>{let o=_d(e);if(!o)return Sa(e,t,r);let n=ec(e,o,t),i=Mt(e,ne),a={width:t.width,height:t.height},l={x:0,y:0},d;switch(o){case"top":a.height=Math.max(1,t.height-n),l.y=n,d={x:0,y:0,width:t.width,height:n};break;case"bottom":a.height=Math.max(1,t.height-n),d={x:0,y:Math.max(0,t.height-n),width:t.width,height:n};break;case"left":a.width=Math.max(1,t.width-n),l.x=n,d={x:0,y:0,width:n,height:t.height};break;case"right":a.width=Math.max(1,t.width-n),d={x:Math.max(0,t.width-n),y:0,width:n,height:t.height};break}let s=Sa(i,a,r);if(l.x!==0||l.y!==0)for(let p of Object.values(s))p.x+=l.x,p.y+=l.y;return s[ne]=d,s},_d=e=>{let t=we(e,ne);return t&&e[t].panels.length===1?t:null},ec=(e,t,r)=>{let o=cn(t,r),n=e[t].thickness,i=n>0?n:40;return Math.max(1,Math.min(i,Math.max(1,o)))},Sa=(e,t,r)=>{let o=r.minSlotExtent??0,n={},i=Dt(e,"left",t),a=Dt(e,"right",t),l=Dt(e,"top",t),d=Dt(e,"bottom",t);for(let c of["left","right"]){let u=e[c].panels;if(u.length===0)continue;let g=c==="left"?i:a,P=c==="left"?0:Math.max(0,t.width-g),h=ka(t.height,u.length,o),v=0;u.forEach((m,b)=>{n[m]={x:P,y:v,width:g,height:h[b]},v+=h[b]})}let s=i,p=Math.max(1,t.width-i-a);for(let c of["top","bottom"]){let u=e[c].panels;if(u.length===0)continue;let g=c==="top"?l:d,P=c==="top"?0:Math.max(0,t.height-g),h=ka(p,u.length,o),v=s;u.forEach((m,b)=>{n[m]={x:v,y:P,width:h[b],height:g},v+=h[b]})}return n},fn=(e,t,r,o,n)=>{let i=n?Mt(e,n):e,a=i[t].panels;if(a.length===0)return 0;let l=Ke(i,o),d=Qe(t),s=0;return a.forEach((p,c)=>{let u=l[p];if(!u)return;let g=d?u.y+u.height/2:u.x+u.width/2;(d?r.y:r.x)>g&&(s=c+1)}),s},un=(e,t,r,o,n,i)=>{let a=_t(e,t,r,o);return Ke(a,n,i)[t]??null};var Ea="zylem-editor-state",Ie="main";var Pa=["game-config","stage-config","entities","transform","level","console","bridge"],oc=e=>{if(!e)return[...Pa];let t=Pa.filter(r=>!e.includes(r));return t.length>0?[...e,...t]:e},nc=()=>{if(typeof window>"u")return{};try{let e=localStorage.getItem(Ea);if(e)return JSON.parse(e)}catch(e){console.warn("Failed to load editor state from localStorage:",e)}return{}},ic=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Ea,JSON.stringify(e))}catch(t){console.warn("Failed to save editor state to localStorage:",t)}},Ee=nc(),[f,B]=tc({debug:!1,tool:"none",paused:!1,hovered:null,selected:[],lastTouched:null,panelPosition:Ee.panelPosition??null,panelSize:Ee.panelSize??null,toggleButtonPosition:Ee.toggleButtonPosition??{x:0,y:0},panelOrder:oc(Ee.panelOrder),detachedPanels:Ee.detachedPanels??{},openSections:Ee.openSections??["console"],panelZOrder:Ee.panelZOrder??[],docks:Ca(Ee.docks),dockDefaultsApplied:Ee.dockDefaultsApplied??!1,toolbarSeeded:Ee.toolbarSeeded??!1,toolbarCollapsed:Ee.toolbarCollapsed??!1,mainCollapsed:Ee.mainCollapsed??!1,draggingPanelId:null,dropTargetIndex:null}),ie=()=>{ic({panelPosition:f.panelPosition,panelSize:f.panelSize,toggleButtonPosition:f.toggleButtonPosition,panelOrder:f.panelOrder,detachedPanels:f.detachedPanels,openSections:f.openSections,panelZOrder:f.panelZOrder,docks:f.docks,dockDefaultsApplied:f.dockDefaultsApplied,toolbarSeeded:f.toolbarSeeded,toolbarCollapsed:f.toolbarCollapsed,mainCollapsed:f.mainCollapsed})},pn=e=>{B("panelPosition",e),ie()},gn=e=>{B("panelSize",e),ie()},tr=e=>{B("toggleButtonPosition",e),ie()},rr=(e,t)=>{B("detachedPanels",e,{position:t,size:{width:350,height:300}}),B("openSections",r=>r.filter(o=>o!==e)),B("panelZOrder",[...f.panelZOrder.filter(r=>r!==e),e]),ie()},jr=(e,t)=>{B("detachedPanels",e,void 0),B("panelZOrder",f.panelZOrder.filter(o=>o!==e)),B("docks",Mt(f.docks,e));let r=f.panelOrder;r.includes(e)||(t!==void 0?B("panelOrder",[...r.slice(0,t),e,...r.slice(t)]):B("panelOrder",[...r,e])),ie()},or=e=>{B("panelZOrder",[...f.panelZOrder.filter(t=>t!==e),e]),ie()},Nr=(e,t)=>{B("detachedPanels",e,"position",t),ie()},Zr=(e,t)=>{B("detachedPanels",e,"size",t),ie()},yn=e=>{B("panelOrder",e),ie()},bn=e=>{B("openSections",e),ie()},hn=e=>{B("toolbarCollapsed",e),ie()},xn=e=>{B("mainCollapsed",e),ie()},Kr=e=>e in f.detachedPanels,ut=(e,t,r)=>{B("docks",_t(f.docks,e,t,r)),ie()},We=e=>{we(f.docks,e)&&(B("docks",Mt(f.docks,e)),ie())},nr=(e,t)=>{B("docks",e,"thickness",Math.max(1,Math.round(t))),ie()},Ia=e=>we(f.docks,e),ac={top:[ne],left:[Ie]},lc=e=>["left","right","top","bottom"].some(r=>e[r]?.includes(ne))?e:{...e,top:[ne,...e.top??[]]},Ta=e=>{let t=we(e,ne);return!t||e[t].panels.length!==1||e[t].thickness>0?e:{...e,[t]:{panels:e[t].panels,thickness:40}}},sc=()=>f.panelPosition||Object.keys(f.detachedPanels).length>0?!0:["left","right","top","bottom"].some(e=>f.docks[e].panels.length>0),vn=e=>{if(f.dockDefaultsApplied)return;if(!e&&sc()){B("dockDefaultsApplied",!0),ie();return}let t=lc(e??ac),r=Ur();for(let o of["left","right","top","bottom"])for(let n of t[o]??[])n!==Ie&&n!==ne&&!Kr(n)&&(B("detachedPanels",n,{position:{x:100,y:100},size:{width:350,height:300}}),B("openSections",i=>i.filter(a=>a!==n)),B("panelZOrder",[...f.panelZOrder.filter(i=>i!==n),n])),r=_t(r,n,o);B("docks",Ta(r)),B("dockDefaultsApplied",!0),B("toolbarSeeded",!0),ie()},zn=()=>{if(!f.toolbarSeeded){if(!we(f.docks,ne)){let e=Ta(_t(f.docks,ne,"top",0));B("docks",e)}B("toolbarSeeded",!0),ie()}},ir=e=>{B("draggingPanelId",e)},it=e=>{B("dropTargetIndex",e)},ar=()=>{B("draggingPanelId",null),B("dropTargetIndex",null)};rc(I,()=>{B("tool",I.tool),B("paused",I.paused),B("hovered",I.hoveredEntityId),B("selected",[...I.selectedEntityIds]),B("lastTouched",I.lastTouchedEntityId)});import{proxy as dc}from"valtio/vanilla";var q=dc({id:"",globals:{},time:0,config:null});Ne.on("game",e=>{let t=e.payload;t.id!==void 0&&(q.id=t.id),t.time!==void 0&&(q.time=t.time),t.globals!==void 0&&Object.assign(q.globals,t.globals)});function wn(e){q.id!==e.id&&(q.id=e.id);let t=q.config;if(!t){q.config={id:e.id,aspectRatio:e.aspectRatio,fullscreen:e.fullscreen,bodyBackground:e.bodyBackground,internalResolution:e.internalResolution,debug:e.debug};return}t.id!==e.id&&(t.id=e.id),t.aspectRatio!==e.aspectRatio&&(t.aspectRatio=e.aspectRatio),t.fullscreen!==e.fullscreen&&(t.fullscreen=e.fullscreen),t.bodyBackground!==e.bodyBackground&&(t.bodyBackground=e.bodyBackground),t.debug!==e.debug&&(t.debug=e.debug);let r=e.internalResolution,o=t.internalResolution;(!r||!o?r!==o:r.width!==o.width||r.height!==o.height)&&(t.internalResolution=r)}function Ba(e){q.globals[e.path]=e.value}function An(e){e.paused!==void 0&&(I.paused=e.paused,B("paused",e.paused)),e.debug!==void 0&&B("debug",e.debug)}function Da(e){he(`[${e.level}] ${e.message}`)}function kn(e){e.stage?(T.config={id:e.stage.id,backgroundColor:e.stage.backgroundColor,backgroundImage:e.stage.backgroundImage,gravity:e.stage.gravity,inputs:e.stage.inputs,variables:e.stage.variables},T.backgroundColor=e.stage.backgroundColor,T.backgroundImage=e.stage.backgroundImage,T.gravity=e.stage.gravity,T.inputs=e.stage.inputs,T.variables=e.stage.variables):(T.config=null,T.backgroundColor=null,T.backgroundImage=null,T.gravity={x:0,y:0,z:0},T.inputs={},T.variables={}),wa(e.entities),ga(),on(e.entities),Yo()}var Sn=!1,lr=0,Cn=[];function Wr(){lr+=1;let e=!1,t=()=>{e||(e=!0,lr-=1,lr<=0&&(lr=0,Pn()))};if(Sn)return t;Sn=!0,Cn=[R.on("game:config",wn),R.on("game:variable",Ba),R.on("game:status",An),R.on("stage:snapshot",kn),R.on("entity:upsert",nn),R.on("entity:removed",({uuids:s})=>Aa(s)),R.on("entity:thumbnail",an),R.on("entity:selection",Uo),R.on("game:notice",Da),R.on("catalog:snapshot",jo),R.on("scene:operation",ua)],Vr();let r=R.getState("game:config");r&&wn(r);let o=R.getState("stage:snapshot");o&&kn(o);let n=R.getState("entity:upsert");n&&nn(n);let i=R.getState("entity:thumbnail");i&&an(i);let a=R.getState("game:status");a&&An(a);let l=R.getState("entity:selection");l&&Uo(l);let d=R.getState("catalog:snapshot");return d&&jo(d),t}function Pn(){for(let e of Cn)e();Cn=[],Sn=!1,lr=0}import{bridgeDebug as Rt,getZylemBridge as cc}from"@zylem/bridge";import{proxy as mc}from"valtio/vanilla";var En=200,Ma=60,re=mc({capturing:!1,paused:!1,entries:[],stats:[],dropped:0}),fc=0,In=null,Xr=null,qr=!1,uc=e=>`${(e/1e3).toFixed(2)}s`;function Tn(){let{channel:e}=cc();re.stats=Rt.stats().map(t=>({...t,retained:e.retainedSize(t.type)}))}function pc(e){if(re.paused||e.kind==="deliver")return;let t=re.entries;if(t.push({id:fc++,time:uc(e.t),kind:e.kind,type:e.type,bytes:e.bytes,summary:e.summary}),t.length>En){let r=t.length-En;t.splice(0,r),re.dropped+=r}}function Bn(){return re.capturing||(re.capturing=!0,qr=!Rt.isEnabled(),qr&&Rt.enable(),In=Rt.subscribe(pc),Tn(),Xr=setInterval(Tn,500)),sr}function sr(){In?.(),In=null,Xr!==null&&(clearInterval(Xr),Xr=null),qr&&(Rt.disable(),qr=!1),re.capturing=!1}function Dn(e){re.paused=e}function Mn(){re.entries=[],re.dropped=0,Rt.reset(),Tn()}function Rn(e){return e<1024?`${Math.round(e)} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}import{createComponent as gc}from"solid-js/web";import{createContext as yc,onCleanup as bc,useContext as hc}from"solid-js";import{createStore as Ln,reconcile as pt}from"solid-js/store";import{subscribe as Gn}from"valtio/vanilla";var Ra=yc();function Hn(e){let[t,r]=Ln({...I}),[o,n]=Ln({...q}),[i,a]=Ln({...T}),l=Gn(I,()=>{t.paused!==I.paused&&r("paused",I.paused),t.tool!==I.tool&&r("tool",I.tool),t.selectedEntityId!==I.selectedEntityId&&r("selectedEntityId",I.selectedEntityId);let c=I.selectedEntityIds;(t.selectedEntityIds.length!==c.length||t.selectedEntityIds.some((g,P)=>g!==c[P]))&&r("selectedEntityIds",[...c]),t.hoveredEntityId!==I.hoveredEntityId&&r("hoveredEntityId",I.hoveredEntityId),t.lastTouchedEntityId!==I.lastTouchedEntityId&&r("lastTouchedEntityId",I.lastTouchedEntityId);let u=I.flags;(t.flags.size!==u.size||[...t.flags].some(g=>!u.has(g)))&&r("flags",new Set(u))}),d=Gn(q,()=>{o.id!==q.id&&n("id",q.id),o.time!==q.time&&n("time",q.time),n("globals",pt(q.globals)),q.config===null?o.config!==null&&n("config",null):n("config",pt(q.config))}),s=Gn(T,()=>{T.config===null?i.config!==null&&a("config",null):a("config",pt(T.config)),i.backgroundColor!==T.backgroundColor&&a("backgroundColor",T.backgroundColor),i.backgroundImage!==T.backgroundImage&&a("backgroundImage",T.backgroundImage),a("inputs",pt(T.inputs)),a("variables",pt(T.variables)),a("gravity",pt(T.gravity)),a("entities",pt(T.entities,{key:"uuid"}))});bc(()=>{l(),d(),s()});let p={debug:t,game:o,stage:i};return gc(Ra.Provider,{value:p,get children(){return e.children}})}function Fe(){let e=hc(Ra);if(!e)throw new Error("useEditor must be used within an EditorProvider");return e}import{createComponent as xc}from"solid-js/web";import{mergeProps as vc}from"solid-js/web";import{splitProps as zc}from"solid-js";import{Dynamic as wc}from"solid-js/web";var Uh=e=>{let[t,r]=zc(e,["icon","class"]);return xc(wc,vc({get component(){return t.icon},get class(){return`text-current ${t.class||""}`}},r))};function La(){let e=T.config,t=[];for(let r of T.entities){if(!r.uuid)continue;let o={uuid:r.uuid};r.name!==void 0&&(o.name=r.name),r.type!==void 0&&(o.type=r.type),r.position&&(o.position={...r.position}),r.rotation&&(o.rotation={...r.rotation}),r.scale&&(o.scale={...r.scale}),t.push(o)}return{version:1,exportedAt:new Date().toISOString(),stage:e?{id:e.id,backgroundColor:e.backgroundColor,backgroundImage:e.backgroundImage,gravity:{...e.gravity},variables:{...e.variables}}:null,entities:t}}function Jr(){return JSON.stringify(La(),null,2)}async function Fn(){let e=Jr();if(!navigator.clipboard?.writeText)return null;try{return await navigator.clipboard.writeText(e),e}catch{return null}}var Ac=new Set(["INPUT","TEXTAREA","SELECT"]);function Lt(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let o of r)if(o instanceof HTMLElement&&(Ac.has(o.tagName)||o.isContentEditable))return!0;return!1}function kc(e){return!e.metaKey&&!e.ctrlKey||e.altKey||e.key.toLowerCase()!=="z"?null:e.shiftKey?"redo":"undo"}function Ga(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=o=>{let n=kc(o);n&&(Lt(o)||(o.preventDefault(),n==="undo"?qt():Jt()))};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}function Ha(){let e=Fo()!=="none",t=X.armedTypeId!==null;return!e&&!t?!1:(t&&(Bt(null),ft(null)),e&&(ot("none"),Ge("none")),!0)}function Fa(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=o=>{o.key==="Escape"&&(Lt(o)||Ha()&&o.preventDefault())};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}import{snapshot as Ec}from"valtio/vanilla";import{proxy as Sc,subscribe as Cc}from"valtio/vanilla";var Ya=Math.PI/12,ae=Sc({enabled:!0,translate:.25,rotate:Ya,scale:.1,gridVisible:!1}),ue=Ye(ae);function Oa(){return{enabled:ae.enabled,translate:ae.translate,rotate:ae.rotate,scale:ae.scale}}function dr(e){ae.enabled=e}function Pc(e){for(let[t,r]of Object.entries(e))typeof r=="number"&&r>0&&(ae[t]=r)}function cr(e){ae.gridVisible=e}var On=!1;function Qa(){if(On)return()=>{};On=!0,Zt(Oa()),Kt(ae.gridVisible);let e=ae.gridVisible,t=Cc(ae,()=>{Zt(Oa()),ae.gridVisible!==e&&(e=ae.gridVisible,Kt(e))});return()=>{On=!1,t()}}function Va(e,t){return e==="add"&&t!==null}function $r(e,t,r){let o=n=>n?e.find(i=>i.id===n)??null:null;return o(t)??o(r)??e[0]??null}function Ua(e){return e.map(t=>({id:t.id,label:t.label,group:t.group,icon:t.icon,description:t.description,tags:t.tags}))}function _r(e,t,r){let o=e[0];return o||(t&&r.includes(t)?t:null)}function mr(){let e=!f.debug;B("debug",e),Ct(e)}function Yn(e){ot(e),Ge(e),e!=="add"&&en(null)}function Ic(e){I.tool!==e&&Yn(e)}function gt(e){Yn(I.tool===e?"none":e)}function Tc(){return _r(I.selectedEntityIds,I.lastTouchedEntityId,T.entities.map(e=>e.uuid).filter(e=>!!e))}function ja(e){let t=Tc();return t?(Bt(null),ft(null),e!=="none"&&I.selectedEntityIds.length===0&&(Wt(t),Et(t)),Yn(e),!0):!1}function Qn(e){return I.tool===e?!0:ja(e)}function Vn(e){return ja(I.tool===e?"none":e)}function to(e,t="doodad"){let r=ma(e);return r?(en(t),Bt(r.id),ft(r.id,r.defaultProps&&Ec(r.defaultProps)),ot("add"),Ge("add"),!0):!1}function fr(e="doodad"){let t=$r(X.entities,X.armedTypeId,X.lastTypeId);return t?to(t.id,e):!1}var eo=null;function Na(e){return eo=e,()=>{eo===e&&(eo=null)}}function Un(){return eo?.()??!1}function ur(){dr(!ae.enabled)}function pr(){cr(!ae.gridVisible)}function ro(){ba()}function gr(){let e=!I.paused;Ho(e),Pt(e)}import{EDITOR_CAMERAS as oo,GAME_CAMERA_ID as Bc}from"@zylem/bridge";import{proxy as Dc,subscribe as Mc}from"valtio/vanilla";var Rc={game:Bc,side:oo.side,top:oo.top,isometric:oo.isometric,free:oo.free};function Lc(e){return Rc[e]}var Ve=Dc({perspective:!1,preset:"game",spaceHeld:!1}),at=Ye(Ve);function no(e,t){return t?"free":e}function Za(){Ve.perspective=!Ve.perspective}function Ka(e){Ve.preset=e}function Nn(e){Ve.spaceHeld=e}var jn=!1;function Wa(){if(jn)return()=>{};jn=!0;let e=no(Ve.preset,Ve.spaceHeld),t=Mc(Ve,()=>{let r=no(Ve.preset,Ve.spaceHeld);r!==e&&(e=r,Or(Lc(r)))});return()=>{jn=!1,t()}}var Zn={debug:{key:"d"},build:{key:"b"},select:{key:"q"},translate:{key:"w"},rotate:{key:"e"},scale:{key:"r"},add:{key:"a"},addPalette:{key:"a",shift:!0},delete:{key:"x"},snap:{key:"s"},grid:{key:"g"},undo:{key:"z",mod:!0},redo:{key:"z",mod:!0,shift:!0},playback:{key:"Enter",mod:!0}},Gc=["debug","build","select","translate","rotate","scale","add","addPalette","delete","snap","grid","playback"];function Hc(e,t){return e.altKey||(e.metaKey||e.ctrlKey)!==!!t.mod||e.shiftKey!==!!t.shift?!1:e.key.toLowerCase()===t.key.toLowerCase()}function Fc(e){for(let t of Gc)if(Hc(e,Zn[t]))return t;return null}var Oc=new Set(["dialog","alertdialog","menu"]);function Xa(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let o of r){if(!(o instanceof HTMLElement))continue;let n=o.getAttribute("role");if(n&&Oc.has(n))return!0}return!1}var Yc=()=>typeof navigator<"u"&&/Mac|iPhone|iPad|iPod/i.test(navigator.platform||navigator.userAgent);function qa(e,t=Yc()){let r=[];return e.mod&&r.push(t?"Cmd":"Ctrl"),e.shift&&r.push("Shift"),r.push(e.key.length===1?e.key.toUpperCase():e.key),r.join("+")}function J(e,t){return`${e} (${qa(Zn[t])})`}function Ja(e){switch(e){case"debug":return mr(),!0;case"build":return ro(),!0;case"select":case"delete":return gt(e),!0;case"translate":case"rotate":case"scale":return Qn(e);case"add":return fr();case"addPalette":return Un();case"snap":return ur(),!0;case"grid":return pr(),!0;case"playback":return gr(),!0}}function Kn(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=e.isActive??(()=>!0),o=l=>l.key===" "||l.key==="Spacebar",n=l=>{!o(l)||l.repeat||l.metaKey||l.ctrlKey||l.altKey||l.shiftKey||Lt(l)||Xa(l)||r()&&(l.preventDefault(),l.stopImmediatePropagation(),Nn(!0))},i=l=>{o(l)&&Nn(!1)},a=l=>{let d=Fc(l);d&&(Lt(l)||Xa(l)||r()&&(l.preventDefault(),l.stopImmediatePropagation(),!l.repeat&&Ja(d)))};return t.addEventListener("keydown",n,!0),t.addEventListener("keyup",i,!0),t.addEventListener("keydown",a,!0),()=>{t.removeEventListener("keydown",n,!0),t.removeEventListener("keyup",i,!0),t.removeEventListener("keydown",a,!0)}}import{subscribe as Qc}from"valtio/vanilla";var Vc=new Set(["translate","rotate","scale"]);function Uc(e){return Vc.has(e)}function Wn(){return I.selectedEntityIds.length>0||!Uc(I.tool)?!1:(ot("none"),Ge("none"),!0)}function Xn(e={}){return e.enabled===!1?()=>{}:(Wn(),Qc(I,()=>{Wn()}))}import{getZylemBridge as Yy}from"@zylem/bridge";import{createComponent as fd}from"solid-js/web";var $a=`@import"https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&display=swap";:root,:host{--zylem-color-primary: #61A6E8;--zylem-color-primary-hover: #3B8AD8;--zylem-color-primary-active: #0C6EB8;--zylem-color-accent: #E64534;--zylem-color-accent-hover: #C93A2C;--zylem-color-accent-active: #A82F24;--zylem-color-background: #11151C;--zylem-color-background-translucent: rgba(10, 20, 30, .46);--zylem-color-surface: #1A1F27;--zylem-color-surface-hover: #222831;--zylem-color-border: #2D3643;--zylem-color-active: rgba(20, 255, 60, .7);--zylem-color-active-hover: rgba(20, 255, 60, .4);--zylem-color-success-hover: #2a6734b3;--zylem-color-text: #E6EBEF;--zylem-color-text-secondary: #88929E;--zylem-color-console-background: rgba(20, 40, 60, .25);--zylem-color-console-text: #61A6E8;--zylem-spacing-xxs: .125rem;--zylem-spacing-xs: .25rem;--zylem-spacing-sm: .5rem;--zylem-spacing-md: .75rem;--zylem-spacing-lg: 1rem;--zylem-spacing-xl: 1.5rem;--zylem-spacing-xxl: 2rem;--zylem-spacing-xxxl: 3rem;--zylem-size-icon: 28px;--zylem-size-icon-sm: 16px;--zylem-size-icon-lg: 96px;--zylem-font-family: "Exo 2", sans-serif;--zylem-font-size: 14px;--zylem-radius: 12px;--zylem-border: 1.5px;--zylem-material-glass-panel: linear-gradient(180deg, rgba(38, 76, 112, .74), rgba(10, 24, 38, .58));--zylem-material-glass-panel-dark: linear-gradient(180deg, rgba(26, 31, 39, .75), rgba(10, 20, 30, .68));--zylem-material-glossy-bar: linear-gradient(180deg, rgba(205, 232, 255, .55) 0%, rgba(97, 166, 232, .34) 38%, rgba(18, 54, 88, .86) 100%);--zylem-material-button-glass: linear-gradient(180deg, rgba(178, 219, 255, .34), rgba(30, 94, 148, .72) 48%, rgba(9, 34, 58, .92));--zylem-material-button-glass-hover: linear-gradient(180deg, rgba(218, 242, 255, .58), rgba(48, 137, 220, .86) 48%, rgba(11, 62, 112, .96));--zylem-material-button-glass-active: linear-gradient(180deg, rgba(190, 255, 203, .42), rgba(28, 174, 63, .78) 50%, rgba(9, 86, 31, .95));--zylem-material-button-glass-danger: linear-gradient(180deg, rgba(255, 210, 202, .36), rgba(230, 69, 52, .82) 50%, rgba(96, 18, 13, .94));--zylem-material-field-glass: linear-gradient(180deg, rgba(8, 19, 31, .82), rgba(15, 39, 62, .72));--zylem-material-panel-header-gloss: linear-gradient(180deg, rgba(190, 226, 255, .18), rgba(61, 118, 165, .16) 46%, rgba(10, 27, 44, .26));--zylem-effect-blur-sm: 8px;--zylem-effect-blur-md: 14px;--zylem-effect-blur-lg: 24px;--zylem-effect-shadow-panel: 0 22px 54px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .1);--zylem-effect-shadow-button: inset 0 1px 0 rgba(255,255,255,.38), inset 0 -1px 0 rgba(0,0,0,.45), 0 2px 7px rgba(0,0,0,.35);--zylem-effect-shadow-inset: inset 0 1px 2px rgba(0,0,0,.42), inset 0 -1px 0 rgba(255,255,255,.08);--zylem-effect-glow-primary: 0 0 18px rgba(97, 166, 232, .28);--zylem-effect-glow-active: 0 0 20px rgba(20, 255, 60, .26);--zylem-effect-glow-danger: 0 0 20px rgba(230, 69, 52, .24);--zylem-effect-focus-ring: 0 0 0 2px rgba(97, 166, 232, .38), 0 0 18px rgba(97, 166, 232, .22);--zylem-radius-window: 14px;--zylem-radius-panel: 12px;--zylem-radius-button: 7px;--zylem-radius-control: 6px;--zylem-radius-card: 10px;--zylem-motion-fast: .12s;--zylem-motion-normal: .16s;--zylem-motion-ease-out: cubic-bezier(.2,.8,.2,1);--zylem-art-checker-light: #4F5C72;--zylem-art-checker-dark: #3C4759;--zylem-art-canvas-border: rgba(150, 210, 255, .5);--zylem-layer-base: 0;--zylem-layer-panel: 1000;--zylem-layer-modal: 2000;--zylem-layer-popover: 3000;--zylem-layer-tooltip: 4000;--zylem-layer-menu: 5000}.zylem-layer-portals{pointer-events:auto}.zylem-layer-scope{isolation:isolate}:root{--zylem-logo-url: url(data:image/png;base64,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)}:host{--zylem-logo-url: url(data:image/png;base64,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)}.zylem-hyperglass-root{min-height:100vh;color:var(--zylem-color-text);font-family:var(--zylem-font-family);background-color:var(--zylem-color-background);background-image:radial-gradient(circle at 30% 0%,rgba(97,166,232,.18),transparent 32%),linear-gradient(-75deg,#fff0,#61a6e812 42%,#fff0 68%),linear-gradient(rgba(97,166,232,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(97,166,232,.045) 1px,transparent 1px);background-size:100% 100%,100% 100%,24px 24px,24px 24px}.zylem-hyperglass-root :focus-visible,.zylem-focus-ring:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-button:not(.zylem-console-clear),.zylem-toolbar-btn,.zylem-toolbox-btn{position:relative}.zylem-button:before,.zylem-toolbar-btn:before,.zylem-toolbox-btn:before,.entity-grid-item:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(-45deg,#fff0,#ffffff6b 40% 50%,#fff0 55%);background-size:200% 200%;background-position:0% 50%;background-repeat:no-repeat;mix-blend-mode:screen;opacity:.4;transition:background-position var(--zylem-motion-normal) var(--zylem-motion-ease-out),opacity var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-button:hover:not([disabled]):before,.zylem-toolbar-btn:hover:not([disabled]):before,.zylem-toolbox-btn:hover:not([disabled]):before,.entity-grid-item:hover:before{background-position:25% 50%;opacity:.5}.zylem-button:active:not([disabled]):before,.zylem-toolbar-btn:active:not([disabled]):before,.zylem-toolbox-btn:active:not([disabled]):before,.entity-grid-item:active:before{background-position:50% 15%;opacity:.58}.zylem-scroll,.zylem-hyperglass-root{scrollbar-color:rgba(97,166,232,.55) rgba(10,20,30,.5);scrollbar-width:thin}.zylem-scroll::-webkit-scrollbar,.zylem-hyperglass-root ::-webkit-scrollbar{width:13px;height:13px}.zylem-scroll::-webkit-scrollbar-track,.zylem-hyperglass-root ::-webkit-scrollbar-track{border-radius:999px;background:linear-gradient(90deg,#00000052,#61a6e81c,#ffffff0b);border:1px solid rgba(97,166,232,.16)}.zylem-scroll::-webkit-scrollbar-thumb,.zylem-hyperglass-root ::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid rgba(5,16,28,.82);background:linear-gradient(90deg,#dcf2ff7a,#61a6e8b8 42%,#133e66eb);box-shadow:inset 1px 0 #ffffff6b,inset -1px 0 #00000057}.zylem-scroll::-webkit-scrollbar-thumb:hover,.zylem-hyperglass-root ::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faffa3,#61a6e8eb 42%,#154c82fa)}@media(prefers-reduced-motion:reduce){.zylem-button:before,.zylem-toolbar-btn:before,.zylem-toolbox-btn:before,.entity-grid-item:before{transition:none;background-position:0% 50%}.zylem-button:hover:not([disabled]):before,.zylem-toolbar-btn:hover:not([disabled]):before,.zylem-toolbox-btn:hover:not([disabled]):before,.entity-grid-item:hover:before{background-position:0% 50%}.zylem-button:active:not([disabled]):before,.zylem-toolbar-btn:active:not([disabled]):before,.zylem-toolbox-btn:active:not([disabled]):before,.entity-grid-item:active:before{background-position:0% 50%}}@supports not (backdrop-filter: blur(1px)){.zylem-glass{background-color:var(--zylem-color-surface)}}.selected{background:var(--zylem-material-button-glass-active);box-shadow:inset 0 0 6px #14ff3c59,var(--zylem-effect-glow-active)}.overlay{background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:100% 3px;pointer-events:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#07132166;border-radius:999px}::-webkit-scrollbar-thumb{border-radius:999px;border:1px solid rgba(5,16,28,.82);background:linear-gradient(90deg,#dcf2ff66,#61a6e8a6 42%,#133e66e6)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faff99,#61a6e8e6 42%,#154c82fa)}:where(button){all:unset}#zylem-editor-container{position:fixed;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}#zylem-editor-toggle{width:var(--zylem-size-icon-lg);height:var(--zylem-size-icon-lg);background-image:var(--zylem-logo-url);background-size:contain;background-repeat:no-repeat;background-position:center;cursor:grab;z-index:1;pointer-events:auto;filter:drop-shadow(0 0 10px rgba(97,166,232,.35))}.zylem-exo-2{font-family:var(--zylem-font-family);font-optical-sizing:auto;font-weight:400;font-style:normal}.scrollable-y{overflow-y:scroll;overflow-x:hidden;scroll-behavior:smooth}.scroll-thin{scrollbar-width:thin;scrollbar-color:rgba(97,166,232,.55) rgba(10,20,30,.5)}.scroll-thin::-webkit-scrollbar{width:6px;height:6px}.scroll-thin::-webkit-scrollbar-track{background:transparent}.scroll-thin::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(90deg,#dcf2ff66,#61a6e8a6 42%,#133e66e6)}.scroll-thin::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#f0faff99,#61a6e8e6 42%,#154c82fa)}.zylem-icon{width:18px;height:18px;stroke:currentColor;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.floating-panel{border-radius:var(--zylem-radius-window);border:1px solid rgba(146,205,255,.54);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden;pointer-events:auto}.floating-panel-titlebar{min-height:34px;box-sizing:border-box;display:flex;align-items:center;padding:0 var(--zylem-spacing-md);background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14;font-family:var(--zylem-font-family);font-weight:700;cursor:grab;user-select:none;transition:filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.floating-panel-titlebar:hover{filter:brightness(1.08)}.floating-panel-titlebar:active{filter:brightness(.95);cursor:grabbing}.floating-panel-title{font-size:13px;letter-spacing:.02em;color:#f4faff;text-shadow:0 1px 1px rgba(0,0,0,.65)}.floating-panel-content{background:transparent}.floating-panel-controls{display:flex;align-items:center;gap:7px}.zylem-section{padding:var(--zylem-spacing-sm)}.zylem-section-title{margin:0 0 var(--zylem-spacing-sm) 0;font-size:11px;font-family:var(--zylem-font-family);color:var(--zylem-color-text-secondary);font-weight:700;letter-spacing:.09em;text-transform:uppercase}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:var(--zylem-spacing-xs)}.entity-grid>*{display:flex;min-width:0;aspect-ratio:1}.entity-grid-item{position:relative;flex:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--zylem-material-button-glass);border:1px solid rgba(150,210,255,.5);border-radius:var(--zylem-radius-control);box-shadow:var(--zylem-effect-shadow-button);cursor:pointer;color:var(--zylem-color-text-secondary);transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out),transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.entity-grid-item:hover{background:var(--zylem-material-button-glass-hover);border-color:#96d2ffbf;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px);color:#f4faff}.entity-grid-item:active{transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.entity-grid-item:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.entity-icon{width:20px;height:20px;color:currentColor;position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.entity-grid-item:hover .entity-icon{color:#f4faff}@supports not (backdrop-filter: blur(1px)){.floating-panel{background:var(--zylem-color-surface)}}.zylem-accordion{color:var(--zylem-color-text);display:flex;flex-direction:column;height:100%;min-height:0}.accordion-header{position:sticky;top:0;z-index:1;display:flex}.accordion-item{position:relative;border-bottom:1px solid rgba(97,166,232,.22);display:flex;flex-direction:column;min-height:0;scrollbar-width:none}.accordion-item:last-child{border-bottom:none}.accordion-item[data-expanded]{scrollbar-width:thin;flex:1;min-height:0}.accordion-trigger{box-sizing:border-box;width:100%;flex:1;padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);display:flex;justify-content:space-between;align-items:center;gap:var(--zylem-spacing-sm);border:none;background:transparent;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);font-weight:600;letter-spacing:.03em;cursor:pointer;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.accordion-trigger:hover{background:#61a6e814}.accordion-trigger[data-expanded]{background:#61a6e81f;color:#f4faff}.accordion-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.accordion-content{overflow-y:auto;flex:1;min-height:0;transition:height .3s ease}.zylem-accordion--stack{height:auto;flex:none}.zylem-accordion--stack .accordion-item[data-expanded]{flex:none}.zylem-accordion--stack .accordion-header{position:static}.zylem-accordion--stack .accordion-content{flex:none;overflow:visible}.accordion-trigger:after{content:"\\25bc";position:relative;color:var(--zylem-color-text-secondary);font-size:10px;transition:transform var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.accordion-trigger[data-expanded]:after{transform:rotate(180deg);color:#f4faff}.panel-content{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-md);color:var(--zylem-color-text)}.zylem-menu{display:flex;flex-direction:column;height:100%;width:100%;background:transparent;border-radius:var(--zylem-radius-panel);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;pointer-events:auto;font-family:var(--zylem-font-family)}.zylem-menu::-webkit-scrollbar{display:none}.zylem-menu-header{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);border-bottom:1px solid rgba(97,166,232,.28);background:linear-gradient(180deg,#82b4e624,#1e3c5f2e 50%,#0816263d);box-shadow:inset 0 1px #ffffff26}.zylem-collapse-button{flex-shrink:0;padding:var(--zylem-spacing-sm);font-size:12px;line-height:1;margin-right:var(--zylem-spacing-sm);color:var(--zylem-color-primary);cursor:pointer}.zylem-menu h3,.zylem-menu h4{margin:0}.entities-list{display:flex;flex-direction:column;gap:var(--zylem-spacing-md);overflow-y:auto;overflow-x:hidden}:where(ul){all:unset}.entity-item-wrapper{all:unset;cursor:pointer}.entity-item{display:grid;gap:var(--zylem-spacing-sm);grid-template-columns:1fr 1fr 1fr;border:1px solid rgba(97,166,232,.32);border-radius:var(--zylem-radius-card);background:var(--zylem-material-glass-panel-dark);box-shadow:inset 0 1px #ffffff14,0 4px 12px #00000040;padding:var(--zylem-spacing-md);margin:var(--zylem-spacing-md) 0;font-weight:600;color:var(--zylem-color-text);transition:background var(--zylem-motion-normal) var(--zylem-motion-ease-out),border-color var(--zylem-motion-normal) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.entity-item-wrapper.hovered .entity-item,.entity-item.hovered{border-color:#96d2ff99;box-shadow:inset 0 1px #ffffff1f,var(--zylem-effect-glow-primary);color:#f4faff}.entity-item-wrapper:active .entity-item{border-color:#14ff3c99;box-shadow:inset 0 1px #ffffff1f,var(--zylem-effect-glow-active)}.entity-info-item{display:grid;grid-template-columns:min-content max-content;gap:var(--zylem-spacing-sm)}@keyframes q0mxj10{0%{opacity:.6}to{opacity:1}}.detached-panel{min-width:250px;min-height:150px;position:fixed;display:flex;flex-direction:column;border-radius:var(--zylem-radius-panel);border:1px solid rgba(97,166,232,.38);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.14);overflow:hidden}.detached-panel-titlebar{box-sizing:border-box;min-height:32px;padding:0 var(--zylem-spacing-md);cursor:grab;display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);user-select:none;background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14;color:#f4faff;font-family:var(--zylem-font-family);font-weight:700;font-size:12px;text-shadow:0 1px 1px rgba(0,0,0,.65)}.detached-panel-titlebar:active{cursor:grabbing}.detached-panel-content{background:transparent;flex:1;overflow:auto;display:flex;flex-direction:column}.accordion-item--dragging{opacity:.5}.accordion-drag-ghost{display:flex;align-items:center;justify-content:space-between;background:var(--zylem-material-glass-panel-dark);border:2px dotted rgba(230,69,52,.8);border-radius:var(--zylem-radius-panel);color:var(--zylem-color-text);font-family:var(--zylem-font-family);backdrop-filter:blur(var(--zylem-effect-blur-sm));box-shadow:0 8px 24px #00000080,var(--zylem-effect-glow-danger);position:fixed;z-index:calc(var(--zylem-layer-panel) + 900);pointer-events:none}.accordion-drop-indicator{height:4px;background:var(--zylem-color-accent);border-radius:2px;margin:var(--zylem-spacing-sm) var(--zylem-spacing-md);box-shadow:0 0 8px var(--zylem-color-accent);animation:q0mxj10 .8s ease-in-out infinite alternate}@supports not (backdrop-filter: blur(1px)){.detached-panel{background:var(--zylem-color-surface)}}.zylem-field{box-sizing:border-box;min-height:28px;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.32);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);padding:0 var(--zylem-spacing-sm);outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-field:focus,.zylem-field:focus-within{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring);border-color:#61a6e899}.zylem-field::placeholder{color:var(--zylem-color-text-secondary)}.zylem-field[disabled],.zylem-field[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-field-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);margin-bottom:var(--zylem-spacing-xxs);user-select:none}.zylem-field-error{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-accent);font-family:var(--zylem-font-family);margin-top:var(--zylem-spacing-xxs)}.zylem-field-root{display:flex;flex-direction:column;min-width:0}.zylem-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--zylem-spacing-xs);min-height:28px;padding:0 var(--zylem-spacing-md);cursor:pointer;user-select:none;white-space:nowrap;border-radius:var(--zylem-radius-button);border:1px solid rgba(150,210,255,.55);color:#f4faff;background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);text-shadow:0 1px 1px rgba(0,0,0,.72);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);font-weight:600;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-button:hover:not([disabled]){background:var(--zylem-material-button-glass-hover);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px);color:#f4faff}.zylem-button:active:not([disabled]){transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.zylem-button:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.zylem-button[disabled],.zylem-button[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-button[data-variant=primary]{border-color:#b2dbffcc;background:var(--zylem-material-button-glass-hover)}.zylem-button[data-variant=primary]:hover:not([disabled]){filter:brightness(1.08)}.zylem-button[data-variant=active]{border-color:#14ff3cc7;background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active)}.zylem-button[data-variant=active]:hover:not([disabled]){background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active);filter:brightness(1.1)}.zylem-button[data-variant=danger]{border-color:#ff8472c7;background:var(--zylem-material-button-glass-danger);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-danger)}.zylem-button[data-variant=danger]:hover:not([disabled]){background:var(--zylem-material-button-glass-danger);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-danger);filter:brightness(1.1)}.zylem-button[data-variant=ghost]{border:1px solid rgba(97,166,232,.35);background:transparent;box-shadow:none;color:var(--zylem-color-primary);text-shadow:none}.zylem-button[data-variant=ghost]:hover:not([disabled]){background:#61a6e81f;box-shadow:var(--zylem-effect-glow-primary);color:var(--zylem-color-primary)}.zylem-button[data-size=sm]{min-height:22px;padding:0 var(--zylem-spacing-sm);font-size:calc(var(--zylem-font-size) - 2px)}.zylem-button[data-size=lg]{min-height:36px;padding:0 var(--zylem-spacing-lg);font-size:calc(var(--zylem-font-size) + 1px)}.zylem-button[data-size=icon]{min-height:28px;min-width:28px;padding:var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control)}.zylem-toolbar-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--zylem-spacing-xs);min-width:34px;height:34px;padding:0 var(--zylem-spacing-sm);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.6);cursor:pointer;border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.5);background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);color:#e8f4ff;transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),filter var(--zylem-motion-fast) var(--zylem-motion-ease-out),background var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-toolbar-btn:hover{background:var(--zylem-material-button-glass-hover);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-primary);transform:translateY(-1px)}.zylem-toolbar-btn:active{transform:translateY(1px);filter:brightness(.92);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff8c,inset 0 2px 3px #00000047,0 1px 3px #00000047}.zylem-toolbar-btn:focus-visible{outline:none;box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-focus-ring)}.zylem-toolbar-btn[data-selected],.zylem-toolbar-btn.selected{border-color:#14ff3cc7;background:var(--zylem-material-button-glass-active);box-shadow:var(--zylem-effect-shadow-button),var(--zylem-effect-glow-active)}.zylem-toolbar-btn[disabled]{opacity:.45;cursor:not-allowed}.zylem-toolbar-btn svg{width:18px;height:18px;stroke:currentColor;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.zylem-textfield-input{width:100%;height:28px}.zylem-textfield-textarea{width:100%;min-height:72px;padding:var(--zylem-spacing-sm);resize:vertical;line-height:1.45}.zylem-numberfield-group{display:inline-flex;align-items:stretch;position:relative;width:100%}.zylem-numberfield-input{width:100%;height:28px;padding-right:26px;font-variant-numeric:tabular-nums}.zylem-numberfield-stepper{position:absolute;right:3px;width:20px;height:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(150,210,255,.4);border-radius:4px;background:var(--zylem-material-button-glass);color:#f4faff;font-size:8px;line-height:1;padding:0;transition:filter var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-numberfield-stepper:hover{filter:brightness(1.25)}.zylem-numberfield-stepper:active{filter:brightness(.85)}.zylem-numberfield-stepper--up{top:3px}.zylem-numberfield-stepper--down{bottom:3px}.zylem-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);width:100%;height:28px;cursor:pointer;text-align:left}.zylem-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-select-icon{flex-shrink:0;font-size:9px;color:var(--zylem-color-primary);transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-select-trigger[data-expanded] .zylem-select-icon{transform:rotate(180deg)}.zylem-select-content{z-index:var(--zylem-layer-menu);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden}.zylem-select-listbox{max-height:280px;overflow-y:auto;padding:var(--zylem-spacing-xs);margin:0;display:flex;flex-direction:column;gap:2px;outline:none}.zylem-select-item{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-sm);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:4px;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);cursor:pointer;user-select:none;outline:none}.zylem-select-item[data-highlighted]{background:#61a6e838;color:#f4faff}.zylem-select-item[data-selected]{background:var(--zylem-material-button-glass);box-shadow:var(--zylem-effect-shadow-button);color:#f4faff}.zylem-select-item[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-select-item-indicator{color:var(--zylem-color-active);font-size:11px}@supports not (backdrop-filter: blur(1px)){.zylem-select-content{background:var(--zylem-color-surface)}}.zylem-checkbox-root{display:inline-flex;align-items:center;gap:var(--zylem-spacing-sm);cursor:pointer;user-select:none}.zylem-checkbox-root[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-checkbox-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-checkbox-control{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.5);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out),border-color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-checkbox-root:hover .zylem-checkbox-control{border-color:#96d2ffb3;box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-glow-primary)}.zylem-checkbox-root[data-checked] .zylem-checkbox-control{background:var(--zylem-material-button-glass);border:1px solid rgba(150,210,255,.65);box-shadow:var(--zylem-effect-shadow-button)}.zylem-checkbox-root:focus-within .zylem-checkbox-control{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-checkbox-icon{width:12px;height:12px;color:#f4faff;stroke-width:3.5;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.zylem-checkbox-label{font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);color:var(--zylem-color-text)}.zylem-checkbox-root:hover .zylem-checkbox-label{color:var(--zylem-color-primary)}.zylem-switch-root{display:inline-flex;align-items:center;gap:var(--zylem-spacing-sm);cursor:pointer;user-select:none}.zylem-switch-root[data-disabled]{opacity:.5;cursor:not-allowed}.zylem-switch-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-switch-control{box-sizing:border-box;width:38px;height:20px;border-radius:999px;border:1px solid rgba(97,166,232,.42);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);padding:2px;display:flex;align-items:center;transition:background var(--zylem-motion-normal) var(--zylem-motion-ease-out),box-shadow var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.zylem-switch-root[data-checked] .zylem-switch-control{background:linear-gradient(180deg,#b2dbff4d,#1e5e94d9);box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-glow-primary)}.zylem-switch-root:focus-within .zylem-switch-control{box-shadow:var(--zylem-effect-shadow-inset),var(--zylem-effect-focus-ring)}.zylem-switch-thumb{width:14px;height:14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:linear-gradient(180deg,#f0fafff2,#a0c8ebe6);box-shadow:inset 0 1px #ffffffb3,0 1px 3px #00000080;transition:transform var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.zylem-switch-thumb[data-checked]{transform:translate(18px)}.zylem-switch-label{font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);color:var(--zylem-color-text)}.zylem-slider-root{display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);width:100%;user-select:none;touch-action:none}.zylem-slider-root[data-disabled]{opacity:.5}.zylem-slider-header{display:flex;align-items:center;justify-content:space-between}.zylem-slider-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family)}.zylem-slider-value{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-primary);font-family:var(--zylem-font-family);font-variant-numeric:tabular-nums}.zylem-slider-track{position:relative;height:8px;width:100%;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset);cursor:pointer}.zylem-slider-fill{position:absolute;height:100%;border-radius:999px;background:linear-gradient(180deg,#b2dbffa6,#3089dce6);box-shadow:inset 0 1px #ffffff73}.zylem-slider-thumb{display:block;width:16px;height:16px;top:-5px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(180deg,#f0fafff5,#8cbeebeb);box-shadow:inset 0 1px #ffffffbf,0 1px 4px #00000080,var(--zylem-effect-glow-primary);cursor:grab;outline:none;transition:box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-slider-thumb:active{cursor:grabbing}.zylem-slider-thumb:focus-visible{box-shadow:inset 0 1px #ffffffbf,var(--zylem-effect-focus-ring)}.zylem-slider-thumb-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zylem-tabs-root{display:flex;flex-direction:column;min-height:0;width:100%}.zylem-tabs-list{display:flex;align-items:flex-end;gap:3px;position:relative;padding:var(--zylem-spacing-xs) var(--zylem-spacing-xs) 0}.zylem-tabs-trigger{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs);padding:var(--zylem-spacing-xs) var(--zylem-spacing-md);border-radius:var(--zylem-radius-button) var(--zylem-radius-button) 0 0;border:1px solid rgba(97,166,232,.3);border-bottom:none;background:linear-gradient(180deg,#1a1f2799,#0a141e80);color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;cursor:pointer;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-tabs-trigger:hover{color:var(--zylem-color-text);background:linear-gradient(180deg,#264c7080,#0f273e73)}.zylem-tabs-trigger[data-selected]{color:#f4faff;background:var(--zylem-material-button-glass);border-color:#96d2ff8c;box-shadow:inset 0 1px #ffffff59;text-shadow:0 1px 1px rgba(0,0,0,.6)}.zylem-tabs-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-tabs-trigger[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-tabs-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zylem-tabs-dirty{flex:none;width:6px;height:6px;border-radius:50%;background:var(--zylem-color-active);box-shadow:var(--zylem-effect-glow-active)}.zylem-tabs-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;margin-right:calc(var(--zylem-spacing-xs) * -1);border-radius:4px;color:var(--zylem-color-text-secondary);cursor:pointer;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-tabs-close svg{width:11px;height:11px;stroke:currentColor}.zylem-tabs-close:hover{background:var(--zylem-color-accent);color:#fff4f2}.zylem-tabs-close:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.zylem-tabs-content{flex:1;min-height:0;border-radius:0 var(--zylem-radius-card) var(--zylem-radius-card) var(--zylem-radius-card);border:1px solid rgba(97,166,232,.3);background:var(--zylem-material-glass-panel-dark);padding:var(--zylem-spacing-md);outline:none}@keyframes _1swjdrl0{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.zylem-tooltip{position:relative;z-index:var(--zylem-layer-tooltip);max-width:260px;padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:0 8px 24px #00000073,inset 0 1px #ffffff1f;backdrop-filter:blur(var(--zylem-effect-blur-sm)) saturate(1.15);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;letter-spacing:.02em;pointer-events:none}.zylem-tooltip[data-enter]{animation:_1swjdrl0 .15s var(--zylem-motion-ease-out)}@supports not (backdrop-filter: blur(1px)){.zylem-tooltip{background:var(--zylem-color-surface)}}@keyframes _1bev2o10{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.zylem-dropdown-content{z-index:var(--zylem-layer-menu);min-width:180px;padding:var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control);border:1px solid rgba(97,166,232,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);outline:none}.zylem-dropdown-content[data-expanded]{animation:_1bev2o10 .12s var(--zylem-motion-ease-out)}.zylem-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border-radius:4px;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);cursor:pointer;user-select:none;outline:none}.zylem-dropdown-item[data-highlighted]{background:#61a6e838;color:#f4faff}.zylem-dropdown-item[data-disabled]{opacity:.45;cursor:not-allowed}.zylem-dropdown-item--danger{color:#ff9c8f}.zylem-dropdown-item--danger[data-highlighted]{background:#e6453440;color:#ffd9d3}.zylem-dropdown-label{flex:1 1 auto;min-width:0}.zylem-dropdown-check{display:inline-flex;align-items:center;justify-content:center;flex:none;width:14px;height:14px;margin-right:calc(var(--zylem-spacing-xs) * -1)}.zylem-dropdown-check svg{width:13px;height:13px;stroke:currentColor}.zylem-dropdown-shortcut{font-size:calc(var(--zylem-font-size) - 3px);color:var(--zylem-color-text-secondary);letter-spacing:.06em}.zylem-dropdown-separator{height:1px;border:none;margin:var(--zylem-spacing-xs) var(--zylem-spacing-sm);background:linear-gradient(90deg,transparent,rgba(97,166,232,.35),transparent)}@supports not (backdrop-filter: blur(1px)){.zylem-dropdown-content{background:var(--zylem-color-surface)}}.zylem-menubar{display:flex;align-items:center;gap:2px;min-width:0}.zylem-menubar-trigger{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xs);padding:var(--zylem-spacing-xs) var(--zylem-spacing-sm);border:1px solid transparent;border-radius:var(--zylem-radius-button);background:transparent;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);font-weight:600;letter-spacing:.02em;line-height:1.2;cursor:pointer;user-select:none;outline:none;transition:background var(--zylem-motion-fast) var(--zylem-motion-ease-out),color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-menubar-trigger:hover{background:#61a6e81f;color:var(--zylem-color-text)}.zylem-menubar-trigger[data-expanded]{background:#61a6e838;border-color:#61a6e859;color:#f4faff}.zylem-menubar-trigger:focus-visible{box-shadow:var(--zylem-effect-focus-ring)}.zylem-menubar-trigger[data-disabled]{opacity:.45;cursor:not-allowed}@keyframes _7rjyk0{0%{opacity:0}to{opacity:1}}@keyframes _7rjyk1{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.zylem-dialog-overlay{position:fixed;inset:0;z-index:var(--zylem-layer-modal);background:#050a1299;backdrop-filter:blur(3px);animation:_7rjyk0 .15s var(--zylem-motion-ease-out)}.zylem-dialog-positioner{position:fixed;inset:0;z-index:calc(var(--zylem-layer-modal) + 1);display:flex;align-items:center;justify-content:center;padding:var(--zylem-spacing-lg)}.zylem-dialog-content{display:flex;flex-direction:column;width:100%;max-width:440px;max-height:100%;min-height:0;border-radius:var(--zylem-radius-window);border:1px solid rgba(146,205,255,.54);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-md)) saturate(1.22);overflow:hidden;animation:_7rjyk1 .16s var(--zylem-motion-ease-out)}.zylem-dialog-content[data-size=lg]{max-width:760px}.zylem-dialog-content[data-size=fullscreen]{max-width:none;height:100%;border-radius:var(--zylem-radius-card)}.zylem-dialog-header{flex:none;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:var(--zylem-spacing-md);padding:var(--zylem-spacing-xs) var(--zylem-spacing-md);background:var(--zylem-material-glossy-bar);border-bottom:1px solid rgba(5,18,32,.85);box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #ffffff14}.zylem-dialog-titles{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.zylem-dialog-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.02em;color:#f4faff;font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.65)}.zylem-dialog-subtitle{margin:0;font-size:calc(var(--zylem-font-size) - 2px);font-weight:500;color:#e8f4ffc7;font-family:var(--zylem-font-family);text-shadow:0 1px 1px rgba(0,0,0,.5)}.zylem-dialog-header-extra{display:flex;align-items:center;gap:var(--zylem-spacing-sm);flex:none}.zylem-dialog-body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--zylem-spacing-lg);color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:var(--zylem-font-size);line-height:1.45}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-body{display:flex;flex-direction:column}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-scope{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.zylem-dialog-footer{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:var(--zylem-spacing-sm);padding:0 var(--zylem-spacing-lg) var(--zylem-spacing-lg)}.zylem-dialog-content[data-size=fullscreen] .zylem-dialog-footer{padding:var(--zylem-spacing-sm) var(--zylem-spacing-lg);border-top:1px solid rgba(97,166,232,.28);background:#040c1499}@supports not (backdrop-filter: blur(1px)){.zylem-dialog-content{background:var(--zylem-color-surface)}}.zylem-progress-root{display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);width:100%}.zylem-progress-header{display:flex;align-items:center;justify-content:space-between}.zylem-progress-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--zylem-color-text-secondary);font-family:var(--zylem-font-family)}.zylem-progress-value{font-size:calc(var(--zylem-font-size) - 2px);color:var(--zylem-color-primary);font-family:var(--zylem-font-family);font-variant-numeric:tabular-nums}.zylem-progress-track{position:relative;height:10px;width:100%;overflow:hidden;border-radius:999px;border:1px solid rgba(97,166,232,.28);background:var(--zylem-material-field-glass);box-shadow:var(--zylem-effect-shadow-inset)}.zylem-progress-fill{height:100%;border-radius:999px;background:linear-gradient(180deg,#b2dbffb3,#3089dceb);box-shadow:inset 0 1px #ffffff80,var(--zylem-effect-glow-primary);transition:width var(--zylem-motion-normal) var(--zylem-motion-ease-out);width:var(--kb-progress-fill-width)}.zylem-badge{display:inline-flex;align-items:center;gap:var(--zylem-spacing-xxs);padding:1px var(--zylem-spacing-sm);border-radius:5px;font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 3px);font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 1px 1px rgba(0,0,0,.6);color:#f4faff;box-shadow:inset 0 1px #ffffff52,inset 0 -1px #0006;white-space:nowrap;user-select:none}.zylem-badge[data-tone=info],.zylem-badge:not([data-tone]){border:1px solid rgba(150,210,255,.55);background:linear-gradient(180deg,#b2dbff66,#1e5e94d9)}.zylem-badge[data-tone=warning]{border:1px solid rgba(255,226,150,.6);background:linear-gradient(180deg,#fff0a873,#b48014d9)}.zylem-badge[data-tone=error]{border:1px solid rgba(255,132,114,.65);background:linear-gradient(180deg,#ffb3a873,#be3426e0)}.zylem-badge[data-tone=success]{border:1px solid rgba(120,255,150,.55);background:linear-gradient(180deg,#b6ffc36b,#12822edb)}.zylem-badge[data-tone=neutral]{border:1px solid rgba(97,166,232,.35);background:linear-gradient(180deg,#3c506999,#1a1f27d9);color:var(--zylem-color-text)}.zylem-callout{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zylem-spacing-xxs);padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);border-left:2px solid rgba(150,210,255,.7);border-radius:0 var(--zylem-radius-control) var(--zylem-radius-control) 0;background:#61a6e81a;color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);line-height:1.45}.zylem-callout-title{font-weight:700;letter-spacing:.02em}.zylem-callout-message code{font-family:Courier New,monospace;font-size:.95em}.zylem-callout[data-tone=warning]{border-left-color:#fcd34dcc;background:#fcd34d17;color:#fde68a}.zylem-callout[data-tone=error]{border-left-color:#ff8472d9;background:#e6453424;color:#ffd9d3}.zylem-callout[data-tone=success]{border-left-color:#78ff96b3;background:#3cc8641f;color:#d9ffe3}@keyframes _1h6y8tx0{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.zylem-toast{position:absolute;left:50%;bottom:var(--zylem-spacing-lg);transform:translate(-50%);z-index:var(--zylem-layer-panel);max-width:calc(100% - 32px);padding:var(--zylem-spacing-sm) var(--zylem-spacing-md);border-radius:var(--zylem-radius-control);border:1px solid rgba(150,210,255,.45);background:var(--zylem-material-glass-panel-dark);box-shadow:var(--zylem-effect-shadow-panel);backdrop-filter:blur(var(--zylem-effect-blur-sm));color:var(--zylem-color-text);font-family:var(--zylem-font-family);font-size:calc(var(--zylem-font-size) - 1px);line-height:1.4;text-align:center;pointer-events:none;animation:_1h6y8tx0 .16s var(--zylem-motion-ease-out)}.zylem-toast[data-position=top]{top:var(--zylem-spacing-lg);bottom:auto}.zylem-toast[data-tone=success]{border-color:#78ff968c}.zylem-toast[data-tone=error]{border-color:#ff8472a6;color:#ffd9d3}@supports not (backdrop-filter: blur(1px)){.zylem-toast{background:var(--zylem-color-surface)}}.zylem-separator{border:none}.zylem-separator[data-orientation=horizontal]{height:1px;width:100%;margin:var(--zylem-spacing-sm) 0;background:linear-gradient(90deg,transparent,rgba(97,166,232,.4),transparent)}.zylem-separator[data-orientation=vertical]{width:1px;align-self:stretch;margin:0 var(--zylem-spacing-sm);background:linear-gradient(180deg,transparent,rgba(97,166,232,.4),transparent)}.zylem-window-controls{display:flex;align-items:center;flex-shrink:0;gap:6px}.zylem-window-control,.floating-panel-button{all:unset;box-sizing:border-box;position:relative;cursor:pointer;flex-shrink:0;width:28px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#fff;border-radius:6px;border:1px solid rgba(214,234,255,.82);background:linear-gradient(180deg,#cee6ffc7,#609ed8d6 42%,#306caceb);box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #00000047,0 2px 4px #0006,0 0 8px #61a6e847;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),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-window-control:before,.floating-panel-button:before{content:"";position:absolute;left:2px;right:2px;top:1px;height:48%;border-radius:5px 5px 46% 46%;background:linear-gradient(180deg,#ffffff8c,#ffffff1a 55%,#fff0);pointer-events:none}.zylem-window-control svg,.floating-panel-button svg{position:relative;z-index:1;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.zylem-window-control--close{border-color:#ffc6bce0;background:linear-gradient(180deg,#ffc4bac7,#e45246e6 44%,#ba2e28f5);box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #00000047,0 2px 4px #0006,0 0 8px #e6453457}.zylem-window-control:hover,.floating-panel-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.zylem-window-control:active,.floating-panel-button:active{filter:brightness(.92);transform:translateY(1px)}.zylem-window-control:focus-visible,.floating-panel-button:focus-visible{box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #00000047,0 2px 4px #0006,0 0 8px #61a6e847,var(--zylem-effect-focus-ring)}.zylem-window-control--close:focus-visible{box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #00000047,0 2px 4px #0006,0 0 8px #e6453457,var(--zylem-effect-focus-ring)}.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 Oy}from"solid-js/web";import{createComponent as Hy}from"solid-js/web";import{template as Py}from"solid-js/web";import{insert as Ro}from"solid-js/web";import"solid-js/web";import{createComponent as De}from"solid-js/web";import{template as Nc}from"solid-js/web";import{style as Lx}from"solid-js/web";import{effect as Hx}from"solid-js/web";import{insert as Ox}from"solid-js/web";import{className as Qx}from"solid-js/web";import{createComponent as Zc}from"solid-js/web";import{memo as Kc}from"solid-js/web";import{use as Wc}from"solid-js/web";import{createContext as qc,createMemo as Jc,createSignal as _a,onMount as el,useContext as $c}from"solid-js";var yr="zylem-layer-portals";function qn(e){let t=e?.getRootNode();return t instanceof ShadowRoot?t:t instanceof Document?t.body:document.body}function br(e){let t=qn(e);for(let o of Array.from(t.children))if(o instanceof HTMLElement&&o.classList.contains(yr))return o;let r=document.createElement("div");return r.className=yr,t.appendChild(r),r}var jc={base:"zylem-layer-base",panel:"zylem-layer-panel",modal:"zylem-layer-modal",popover:"zylem-layer-popover",tooltip:"zylem-layer-tooltip",menu:"zylem-layer-menu"},Jn=Object.fromEntries(Object.entries(jc).map(([e,t])=>[e,`var(--${t})`]));var Xc=Nc("<span aria-hidden=true style=display:none>");var tl=qc();function io(e){let[t,r]=_a(),o;return el(()=>r(br(o))),Zc(tl.Provider,{value:{container:t},get children(){return[(()=>{var n=Xc(),i=o;return typeof i=="function"?Wc(i,n):o=n,n})(),Kc(()=>e.children)]}})}function K(e,t=0){let r=$c(tl),[o,n]=_a(),i;r||el(()=>n(br(i)));let a=Jc(()=>{let l=typeof t=="function"?t():t,d=Jn[e];return l?`calc(${d} + ${l})`:d});return{mount:r?r.container:o,zIndex:a,anchorRef:l=>{i=l}}}function _c(e,t){if(!("clientX"in e)||!("clientY"in e))return!1;let{clientX:r,clientY:o}=e,n=t.getBoundingClientRect();return r>=n.left&&r<=n.right&&o>=n.top&&o<=n.bottom}function em(e,t){let r=e.composedPath();return r.length>0?r.includes(t):_c(e,t)}function lt(){let e;return{ref:t=>{e=t},onInteractOutside:t=>{e&&em(t.detail.originalEvent,e)&&t.preventDefault()}}}import{template as tm}from"solid-js/web";import{insert as rm}from"solid-js/web";import{spread as om}from"solid-js/web";import{mergeProps as nm}from"solid-js/web";import{memo as im}from"solid-js/web";import{splitProps as lm}from"solid-js";var am=tm("<button type=button>");function de(e){let[t,r]=lm(e,["variant","size","class","children"]);return(()=>{var o=am();return om(o,nm({get class(){return im(()=>!!t.class)()?`zylem-button ${t.class}`:"zylem-button"},get"data-variant"(){return t.variant??"default"},get"data-size"(){return t.size??"md"}},r),!1,!0),rm(o,()=>t.children),o})()}import{createComponent as Gt}from"solid-js/web";import{memo as sm}from"solid-js/web";import{Button as dm,Tooltip as ao}from"@kobalte/core";import{Show as cm}from"solid-js";function Q(e){let t=K("tooltip");return Gt(ao.Root,{openDelay:400,get children(){return[Gt(ao.Trigger,{as:"span",ref(r){var o=t.anchorRef;typeof o=="function"?o(r):t.anchorRef=r},get children(){return Gt(dm.Root,{get"aria-label"(){return e.label},get onClick(){return e.onClick},get disabled(){return e.disabled},get class(){return sm(()=>!!e.class)()?`zylem-toolbar-btn ${e.class}`:"zylem-toolbar-btn"},get"data-selected"(){return e.selected?"":void 0},get children(){return e.children}})}}),Gt(cm,{get when(){return t.mount()},keyed:!0,children:r=>Gt(ao.Portal,{mount:r,get children(){return Gt(ao.Content,{class:"zylem-tooltip",get children(){return e.label}})}})})]}})}import{createComponent as gv}from"solid-js/web";import{memo as bv}from"solid-js/web";import{TextField as xv}from"@kobalte/core";import{createEffect as zv,createSignal as wv,on as Av,Show as kv,splitProps as Sv}from"solid-js";import{template as Ev}from"solid-js/web";import{insert as Tv}from"solid-js/web";import{createComponent as Dv}from"solid-js/web";import{memo as Rv}from"solid-js/web";import{NumberField as Gv}from"@kobalte/core";import{Show as Fv}from"solid-js";import{createComponent as Qv}from"solid-js/web";import{memo as Uv}from"solid-js/web";import{Select as Nv}from"@kobalte/core";import{Show as Kv}from"solid-js";import{createComponent as Jv}from"solid-js/web";import{memo as _v}from"solid-js/web";import{Checkbox as tz}from"@kobalte/core";import oz from"lucide-solid/icons/check";import{Show as iz}from"solid-js";import{createComponent as sz}from"solid-js/web";import{memo as cz}from"solid-js/web";import{Switch as fz}from"@kobalte/core";import{Show as pz}from"solid-js";import{template as bz}from"solid-js/web";import{insert as xz}from"solid-js/web";import{createComponent as zz}from"solid-js/web";import{memo as Az}from"solid-js/web";import{Slider as Sz}from"@kobalte/core";import{Show as Pz}from"solid-js";import{template as $n}from"solid-js/web";import{delegateEvents as mm}from"solid-js/web";import{setAttribute as ol}from"solid-js/web";import{effect as fm}from"solid-js/web";import{insert as nl}from"solid-js/web";import{createComponent as yt}from"solid-js/web";import{memo as lo}from"solid-js/web";import{Tabs as so}from"@kobalte/core";import ym from"lucide-solid/icons/x";import{Show as il}from"solid-js";var um=$n("<span class=zylem-tabs-trigger-label>"),pm=$n('<span class=zylem-tabs-dirty aria-label="Unsaved changes"title="Unsaved changes">'),gm=$n("<span class=zylem-tabs-close role=button tabindex=0>");function co(e){return yt(so.Root,{get class(){return lo(()=>!!e.class)()?`zylem-tabs-root ${e.class}`:"zylem-tabs-root"},get value(){return e.value},get onChange(){return e.onChange},get defaultValue(){return e.defaultValue},get"aria-label"(){return e["aria-label"]},get children(){return e.children}})}function al(e){return yt(so.List,{get class(){return lo(()=>!!e.class)()?`zylem-tabs-list ${e.class}`:"zylem-tabs-list"},get children(){return e.children}})}function ll(e){let t=r=>{r.stopPropagation(),r.preventDefault(),e.onClose?.()};return yt(so.Trigger,{get class(){return lo(()=>!!e.class)()?`zylem-tabs-trigger ${e.class}`:"zylem-tabs-trigger"},get value(){return e.value},get disabled(){return e.disabled},get children(){return[(()=>{var r=um();return nl(r,()=>e.children),r})(),yt(il,{get when(){return e.dirty},get children(){return pm()}}),yt(il,{get when(){return e.onClose},get children(){var r=gm();return r.$$keydown=o=>{(o.key==="Enter"||o.key===" ")&&t(o)},r.$$pointerdown=o=>o.stopPropagation(),r.$$click=t,nl(r,yt(ym,{"aria-hidden":"true"})),fm(o=>{var n=e.closeLabel??"Close tab",i=e.closeLabel??"Close tab";return n!==o.e&&ol(r,"aria-label",o.e=n),i!==o.t&&ol(r,"title",o.t=i),o},{e:void 0,t:void 0}),r}})]}})}function sl(e){return yt(so.Content,{get class(){return lo(()=>!!e.class)()?`zylem-tabs-content ${e.class}`:"zylem-tabs-content"},get value(){return e.value},get children(){return e.children}})}co.List=al;co.Trigger=ll;co.Content=sl;mm(["click","pointerdown","keydown"]);import{createComponent as Qz}from"solid-js/web";import{memo as Uz}from"solid-js/web";import{Accordion as Nz}from"@kobalte/core";import{For as Kz}from"solid-js";import{createComponent as hr}from"solid-js/web";import"solid-js/web";import{Tooltip as mo}from"@kobalte/core";import{Show as bm}from"solid-js";function _n(e){let t=K("tooltip");return hr(mo.Root,{get placement(){return e.placement},get openDelay(){return e.openDelay??400},get children(){return[hr(mo.Trigger,{as:"span",ref(r){var o=t.anchorRef;typeof o=="function"?o(r):t.anchorRef=r},style:{display:"flex",width:"100%",height:"100%","min-width":0},get children(){return e.children}}),hr(bm,{get when(){return t.mount()},children:r=>hr(mo.Portal,{get mount(){return r()},get children(){return hr(mo.Content,{class:"zylem-tooltip",get children(){return e.content}})}})})]}})}import{template as o0}from"solid-js/web";import"solid-js/web";import{insert as l0}from"solid-js/web";import{createComponent as d0}from"solid-js/web";import{DropdownMenu as m0}from"@kobalte/core";import u0 from"lucide-solid/icons/check";import{For as g0,Show as y0}from"solid-js";import{createComponent as v0}from"solid-js/web";import{memo as w0}from"solid-js/web";import{Menubar as k0}from"@kobalte/core";import{For as C0,Show as P0}from"solid-js";import{template as j0}from"solid-js/web";import{insert as Z0}from"solid-js/web";import{memo as W0}from"solid-js/web";import{createComponent as q0}from"solid-js/web";import{use as $0}from"solid-js/web";import{Dialog as ew}from"@kobalte/core";import{Show as rw}from"solid-js";import{template as ti}from"solid-js/web";import{delegateEvents as xm}from"solid-js/web";import{createComponent as Ht}from"solid-js/web";import{setAttribute as xr}from"solid-js/web";import{effect as dl}from"solid-js/web";import{insert as fo}from"solid-js/web";import{memo as vm}from"solid-js/web";import{Show as ei}from"solid-js";import km from"lucide-solid/icons/chevron-down";import Sm from"lucide-solid/icons/chevron-up";import Cm from"lucide-solid/icons/x";var zm=ti('<button type=button class="zylem-window-control zylem-window-control--collapse">'),wm=ti('<button type=button class="zylem-window-control zylem-window-control--close">'),Am=ti('<div class=zylem-window-controls aria-label="Window controls">');function bt(e){return Ht(ei,{get when(){return e.onClose||e.onCollapse},get children(){var t=Am();return fo(t,Ht(ei,{get when(){return e.onCollapse},get children(){var r=zm();return r.$$click=()=>e.onCollapse?.(),fo(r,(()=>{var o=vm(()=>!!e.collapsed);return()=>o()?Ht(Sm,{size:11,strokeWidth:2.5}):Ht(km,{size:11,strokeWidth:2.5})})()),dl(o=>{var n=e.collapsed?"Expand panel":"Collapse panel",i=e.collapsed?"Expand panel":"Collapse panel";return n!==o.e&&xr(r,"aria-label",o.e=n),i!==o.t&&xr(r,"title",o.t=i),o},{e:void 0,t:void 0}),r}}),null),fo(t,Ht(ei,{get when(){return e.onClose},get children(){var r=wm();return r.$$click=()=>e.onClose?.(),fo(r,Ht(Cm,{size:11,strokeWidth:2.5})),dl(o=>{var n=e.closeLabel??"Close panel",i=e.closeLabel??"Close panel",a=e.closeTestId;return n!==o.e&&xr(r,"aria-label",o.e=n),i!==o.t&&xr(r,"title",o.t=i),a!==o.a&&xr(r,"data-testid",o.a=a),o},{e:void 0,t:void 0,a:void 0}),r}}),null),t}})}xm(["click"]);import{template as sw}from"solid-js/web";import{insert as cw}from"solid-js/web";import{createComponent as fw}from"solid-js/web";import{memo as pw}from"solid-js/web";import{Progress as yw}from"@kobalte/core";import{Show as hw}from"solid-js";import{template as zw}from"solid-js/web";import{setAttribute as Aw}from"solid-js/web";import{className as Sw}from"solid-js/web";import{effect as Pw}from"solid-js/web";import{insert as Iw}from"solid-js/web";import{template as Dw}from"solid-js/web";import{setAttribute as Rw}from"solid-js/web";import{className as Gw}from"solid-js/web";import{effect as Fw}from"solid-js/web";import{createComponent as Yw}from"solid-js/web";import{insert as Vw}from"solid-js/web";import{Show as jw}from"solid-js";import{template as Kw}from"solid-js/web";import{createComponent as Xw}from"solid-js/web";import{setAttribute as Jw}from"solid-js/web";import{className as _w}from"solid-js/web";import{effect as t1}from"solid-js/web";import{insert as o1}from"solid-js/web";import{Show as i1}from"solid-js";import{createComponent as s1}from"solid-js/web";import{memo as c1}from"solid-js/web";import{Separator as f1}from"@kobalte/core";import{template as g1}from"solid-js/web";import{createComponent as b1}from"solid-js/web";import{insert as x1}from"solid-js/web";import{spread as z1}from"solid-js/web";import{mergeProps as A1}from"solid-js/web";import{Show as S1,splitProps as C1}from"solid-js";import{template as T1}from"solid-js/web";import{className as D1}from"solid-js/web";import{effect as R1}from"solid-js/web";import{createComponent as G1}from"solid-js/web";import{insert as F1}from"solid-js/web";import"solid-js/web";import{spread as V1}from"solid-js/web";import{mergeProps as j1}from"solid-js/web";import{Show as Z1,splitProps as K1}from"solid-js";import{template as q1}from"solid-js/web";import{insert as $1}from"solid-js/web";import{spread as eA}from"solid-js/web";import{mergeProps as rA}from"solid-js/web";import{splitProps as nA}from"solid-js";import{template as ri}from"solid-js/web";import{delegateEvents as Pm}from"solid-js/web";import{createComponent as Em}from"solid-js/web";import{style as cA}from"solid-js/web";import{className as cl}from"solid-js/web";import{effect as ml}from"solid-js/web";import{insert as uo}from"solid-js/web";import{Show as Dm,createMemo as Mm}from"solid-js";var Im=ri('<span title="Click to reveal full path">'),Tm=ri("<div class=zylem-property-row><span class=zylem-property-label>"),Bm=ri("<span>");function Rm(e,t=3){let r=e.includes("\\")?"\\":"/",o=e.split(r).filter(Boolean);return o.length<=t?{truncated:e,isTruncated:!1}:{truncated:`...${r}${o.slice(-t).join(r)}`,isTruncated:!0}}function Lm(e){return e.includes("/")||e.includes("\\")||/^[A-Za-z]:/.test(e)||e.startsWith(".")||e.startsWith("~")}function oi(e){let t=Mm(()=>{if(e.children!==void 0)return{element:e.children,isClickable:!1,fullValue:null};if(typeof e.value!="string")return{element:e.value,isClickable:!1,fullValue:null};let r=e.value;if(e.isPath??Lm(r)){let{truncated:n,isTruncated:i}=Rm(r,e.maxPathSegments??3);return{element:n,isClickable:i&&!!e.onPathClick,fullValue:i?r:null}}return{element:r,isClickable:!1,fullValue:null}});return(()=>{var r=Tm(),o=r.firstChild;return uo(o,()=>e.label),uo(r,Em(Dm,{get when(){return t().isClickable},get fallback(){return(()=>{var n=Bm();return uo(n,()=>t().element),ml(()=>cl(n,`zylem-property-value ${e.valueClass??""}`)),n})()},get children(){var n=Im();return n.$$click=()=>{let i=t().fullValue;i&&e.onPathClick?.(i)},uo(n,()=>t().element),ml(()=>cl(n,`zylem-property-value zylem-property-value--clickable ${e.valueClass??""}`)),n}}),null),r})()}Pm(["click"]);import{template as pl}from"solid-js/web";import{delegateEvents as Gm}from"solid-js/web";import{className as Hm}from"solid-js/web";import{insert as ni}from"solid-js/web";import{createComponent as ii}from"solid-js/web";import"solid-js/web";import{setAttribute as Fm}from"solid-js/web";import{effect as fl}from"solid-js/web";import{Show as ul}from"solid-js";var Om=pl("<div class=zylem-console-actions>"),Ym=pl('<div><div class=zylem-console-wrapper><textarea class="zylem-console zylem-scroll">');function ai(e){return(()=>{var t=Ym(),r=t.firstChild,o=r.firstChild;return o.$$input=n=>e.onInput?.(n.currentTarget.value),Fm(o,"spellcheck",!1),ni(r,ii(ul,{get when(){return e.onClear||e.actions},get children(){var n=Om();return ni(n,()=>e.actions,null),ni(n,ii(ul,{get when(){return e.onClear},get children(){return ii(de,{size:"sm",variant:"ghost",onClick:()=>e.onClear?.(),children:"Clear"})}}),null),n}}),null),fl(n=>{var i=e.class?`zylem-console-container ${e.class}`:"zylem-console-container",a=e.readOnly||!e.onInput;return i!==n.e&&Hm(t,n.e=i),a!==n.t&&(o.readOnly=n.t=a),n},{e:void 0,t:void 0}),fl(()=>o.value=e.value),t})()}Gm(["input"]);import{template as po}from"solid-js/web";import{memo as Qm}from"solid-js/web";import{className as Vm}from"solid-js/web";import{effect as Um}from"solid-js/web";import{createComponent as jm}from"solid-js/web";import{insert as vr}from"solid-js/web";import{spread as gl}from"solid-js/web";import{mergeProps as yl}from"solid-js/web";import{Show as Xm,splitProps as bl}from"solid-js";var Nm=po("<aside>"),Zm=po("<div class=sidebar-section-title>"),Km=po("<div>"),Wm=po("<button type=button>");function li(e){let[t,r]=bl(e,["children","class","borderless"]);return(()=>{var o=Nm();return gl(o,yl({get class(){return["sidebar","zylem-scroll",t.borderless?"sidebar--borderless":"",t.class??""].filter(Boolean).join(" ")}},r),!1,!0),vr(o,()=>t.children),o})()}function hl(e){return(()=>{var t=Km();return vr(t,jm(Xm,{get when(){return e.title},get children(){var r=Zm();return vr(r,()=>e.title),r}}),null),vr(t,()=>e.children,null),Um(()=>Vm(t,e.class?`sidebar-section ${e.class}`:"sidebar-section")),t})()}function xl(e){let[t,r]=bl(e,["active","children","class"]);return(()=>{var o=Wm();return gl(o,yl({get class(){return Qm(()=>!!t.class)()?`sidebar-item ${t.class}`:"sidebar-item"},get"data-active"(){return t.active?"":void 0}},r),!1,!0),vr(o,()=>t.children),o})()}li.Section=hl;li.Item=xl;import{template as OA}from"solid-js/web";import{delegateEvents as qm}from"solid-js/web";import{createComponent as VA}from"solid-js/web";import{insert as jA}from"solid-js/web";import{spread as ZA}from"solid-js/web";import{mergeProps as WA}from"solid-js/web";import{memo as qA}from"solid-js/web";import{Show as $A,splitProps as _A}from"solid-js";qm(["keydown"]);import{template as go}from"solid-js/web";import{delegateEvents as Jm}from"solid-js/web";import{use as $m}from"solid-js/web";import{setAttribute as si}from"solid-js/web";import{className as _m}from"solid-js/web";import{effect as vl}from"solid-js/web";import{insert as zl}from"solid-js/web";import{memo as wl}from"solid-js/web";import{createComponent as Xe}from"solid-js/web";import{Popover as zr}from"@kobalte/core";import{Show as di,createSignal as nf}from"solid-js";var ef=go("<span aria-hidden=true>\u25BE"),tf=go("<div>"),rf=go('<span class="zylem-menu-button__chevron zylem-menu-button__chevron--static"aria-hidden=true>\u25BE'),of=go('<button type=button class="zylem-toolbar-btn zylem-menu-button__face">');function ci(e){let[t,r]=nf(!1),o=K("menu"),n=lt(),i=()=>e.open??t(),a=p=>{r(p),e.onOpenChange?.(p)},l=()=>e.onAction!==void 0,d=()=>e.tooltip===null?null:e.tooltip??e.label,s=p=>Xe(di,{get when(){return d()},fallback:p,keyed:!0,children:c=>Xe(_n,{content:c,children:p})});return(()=>{var p=tf();return zl(p,Xe(zr.Root,{get open(){return i()},onOpenChange:a,get placement(){return e.placement??"bottom-start"},get children(){return[Xe(di,{get when(){return l()},get fallback(){return s(Xe(zr.Trigger,{ref(c){var u=o.anchorRef;typeof u=="function"?u(c):o.anchorRef=c},class:"zylem-toolbar-btn zylem-menu-button__face",get"aria-label"(){return e.label},get disabled(){return e.disabled},get"data-selected"(){return e.selected?"":void 0},get children(){return[wl(()=>e.children),rf()]}}))},get children(){return[wl(()=>s((()=>{var c=of();c.$$click=()=>e.onAction?.();var u=o.anchorRef;return typeof u=="function"?$m(u,c):o.anchorRef=c,zl(c,()=>e.children),vl(g=>{var P=e.label,h=e.disabled,v=e.selected?"":void 0;return P!==g.e&&si(c,"aria-label",g.e=P),h!==g.t&&(c.disabled=g.t=h),v!==g.a&&si(c,"data-selected",g.a=v),g},{e:void 0,t:void 0,a:void 0}),c})())),Xe(zr.Trigger,{class:"zylem-menu-button__chevron",get"aria-label"(){return`${e.label} options`},get disabled(){return e.disabled},get children(){return ef()}})]}}),Xe(di,{get when(){return o.mount()},keyed:!0,children:c=>Xe(zr.Portal,{mount:c,get children(){return Xe(zr.Content,{ref(u){var g=n.ref;typeof g=="function"?g(u):n.ref=u},class:"zylem-menu-button__panel",get onInteractOutside(){return n.onInteractOutside},get children(){return e.menu(()=>a(!1))}})}})})]}})),vl(c=>{var u=e.class?`zylem-menu-button ${e.class}`:"zylem-menu-button",g=l()?"":void 0;return u!==c.e&&_m(p,c.e=u),g!==c.t&&si(p,"data-split",c.t=g),c},{e:void 0,t:void 0}),p})()}Jm(["click"]);import{template as xt}from"solid-js/web";import{delegateEvents as gf}from"solid-js/web";import{setAttribute as Cl}from"solid-js/web";import{className as yf}from"solid-js/web";import{effect as pi}from"solid-js/web";import{insert as qe}from"solid-js/web";import{createComponent as ht}from"solid-js/web";import"solid-js/web";import{For as Pl,Show as yo,createMemo as kf,createSignal as Sf}from"solid-js";import{template as af}from"solid-js/web";import{delegateEvents as lf}from"solid-js/web";import{setAttribute as Al}from"solid-js/web";import{className as sf}from"solid-js/web";import{insert as df}from"solid-js/web";import{addEventListener as cf}from"solid-js/web";import{effect as kl}from"solid-js/web";import{use as mf}from"solid-js/web";import{createComponent as ff}from"solid-js/web";import pf from"lucide-solid/icons/search";var uf=af('<div><input type=search class="zylem-field zylem-search-input">');function mi(e){return(()=>{var t=uf(),r=t.firstChild;df(t,ff(pf,{class:"zylem-search-icon"}),r),cf(r,"keydown",e.onKeyDown,!0),r.$$input=n=>e.onInput?.(n.currentTarget.value);var o=e.ref;return typeof o=="function"?mf(o,r):e.ref=r,kl(n=>{var i=e.class?`zylem-search ${e.class}`:"zylem-search",a=e.placeholder??"Search...",l=e["aria-label"]??e.placeholder??"Search";return i!==n.e&&sf(t,n.e=i),a!==n.t&&Al(r,"placeholder",n.t=a),l!==n.a&&Al(r,"aria-label",n.a=l),n},{e:void 0,t:void 0,a:void 0}),kl(()=>r.value=e.value??""),t})()}lf(["input","keydown"]);var Sl="Other";function fi(e,t){let r=t.trim().toLowerCase();return r?e.filter(o=>o.label.toLowerCase().includes(r)||o.id.toLowerCase().includes(r)?!0:o.tags?.some(n=>n.toLowerCase().includes(r))??!1):e}function ui(e){let t=[],r=new Map;for(let o of e){let n=o.group??Sl,i=r.get(n);i||(i=[],r.set(n,i),t.push({group:n,items:i})),i.push(o)}return t}var bf=xt('<div class="zylem-picker__groups zylem-scroll">'),hf=xt("<div>"),xf=xt("<p class=zylem-picker__empty>"),vf=xt("<p class=zylem-picker__empty>No matches for \u201C<!>\u201D."),zf=xt("<div class=zylem-picker__group><h4 class=zylem-picker__group-title>"),wf=xt("<button type=button class=zylem-picker__item><span class=zylem-picker__item-label>"),Af=xt("<span class=zylem-picker__item-glyph>");function gi(e){let[t,r]=Sf(""),o=()=>e.searchable!==!1,n=kf(()=>ui(fi(e.items,t())));return(()=>{var i=hf();return qe(i,ht(yo,{get when(){return o()},get children(){return ht(mi,{class:"zylem-picker__search",get value(){return t()},onInput:r,get placeholder(){return e.searchPlaceholder??"Search\u2026"},ref:a=>{e.autoFocus!==!1&&queueMicrotask(()=>a.focus())}})}}),null),qe(i,ht(yo,{get when(){return e.items.length},get fallback(){return(()=>{var a=xf();return qe(a,()=>e.emptyMessage??"Nothing to choose from."),a})()},get children(){return ht(yo,{get when(){return n().length},get fallback(){return(()=>{var a=vf(),l=a.firstChild,d=l.nextSibling,s=d.nextSibling;return qe(a,t,d),a})()},get children(){var a=bf();return qe(a,ht(Pl,{get each(){return n()},children:l=>(()=>{var d=zf(),s=d.firstChild;return qe(s,()=>l.group),qe(d,ht(Pl,{get each(){return l.items},children:p=>(()=>{var c=wf(),u=c.firstChild;return c.$$click=()=>e.onSelect(p),qe(c,ht(yo,{get when(){return p.icon},children:g=>(()=>{var P=Af();return pi(()=>P.innerHTML=g()),P})()}),u),qe(u,()=>p.label),pi(g=>{var P=p.disabled,h=e.selectedId===p.id?"":void 0,v=p.description;return P!==g.e&&(c.disabled=g.e=P),h!==g.t&&Cl(c,"data-selected",g.t=h),v!==g.a&&Cl(c,"title",g.a=v),g},{e:void 0,t:void 0,a:void 0}),c})()}),null),d})()})),a}})}}),null),pi(()=>yf(i,e.class?`zylem-picker ${e.class}`:"zylem-picker")),i})()}gf(["click"]);import{template as Qk}from"solid-js/web";import{className as Uk}from"solid-js/web";import{effect as Nk}from"solid-js/web";import{createComponent as Kk}from"solid-js/web";import{insert as Xk}from"solid-js/web";import{Show as Jk}from"solid-js";import{template as eS}from"solid-js/web";import{insert as rS}from"solid-js/web";import{spread as nS}from"solid-js/web";import{mergeProps as aS}from"solid-js/web";import{memo as sS}from"solid-js/web";import{splitProps as cS}from"solid-js";import{template as uS}from"solid-js/web";import{className as gS}from"solid-js/web";import{effect as bS}from"solid-js/web";import{insert as xS}from"solid-js/web";import{template as PS}from"solid-js/web";import{effect as IS}from"solid-js/web";import{insert as BS}from"solid-js/web";import{setAttribute as MS}from"solid-js/web";import{createMemo as LS,onMount as GS}from"solid-js";var yi="zylem-build-label";var AS=`
|
|
8
|
-
#${
|
|
6
|
+
`)}return t};Ke.on("stage",e=>{let t=e.payload;t.config!==void 0&&(T.config=t.config),t.backgroundColor!==void 0&&(T.backgroundColor=t.backgroundColor),t.backgroundImage!==void 0&&(T.backgroundImage=t.backgroundImage),t.inputs!==void 0&&(T.inputs=t.inputs),t.variables!==void 0&&(T.variables=t.variables),t.gravity!==void 0&&(T.gravity=t.gravity),t.entities!==void 0&&(T.entities=t.entities)});Ke.on("entities",e=>{T.entities=e.payload});function Xd(){return{version:1,entries:[]}}function qd(e,t){if(!e)return null;let r=t.find(n=>n.id===e);return r?r.id:t.find(n=>n.label===e)?.id??null}function _o(e,t){return en(Xd(),e,t)}function en(e,t,r){if(t.length===0)return e;let o=new Map;for(let i of e.entries)o.set(i.id,{...i,pose:{...i.pose}});let n=!1;for(let i of t){if(!i.uuid)continue;let a=qd(i.type,r);if(!a){o.delete(i.uuid)&&(n=!0);continue}let l=o.get(i.uuid),c={id:i.uuid,typeId:a,pose:Jd(l?.pose,i)};(!l||!$d(l,c))&&(o.set(i.uuid,c),n=!0)}return n?{version:1,entries:[...o.values()]}:e}function va(e,t){if(t.length===0||e.entries.length===0)return e;let r=new Set(t),o=e.entries.filter(n=>!r.has(n.id));return o.length===e.entries.length?e:{version:1,entries:o}}function Jd(e,t){let r={...e};return t.position&&(r.position={...t.position}),t.rotation&&(r.rotation={...t.rotation}),t.quaternion&&(r.quaternion={...t.quaternion}),t.scale&&(r.scale={...t.scale}),r}function $d(e,t){return e.typeId===t.typeId&&_d(e.pose,t.pose)}function _d(e,t){return $o(e.position,t.position)&&$o(e.rotation,t.rotation)&&ec(e.quaternion,t.quaternion)&&$o(e.scale,t.scale)}function $o(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z}function ec(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w}var O=tc({active:!1,buffer:null,annotations:{},placementRole:null}),ke=Qe(O);function rc(e,t,r,o){let n={};for(let i of r){let a=t.has(i)?e[i]:void 0;n[i]=a?{role:a.role,props:{...a.props}}:{role:o,props:{}}}return n}function rr(e){return e?.entries.map(t=>t.id)??[]}function jr(e,t){O.annotations=rc(O.annotations,e,rr(O.buffer),t)}function oc(e){if(O.active=e,!e)return;let t=new Set(rr(O.buffer));O.buffer=_o(T.entities,X.entities),jr(t,"doodad")}function tn(e){O.placementRole=e}function xa(){oc(!O.active)}function nc(){let e=O.buffer;return e?{buffer:JSON.parse(JSON.stringify(e)),annotations:JSON.parse(JSON.stringify(O.annotations)),stageId:T.config?.id??null}:null}function rn(e,t,r){let o=O.annotations[e];if(o?.role!=="actor")return;let n=t.trim();n&&(O.annotations={...O.annotations,[e]:{role:"actor",props:{...o.props,[n]:r}}})}function za(e){if(!O.active||!O.buffer)return;let t=new Set(rr(O.buffer));O.buffer=en(O.buffer,e,X.entities),jr(t,O.placementRole??"doodad")}function wa(e){if(!O.active||!O.buffer)return;let t=new Set(rr(O.buffer));O.buffer=va(O.buffer,e),jr(t,"doodad")}function ka(e){if(!O.active)return;let t=new Set(rr(O.buffer));O.buffer=_o(e,X.entities),jr(t,"doodad")}var Nr=new Map;function Aa(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 ic(e,t){e.name!==t.name&&(e.name=t.name),e.type!==t.type&&(e.type=t.type),on(e.position,t.position)||(e.position=t.position),on(e.rotation,t.rotation)||(e.rotation=t.rotation),on(e.scale,t.scale)||(e.scale=t.scale),t.bounds&&!ac(e.bounds,t.bounds)&&(e.bounds=t.bounds)}function on(e,t){return e===t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y&&e.z===t.z}function ac(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height&&e.depth===t.depth}function Zr(){Nr.clear(),T.entities.forEach((e,t)=>{e.uuid&&Nr.set(e.uuid,t)})}function Sa(e){T.entities=e.map(Aa),Zr(),ka(e)}function nn(e){let t=e.filter(r=>!!r.thumbnail).map(r=>({uuid:r.uuid,url:r.thumbnail,bounds:r.bounds}));t.length>0&&Xo(t)}function an(e){let t=T.entities;for(let r of e){let o=Nr.get(r.uuid),n=o===void 0?void 0:t[o];n?ic(n,r):(Nr.set(r.uuid,t.length),t.push(Aa(r)))}nn(e),za(e)}function Ca(e){ba(e);let t=new Set(e),r=T.entities,o=0;for(let n=0;n<r.length;n+=1){let i=r[n];i.uuid&&t.has(i.uuid)||(r[o]=i,o+=1)}o!==r.length&&(r.length=o,Zr(),wa(e))}function ln(e){Xo(e)}import{proxy as lc}from"valtio/vanilla";var Fe=lc({messages:[]}),sn=500,he=e=>{let r=`[${new Date().toLocaleTimeString()}] ${e}`;Fe.messages.push(r),Fe.messages.length>sn&&Fe.messages.splice(0,Fe.messages.length-sn)},dn=()=>{Fe.messages=[]};import{createStore as mc}from"solid-js/store";import{subscribe as fc}from"valtio/vanilla";var it=["left","right","top","bottom"],oe="toolbar";var Ve=e=>e==="left"||e==="right",cn=e=>{switch(e){case"left":return"e";case"right":return"w";case"top":return"s";default:return"n"}},Kr=()=>({left:{panels:[],thickness:0},right:{panels:[],thickness:0},top:{panels:[],thickness:0},bottom:{panels:[],thickness:0}}),Ia=e=>{let t=Kr();if(!e||typeof e!="object")return t;let r=new Set;for(let o of it){let n=e[o];if(!n||typeof n!="object")continue;let i=n.panels;if(Array.isArray(i))for(let l of i)typeof l!="string"||l.length===0||r.has(l)||(r.add(l),t[o].panels.push(l));let a=n.thickness;typeof a=="number"&&Number.isFinite(a)&&a>0&&(t[o].thickness=a)}return t},Ae=(e,t)=>it.find(r=>e[r].panels.includes(t))??null;var sc=e=>{let t=Kr();for(let r of it)t[r]={panels:[...e[r].panels],thickness:e[r].thickness};return t},Gt=(e,t)=>{let r=sc(e);for(let o of it)r[o].panels=r[o].panels.filter(n=>n!==t);return r},or=(e,t,r,o)=>{let n=Gt(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},mn=(e,t)=>Ve(e)?t.width:t.height,Lt=(e,t,r)=>{if(e[t].panels.length===0)return 0;let o=mn(t,r),n=e[t].thickness,i=n>0?n:Math.round(o/4);return Math.max(1,Math.min(i,o))},fn=(e,t,r,o,n)=>{let i=mn(t,o),l=Lt(e,t==="left"?"right":t==="right"?"left":t==="top"?"bottom":"top",o),c=Math.max(1,i-l-80),s=Math.max(1,Math.min(n,c));return Math.round(Math.max(s,Math.min(r,c)))},Pa=(e,t,r)=>{if(t<=0)return[];let o=e/t,n=Math.max(r,o);return Array.from({length:t},()=>n)},Xe=(e,t,r={})=>{let o=dc(e);if(!o)return Ea(e,t,r);let n=cc(e,o,t),i=Gt(e,oe),a={width:t.width,height:t.height},l={x:0,y:0},c;switch(o){case"top":a.height=Math.max(1,t.height-n),l.y=n,c={x:0,y:0,width:t.width,height:n};break;case"bottom":a.height=Math.max(1,t.height-n),c={x:0,y:Math.max(0,t.height-n),width:t.width,height:n};break;case"left":a.width=Math.max(1,t.width-n),l.x=n,c={x:0,y:0,width:n,height:t.height};break;case"right":a.width=Math.max(1,t.width-n),c={x:Math.max(0,t.width-n),y:0,width:n,height:t.height};break}let s=Ea(i,a,r);if(l.x!==0||l.y!==0)for(let v of Object.values(s))v.x+=l.x,v.y+=l.y;return s[oe]=c,s},dc=e=>{let t=Ae(e,oe);return t&&e[t].panels.length===1?t:null},cc=(e,t,r)=>{let o=mn(t,r),n=e[t].thickness,i=n>0?n:40;return Math.max(1,Math.min(i,Math.max(1,o)))},Ea=(e,t,r)=>{let o=r.minSlotExtent??0,n={},i=Lt(e,"left",t),a=Lt(e,"right",t),l=Lt(e,"top",t),c=Lt(e,"bottom",t);for(let g of["left","right"]){let d=e[g].panels;if(d.length===0)continue;let y=g==="left"?i:a,x=g==="left"?0:Math.max(0,t.width-y),f=Pa(t.height,d.length,o),h=0;d.forEach((m,b)=>{n[m]={x,y:h,width:y,height:f[b]},h+=f[b]})}let s=i,v=Math.max(1,t.width-i-a);for(let g of["top","bottom"]){let d=e[g].panels;if(d.length===0)continue;let y=g==="top"?l:c,x=g==="top"?0:Math.max(0,t.height-y),f=Pa(v,d.length,o),h=s;d.forEach((m,b)=>{n[m]={x:h,y:x,width:f[b],height:y},h+=f[b]})}return n},un=(e,t,r,o,n)=>{let i=n?Gt(e,n):e,a=i[t].panels;if(a.length===0)return 0;let l=Xe(i,o),c=Ve(t),s=0;return a.forEach((v,g)=>{let d=l[v];if(!d)return;let y=c?d.y+d.height/2:d.x+d.width/2;(c?r.y:r.x)>y&&(s=g+1)}),s},gn=(e,t,r,o,n,i)=>{let a=or(e,t,r,o);return Xe(a,n,i)[t]??null};var Ba="zylem-editor-state",Te="main";var Ta=["game-config","stage-config","entities","transform","level","console","bridge"],uc=e=>{if(!e)return[...Ta];let t=Ta.filter(r=>!e.includes(r));return t.length>0?[...e,...t]:e},gc=()=>{if(typeof window>"u")return{};try{let e=localStorage.getItem(Ba);if(e)return JSON.parse(e)}catch(e){console.warn("Failed to load editor state from localStorage:",e)}return{}},pc=e=>{if(!(typeof window>"u"))try{localStorage.setItem(Ba,JSON.stringify(e))}catch(t){console.warn("Failed to save editor state to localStorage:",t)}},Ie=gc(),[u,B]=mc({debug:!1,tool:"none",paused:!1,hovered:null,selected:[],lastTouched:null,panelPosition:Ie.panelPosition??null,panelSize:Ie.panelSize??null,toggleButtonPosition:Ie.toggleButtonPosition??{x:0,y:0},panelOrder:uc(Ie.panelOrder),detachedPanels:Ie.detachedPanels??{},openSections:Ie.openSections??["console"],panelZOrder:Ie.panelZOrder??[],docks:Ia(Ie.docks),dockDefaultsApplied:Ie.dockDefaultsApplied??!1,toolbarSeeded:Ie.toolbarSeeded??!1,toolbarCollapsed:Ie.toolbarCollapsed??!1,mainCollapsed:Ie.mainCollapsed??!1,draggingPanelId:null,dropTargetIndex:null}),ne=()=>{pc({panelPosition:u.panelPosition,panelSize:u.panelSize,toggleButtonPosition:u.toggleButtonPosition,panelOrder:u.panelOrder,detachedPanels:u.detachedPanels,openSections:u.openSections,panelZOrder:u.panelZOrder,docks:u.docks,dockDefaultsApplied:u.dockDefaultsApplied,toolbarSeeded:u.toolbarSeeded,toolbarCollapsed:u.toolbarCollapsed,mainCollapsed:u.mainCollapsed})},pn=e=>{B("panelPosition",e),ne()},yn=e=>{B("panelSize",e),ne()},ir=e=>{B("toggleButtonPosition",e),ne()},ar=(e,t)=>{B("detachedPanels",e,{position:t,size:{width:350,height:300}}),B("openSections",r=>r.filter(o=>o!==e)),B("panelZOrder",[...u.panelZOrder.filter(r=>r!==e),e]),ne()},Wr=(e,t)=>{B("detachedPanels",e,void 0),B("panelZOrder",u.panelZOrder.filter(o=>o!==e)),B("docks",Gt(u.docks,e));let r=u.panelOrder;r.includes(e)||(t!==void 0?B("panelOrder",[...r.slice(0,t),e,...r.slice(t)]):B("panelOrder",[...r,e])),ne()},lr=e=>{B("panelZOrder",[...u.panelZOrder.filter(t=>t!==e),e]),ne()},Xr=(e,t)=>{B("detachedPanels",e,"position",t),ne()},qr=(e,t)=>{B("detachedPanels",e,"size",t),ne()},bn=e=>{B("panelOrder",e),ne()},hn=e=>{B("openSections",e),ne()},vn=e=>{B("toolbarCollapsed",e),ne()},xn=e=>{B("mainCollapsed",e),ne()},Jr=e=>e in u.detachedPanels,gt=(e,t,r)=>{B("docks",or(u.docks,e,t,r)),ne()},qe=e=>{Ae(u.docks,e)&&(B("docks",Gt(u.docks,e)),ne())},sr=(e,t)=>{B("docks",e,"thickness",Math.max(1,Math.round(t))),ne()},Da=e=>Ae(u.docks,e),yc={top:[oe],left:[Te]},bc=e=>["left","right","top","bottom"].some(r=>e[r]?.includes(oe))?e:{...e,top:[oe,...e.top??[]]},Ma=e=>{let t=Ae(e,oe);return!t||e[t].panels.length!==1||e[t].thickness>0?e:{...e,[t]:{panels:e[t].panels,thickness:40}}},hc=()=>u.panelPosition||Object.keys(u.detachedPanels).length>0?!0:["left","right","top","bottom"].some(e=>u.docks[e].panels.length>0),zn=e=>{if(u.dockDefaultsApplied)return;if(!e&&hc()){B("dockDefaultsApplied",!0),ne();return}let t=bc(e??yc),r=Kr();for(let o of["left","right","top","bottom"])for(let n of t[o]??[])n!==Te&&n!==oe&&!Jr(n)&&(B("detachedPanels",n,{position:{x:100,y:100},size:{width:350,height:300}}),B("openSections",i=>i.filter(a=>a!==n)),B("panelZOrder",[...u.panelZOrder.filter(i=>i!==n),n])),r=or(r,n,o);B("docks",Ma(r)),B("dockDefaultsApplied",!0),B("toolbarSeeded",!0),ne()},wn=()=>{if(!u.toolbarSeeded){if(!Ae(u.docks,oe)){let e=Ma(or(u.docks,oe,"top",0));B("docks",e)}B("toolbarSeeded",!0),ne()}},dr=e=>{B("draggingPanelId",e)},at=e=>{B("dropTargetIndex",e)},cr=()=>{B("draggingPanelId",null),B("dropTargetIndex",null)};fc(E,()=>{B("tool",E.tool),B("paused",E.paused),B("hovered",E.hoveredEntityId),B("selected",[...E.selectedEntityIds]),B("lastTouched",E.lastTouchedEntityId)});import{proxy as vc}from"valtio/vanilla";var q=vc({id:"",globals:{},time:0,config:null});Ke.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 kn(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 Ra(e){q.globals[e.path]=e.value}function An(e){e.paused!==void 0&&(E.paused=e.paused,B("paused",e.paused)),e.debug!==void 0&&B("debug",e.debug)}function La(e){he(`[${e.level}] ${e.message}`)}function Sn(e){e.stage?(T.config={id:e.stage.id,backgroundColor:e.stage.backgroundColor,backgroundImage:e.stage.backgroundImage,gravity:e.stage.gravity,inputs:e.stage.inputs,variables:e.stage.variables},T.backgroundColor=e.stage.backgroundColor,T.backgroundImage=e.stage.backgroundImage,T.gravity=e.stage.gravity,T.inputs=e.stage.inputs,T.variables=e.stage.variables):(T.config=null,T.backgroundColor=null,T.backgroundImage=null,T.gravity={x:0,y:0,z:0},T.inputs={},T.variables={}),Sa(e.entities),ha(),nn(e.entities),Qo()}var Cn=!1,mr=0,Pn=[];function $r(){mr+=1;let e=!1,t=()=>{e||(e=!0,mr-=1,mr<=0&&(mr=0,En()))};if(Cn)return t;Cn=!0,Pn=[R.on("game:config",kn),R.on("game:variable",Ra),R.on("game:status",An),R.on("stage:snapshot",Sn),R.on("entity:upsert",an),R.on("entity:removed",({uuids:s})=>Ca(s)),R.on("entity:thumbnail",ln),R.on("entity:selection",jo),R.on("game:notice",La),R.on("catalog:snapshot",No),R.on("scene:operation",ya)],Zr();let r=R.getState("game:config");r&&kn(r);let o=R.getState("stage:snapshot");o&&Sn(o);let n=R.getState("entity:upsert");n&&an(n);let i=R.getState("entity:thumbnail");i&&ln(i);let a=R.getState("game:status");a&&An(a);let l=R.getState("entity:selection");l&&jo(l);let c=R.getState("catalog:snapshot");return c&&No(c),t}function En(){for(let e of Pn)e();Pn=[],Cn=!1,mr=0}import{bridgeDebug as Ht,getZylemBridge as xc}from"@zylem/bridge";import{proxy as zc}from"valtio/vanilla";var In=200,Ga=60,te=zc({capturing:!1,paused:!1,entries:[],stats:[],dropped:0}),wc=0,Tn=null,_r=null,eo=!1,kc=e=>`${(e/1e3).toFixed(2)}s`;function Bn(){let{channel:e}=xc();te.stats=Ht.stats().map(t=>({...t,retained:e.retainedSize(t.type)}))}function Ac(e){if(te.paused||e.kind==="deliver")return;let t=te.entries;if(t.push({id:wc++,time:kc(e.t),kind:e.kind,type:e.type,bytes:e.bytes,summary:e.summary}),t.length>In){let r=t.length-In;t.splice(0,r),te.dropped+=r}}function Dn(){return te.capturing||(te.capturing=!0,eo=!Ht.isEnabled(),eo&&Ht.enable(),Tn=Ht.subscribe(Ac),Bn(),_r=setInterval(Bn,500)),fr}function fr(){Tn?.(),Tn=null,_r!==null&&(clearInterval(_r),_r=null),eo&&(Ht.disable(),eo=!1),te.capturing=!1}function Mn(e){te.paused=e}function Rn(){te.entries=[],te.dropped=0,Ht.reset(),Bn()}function Ln(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 Sc}from"solid-js/web";import{createContext as Cc,onCleanup as Pc,useContext as Ec}from"solid-js";import{createStore as Gn,reconcile as pt}from"solid-js/store";import{subscribe as Hn}from"valtio/vanilla";var Ha=Cc();function Fn(e){let[t,r]=Gn({...E}),[o,n]=Gn({...q}),[i,a]=Gn({...T}),l=Hn(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);let g=E.selectedEntityIds;(t.selectedEntityIds.length!==g.length||t.selectedEntityIds.some((y,x)=>y!==g[x]))&&r("selectedEntityIds",[...g]),t.hoveredEntityId!==E.hoveredEntityId&&r("hoveredEntityId",E.hoveredEntityId),t.lastTouchedEntityId!==E.lastTouchedEntityId&&r("lastTouchedEntityId",E.lastTouchedEntityId);let d=E.flags;(t.flags.size!==d.size||[...t.flags].some(y=>!d.has(y)))&&r("flags",new Set(d))}),c=Hn(q,()=>{o.id!==q.id&&n("id",q.id),o.time!==q.time&&n("time",q.time),n("globals",pt(q.globals)),q.config===null?o.config!==null&&n("config",null):n("config",pt(q.config))}),s=Hn(T,()=>{T.config===null?i.config!==null&&a("config",null):a("config",pt(T.config)),i.backgroundColor!==T.backgroundColor&&a("backgroundColor",T.backgroundColor),i.backgroundImage!==T.backgroundImage&&a("backgroundImage",T.backgroundImage),a("inputs",pt(T.inputs)),a("variables",pt(T.variables)),a("gravity",pt(T.gravity)),a("entities",pt(T.entities,{key:"uuid"}))});Pc(()=>{l(),c(),s()});let v={debug:t,game:o,stage:i};return Sc(Ha.Provider,{value:v,get children(){return e.children}})}function Oe(){let e=Ec(Ha);if(!e)throw new Error("useEditor must be used within an EditorProvider");return e}import{createComponent as Ic}from"solid-js/web";import{mergeProps as Tc}from"solid-js/web";import{splitProps as Bc}from"solid-js";import{Dynamic as Dc}from"solid-js/web";var mv=e=>{let[t,r]=Bc(e,["icon","class"]);return Ic(Dc,Tc({get component(){return t.icon},get class(){return`text-current ${t.class||""}`}},r))};function Fa(){let e=T.config,t=[];for(let r of T.entities){if(!r.uuid)continue;let o={uuid:r.uuid};r.name!==void 0&&(o.name=r.name),r.type!==void 0&&(o.type=r.type),r.position&&(o.position={...r.position}),r.rotation&&(o.rotation={...r.rotation}),r.scale&&(o.scale={...r.scale}),t.push(o)}return{version:1,exportedAt:new Date().toISOString(),stage:e?{id:e.id,backgroundColor:e.backgroundColor,backgroundImage:e.backgroundImage,gravity:{...e.gravity},variables:{...e.variables}}:null,entities:t}}function to(){return JSON.stringify(Fa(),null,2)}async function On(){let e=to();if(!navigator.clipboard?.writeText)return null;try{return await navigator.clipboard.writeText(e),e}catch{return null}}var Mc=new Set(["INPUT","TEXTAREA","SELECT"]);function Ft(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let o of r)if(o instanceof HTMLElement&&(Mc.has(o.tagName)||o.isContentEditable))return!0;return!1}function Rc(e){return!e.metaKey&&!e.ctrlKey||e.altKey||e.key.toLowerCase()!=="z"?null:e.shiftKey?"redo":"undo"}function Oa(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=o=>{let n=Rc(o);n&&(Ft(o)||(o.preventDefault(),n==="undo"?er():tr()))};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}function Ya(){let e=Oo()!=="none",t=X.armedTypeId!==null;return!e&&!t?!1:(t&&(Rt(null),ut(null)),e&&(nt("none"),He("none")),!0)}function Qa(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"&&(Ft(o)||Ya()&&o.preventDefault())};return t.addEventListener("keydown",r),()=>t.removeEventListener("keydown",r)}import{snapshot as Fc}from"valtio/vanilla";import{proxy as Lc,subscribe as Gc}from"valtio/vanilla";var Ua=Math.PI/12,ae=Lc({enabled:!0,translate:.25,rotate:Ua,scale:.1,gridVisible:!1}),ge=Qe(ae);function Va(){return{enabled:ae.enabled,translate:ae.translate,rotate:ae.rotate,scale:ae.scale}}function ur(e){ae.enabled=e}function Hc(e){for(let[t,r]of Object.entries(e))typeof r=="number"&&r>0&&(ae[t]=r)}function gr(e){ae.gridVisible=e}var Yn=!1;function ja(){if(Yn)return()=>{};Yn=!0,qt(Va()),Jt(ae.gridVisible);let e=ae.gridVisible,t=Gc(ae,()=>{qt(Va()),ae.gridVisible!==e&&(e=ae.gridVisible,Jt(e))});return()=>{Yn=!1,t()}}function Na(e,t){return e==="add"&&t!==null}function ro(e,t,r){let o=n=>n?e.find(i=>i.id===n)??null:null;return o(t)??o(r)??e[0]??null}function Za(e){return e.map(t=>({id:t.id,label:t.label,group:t.group,icon:t.icon,description:t.description,tags:t.tags}))}function oo(e,t,r){let o=e[0];return o||(t&&r.includes(t)?t:null)}function pr(){let e=!u.debug;B("debug",e),It(e)}function Qn(e){nt(e),He(e),e!=="add"&&tn(null)}function Oc(e){E.tool!==e&&Qn(e)}function yt(e){Qn(E.tool===e?"none":e)}function Yc(){return oo(E.selectedEntityIds,E.lastTouchedEntityId,T.entities.map(e=>e.uuid).filter(e=>!!e))}function Ka(e){let t=Yc();return t?(Rt(null),ut(null),e!=="none"&&E.selectedEntityIds.length===0&&($t(t),Bt(t)),Qn(e),!0):!1}function Vn(e){return E.tool===e?!0:Ka(e)}function Un(e){return Ka(E.tool===e?"none":e)}function io(e,t="doodad"){let r=ga(e);return r?(tn(t),Rt(r.id),ut(r.id,r.defaultProps&&Fc(r.defaultProps)),nt("add"),He("add"),!0):!1}function yr(e="doodad"){let t=ro(X.entities,X.armedTypeId,X.lastTypeId);return t?io(t.id,e):!1}var no=null;function Wa(e){return no=e,()=>{no===e&&(no=null)}}function jn(){return no?.()??!1}function br(){ur(!ae.enabled)}function hr(){gr(!ae.gridVisible)}function ao(){xa()}function vr(){let e=!E.paused;Fo(e),Tt(e)}import{EDITOR_CAMERAS as lo,GAME_CAMERA_ID as Qc}from"@zylem/bridge";import{proxy as Vc,subscribe as Uc}from"valtio/vanilla";var jc={game:Qc,side:lo.side,top:lo.top,isometric:lo.isometric,free:lo.free};function Nc(e){return jc[e]}var Ue=Vc({perspective:!1,preset:"game",spaceHeld:!1}),lt=Qe(Ue);function so(e,t){return t?"free":e}function Xa(){Ue.perspective=!Ue.perspective}function qa(e){Ue.preset=e}function Zn(e){Ue.spaceHeld=e}var Nn=!1;function Ja(){if(Nn)return()=>{};Nn=!0;let e=so(Ue.preset,Ue.spaceHeld),t=Uc(Ue,()=>{let r=so(Ue.preset,Ue.spaceHeld);r!==e&&(e=r,Ur(Nc(r)))});return()=>{Nn=!1,t()}}var Kn={debug:{key:"d"},build:{key:"b"},select:{key:"q"},translate:{key:"w"},rotate:{key:"e"},scale:{key:"r"},add:{key:"a"},addPalette:{key:"a",shift:!0},delete:{key:"x"},snap:{key:"s"},grid:{key:"g"},undo:{key:"z",mod:!0},redo:{key:"z",mod:!0,shift:!0},playback:{key:"Enter",mod:!0}},Zc=["debug","build","select","translate","rotate","scale","add","addPalette","delete","snap","grid","playback"];function Kc(e,t){return e.altKey||(e.metaKey||e.ctrlKey)!==!!t.mod||e.shiftKey!==!!t.shift?!1:e.key.toLowerCase()===t.key.toLowerCase()}function Wc(e){for(let t of Zc)if(Kc(e,Kn[t]))return t;return null}var Xc=new Set(["dialog","alertdialog","menu"]);function $a(e){let t=typeof e.composedPath=="function"?e.composedPath():[],r=t.length?t:[e.target];for(let o of r){if(!(o instanceof HTMLElement))continue;let n=o.getAttribute("role");if(n&&Xc.has(n))return!0}return!1}var qc=()=>typeof navigator<"u"&&/Mac|iPhone|iPad|iPod/i.test(navigator.platform||navigator.userAgent);function _a(e,t=qc()){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 $(e,t){return`${e} (${_a(Kn[t])})`}function el(e){switch(e){case"debug":return pr(),!0;case"build":return ao(),!0;case"select":case"delete":return yt(e),!0;case"translate":case"rotate":case"scale":return Vn(e);case"add":return yr();case"addPalette":return jn();case"snap":return br(),!0;case"grid":return hr(),!0;case"playback":return vr(),!0}}function Wn(e={}){if(e.enabled===!1)return()=>{};let t=e.target??(typeof window<"u"?window:void 0);if(!t)return()=>{};let r=e.isActive??(()=>!0),o=l=>l.key===" "||l.key==="Spacebar",n=l=>{!o(l)||l.repeat||l.metaKey||l.ctrlKey||l.altKey||l.shiftKey||Ft(l)||$a(l)||r()&&(l.preventDefault(),l.stopImmediatePropagation(),Zn(!0))},i=l=>{o(l)&&Zn(!1)},a=l=>{let c=Wc(l);c&&(Ft(l)||$a(l)||r()&&(l.preventDefault(),l.stopImmediatePropagation(),!l.repeat&&el(c)))};return t.addEventListener("keydown",n,!0),t.addEventListener("keyup",i,!0),t.addEventListener("keydown",a,!0),()=>{t.removeEventListener("keydown",n,!0),t.removeEventListener("keyup",i,!0),t.removeEventListener("keydown",a,!0)}}import{subscribe as Jc}from"valtio/vanilla";var $c=new Set(["translate","rotate","scale"]);function _c(e){return $c.has(e)}function Xn(){return E.selectedEntityIds.length>0||!_c(E.tool)?!1:(nt("none"),He("none"),!0)}function qn(e={}){return e.enabled===!1?()=>{}:(Xn(),Jc(E,()=>{Xn()}))}import{getZylemBridge as sb}from"@zylem/bridge";import{createComponent as wd}from"solid-js/web";var tl=`@import"https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&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-family-mono: "JetBrains Mono", ui-monospace, monospace;--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}.zylem-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-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}.zylem-mono{font-family:var(--zylem-font-family-mono);font-optical-sizing:auto;font-weight:400;font-style:normal;font-variant-numeric:tabular-nums}.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;margin:0}.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-chevron{width:16px;height:16px;flex-shrink:0;stroke:currentColor;color:var(--zylem-color-text-secondary);transition:transform var(--zylem-motion-normal) var(--zylem-motion-ease-out)}.accordion-trigger[data-expanded] .accordion-chevron{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) + 4px)}.zylem-button[data-size=icon]{min-height:24px;min-width:28px;padding:var(--zylem-spacing-xs);border-radius:var(--zylem-radius-control)}.zylem-button-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.zylem-button svg{width:16px;height:16px;flex-shrink:0;stroke:currentColor}.zylem-button[data-size=sm] svg{width:14px;height:14px}.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-family:var(--zylem-font-family-mono);font-variant-numeric:tabular-nums}.zylem-numberfield-stepper{position:absolute;right:3px;width:20px;height:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:.5px solid rgba(150,210,255,.4);border-radius:4px;background:var(--zylem-material-button-glass);color:#f4faff;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-numberfield-stepper svg{width:10px;height:8px;stroke:currentColor}.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{display:flex;flex-shrink:0;color:var(--zylem-color-primary);transition:transform var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-select-icon svg{width:14px;height:14px;stroke:currentColor}.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-mono);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-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);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{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;overflow:visible;outline:none}.zylem-dialog::backdrop{background:#050a1299;backdrop-filter:blur(3px);animation:_7rjyk0 .15s var(--zylem-motion-ease-out)}html:has(.zylem-dialog[open]){overflow:hidden}.zylem-dialog-positioner{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;padding:var(--zylem-spacing-lg)}.zylem-dialog-positioner>.zylem-layer-portals{position:absolute;top:0;left:0}.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-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-mono);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:var(--zylem-font-family-mono);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;flex-shrink:0;gap:6px}.zylem-window-control,.floating-panel-button{all:unset;box-sizing:border-box;position:relative;cursor:pointer;flex-shrink:0;width:28px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--zylem-color-primary);border-radius:6px;border:1px solid rgba(97,166,232,.35);background:transparent;box-shadow:none;transition:color 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),box-shadow var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-window-control svg,.floating-panel-button svg{position:relative;z-index:1;display:block}.zylem-window-control:hover,.floating-panel-button:hover{background:#61a6e81f;box-shadow:var(--zylem-effect-glow-primary);color:var(--zylem-color-primary);transform:translateY(-1px)}.zylem-window-control:active,.floating-panel-button:active{transform:translateY(1px)}.zylem-window-control:focus-visible,.floating-panel-button:focus-visible{background:#61a6e81f;box-shadow:var(--zylem-effect-glow-primary),var(--zylem-effect-focus-ring)}.zylem-window-control--close:hover{border-color:#ff8472c7;background:#e6453429;color:#ffb4a8;box-shadow:var(--zylem-effect-glow-danger)}.zylem-window-control--close:focus-visible{border-color:#ff8472c7;background:#e6453429;color:#ffb4a8;box-shadow:var(--zylem-effect-glow-danger),var(--zylem-effect-focus-ring)}.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;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);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{margin:0;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{appearance:none;margin:0;padding:0;border:0;background:none;line-height:inherit;text-align:start;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.zylem-property-value--clickable:focus-visible{outline:none;box-shadow:var(--zylem-effect-focus-ring)}.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:var(--zylem-font-family-mono);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{margin:0;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{margin:0;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:-5px;bottom:-5px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;color:var(--zylem-color-text);background:var(--zylem-color-border);border:.5px solid var(--zylem-color-surface);border-radius:50%;cursor:pointer;transition:color var(--zylem-motion-fast) var(--zylem-motion-ease-out)}.zylem-menu-button__chevron svg{width:18px;height:18px;stroke:currentColor}.zylem-menu-button__chevron--static{pointer-events:none}.zylem-menu-button__chevron:hover:not([disabled]){color:#fff}.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-family:var(--zylem-font-family-mono);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-family:var(--zylem-font-family-mono);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-family:var(--zylem-font-family-mono);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:14ch;height:18px;line-height:18px;font-family:var(--zylem-font-family-mono);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-ruler:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #61a6e899}.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-family:var(--zylem-font-family-mono);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}button.zylem-track-header-name{appearance:none;min-width:0;margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:inherit}button.zylem-track-header-name:focus-visible{outline:none;border-radius:3px;box-shadow:var(--zylem-effect-focus-ring)}.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-family:var(--zylem-font-family-mono);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-family:var(--zylem-font-family-mono);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}button.zylem-mixer-name{appearance:none;margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;line-height:inherit;cursor:inherit}button.zylem-mixer-name:focus-visible{outline:none;border-radius:3px;box-shadow:var(--zylem-effect-focus-ring)}.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-edge:focus-visible{outline:none;box-shadow:none}.zylem-waveform-edge:focus-visible:after{box-shadow:var(--zylem-effect-focus-ring)}.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-family:var(--zylem-font-family-mono);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}.zylem-transport-signature .zylem-field{font-family:var(--zylem-font-family-mono)}
|
|
7
|
+
`;import{render as lb}from"solid-js/web";import{createComponent as ib}from"solid-js/web";import{template as Ky}from"solid-js/web";import{insert as Lo}from"solid-js/web";import"solid-js/web";import{createComponent as xe}from"solid-js/web";import{template as tm}from"solid-js/web";import{style as ox}from"solid-js/web";import{effect as ix}from"solid-js/web";import{insert as lx}from"solid-js/web";import{className as dx}from"solid-js/web";import{createComponent as rm}from"solid-js/web";import{memo as om}from"solid-js/web";import{use as nm}from"solid-js/web";import{createContext as am,createMemo as lm,createSignal as rl,onMount as ol,useContext as sm}from"solid-js";var Ot="zylem-layer-portals";function Jn(e){let t=e?.getRootNode();return t instanceof ShadowRoot?t:t instanceof Document?t.body:document.body}function xr(e){let t=Jn(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 em={base:"zylem-layer-base",panel:"zylem-layer-panel",modal:"zylem-layer-modal",popover:"zylem-layer-popover",tooltip:"zylem-layer-tooltip",menu:"zylem-layer-menu"},$n=Object.fromEntries(Object.entries(em).map(([e,t])=>[e,`var(--${t})`]));var im=tm("<span aria-hidden=true style=display:none>");var nl=am();function co(e){let[t,r]=rl(),o;return ol(()=>r(xr(o))),rm(nl.Provider,{value:{container:t},get children(){return[(()=>{var n=im(),i=o;return typeof i=="function"?nm(i,n):o=n,n})(),om(()=>e.children)]}})}function Z(e,t=0){let r=sm(nl),[o,n]=rl(),i;r||ol(()=>n(xr(i)));let a=lm(()=>{let l=typeof t=="function"?t():t,c=$n[e];return l?`calc(${c} + ${l})`:c});return{mount:r?r.container:o,zIndex:a,anchorRef:l=>{i=l}}}function dm(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 cm(e,t){let r=e.composedPath();return r.length>0?r.includes(t):dm(e,t)}function bt(){let e;return{ref:t=>{e=t},onInteractOutside:t=>{e&&cm(t.detail.originalEvent,e)&&t.preventDefault()}}}import{template as al}from"solid-js/web";import{createComponent as mm}from"solid-js/web";import{insert as _n}from"solid-js/web";import{spread as fm}from"solid-js/web";import{mergeProps as um}from"solid-js/web";import{memo as gm}from"solid-js/web";import{Show as bm,splitProps as hm}from"solid-js";var pm=al("<span class=zylem-button-icon aria-hidden=true>"),ym=al("<button type=button>");function de(e){let[t,r]=hm(e,["variant","size","class","children","icon"]);return(()=>{var o=ym();return fm(o,um({get class(){return gm(()=>!!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),_n(o,mm(bm,{get when(){return t.icon},get children(){var n=pm();return _n(n,()=>t.icon),n}}),null),_n(o,()=>t.children,null),o})()}import{createComponent as Yt}from"solid-js/web";import{memo as vm}from"solid-js/web";import{Button as xm,Tooltip as mo}from"@kobalte/core";import{Show as zm}from"solid-js";function Y(e){let t=Z("tooltip");return Yt(mo.Root,{openDelay:400,get children(){return[Yt(mo.Trigger,{as:"span",ref(r){var o=t.anchorRef;typeof o=="function"?o(r):t.anchorRef=r},get children(){return Yt(xm.Root,{get"aria-label"(){return e.label},get"aria-pressed"(){return e.pressed},get onClick(){return e.onClick},get disabled(){return e.disabled},get class(){return vm(()=>!!e.class)()?`zylem-toolbar-btn ${e.class}`:"zylem-toolbar-btn"},get"data-selected"(){return e.selected||e.pressed?"":void 0},get children(){return e.children}})}}),Yt(zm,{get when(){return t.mount()},keyed:!0,children:r=>Yt(mo.Portal,{mount:r,get children(){return Yt(mo.Content,{class:"zylem-tooltip",get children(){return e.label}})}})})]}})}import{createComponent as Fx}from"solid-js/web";import{memo as Yx}from"solid-js/web";import{TextField as Vx}from"@kobalte/core";import{createEffect as jx,createSignal as Nx,on as Zx,Show as Kx,splitProps as Wx}from"solid-js";import{template as Jx}from"solid-js/web";import{insert as _x}from"solid-js/web";import{createComponent as tz}from"solid-js/web";import{memo as oz}from"solid-js/web";import{NumberField as iz}from"@kobalte/core";import lz from"lucide-solid/icons/chevron-down";import dz from"lucide-solid/icons/chevron-up";import{Show as mz}from"solid-js";import{createComponent as gz}from"solid-js/web";import{memo as yz}from"solid-js/web";import{Select as hz}from"@kobalte/core";import xz from"lucide-solid/icons/chevron-down";import{Show as wz}from"solid-js";import{createComponent as Cz}from"solid-js/web";import{memo as Ez}from"solid-js/web";import{Checkbox as Tz}from"@kobalte/core";import Dz from"lucide-solid/icons/check";import{Show as Rz}from"solid-js";import{createComponent as Hz}from"solid-js/web";import{memo as Oz}from"solid-js/web";import{Switch as Qz}from"@kobalte/core";import{Show as Uz}from"solid-js";import{template as Zz}from"solid-js/web";import{insert as Wz}from"solid-js/web";import{createComponent as qz}from"solid-js/web";import{memo as $z}from"solid-js/web";import{Slider as e0}from"@kobalte/core";import{Show as r0}from"solid-js";import{template as fo}from"solid-js/web";import{delegateEvents as wm}from"solid-js/web";import{setAttribute as km}from"solid-js/web";import{effect as Am}from"solid-js/web";import{insert as ll}from"solid-js/web";import{createComponent as ht}from"solid-js/web";import{memo as uo}from"solid-js/web";import{Tabs as go}from"@kobalte/core";import Im from"lucide-solid/icons/x";import{Show as sl}from"solid-js";var Sm=fo("<span class=zylem-tabs-trigger-label>"),Cm=fo('<span class=zylem-tabs-dirty aria-hidden=true title="Unsaved changes">'),Pm=fo("<span class=zylem-visually-hidden>(unsaved changes)"),Em=fo("<span class=zylem-tabs-close aria-hidden=true>");function po(e){return ht(go.Root,{get class(){return uo(()=>!!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 dl(e){return ht(go.List,{get class(){return uo(()=>!!e.class)()?`zylem-tabs-list ${e.class}`:"zylem-tabs-list"},get children(){return e.children}})}function cl(e){let t=o=>{o.stopPropagation(),o.preventDefault(),e.onClose?.()},r=o=>{if(!e.onClose||o.key!=="Delete"&&o.key!=="Backspace")return;let n=o.currentTarget,i=n.closest('[role="tablist"]');t(o),queueMicrotask(()=>{n.isConnected||i?.querySelector('[role="tab"][aria-selected="true"]')?.focus()})};return ht(go.Trigger,{get class(){return uo(()=>!!e.class)()?`zylem-tabs-trigger ${e.class}`:"zylem-tabs-trigger"},get value(){return e.value},get disabled(){return e.disabled},get"aria-keyshortcuts"(){return e.onClose?"Delete Backspace":void 0},onKeyDown:r,get children(){return[(()=>{var o=Sm();return ll(o,()=>e.children),o})(),ht(sl,{get when(){return e.dirty},get children(){return[Cm(),Pm()]}}),ht(sl,{get when(){return e.onClose},get children(){var o=Em();return o.$$pointerdown=n=>n.stopPropagation(),o.$$click=t,ll(o,ht(Im,{})),Am(()=>km(o,"title",e.closeLabel??"Close tab")),o}})]}})}function ml(e){return ht(go.Content,{get class(){return uo(()=>!!e.class)()?`zylem-tabs-content ${e.class}`:"zylem-tabs-content"},get value(){return e.value},get children(){return e.children}})}po.List=dl;po.Trigger=cl;po.Content=ml;wm(["click","pointerdown"]);import{createComponent as v0}from"solid-js/web";import{memo as z0}from"solid-js/web";import{Accordion as k0}from"@kobalte/core";import S0 from"lucide-solid/icons/chevron-down";import{For as P0}from"solid-js";import{createComponent as Tm}from"solid-js/web";import{Dynamic as Bm}from"solid-js/web";function fl(e){return`h${e}`}function zr(e){return Tm(Bm,{get component(){return fl(e.level)},get id(){return e.id},get class(){return e.class},get title(){return e.title},get children(){return e.children}})}import{createComponent as wr}from"solid-js/web";import"solid-js/web";import{Tooltip as yo}from"@kobalte/core";import{Show as Dm}from"solid-js";function vt(e){let t=Z("tooltip");return wr(yo.Root,{get placement(){return e.placement},get openDelay(){return e.openDelay??400},get children(){return[wr(yo.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}}),wr(Dm,{get when(){return t.mount()},children:r=>wr(yo.Portal,{get mount(){return r()},get children(){return wr(yo.Content,{class:"zylem-tooltip",get children(){return e.content}})}})})]}})}import{template as F0}from"solid-js/web";import"solid-js/web";import{insert as V0}from"solid-js/web";import{createComponent as j0}from"solid-js/web";import{DropdownMenu as Z0}from"@kobalte/core";import W0 from"lucide-solid/icons/check";import{For as q0,Show as J0}from"solid-js";import{createComponent as tw}from"solid-js/web";import{memo as ow}from"solid-js/web";import{Menubar as iw}from"@kobalte/core";import{For as lw,Show as sw}from"solid-js";import{template as Sw}from"solid-js/web";import{delegateEvents as Vm}from"solid-js/web";import{className as Ew}from"solid-js/web";import{effect as Tw}from"solid-js/web";import{insert as Dw}from"solid-js/web";import{setAttribute as Rw}from"solid-js/web";import{createComponent as Gw}from"solid-js/web";import{memo as Fw}from"solid-js/web";import{use as Yw}from"solid-js/web";import{createUniqueId as Vw,onCleanup as Uw,onMount as jw,Show as Nw}from"solid-js";import{Portal as Kw}from"solid-js/web";import{template as ti}from"solid-js/web";import{delegateEvents as Rm}from"solid-js/web";import{createComponent as Qt}from"solid-js/web";import{setAttribute as kr}from"solid-js/web";import{effect as ul}from"solid-js/web";import{insert as bo}from"solid-js/web";import{memo as Lm}from"solid-js/web";import{Show as ei}from"solid-js";import Om from"lucide-solid/icons/chevron-down";import Ym from"lucide-solid/icons/chevron-up";import Qm from"lucide-solid/icons/x";var Gm=ti('<button type=button class="zylem-window-control zylem-window-control--collapse">'),Hm=ti('<button type=button class="zylem-window-control zylem-window-control--close">'),Fm=ti('<div class=zylem-window-controls role=group aria-label="Window controls">');function xt(e){return Qt(ei,{get when(){return e.onClose||e.onCollapse},get children(){var t=Fm();return bo(t,Qt(ei,{get when(){return e.onCollapse},get children(){var r=Gm();return r.$$click=()=>e.onCollapse?.(),bo(r,(()=>{var o=Lm(()=>!!e.collapsed);return()=>o()?Qt(Ym,{size:11,strokeWidth:2.5,"aria-hidden":"true"}):Qt(Om,{size:11,strokeWidth:2.5,"aria-hidden":"true"})})()),ul(o=>{var n=e.collapsed?"Expand panel":"Collapse panel",i=e.collapsed?"Expand panel":"Collapse panel";return n!==o.e&&kr(r,"aria-label",o.e=n),i!==o.t&&kr(r,"title",o.t=i),o},{e:void 0,t:void 0}),r}}),null),bo(t,Qt(ei,{get when(){return e.onClose},get children(){var r=Hm();return r.$$click=()=>e.onClose?.(),bo(r,Qt(Qm,{size:11,strokeWidth:2.5,"aria-hidden":"true"})),ul(o=>{var n=e.closeLabel??"Close panel",i=e.closeLabel??"Close panel",a=e.closeTestId;return n!==o.e&&kr(r,"aria-label",o.e=n),i!==o.t&&kr(r,"title",o.t=i),a!==o.a&&kr(r,"data-testid",o.a=a),o},{e:void 0,t:void 0,a:void 0}),r}}),null),t}})}Rm(["click"]);Vm(["click"]);import{template as _w}from"solid-js/web";import{insert as t1}from"solid-js/web";import{createComponent as o1}from"solid-js/web";import{memo as i1}from"solid-js/web";import{Progress as l1}from"@kobalte/core";import{Show as d1}from"solid-js";import{template as f1}from"solid-js/web";import{setAttribute as g1}from"solid-js/web";import{className as y1}from"solid-js/web";import{effect as h1}from"solid-js/web";import{insert as x1}from"solid-js/web";import{template as k1}from"solid-js/web";import{setAttribute as S1}from"solid-js/web";import{className as P1}from"solid-js/web";import{effect as I1}from"solid-js/web";import{createComponent as B1}from"solid-js/web";import{insert as M1}from"solid-js/web";import{Show as L1}from"solid-js";import{template as F1}from"solid-js/web";import{createComponent as Y1}from"solid-js/web";import{setAttribute as V1}from"solid-js/web";import{className as j1}from"solid-js/web";import{effect as Z1}from"solid-js/web";import{insert as W1}from"solid-js/web";import{Show as q1}from"solid-js";import{createComponent as _1}from"solid-js/web";import{memo as tk}from"solid-js/web";import{Separator as ok}from"@kobalte/core";import{template as ak}from"solid-js/web";import{insert as sk}from"solid-js/web";import{createComponent as ck}from"solid-js/web";import"solid-js/web";import{spread as gk}from"solid-js/web";import{mergeProps as yk}from"solid-js/web";import{Show as hk,splitProps as vk}from"solid-js";import{template as Ak}from"solid-js/web";import{className as Ck}from"solid-js/web";import{effect as Ek}from"solid-js/web";import{insert as Tk}from"solid-js/web";import{createComponent as Dk}from"solid-js/web";import"solid-js/web";import{spread as Gk}from"solid-js/web";import{mergeProps as Fk}from"solid-js/web";import{Show as Yk,splitProps as Qk}from"solid-js";import{template as Nk}from"solid-js/web";import{insert as Kk}from"solid-js/web";import{spread as Xk}from"solid-js/web";import{mergeProps as Jk}from"solid-js/web";import"solid-js/web";import{splitProps as tA}from"solid-js";import{template as ri}from"solid-js/web";import{delegateEvents as Um}from"solid-js/web";import{createComponent as jm}from"solid-js/web";import{style as lA}from"solid-js/web";import{className as gl}from"solid-js/web";import{effect as pl}from"solid-js/web";import{insert as ho}from"solid-js/web";import{Show as Wm,createMemo as Xm}from"solid-js";var Nm=ri('<button type=button title="Click to reveal full path">'),Zm=ri("<div class=zylem-property-row><span class=zylem-property-label>"),Km=ri("<span>");function qm(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 Jm(e){return e.includes("/")||e.includes("\\")||/^[A-Za-z]:/.test(e)||e.startsWith(".")||e.startsWith("~")}function oi(e){let t=Xm(()=>{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??Jm(r)){let{truncated:n,isTruncated:i}=qm(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=Zm(),o=r.firstChild;return ho(o,()=>e.label),ho(r,jm(Wm,{get when(){return t().isClickable},get fallback(){return(()=>{var n=Km();return ho(n,()=>t().element),pl(()=>gl(n,`zylem-property-value ${e.valueClass??""}`)),n})()},get children(){var n=Nm();return n.$$click=()=>{let i=t().fullValue;i&&e.onPathClick?.(i)},ho(n,()=>t().element),pl(()=>gl(n,`zylem-property-value zylem-property-value--clickable ${e.valueClass??""}`)),n}}),null),r})()}Um(["click"]);import{template as vl}from"solid-js/web";import{delegateEvents as $m}from"solid-js/web";import{className as _m}from"solid-js/web";import{insert as ni}from"solid-js/web";import{createComponent as ii}from"solid-js/web";import"solid-js/web";import{setAttribute as yl}from"solid-js/web";import{effect as bl}from"solid-js/web";import{Show as hl}from"solid-js";var ef=vl("<div class=zylem-console-actions>"),tf=vl('<div><div class=zylem-console-wrapper><textarea class="zylem-console zylem-scroll">');function ai(e){return(()=>{var t=tf(),r=t.firstChild,o=r.firstChild;return o.$$input=n=>e.onInput?.(n.currentTarget.value),yl(o,"spellcheck",!1),ni(r,ii(hl,{get when(){return e.onClear||e.actions},get children(){var n=ef();return ni(n,()=>e.actions,null),ni(n,ii(hl,{get when(){return e.onClear},get children(){return ii(de,{size:"sm",variant:"ghost",onClick:()=>e.onClear?.(),children:"Clear"})}}),null),n}}),null),bl(n=>{var i=e.class?`zylem-console-container ${e.class}`:"zylem-console-container",a=e.label??"Console",l=e.readOnly||!e.onInput;return i!==n.e&&_m(t,n.e=i),a!==n.t&&yl(o,"aria-label",n.t=a),l!==n.a&&(o.readOnly=n.a=l),n},{e:void 0,t:void 0,a:void 0}),bl(()=>o.value=e.value),t})()}$m(["input"]);import{template as zl}from"solid-js/web";import{spread as rf}from"solid-js/web";import{setAttribute as xl}from"solid-js/web";import{className as of}from"solid-js/web";import{effect as nf}from"solid-js/web";import{insert as li}from"solid-js/web";import{createComponent as si}from"solid-js/web";import{mergeProps as wl}from"solid-js/web";import{memo as af}from"solid-js/web";import{createUniqueId as df,Show as cf,splitProps as kl}from"solid-js";import{Dynamic as mf}from"solid-js/web";var lf=zl("<div>"),sf=zl("<button type=button>");function di(e){let[t,r]=kl(e,["children","class","borderless","as"]);return si(mf,wl({get component(){return t.as??"aside"},get class(){return["sidebar","zylem-scroll",t.borderless?"sidebar--borderless":"",t.class??""].filter(Boolean).join(" ")}},r,{get children(){return t.children}}))}function Al(e){let t=df();return(()=>{var r=lf();return li(r,si(cf,{get when(){return e.title},get children(){return si(zr,{get level(){return e.headingLevel??2},id:t,class:"sidebar-section-title",get children(){return e.title}})}}),null),li(r,()=>e.children,null),nf(o=>{var n=e.class?`sidebar-section ${e.class}`:"sidebar-section",i=e.title?"group":void 0,a=e.title?t:void 0;return n!==o.e&&of(r,o.e=n),i!==o.t&&xl(r,"role",o.t=i),a!==o.a&&xl(r,"aria-labelledby",o.a=a),o},{e:void 0,t:void 0,a:void 0}),r})()}function Sl(e){let[t,r]=kl(e,["active","children","class"]);return(()=>{var o=sf();return rf(o,wl({get class(){return af(()=>!!t.class)()?`sidebar-item ${t.class}`:"sidebar-item"},get"data-active"(){return t.active?"":void 0},get"aria-current"(){return t.active?"true":void 0}},r),!1,!0),li(o,()=>t.children),o})()}di.Section=Al;di.Item=Sl;import{template as OA}from"solid-js/web";import{delegateEvents as ff}from"solid-js/web";import{createComponent as VA}from"solid-js/web";import{insert as jA}from"solid-js/web";import{spread as ZA}from"solid-js/web";import{mergeProps as WA}from"solid-js/web";import{memo as qA}from"solid-js/web";import{Show as $A,splitProps as _A}from"solid-js";ff(["keydown"]);import{template as ui}from"solid-js/web";import{delegateEvents as uf}from"solid-js/web";import{use as gf}from"solid-js/web";import{setAttribute as ci}from"solid-js/web";import{className as pf}from"solid-js/web";import{effect as Cl}from"solid-js/web";import{insert as mi}from"solid-js/web";import{memo as Pl}from"solid-js/web";import{createComponent as Be}from"solid-js/web";import{Popover as Ar}from"@kobalte/core";import vf from"lucide-solid/icons/circle-chevron-down";import{Show as fi,createSignal as xf}from"solid-js";var yf=ui("<div>"),bf=ui('<span class="zylem-menu-button__chevron zylem-menu-button__chevron--static"aria-hidden=true>'),hf=ui('<button type=button class="zylem-toolbar-btn zylem-menu-button__face">');function El(){return Be(vf,{"aria-hidden":"true"})}function gi(e){let[t,r]=xf(!1),o=Z("menu"),n=bt(),i=()=>e.open??t(),a=g=>{r(g),e.onOpenChange?.(g)},l=()=>e.onAction!==void 0,c=()=>e.tooltip===null?null:e.tooltip??e.label,s=()=>(e.placement??"bottom-start").startsWith("top")?"bottom":"top",v=g=>Be(fi,{get when(){return c()},fallback:g,keyed:!0,children:d=>Be(vt,{content:d,get placement(){return s()},children:g})});return(()=>{var g=yf();return mi(g,Be(Ar.Root,{get open(){return i()},onOpenChange:a,get placement(){return e.placement??"bottom-start"},get children(){return[Be(fi,{get when(){return l()},get fallback(){return v(Be(Ar.Trigger,{ref(d){var y=o.anchorRef;typeof y=="function"?y(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[Pl(()=>e.children),(()=>{var d=bf();return mi(d,Be(El,{})),d})()]}}))},get children(){return[Pl(()=>v((()=>{var d=hf();d.$$click=()=>e.onAction?.();var y=o.anchorRef;return typeof y=="function"?gf(y,d):o.anchorRef=d,mi(d,()=>e.children),Cl(x=>{var f=e.label,h=e.disabled,m=e.selected?"":void 0;return f!==x.e&&ci(d,"aria-label",x.e=f),h!==x.t&&(d.disabled=x.t=h),m!==x.a&&ci(d,"data-selected",x.a=m),x},{e:void 0,t:void 0,a:void 0}),d})())),Be(Ar.Trigger,{class:"zylem-menu-button__chevron",get"aria-label"(){return`${e.label} options`},get disabled(){return e.disabled},get children(){return Be(El,{})}})]}}),Be(fi,{get when(){return o.mount()},keyed:!0,children:d=>Be(Ar.Portal,{mount:d,get children(){return Be(Ar.Content,{ref(y){var x=n.ref;typeof x=="function"?x(y):n.ref=y},class:"zylem-menu-button__panel",get"aria-label"(){return e.label},get onInteractOutside(){return n.onInteractOutside},get children(){return e.menu(()=>a(!1))}})}})})]}})),Cl(d=>{var y=e.class?`zylem-menu-button ${e.class}`:"zylem-menu-button",x=l()?"":void 0;return y!==d.e&&pf(g,d.e=y),x!==d.t&&ci(g,"data-split",d.t=x),d},{e:void 0,t:void 0}),g})()}uf(["click"]);import{template as wt}from"solid-js/web";import{delegateEvents as Tf}from"solid-js/web";import{setAttribute as Sr}from"solid-js/web";import{className as Bf}from"solid-js/web";import{effect as hi}from"solid-js/web";import{insert as Je}from"solid-js/web";import{createComponent as zt}from"solid-js/web";import"solid-js/web";import{For as Dl,Show as vo,createMemo as Of,createSignal as Yf,createUniqueId as Qf}from"solid-js";import{template as zf}from"solid-js/web";import{delegateEvents as wf}from"solid-js/web";import{setAttribute as Il}from"solid-js/web";import{className as kf}from"solid-js/web";import{insert as Af}from"solid-js/web";import{addEventListener as Sf}from"solid-js/web";import{effect as Tl}from"solid-js/web";import{use as Cf}from"solid-js/web";import{createComponent as Pf}from"solid-js/web";import If from"lucide-solid/icons/search";var Ef=zf('<div><input type=search class="zylem-field zylem-search-input">');function pi(e){return(()=>{var t=Ef(),r=t.firstChild;Af(t,Pf(If,{class:"zylem-search-icon","aria-hidden":"true"}),r),Sf(r,"keydown",e.onKeyDown,!0),r.$$input=n=>e.onInput?.(n.currentTarget.value);var o=e.ref;return typeof o=="function"?Cf(o,r):e.ref=r,Tl(n=>{var i=e.class?`zylem-search ${e.class}`:"zylem-search",a=e.placeholder??"Search...",l=e["aria-label"]??e.placeholder??"Search";return i!==n.e&&kf(t,n.e=i),a!==n.t&&Il(r,"placeholder",n.t=a),l!==n.a&&Il(r,"aria-label",n.a=l),n},{e:void 0,t:void 0,a:void 0}),Tl(()=>r.value=e.value??""),t})()}wf(["input","keydown"]);var Bl="Other";function yi(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 bi(e){let t=[],r=new Map;for(let o of e){let n=o.group??Bl,i=r.get(n);i||(i=[],r.set(n,i),t.push({group:n,items:i})),i.push(o)}return t}var Df=wt('<div class="zylem-picker__groups zylem-scroll">'),Mf=wt("<div>"),Rf=wt("<p class=zylem-picker__empty>"),Lf=wt("<p class=zylem-picker__empty>No matches for \u201C<!>\u201D."),Gf=wt("<div class=zylem-picker__group role=group><div class=zylem-picker__group-title>"),Hf=wt("<button type=button class=zylem-picker__item><span class=zylem-picker__item-label>"),Ff=wt("<span class=zylem-picker__item-glyph aria-hidden=true>");function vi(e){let[t,r]=Yf(""),o=()=>e.searchable!==!1,n=Of(()=>bi(yi(e.items,t()))),i=a=>e.selectedId===void 0?void 0:e.selectedId===a.id;return(()=>{var a=Mf();return Je(a,zt(vo,{get when(){return o()},get children(){return zt(pi,{class:"zylem-picker__search",get value(){return t()},onInput:r,get placeholder(){return e.searchPlaceholder??"Search\u2026"},ref:l=>{e.autoFocus!==!1&&queueMicrotask(()=>l.focus())}})}}),null),Je(a,zt(vo,{get when(){return e.items.length},get fallback(){return(()=>{var l=Rf();return Je(l,()=>e.emptyMessage??"Nothing to choose from."),l})()},get children(){return zt(vo,{get when(){return n().length},get fallback(){return(()=>{var l=Lf(),c=l.firstChild,s=c.nextSibling,v=s.nextSibling;return Je(l,t,s),l})()},get children(){var l=Df();return Je(l,zt(Dl,{get each(){return n()},children:c=>{let s=Qf();return(()=>{var v=Gf(),g=v.firstChild;return Sr(v,"aria-labelledby",s),Sr(g,"id",s),Je(g,()=>c.group),Je(v,zt(Dl,{get each(){return c.items},children:d=>(()=>{var y=Hf(),x=y.firstChild;return y.$$click=()=>e.onSelect(d),Je(y,zt(vo,{get when(){return d.icon},children:f=>(()=>{var h=Ff();return hi(()=>h.innerHTML=f()),h})()}),x),Je(x,()=>d.label),hi(f=>{var h=d.disabled,m=e.selectedId===d.id?"":void 0,b=i(d),z=d.description;return h!==f.e&&(y.disabled=f.e=h),m!==f.t&&Sr(y,"data-selected",f.t=m),b!==f.a&&Sr(y,"aria-pressed",f.a=b),z!==f.o&&Sr(y,"title",f.o=z),f},{e:void 0,t:void 0,a:void 0,o:void 0}),y})()}),null),v})()}})),l}})}}),null),hi(()=>Bf(a,e.class?`zylem-picker ${e.class}`:"zylem-picker")),a})()}Tf(["click"]);import{template as US}from"solid-js/web";import{className as NS}from"solid-js/web";import{effect as KS}from"solid-js/web";import{createComponent as XS}from"solid-js/web";import{insert as JS}from"solid-js/web";import{Show as _S}from"solid-js";import{template as r2}from"solid-js/web";import{insert as n2}from"solid-js/web";import{spread as a2}from"solid-js/web";import{mergeProps as s2}from"solid-js/web";import{memo as c2}from"solid-js/web";import{splitProps as f2}from"solid-js";import{template as p2}from"solid-js/web";import{className as b2}from"solid-js/web";import{effect as v2}from"solid-js/web";import{insert as z2}from"solid-js/web";import{template as I2}from"solid-js/web";import{effect as B2}from"solid-js/web";import{insert as M2}from"solid-js/web";import{setAttribute as L2}from"solid-js/web";import{createMemo as H2,onMount as F2}from"solid-js";var xi="zylem-build-label";var S2=`
|
|
8
|
+
#${xi} {
|
|
9
9
|
position: fixed;
|
|
10
10
|
top: 10px;
|
|
11
11
|
right: 12px;
|
|
@@ -26,12 +26,12 @@ import{getZylemBridge as wd}from"@zylem/bridge";var{channel:R}=wd();function Ct(
|
|
|
26
26
|
user-select: none;
|
|
27
27
|
white-space: nowrap;
|
|
28
28
|
}
|
|
29
|
-
`;import{template as QS}from"solid-js/web";import{insert as US}from"solid-js/web";import{spread as NS}from"solid-js/web";import{mergeProps as KS}from"solid-js/web";import{memo as XS}from"solid-js/web";import{splitProps as JS}from"solid-js";import{template as t2}from"solid-js/web";import{delegateEvents as Tf}from"solid-js/web";import{setStyleProperty as n2}from"solid-js/web";import{className as a2}from"solid-js/web";import{effect as s2}from"solid-js/web";import{memo as c2}from"solid-js/web";import{addEventListener as f2}from"solid-js/web";import{insert as p2}from"solid-js/web";import{createComponent as y2}from"solid-js/web";import{For as h2,Show as x2,onCleanup as v2}from"solid-js";Tf(["pointerdown"]);import{template as P2}from"solid-js/web";import{insert as I2}from"solid-js/web";import{spread as B2}from"solid-js/web";import{mergeProps as M2}from"solid-js/web";import{memo as L2}from"solid-js/web";import{splitProps as H2}from"solid-js";import{createComponent as Y2}from"solid-js/web";import{memo as V2}from"solid-js/web";import j2 from"lucide-solid/icons/circle";import Z2 from"lucide-solid/icons/eraser";import W2 from"lucide-solid/icons/hand";import q2 from"lucide-solid/icons/paint-bucket";import $2 from"lucide-solid/icons/pencil";import eC from"lucide-solid/icons/pipette";import rC from"lucide-solid/icons/square";import nC from"lucide-solid/icons/square-dashed";import{Dynamic as aC}from"solid-js/web";import{template as cC}from"solid-js/web";import{delegateEvents as Bf}from"solid-js/web";import{setAttribute as uC}from"solid-js/web";import{className as gC}from"solid-js/web";import{effect as bC}from"solid-js/web";import{insert as xC}from"solid-js/web";import{createComponent as zC}from"solid-js/web";import{addEventListener as AC}from"solid-js/web";import SC from"lucide-solid/icons/plus";import{Show as PC}from"solid-js";Bf(["click"]);import{template as TC}from"solid-js/web";import{delegateEvents as Mf}from"solid-js/web";import{insert as MC}from"solid-js/web";import{createComponent as LC}from"solid-js/web";import"solid-js/web";import{setAttribute as OC}from"solid-js/web";import{style as QC}from"solid-js/web";import{className as UC}from"solid-js/web";import{effect as NC}from"solid-js/web";import{addEventListener as KC}from"solid-js/web";import{For as XC,Show as qC}from"solid-js";Mf(["click"]);import{template as eP}from"solid-js/web";import{delegateEvents as Rf}from"solid-js/web";import{className as oP}from"solid-js/web";import{addEventListener as iP}from"solid-js/web";import{setAttribute as lP}from"solid-js/web";import{effect as dP}from"solid-js/web";import{createComponent as mP}from"solid-js/web";import{insert as uP}from"solid-js/web";import{spread as gP}from"solid-js/web";import{mergeProps as bP}from"solid-js/web";import{memo as xP}from"solid-js/web";import zP from"lucide-solid/icons/arrow-left-to-line";import AP from"lucide-solid/icons/arrow-right-to-line";import SP from"lucide-solid/icons/chevron-left";import PP from"lucide-solid/icons/chevron-right";import IP from"lucide-solid/icons/copy";import BP from"lucide-solid/icons/trash-2";import{Show as MP,splitProps as RP}from"solid-js";Rf(["click"]);import{template as OP}from"solid-js/web";import{className as QP}from"solid-js/web";import{effect as UP}from"solid-js/web";import{insert as NP}from"solid-js/web";import{createComponent as KP}from"solid-js/web";import{memo as XP}from"solid-js/web";import JP from"lucide-solid/icons/fast-forward";import _P from"lucide-solid/icons/pause";import tE from"lucide-solid/icons/play";import oE from"lucide-solid/icons/repeat";import iE from"lucide-solid/icons/rewind";import{Show as lE}from"solid-js";import{template as uE}from"solid-js/web";import{delegateEvents as Ff}from"solid-js/web";import{setAttribute as yE}from"solid-js/web";import{setStyleProperty as hE}from"solid-js/web";import{className as vE}from"solid-js/web";import{effect as wE}from"solid-js/web";import{insert as kE}from"solid-js/web";import{createComponent as CE}from"solid-js/web";import"solid-js/web";import{Slider as TE}from"@kobalte/core";import{For as DE,Show as ME,createMemo as RE}from"solid-js";Ff(["pointerdown","click"]);import{template as FE}from"solid-js/web";import{spread as YE}from"solid-js/web";import{mergeProps as VE}from"solid-js/web";import{createComponent as jE}from"solid-js/web";import{insert as ZE}from"solid-js/web";import{memo as WE}from"solid-js/web";import{Button as qE}from"@kobalte/core";import{Show as $E,splitProps as _E}from"solid-js";import{template as oI}from"solid-js/web";import{delegateEvents as Qf}from"solid-js/web";import{memo as aI}from"solid-js/web";import{addEventListener as sI}from"solid-js/web";import{setAttribute as cI}from"solid-js/web";import{className as fI}from"solid-js/web";import{setStyleProperty as pI}from"solid-js/web";import{effect as yI}from"solid-js/web";import{createComponent as hI}from"solid-js/web";import{insert as vI}from"solid-js/web";import{use as wI}from"solid-js/web";import{createContext as Vf,createMemo as kI,createSignal as SI,For as CI,Show as PI,splitProps as EI,useContext as II}from"solid-js";var BI=Vf();Qf(["pointerdown","dblclick"]);import{template as RI}from"solid-js/web";import{delegateEvents as Uf}from"solid-js/web";import{setStyleProperty as HI}from"solid-js/web";import{className as OI}from"solid-js/web";import{memo as QI}from"solid-js/web";import{setAttribute as UI}from"solid-js/web";import{use as NI}from"solid-js/web";import{effect as KI}from"solid-js/web";import{createComponent as XI}from"solid-js/web";import{insert as JI}from"solid-js/web";import _I from"lucide-solid/icons/lock";import tT from"lucide-solid/icons/lock-open";import{createSignal as oT,Show as nT}from"solid-js";Uf(["pointerdown","input","keydown","click","dblclick"]);import{template as mT}from"solid-js/web";import{delegateEvents as Wf}from"solid-js/web";import{addEventListener as pT}from"solid-js/web";import{setAttribute as yT}from"solid-js/web";import{className as hT}from"solid-js/web";import{setStyleProperty as vT}from"solid-js/web";import{effect as wT}from"solid-js/web";import{insert as kT}from"solid-js/web";import{createComponent as CT}from"solid-js/web";import{use as ET}from"solid-js/web";import{createMemo as TT,createSignal as BT,For as DT,Index as MT,Show as RT}from"solid-js";Wf(["keydown","pointerdown","dblclick"]);import{template as OT}from"solid-js/web";import{delegateEvents as Xf}from"solid-js/web";import{setStyleProperty as VT}from"solid-js/web";import{setAttribute as jT}from"solid-js/web";import{className as ZT}from"solid-js/web";import{effect as WT}from"solid-js/web";import{createComponent as qT}from"solid-js/web";import{insert as $T}from"solid-js/web";import{createSignal as e5,Show as t5}from"solid-js";Xf(["pointerdown","keydown","dblclick"]);import{template as i5}from"solid-js/web";import{delegateEvents as Jf}from"solid-js/web";import{setStyleProperty as s5}from"solid-js/web";import{className as c5}from"solid-js/web";import{setAttribute as f5}from"solid-js/web";import{effect as p5}from"solid-js/web";import{insert as y5}from"solid-js/web";import{createComponent as h5}from"solid-js/web";import"solid-js/web";import{Slider as w5}from"@kobalte/core";import{Show as k5}from"solid-js";Jf(["pointerdown","click"]);import{template as T5}from"solid-js/web";import{delegateEvents as eu}from"solid-js/web";import{addEventListener as M5}from"solid-js/web";import{setAttribute as L5}from"solid-js/web";import{className as H5}from"solid-js/web";import{insert as O5}from"solid-js/web";import{setStyleProperty as Q5}from"solid-js/web";import{effect as U5}from"solid-js/web";import{createComponent as N5}from"solid-js/web";import{memo as K5}from"solid-js/web";import{use as X5}from"solid-js/web";import{createEffect as J5,createMemo as $5,createSignal as _5,onCleanup as eB,onMount as tB,Show as rB}from"solid-js";eu(["pointerdown"]);import{template as lB}from"solid-js/web";import{setAttribute as dB}from"solid-js/web";import{className as mB}from"solid-js/web";import{effect as uB}from"solid-js/web";import{insert as gB}from"solid-js/web";import{memo as bB}from"solid-js/web";import{createComponent as xB}from"solid-js/web";import zB from"lucide-solid/icons/square";import{Show as AB}from"solid-js";import{template as au}from"solid-js/web";import{insert as lu}from"solid-js/web";import{createComponent as Dl}from"solid-js/web";import{spread as su}from"solid-js/web";import{mergeProps as Ml}from"solid-js/web";import"solid-js/web";import{For as cu,splitProps as mu}from"solid-js";import{Dynamic as fu}from"solid-js/web";var du=au("<svg>"),uu={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function pu(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Je(e,t){return o=>{let[n,i]=mu(o,["color","size","strokeWidth","class","absoluteStrokeWidth"]),a=()=>n.size??24,l=()=>{let s=Number(n.strokeWidth??2);return n.absoluteStrokeWidth?s*24/Number(a()):s},d=()=>["zylem-icon",`zylem-icon-${pu(e)}`,n.class].filter(s=>!!s).join(" ");return(()=>{var s=du();return su(s,Ml(uu,{get width(){return a()},get height(){return a()},get stroke(){return n.color??"currentColor"},get"stroke-width"(){return l()},get class(){return d()},"aria-hidden":"true"},i),!0,!0),lu(s,Dl(cu,{each:t,children:([p,c])=>Dl(fu,Ml({component:p},c))})),s})()}}var bi=[["rect",{x:"2",y:"8",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10 4-2v8l-4-2"}],["path",{d:"m18 7 4-3m-4 13 4 3"}]],hi=[["rect",{x:"2",y:"8",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10 4-2v8l-4-2"}],["path",{d:"M18 6h4v12h-4"}]],xi=[["rect",{x:"8",y:"2",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10-2 4h8l-2-4"}],["path",{d:"M6 18v4h12v-4"}]],vi=[["rect",{x:"7",y:"9",width:"7",height:"6",rx:"1"}],["path",{d:"m14 11 3-2v6l-3-2"}],["path",{d:"M3 8a9 9 0 0 1 15-3"}],["path",{d:"M18 2v3h-3"}],["path",{d:"M21 16a9 9 0 0 1-15 3"}],["path",{d:"M6 22v-3h3"}]],zi=[["path",{d:"M11.549 11.368 2 5.855"}],["path",{d:"M11.549 19.944 11.549 17.252"}],["path",{d:"M11.549 14.06 11.549 11.368"}],["path",{d:"M11.549 19.944 2 14.431"}],["path",{d:"M2 14.431 2 5.855"}],["path",{d:"M2 5.855 6.775 3.098"}],["path",{d:"M6.775 3.098 16.324 8.611"}],["path",{d:"M11.549 11.368 16.324 8.611"}],["path",{d:"M16.324 8.611 16.324 11.151"}],["path",{d:"M13.749 18.674 11.549 19.944"}],["path",{d:"M15.887 10.899 21.192 13.962"}],["path",{d:"M11.986 17.656 17.291 20.719"}],["path",{d:"M15.887 10.899A3.901 2.252 -60 0 0 11.986 17.656"}],["path",{d:"M21.192 13.962A3.901 2.252 -60 1 1 17.291 20.719A3.901 2.252 -60 1 1 21.192 13.962Z"}]],wi=[["rect",{x:"2",y:"6",width:"16",height:"12",rx:"2"}],["path",{d:"m18 10 4-3v10l-4-3"}],["path",{d:"M6 12h4m-2-2v4"}],["path",{d:"M14 10h.01M14 14h.01"}]];var Ai=Je("Perspective",bi),ki=Je("SideviewPerspective",hi),Si=Je("TopDownPerspective",xi),Ci=Je("IsometricPerspective",zi),Pi=Je("FreePerspective",vi),Ei=Je("GameCamera",wi);import{createMemo as ld,createSignal as Lo,For as Iy,onCleanup as Ty,onMount as By,Show as ta}from"solid-js";import{render as Dy}from"solid-js/web";import{template as pe}from"solid-js/web";import{delegateEvents as Gu}from"solid-js/web";import{style as _e}from"solid-js/web";import{addEventListener as st}from"solid-js/web";import{setStyleProperty as Ft}from"solid-js/web";import{use as Nl}from"solid-js/web";import"solid-js/web";import{createComponent as dt}from"solid-js/web";import{setAttribute as Mi}from"solid-js/web";import{effect as Ae}from"solid-js/web";import{insert as ke}from"solid-js/web";import{createEffect as $u,createSignal as Ri,onCleanup as Zl,onMount as _u,Show as Cr}from"solid-js";import{template as Bi}from"solid-js/web";import{delegateEvents as yu}from"solid-js/web";import{setAttribute as bo}from"solid-js/web";import{setStyleProperty as Ar}from"solid-js/web";import{effect as Ii}from"solid-js/web";import{memo as bu}from"solid-js/web";import{insert as ho}from"solid-js/web";import{createComponent as kr}from"solid-js/web";import{use as Ti}from"solid-js/web";import{PanelBottom as zu,PanelLeft as wu,PanelRight as Hl,PanelTop as Au}from"lucide-solid";import{createEffect as ku,createSignal as Rl,For as Su,onCleanup as Cu,Show as Pu}from"solid-js";import{Dynamic as Ll,Portal as Eu}from"solid-js/web";var hu=Bi('<div role=menu aria-label="Dock panel to edge"style="position:fixed;display:flex;gap:6px;padding:6px;border-radius:6px;border:1px solid rgba(255, 255, 255, 0.25);background:rgba(10, 20, 30, 0.92);box-shadow:0 4px 14px rgba(0, 0, 0, 0.45);pointer-events:auto">'),xu=Bi('<div style=display:inline-flex><button type=button class=floating-panel-button title="Dock panel"aria-label="Dock panel"aria-haspopup=true data-testid=dock-menu-trigger>'),vu=Bi("<button type=button role=menuitem class=floating-panel-button>"),Gl=[{side:"left",label:"Dock to left",icon:wu},{side:"top",label:"Dock to top",icon:Au},{side:"bottom",label:"Dock to bottom",icon:zu},{side:"right",label:"Dock to right",icon:Hl}],Fl=e=>{let[t,r]=Rl(!1),[o,n]=Rl({top:0,right:0}),i=K("menu"),a,l,d,s=g=>{a=g,i.anchorRef(g)},p=()=>Gl.find(g=>g.side===e.dockedSide())?.icon??Hl,c=()=>{if(!l)return;let g=l.getBoundingClientRect();n({top:g.bottom+6,right:Math.max(0,window.innerWidth-g.right)})},u=()=>{t()||c(),r(!t())};return ku(()=>{if(!t())return;let g=h=>{let v=h.composedPath();a&&v.includes(a)||d&&v.includes(d)||r(!1)},P=h=>{h.key==="Escape"&&r(!1)};document.addEventListener("pointerdown",g),document.addEventListener("keydown",P),window.addEventListener("resize",c),Cu(()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",P),window.removeEventListener("resize",c)})}),(()=>{var g=xu(),P=g.firstChild;g.$$pointerdown=v=>v.stopPropagation(),Ti(s,g),P.$$click=u;var h=l;return typeof h=="function"?Ti(h,P):l=P,ho(P,kr(Ll,{get component(){return p()},size:12})),ho(g,kr(Pu,{get when(){return bu(()=>!!t())()&&i.mount()},get children(){return kr(Eu,{get mount(){return i.mount()},get children(){var v=hu();v.$$pointerdown=b=>b.stopPropagation();var m=d;return typeof m=="function"?Ti(m,v):d=v,ho(v,kr(Su,{each:Gl,children:b=>{let z=()=>e.dockedSide()===b.side;return(()=>{var k=vu();return k.$$click=()=>{e.onDock(b.side),r(!1)},ho(k,kr(Ll,{get component(){return b.icon},size:12})),Ii(x=>{var E=b.label,H=b.label,Y=`dock-menu-${b.side}`,V=z()?"var(--zylem-color-primary, #61a6e8)":void 0,$=z()?"rgba(97, 166, 232, 0.4)":void 0;return E!==x.e&&bo(k,"title",x.e=E),H!==x.t&&bo(k,"aria-label",x.t=H),Y!==x.a&&bo(k,"data-testid",x.a=Y),V!==x.o&&Ar(k,"border-color",x.o=V),$!==x.i&&Ar(k,"background",x.i=$),x},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),k})()}})),Ii(b=>{var z=`${o().top}px`,k=`${o().right}px`,x=i.zIndex();return z!==b.e&&Ar(v,"top",b.e=z),k!==b.t&&Ar(v,"right",b.t=k),x!==b.a&&Ar(v,"z-index",b.a=x),b},{e:void 0,t:void 0,a:void 0}),v}})}}),null),Ii(()=>bo(P,"aria-expanded",t())),g})()};yu(["pointerdown","click"]);var $e={toggleButton:1,mainPanel:2,detachedBase:3,mainDockPreview:4,dragGhost:900};import{template as Bu}from"solid-js/web";import{setStyleProperty as Sr}from"solid-js/web";import{effect as Du}from"solid-js/web";import{createComponent as Di}from"solid-js/web";import{createEffect as Yl,createMemo as Ql,createSignal as xo,Show as Vl,untrack as Ul}from"solid-js";import{Portal as Ru}from"solid-js/web";import{createSignal as Iu}from"solid-js";var Ol=()=>typeof window>"u"?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight},[Te,Tu]=Iu(Ol(),{equals:(e,t)=>e.width===t.width&&e.height===t.height});if(typeof window<"u"){let e;window.addEventListener("resize",()=>{e!==void 0&&cancelAnimationFrame(e),e=requestAnimationFrame(()=>{e=void 0,Tu(Ol())})})}var Mu=Bu('<div style="position:fixed;pointer-events:none;box-sizing:border-box;border:2px dashed var(--zylem-color-primary);background:rgba(10, 20, 30, 0.2);border-radius:0">'),Lu=24,jl={width:320,height:240};function vo(e){let[t,r]=xo({width:e.initialSize.width,height:e.initialSize.height}),[o,n]=xo({visible:!1,side:null,index:0}),i=Ql(()=>we(f.docks,e.panelId)),a=()=>i()!==null,l=Ql(()=>i()?Ke(f.docks,Te(),{minSlotExtent:0})[e.panelId]??null:null);Yl(()=>{let A=l();A&&Ul(()=>{let M=e.position(),L=e.size();(M.x!==A.x||M.y!==A.y)&&e.setPosition({x:A.x,y:A.y}),(L.width!==A.width||L.height!==A.height)&&e.setSize({width:A.width,height:A.height})})});let[d,s]=xo(!0),p=()=>!a()&&d(),[c,u]=xo(!1),g=!0,P=(A,M)=>{n({visible:!0,side:A,index:M})},h=()=>{n({visible:!1,side:null,index:0})},v=A=>{r({width:A.width,height:A.height})},m=()=>{let A=e.panelRef();if(A){let M=A.getBoundingClientRect();return{width:M.width,height:M.height}}return e.size()},b=()=>{let A=o();return!A.visible||!A.side?null:un(f.docks,e.panelId,A.side,A.index,Te())},z=(A,M)=>{let L=Te(),G=Math.max(1,L.width),U=Math.max(1,L.height),W=Math.min(e.minSize.width,G),ce=Math.min(e.minSize.height,U);return{width:Math.min(G,Math.max(W,A)),height:Math.min(U,Math.max(ce,M))}},k=(A,M,L,G)=>{let U=Te(),W=z(L,G),ce=Math.max(0,U.width-W.width),me=Math.max(0,U.height-W.height);return{position:{x:Math.max(0,Math.min(A,ce)),y:Math.max(0,Math.min(M,me))},size:W}},x=(A,M,L,G)=>{let U=Te(),ce=[{side:"left",amount:Math.max(0,-A)},{side:"right",amount:Math.max(0,A+L-U.width)},{side:"top",amount:Math.max(0,-M)},{side:"bottom",amount:Math.max(0,M+G-U.height)}].reduce((me,rt)=>rt.amount>me.amount?rt:me);return ce.amount>=Lu?ce.side:null},E=(A,M,L)=>fn(f.docks,A,{x:M,y:L},Te(),e.panelId),H=(A,M)=>{let L=e.position(),G=m();a()?g=!0:(v(G),g=d());let U=z(jl.width,jl.height),W=G.width>0?Math.max(0,Math.min(1,(A-L.x)/G.width)):0,ce=G.height>0?Math.max(0,Math.min(1,(M-L.y)/G.height)):0,me=k(A-U.width*W,M-U.height*ce,U.width,U.height);return We(e.panelId),e.setSize(me.size),e.setPosition(me.position),s(!1),u(!0),h(),me},Y=()=>{let A=t(),M=z(A.width,A.height),L=e.position(),G=k(L.x,L.y,M.width,M.height);return e.setSize(G.size),e.setPosition(G.position),s(g),u(!1),e.onSizeCommit?.(G.size),e.onPositionCommit?.(G.position),G},V=A=>{h();let M=i();if(M&&A&&A===dn(M)){let G=m();return e.setSize(G),s(!1),{size:G,mode:"thickness"}}M&&We(e.panelId);let L=m();return e.setSize(L),s(!1),{size:L,mode:"free"}},$=(A,M,L)=>{let G=i();if(!G)return;let U=Qe(G),W=U?M:L,ce=G==="left"||G==="top"?W:-W,me=U?e.minSize.width:e.minSize.height,rt=mn(f.docks,G,A+ce,Te(),me);nr(G,rt)},ge=()=>{We(e.panelId)},oe=()=>{let A=o();return!A.visible||!A.side?null:(a()||v(e.size()),ut(e.panelId,A.side,A.index),s(!1),u(!1),h(),{side:A.side,index:A.index})},Me=()=>{let A=t(),M=z(A.width,A.height),L=e.position(),G=k(L.x,L.y,M.width,M.height);return We(e.panelId),e.setSize(G.size),e.setPosition(G.position),s(!0),e.onSizeCommit?.(G.size),e.onPositionCommit?.(G.position),G},Oe=A=>{if(A===null){a()&&Me();return}a()||v(e.size()),ut(e.panelId,A),s(!1)},Nt=()=>{if(a())return;let A=e.position(),M=p()?m():e.size(),L=k(A.x,A.y,M.width,M.height);(M.width!==L.size.width||M.height!==L.size.height)&&(e.setSize(L.size),e.onSizeCommit?.(L.size)),(A.x!==L.position.x||A.y!==L.position.y)&&(e.setPosition(L.position),e.onPositionCommit?.(L.position))};return Yl(()=>{Te(),Ul(Nt)}),{dockedSide:i,dockRect:l,isAutoHeight:p,setIsAutoHeight:s,showDockPreview:P,hideDockPreview:h,rememberUndockedSize:v,getLiveSize:m,getDockPreviewRect:b,detectDockSide:x,detectDockIndex:E,beginDragGhost:H,endDragGhost:Y,isMoving:c,clampSizeToViewport:z,fitPanelToViewport:k,beginResize:V,resizeDockThickness:$,clearDockedSide:ge,applyDockPreview:oe,restoreUndockedPanel:Me,dockTo:Oe}}var zo=e=>{let t=K("panel",e.rank);return Di(Vl,{get when(){return e.rect},children:r=>Di(Vl,{get when(){return t.mount()},keyed:!0,children:o=>Di(Ru,{mount:o,get children(){var n=Mu();return Du(i=>{var a=`${r().x}px`,l=`${r().y}px`,d=`${r().width}px`,s=`${r().height}px`,p=t.zIndex();return a!==i.e&&Sr(n,"left",i.e=a),l!==i.t&&Sr(n,"top",i.t=l),d!==i.a&&Sr(n,"width",i.a=d),s!==i.o&&Sr(n,"height",i.o=s),p!==i.i&&Sr(n,"z-index",i.i=p),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),n}})})})};var Hu=pe("<button type=button class=zylem-window-control data-testid=restore-sibling style=white-space:nowrap;width:auto>"),Fu=pe("<div class=floating-panel-controls data-no-drag>"),Ou=pe("<div class=zylem-chrome-inline>"),Yu=pe("<div style=top:0;left:10px;right:10px;height:6px>"),Qu=pe("<div style=bottom:0;left:10px;right:10px;height:6px>"),Vu=pe("<div style=left:0;top:10px;bottom:10px;width:6px>"),Uu=pe("<div style=right:0;top:10px;bottom:10px;width:6px>"),ju=pe("<div style=top:0;left:0;width:10px;height:10px>"),Nu=pe("<div style=top:0;right:0;width:10px;height:10px>"),Zu=pe("<div style=bottom:0;left:0;width:10px;height:10px>"),Ku=pe("<div style=bottom:0;right:0;width:10px;height:10px>"),Wu=pe("<section class=floating-panel style=position:fixed;display:flex;flex-direction:column;pointer-events:auto>"),Xu=pe("<span class=floating-panel-title>"),qu=pe("<div class=floating-panel-titlebar style=cursor:grab;display:flex;align-items:center;user-select:none;touch-action:none>"),Ju=pe("<div class=floating-panel-content style=flex:1;overflow:hidden;display:flex;flex-direction:column>"),Kl=3,Li=e=>{let t=K("panel",$e.mainPanel),r=e.panelId??Ie,o=e.minSize??{width:300,height:200},n=e.initialSize??{width:460,height:600},i=()=>e.chrome??"bar",[a,l]=Ri(e.initialPosition??{x:50,y:50}),[d,s]=Ri(n),[p,c]=Ri(!1),u=()=>e.collapsed??p(),g=()=>{let S=!u();e.onCollapsedChange?.(S),e.collapsed===void 0&&c(S)},P=!1,h=!1,v="free",m=null,b={x:0,y:0},z={x:0,y:0},k={width:0,height:0},x=0,E=!1,H,Y,{dockedSide:V,isAutoHeight:$,showDockPreview:ge,hideDockPreview:oe,rememberUndockedSize:Me,getLiveSize:Oe,getDockPreviewRect:Nt,detectDockSide:A,detectDockIndex:M,beginDragGhost:L,endDragGhost:G,isMoving:U,clampSizeToViewport:W,beginResize:ce,resizeDockThickness:me,applyDockPreview:rt,dockTo:Re}=vo({panelId:r,initialSize:e.floatingSize??n,minSize:o,position:a,setPosition:l,size:d,setSize:s,panelRef:()=>H,onPositionCommit:S=>e.onMove?.(S),onSizeCommit:S=>e.onResize?.(S)});$u(()=>{let S=e.dockRequest?.();!S||S.panelId&&S.panelId!==r||Re(S.side)});let D=(S,w,y,C)=>({x:Math.max(-y+50,Math.min(S,window.innerWidth-50)),y:Math.max(0,Math.min(w,window.innerHeight-50))}),Z=(S,w)=>W(S,w),se=S=>{let w=S.target;w instanceof Element&&w.closest("button, a, input, textarea, select, [data-no-drag]")||(P=!0,E=!1,oe(),b={x:S.clientX,y:S.clientY},z={...a()},S.pointerType==="mouse"&&S.preventDefault())},j=S=>w=>{h=!0,m=S;let y=V(),{size:C,mode:F}=ce(S);v=F,x=y&&Qe(y)?C.width:C.height,b={x:w.clientX,y:w.clientY},z={...a()},k={...C},w.pointerType==="mouse"&&w.preventDefault(),w.stopPropagation()},fe=S=>{if(P){let w=S.clientX-b.x,y=S.clientY-b.y;if((Math.abs(w)>Kl||Math.abs(y)>Kl)&&!E){E=!0;let C=L(S.clientX,S.clientY);b={x:S.clientX,y:S.clientY},z={...C.position},k={...C.size},w=0,y=0}if(E){let C=z.x+w,F=z.y+y,_=Oe(),ee=A(C,F,_.width,_.height);ee?ge(ee,M(ee,S.clientX,S.clientY)):oe();let Pe=D(C,F,_.width,_.height);l(Pe)}}else if(h&&m){let w=S.clientX-b.x,y=S.clientY-b.y;if(v==="thickness"){me(x,w,y);return}let C=k.width,F=k.height,_=z.x,ee=z.y;m.includes("e")?C=k.width+w:m.includes("w")&&(C=k.width-w,_=z.x+w),m.includes("s")?F=k.height+y:m.includes("n")&&(F=k.height-y,ee=z.y+y);let Pe=Z(C,F);m.includes("w")&&Pe.width===o.width&&(_=z.x+k.width-o.width),m.includes("n")&&Pe.height===o.height&&(ee=z.y+k.height-o.height),s(Pe),l(D(_,ee,Pe.width,Pe.height))}},Se=()=>{P&&E&&(rt()||G()),h&&v==="free"&&(Me(d()),e.onResize?.(d())),P=!1,h=!1,v="free",m=null,E=!1,oe()};_u(()=>{if(window.addEventListener("pointermove",fe),window.addEventListener("pointerup",Se),!e.fitDockThickness)return;let S=()=>{let y=Y;if(!y||U())return;let C=V();if(!C)return;let F=f.docks[C].panels;if(F.length!==1||F[0]!==r)return;let _=Qe(C)?y.offsetWidth:y.offsetHeight,ee=Math.round(_);ee>0&&ee!==f.docks[C].thickness&&nr(C,ee)},w=new ResizeObserver(S);Y&&w.observe(Y),S(),Zl(()=>w.disconnect())}),Zl(()=>{window.removeEventListener("pointermove",fe),window.removeEventListener("pointerup",Se)});let ye=()=>!U()&&!!e.hugContent&&!V(),Le=()=>!U()&&(ye()||u()&&!e.fitDockThickness||$()&&!V()),Ce=()=>{let S=V();return S==="left"||S==="right"},xe=()=>typeof e.children=="function"?e.children({isCollapsed:u,dockedSide:V}):e.children,ve=()=>(()=>{var S=Fu();return ke(S,dt(Cr,{get when(){return e.onRestoreSibling!==void 0},get children(){var w=Hu();return w.$$click=()=>e.onRestoreSibling?.(),ke(w,()=>e.restoreSiblingLabel),Ae(y=>{var C=e.restoreSiblingLabel,F=e.restoreSiblingLabel;return C!==y.e&&Mi(w,"aria-label",y.e=C),F!==y.t&&Mi(w,"title",y.t=F),y},{e:void 0,t:void 0}),w}}),null),ke(S,dt(Fl,{dockedSide:V,onDock:w=>Re(w)}),null),ke(S,dt(bt,{get collapsed(){return u()},get onCollapse(){return e.collapsible?g:void 0},get onClose(){return e.onClose},closeTestId:"floating-panel-close"}),null),S})(),be=S=>({position:"absolute","z-index":10,cursor:S,"touch-action":"none"});return(()=>{var S=Wu(),w=H;return typeof w=="function"?Nl(w,S):H=S,ke(S,dt(zo,{get rect(){return Nt()},get rank(){return $e.mainDockPreview}}),null),ke(S,dt(Cr,{get when(){return i()==="inline"},get fallback(){return[(()=>{var y=qu();return y.$$pointerdown=se,ke(y,dt(Cr,{get when(){return!e.hideTitle},get children(){var C=Xu();return ke(C,()=>e.title??"Panel"),C}}),null),ke(y,ve,null),Ae(C=>{var F=e.hideTitle?"flex-start":"space-between",_=V()?"0":void 0,ee=U()?"hidden":void 0;return F!==C.e&&Ft(y,"justify-content",C.e=F),_!==C.t&&Ft(y,"border-radius",C.t=_),ee!==C.a&&Ft(y,"visibility",C.a=ee),C},{e:void 0,t:void 0,a:void 0}),y})(),(()=>{var y=Ju();return ke(y,xe),Ae(C=>Ft(y,"visibility",U()?"hidden":void 0)),y})()]},get children(){var y=Ou();y.$$pointerdown=se;var C=Y;return typeof C=="function"?Nl(C,y):Y=y,ke(y,dt(Cr,{get when(){return!u()},get children(){return xe()}}),null),ke(y,ve,null),Ae(F=>{var _=!!Ce(),ee=!Ce()&&V()?"100%":"max-content",Pe=U()?"hidden":void 0;return _!==F.e&&y.classList.toggle("zylem-chrome-inline--column",F.e=_),ee!==F.t&&Ft(y,"width",F.t=ee),Pe!==F.a&&Ft(y,"visibility",F.a=Pe),F},{e:void 0,t:void 0,a:void 0}),y}}),null),ke(S,dt(Cr,{get when(){return e.resizable!==!1},get children(){return[(()=>{var y=Yu();return st(y,"pointerdown",j("n"),!0),Ae(C=>_e(y,{...be("ns-resize")},C)),y})(),(()=>{var y=Qu();return st(y,"pointerdown",j("s"),!0),Ae(C=>_e(y,{...be("ns-resize")},C)),y})(),(()=>{var y=Vu();return st(y,"pointerdown",j("w"),!0),Ae(C=>_e(y,{...be("ew-resize")},C)),y})(),(()=>{var y=Uu();return st(y,"pointerdown",j("e"),!0),Ae(C=>_e(y,{...be("ew-resize")},C)),y})(),(()=>{var y=ju();return st(y,"pointerdown",j("nw"),!0),Ae(C=>_e(y,{...be("nwse-resize")},C)),y})(),(()=>{var y=Nu();return st(y,"pointerdown",j("ne"),!0),Ae(C=>_e(y,{...be("nesw-resize")},C)),y})(),(()=>{var y=Zu();return st(y,"pointerdown",j("sw"),!0),Ae(C=>_e(y,{...be("nesw-resize")},C)),y})(),(()=>{var y=Ku();return st(y,"pointerdown",j("se"),!0),Ae(C=>_e(y,{...be("nwse-resize")},C)),y})()]}}),null),Ae(y=>{var C=e.label??e.title??"Panel",F={left:`${a().x}px`,top:`${a().y}px`,width:ye()?"auto":`${d().width}px`,height:Le()?"auto":`${d().height}px`,"z-index":t.zIndex(),"border-radius":V()?"0":void 0,...U()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}};return C!==y.e&&Mi(S,"aria-label",y.e=C),y.t=_e(S,F,y.t),y},{e:void 0,t:void 0}),S})()};Gu(["click","pointerdown"]);import{template as ep}from"solid-js/web";import{delegateEvents as tp}from"solid-js/web";import{setStyleProperty as Gi}from"solid-js/web";import{effect as rp}from"solid-js/web";import{createSignal as np,onCleanup as ip,onMount as ap}from"solid-js";var op=ep("<div style=position:fixed;cursor:grab;touch-action:none;pointer-events:auto><button id=zylem-editor-toggle type=button>"),wo=50,Wl=5,Ue=96,Ot=20,Xl=e=>{let t=K("panel",$e.toggleButton),[r,o]=np({x:0,y:0}),n,i=!1,a={x:0,y:0},l={x:0,y:0},d=!1,s=(h,v)=>{let m=window.innerWidth,b=window.innerHeight,z=h,k=v;return h<wo?z=Ot:h>m-Ue-wo&&(z=m-Ue-Ot),v<wo?k=Ot:v>b-Ue-wo&&(k=b-Ue-Ot),{x:z,y:k}},p=(h,v)=>{let m=Math.max(0,window.innerWidth-Ue),b=Math.max(0,window.innerHeight-Ue);return{x:Math.max(0,Math.min(h,m)),y:Math.max(0,Math.min(v,b))}},c=h=>{i=!0,d=!1,a={x:h.clientX,y:h.clientY},l={...r()},h.pointerType==="mouse"&&h.preventDefault()},u=h=>{if(!i)return;let v=h.clientX-a.x,m=h.clientY-a.y;if((Math.abs(v)>Wl||Math.abs(m)>Wl)&&(d=!0),d){let b=l.x+v,z=l.y+m,k=window.innerWidth,x=window.innerHeight,E=Math.max(0,Math.min(b,k-Ue)),H=Math.max(0,Math.min(z,x-Ue));o({x:E,y:H})}},g=()=>{if(i){if(d){let h=r(),v=s(h.x,h.y);o(v),tr(v)}else e.onToggle();i=!1,d=!1}},P=()=>{n!==void 0&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{let h=r(),v=p(h.x,h.y);(v.x!==h.x||v.y!==h.y)&&(o(v),tr(v)),n=void 0})};return ap(()=>{let h=p(window.innerWidth-Ue-Ot,window.innerHeight-Ue-Ot);o(h),tr(h),window.addEventListener("pointermove",u),window.addEventListener("pointerup",g),window.addEventListener("resize",P)}),ip(()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",g),window.removeEventListener("resize",P),n!==void 0&&cancelAnimationFrame(n)}),(()=>{var h=op(),v=h.firstChild;return v.$$pointerdown=c,rp(m=>{var b=`${r().x}px`,z=`${r().y}px`,k=t.zIndex();return b!==m.e&&Gi(h,"left",m.e=b),z!==m.t&&Gi(h,"top",m.t=z),k!==m.a&&Gi(h,"z-index",m.a=k),m},{e:void 0,t:void 0,a:void 0}),h})()};tp(["pointerdown"]);import{template as zg}from"solid-js/web";import{delegateEvents as wg}from"solid-js/web";import{setStyleProperty as Zi}from"solid-js/web";import{style as tt}from"solid-js/web";import{effect as Ag}from"solid-js/web";import{addEventListener as mt}from"solid-js/web";import{insert as Eo}from"solid-js/web";import{createComponent as zs}from"solid-js/web";import{use as kg}from"solid-js/web";import{createSignal as ws,onCleanup as Cg,onMount as Pg}from"solid-js";import{createComponent as vg}from"solid-js/web";import{template as vt}from"solid-js/web";import{className as lp}from"solid-js/web";import{setAttribute as sp}from"solid-js/web";import{effect as ql}from"solid-js/web";import{insert as le}from"solid-js/web";import{createComponent as Yt}from"solid-js/web";import{memo as dp}from"solid-js/web";import{createSignal as Ao,For as Jl,onCleanup as bp,onMount as hp,Show as $l}from"solid-js";import{subscribe as xp}from"valtio/vanilla";var cp=vt("<section class=zylem-section><h4 class=zylem-section-title>Message types</h4><div class=zylem-property-list>"),mp=vt("<span class=zylem-property-value>(<!> older dropped)"),fp=vt('<div class=panel-content><section class=zylem-toolbar><span class=zylem-property-value> msg/s</span></section><section class=zylem-section><h4 class=zylem-section-title>Recent messages</h4><div class="bridge-log scrollable-y scroll-thin">'),up=vt("<p class=zylem-property-value>No bridge traffic recorded yet."),pp=vt("<div class=zylem-property-row><span class=zylem-property-label></span><span class=zylem-property-value> \xB7 <!>/s \xB7 "),gp=vt("<p class=zylem-property-value>Waiting for messages\u2026"),yp=vt("<div class=bridge-log-row><span></span><span class=bridge-log-type></span><span class=bridge-log-meta></span><span class=bridge-log-summary>"),_l=()=>{let[e,t]=Ao([]),[r,o]=Ao([]),[n,i]=Ao(re.paused),[a,l]=Ao(0);hp(()=>{Bn();let p=xp(re,()=>{t([...re.stats]),o([...re.entries]),i(re.paused),l(re.dropped)});bp(()=>{p(),sr()})});let d=()=>Dn(!re.paused),s=()=>e().reduce((p,c)=>p+c.rate,0);return(()=>{var p=fp(),c=p.firstChild,u=c.firstChild,g=u.firstChild,P=c.nextSibling,h=P.firstChild,v=h.firstChild,m=h.nextSibling;return le(c,Yt(de,{size:"sm",onClick:d,get children(){return n()?"Resume":"Pause"}}),u),le(c,Yt(de,{size:"sm",onClick:Mn,children:"Clear"}),u),le(u,()=>s().toFixed(0),g),le(p,Yt($l,{get when(){return e().length>0},get fallback(){return up()},get children(){var b=cp(),z=b.firstChild,k=z.nextSibling;return le(k,Yt(Jl,{get each(){return e()},children:x=>(()=>{var E=pp(),H=E.firstChild,Y=H.nextSibling,V=Y.firstChild,$=V.nextSibling,ge=$.nextSibling;return le(H,()=>x.type),le(Y,()=>x.sent,V),le(Y,()=>x.rate.toFixed(0),$),le(Y,()=>Rn(x.bytes),null),le(Y,(()=>{var oe=dp(()=>x.retained>0);return()=>oe()?` \xB7 ${x.retained} kept`:""})(),null),ql(oe=>{var Me=x.rate>Ma,Oe=`sent ${x.sent} \xB7 queued ${x.queued} \xB7 delivered ${x.delivered} \xB7 coalesced ${(x.coalesced*100).toFixed(0)}% \xB7 ${x.listeners} listener(s) \xB7 ${x.retained} retained`;return Me!==oe.e&&E.classList.toggle("bridge-row--hot",oe.e=Me),Oe!==oe.t&&sp(E,"title",oe.t=Oe),oe},{e:void 0,t:void 0}),E})()})),b}}),P),le(h,Yt($l,{get when(){return a()>0},get children(){return[" ",(()=>{var b=mp(),z=b.firstChild,k=z.nextSibling,x=k.nextSibling;return le(b,a,k),b})()]}}),null),le(m,Yt(Jl,{get each(){return r().slice().reverse()},get fallback(){return gp()},children:b=>(()=>{var z=yp(),k=z.firstChild,x=k.nextSibling,E=x.nextSibling,H=E.nextSibling;return le(k,()=>b.kind),le(x,()=>b.type),le(E,()=>Rn(b.bytes)),le(H,()=>b.summary),ql(()=>lp(k,`bridge-log-kind bridge-log-kind--${b.kind}`)),z})()})),p})()};import{createComponent as vp}from"solid-js/web";import{createSignal as zp,onCleanup as wp}from"solid-js";import{subscribe as Ap}from"valtio/vanilla";var es=()=>{let[e,t]=zp(He.messages.join(`
|
|
30
|
-
`)),r=
|
|
29
|
+
`;import{template as U2}from"solid-js/web";import{insert as N2}from"solid-js/web";import{spread as K2}from"solid-js/web";import{mergeProps as X2}from"solid-js/web";import{memo as J2}from"solid-js/web";import{splitProps as _2}from"solid-js";import{template as oC}from"solid-js/web";import{delegateEvents as Zf}from"solid-js/web";import{setStyleProperty as aC}from"solid-js/web";import{className as sC}from"solid-js/web";import{effect as cC}from"solid-js/web";import{memo as fC}from"solid-js/web";import{addEventListener as gC}from"solid-js/web";import{insert as yC}from"solid-js/web";import{createComponent as hC}from"solid-js/web";import{For as xC,Show as zC,onCleanup as wC}from"solid-js";Zf(["pointerdown"]);import{template as IC}from"solid-js/web";import{insert as BC}from"solid-js/web";import{spread as MC}from"solid-js/web";import{mergeProps as LC}from"solid-js/web";import{memo as HC}from"solid-js/web";import{splitProps as OC}from"solid-js";import{createComponent as VC}from"solid-js/web";import{memo as jC}from"solid-js/web";import ZC from"lucide-solid/icons/circle";import WC from"lucide-solid/icons/eraser";import qC from"lucide-solid/icons/hand";import $C from"lucide-solid/icons/paint-bucket";import eP from"lucide-solid/icons/pencil";import rP from"lucide-solid/icons/pipette";import nP from"lucide-solid/icons/square";import aP from"lucide-solid/icons/square-dashed";import{Dynamic as sP}from"solid-js/web";import{template as fP}from"solid-js/web";import{delegateEvents as Kf}from"solid-js/web";import{setAttribute as pP}from"solid-js/web";import{className as bP}from"solid-js/web";import{effect as vP}from"solid-js/web";import{insert as zP}from"solid-js/web";import{createComponent as kP}from"solid-js/web";import{addEventListener as SP}from"solid-js/web";import PP from"lucide-solid/icons/plus";import{Show as IP}from"solid-js";Kf(["click"]);import{template as DP}from"solid-js/web";import{delegateEvents as Xf}from"solid-js/web";import{insert as LP}from"solid-js/web";import{createComponent as HP}from"solid-js/web";import"solid-js/web";import{setAttribute as QP}from"solid-js/web";import{style as UP}from"solid-js/web";import{className as NP}from"solid-js/web";import{effect as KP}from"solid-js/web";import{addEventListener as XP}from"solid-js/web";import{For as JP,Show as $P}from"solid-js";Xf(["click"]);import{template as rE}from"solid-js/web";import{delegateEvents as qf}from"solid-js/web";import{className as iE}from"solid-js/web";import{addEventListener as lE}from"solid-js/web";import{setAttribute as dE}from"solid-js/web";import{effect as mE}from"solid-js/web";import{createComponent as uE}from"solid-js/web";import{insert as pE}from"solid-js/web";import{spread as bE}from"solid-js/web";import{mergeProps as vE}from"solid-js/web";import{memo as zE}from"solid-js/web";import kE from"lucide-solid/icons/arrow-left-to-line";import SE from"lucide-solid/icons/arrow-right-to-line";import PE from"lucide-solid/icons/chevron-left";import IE from"lucide-solid/icons/chevron-right";import BE from"lucide-solid/icons/copy";import ME from"lucide-solid/icons/trash-2";import{Show as LE,splitProps as GE}from"solid-js";qf(["click"]);import{template as QE}from"solid-js/web";import{className as UE}from"solid-js/web";import{effect as NE}from"solid-js/web";import{insert as KE}from"solid-js/web";import{createComponent as XE}from"solid-js/web";import{memo as JE}from"solid-js/web";import _E from"lucide-solid/icons/fast-forward";import tI from"lucide-solid/icons/pause";import oI from"lucide-solid/icons/play";import iI from"lucide-solid/icons/repeat";import lI from"lucide-solid/icons/rewind";import{Show as dI}from"solid-js";import{template as yI}from"solid-js/web";import{delegateEvents as tu}from"solid-js/web";import{setAttribute as vI}from"solid-js/web";import{setStyleProperty as zI}from"solid-js/web";import{className as kI}from"solid-js/web";import{effect as SI}from"solid-js/web";import{insert as PI}from"solid-js/web";import{createComponent as II}from"solid-js/web";import"solid-js/web";import{Slider as MI}from"@kobalte/core";import{For as LI,Show as GI,createMemo as HI}from"solid-js";tu(["pointerdown","click"]);import{template as VI}from"solid-js/web";import{spread as jI}from"solid-js/web";import{mergeProps as ZI}from"solid-js/web";import{createComponent as WI}from"solid-js/web";import{insert as qI}from"solid-js/web";import{memo as $I}from"solid-js/web";import{Button as eT}from"@kobalte/core";import{Show as rT,splitProps as oT}from"solid-js";import{template as aT}from"solid-js/web";import{delegateEvents as au}from"solid-js/web";import{memo as dT}from"solid-js/web";import{addEventListener as mT}from"solid-js/web";import{setAttribute as uT}from"solid-js/web";import{className as pT}from"solid-js/web";import{setStyleProperty as bT}from"solid-js/web";import{effect as vT}from"solid-js/web";import{createComponent as zT}from"solid-js/web";import{insert as kT}from"solid-js/web";import{use as ST}from"solid-js/web";import{createContext as lu,createMemo as PT,createSignal as ET,For as IT,Show as TT,splitProps as BT,useContext as DT}from"solid-js";var RT=lu();au(["pointerdown","keydown","dblclick","click"]);import{template as HT}from"solid-js/web";import{delegateEvents as su}from"solid-js/web";import{setStyleProperty as YT}from"solid-js/web";import{className as VT}from"solid-js/web";import{memo as jT}from"solid-js/web";import{use as ZT}from"solid-js/web";import{createComponent as WT}from"solid-js/web";import{setAttribute as qT}from"solid-js/web";import{effect as $T}from"solid-js/web";import{insert as eB}from"solid-js/web";import rB from"lucide-solid/icons/lock";import nB from"lucide-solid/icons/lock-open";import{createSignal as aB,Show as lB}from"solid-js";su(["click","dblclick","pointerdown","input","keydown"]);import{template as gB}from"solid-js/web";import{delegateEvents as uu}from"solid-js/web";import{addEventListener as bB}from"solid-js/web";import{setAttribute as vB}from"solid-js/web";import{className as zB}from"solid-js/web";import{setStyleProperty as kB}from"solid-js/web";import{effect as SB}from"solid-js/web";import{insert as PB}from"solid-js/web";import{createComponent as IB}from"solid-js/web";import{use as BB}from"solid-js/web";import{createMemo as MB,createSignal as RB,For as LB,Index as GB,Show as HB}from"solid-js";uu(["keydown","pointerdown","dblclick"]);import{template as VB}from"solid-js/web";import{delegateEvents as gu}from"solid-js/web";import{setStyleProperty as NB}from"solid-js/web";import{className as KB}from"solid-js/web";import{effect as XB}from"solid-js/web";import{createComponent as JB}from"solid-js/web";import{insert as _B}from"solid-js/web";import{setAttribute as t5}from"solid-js/web";import{createSignal as o5,createUniqueId as n5,Show as i5}from"solid-js";gu(["pointerdown","keydown","dblclick"]);import{template as d5}from"solid-js/web";import{delegateEvents as yu}from"solid-js/web";import{setStyleProperty as f5}from"solid-js/web";import{className as g5}from"solid-js/web";import{setAttribute as y5}from"solid-js/web";import{effect as h5}from"solid-js/web";import{insert as x5}from"solid-js/web";import{createComponent as w5}from"solid-js/web";import"solid-js/web";import{Slider as C5}from"@kobalte/core";import{Show as E5}from"solid-js";yu(["pointerdown","click"]);import{template as R5}from"solid-js/web";import{delegateEvents as vu}from"solid-js/web";import{addEventListener as H5}from"solid-js/web";import{setAttribute as O5}from"solid-js/web";import{className as Q5}from"solid-js/web";import{insert as U5}from"solid-js/web";import{setStyleProperty as N5}from"solid-js/web";import{effect as K5}from"solid-js/web";import{createComponent as X5}from"solid-js/web";import{memo as J5}from"solid-js/web";import{use as _5}from"solid-js/web";import{createEffect as t4,createMemo as r4,createSignal as o4,For as n4,onCleanup as i4,onMount as a4,Show as l4}from"solid-js";vu(["pointerdown","keydown"]);import{template as f4}from"solid-js/web";import{setAttribute as g4}from"solid-js/web";import{className as y4}from"solid-js/web";import{effect as h4}from"solid-js/web";import{insert as x4}from"solid-js/web";import{memo as w4}from"solid-js/web";import{createComponent as A4}from"solid-js/web";import C4 from"lucide-solid/icons/square";import{Show as E4}from"solid-js";import{template as Su}from"solid-js/web";import{insert as Cu}from"solid-js/web";import{createComponent as Hl}from"solid-js/web";import{spread as Pu}from"solid-js/web";import{mergeProps as Fl}from"solid-js/web";import"solid-js/web";import{For as Iu,splitProps as Tu}from"solid-js";import{Dynamic as Bu}from"solid-js/web";var Eu=Su("<svg>"),Du={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"};function Mu(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function $e(e,t){return o=>{let[n,i]=Tu(o,["color","size","strokeWidth","class","absoluteStrokeWidth"]),a=()=>n.size??24,l=()=>{let s=Number(n.strokeWidth??2);return n.absoluteStrokeWidth?s*24/Number(a()):s},c=()=>["zylem-icon",`zylem-icon-${Mu(e)}`,n.class].filter(s=>!!s).join(" ");return(()=>{var s=Eu();return Pu(s,Fl(Du,{get width(){return a()},get height(){return a()},get stroke(){return n.color??"currentColor"},get"stroke-width"(){return l()},get class(){return c()},"aria-hidden":"true"},i),!0,!0),Cu(s,Hl(Iu,{each:t,children:([v,g])=>Hl(Bu,Fl({component:v},g))})),s})()}}var zi=[["rect",{x:"2",y:"8",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10 4-2v8l-4-2"}],["path",{d:"m18 7 4-3m-4 13 4 3"}]],wi=[["rect",{x:"2",y:"8",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10 4-2v8l-4-2"}],["path",{d:"M18 6h4v12h-4"}]],ki=[["rect",{x:"8",y:"2",width:"8",height:"8",rx:"2"}],["path",{d:"m10 10-2 4h8l-2-4"}],["path",{d:"M6 18v4h12v-4"}]],Ai=[["rect",{x:"7",y:"9",width:"7",height:"6",rx:"1"}],["path",{d:"m14 11 3-2v6l-3-2"}],["path",{d:"M3 8a9 9 0 0 1 15-3"}],["path",{d:"M18 2v3h-3"}],["path",{d:"M21 16a9 9 0 0 1-15 3"}],["path",{d:"M6 22v-3h3"}]],Si=[["path",{d:"M11.549 11.368 2 5.855"}],["path",{d:"M11.549 19.944 11.549 17.252"}],["path",{d:"M11.549 14.06 11.549 11.368"}],["path",{d:"M11.549 19.944 2 14.431"}],["path",{d:"M2 14.431 2 5.855"}],["path",{d:"M2 5.855 6.775 3.098"}],["path",{d:"M6.775 3.098 16.324 8.611"}],["path",{d:"M11.549 11.368 16.324 8.611"}],["path",{d:"M16.324 8.611 16.324 11.151"}],["path",{d:"M13.749 18.674 11.549 19.944"}],["path",{d:"M15.887 10.899 21.192 13.962"}],["path",{d:"M11.986 17.656 17.291 20.719"}],["path",{d:"M15.887 10.899A3.901 2.252 -60 0 0 11.986 17.656"}],["path",{d:"M21.192 13.962A3.901 2.252 -60 1 1 17.291 20.719A3.901 2.252 -60 1 1 21.192 13.962Z"}]],Ci=[["rect",{x:"2",y:"6",width:"16",height:"12",rx:"2"}],["path",{d:"m18 10 4-3v10l-4-3"}],["path",{d:"M6 12h4m-2-2v4"}],["path",{d:"M14 10h.01M14 14h.01"}]];var Pi=$e("Perspective",zi),Ei=$e("SideviewPerspective",wi),Ii=$e("TopDownPerspective",ki),Ti=$e("IsometricPerspective",Si),Bi=$e("FreePerspective",Ai),Di=$e("GameCamera",Ci);import Xy from"lucide-solid/icons/eye";import qy from"lucide-solid/icons/panel-top";import{createMemo as bd,createSignal as Go,For as Jy,onCleanup as $y,onMount as _y,Show as na}from"solid-js";import{render as eb}from"solid-js/web";import{template as ce}from"solid-js/web";import{delegateEvents as og}from"solid-js/web";import{addEventListener as dt}from"solid-js/web";import{setStyleProperty as Ut}from"solid-js/web";import{use as Jl}from"solid-js/web";import{createComponent as et}from"solid-js/web";import{style as je}from"solid-js/web";import{setAttribute as $l}from"solid-js/web";import{effect as Se}from"solid-js/web";import{insert as ve}from"solid-js/web";import"solid-js/web";import{createEffect as xg,createSignal as Hi,onCleanup as _l,onMount as zg,Show as Tr}from"solid-js";import{template as Er}from"solid-js/web";import{delegateEvents as Lu}from"solid-js/web";import{setStyleProperty as Pr}from"solid-js/web";import{memo as Gu}from"solid-js/web";import{setAttribute as Mi}from"solid-js/web";import{effect as Ri}from"solid-js/web";import{use as Li}from"solid-js/web";import{insert as Vt}from"solid-js/web";import{createComponent as st}from"solid-js/web";import{PanelBottom as Vu,PanelLeft as Uu,PanelRight as Ul,PanelTop as ju}from"lucide-solid";import{createEffect as Nu,createSignal as Ol,For as Zu,onCleanup as Ku,Show as Wu}from"solid-js";import{Dynamic as Yl,Portal as Xu}from"solid-js/web";var Hu=Er("<span style=display:inline-flex;flex:none>"),Fu=Er('<button type=button class=floating-panel-button aria-label="Dock panel"aria-haspopup=true data-testid=dock-menu-trigger>'),Ou=Er('<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">'),Yu=Er("<div style=display:inline-flex>"),Qu=Er("<button type=button role=menuitem class=floating-panel-button>"),Ql=[{side:"left",label:"Dock to left",icon:Uu},{side:"top",label:"Dock to top",icon:ju},{side:"bottom",label:"Dock to bottom",icon:Vu},{side:"right",label:"Dock to right",icon:Ul}],Vl=e=>(()=>{var t=Hu();return Vt(t,st(vt,{get content(){return e.content},placement:"bottom",get children(){return e.children}})),t})(),jl=e=>{let[t,r]=Ol(!1),[o,n]=Ol({top:0,right:0}),i=Z("menu"),a,l,c,s=y=>{a=y,i.anchorRef(y)},v=()=>Ql.find(y=>y.side===e.dockedSide())?.icon??Ul,g=()=>{if(!l)return;let y=l.getBoundingClientRect();n({top:y.bottom+6,right:Math.max(0,window.innerWidth-y.right)})},d=()=>{t()||g(),r(!t())};return Nu(()=>{if(!t())return;let y=f=>{let h=f.composedPath();a&&h.includes(a)||c&&h.includes(c)||r(!1)},x=f=>{f.key==="Escape"&&r(!1)};document.addEventListener("pointerdown",y),document.addEventListener("keydown",x),window.addEventListener("resize",g),Ku(()=>{document.removeEventListener("pointerdown",y),document.removeEventListener("keydown",x),window.removeEventListener("resize",g)})}),(()=>{var y=Yu();return y.$$pointerdown=x=>x.stopPropagation(),Li(s,y),Vt(y,st(Vl,{content:"Dock panel",get children(){var x=Fu();x.$$click=d;var f=l;return typeof f=="function"?Li(f,x):l=x,Vt(x,st(Yl,{get component(){return v()},size:12})),Ri(()=>Mi(x,"aria-expanded",t())),x}}),null),Vt(y,st(Wu,{get when(){return Gu(()=>!!t())()&&i.mount()},get children(){return st(Xu,{get mount(){return i.mount()},get children(){var x=Ou();x.$$pointerdown=h=>h.stopPropagation();var f=c;return typeof f=="function"?Li(f,x):c=x,Vt(x,st(Zu,{each:Ql,children:h=>{let m=()=>e.dockedSide()===h.side;return st(Vl,{get content(){return h.label},get children(){var b=Qu();return b.$$click=()=>{e.onDock(h.side),r(!1)},Vt(b,st(Yl,{get component(){return h.icon},size:12})),Ri(z=>{var I=h.label,A=`dock-menu-${h.side}`,P=m()?"var(--zylem-color-primary, #61a6e8)":void 0,H=m()?"rgba(97, 166, 232, 0.4)":void 0;return I!==z.e&&Mi(b,"aria-label",z.e=I),A!==z.t&&Mi(b,"data-testid",z.t=A),P!==z.a&&Pr(b,"border-color",z.a=P),H!==z.o&&Pr(b,"background",z.o=H),z},{e:void 0,t:void 0,a:void 0,o:void 0}),b}})}})),Ri(h=>{var m=`${o().top}px`,b=`${o().right}px`,z=i.zIndex();return m!==h.e&&Pr(x,"top",h.e=m),b!==h.t&&Pr(x,"right",h.t=b),z!==h.a&&Pr(x,"z-index",h.a=z),h},{e:void 0,t:void 0,a:void 0}),x}})}}),null),y})()};Lu(["pointerdown","click"]);var _e={toggleButton:1,mainPanel:2,detachedBase:3,mainDockPreview:4,dragGhost:900};import{template as $u}from"solid-js/web";import{setStyleProperty as Ir}from"solid-js/web";import{effect as _u}from"solid-js/web";import{createComponent as Gi}from"solid-js/web";import{createEffect as Zl,createMemo as Kl,createSignal as xo,Show as Wl,untrack as Xl}from"solid-js";import{Portal as tg}from"solid-js/web";import{createSignal as qu}from"solid-js";var Nl=()=>typeof window>"u"?{width:0,height:0}:{width:window.innerWidth,height:window.innerHeight},[De,Ju]=qu(Nl(),{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,Ju(Nl())})})}var eg=$u('<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">'),rg=24,ql={width:320,height:240};function zo(e){let[t,r]=xo({width:e.initialSize.width,height:e.initialSize.height}),[o,n]=xo({visible:!1,side:null,index:0}),i=Kl(()=>Ae(u.docks,e.panelId)),a=()=>i()!==null,l=Kl(()=>i()?Xe(u.docks,De(),{minSlotExtent:0})[e.panelId]??null:null);Zl(()=>{let k=l();k&&Xl(()=>{let M=e.position(),L=e.size();(M.x!==k.x||M.y!==k.y)&&e.setPosition({x:k.x,y:k.y}),(L.width!==k.width||L.height!==k.height)&&e.setSize({width:k.width,height:k.height})})});let[c,s]=xo(!0),v=()=>!a()&&c(),[g,d]=xo(!1),y=!0,x=(k,M)=>{n({visible:!0,side:k,index:M})},f=()=>{n({visible:!1,side:null,index:0})},h=k=>{r({width:k.width,height:k.height})},m=()=>{let k=e.panelRef();if(k){let M=k.getBoundingClientRect();return{width:M.width,height:M.height}}return e.size()},b=()=>{let k=o();return!k.visible||!k.side?null:gn(u.docks,e.panelId,k.side,k.index,De())},z=(k,M)=>{let L=De(),G=Math.max(1,L.width),Q=Math.max(1,L.height),W=Math.min(e.minSize.width,G),me=Math.min(e.minSize.height,Q);return{width:Math.min(G,Math.max(W,k)),height:Math.min(Q,Math.max(me,M))}},I=(k,M,L,G)=>{let Q=De(),W=z(L,G),me=Math.max(0,Q.width-W.width),fe=Math.max(0,Q.height-W.height);return{position:{x:Math.max(0,Math.min(k,me)),y:Math.max(0,Math.min(M,fe))},size:W}},A=(k,M,L,G)=>{let Q=De(),me=[{side:"left",amount:Math.max(0,-k)},{side:"right",amount:Math.max(0,k+L-Q.width)},{side:"top",amount:Math.max(0,-M)},{side:"bottom",amount:Math.max(0,M+G-Q.height)}].reduce((fe,ot)=>ot.amount>fe.amount?ot:fe);return me.amount>=rg?me.side:null},P=(k,M,L)=>un(u.docks,k,{x:M,y:L},De(),e.panelId),H=(k,M)=>{let L=e.position(),G=m();a()?y=!0:(h(G),y=c());let Q=z(ql.width,ql.height),W=G.width>0?Math.max(0,Math.min(1,(k-L.x)/G.width)):0,me=G.height>0?Math.max(0,Math.min(1,(M-L.y)/G.height)):0,fe=I(k-Q.width*W,M-Q.height*me,Q.width,Q.height);return qe(e.panelId),e.setSize(fe.size),e.setPosition(fe.position),s(!1),d(!0),f(),fe},j=()=>{let k=t(),M=z(k.width,k.height),L=e.position(),G=I(L.x,L.y,M.width,M.height);return e.setSize(G.size),e.setPosition(G.position),s(y),d(!1),e.onSizeCommit?.(G.size),e.onPositionCommit?.(G.position),G},K=k=>{f();let M=i();if(M&&k&&k===cn(M)){let G=m();return e.setSize(G),s(!1),{size:G,mode:"thickness"}}M&&qe(e.panelId);let L=m();return e.setSize(L),s(!1),{size:L,mode:"free"}},ie=(k,M,L)=>{let G=i();if(!G)return;let Q=Ve(G),W=Q?M:L,me=G==="left"||G==="top"?W:-W,fe=Q?e.minSize.width:e.minSize.height,ot=fn(u.docks,G,k+me,De(),fe);sr(G,ot)},pe=()=>{qe(e.panelId)},re=()=>{let k=o();return!k.visible||!k.side?null:(a()||h(e.size()),gt(e.panelId,k.side,k.index),s(!1),d(!1),f(),{side:k.side,index:k.index})},Re=()=>{let k=t(),M=z(k.width,k.height),L=e.position(),G=I(L.x,L.y,M.width,M.height);return qe(e.panelId),e.setSize(G.size),e.setPosition(G.position),s(!0),e.onSizeCommit?.(G.size),e.onPositionCommit?.(G.position),G},Ye=k=>{if(k===null){a()&&Re();return}a()||h(e.size()),gt(e.panelId,k),s(!1)},Xt=()=>{if(a())return;let k=e.position(),M=v()?m():e.size(),L=I(k.x,k.y,M.width,M.height);(M.width!==L.size.width||M.height!==L.size.height)&&(e.setSize(L.size),e.onSizeCommit?.(L.size)),(k.x!==L.position.x||k.y!==L.position.y)&&(e.setPosition(L.position),e.onPositionCommit?.(L.position))};return Zl(()=>{De(),Xl(Xt)}),{dockedSide:i,dockRect:l,isAutoHeight:v,setIsAutoHeight:s,showDockPreview:x,hideDockPreview:f,rememberUndockedSize:h,getLiveSize:m,getDockPreviewRect:b,detectDockSide:A,detectDockIndex:P,beginDragGhost:H,endDragGhost:j,isMoving:g,clampSizeToViewport:z,fitPanelToViewport:I,beginResize:K,resizeDockThickness:ie,clearDockedSide:pe,applyDockPreview:re,restoreUndockedPanel:Re,dockTo:Ye}}var wo=e=>{let t=Z("panel",e.rank);return Gi(Wl,{get when(){return e.rect},children:r=>Gi(Wl,{get when(){return t.mount()},keyed:!0,children:o=>Gi(tg,{mount:o,get children(){var n=eg();return _u(i=>{var a=`${r().x}px`,l=`${r().y}px`,c=`${r().width}px`,s=`${r().height}px`,v=t.zIndex();return a!==i.e&&Ir(n,"left",i.e=a),l!==i.t&&Ir(n,"top",i.t=l),c!==i.a&&Ir(n,"width",i.a=c),s!==i.o&&Ir(n,"height",i.o=s),v!==i.i&&Ir(n,"z-index",i.i=v),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),n}})})})};var ng=ce("<button type=button class=zylem-window-control data-testid=restore-sibling>"),ig=ce("<span style=display:inline-flex;flex:none>"),ag=ce("<div class=floating-panel-controls data-no-drag>"),lg=ce("<div class=zylem-chrome-inline>"),sg=ce("<div style=top:0;left:10px;right:10px;height:6px>"),dg=ce("<div style=bottom:0;left:10px;right:10px;height:6px>"),cg=ce("<div style=left:0;top:10px;bottom:10px;width:6px>"),mg=ce("<div style=right:0;top:10px;bottom:10px;width:6px>"),fg=ce("<div style=top:0;left:0;width:10px;height:10px>"),ug=ce("<div style=top:0;right:0;width:10px;height:10px>"),gg=ce("<div style=bottom:0;left:0;width:10px;height:10px>"),pg=ce("<div style=bottom:0;right:0;width:10px;height:10px>"),yg=ce("<section class=floating-panel style=position:fixed;display:flex;flex-direction:column;pointer-events:auto>"),bg=ce("<span class=floating-panel-title>"),hg=ce("<div class=floating-panel-titlebar style=cursor:grab;display:flex;align-items:center;user-select:none;touch-action:none>"),vg=ce("<div class=floating-panel-content style=flex:1;overflow:hidden;display:flex;flex-direction:column>"),es=3,Fi=e=>{let t=Z("panel",_e.mainPanel),r=e.panelId??Te,o=e.minSize??{width:300,height:200},n=e.initialSize??{width:460,height:600},i=()=>e.chrome??"bar",[a,l]=Hi(e.initialPosition??{x:50,y:50}),[c,s]=Hi(n),[v,g]=Hi(!1),d=()=>e.collapsed??v(),y=()=>{let S=!d();e.onCollapsedChange?.(S),e.collapsed===void 0&&g(S)},x=!1,f=!1,h="free",m=null,b={x:0,y:0},z={x:0,y:0},I={width:0,height:0},A=0,P=!1,H,j,{dockedSide:K,isAutoHeight:ie,showDockPreview:pe,hideDockPreview:re,rememberUndockedSize:Re,getLiveSize:Ye,getDockPreviewRect:Xt,detectDockSide:k,detectDockIndex:M,beginDragGhost:L,endDragGhost:G,isMoving:Q,clampSizeToViewport:W,beginResize:me,resizeDockThickness:fe,applyDockPreview:ot,dockTo:Le}=zo({panelId:r,initialSize:e.floatingSize??n,minSize:o,position:a,setPosition:l,size:c,setSize:s,panelRef:()=>H,onPositionCommit:S=>e.onMove?.(S),onSizeCommit:S=>e.onResize?.(S)});xg(()=>{let S=e.dockRequest?.();!S||S.panelId&&S.panelId!==r||Le(S.side)});let D=(S,C,p,w)=>({x:Math.max(-p+50,Math.min(S,window.innerWidth-50)),y:Math.max(0,Math.min(C,window.innerHeight-50))}),N=(S,C)=>W(S,C),se=S=>{let C=S.target;C instanceof Element&&C.closest("button, a, input, textarea, select, [data-no-drag]")||(x=!0,P=!1,re(),b={x:S.clientX,y:S.clientY},z={...a()},S.pointerType==="mouse"&&S.preventDefault())},V=S=>C=>{f=!0,m=S;let p=K(),{size:w,mode:F}=me(S);h=F,A=p&&Ve(p)?w.width:w.height,b={x:C.clientX,y:C.clientY},z={...a()},I={...w},C.pointerType==="mouse"&&C.preventDefault(),C.stopPropagation()},ue=S=>{if(x){let C=S.clientX-b.x,p=S.clientY-b.y;if((Math.abs(C)>es||Math.abs(p)>es)&&!P){P=!0;let w=L(S.clientX,S.clientY);b={x:S.clientX,y:S.clientY},z={...w.position},I={...w.size},C=0,p=0}if(P){let w=z.x+C,F=z.y+p,J=Ye(),_=k(w,F,J.width,J.height);_?pe(_,M(_,S.clientX,S.clientY)):re();let Ee=D(w,F,J.width,J.height);l(Ee)}}else if(f&&m){let C=S.clientX-b.x,p=S.clientY-b.y;if(h==="thickness"){fe(A,C,p);return}let w=I.width,F=I.height,J=z.x,_=z.y;m.includes("e")?w=I.width+C:m.includes("w")&&(w=I.width-C,J=z.x+C),m.includes("s")?F=I.height+p:m.includes("n")&&(F=I.height-p,_=z.y+p);let Ee=N(w,F);m.includes("w")&&Ee.width===o.width&&(J=z.x+I.width-o.width),m.includes("n")&&Ee.height===o.height&&(_=z.y+I.height-o.height),s(Ee),l(D(J,_,Ee.width,Ee.height))}},Ce=()=>{x&&P&&(ot()||G()),f&&h==="free"&&(Re(c()),e.onResize?.(c())),x=!1,f=!1,h="free",m=null,P=!1,re()};zg(()=>{if(window.addEventListener("pointermove",ue),window.addEventListener("pointerup",Ce),!e.fitDockThickness)return;let S=()=>{let p=j;if(!p||Q())return;let w=K();if(!w)return;let F=u.docks[w].panels;if(F.length!==1||F[0]!==r)return;let J=Ve(w)?p.offsetWidth:p.offsetHeight,_=Math.round(J);_>0&&_!==u.docks[w].thickness&&sr(w,_)},C=new ResizeObserver(S);j&&C.observe(j),S(),_l(()=>C.disconnect())}),_l(()=>{window.removeEventListener("pointermove",ue),window.removeEventListener("pointerup",Ce)});let ye=()=>!Q()&&!!e.hugContent&&!K(),Ge=()=>!Q()&&(ye()||d()&&!e.fitDockThickness||ie()&&!K()),Pe=()=>{let S=K();return S==="left"||S==="right"},ze=()=>typeof e.children=="function"?e.children({isCollapsed:d,dockedSide:K}):e.children,we=()=>(()=>{var S=ag();return ve(S,et(Tr,{get when(){return e.onRestoreSibling!==void 0},get children(){var C=ig();return ve(C,et(vt,{get content(){return e.restoreSiblingLabel??""},placement:"bottom",get children(){var p=ng();return p.$$click=()=>e.onRestoreSibling?.(),ve(p,()=>e.restoreSiblingIcon??e.restoreSiblingLabel),Se(w=>{var F=e.restoreSiblingLabel,J=e.restoreSiblingIcon?void 0:{"white-space":"nowrap",width:"auto"};return F!==w.e&&$l(p,"aria-label",w.e=F),w.t=je(p,J,w.t),w},{e:void 0,t:void 0}),p}})),C}}),null),ve(S,et(jl,{dockedSide:K,onDock:C=>Le(C)}),null),ve(S,et(xt,{get collapsed(){return d()},get onCollapse(){return e.collapsible?y:void 0},get onClose(){return e.onClose},closeTestId:"floating-panel-close"}),null),S})(),be=S=>({position:"absolute","z-index":10,cursor:S,"touch-action":"none"});return(()=>{var S=yg(),C=H;return typeof C=="function"?Jl(C,S):H=S,ve(S,et(wo,{get rect(){return Xt()},get rank(){return _e.mainDockPreview}}),null),ve(S,et(Tr,{get when(){return i()==="inline"},get fallback(){return[(()=>{var p=hg();return p.$$pointerdown=se,ve(p,et(Tr,{get when(){return!e.hideTitle},get children(){var w=bg();return ve(w,()=>e.title??"Panel"),w}}),null),ve(p,we,null),Se(w=>{var F=e.hideTitle?"flex-start":"space-between",J=K()?"0":void 0,_=Q()?"hidden":void 0;return F!==w.e&&Ut(p,"justify-content",w.e=F),J!==w.t&&Ut(p,"border-radius",w.t=J),_!==w.a&&Ut(p,"visibility",w.a=_),w},{e:void 0,t:void 0,a:void 0}),p})(),(()=>{var p=vg();return ve(p,ze),Se(w=>Ut(p,"visibility",Q()?"hidden":void 0)),p})()]},get children(){var p=lg();p.$$pointerdown=se;var w=j;return typeof w=="function"?Jl(w,p):j=p,ve(p,et(Tr,{get when(){return!d()},get children(){return ze()}}),null),ve(p,we,null),Se(F=>{var J=!!Pe(),_=!Pe()&&K()?"100%":"max-content",Ee=Q()?"hidden":void 0;return J!==F.e&&p.classList.toggle("zylem-chrome-inline--column",F.e=J),_!==F.t&&Ut(p,"width",F.t=_),Ee!==F.a&&Ut(p,"visibility",F.a=Ee),F},{e:void 0,t:void 0,a:void 0}),p}}),null),ve(S,et(Tr,{get when(){return e.resizable!==!1},get children(){return[(()=>{var p=sg();return dt(p,"pointerdown",V("n"),!0),Se(w=>je(p,{...be("ns-resize")},w)),p})(),(()=>{var p=dg();return dt(p,"pointerdown",V("s"),!0),Se(w=>je(p,{...be("ns-resize")},w)),p})(),(()=>{var p=cg();return dt(p,"pointerdown",V("w"),!0),Se(w=>je(p,{...be("ew-resize")},w)),p})(),(()=>{var p=mg();return dt(p,"pointerdown",V("e"),!0),Se(w=>je(p,{...be("ew-resize")},w)),p})(),(()=>{var p=fg();return dt(p,"pointerdown",V("nw"),!0),Se(w=>je(p,{...be("nwse-resize")},w)),p})(),(()=>{var p=ug();return dt(p,"pointerdown",V("ne"),!0),Se(w=>je(p,{...be("nesw-resize")},w)),p})(),(()=>{var p=gg();return dt(p,"pointerdown",V("sw"),!0),Se(w=>je(p,{...be("nesw-resize")},w)),p})(),(()=>{var p=pg();return dt(p,"pointerdown",V("se"),!0),Se(w=>je(p,{...be("nwse-resize")},w)),p})()]}}),null),Se(p=>{var w=e.label??e.title??"Panel",F={left:`${a().x}px`,top:`${a().y}px`,width:ye()?"auto":`${c().width}px`,height:Ge()?"auto":`${c().height}px`,"z-index":t.zIndex(),"border-radius":K()?"0":void 0,...Q()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}};return w!==p.e&&$l(S,"aria-label",p.e=w),p.t=je(S,F,p.t),p},{e:void 0,t:void 0}),S})()};og(["click","pointerdown"]);import{template as wg}from"solid-js/web";import{delegateEvents as kg}from"solid-js/web";import{setStyleProperty as Oi}from"solid-js/web";import{effect as Ag}from"solid-js/web";import{createSignal as Cg,onCleanup as Pg,onMount as Eg}from"solid-js";var Sg=wg("<div style=position:fixed;cursor:grab;touch-action:none;pointer-events:auto><button id=zylem-editor-toggle type=button>"),ko=50,ts=5,Ne=96,jt=20,rs=e=>{let t=Z("panel",_e.toggleButton),[r,o]=Cg({x:0,y:0}),n,i=!1,a={x:0,y:0},l={x:0,y:0},c=!1,s=(f,h)=>{let m=window.innerWidth,b=window.innerHeight,z=f,I=h;return f<ko?z=jt:f>m-Ne-ko&&(z=m-Ne-jt),h<ko?I=jt:h>b-Ne-ko&&(I=b-Ne-jt),{x:z,y:I}},v=(f,h)=>{let m=Math.max(0,window.innerWidth-Ne),b=Math.max(0,window.innerHeight-Ne);return{x:Math.max(0,Math.min(f,m)),y:Math.max(0,Math.min(h,b))}},g=f=>{i=!0,c=!1,a={x:f.clientX,y:f.clientY},l={...r()},f.pointerType==="mouse"&&f.preventDefault()},d=f=>{if(!i)return;let h=f.clientX-a.x,m=f.clientY-a.y;if((Math.abs(h)>ts||Math.abs(m)>ts)&&(c=!0),c){let b=l.x+h,z=l.y+m,I=window.innerWidth,A=window.innerHeight,P=Math.max(0,Math.min(b,I-Ne)),H=Math.max(0,Math.min(z,A-Ne));o({x:P,y:H})}},y=()=>{if(i){if(c){let f=r(),h=s(f.x,f.y);o(h),ir(h)}else e.onToggle();i=!1,c=!1}},x=()=>{n!==void 0&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{let f=r(),h=v(f.x,f.y);(h.x!==f.x||h.y!==f.y)&&(o(h),ir(h)),n=void 0})};return Eg(()=>{let f=v(window.innerWidth-Ne-jt,window.innerHeight-Ne-jt);o(f),ir(f),window.addEventListener("pointermove",d),window.addEventListener("pointerup",y),window.addEventListener("resize",x)}),Pg(()=>{window.removeEventListener("pointermove",d),window.removeEventListener("pointerup",y),window.removeEventListener("resize",x),n!==void 0&&cancelAnimationFrame(n)}),(()=>{var f=Sg(),h=f.firstChild;return h.$$pointerdown=g,Ag(m=>{var b=`${r().x}px`,z=`${r().y}px`,I=t.zIndex();return b!==m.e&&Oi(f,"left",m.e=b),z!==m.t&&Oi(f,"top",m.t=z),I!==m.a&&Oi(f,"z-index",m.a=I),m},{e:void 0,t:void 0,a:void 0}),f})()};kg(["pointerdown"]);import{template as Up}from"solid-js/web";import{delegateEvents as jp}from"solid-js/web";import{setStyleProperty as Xi}from"solid-js/web";import{style as rt}from"solid-js/web";import{effect as Np}from"solid-js/web";import{addEventListener as mt}from"solid-js/web";import{insert as Io}from"solid-js/web";import{createComponent as Es}from"solid-js/web";import{use as Zp}from"solid-js/web";import{createSignal as Is,onCleanup as Wp,onMount as Xp}from"solid-js";import{createComponent as Vp}from"solid-js/web";import{template as kt}from"solid-js/web";import{className as Ig}from"solid-js/web";import{setAttribute as Tg}from"solid-js/web";import{effect as os}from"solid-js/web";import{insert as le}from"solid-js/web";import{createComponent as Nt}from"solid-js/web";import{memo as Bg}from"solid-js/web";import{createSignal as Ao,For as ns,onCleanup as Og,onMount as Yg,Show as is}from"solid-js";import{subscribe as Qg}from"valtio/vanilla";var Dg=kt("<section class=zylem-section><h4 class=zylem-section-title>Message types</h4><div class=zylem-property-list>"),Mg=kt("<span class=zylem-property-value>(<!> older dropped)"),Rg=kt('<div class=panel-content><section class=zylem-toolbar><span class="zylem-property-value zylem-mono"> msg/s</span></section><section class=zylem-section><h4 class=zylem-section-title>Recent messages</h4><div class="bridge-log scrollable-y scroll-thin">'),Lg=kt("<p class=zylem-property-value>No bridge traffic recorded yet."),Gg=kt('<div class=zylem-property-row><span class=zylem-property-label></span><span class="zylem-property-value zylem-mono"> \xB7 <!>/s \xB7 '),Hg=kt("<p class=zylem-property-value>Waiting for messages\u2026"),Fg=kt("<div class=bridge-log-row><span></span><span class=bridge-log-type></span><span class=bridge-log-meta></span><span class=bridge-log-summary>"),as=()=>{let[e,t]=Ao([]),[r,o]=Ao([]),[n,i]=Ao(te.paused),[a,l]=Ao(0);Yg(()=>{Dn();let v=Qg(te,()=>{t([...te.stats]),o([...te.entries]),i(te.paused),l(te.dropped)});Og(()=>{v(),fr()})});let c=()=>Mn(!te.paused),s=()=>e().reduce((v,g)=>v+g.rate,0);return(()=>{var v=Rg(),g=v.firstChild,d=g.firstChild,y=d.firstChild,x=g.nextSibling,f=x.firstChild,h=f.firstChild,m=f.nextSibling;return le(g,Nt(de,{size:"sm",onClick:c,get children(){return n()?"Resume":"Pause"}}),d),le(g,Nt(de,{size:"sm",onClick:Rn,children:"Clear"}),d),le(d,()=>s().toFixed(0),y),le(v,Nt(is,{get when(){return e().length>0},get fallback(){return Lg()},get children(){var b=Dg(),z=b.firstChild,I=z.nextSibling;return le(I,Nt(ns,{get each(){return e()},children:A=>(()=>{var P=Gg(),H=P.firstChild,j=H.nextSibling,K=j.firstChild,ie=K.nextSibling,pe=ie.nextSibling;return le(H,()=>A.type),le(j,()=>A.sent,K),le(j,()=>A.rate.toFixed(0),ie),le(j,()=>Ln(A.bytes),null),le(j,(()=>{var re=Bg(()=>A.retained>0);return()=>re()?` \xB7 ${A.retained} kept`:""})(),null),os(re=>{var Re=A.rate>Ga,Ye=`sent ${A.sent} \xB7 queued ${A.queued} \xB7 delivered ${A.delivered} \xB7 coalesced ${(A.coalesced*100).toFixed(0)}% \xB7 ${A.listeners} listener(s) \xB7 ${A.retained} retained`;return Re!==re.e&&P.classList.toggle("bridge-row--hot",re.e=Re),Ye!==re.t&&Tg(P,"title",re.t=Ye),re},{e:void 0,t:void 0}),P})()})),b}}),x),le(f,Nt(is,{get when(){return a()>0},get children(){return[" ",(()=>{var b=Mg(),z=b.firstChild,I=z.nextSibling,A=I.nextSibling;return le(b,a,I),b})()]}}),null),le(m,Nt(ns,{get each(){return r().slice().reverse()},get fallback(){return Hg()},children:b=>(()=>{var z=Fg(),I=z.firstChild,A=I.nextSibling,P=A.nextSibling,H=P.nextSibling;return le(I,()=>b.kind),le(A,()=>b.type),le(P,()=>Ln(b.bytes)),le(H,()=>b.summary),os(()=>Ig(I,`bridge-log-kind bridge-log-kind--${b.kind}`)),z})()})),v})()};import{createComponent as Vg}from"solid-js/web";import{createSignal as Ug,onCleanup as jg}from"solid-js";import{subscribe as Ng}from"valtio/vanilla";var ls=()=>{let[e,t]=Ug(Fe.messages.join(`
|
|
30
|
+
`)),r=Fe.messages.length,o=Ng(Fe,()=>{let n=Fe.messages,i=n.length;if(i===0){r!==0&&t(""),r=0;return}if(i>r){let a=n.slice(r).join(`
|
|
31
31
|
`);r===0?t(a):a.length>0&&t(l=>`${l}
|
|
32
32
|
${a}`),r=i;return}t(n.join(`
|
|
33
|
-
`)),r=i});return
|
|
34
|
-
${Jr()}`)})},children:"Export Stage"}),null),t})()};import{template as Tr}from"solid-js/web";import{setAttribute as dg}from"solid-js/web";import{effect as Co}from"solid-js/web";import{createComponent as ys}from"solid-js/web";import{insert as et}from"solid-js/web";import{createMemo as gg,For as yg,Show as bg}from"solid-js";var cg=Tr("<div class=zylem-transform-row><span class=zylem-transform-row__label>"),mg=Tr("<input class=zylem-transform-row__field type=number step=any>"),fg=Tr("<section>"),ug=Tr("<div class=panel-content><div class=zylem-transform-snap><label><input type=checkbox>Snap to grid</label><label><input type=checkbox>Show grid</label></div><p class=zylem-transform-hint>Grid: <!> units, <!>\xB0, <!> scale. Hold Alt while dragging to move freely."),pg=Tr("<p class=zylem-transform-empty>Select an entity to edit its transform."),hg=3,xg=["x","y","z"];function ji(e){let t=10**hg;return Math.round(e*t)/t}function bs(e,t){return!ue.enabled||t<=0?e:Math.round(e/t)*t}var hs=()=>{let{debug:e,stage:t}=Fe(),r=gg(()=>{let a=e.selectedEntityId;return a?t.entities.find(l=>l.uuid===a)??null:null}),o=(a,l)=>{let d=r();if(!d)return 0;if(a==="rotation")return ji((d.rotation?.[l]??0)*180/Math.PI);let s=a==="scale"?1:0;return ji(d[a]?.[l]??s)},n=(a,l,d)=>{let s=r();if(!s?.uuid)return;let p=Number.parseFloat(d);if(!Number.isFinite(p))return;if(a==="rotation"){let g=ue.rotate*180/Math.PI,P=bs(p,g)*Math.PI/180,h={x:s.rotation?.x??0,y:s.rotation?.y??0,z:s.rotation?.z??0,[l]:P};It(s.uuid,{rotation:h});return}let c=a==="scale"?ue.scale:ue.translate,u=bs(p,c);if(a==="scale"){let g=u===0?c:u;It(s.uuid,{scale:{x:s.scale?.x??1,y:s.scale?.y??1,z:s.scale?.z??1,[l]:g}});return}It(s.uuid,{position:{x:s.position?.x??0,y:s.position?.y??0,z:s.position?.z??0,[l]:u}})},i=(a,l)=>(()=>{var d=cg(),s=d.firstChild;return et(s,l),et(d,ys(yg,{each:xg,children:p=>(()=>{var c=mg();return c.addEventListener("change",u=>n(a,p,u.currentTarget.value)),Co(()=>dg(c,"aria-label",`${l} ${p.toUpperCase()}`)),Co(()=>c.value=o(a,p)),c})()}),null),d})();return(()=>{var a=ug(),l=a.firstChild,d=l.firstChild,s=d.firstChild,p=d.nextSibling,c=p.firstChild,u=l.nextSibling,g=u.firstChild,P=g.nextSibling,h=P.nextSibling,v=h.nextSibling,m=v.nextSibling,b=m.nextSibling,z=b.nextSibling;return et(a,ys(bg,{get when(){return r()},get fallback(){return pg()},get children(){var k=fg();return et(k,()=>i("position","Position"),null),et(k,()=>i("rotation","Rotation\xB0"),null),et(k,()=>i("scale","Scale"),null),k}}),l),s.addEventListener("change",k=>dr(k.currentTarget.checked)),c.addEventListener("change",k=>cr(k.currentTarget.checked)),et(u,()=>ue.translate,P),et(u,()=>ji(ue.rotate*180/Math.PI),v),et(u,()=>ue.scale,b),Co(()=>s.checked=ue.enabled),Co(()=>c.checked=ue.gridVisible),a})()};var Ni=[{id:"game-config",title:"Game",component:ds},{id:"stage-config",title:"Stage",component:gs},{id:"entities",title:"Entities",component:ss},{id:"transform",title:"Transform",component:hs},{id:"level",title:"Level",component:us},{id:"console",title:"Console",component:es},{id:"bridge",title:"Bridge",component:_l}],xs=e=>Ni.find(t=>t.id===e),vs=e=>xs(e)?.title??e,Po=e=>{let t=xs(e);if(!t)return null;let r=t.component;return vg(r,{})};var Sg=zg('<div class="detached-panel floating-panel"style=pointer-events:auto><div class="detached-panel-titlebar floating-panel-titlebar"style=touch-action:none><span class=floating-panel-title></span></div><div class="detached-panel-content floating-panel-content"></div><div style=top:0;left:10px;right:10px;height:6px></div><div style=bottom:0;left:10px;right:10px;height:6px></div><div style=left:0;top:10px;bottom:10px;width:6px></div><div style=right:0;top:10px;bottom:10px;width:6px></div><div style=top:0;left:0;width:10px;height:10px></div><div style=top:0;right:0;width:10px;height:10px></div><div style=bottom:0;left:0;width:10px;height:10px></div><div style=bottom:0;right:0;width:10px;height:10px>'),As=3,Ki=250,Wi=150,ks=e=>{let t=()=>f.detachedPanels[e.panelId],r=()=>$e.detachedBase+f.panelZOrder.indexOf(e.panelId),o=K("panel",r),n=t()?.size??{width:350,height:300},[i,a]=ws(t()?.position??{x:100,y:100}),[l,d]=ws(n),s=!1,p=!1,c="free",u=null,g={x:0,y:0},P={x:0,y:0},h={width:0,height:0},v=0,m=!1,b,{dockedSide:z,isAutoHeight:k,showDockPreview:x,hideDockPreview:E,rememberUndockedSize:H,getLiveSize:Y,getDockPreviewRect:V,detectDockSide:$,detectDockIndex:ge,beginDragGhost:oe,endDragGhost:Me,isMoving:Oe,clampSizeToViewport:Nt,beginResize:A,resizeDockThickness:M,applyDockPreview:L}=vo({panelId:e.panelId,initialSize:n,minSize:{width:Ki,height:Wi},position:i,setPosition:a,size:l,setSize:d,panelRef:()=>b,onPositionCommit:D=>Nr(e.panelId,D),onSizeCommit:D=>Zr(e.panelId,D)}),G=()=>{or(e.panelId)},U=D=>{s=!0,m=!1,E(),g={x:D.clientX,y:D.clientY},P={...i()},or(e.panelId),D.pointerType==="mouse"&&D.preventDefault()},W=D=>Z=>{p=!0,u=D;let se=z(),{size:j,mode:fe}=A(D);c=fe,v=se&&Qe(se)?j.width:j.height,g={x:Z.clientX,y:Z.clientY},P={...i()},h={...j},or(e.panelId),Z.pointerType==="mouse"&&Z.preventDefault(),Z.stopPropagation()},ce=D=>{if(s){let Z=D.clientX-g.x,se=D.clientY-g.y;if((Math.abs(Z)>As||Math.abs(se)>As)&&!m){m=!0,ir(e.panelId);let j=oe(D.clientX,D.clientY);g={x:D.clientX,y:D.clientY},P={...j.position},h={...j.size},Z=0,se=0}if(m){let j=P.x+Z,fe=P.y+se,Se=Y(),ye=$(j,fe,Se.width,Se.height);ye?(x(ye,ge(ye,D.clientX,D.clientY)),it(null)):E();let Le={x:Math.max(0,Math.min(j,window.innerWidth-100)),y:Math.max(0,Math.min(fe,window.innerHeight-50))};if(a(Le),!ye){let Ce=document.querySelector(".zylem-accordion");if(Ce){let xe=Ce.getBoundingClientRect();if(D.clientX>=xe.left&&D.clientX<=xe.right&&D.clientY>=xe.top&&D.clientY<=xe.bottom){let be=Ce.querySelectorAll(".accordion-item"),S=0;for(let w=0;w<be.length;w++){let y=be[w];if(!y)continue;let C=y.getBoundingClientRect(),F=C.top+C.height/2;D.clientY>F&&(S=w+1)}it(S)}else it(null)}}}}else if(p&&u){let Z=D.clientX-g.x,se=D.clientY-g.y;if(c==="thickness"){M(v,Z,se);return}let j=h.width,fe=h.height,Se=P.x,ye=P.y;if(u.includes("e"))j=Math.max(Ki,h.width+Z);else if(u.includes("w")){let ve=h.width-Z;ve>=Ki&&(j=ve,Se=P.x+Z)}if(u.includes("s"))fe=Math.max(Wi,h.height+se);else if(u.includes("n")){let ve=h.height-se;ve>=Wi&&(fe=ve,ye=P.y+se)}let Le=Nt(j,fe),Ce=Math.max(0,window.innerWidth-Le.width),xe=Math.max(0,window.innerHeight-Le.height);d(Le),a({x:Math.max(0,Math.min(Se,Ce)),y:Math.max(0,Math.min(ye,xe))})}},me=()=>{if(s&&m&&!L()){let D=f.dropTargetIndex;D!==null?jr(e.panelId,D):Me()}p&&c==="free"&&(H(l()),Zr(e.panelId,l()),Nr(e.panelId,i())),s=!1,p=!1,c="free",u=null,m=!1,E(),ar()},rt=()=>{jr(e.panelId)};Pg(()=>{window.addEventListener("pointermove",ce),window.addEventListener("pointerup",me)}),Cg(()=>{window.removeEventListener("pointermove",ce),window.removeEventListener("pointerup",me)});let Re=D=>({position:"absolute","z-index":10,cursor:D,"touch-action":"none"});return(()=>{var D=Sg(),Z=D.firstChild,se=Z.firstChild,j=Z.nextSibling,fe=j.nextSibling,Se=fe.nextSibling,ye=Se.nextSibling,Le=ye.nextSibling,Ce=Le.nextSibling,xe=Ce.nextSibling,ve=xe.nextSibling,be=ve.nextSibling;D.$$pointerdown=G;var S=b;return typeof S=="function"?kg(S,D):b=D,Eo(D,zs(zo,{get rect(){return V()},rank:()=>r()+1}),Z),Z.$$pointerdown=U,Eo(se,()=>vs(e.panelId)),Eo(Z,zs(bt,{onClose:rt,closeLabel:"Dock back to panel"}),null),Eo(j,()=>Po(e.panelId)),mt(fe,"pointerdown",W("n"),!0),mt(Se,"pointerdown",W("s"),!0),mt(ye,"pointerdown",W("w"),!0),mt(Le,"pointerdown",W("e"),!0),mt(Ce,"pointerdown",W("nw"),!0),mt(xe,"pointerdown",W("ne"),!0),mt(ve,"pointerdown",W("sw"),!0),mt(be,"pointerdown",W("se"),!0),Ag(w=>{var y={left:`${i().x}px`,top:`${i().y}px`,width:`${l().width}px`,height:k()?"auto":`${l().height}px`,"z-index":o.zIndex(),"border-radius":z()?"0":void 0,...Oe()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}},C=z()?"0":void 0,F=Oe()?"hidden":void 0,_=Oe()?"hidden":void 0,ee={...Re("ns-resize")},Pe={...Re("ns-resize")},yd={...Re("ew-resize")},bd={...Re("ew-resize")},hd={...Re("nwse-resize")},xd={...Re("nesw-resize")},vd={...Re("nesw-resize")},zd={...Re("nwse-resize")};return w.e=tt(D,y,w.e),C!==w.t&&Zi(Z,"border-radius",w.t=C),F!==w.a&&Zi(Z,"visibility",w.a=F),_!==w.o&&Zi(j,"visibility",w.o=_),w.i=tt(fe,ee,w.i),w.n=tt(Se,Pe,w.n),w.s=tt(ye,yd,w.s),w.h=tt(Le,bd,w.h),w.r=tt(Ce,hd,w.r),w.d=tt(xe,xd,w.d),w.l=tt(ve,vd,w.l),w.u=tt(be,zd,w.u),w},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0}),D})()};wg(["pointerdown"]);import{template as Ug}from"solid-js/web";import{insert as jg}from"solid-js/web";import{createComponent as Ts}from"solid-js/web";import{Show as Zg}from"solid-js";import{template as Yg}from"solid-js/web";import{createComponent as Mr}from"solid-js/web";import{memo as Cs}from"solid-js/web";import{Accordion as Qg}from"@kobalte/core";import{Index as Vg,Show as Es}from"solid-js";import{template as Tg}from"solid-js/web";import{setStyleProperty as Dr}from"solid-js/web";import{effect as Bg}from"solid-js/web";import{insert as Dg}from"solid-js/web";import{memo as Mg}from"solid-js/web";import{createComponent as jt}from"solid-js/web";import{Accordion as Io}from"@kobalte/core";import{createSignal as Ji,onCleanup as Lg,onMount as Gg,Show as Hg}from"solid-js";import{Portal as Fg}from"solid-js/web";var Eg=new Set(["translate","rotate","scale"]);function Xi(e,t){return e==="game-config"||e==="stage-config"||e==="console"?!0:e==="transform"?Eg.has(t.tool):e==="entities"||e==="bridge"?t.debug:e==="level"?t.build:!1}function Ig(e,t,r){let o=new Set(t);return e.filter(n=>!o.has(n)&&Xi(n,r))}function qi(){return{debug:f.debug,build:ze.active,tool:f.tool}}function Br(){return Ig(f.panelOrder,Object.keys(f.detachedPanels),qi())}var Rg=Tg(`<div class=accordion-drag-ghost style="position:fixed;pointer-events:none;display:flex;align-items:center;justify-content:space-between;background:rgba(10, 20, 30, 0.54);border:2px dotted #E64534;border-radius:12px;color:#61A6E8;font-family:'Exo 2', sans-serif;backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.5), 0 0 0 1px #E64534"><span class="accordion-trigger zylem-exo-2"style="font-family:'Exo 2', sans-serif;font-weight:400;padding:8px 12px">`),Og=5,Ss=e=>{let t=K("panel",$e.dragGhost),r,o,n=null,[i,a]=Ji(!1),[l,d]=Ji({x:0,y:0}),[s,p]=Ji({width:0,height:0}),c={x:0,y:0},u=!1,g=()=>Br().indexOf(e.value),P=m=>{if(m.button===0){if(u=!0,c={x:m.clientX,y:m.clientY},n=r?.closest(".floating-panel"),o){let b=o.getBoundingClientRect();p({width:b.width,height:b.height})}m.pointerType==="mouse"&&m.preventDefault()}},h=m=>{if(!u)return;let b=m.clientX-c.x,z=m.clientY-c.y;if(Math.sqrt(b*b+z*z)>Og&&!i()&&(a(!0),ir(e.value)),i()&&(d({x:m.clientX-s().width/2,y:m.clientY-15}),n)){let x=n.getBoundingClientRect();if(m.clientX>=x.left&&m.clientX<=x.right&&m.clientY>=x.top&&m.clientY<=x.bottom){let H=n.querySelector(".zylem-accordion");if(H){let Y=H.querySelectorAll(".accordion-item"),V=0;for(let $=0;$<Y.length;$++){let ge=Y[$];if(!ge)continue;let oe=ge.getBoundingClientRect(),Me=oe.top+oe.height/2;m.clientY>Me&&(V=$+1)}it(V)}}else it(null)}},v=m=>{if(!u)return;let b=i();if(u=!1,a(!1),b&&n){let z=n.getBoundingClientRect();if(m.clientX<z.left||m.clientX>z.right||m.clientY<z.top||m.clientY>z.bottom)rr(e.value,{x:m.clientX-175,y:m.clientY-20});else{let x=f.dropTargetIndex;if(x!==null){let E=g();if(x!==E&&x!==E+1){let Y=Br().filter(ge=>ge!==e.value),V=x;x>E&&(V=x-1),Y.splice(V,0,e.value);let $=[...Y];f.panelOrder.forEach(ge=>{$.includes(ge)||$.push(ge)}),yn($)}}}}ar()};return Gg(()=>{window.addEventListener("pointermove",h),window.addEventListener("pointerup",v)}),Lg(()=>{window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",v)}),[jt(Io.Item,{ref(m){var b=r;typeof b=="function"?b(m):r=m},get value(){return e.value},get class(){return`accordion-item ${i()?"accordion-item--dragging":""}`},get children(){return[jt(Io.Header,{ref(m){var b=o;typeof b=="function"?b(m):o=m},class:"accordion-header",onPointerDown:P,style:{"touch-action":"none"},get children(){return jt(Io.Trigger,{class:"accordion-trigger zylem-exo-2",get children(){return e.title}})}}),jt(Io.Content,{class:"accordion-content scrollable-y scroll-thin",get children(){return e.children}})]}}),jt(Hg,{get when(){return Mg(()=>!!i())()&&t.mount()},get children(){return jt(Fg,{get mount(){return t.mount()},get children(){var m=Rg(),b=m.firstChild;return Dg(b,()=>e.title),Bg(z=>{var k=`${l().x}px`,x=`${l().y}px`,E=`${s().width}px`,H=`${s().height}px`,Y=t.zIndex();return k!==z.e&&Dr(m,"left",z.e=k),x!==z.t&&Dr(m,"top",z.t=x),E!==z.a&&Dr(m,"width",z.a=E),H!==z.o&&Dr(m,"height",z.o=H),Y!==z.i&&Dr(m,"z-index",z.i=Y),z},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),m}})}})]};var Ps=Yg("<div class=accordion-drop-indicator>"),Is=()=>{let e=()=>Br().map(o=>Ni.find(n=>n.id===o)).filter(o=>o!==void 0),t=()=>f.draggingPanelId!==null,r=()=>f.dropTargetIndex;return Mr(Qg.Root,{multiple:!0,class:"zylem-accordion",get value(){return f.openSections},onChange:bn,get children(){return[Mr(Es,{get when(){return Cs(()=>!!t())()&&r()===0},get children(){return Ps()}}),Mr(Vg,{get each(){return e()},children:(o,n)=>[Mr(Ss,{get value(){return o().id},get title(){return o().title},get children(){return Po(o().id)}}),Mr(Es,{get when(){return Cs(()=>!!t())()&&r()===n+1},get children(){return Ps()}})]})]}})};var Ng=Ug("<div class=zylem-menu>"),Bs=e=>Ts(Zg,{get when(){return!e.isCollapsed()},get children(){var t=Ng();return jg(t,Ts(Is,{})),t}});import{template as ea}from"solid-js/web";import{effect as by}from"solid-js/web";import{memo as hy}from"solid-js/web";import{insert as kt}from"solid-js/web";import{createComponent as N}from"solid-js/web";import{For as wy,Show as Ay}from"solid-js";import{template as Ms}from"solid-js/web";import{effect as Kg}from"solid-js/web";import{insert as Wg}from"solid-js/web";import{createComponent as To}from"solid-js/web";import{memo as Xg}from"solid-js/web";import $g from"lucide-solid/icons/plus";import{createMemo as Ds,createSignal as _g,onCleanup as ey,Show as ty}from"solid-js";var qg=Ms("<div class=zylem-add-tool>"),Jg=Ms("<span class=zylem-add-tool__glyph>"),Bo=e=>{let t=()=>e.placement??"doodad",r=()=>Va(f.tool,Ze.armedTypeId)&&ze.placementRole===t(),o=Ds(()=>$r(Ze.entities,Ze.armedTypeId,Ze.lastTypeId)),n=Ds(()=>Ua(Ze.entities)),i=()=>{let s=o();return e.label?s?`${e.label}: ${s.label}`:e.label:s?`Place ${s.label}`:"Add"},[a,l]=_g(!1);return ey(e.registerPaletteShortcut??t()==="doodad"?Na(()=>Ze.entities.length===0?!1:(l(!0),!0)):()=>{}),(()=>{var s=qg();return Wg(s,To(ci,{get label(){return i()},get tooltip(){return Xg(()=>!!e.label)()?i():`${J(i(),"add")} \xB7 ${J("Palette","addPalette")}`},get selected(){return r()},get disabled(){return Ze.entities.length===0},onAction:()=>fr(t()),get open(){return a()},onOpenChange:l,menu:p=>To(gi,{get items(){return n()},get selectedId(){return Ze.armedTypeId},searchPlaceholder:"Search entities\u2026",emptyMessage:"No entity types published. Is a game running?",onSelect:c=>{to(c.id,t()),p()}}),get children(){return To(ty,{get when(){return o()?.icon},get fallback(){return To($g,{class:"zylem-icon"})},children:p=>(()=>{var c=Jg();return Kg(()=>c.innerHTML=p()),c})()})}})),s})()};import{createComponent as Rs}from"solid-js/web";import ry from"lucide-solid/icons/hammer";var Ls=()=>{let e=()=>ze.buffer?.entries.length??0,t=()=>{let r=ze.active?"Building":"Build";return e()>0?`${r} (${e()})`:r};return Rs(Q,{get label(){return J(t(),"build")},get selected(){return ze.active},onClick:ro,get children(){return Rs(ry,{class:"zylem-icon"})}})};function Gs(e){let t=["translate","rotate","scale"];return e.perspective&&t.push("view-game","view-side","view-top","view-isometric","view-free"),e.debug&&t.push("grid"),e.build&&t.push("add-actor","add-level","add-primitive","delete"),t.push("snap","undo","redo"),t}function Hs(e){return e==="view-game"||e==="grid"||e==="add-actor"||e==="snap"}import{createComponent as Fs}from"solid-js/web";import oy from"lucide-solid/icons/bug";var Os=()=>Fs(Q,{get label(){return J("Debug","debug")},get selected(){return f.debug},onClick:mr,get children(){return Fs(oy,{class:"zylem-icon"})}});import{createComponent as Ys}from"solid-js/web";import ny from"lucide-solid/icons/trash";var Qs=()=>Ys(Q,{get label(){return J("Delete","delete")},get selected(){return f.tool==="delete"},onClick:()=>gt("delete"),get children(){return Ys(ny,{class:"zylem-icon"})}});import{createComponent as Do}from"solid-js/web";import iy from"lucide-solid/icons/grid-3x3";import ay from"lucide-solid/icons/magnet";var Vs=()=>Do(Q,{get label(){return J(ue.gridVisible?"Hide grid":"Show grid","grid")},get selected(){return ue.gridVisible},onClick:pr,get children(){return Do(iy,{class:"zylem-icon"})}}),Us=()=>Do(Q,{get label(){return J(ue.enabled?"Snapping on":"Snapping off","snap")},get selected(){return ue.enabled},onClick:ur,get children(){return Do(ay,{class:"zylem-icon"})}});import{createComponent as Mo}from"solid-js/web";import ly from"lucide-solid/icons/redo-2";import sy from"lucide-solid/icons/undo-2";var js=e=>e[e.length-1]?.label??null,Ns=()=>{let e=()=>{let t=js(Xt.undoStack);return t?J(`Undo ${t}`,"undo"):"Nothing to undo"};return Mo(Q,{get label(){return e()},get disabled(){return Xt.undoStack.length===0},onClick:()=>qt(),get children(){return Mo(sy,{class:"zylem-icon"})}})},Zs=()=>{let e=()=>{let t=js(Xt.redoStack);return t?J(`Redo ${t}`,"redo"):"Nothing to redo"};return Mo(Q,{get label(){return e()},get disabled(){return Xt.redoStack.length===0},onClick:()=>Jt(),get children(){return Mo(ly,{class:"zylem-icon"})}})};import{createComponent as Ks}from"solid-js/web";import"solid-js/web";var Ws=()=>Ks(Q,{get label(){return at.perspective?"Perspective on":"Perspective"},get selected(){return at.perspective},onClick:Za,get children(){return Ks(Ai,{})}});import{createComponent as $i}from"solid-js/web";import{memo as dy}from"solid-js/web";import cy from"lucide-solid/icons/pause";import my from"lucide-solid/icons/play";var Xs=()=>$i(Q,{get label(){return J(f.paused?"Play":"Pause","playback")},get selected(){return f.paused},onClick:gr,get children(){return dy(()=>!!f.paused)()?$i(my,{class:"zylem-icon"}):$i(cy,{class:"zylem-icon"})}});import{createComponent as qs}from"solid-js/web";import fy from"lucide-solid/icons/mouse-pointer";var Js=()=>qs(Q,{get label(){return J("Select","select")},get selected(){return f.tool==="select"},onClick:()=>gt("select"),get children(){return qs(fy,{class:"zylem-icon"})}});import{createComponent as wt}from"solid-js/web";import uy from"lucide-solid/icons/move-3d";import py from"lucide-solid/icons/rotate-3d";import gy from"lucide-solid/icons/scale-3d";import{createMemo as yy}from"solid-js";var _i=e=>{let{stage:t}=Fe(),r=yy(()=>_r(f.selected,f.lastTouched,t.entities.map(o=>o.uuid).filter(o=>!!o)));return wt(Q,{get label(){return J(e.label,e.tool)},get selected(){return f.tool===e.tool},get disabled(){return!r()},onClick:()=>Vn(e.tool),get children(){return e.children}})},$s=()=>wt(_i,{tool:"translate",label:"Move",get children(){return wt(uy,{class:"zylem-icon"})}}),_s=()=>wt(_i,{tool:"rotate",label:"Rotate",get children(){return wt(py,{class:"zylem-icon"})}}),ed=()=>wt(_i,{tool:"scale",label:"Scale",get children(){return wt(gy,{class:"zylem-icon"})}});import{createComponent as At}from"solid-js/web";var Rr=e=>{let t=e.icon;return At(Q,{get label(){return e.label},get selected(){return no(at.preset,at.spaceHeld)===e.preset},onClick:()=>Ka(e.preset),get children(){return At(t,{})}})},td=()=>At(Rr,{preset:"game",label:"Game camera",icon:Ei}),rd=()=>At(Rr,{preset:"top",label:"Top",icon:Si}),od=()=>At(Rr,{preset:"side",label:"Side",icon:ki}),nd=()=>At(Rr,{preset:"isometric",label:"Isometric",icon:Ci}),id=()=>At(Rr,{preset:"free",label:"Free camera",icon:Pi});var xy=ea("<div class=zylem-toolbar-group>"),vy=ea("<span class=zylem-toolbar-divider>"),zy=ea("<div class=zylem-toolbar><span class=zylem-toolbar-divider>"),ky=()=>(()=>{var e=xy();return kt(e,N(Js,{}),null),kt(e,N(Ls,{}),null),kt(e,N(Ws,{}),null),kt(e,N(Os,{}),null),kt(e,N(Xs,{}),null),e})(),Sy=e=>{switch(e.action){case"translate":return N($s,{});case"rotate":return N(_s,{});case"scale":return N(ed,{});case"view-game":return N(td,{});case"view-side":return N(od,{});case"view-top":return N(rd,{});case"view-isometric":return N(nd,{});case"view-free":return N(id,{});case"grid":return N(Vs,{});case"add-actor":return N(Bo,{placement:"actor",label:"Add actor",registerPaletteShortcut:!1});case"add-level":return N(Bo,{placement:"level",label:"Add level",registerPaletteShortcut:!1});case"add-primitive":return N(Bo,{placement:"doodad",label:"Add primitive"});case"delete":return N(Qs,{});case"snap":return N(Us,{});case"undo":return N(Ns,{});case"redo":return N(Zs,{})}},Cy=()=>{let e=()=>Gs({perspective:at.perspective,debug:f.debug,build:ze.active});return N(wy,{get each(){return e()},children:(t,r)=>[N(Ay,{get when(){return hy(()=>r()>0)()&&Hs(t)},get children(){return vy()}}),N(Sy,{action:t})]})},ad=e=>(()=>{var t=zy(),r=t.firstChild;return kt(t,N(ky,{}),r),kt(t,N(Cy,{}),null),by(()=>t.classList.toggle("zylem-toolbar--vertical",(e.orientation??"row")==="column")),t})();var Ey=Py("<div style=display:flex;height:100vh;width:100vw;position:absolute;pointer-events:none><div style=flex:1>"),Lr=460,Gr=600,St=20,My=12,Ry=92,Ly=(e=0)=>{let t=My,r=Math.max(300,window.innerWidth-t*2),o=Math.max(200,window.innerHeight-e-t*2),n=Math.min(Lr,r),i=Math.min(Gr,o),a=t,l=window.innerHeight-e-t,d=Math.round((l-a-i)/2)+a;return{initialPosition:{x:Math.max(t,Math.round((window.innerWidth-n)/2)),y:Math.max(a,d)},initialSize:{width:n,height:i}}},Gy=()=>{if(f.panelPosition)return f.panelPosition;let e=f.toggleButtonPosition,t=window.innerWidth,r=window.innerHeight,o=e.x>t/2,n=e.y>r/2,i,a;return o?i=t-Lr-St:i=St,n?a=Math.max(St,r-Gr-St):a=St,{x:i,y:a}},ra=e=>{let[t,r]=Lo(!1),[o,n]=Lo(!1),[i,a]=Lo(null),[l,d]=Lo(null),s=()=>e.launcherMode??"floating",p=()=>t()||o();vn(e.defaultDocks),zn();let c=()=>{r(!0),n(!0)},u=()=>{r(!1),n(!1)},g=()=>{p()?u():c()},P=x=>{pn(x)},h=()=>we(f.docks,Ie),v=()=>{let x=qi();return Object.keys(f.detachedPanels).filter(E=>Xi(E,x))},m=()=>typeof window>"u"?s()==="hidden":s()==="hidden"||window.innerWidth<Lr+St*2||window.innerHeight<Gr+St*2,b=ld(()=>{if(h()){let E=Ke(f.docks,Te())[Ie];if(E)return{initialPosition:{x:E.x,y:E.y},initialSize:{width:E.width,height:E.height}}}let x=typeof window>"u"||!m()?{initialPosition:Gy(),initialSize:{width:Lr,height:Gr}}:Ly(s()==="hidden"?Ry:0);return{initialPosition:x.initialPosition,initialSize:f.panelSize??x.initialSize}}),z=ld(()=>{if(we(f.docks,ne)){let E=Ke(f.docks,Te())[ne];if(E)return{initialPosition:{x:E.x,y:E.y},initialSize:{width:E.width,height:E.height}}}return{initialPosition:{x:0,y:0},initialSize:{width:640,height:40}}}),k={openPanel:c,closePanel:u,togglePanel:g,isPanelOpen:p,dockPanel:(x,E=Ie)=>{if(E===ne){r(!0),a(H=>({side:x,nonce:(H?.nonce??0)+1,panelId:E}));return}if(E===Ie){n(!0),d(H=>({side:x,nonce:(H?.nonce??0)+1,panelId:E}));return}if(x===null){We(E);return}Kr(E)||rr(E,{x:100,y:100}),ut(E,x)}};return By(()=>{e.onControllerReady?.(k)}),Ty(()=>{e.onControllerReady?.(null)}),De(io,{get children(){var x=Ey(),E=x.firstChild;return Ro(x,De(ta,{get when(){return s()!=="hidden"},get children(){return De(Xl,{onToggle:g})}}),E),Ro(x,De(ta,{get when(){return t()},get children(){return De(Li,{panelId:ne,label:"Toolbar",hideTitle:!0,chrome:"inline",resizable:!1,fitDockThickness:!0,hugContent:!0,get initialPosition(){return z().initialPosition},get initialSize(){return z().initialSize},floatingSize:{width:640,height:40},minSize:{width:36,height:36},collapsible:!0,get collapsed(){return f.toolbarCollapsed},onCollapsedChange:hn,onClose:()=>r(!1),get onRestoreSibling(){return o()?void 0:()=>n(!0)},restoreSiblingLabel:"Show panels",dockRequest:i,children:H=>De(ad,{get orientation(){return H.dockedSide()==="left"||H.dockedSide()==="right"?"column":"row"}})})}}),E),Ro(x,De(ta,{get when(){return o()},get children(){return De(Li,{panelId:Ie,label:"Panels",hideTitle:!0,get initialPosition(){return b().initialPosition},get initialSize(){return b().initialSize},get floatingSize(){return f.panelSize??{width:Lr,height:Gr}},minSize:{width:300,height:200},collapsible:!0,get collapsed(){return f.mainCollapsed},onCollapsedChange:xn,onClose:()=>n(!1),get onRestoreSibling(){return t()?void 0:()=>r(!0)},restoreSiblingLabel:"Show toolbar",onMove:P,onResize:gn,dockRequest:l,children:H=>De(Bs,{get isCollapsed(){return H.isCollapsed}})})}}),E),Ro(x,De(Iy,{get each(){return v()},children:H=>De(ks,{panelId:H})}),E),x}})};if(typeof window<"u"&&!import.meta.env.VITEST){let e=document.getElementById("zylem-editor-container");e&&Dy(()=>De(ra,{}),e)}var Fy=e=>Hy(ra,{get launcherMode(){return e.launcherMode},get defaultDocks(){return e.defaultDocks},get onControllerReady(){return e.onControllerReady}}),sd=Fy;var dd=`
|
|
33
|
+
`)),r=i});return jg(()=>{o()}),Vg(ai,{get value(){return e()},onInput:t,onClear:dn})};import{template as gs}from"solid-js/web";import{delegateEvents as lp}from"solid-js/web";import{setAttribute as sp}from"solid-js/web";import{effect as dp}from"solid-js/web";import"solid-js/web";import{createComponent as us}from"solid-js/web";import{insert as Vi}from"solid-js/web";import{For as fp}from"solid-js";import{template as Br}from"solid-js/web";import{setAttribute as So}from"solid-js/web";import{effect as cs}from"solid-js/web";import{insert as Zt}from"solid-js/web";import{createComponent as Yi}from"solid-js/web";import{Show as ms}from"solid-js";import{createComponent as Zg}from"solid-js/web";import"solid-js/web";import ss from"lucide-solid/icons/box";import Kg from"lucide-solid/icons/ghost";import Wg from"lucide-solid/icons/globe";import Xg from"lucide-solid/icons/grid-3x3";import qg from"lucide-solid/icons/person-standing";import Jg from"lucide-solid/icons/square";import $g from"lucide-solid/icons/square-dashed";import _g from"lucide-solid/icons/torus";import ep from"lucide-solid/icons/type";var tp={Box:ss,Sphere:Wg,Disk:_g,Sprite:Kg,Actor:qg,Text:ep,Rect:Jg,Plane:Xg,Zone:$g},ds=e=>{let t=tp[e.type]??ss;return Zg(t,{get class(){return e.class??"entity-icon"}})};var rp=Br('<div class="entity-ruler entity-ruler-bottom"aria-hidden=true><span class=entity-ruler-ticks></span><span class=entity-ruler-label>'),op=Br('<div class="entity-ruler entity-ruler-side"aria-hidden=true><span class=entity-ruler-ticks></span><span class=entity-ruler-label>'),np=Br("<span class=entity-ruler-depth>d "),ip=Br("<div class=entity-thumbnail><div class=entity-thumbnail-frame><span class=entity-grid-name>"),ap=Br("<img class=entity-thumbnail-image>");function Qi(e){return Number.isFinite(e)?e>=10?e.toFixed(0):e>=1?e.toFixed(1):e.toFixed(2):"\u2014"}var fs=e=>{let t=()=>Qi(e.bounds?.width??0),r=()=>Qi(e.bounds?.height??0),o=()=>Qi(e.bounds?.depth??0),n=()=>!!e.bounds,i=()=>e.name??e.type;return(()=>{var a=ip(),l=a.firstChild,c=l.firstChild;return Zt(l,Yi(ms,{get when(){return e.thumbnail},get fallback(){return Yi(ds,{get type(){return e.type},class:"entity-icon"})},children:s=>(()=>{var v=ap();return So(v,"draggable",!1),cs(g=>{var d=s(),y=e.name??e.type;return d!==g.e&&So(v,"src",g.e=d),y!==g.t&&So(v,"alt",g.t=y),g},{e:void 0,t:void 0}),v})()}),c),Zt(c,i),Zt(l,Yi(ms,{get when(){return n()},get children(){return[(()=>{var s=rp(),v=s.firstChild,g=v.nextSibling;return Zt(g,t),s})(),(()=>{var s=op(),v=s.firstChild,g=v.nextSibling;return Zt(g,r),s})(),(()=>{var s=np(),v=s.firstChild;return Zt(s,o,null),s})()]}}),null),cs(()=>So(a,"title",e.name)),a})()};var cp=gs("<div class=panel-content><section class=zylem-section><h4 class=zylem-section-title>Entities (<!>)</h4><div class=entity-grid>"),mp=gs("<button class=entity-grid-item type=button>");function up(e){e.uuid&&(he(`Entity: ${JSON.stringify(e,null,2)}`),$t(e.uuid),Bt(e.uuid),Vr(e.uuid),B("debug",!0))}var ps=()=>{let{stage:e}=Oe();return(()=>{var t=cp(),r=t.firstChild,o=r.firstChild,n=o.firstChild,i=n.nextSibling,a=i.nextSibling,l=o.nextSibling;return Vi(o,()=>e.entities.length,i),Vi(l,us(fp,{get each(){return e.entities},children:c=>(()=>{var s=mp();return s.$$click=()=>up(c),Vi(s,us(fs,{get type(){return c.type??"Box"},get name(){return c.name},get thumbnail(){return Wo(c.uuid)?.url},get bounds(){return Wo(c.uuid)?.bounds??c.bounds}})),dp(()=>sp(s,"title",c.name?`${c.name} (${c.uuid})`:c.uuid)),s})()})),t})()};lp(["click"]);import{template as Co}from"solid-js/web";import{createComponent as Dr}from"solid-js/web";import"solid-js/web";import{insert as Me}from"solid-js/web";import{Show as Ui}from"solid-js";var gp=Co('<div class=zylem-property-row><span class=zylem-property-label>Resolution</span><span class="zylem-property-value zylem-mono">x'),pp=Co("<div class=zylem-property-row><span class=zylem-property-label>Background</span><span class=zylem-property-value>"),yp=Co('<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 zylem-mono"></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>'),bp=Co("<div class=panel-content><section class=zylem-toolbar>"),ys=()=>{let{game:e}=Oe();return(()=>{var t=bp(),r=t.firstChild;return Me(t,Dr(Ui,{get when(){return e.config},get children(){var o=yp(),n=o.firstChild,i=n.firstChild,a=i.nextSibling,l=n.nextSibling,c=l.firstChild,s=c.nextSibling,v=l.nextSibling,g=v.firstChild,d=g.nextSibling,y=v.nextSibling,x=y.firstChild,f=x.nextSibling;return Me(a,()=>e.config?.id),Me(s,()=>e.config?.aspectRatio.toFixed(3)),Me(d,()=>e.config?.fullscreen?"Yes":"No"),Me(f,()=>e.config?.debug?"Yes":"No"),Me(o,Dr(Ui,{get when(){return e.config?.internalResolution},get children(){var h=gp(),m=h.firstChild,b=m.nextSibling,z=b.firstChild;return Me(b,()=>e.config?.internalResolution?.width,z),Me(b,()=>e.config?.internalResolution?.height,null),h}}),null),Me(o,Dr(Ui,{get when(){return e.config?.bodyBackground},get children(){var h=pp(),m=h.firstChild,b=m.nextSibling;return Me(b,()=>e.config?.bodyBackground),h}}),null),o}}),r),Me(r,Dr(de,{size:"sm",onClick:()=>{he(`Global State: ${JSON.stringify(e.globals,null,2)}`)},children:"Print Global State"}),null),Me(r,Dr(de,{size:"sm",onClick:()=>{he(`All State: ${JSON.stringify(e,null,2)}`)},children:"Print All"}),null),t})()};import{template as Kt}from"solid-js/web";import{delegateEvents as hp}from"solid-js/web";import{effect as ji}from"solid-js/web";import{memo as vp}from"solid-js/web";import{insert as At}from"solid-js/web";import{createComponent as Mr}from"solid-js/web";import{createSignal as bs,For as vs,Show as hs}from"solid-js";var xp=Kt("<ul class=zylem-level-list>"),zp=Kt("<div class=panel-content>"),wp=Kt("<p class=zylem-transform-empty>Nothing recorded yet."),kp=Kt("<li class=zylem-level-row><span class=zylem-level-row__type></span><span class=zylem-level-row__role>"),Ap=Kt("<div class=zylem-level-props><div class=zylem-level-props__row><input class=zylem-transform-row__field placeholder=Key><input class=zylem-transform-row__field placeholder=Value><button type=button class=zylem-level-props__add>Add"),Sp=Kt("<label class=zylem-level-props__row><span></span><input class=zylem-transform-row__field>");function Cp(e){return e?.role==="actor"?"Actor":e?.role==="level"?"Level \xB7 bake":"Doodad"}var xs=()=>{let e=()=>ke.buffer?.entries??[],t=()=>u.selected[0]??null;return(()=>{var r=zp();return At(r,Mr(hs,{get when(){return e().length>0},get fallback(){return wp()},get children(){var o=xp();return At(o,Mr(vs,{get each(){return e()},children:n=>{let i=()=>ke.annotations[n.id],a=()=>t()===n.id;return(()=>{var l=kp(),c=l.firstChild,s=c.nextSibling;return At(c,()=>n.typeId),At(s,()=>Cp(i())),At(l,Mr(hs,{get when(){return vp(()=>!!a())()&&i()?.role==="actor"},get children(){return Mr(Pp,{get id(){return n.id},get fields(){return i()?.props??{}}})}}),null),ji(()=>l.classList.toggle("is-selected",!!a())),l})()}})),o}})),r})()},Pp=e=>{let[t,r]=bs(""),[o,n]=bs(""),i=()=>Object.entries(e.fields),a=()=>{let l=t().trim();l&&(rn(e.id,l,o()),r(""),n(""))};return(()=>{var l=Ap(),c=l.firstChild,s=c.firstChild,v=s.nextSibling,g=v.nextSibling;return At(l,Mr(vs,{get each(){return i()},children:([d,y])=>(()=>{var x=Sp(),f=x.firstChild,h=f.nextSibling;return At(f,d),h.$$input=m=>rn(e.id,d,m.currentTarget.value),h.value=y,x})()}),c),s.$$input=d=>r(d.currentTarget.value),v.$$input=d=>n(d.currentTarget.value),g.$$click=a,ji(()=>s.value=t()),ji(()=>v.value=o()),l})()};hp(["input","click"]);import{template as zs}from"solid-js/web";import{insert as ct}from"solid-js/web";import{memo as Ni}from"solid-js/web";import{createComponent as Ze}from"solid-js/web";import{Show as Zi}from"solid-js";import{createComponent as Ep}from"solid-js/web";var Wt=e=>Ep(oi,{get label(){return e.label},get value(){return e.value},get isPath(){return e.isPath},get maxPathSegments(){return e.maxPathSegments},get valueClass(){return e.valueClass},onPathClick:t=>he(`Full path: ${t}`),get children(){return e.children}});var Ip=zs("<section class=zylem-property-list>"),Tp=zs("<div class=panel-content><section class=zylem-toolbar>"),ws=()=>{let{stage:e}=Oe();return(()=>{var t=Tp(),r=t.firstChild;return ct(t,Ze(Zi,{get when(){return e.config},get children(){var o=Ip();return ct(o,Ze(Wt,{label:"ID",get value(){return e.config?.id}}),null),ct(o,Ze(Wt,{label:"Background",get value(){return e.config?.backgroundColor}}),null),ct(o,Ze(Zi,{get when(){return e.config?.backgroundImage},get children(){return Ze(Wt,{label:"Image",get value(){return e.config?.backgroundImage??""},isPath:!0})}}),null),ct(o,Ze(Wt,{label:"Gravity",valueClass:"zylem-mono",get children(){return["X:",Ni(()=>e.config?.gravity.x.toFixed(2))," Y:",Ni(()=>e.config?.gravity.y.toFixed(2))," Z:",Ni(()=>e.config?.gravity.z.toFixed(2))]}}),null),ct(o,Ze(Zi,{get when(){return Object.keys(e.config?.variables??{}).length>0},get children(){return Ze(Wt,{label:"Variables",get value(){return`${Object.keys(e.config?.variables??{}).length} defined`}})}}),null),o}}),r),ct(r,Ze(de,{size:"sm",onClick:()=>{he(`Stage State: ${Jo(T)}`)},children:"Print Stage State"}),null),ct(r,Ze(de,{size:"sm",onClick:()=>{On().then(o=>{if(o){he(`Copied stage export (${e.entities.length} entities) to clipboard.`);return}he(`Clipboard unavailable; stage export follows.
|
|
34
|
+
${to()}`)})},children:"Export Stage"}),null),t})()};import{template as Rr}from"solid-js/web";import{setAttribute as Bp}from"solid-js/web";import{effect as Po}from"solid-js/web";import{createComponent as ks}from"solid-js/web";import{insert as tt}from"solid-js/web";import{createMemo as Hp,For as Fp,Show as Op}from"solid-js";var Dp=Rr("<div class=zylem-transform-row><span class=zylem-transform-row__label>"),Mp=Rr("<input class=zylem-transform-row__field type=number step=any>"),Rp=Rr("<section>"),Lp=Rr("<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."),Gp=Rr("<p class=zylem-transform-empty>Select an entity to edit its transform."),Yp=3,Qp=["x","y","z"];function Ki(e){let t=10**Yp;return Math.round(e*t)/t}function As(e,t){return!ge.enabled||t<=0?e:Math.round(e/t)*t}var Ss=()=>{let{debug:e,stage:t}=Oe(),r=Hp(()=>{let a=e.selectedEntityId;return a?t.entities.find(l=>l.uuid===a)??null:null}),o=(a,l)=>{let c=r();if(!c)return 0;if(a==="rotation")return Ki((c.rotation?.[l]??0)*180/Math.PI);let s=a==="scale"?1:0;return Ki(c[a]?.[l]??s)},n=(a,l,c)=>{let s=r();if(!s?.uuid)return;let v=Number.parseFloat(c);if(!Number.isFinite(v))return;if(a==="rotation"){let y=ge.rotate*180/Math.PI,x=As(v,y)*Math.PI/180,f={x:s.rotation?.x??0,y:s.rotation?.y??0,z:s.rotation?.z??0,[l]:x};Dt(s.uuid,{rotation:f});return}let g=a==="scale"?ge.scale:ge.translate,d=As(v,g);if(a==="scale"){let y=d===0?g:d;Dt(s.uuid,{scale:{x:s.scale?.x??1,y:s.scale?.y??1,z:s.scale?.z??1,[l]:y}});return}Dt(s.uuid,{position:{x:s.position?.x??0,y:s.position?.y??0,z:s.position?.z??0,[l]:d}})},i=(a,l)=>(()=>{var c=Dp(),s=c.firstChild;return tt(s,l),tt(c,ks(Fp,{each:Qp,children:v=>(()=>{var g=Mp();return g.addEventListener("change",d=>n(a,v,d.currentTarget.value)),Po(()=>Bp(g,"aria-label",`${l} ${v.toUpperCase()}`)),Po(()=>g.value=o(a,v)),g})()}),null),c})();return(()=>{var a=Lp(),l=a.firstChild,c=l.firstChild,s=c.firstChild,v=c.nextSibling,g=v.firstChild,d=l.nextSibling,y=d.firstChild,x=y.nextSibling,f=x.nextSibling,h=f.nextSibling,m=h.nextSibling,b=m.nextSibling,z=b.nextSibling;return tt(a,ks(Op,{get when(){return r()},get fallback(){return Gp()},get children(){var I=Rp();return tt(I,()=>i("position","Position"),null),tt(I,()=>i("rotation","Rotation\xB0"),null),tt(I,()=>i("scale","Scale"),null),I}}),l),s.addEventListener("change",I=>ur(I.currentTarget.checked)),g.addEventListener("change",I=>gr(I.currentTarget.checked)),tt(d,()=>ge.translate,x),tt(d,()=>Ki(ge.rotate*180/Math.PI),h),tt(d,()=>ge.scale,b),Po(()=>s.checked=ge.enabled),Po(()=>g.checked=ge.gridVisible),a})()};var Wi=[{id:"game-config",title:"Game",component:ys},{id:"stage-config",title:"Stage",component:ws},{id:"entities",title:"Entities",component:ps},{id:"transform",title:"Transform",component:Ss},{id:"level",title:"Level",component:xs},{id:"console",title:"Console",component:ls},{id:"bridge",title:"Bridge",component:as}],Cs=e=>Wi.find(t=>t.id===e),Ps=e=>Cs(e)?.title??e,Eo=e=>{let t=Cs(e);if(!t)return null;let r=t.component;return Vp(r,{})};var Kp=Up('<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>'),Ts=3,qi=250,Ji=150,Bs=e=>{let t=()=>u.detachedPanels[e.panelId],r=()=>_e.detachedBase+u.panelZOrder.indexOf(e.panelId),o=Z("panel",r),n=t()?.size??{width:350,height:300},[i,a]=Is(t()?.position??{x:100,y:100}),[l,c]=Is(n),s=!1,v=!1,g="free",d=null,y={x:0,y:0},x={x:0,y:0},f={width:0,height:0},h=0,m=!1,b,{dockedSide:z,isAutoHeight:I,showDockPreview:A,hideDockPreview:P,rememberUndockedSize:H,getLiveSize:j,getDockPreviewRect:K,detectDockSide:ie,detectDockIndex:pe,beginDragGhost:re,endDragGhost:Re,isMoving:Ye,clampSizeToViewport:Xt,beginResize:k,resizeDockThickness:M,applyDockPreview:L}=zo({panelId:e.panelId,initialSize:n,minSize:{width:qi,height:Ji},position:i,setPosition:a,size:l,setSize:c,panelRef:()=>b,onPositionCommit:D=>Xr(e.panelId,D),onSizeCommit:D=>qr(e.panelId,D)}),G=()=>{lr(e.panelId)},Q=D=>{s=!0,m=!1,P(),y={x:D.clientX,y:D.clientY},x={...i()},lr(e.panelId),D.pointerType==="mouse"&&D.preventDefault()},W=D=>N=>{v=!0,d=D;let se=z(),{size:V,mode:ue}=k(D);g=ue,h=se&&Ve(se)?V.width:V.height,y={x:N.clientX,y:N.clientY},x={...i()},f={...V},lr(e.panelId),N.pointerType==="mouse"&&N.preventDefault(),N.stopPropagation()},me=D=>{if(s){let N=D.clientX-y.x,se=D.clientY-y.y;if((Math.abs(N)>Ts||Math.abs(se)>Ts)&&!m){m=!0,dr(e.panelId);let V=re(D.clientX,D.clientY);y={x:D.clientX,y:D.clientY},x={...V.position},f={...V.size},N=0,se=0}if(m){let V=x.x+N,ue=x.y+se,Ce=j(),ye=ie(V,ue,Ce.width,Ce.height);ye?(A(ye,pe(ye,D.clientX,D.clientY)),at(null)):P();let Ge={x:Math.max(0,Math.min(V,window.innerWidth-100)),y:Math.max(0,Math.min(ue,window.innerHeight-50))};if(a(Ge),!ye){let Pe=document.querySelector(".zylem-accordion");if(Pe){let ze=Pe.getBoundingClientRect();if(D.clientX>=ze.left&&D.clientX<=ze.right&&D.clientY>=ze.top&&D.clientY<=ze.bottom){let be=Pe.querySelectorAll(".accordion-item"),S=0;for(let C=0;C<be.length;C++){let p=be[C];if(!p)continue;let w=p.getBoundingClientRect(),F=w.top+w.height/2;D.clientY>F&&(S=C+1)}at(S)}else at(null)}}}}else if(v&&d){let N=D.clientX-y.x,se=D.clientY-y.y;if(g==="thickness"){M(h,N,se);return}let V=f.width,ue=f.height,Ce=x.x,ye=x.y;if(d.includes("e"))V=Math.max(qi,f.width+N);else if(d.includes("w")){let we=f.width-N;we>=qi&&(V=we,Ce=x.x+N)}if(d.includes("s"))ue=Math.max(Ji,f.height+se);else if(d.includes("n")){let we=f.height-se;we>=Ji&&(ue=we,ye=x.y+se)}let Ge=Xt(V,ue),Pe=Math.max(0,window.innerWidth-Ge.width),ze=Math.max(0,window.innerHeight-Ge.height);c(Ge),a({x:Math.max(0,Math.min(Ce,Pe)),y:Math.max(0,Math.min(ye,ze))})}},fe=()=>{if(s&&m&&!L()){let D=u.dropTargetIndex;D!==null?Wr(e.panelId,D):Re()}v&&g==="free"&&(H(l()),qr(e.panelId,l()),Xr(e.panelId,i())),s=!1,v=!1,g="free",d=null,m=!1,P(),cr()},ot=()=>{Wr(e.panelId)};Xp(()=>{window.addEventListener("pointermove",me),window.addEventListener("pointerup",fe)}),Wp(()=>{window.removeEventListener("pointermove",me),window.removeEventListener("pointerup",fe)});let Le=D=>({position:"absolute","z-index":10,cursor:D,"touch-action":"none"});return(()=>{var D=Kp(),N=D.firstChild,se=N.firstChild,V=N.nextSibling,ue=V.nextSibling,Ce=ue.nextSibling,ye=Ce.nextSibling,Ge=ye.nextSibling,Pe=Ge.nextSibling,ze=Pe.nextSibling,we=ze.nextSibling,be=we.nextSibling;D.$$pointerdown=G;var S=b;return typeof S=="function"?Zp(S,D):b=D,Io(D,Es(wo,{get rect(){return K()},rank:()=>r()+1}),N),N.$$pointerdown=Q,Io(se,()=>Ps(e.panelId)),Io(N,Es(xt,{onClose:ot,closeLabel:"Dock back to panel"}),null),Io(V,()=>Eo(e.panelId)),mt(ue,"pointerdown",W("n"),!0),mt(Ce,"pointerdown",W("s"),!0),mt(ye,"pointerdown",W("w"),!0),mt(Ge,"pointerdown",W("e"),!0),mt(Pe,"pointerdown",W("nw"),!0),mt(ze,"pointerdown",W("ne"),!0),mt(we,"pointerdown",W("sw"),!0),mt(be,"pointerdown",W("se"),!0),Np(C=>{var p={left:`${i().x}px`,top:`${i().y}px`,width:`${l().width}px`,height:I()?"auto":`${l().height}px`,"z-index":o.zIndex(),"border-radius":z()?"0":void 0,...Ye()?{background:"transparent","backdrop-filter":"none","-webkit-backdrop-filter":"none","box-shadow":"none",border:"2px solid var(--zylem-color-primary, #61a6e8)"}:{}},w=z()?"0":void 0,F=Ye()?"hidden":void 0,J=Ye()?"hidden":void 0,_={...Le("ns-resize")},Ee={...Le("ns-resize")},Cd={...Le("ew-resize")},Pd={...Le("ew-resize")},Ed={...Le("nwse-resize")},Id={...Le("nesw-resize")},Td={...Le("nesw-resize")},Bd={...Le("nwse-resize")};return C.e=rt(D,p,C.e),w!==C.t&&Xi(N,"border-radius",C.t=w),F!==C.a&&Xi(N,"visibility",C.a=F),J!==C.o&&Xi(V,"visibility",C.o=J),C.i=rt(ue,_,C.i),C.n=rt(Ce,Ee,C.n),C.s=rt(ye,Cd,C.s),C.h=rt(Ge,Pd,C.h),C.r=rt(Pe,Ed,C.r),C.d=rt(ze,Id,C.d),C.l=rt(we,Td,C.l),C.u=rt(be,Bd,C.u),C},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0}),D})()};jp(["pointerdown"]);import{template as dy}from"solid-js/web";import{insert as cy}from"solid-js/web";import{createComponent as Ys}from"solid-js/web";import{Show as fy}from"solid-js";import{template as ay}from"solid-js/web";import{createComponent as Hr}from"solid-js/web";import{memo as Gs}from"solid-js/web";import{Accordion as ly}from"@kobalte/core";import{Index as sy,Show as Fs}from"solid-js";import{template as $p}from"solid-js/web";import{setStyleProperty as Gr}from"solid-js/web";import{effect as _p}from"solid-js/web";import{insert as Ds}from"solid-js/web";import{createComponent as ft}from"solid-js/web";import{memo as Ms}from"solid-js/web";import{Accordion as To}from"@kobalte/core";import Rs from"lucide-solid/icons/chevron-down";import{createSignal as ea,onCleanup as ty,onMount as ry,Show as oy}from"solid-js";import{Portal as ny}from"solid-js/web";var qp=new Set(["translate","rotate","scale"]);function $i(e,t){return e==="game-config"||e==="stage-config"||e==="console"?!0:e==="transform"?qp.has(t.tool):e==="entities"||e==="bridge"?t.debug:e==="level"?t.build:!1}function Jp(e,t,r){let o=new Set(t);return e.filter(n=>!o.has(n)&&$i(n,r))}function _i(){return{debug:u.debug,build:ke.active,tool:u.tool}}function Lr(){return Jp(u.panelOrder,Object.keys(u.detachedPanels),_i())}var ey=$p('<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:var(--zylem-font-family);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:var(--zylem-font-family);font-weight:400;padding:8px 12px">'),iy=5,Ls=e=>{let t=Z("panel",_e.dragGhost),r,o,n=null,[i,a]=ea(!1),[l,c]=ea({x:0,y:0}),[s,v]=ea({width:0,height:0}),g={x:0,y:0},d=!1,y=()=>Lr().indexOf(e.value),x=m=>{if(m.button===0){if(d=!0,g={x:m.clientX,y:m.clientY},n=r?.closest(".floating-panel"),o){let b=o.getBoundingClientRect();v({width:b.width,height:b.height})}m.pointerType==="mouse"&&m.preventDefault()}},f=m=>{if(!d)return;let b=m.clientX-g.x,z=m.clientY-g.y;if(Math.sqrt(b*b+z*z)>iy&&!i()&&(a(!0),dr(e.value)),i()&&(c({x:m.clientX-s().width/2,y:m.clientY-15}),n)){let A=n.getBoundingClientRect();if(m.clientX>=A.left&&m.clientX<=A.right&&m.clientY>=A.top&&m.clientY<=A.bottom){let H=n.querySelector(".zylem-accordion");if(H){let j=H.querySelectorAll(".accordion-item"),K=0;for(let ie=0;ie<j.length;ie++){let pe=j[ie];if(!pe)continue;let re=pe.getBoundingClientRect(),Re=re.top+re.height/2;m.clientY>Re&&(K=ie+1)}at(K)}}else at(null)}},h=m=>{if(!d)return;let b=i();if(d=!1,a(!1),b&&n){let z=n.getBoundingClientRect();if(m.clientX<z.left||m.clientX>z.right||m.clientY<z.top||m.clientY>z.bottom)ar(e.value,{x:m.clientX-175,y:m.clientY-20});else{let A=u.dropTargetIndex;if(A!==null){let P=y();if(A!==P&&A!==P+1){let j=Lr().filter(pe=>pe!==e.value),K=A;A>P&&(K=A-1),j.splice(K,0,e.value);let ie=[...j];u.panelOrder.forEach(pe=>{ie.includes(pe)||ie.push(pe)}),bn(ie)}}}}cr()};return ry(()=>{window.addEventListener("pointermove",f),window.addEventListener("pointerup",h)}),ty(()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",h)}),[ft(To.Item,{ref(m){var b=r;typeof b=="function"?b(m):r=m},get value(){return e.value},get class(){return`accordion-item ${i()?"accordion-item--dragging":""}`},get children(){return[ft(To.Header,{ref(m){var b=o;typeof b=="function"?b(m):o=m},class:"accordion-header",onPointerDown:x,style:{"touch-action":"none"},get children(){return ft(To.Trigger,{class:"accordion-trigger zylem-exo-2",get children(){return[Ms(()=>e.title),ft(Rs,{class:"accordion-chevron","aria-hidden":"true"})]}})}}),ft(To.Content,{class:"accordion-content scrollable-y scroll-thin",get children(){return e.children}})]}}),ft(oy,{get when(){return Ms(()=>!!i())()&&t.mount()},get children(){return ft(ny,{get mount(){return t.mount()},get children(){var m=ey(),b=m.firstChild;return Ds(b,()=>e.title,null),Ds(b,ft(Rs,{class:"accordion-chevron","aria-hidden":"true"}),null),_p(z=>{var I=`${l().x}px`,A=`${l().y}px`,P=`${s().width}px`,H=`${s().height}px`,j=t.zIndex();return I!==z.e&&Gr(m,"left",z.e=I),A!==z.t&&Gr(m,"top",z.t=A),P!==z.a&&Gr(m,"width",z.a=P),H!==z.o&&Gr(m,"height",z.o=H),j!==z.i&&Gr(m,"z-index",z.i=j),z},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),m}})}})]};var Hs=ay("<div class=accordion-drop-indicator>"),Os=()=>{let e=()=>Lr().map(o=>Wi.find(n=>n.id===o)).filter(o=>o!==void 0),t=()=>u.draggingPanelId!==null,r=()=>u.dropTargetIndex;return Hr(ly.Root,{multiple:!0,class:"zylem-accordion",get value(){return u.openSections},onChange:hn,get children(){return[Hr(Fs,{get when(){return Gs(()=>!!t())()&&r()===0},get children(){return Hs()}}),Hr(sy,{get each(){return e()},children:(o,n)=>[Hr(Ls,{get value(){return o().id},get title(){return o().title},get children(){return Eo(o().id)}}),Hr(Fs,{get when(){return Gs(()=>!!t())()&&r()===n+1},get children(){return Hs()}})]})]}})};var my=dy("<div class=zylem-menu>"),Qs=e=>Ys(fy,{get when(){return!e.isCollapsed()},get children(){var t=my();return cy(t,Ys(Os,{})),t}});import{template as oa}from"solid-js/web";import{effect as Hy}from"solid-js/web";import{memo as Fy}from"solid-js/web";import{insert as Pt}from"solid-js/web";import{createComponent as U}from"solid-js/web";import{For as Vy,Show as Uy}from"solid-js";import{template as Us}from"solid-js/web";import{effect as uy}from"solid-js/web";import{insert as gy}from"solid-js/web";import{createComponent as Bo}from"solid-js/web";import{memo as py}from"solid-js/web";import hy from"lucide-solid/icons/plus";import{createMemo as Vs,createSignal as vy,onCleanup as xy,Show as zy}from"solid-js";var yy=Us("<div class=zylem-add-tool>"),by=Us("<span class=zylem-add-tool__glyph>"),Do=e=>{let t=()=>e.placement??"doodad",r=()=>Na(u.tool,We.armedTypeId)&&ke.placementRole===t(),o=Vs(()=>ro(We.entities,We.armedTypeId,We.lastTypeId)),n=Vs(()=>Za(We.entities)),i=()=>{let s=o();return e.label?s?`${e.label}: ${s.label}`:e.label:s?`Place ${s.label}`:"Add"},[a,l]=vy(!1);return xy(e.registerPaletteShortcut??t()==="doodad"?Wa(()=>We.entities.length===0?!1:(l(!0),!0)):()=>{}),(()=>{var s=yy();return gy(s,Bo(gi,{get label(){return i()},get tooltip(){return py(()=>!!e.label)()?i():`${$(i(),"add")} \xB7 ${$("Palette","addPalette")}`},get selected(){return r()},get disabled(){return We.entities.length===0},onAction:()=>yr(t()),get open(){return a()},onOpenChange:l,menu:v=>Bo(vi,{get items(){return n()},get selectedId(){return We.armedTypeId},searchPlaceholder:"Search entities\u2026",emptyMessage:"No entity types published. Is a game running?",onSelect:g=>{io(g.id,t()),v()}}),get children(){return Bo(zy,{get when(){return o()?.icon},get fallback(){return Bo(hy,{class:"zylem-icon"})},children:v=>(()=>{var g=by();return uy(()=>g.innerHTML=v()),g})()})}})),s})()};import{createComponent as js}from"solid-js/web";import wy from"lucide-solid/icons/hammer";var Ns=()=>{let e=()=>ke.buffer?.entries.length??0,t=()=>{let r=ke.active?"Building":"Build";return e()>0?`${r} (${e()})`:r};return js(Y,{get label(){return $(t(),"build")},get selected(){return ke.active},onClick:ao,get children(){return js(wy,{class:"zylem-icon"})}})};function Zs(e){let t=["translate","rotate","scale"];return e.perspective&&t.push("view-game","view-side","view-top","view-isometric","view-free"),e.debug&&t.push("grid"),e.build&&t.push("add-actor","add-level","add-primitive","delete"),t.push("snap","undo","redo"),t}function Ks(e){return e==="view-game"||e==="grid"||e==="add-actor"||e==="snap"}import{createComponent as Ws}from"solid-js/web";import ky from"lucide-solid/icons/bug";var Xs=()=>Ws(Y,{get label(){return $("Debug","debug")},get selected(){return u.debug},onClick:pr,get children(){return Ws(ky,{class:"zylem-icon"})}});import{createComponent as qs}from"solid-js/web";import Ay from"lucide-solid/icons/trash";var Js=()=>qs(Y,{get label(){return $("Delete","delete")},get selected(){return u.tool==="delete"},onClick:()=>yt("delete"),get children(){return qs(Ay,{class:"zylem-icon"})}});import{createComponent as Mo}from"solid-js/web";import Sy from"lucide-solid/icons/grid-3x3";import Cy from"lucide-solid/icons/magnet";var $s=()=>Mo(Y,{get label(){return $(ge.gridVisible?"Hide grid":"Show grid","grid")},get selected(){return ge.gridVisible},onClick:hr,get children(){return Mo(Sy,{class:"zylem-icon"})}}),_s=()=>Mo(Y,{get label(){return $(ge.enabled?"Snapping on":"Snapping off","snap")},get selected(){return ge.enabled},onClick:br,get children(){return Mo(Cy,{class:"zylem-icon"})}});import{createComponent as Ro}from"solid-js/web";import Py from"lucide-solid/icons/redo-2";import Ey from"lucide-solid/icons/undo-2";var ed=e=>e[e.length-1]?.label??null,td=()=>{let e=()=>{let t=ed(_t.undoStack);return t?$(`Undo ${t}`,"undo"):"Nothing to undo"};return Ro(Y,{get label(){return e()},get disabled(){return _t.undoStack.length===0},onClick:()=>er(),get children(){return Ro(Ey,{class:"zylem-icon"})}})},rd=()=>{let e=()=>{let t=ed(_t.redoStack);return t?$(`Redo ${t}`,"redo"):"Nothing to redo"};return Ro(Y,{get label(){return e()},get disabled(){return _t.redoStack.length===0},onClick:()=>tr(),get children(){return Ro(Py,{class:"zylem-icon"})}})};import{createComponent as od}from"solid-js/web";import"solid-js/web";var nd=()=>od(Y,{get label(){return lt.perspective?"Perspective on":"Perspective"},get selected(){return lt.perspective},onClick:Xa,get children(){return od(Pi,{})}});import{createComponent as ta}from"solid-js/web";import{memo as Iy}from"solid-js/web";import Ty from"lucide-solid/icons/pause";import By from"lucide-solid/icons/play";var id=()=>ta(Y,{get label(){return $(u.paused?"Play":"Pause","playback")},get selected(){return u.paused},onClick:vr,get children(){return Iy(()=>!!u.paused)()?ta(By,{class:"zylem-icon"}):ta(Ty,{class:"zylem-icon"})}});import{createComponent as ad}from"solid-js/web";import Dy from"lucide-solid/icons/mouse-pointer";var ld=()=>ad(Y,{get label(){return $("Select","select")},get selected(){return u.tool==="select"},onClick:()=>yt("select"),get children(){return ad(Dy,{class:"zylem-icon"})}});import{createComponent as St}from"solid-js/web";import My from"lucide-solid/icons/move-3d";import Ry from"lucide-solid/icons/rotate-3d";import Ly from"lucide-solid/icons/scale-3d";import{createMemo as Gy}from"solid-js";var ra=e=>{let{stage:t}=Oe(),r=Gy(()=>oo(u.selected,u.lastTouched,t.entities.map(o=>o.uuid).filter(o=>!!o)));return St(Y,{get label(){return $(e.label,e.tool)},get selected(){return u.tool===e.tool},get disabled(){return!r()},onClick:()=>Un(e.tool),get children(){return e.children}})},sd=()=>St(ra,{tool:"translate",label:"Move",get children(){return St(My,{class:"zylem-icon"})}}),dd=()=>St(ra,{tool:"rotate",label:"Rotate",get children(){return St(Ry,{class:"zylem-icon"})}}),cd=()=>St(ra,{tool:"scale",label:"Scale",get children(){return St(Ly,{class:"zylem-icon"})}});import{createComponent as Ct}from"solid-js/web";var Fr=e=>{let t=e.icon;return Ct(Y,{get label(){return e.label},get selected(){return so(lt.preset,lt.spaceHeld)===e.preset},onClick:()=>qa(e.preset),get children(){return Ct(t,{})}})},md=()=>Ct(Fr,{preset:"game",label:"Game camera",icon:Di}),fd=()=>Ct(Fr,{preset:"top",label:"Top",icon:Ii}),ud=()=>Ct(Fr,{preset:"side",label:"Side",icon:Ei}),gd=()=>Ct(Fr,{preset:"isometric",label:"Isometric",icon:Ti}),pd=()=>Ct(Fr,{preset:"free",label:"Free camera",icon:Bi});var Oy=oa("<div class=zylem-toolbar-group>"),Yy=oa("<span class=zylem-toolbar-divider>"),Qy=oa("<div class=zylem-toolbar><span class=zylem-toolbar-divider>"),jy=()=>(()=>{var e=Oy();return Pt(e,U(ld,{}),null),Pt(e,U(Ns,{}),null),Pt(e,U(nd,{}),null),Pt(e,U(Xs,{}),null),Pt(e,U(id,{}),null),e})(),Ny=e=>{switch(e.action){case"translate":return U(sd,{});case"rotate":return U(dd,{});case"scale":return U(cd,{});case"view-game":return U(md,{});case"view-side":return U(ud,{});case"view-top":return U(fd,{});case"view-isometric":return U(gd,{});case"view-free":return U(pd,{});case"grid":return U($s,{});case"add-actor":return U(Do,{placement:"actor",label:"Add actor",registerPaletteShortcut:!1});case"add-level":return U(Do,{placement:"level",label:"Add level",registerPaletteShortcut:!1});case"add-primitive":return U(Do,{placement:"doodad",label:"Add primitive"});case"delete":return U(Js,{});case"snap":return U(_s,{});case"undo":return U(td,{});case"redo":return U(rd,{})}},Zy=()=>{let e=()=>Zs({perspective:lt.perspective,debug:u.debug,build:ke.active});return U(Vy,{get each(){return e()},children:(t,r)=>[U(Uy,{get when(){return Fy(()=>r()>0)()&&Ks(t)},get children(){return Yy()}}),U(Ny,{action:t})]})},yd=e=>(()=>{var t=Qy(),r=t.firstChild;return Pt(t,U(jy,{}),r),Pt(t,U(Zy,{}),null),Hy(()=>t.classList.toggle("zylem-toolbar--vertical",(e.orientation??"row")==="column")),t})();var Wy=Ky("<div style=display:flex;height:100vh;width:100vw;position:absolute;pointer-events:none><div style=flex:1>"),Or=460,Yr=600,Et=20,tb=12,rb=92,ob=(e=0)=>{let t=tb,r=Math.max(300,window.innerWidth-t*2),o=Math.max(200,window.innerHeight-e-t*2),n=Math.min(Or,r),i=Math.min(Yr,o),a=t,l=window.innerHeight-e-t,c=Math.round((l-a-i)/2)+a;return{initialPosition:{x:Math.max(t,Math.round((window.innerWidth-n)/2)),y:Math.max(a,c)},initialSize:{width:n,height:i}}},nb=()=>{if(u.panelPosition)return u.panelPosition;let e=u.toggleButtonPosition,t=window.innerWidth,r=window.innerHeight,o=e.x>t/2,n=e.y>r/2,i,a;return o?i=t-Or-Et:i=Et,n?a=Math.max(Et,r-Yr-Et):a=Et,{x:i,y:a}},ia=e=>{let[t,r]=Go(!1),[o,n]=Go(!1),[i,a]=Go(null),[l,c]=Go(null),s=()=>e.launcherMode??"floating",v=()=>t()||o();zn(e.defaultDocks),wn();let g=()=>{r(!0),n(!0)},d=()=>{r(!1),n(!1)},y=()=>{v()?d():g()},x=A=>{pn(A)},f=()=>Ae(u.docks,Te),h=()=>{let A=_i();return Object.keys(u.detachedPanels).filter(P=>$i(P,A))},m=()=>typeof window>"u"?s()==="hidden":s()==="hidden"||window.innerWidth<Or+Et*2||window.innerHeight<Yr+Et*2,b=bd(()=>{if(f()){let P=Xe(u.docks,De())[Te];if(P)return{initialPosition:{x:P.x,y:P.y},initialSize:{width:P.width,height:P.height}}}let A=typeof window>"u"||!m()?{initialPosition:nb(),initialSize:{width:Or,height:Yr}}:ob(s()==="hidden"?rb:0);return{initialPosition:A.initialPosition,initialSize:u.panelSize??A.initialSize}}),z=bd(()=>{if(Ae(u.docks,oe)){let P=Xe(u.docks,De())[oe];if(P)return{initialPosition:{x:P.x,y:P.y},initialSize:{width:P.width,height:P.height}}}return{initialPosition:{x:0,y:0},initialSize:{width:640,height:40}}}),I={openPanel:g,closePanel:d,togglePanel:y,isPanelOpen:v,dockPanel:(A,P=Te)=>{if(P===oe){r(!0),a(H=>({side:A,nonce:(H?.nonce??0)+1,panelId:P}));return}if(P===Te){n(!0),c(H=>({side:A,nonce:(H?.nonce??0)+1,panelId:P}));return}if(A===null){qe(P);return}Jr(P)||ar(P,{x:100,y:100}),gt(P,A)}};return _y(()=>{e.onControllerReady?.(I)}),$y(()=>{e.onControllerReady?.(null)}),xe(co,{get children(){var A=Wy(),P=A.firstChild;return Lo(A,xe(na,{get when(){return s()!=="hidden"},get children(){return xe(rs,{onToggle:y})}}),P),Lo(A,xe(na,{get when(){return t()},get children(){return xe(Fi,{panelId:oe,label:"Toolbar",hideTitle:!0,chrome:"inline",resizable:!1,fitDockThickness:!0,hugContent:!0,get initialPosition(){return z().initialPosition},get initialSize(){return z().initialSize},floatingSize:{width:640,height:40},minSize:{width:36,height:36},collapsible:!0,get collapsed(){return u.toolbarCollapsed},onCollapsedChange:vn,onClose:()=>r(!1),get onRestoreSibling(){return o()?void 0:()=>n(!0)},restoreSiblingLabel:"Show panels",get restoreSiblingIcon(){return xe(Xy,{size:11,strokeWidth:2.5,"aria-hidden":"true"})},dockRequest:i,children:H=>xe(yd,{get orientation(){return H.dockedSide()==="left"||H.dockedSide()==="right"?"column":"row"}})})}}),P),Lo(A,xe(na,{get when(){return o()},get children(){return xe(Fi,{panelId:Te,label:"Panels",hideTitle:!0,get initialPosition(){return b().initialPosition},get initialSize(){return b().initialSize},get floatingSize(){return u.panelSize??{width:Or,height:Yr}},minSize:{width:300,height:200},collapsible:!0,get collapsed(){return u.mainCollapsed},onCollapsedChange:xn,onClose:()=>n(!1),get onRestoreSibling(){return t()?void 0:()=>r(!0)},restoreSiblingLabel:"Show toolbar",get restoreSiblingIcon(){return xe(qy,{size:11,strokeWidth:2.5,"aria-hidden":"true"})},onMove:x,onResize:yn,dockRequest:l,children:H=>xe(Qs,{get isCollapsed(){return H.isCollapsed}})})}}),P),Lo(A,xe(Jy,{get each(){return h()},children:H=>xe(Bs,{panelId:H})}),P),A}})};if(typeof window<"u"&&!import.meta.env.VITEST){let e=document.getElementById("zylem-editor-container");e&&eb(()=>xe(ia,{}),e)}var ab=e=>ib(ia,{get launcherMode(){return e.launcherMode},get defaultDocks(){return e.defaultDocks},get onControllerReady(){return e.onControllerReady}}),hd=ab;var vd=`
|
|
35
35
|
.bridge-row--hot .zylem-property-label,
|
|
36
36
|
.bridge-row--hot .zylem-property-value {
|
|
37
37
|
color: #ffb347;
|
|
@@ -92,7 +92,7 @@ ${Jr()}`)})},children:"Export Stage"}),null),t})()};import{template as Tr}from"s
|
|
|
92
92
|
text-overflow: ellipsis;
|
|
93
93
|
opacity: 0.75;
|
|
94
94
|
}
|
|
95
|
-
`;var
|
|
95
|
+
`;var xd=`
|
|
96
96
|
.panel-content .zylem-section {
|
|
97
97
|
padding: 0 10px 10px;
|
|
98
98
|
box-sizing: border-box;
|
|
@@ -192,6 +192,7 @@ ${Jr()}`)})},children:"Export Stage"}),null),t})()};import{template as Tr}from"s
|
|
|
192
192
|
position: absolute;
|
|
193
193
|
pointer-events: none;
|
|
194
194
|
color: rgba(255, 255, 255, 0.9);
|
|
195
|
+
font-family: var(--zylem-font-family-mono);
|
|
195
196
|
font-size: 9px;
|
|
196
197
|
line-height: 1;
|
|
197
198
|
font-variant-numeric: tabular-nums;
|
|
@@ -204,6 +205,7 @@ ${Jr()}`)})},children:"Export Stage"}),null),t})()};import{template as Tr}from"s
|
|
|
204
205
|
top: 2px;
|
|
205
206
|
right: 3px;
|
|
206
207
|
z-index: 1;
|
|
208
|
+
font-family: var(--zylem-font-family-mono);
|
|
207
209
|
font-size: 9px;
|
|
208
210
|
line-height: 1;
|
|
209
211
|
padding: 1px 3px;
|
|
@@ -300,7 +302,7 @@ ${Jr()}`)})},children:"Export Stage"}),null),t})()};import{template as Tr}from"s
|
|
|
300
302
|
writing-mode: vertical-rl;
|
|
301
303
|
transform: rotate(180deg);
|
|
302
304
|
}
|
|
303
|
-
`;var
|
|
305
|
+
`;var zd=`
|
|
304
306
|
/*
|
|
305
307
|
* The toolbar is its own window: one row on a top or bottom dock, one column
|
|
306
308
|
* on a side dock. Wrapping would break that strip.
|
|
@@ -405,7 +407,7 @@ ${Jr()}`)})},children:"Export Stage"}),null),t})()};import{template as Tr}from"s
|
|
|
405
407
|
width: 100%;
|
|
406
408
|
min-width: 0;
|
|
407
409
|
padding: 3px 5px;
|
|
408
|
-
font-family:
|
|
410
|
+
font-family: var(--zylem-font-family-mono);
|
|
409
411
|
font-size: 11px;
|
|
410
412
|
color: #e6edf3;
|
|
411
413
|
background: rgba(255, 255, 255, 0.06);
|
|
@@ -498,7 +500,13 @@ ${Jr()}`)})},children:"Export Stage"}),null),t})()};import{template as Tr}from"s
|
|
|
498
500
|
border-radius: 4px;
|
|
499
501
|
cursor: pointer;
|
|
500
502
|
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
503
|
+
|
|
504
|
+
/* The property value's own face is declared later than .zylem-mono, so a unit
|
|
505
|
+
readout needs both classes to beat it. */
|
|
506
|
+
.zylem-property-value.zylem-mono {
|
|
507
|
+
font-family: var(--zylem-font-family-mono);
|
|
508
|
+
}
|
|
509
|
+
`;var aa=e=>e==="hidden"?"hidden":"floating",kd=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 it){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},Qr=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=aa(t);this._config.launcherMode!==r&&(this._config.launcherMode=r,this._initialized&&this.reinitialize())}get launcherMode(){return aa(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=aa(o);return}if(t==="default-docks"){let n=kd(o);n?this._config.defaultDocks=n:delete this._config.defaultDocks}}connectedCallback(){this.initialize()}initialize(){if(this._initialized)return;if(this._initialized=!0,this.releaseBridge=$r(),this.teardownHooks=[ja(),Ja(),Oa({enabled:this._config.enableUndoShortcut!==!1}),Qa({enabled:this._config.enableEscapeShortcut!==!1}),Wn({enabled:this._config.enableToolbarShortcuts!==!1,isActive:()=>this.isPanelOpen()}),qn()],this._config.includeStyles!==!1){let r=document.createElement("style");r.textContent=`${tl}
|
|
510
|
+
${xd}
|
|
511
|
+
${vd}
|
|
512
|
+
${zd}`,this.shadowRoot.appendChild(r)}let t=document.createElement("div");t.style.width="100%",t.style.height="100%",this.shadowRoot.appendChild(t),this.dispose=lb(()=>{let r=this;return wd(Fn,{get children(){return wd(hd,{get launcherMode(){return r.launcherMode},get defaultDocks(){return kd(r._config.defaultDocks)},onControllerReady:o=>{r.controller=o}})}})},t)}openPanel(){this.controller?.openPanel()}closePanel(){this.controller?.closePanel()}togglePanel(){this.controller?.togglePanel()}isPanelOpen(){return this.controller?.isPanelOpen()??!1}dockPanel(t,r){this.controller?.dockPanel(t,r)}reinitialize(){for(this.teardown();this.shadowRoot.firstChild;)this.shadowRoot.removeChild(this.shadowRoot.firstChild);this.initialize()}disconnectedCallback(){this.teardown()}teardown(){this.dispose&&(this.dispose(),this.dispose=null);for(let t of this.teardownHooks)t();this.teardownHooks=[],this.releaseBridge?.(),this.releaseBridge=null,this.controller=null,this._initialized=!1}};function la(e="zylem-editor"){customElements.get(e)||customElements.define(e,Qr)}typeof window<"u"&&!customElements.get("zylem-editor")&&customElements.define("zylem-editor",Qr);function Ad(e){e.gameState?.debugFlag!==void 0&&B("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 Sd(e={}){let{channel:t}=sb(),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:Ad,dispose(){for(let o of r)o()}}}function db(e){e.gameState?.debugFlag!==void 0&&It(e.gameState.debugFlag),e.toolbarState?.tool!==void 0&&He(e.toolbarState.tool),e.toolbarState?.paused!==void 0&&Tt(e.toolbarState.paused)}function cb(e={}){la();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=Sd(e);return{element:t,dispatchToEditor:r.dispatchToEditor,dockPanel(o,n){t.dockPanel(o,n)},dispose(){r.dispose(),t.remove()}}}export{Ua as DEFAULT_ROTATE_SNAP,it as DOCK_SIDES,mv as Icon,Te as MAIN_PANEL_ID,fa as MAX_HISTORY_DEPTH,oe as TOOLBAR_PANEL_ID,Kn as TOOLBAR_SHORTCUTS,Qr as ZylemEditorElement,yr as armAddTool,io as armAddType,Sd as attachEditorStateBridge,R as bridgeChannel,Fa as buildStageExport,Qd as canRedo,Yd as canUndo,X as catalogState,Qo as clearHistory,Xe as computeDockLayout,$r as connectEditorBridge,On as copyStageExport,E as debugState,u as debugStore,Ya as disarmTools,En as disconnectEditorBridge,db as dispatchEditorUpdate,Ad as dispatchToEditor,gt as dockPanelToSide,Ke as editorEvents,Ae as findDockedSide,_a as formatShortcut,q as gameState,Da as getDockedSide,ee as historyState,Wn as installToolbarShortcuts,qn as installTransformToolGuard,O as levelState,cb as mountZylemEditor,Nd as onSceneOperation,jn as openAddPalette,tr as redo,Ud as redoLabel,la as registerZylemEditor,Xn as releaseOrphanedTransformTool,el as runToolbarAction,Oc as selectTool,Vn as selectTransformTool,ut as sendAddType,Ur as sendCameraActivate,It as sendDebugEnabled,ma as sendEntityCreate,Vr as sendEntityFocus,Bt as sendEntitySelect,sa as sendEntitySelectMany,Dt as sendEntityTransform,Jt as sendGridVisible,ca as sendLevelLoad,Tt as sendPlayback,qt as sendSnapSettings,da as sendStageVariable,He as sendTool,Rt as setArmedType,Vo as setEntityCatalog,gr as setGridVisible,ur as setSnapEnabled,Hc as setSnapIncrements,nc as snapshotLevelBuffer,to as stageExportToString,T as stageState,pr as toggleDebug,hr as toggleGrid,vr as togglePlayback,br as toggleSnap,yt as toggleTool,Un as toggleTransformTool,ae as transformState,er as undo,Vd as undoLabel,qe as undockPanelFromSides};
|