wizards 0.2.14 → 0.2.15

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.
Files changed (32) hide show
  1. package/apps/web/dist/assets/{Account-CbcLDgwW.js → Account-B_FCuidz.js} +1 -1
  2. package/apps/web/dist/assets/{ChangelogDialog-CPaoAyWM.js → ChangelogDialog-BKvNJIrA.js} +1 -1
  3. package/apps/web/dist/assets/{ChatPanel-DzIGwA0b.js → ChatPanel-CPgh0skF.js} +1 -1
  4. package/apps/web/dist/assets/{CreditsDialog-o9h0Nrui.js → CreditsDialog-CbFq_7-m.js} +1 -1
  5. package/apps/web/dist/assets/EditorPage-8liZwYCK.js +2 -0
  6. package/apps/web/dist/assets/{FlowPreview-DdZKsXNh.js → FlowPreview-De3ZyIer.js} +1 -1
  7. package/apps/web/dist/assets/{Harness-CKcyJvtw.js → Harness-3kuJaJoj.js} +1 -1
  8. package/apps/web/dist/assets/{HomePage-DVPGy7jW.js → HomePage-DWDT64vg.js} +1 -1
  9. package/apps/web/dist/assets/{ImportWizard-CK9fXKct.js → ImportWizard-CTGmBDI8.js} +1 -1
  10. package/apps/web/dist/assets/{LocalRuntime-Cjftoi3j.js → LocalRuntime-CVdU8RtD.js} +1 -1
  11. package/apps/web/dist/assets/{NewWizardPage-0GHmokBt.js → NewWizardPage-CqFlo0b-.js} +2 -2
  12. package/apps/web/dist/assets/{ProjectPage-DURhRvUm.js → ProjectPage-CDw2Jcxx.js} +1 -1
  13. package/apps/web/dist/assets/{PublicRunner-BCHg6lbj.js → PublicRunner-BYnX2OmB.js} +1 -1
  14. package/apps/web/dist/assets/{RunnerView-a_2EqHPo.js → RunnerView-Civq59Tk.js} +1 -1
  15. package/apps/web/dist/assets/{SettingsPage-DPHW6HRz.js → SettingsPage-Bj0TxbiM.js} +1 -1
  16. package/apps/web/dist/assets/{SetupPage-r6tj7oTr.js → SetupPage-DHQYO7zB.js} +1 -1
  17. package/apps/web/dist/assets/{SharePage-2Q8SoJLs.js → SharePage-CY6bwfTI.js} +1 -1
  18. package/apps/web/dist/assets/{api-DTLkC0ge.js → api-RJbFM_oc.js} +1 -1
  19. package/apps/web/dist/assets/changelog-BWtvjeKs.js +1 -0
  20. package/apps/web/dist/assets/{esm-Buv7Ma3z.js → esm-CgnVZhIQ.js} +1 -1
  21. package/apps/web/dist/assets/index-9maLuK9R.css +1 -0
  22. package/apps/web/dist/assets/{index-C5pRB5Ah.js → index-LmRYEd-y.js} +3 -3
  23. package/apps/web/dist/assets/{meta-CDimdOlV.js → meta-CchZXdWH.js} +1 -1
  24. package/apps/web/dist/assets/{settings-menu-D1tMZ82V.js → settings-menu-CrRWSrNL.js} +1 -1
  25. package/apps/web/dist/assets/ui-HV_XbHjw.js +1 -0
  26. package/apps/web/dist/index.html +4 -4
  27. package/apps/web/dist/mcp/flow.html +2 -2
  28. package/package.json +1 -1
  29. package/apps/web/dist/assets/EditorPage-BPL4_GlP.js +0 -2
  30. package/apps/web/dist/assets/changelog-5ArxeGsu.js +0 -1
  31. package/apps/web/dist/assets/index-DMwk_afK.css +0 -1
  32. package/apps/web/dist/assets/ui-CHX2gEQl.js +0 -1
@@ -112,7 +112,7 @@ Boolean requesting whether a visible border and background is provided by the ho
112
112
  - omitted: host decides border`)}),H({method:K(`ui/request-display-mode`),params:H({mode:rg.describe(`The display mode being requested.`)})});var bg=H({mode:rg.describe(`The display mode that was actually set. May differ from requested if not supported.`)}).passthrough(),xg=U([K(`model`),K(`app`)]).describe(`Tool visibility scope - who can access the tool.`);H({resourceUri:L().optional(),visibility:V(xg).optional().describe(`Who can access this tool. Default: ["model", "app"]
113
113
  - "model": Tool visible to and callable by the agent
114
114
  - "app": Tool callable by the app from this server only`),csp:Pc().optional(),permissions:Pc().optional()}),H({mimeTypes:V(L()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')}),H({method:K(`ui/download-file`),params:H({contents:V(U([fd,pd])).describe(`Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.`)})}),H({method:K(`ui/message`),params:H({role:K(`user`).describe(`Message role, currently only "user" is supported.`),content:V(md).describe(`Message content blocks (text, image, etc.).`)})}),H({method:K(`ui/notifications/sandbox-resource-ready`),params:H({html:L().describe(`HTML content to load into the inner iframe.`),sandbox:L().optional().describe(`Optional override for the inner iframe's sandbox attribute.`),csp:cg.optional().describe(`CSP configuration from resource metadata.`),permissions:lg.optional().describe(`Sandbox permissions from resource metadata.`)})});var Sg=H({method:K(`ui/notifications/tool-result`),params:Cd.describe(`Standard MCP tool execution result.`)}),Cg=H({toolInfo:H({id:Jl.optional().describe(`JSON-RPC id of the tools/call request.`),tool:bd.describe(`Tool definition including name, inputSchema, etc.`)}).optional().describe(`Metadata of the tool call that instantiated this App.`),theme:ng.optional().describe(`Current color theme preference.`),styles:mg.optional().describe(`Style configuration for theming the app.`),displayMode:rg.optional().describe(`How the UI is currently displayed.`),availableDisplayModes:V(rg).optional().describe(`Display modes the host supports.`),containerDimensions:U([H({height:R().describe(`Fixed container height in pixels.`)}),H({maxHeight:U([R(),Dc()]).optional().describe(`Maximum container height in pixels.`)})]).and(U([H({width:R().describe(`Fixed container width in pixels.`)}),H({maxWidth:U([R(),Dc()]).optional().describe(`Maximum container width in pixels.`)})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
115
- container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:L().optional().describe(`User's language and region preference in BCP 47 format.`),timeZone:L().optional().describe(`User's timezone in IANA format.`),userAgent:L().optional().describe(`Host application identifier.`),platform:U([K(`web`),K(`desktop`),K(`mobile`)]).optional().describe(`Platform type for responsive design decisions.`),deviceCapabilities:H({touch:z().optional().describe(`Whether the device supports touch input.`),hover:z().optional().describe(`Whether the device supports hover interactions.`)}).optional().describe(`Device input capabilities.`),safeAreaInsets:H({top:R().describe(`Top safe area inset in pixels.`),right:R().describe(`Right safe area inset in pixels.`),bottom:R().describe(`Bottom safe area inset in pixels.`),left:R().describe(`Left safe area inset in pixels.`)}).optional().describe(`Mobile safe area boundaries in pixels.`)}).passthrough(),wg=H({method:K(`ui/notifications/host-context-changed`),params:Cg.describe(`Partial context update containing only changed fields.`)});H({method:K(`ui/update-model-context`),params:H({content:V(md).optional().describe(`Context content blocks (text, image, etc.).`),structuredContent:W(L(),B().describe(`Structured content for machine-readable context data.`)).optional().describe(`Structured content for machine-readable context data.`)})}),H({method:K(`ui/initialize`),params:H({appInfo:su.describe(`App identification (name and version).`),appCapabilities:yg.describe(`Features and capabilities this app provides.`),protocolVersion:L().describe(`Protocol version this app supports.`)})});var Tg=H({protocolVersion:L().describe(`Negotiated protocol version string (e.g., "2025-11-21").`),hostInfo:su.describe(`Host application identification and version.`),hostCapabilities:vg.describe(`Features and capabilities provided by the host.`),hostContext:Cg.describe(`Rich context about the host environment.`)}).passthrough(),Eg={target:`draft-2020-12`};async function Dg(e,t){let n=e[`~standard`];if(n.jsonSchema)return n.jsonSchema[t](Eg);throw Error(`Schema (vendor: ${n.vendor}) does not implement Standard JSON Schema (~standard.jsonSchema). Use a library that does (zod v4, ArkType, Valibot) or wrap your schema accordingly.`)}async function Og(e,t,n=``){let r=await e[`~standard`].validate(t);if(r.issues){let e=r.issues.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `);throw Error(n+e)}return r.value}function kg(e,t){let n={...e,...t};return t.experimental!==void 0&&(n.experimental={...e.experimental,...t.experimental}),t.tools!==void 0&&(n.tools={...e.tools,...t.tools}),n}var Ag=class e extends wh{_appInfo;_appCapabilities;options;_hostCapabilities;_hostInfo;_hostContext;_registeredTools={};_initializedSent=!1;_registeredEvents=new Set;_events=new Yh;_methods=new Xh;setRequestHandler=(...e)=>{let[t,...n]=Qh(`request`,e)??e;this._methods.claim(t,`setRequestHandler`),super.setRequestHandler.call(this,t,...n)};setNotificationHandler=(...e)=>{let[t,...n]=Qh(`notification`,e)??e;this._methods.claim(t,`setNotificationHandler`),super.setNotificationHandler.call(this,t,...n)};removeRequestHandler=e=>{this._methods.release(e),super.removeRequestHandler(e)};removeNotificationHandler=e=>{this._methods.release(e),super.removeNotificationHandler(e)};replaceRequestHandler=(e,...t)=>{this._methods.replace(e),super.setRequestHandler.call(this,e,...t)};_assertInitialized(e){if(this._initializedSent)return;let t=`[ext-apps] App.${e}() called before connect() completed the ui/initialize handshake. Await app.connect() before calling this method, or move data loading to an ontoolresult handler.`;if(this.options?.strict)throw Error(t);console.warn(`${t}. This will throw in a future release.`)}eventSchemas={toolinput:ug,toolinputpartial:dg,toolresult:Sg,toolcancelled:fg,hostcontextchanged:wg};static ONE_SHOT_EVENTS=new Set([`toolinput`,`toolinputpartial`,`toolresult`,`toolcancelled`]);_everHadListener=new Set;_assertHandlerTiming(t){if(!e.ONE_SHOT_EVENTS.has(t)||this._everHadListener.has(t)||(this._everHadListener.add(t),!this._initializedSent))return;let n=`[ext-apps] "${String(t)}" handler registered after connect() completed the ui/initialize handshake. The host may have already sent this notification. Register handlers before calling app.connect().`;if(this.options?.strict)throw Error(n);console.warn(n)}setEventHandler(e,t){t&&this._assertHandlerTiming(e),this._ensureEventSlot(e),this._events.setHandler(e,t)}addEventListener(e,t){this._assertHandlerTiming(e),this._ensureEventSlot(e),this._events.addEventListener(e,t)}removeEventListener(e,t){this._events.removeEventListener(e,t)}_ensureEventSlot(e){if(this._registeredEvents.has(e))return;let t=this.eventSchemas[e];if(!t)throw Error(`Unknown event: ${String(e)}`);this.setNotificationHandler(t.shape.method.value,{params:t.shape.params},t=>{let n=t;e===`hostcontextchanged`&&(this._hostContext={...this._hostContext,...n}),this._events.dispatch(e,n)}),this._registeredEvents.add(e)}getEventHandler(e){return this._events.getHandler(e)}warnIfRequestHandlerReplaced(e,t,n){t&&n&&console.warn(`[MCP Apps] ${e} handler replaced. Previous handler will no longer be called.`)}constructor(e,t={},n={autoResize:!0}){super(n),this._appInfo=e,this._appCapabilities=t,this.options=n,this._methods.replace(`notifications/cancelled`),this._methods.replace(`notifications/progress`),!n.allowUnsafeEval&&dt({jitless:!0}),this.replaceRequestHandler(`ping`,e=>(console.log(`Received ping:`,e.params),{})),this.setEventHandler(`hostcontextchanged`,void 0)}buildContext(e){return e}registerAppCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after transport is established`);this._appCapabilities=kg(this._appCapabilities,e)}registerTool(e,t,n){if(this._registeredTools[e])throw Error(`Tool ${e} is already registered`);let r=this,i=()=>{r._initializedSent&&r._appCapabilities.tools?.listChanged&&r.sendToolListChanged()},a=t.inputSchema!==void 0,o={title:t.title,description:t.description,inputSchema:t.inputSchema,outputSchema:t.outputSchema,annotations:t.annotations,_meta:t._meta,enabled:!0,enable(){this.enabled=!0,i()},disable(){this.enabled=!1,i()},update(e){Object.assign(this,e),i()},remove(){r._registeredTools[e]===o&&(delete r._registeredTools[e],i())},handler:async(t,r)=>{if(!o.enabled)throw Error(`Tool ${e} is disabled`);let i;if(a){let a=o.inputSchema;i=await n(a?await Og(a,t??{},`Invalid input for tool ${e}: `):t??{},r)}else i=await n(r);return o.outputSchema&&!i.isError&&(i.structuredContent=await Og(o.outputSchema,i.structuredContent,`Invalid output for tool ${e}: `)),i}};return this._registeredTools[e]=o,!this._appCapabilities.tools&&!this.transport&&this.registerAppCapabilities({tools:{listChanged:!0}}),this.ensureToolHandlersInitialized(),i(),o}_toolHandlersInitialized=!1;ensureToolHandlersInitialized(){this._toolHandlersInitialized||(this._toolHandlersInitialized=!0,this.oncalltool=async(e,t)=>{let n=this._registeredTools[e.name];if(!n)throw Error(`Tool ${e.name} not found`);return n.handler(e.arguments,t)},this.onlisttools=async(e,t)=>({tools:await Promise.all(Object.entries(this._registeredTools).filter(([e,t])=>t.enabled).map(async([e,t])=>{let n={name:e,title:t.title,description:t.description,inputSchema:t.inputSchema?await Dg(t.inputSchema,`input`):{type:`object`,properties:{}}};return t.outputSchema&&(n.outputSchema=await Dg(t.outputSchema,`output`)),t.annotations&&(n.annotations=t.annotations),t._meta&&(n._meta=t._meta),n}))}))}async sendToolListChanged(e={}){this._assertInitialized(`sendToolListChanged`),await this.notification({method:`notifications/tools/list_changed`,params:e})}getHostCapabilities(){return this._hostCapabilities}getHostVersion(){return this._hostInfo}getHostContext(){return this._hostContext}get ontoolinput(){return this.getEventHandler(`toolinput`)}set ontoolinput(e){this.setEventHandler(`toolinput`,e)}get ontoolinputpartial(){return this.getEventHandler(`toolinputpartial`)}set ontoolinputpartial(e){this.setEventHandler(`toolinputpartial`,e)}get ontoolresult(){return this.getEventHandler(`toolresult`)}set ontoolresult(e){this.setEventHandler(`toolresult`,e)}get ontoolcancelled(){return this.getEventHandler(`toolcancelled`)}set ontoolcancelled(e){this.setEventHandler(`toolcancelled`,e)}get onhostcontextchanged(){return this.getEventHandler(`hostcontextchanged`)}set onhostcontextchanged(e){this.setEventHandler(`hostcontextchanged`,e)}_onteardown;get onteardown(){return this._onteardown}set onteardown(e){this.warnIfRequestHandlerReplaced(`onteardown`,this._onteardown,e),this._onteardown=e,this.replaceRequestHandler(`ui/resource-teardown`,{params:hg.shape.params,result:gg},(e,t)=>{if(!this._onteardown)throw Error(`No onteardown handler set`);return this._onteardown(e,t)})}_oncalltool;get oncalltool(){return this._oncalltool}set oncalltool(e){this.warnIfRequestHandlerReplaced(`oncalltool`,this._oncalltool,e),this._oncalltool=e,this.replaceRequestHandler(`tools/call`,(e,t)=>{if(!this._oncalltool)throw Error(`No oncalltool handler set`);return this._oncalltool(e.params,t)})}_onlisttools;get onlisttools(){return this._onlisttools}set onlisttools(e){this.warnIfRequestHandlerReplaced(`onlisttools`,this._onlisttools,e),this._onlisttools=e,this.replaceRequestHandler(`tools/list`,(e,t)=>{if(!this._onlisttools)throw Error(`No onlisttools handler set`);return this._onlisttools(e.params,t)})}assertCapabilityForMethod(e){if(e===`sampling/createMessage`&&!this._hostCapabilities?.sampling)throw Error(`Host does not support sampling (required for ${e})`)}assertRequestHandlerCapability(e){switch(e){case`tools/call`:case`tools/list`:if(!this._appCapabilities.tools)throw Error(`Client does not support tool capability (required for ${e})`);return;default:return}}assertNotificationCapability(e){}async callServerTool(e,t){if(this._assertInitialized(`callServerTool`),typeof e==`string`)throw Error(`callServerTool() expects an object as its first argument, but received a string ("${e}"). Did you mean: callServerTool({ name: "${e}", arguments: { ... } })?`);return await this.request({method:`tools/call`,params:e},{onprogress:()=>{},resetTimeoutOnProgress:!0,...t})}async readServerResource(e,t){return this._assertInitialized(`readServerResource`),await this.request({method:`resources/read`,params:e},t)}async listServerResources(e,t){return this._assertInitialized(`listServerResources`),await this.request({method:`resources/list`,params:e},t)}async createSamplingMessage(e,t){return this._assertInitialized(`createSamplingMessage`),await this.request({method:`sampling/createMessage`,params:e},t)}sendMessage(e,t){return this._assertInitialized(`sendMessage`),this.request({method:`ui/message`,params:e},sg,t)}sendLog(e){return this.notification({method:`notifications/message`,params:e})}updateModelContext(e,t){return this._assertInitialized(`updateModelContext`),this.request({method:`ui/update-model-context`,params:e},tu,t)}openLink(e,t){return this._assertInitialized(`openLink`),this.request({method:`ui/open-link`,params:e},ag,t)}sendOpenLink=this.openLink;downloadFile(e,t){return this._assertInitialized(`downloadFile`),this.request({method:`ui/download-file`,params:e},og,t)}requestTeardown(e={}){return this.notification({method:`ui/notifications/request-teardown`,params:e})}requestDisplayMode(e,t){return this._assertInitialized(`requestDisplayMode`),this.request({method:`ui/request-display-mode`,params:e},bg,t)}sendSizeChanged(e){return this.notification({method:`ui/notifications/size-changed`,params:e})}setupSizeChangedNotifications(){let e=!1,t=0,n=0,r=()=>{e||(e=!0,requestAnimationFrame(()=>{e=!1;let r=document.documentElement,i=r.style.height;r.style.height=`max-content`;let a=Math.ceil(r.getBoundingClientRect().height);r.style.height=i;let o=Math.ceil(window.innerWidth);(o!==t||a!==n)&&(t=o,n=a,this.sendSizeChanged({width:o,height:a}))}))};r();let i=new ResizeObserver(r);return i.observe(document.documentElement),i.observe(document.body),()=>i.disconnect()}async connect(e=new tg(window.parent,window.parent),t){if(this.transport)throw Error(`App is already connected. Call close() before connecting again.`);this._initializedSent=!1;try{await super.connect(e);let n=await this.request({method:`ui/initialize`,params:{appCapabilities:this._appCapabilities,appInfo:this._appInfo,protocolVersion:eg}},Tg,t);if(n===void 0)throw Error(`Server sent invalid initialize result: ${n}`);this._hostCapabilities=n.hostCapabilities,this._hostInfo=n.hostInfo,this._hostContext=n.hostContext,await this.notification({method:`ui/notifications/initialized`}),this._initializedSent=!0,this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(e){throw this.close(),e}}},jg=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function Mg(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:jg(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var Ng=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},Pg=e=>{let t=Ng(e);return t.charAt(0).toUpperCase()+t.slice(1)},Fg=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Ig={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Lg(e){return e!=null}function Rg(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??Ig.width,a=e.size??e.height??Ig.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?Fg(...c):Fg(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??Ig[`stroke-width`])*Number(e.size??e.width??Ig.width)/Number(t.size??t.width??Ig.width):t.strokeWidth??Ig[`stroke-width`];return[`svg`,{...Object.entries(Ig).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&Lg(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&Lg(t.width)&&{[r(`width`)]:t.width},...`height`in t&&Lg(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function zg(e,t={}){return Rg(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var Bg=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Vg=(0,y.createContext)({}),Hg=()=>(0,y.useContext)(Vg),Ug=(0,y.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:_=`currentColor`,className:v=``}=Hg()??{},b=!!c||Bg(d),[x,S,C=[]]=zg(u,{color:e??_,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:Fg(v,s),hasA11yProp:b,attributes:d});return(0,y.createElement)(x,{ref:f,...S},[...C.map(([e,t])=>(0,y.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function J(e,t=[],n=[]){let r=typeof e==`string`?Mg(e,t,n):e,i=(0,y.forwardRef)(({className:e,...t},n)=>(0,y.createElement)(Ug,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=Pg(r.name)),i}var Wg={name:`app-window`,size:24,node:[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]};Wg.node;var Gg=J(Wg),Kg={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]};Kg.node;var qg=J(Kg),Jg={name:`arrow-left`,size:24,node:[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]};Jg.node;var Yg=J(Jg),Xg={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Xg.node;var Zg=J(Xg),Qg={name:`arrow-up`,size:24,node:[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]};Qg.node;var $g=J(Qg),e_={name:`bell-ring`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`,key:`5bb3ad`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`,key:`tap9e0`}]]};e_.node;var t_=J(e_),n_={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};n_.node;var r_=J(n_),i_={name:`bot`,size:24,node:[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]};i_.node;var a_=J(i_),o_={name:`camera`,size:24,node:[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]};o_.node;var s_=J(o_),c_={name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]};c_.node;var l_=J(c_),u_={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};u_.node;var d_=J(u_),f_={name:`copy`,size:24,node:[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]};f_.node;var p_=J(f_),m_={name:`corner-down-left`,size:24,node:[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]};m_.node;var h_=J(m_),g_={name:`database`,size:24,node:[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]};g_.node;var __=J(g_),v_={name:`download`,size:24,node:[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]};v_.node;var y_=J(v_),b_={name:`eraser`,size:24,node:[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]};b_.node;var x_=J(b_),S_={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};S_.node;var C_=J(S_),w_={name:`eye`,size:24,node:[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};w_.node;var T_=J(w_),E_={name:`file-headphone`,size:24,node:[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]],aliases:[`file-audio`,`file-audio-2`]};E_.node;var D_=J(E_),O_={name:`file-text`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]};O_.node;var k_=J(O_),A_={name:`film`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 3v18`,key:`bbkbws`}],[`path`,{d:`M3 7.5h4`,key:`zfgn84`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`path`,{d:`M3 16.5h4`,key:`1230mu`}],[`path`,{d:`M17 3v18`,key:`in4fa5`}],[`path`,{d:`M17 7.5h4`,key:`myr1c1`}],[`path`,{d:`M17 16.5h4`,key:`go4c1d`}]]};A_.node;var j_=J(A_),M_={name:`flag`,size:24,node:[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`,key:`1jaruq`}]]};M_.node;var N_=J(M_),P_={name:`flashlight-off`,size:24,node:[[`path`,{d:`M11.652 6H18`,key:`voqkpr`}],[`path`,{d:`M12 13v1`,key:`176q98`}],[`path`,{d:`M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V6`,key:`dzyf92`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M7.649 2H17a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8a4 4 0 0 0-.55 1.007`,key:`1hvcfn`}]]};P_.node;var F_=J(P_),I_={name:`flashlight`,size:24,node:[[`path`,{d:`M12 13v1`,key:`176q98`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8A4 4 0 0 0 16 12v8a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V3a1 1 0 0 1 1-1z`,key:`17vh7j`}],[`path`,{d:`M6 6h12`,key:`n6hhss`}]]};I_.node;var L_=J(I_),R_={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};R_.node;var z_=J(R_),B_={name:`image-plus`,size:24,node:[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]};B_.node;var V_=J(B_),H_={name:`image-up`,size:24,node:[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`,key:`9csbqa`}],[`path`,{d:`m14 19.5 3-3 3 3`,key:`9vmjn0`}],[`path`,{d:`M17 22v-5.5`,key:`1aa6fl`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]};H_.node;var U_=J(H_),W_={name:`image`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]};W_.node;var G_=J(W_),K_={name:`layout-dashboard`,size:24,node:[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]};K_.node;var q_=J(K_),J_={name:`link-2`,size:24,node:[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]};J_.node;var Y_=J(J_),X_={name:`list-checks`,size:24,node:[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]};X_.node;var Z_=J(X_),Q_={name:`locate-fixed`,size:24,node:[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`,key:`bvdh0s`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`,key:`1tbv5k`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`,key:`11lu5j`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`,key:`x3vr5v`}],[`circle`,{cx:`12`,cy:`12`,r:`7`,key:`fim9np`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};Q_.node;var $_=J(Q_),ev={name:`lock-keyhole`,size:24,node:[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]};ev.node;var tv=J(ev),nv={name:`mail`,size:24,node:[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]};nv.node;var rv=J(nv),iv={name:`map-pin`,size:24,node:[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]};iv.node;var av=J(iv),ov={name:`maximize-2`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]};ov.node;var sv=J(ov),cv={name:`mic`,size:24,node:[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]};cv.node;var lv=J(cv),uv={name:`minimize-2`,size:24,node:[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]};uv.node;var dv=J(uv),fv={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};fv.node;var pv=J(fv),mv={name:`paperclip`,size:24,node:[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]};mv.node;var hv=J(mv),gv={name:`pen-line`,size:24,node:[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]],aliases:[`edit-3`]};gv.node;var _v=J(gv),vv={name:`pencil-line`,size:24,node:[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]};vv.node;var yv=J(vv),bv={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};bv.node;var xv=J(bv),Sv={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};Sv.node;var Cv=J(Sv),wv={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};wv.node;var Tv=J(wv),Ev={name:`rotate-ccw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]};Ev.node;var Dv=J(Ev),Ov={name:`scan-line`,size:24,node:[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}],[`path`,{d:`M7 12h10`,key:`b7w52i`}]]};Ov.node;var kv=J(Ov),Av={name:`scan`,size:24,node:[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]};Av.node;var jv=J(Av),Mv={name:`share-2`,size:24,node:[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]};Mv.node;var Nv=J(Mv),Pv={name:`share`,size:24,node:[[`path`,{d:`M12 2v13`,key:`1km8f5`}],[`path`,{d:`m16 6-4-4-4 4`,key:`13yo43`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`,key:`1b2hhj`}]]};Pv.node;var Fv=J(Pv),Iv={name:`shield-check`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]};Iv.node;var Lv=J(Iv),Rv={name:`sparkles`,size:24,node:[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]],aliases:[`stars`]};Rv.node;var zv=J(Rv),Bv={name:`square`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]};Bv.node;var Vv=J(Bv),Hv={name:`switch-camera`,size:24,node:[[`path`,{d:`M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5`,key:`mtk2lu`}],[`path`,{d:`M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5`,key:`120jsl`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`m18 22-3-3 3-3`,key:`kgdoj7`}],[`path`,{d:`m6 2 3 3-3 3`,key:`1fnbkv`}]]};Hv.node;var Uv=J(Hv),Wv={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};Wv.node;var Gv=J(Wv),Kv={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};Kv.node;var qv=J(Kv),Jv={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};Jv.node;var Yv=J(Jv),Xv={name:`unplug`,size:24,node:[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]};Xv.node;var Zv=J(Xv),Qv={name:`video`,size:24,node:[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`,key:`ftymec`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`,key:`158x01`}]]};Qv.node;var $v=J(Qv),ey={name:`wand-sparkles`,size:24,node:[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]],aliases:[`wand-2`]};ey.node;var ty=J(ey),ny={name:`workflow`,size:24,node:[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]};ny.node;var ry=J(ny),iy={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};iy.node;var ay=J(iy),oy,sy,cy,ly=o((()=>{oy={cobalt:`var(--engenty-cobalt, oklch(60% 0.23 262))`,amber:`var(--engenty-amber, oklch(82% 0.17 78))`,moss:`var(--engenty-moss, oklch(72% 0.22 145))`,rose:`var(--engenty-rose, oklch(64% 0.25 18))`,ember:`var(--engenty-ember, oklch(70% 0.21 42))`,teal:`var(--engenty-teal, oklch(74% 0.16 192))`,violet:`var(--engenty-violet, oklch(60% 0.25 300))`,magenta:`var(--engenty-magenta, oklch(65% 0.28 345))`,citron:`var(--engenty-citron, oklch(89% 0.2 118))`,slate:`var(--engenty-slate, oklch(66% 0.13 235))`},sy=[`round`,`drop`,`dome`,`flame`,`oval`],[...sy],cy={bean:`teal`,dome:`moss`,drop:`amber`,flame:`rose`,oval:`ember`,pebble:`slate`,round:`cobalt`,sprout:`citron`,tower:`violet`,wedge:`magenta`}}));function uy(e){return Math.max(...e.blobs.map(e=>e.r*Math.min(e.rx??1,e.ry??1)))}function dy(e){let t=new Float32Array(my*4);for(let n=0;n<my;n++){let r=e.blobs[n];if(!r){t[n*4]=1e4,t[n*4+1]=1e4,t[n*4+2]=0,t[n*4+3]=0;continue}t[n*4]=r.x,t[n*4+1]=r.y,t[n*4+2]=r.r*(r.rx??1),t[n*4+3]=r.r*(r.ry??1)}return t}function fy(e){let t=new Float32Array(hy*4),n=new Float32Array(hy*4);return e.extras?.forEach((e,r)=>{let i=r*4;switch(n[i]=gy[e.type],n[i+1]=e.alpha??1,e.type){case`ink-dot`:t.set([e.x,e.y,e.r,0],i);break;case`body-dot`:t.set([e.x,e.y,e.r,e.bob??0],i);break;case`arc`:t.set([e.cx,e.cy,e.r,e.half*Math.PI/180],i),n[i+2]=e.width,n[i+3]=+!!e.body;break;case`bar`:t.set([e.x,e.y,e.half,0],i),n[i+2]=e.width;break;case`wave`:t.set([e.x,e.y,e.len,e.amp],i),n[i+2]=e.width}}),{geometry:t,meta:n}}var py,my,hy,gy,_y=o((()=>{py={round:{blobs:[{x:60,y:61,r:36,rx:1,ry:1.06}],extras:[{type:`body-dot`,x:97,y:34,r:6,alpha:.5,bob:3},{type:`body-dot`,x:106,y:24,r:3.5,alpha:.35,bob:3.5}],falloff:2.2,fur:9,period:3.6,eye:{x:68,y:58,r:8},shadowRx:26},drop:{blobs:[{x:60,y:70,r:30,rx:1,ry:.95},{x:60,y:40,r:20,rx:.85,ry:1.15},{x:60,y:22,r:9,rx:.7,ry:1}],extras:[{type:`wave`,x:48,y:76,len:24,amp:2,width:2.6}],falloff:1.7,fur:8.5,period:4.4,eye:{x:60,y:56,r:8},shadowRx:24},dome:{blobs:[{x:60,y:72,r:32,rx:1.02,ry:.82},{x:60,y:46,r:28,rx:1,ry:1}],extras:[{type:`bar`,x:46,y:85,half:5,width:2.4,alpha:.5},{type:`bar`,x:60,y:87,half:5,width:2.4,alpha:.5},{type:`bar`,x:74,y:85,half:5,width:2.4,alpha:.5},{type:`body-dot`,x:60,y:6,r:3,bob:2.5}],falloff:1.7,fur:9,period:3,eye:{x:60,y:54,r:8.5},shadowRx:27},flame:{blobs:[{x:60,y:80,r:22,rx:1,ry:.95},{x:60,y:54,r:19,rx:.95,ry:1.1},{x:60,y:30,r:12,rx:.72,ry:1.25},{x:60,y:16,r:5,rx:.6,ry:1.1}],extras:[{type:`arc`,cx:60,cy:45,r:32,half:39,width:3,alpha:.55,body:!0},{type:`ink-dot`,x:60,y:82,r:2.6}],falloff:1.6,fur:7.5,period:2.6,eye:{x:60,y:62,r:8},shadowRx:22},oval:{blobs:[{x:60,y:64,r:40,rx:1.06,ry:.76}],extras:[{type:`arc`,cx:60,cy:223,r:172,half:10.7,width:2.2,alpha:.45},{type:`arc`,cx:60,cy:261,r:191,half:10.3,width:2.2,alpha:.45}],falloff:2.2,fur:10,period:4,eye:{x:66,y:58,r:8},shadowRx:32},bean:{blobs:[{x:46,y:76,r:24},{x:74,y:54,r:22}],extras:[{type:`body-dot`,x:32,y:94,r:4,alpha:.4}],falloff:1.7,fur:9,period:3.8,eye:{x:70,y:58,r:8},shadowRx:26},pebble:{blobs:[{x:56,y:76,r:32,rx:1.3,ry:.66},{x:86,y:74,r:18,rx:1,ry:.7}],extras:[{type:`ink-dot`,x:42,y:76,r:3,alpha:.32},{type:`ink-dot`,x:56,y:86,r:2.2,alpha:.32},{type:`ink-dot`,x:86,y:80,r:2.6,alpha:.32}],falloff:1.8,fur:9.5,period:4.6,eye:{x:68,y:72,r:7.5},shadowRx:34},sprout:{blobs:[{x:60,y:74,r:28},{x:48,y:34,r:8,rx:.75,ry:1.15},{x:72,y:32,r:7,rx:.75,ry:1.15}],falloff:1.7,fur:8.5,period:3.2,eye:{x:60,y:68,r:8.5},shadowRx:26},tower:{blobs:[{x:60,y:86,r:19},{x:60,y:60,r:17},{x:60,y:36,r:14}],extras:[{type:`arc`,cx:60,cy:154,r:80,half:13,width:2.2,alpha:.4},{type:`arc`,cx:60,cy:187,r:99,half:11.7,width:2.2,alpha:.4}],falloff:1.6,fur:8,period:4,eye:{x:60,y:52,r:8},shadowRx:20},wedge:{blobs:[{x:44,y:84,r:20},{x:76,y:84,r:20},{x:60,y:48,r:14}],extras:[{type:`arc`,cx:60,cy:28,r:10,half:53,width:3,alpha:.5,body:!0}],falloff:1.7,fur:8.5,period:2.9,eye:{x:60,y:70,r:8},shadowRx:28}},my=Math.max(...Object.values(py).map(e=>e.blobs.length)),hy=Math.max(...Object.values(py).map(e=>e.extras?.length??0)),gy={"ink-dot":1,"body-dot":2,arc:3,bar:4,wave:5}})),vy=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),yy=s(((e,t)=>{t.exports=vy()}));function by(e,t){let n=1/0,r=-1/0;for(let i of py[e].blobs){let e=i.r*(i.rx??1),a=i.r*(i.ry??1),o=(t-i.y)/a;if(Math.abs(o)>=1)continue;let s=e*Math.sqrt(1-o*o);n=Math.min(n,i.x-s),r=Math.max(r,i.x+s)}return[n,r]}function xy(e){let{x:t,y:n,r}=py[e].eye,i=r*1.45,a=r*.42,[o,s]=by(e,n);return{band:r*.95,left:o,lens:i,outer:i+a/2,right:s,rim:a,x:t,y:n}}function Sy({g:e}){let t=(t,n)=>n-t>1?(0,wy.jsxs)(`g`,{children:[(0,wy.jsx)(`rect`,{fill:Ty,height:e.band,rx:e.band*.3,width:n-t,x:t,y:e.y-e.band/2}),(0,wy.jsx)(`line`,{stroke:Ey,strokeDasharray:`1.6 1.6`,strokeWidth:.6,x1:t+1,x2:n-1,y1:e.y,y2:e.y})]}):null;return(0,wy.jsxs)(`g`,{className:`e-goggles`,children:[t(e.left+1.5,e.x-e.outer+.5),t(e.x+e.outer-.5,e.right-1.5),(0,wy.jsx)(`circle`,{cx:e.x,cy:e.y,fill:ky,r:e.lens}),(0,wy.jsx)(`circle`,{cx:e.x,cy:e.y,fill:`none`,r:e.lens,stroke:Dy,strokeWidth:e.rim}),(0,wy.jsx)(`circle`,{cx:e.x,cy:e.y,fill:`none`,r:e.outer,stroke:Oy,strokeWidth:.7}),[45,135,225,315].map(t=>(0,wy.jsx)(`circle`,{cx:e.x+Math.cos(t*Math.PI/180)*e.lens,cy:e.y+Math.sin(t*Math.PI/180)*e.lens,fill:Oy,r:.9},t)),(0,wy.jsx)(`path`,{d:`M ${e.x-e.lens*.62} ${e.y-e.lens*.2} A ${e.lens*.66} ${e.lens*.66} 0 0 1 ${e.x-e.lens*.1} ${e.y-e.lens*.64}`,fill:`none`,opacity:.75,stroke:`#fff`,strokeLinecap:`round`,strokeWidth:1.3})]})}function Cy({kind:e}){return(0,wy.jsx)(Sy,{g:xy(e)})}var wy,Ty,Ey,Dy,Oy,ky,Ay=o((()=>{_y(),wy=yy(),Ty=`oklch(40% 0.07 50)`,Ey=`oklch(30% 0.06 45)`,Dy=`oklch(74% 0.12 80)`,Oy=`oklch(55% 0.1 70)`,ky=`oklch(88% 0.05 220 / 0.32)`}));function jy(){By=0;let e=window.innerHeight,t=!1;for(let n of Ry){let r=n.svg.getBoundingClientRect();if(r.bottom<-40||r.top>e+40)continue;let i=r.left+r.width*.5,a=r.top+r.height*.48,o=zy.x-i,s=zy.y-a,c=Math.hypot(o,s)||1,l=o/c,u=s/c,d=Math.min(r.width,r.height)*2.4,f=.35+Math.min(1,c/d)*.65,p=l*5.5*f,m=u*3.5*f,h=l*7*f+u*1.2*f;n.tx=Uy(n.tx,p,.16),n.ty=Uy(n.ty,m,.16),n.rot=Uy(n.rot,h,.14),n.lean&&n.lean.setAttribute(`transform`,`translate(${n.tx.toFixed(2)} ${n.ty.toFixed(2)}) rotate(${n.rot.toFixed(2)} 60 62)`),n.shadow&&(n.shadow.setAttribute(`cx`,(60-n.tx*.35).toFixed(2)),n.shadow.setAttribute(`opacity`,String(Math.max(.08,.14-Math.abs(n.ty)*.008))));let g=n.ex+l*n.max*f,_=n.ey+1+u*n.max*.9*f;n.px=Uy(n.px,g,.24),n.py=Uy(n.py,_,.24),n.pupil&&(n.pupil.setAttribute(`cx`,n.px.toFixed(2)),n.pupil.setAttribute(`cy`,n.py.toFixed(2))),n.glint&&(n.glint.setAttribute(`cx`,(n.px-2).toFixed(2)),n.glint.setAttribute(`cy`,(n.py-3.4).toFixed(2))),(Math.abs(n.tx-p)>.05||Math.abs(n.px-g)>.05)&&(t=!0)}(t||Vy-->0)&&(By=requestAnimationFrame(jy))}function My(){Vy=48,By||=requestAnimationFrame(jy)}function Ny(e){zy.x=e.clientX,zy.y=e.clientY,My()}function Py(){Hy||typeof window>`u`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||(Hy=!0,zy.x=window.innerWidth*.62,zy.y=window.innerHeight*.28,window.addEventListener(`pointermove`,Ny,{passive:!0}),My())}function Fy(){Ry.size>0||Hy&&(Hy=!1,window.removeEventListener(`pointermove`,Ny),By&&=(cancelAnimationFrame(By),0))}function Iy(e,t,n=!0){let r=(0,Ly.useRef)(t);r.current=t,(0,Ly.useEffect)(()=>{let t=e.current;if(!(t&&n)||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let{ex:i,ey:a,max:o=3.2}=r.current,s={svg:t,lean:t.querySelector(`.e-lean`),pupil:t.querySelector(`.e-pupil`),glint:t.querySelector(`.e-glint`),shadow:t.querySelector(`.e-shadow`),ex:i,ey:a,max:o,tx:0,ty:0,rot:0,px:i,py:a+1};return Ry.add(s),Py(),My(),()=>{Ry.delete(s),Fy()}},[e,n,t.ex,t.ey,t.max])}var Ly,Ry,zy,By,Vy,Hy,Uy,Wy=o((()=>{Ly=u(f(),1),Ry=new Set,zy={x:0,y:0},By=0,Vy=0,Hy=!1,Uy=(e,t,n)=>e+(t-e)*n}));function Gy({ex:e,ey:t,max:n,ink:r,r:i,blink:a=`5.2s`}){let o=i*1.15;return(0,Y.jsxs)(`g`,{className:`e-eye`,"data-ex":e,"data-ey":t,"data-max":n,children:[(0,Y.jsx)(`ellipse`,{cx:e,cy:t,fill:`#fff`,rx:i,ry:o,children:(0,Y.jsx)(`animate`,{attributeName:`ry`,dur:a,keyTimes:`0;0.92;0.95;1`,repeatCount:`indefinite`,values:`${o};${o};${i*.1};${o}`})}),(0,Y.jsx)(`circle`,{className:`e-pupil`,cx:e,cy:t+1,fill:r,r:i*.48}),(0,Y.jsx)(`circle`,{className:`e-glint`,cx:e-i*.25,cy:t-i*.3,fill:`#fff`,r:i*.18})]})}function Ky(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.cobalt,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`3.6s`,repeatCount:`indefinite`,values:`M60 22 Q96 26 96 62 Q96 96 60 100 Q24 96 24 62 Q24 26 60 22 Z;M60 30 Q100 20 94 62 Q98 102 60 95 Q22 102 26 62 Q20 22 60 30 Z;M60 22 Q96 26 96 62 Q96 96 60 100 Q24 96 24 62 Q24 26 60 22 Z`})}),(0,Y.jsx)(`circle`,{cx:`97`,cy:`34`,fill:oy.cobalt,opacity:`0.5`,r:`6`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,dur:`3.6s`,repeatCount:`indefinite`,values:`34;28;34`})}),(0,Y.jsx)(`circle`,{cx:`106`,cy:`24`,fill:oy.cobalt,opacity:`0.35`,r:`3.5`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,begin:`0.4s`,dur:`3.6s`,repeatCount:`indefinite`,values:`24;17;24`})}),(0,Y.jsx)(Gy,{blink:`5.2s`,ex:68,ey:58,ink:`oklch(18% 0.08 260)`,max:3.4,r:8})]})}function qy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.amber,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4.4s`,repeatCount:`indefinite`,values:`M60 16 Q90 34 90 66 Q90 96 60 98 Q30 96 30 66 Q30 34 60 16 Z;M50 20 Q92 30 88 66 Q92 98 60 96 Q28 98 32 66 Q26 36 50 20 Z;M70 20 Q94 36 90 66 Q88 98 60 96 Q32 98 32 66 Q30 30 70 20 Z;M60 16 Q90 34 90 66 Q90 96 60 98 Q30 96 30 66 Q30 34 60 16 Z`})}),(0,Y.jsx)(Gy,{blink:`4.4s`,ex:60,ey:56,ink:`oklch(30% 0.10 60)`,max:3.2,r:8}),(0,Y.jsx)(`path`,{d:`M48 76 Q54 72 60 76 Q66 80 72 76`,fill:`none`,stroke:`oklch(30% 0.10 55)`,strokeLinecap:`round`,strokeWidth:`2.6`})]})}function Jy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.moss,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`3s`,repeatCount:`indefinite`,values:`M60 20 Q92 30 92 70 Q92 96 60 96 Q28 96 28 70 Q28 30 60 20 Z;M60 30 Q98 36 96 74 Q96 98 60 98 Q24 98 24 74 Q22 36 60 30 Z;M60 12 Q88 26 88 68 Q88 94 60 94 Q32 94 32 68 Q32 26 60 12 Z;M60 20 Q92 30 92 70 Q92 96 60 96 Q28 96 28 70 Q28 30 60 20 Z`})}),(0,Y.jsx)(`path`,{d:`M46 90 L46 80 M60 92 L60 82 M74 90 L74 80`,opacity:`0.5`,stroke:`oklch(28% 0.10 155)`,strokeLinecap:`round`,strokeWidth:`2.4`}),(0,Y.jsx)(`circle`,{cx:`60`,cy:`6`,fill:oy.moss,r:`3`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,dur:`3s`,repeatCount:`indefinite`,values:`8;3;8`})}),(0,Y.jsx)(Gy,{blink:`4.6s`,ex:60,ey:54,ink:`oklch(16% 0.08 160)`,max:3.4,r:8.5})]})}function Yy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.rose,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`2.6s`,repeatCount:`indefinite`,values:`M60 14 Q84 44 80 76 Q78 98 60 98 Q42 98 40 76 Q36 44 60 14 Z;M52 18 Q86 40 82 76 Q80 98 60 98 Q40 98 38 76 Q32 46 52 18 Z;M68 18 Q88 46 82 76 Q80 98 60 98 Q40 98 38 76 Q34 40 68 18 Z;M60 14 Q84 44 80 76 Q78 98 60 98 Q42 98 40 76 Q36 44 60 14 Z`})}),(0,Y.jsx)(`path`,{d:`M40 20 Q60 6 80 20`,fill:`none`,opacity:`0.55`,stroke:oy.rose,strokeLinecap:`round`,strokeWidth:`3`,children:(0,Y.jsx)(`animate`,{attributeName:`opacity`,dur:`2.6s`,repeatCount:`indefinite`,values:`0.55;0.15;0.55`})}),(0,Y.jsx)(Gy,{blink:`3.8s`,ex:60,ey:62,ink:`oklch(22% 0.10 18)`,max:3.2,r:8}),(0,Y.jsx)(`circle`,{cx:`60`,cy:`82`,fill:`oklch(22% 0.10 18)`,r:`2.6`})]})}function Xy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.ember,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4s`,repeatCount:`indefinite`,values:`M60 34 Q100 38 100 64 Q100 92 60 94 Q20 92 20 64 Q20 38 60 34 Z;M60 40 Q110 40 108 66 Q108 96 60 96 Q12 96 12 66 Q10 40 60 40 Z;M60 28 Q92 36 92 62 Q92 88 60 90 Q28 88 28 62 Q28 36 60 28 Z;M60 34 Q100 38 100 64 Q100 92 60 94 Q20 92 20 64 Q20 38 60 34 Z`})}),(0,Y.jsxs)(`g`,{fill:`none`,opacity:`0.45`,stroke:`oklch(40% 0.16 30)`,strokeWidth:`2.2`,children:[(0,Y.jsx)(`path`,{d:`M28 54 Q60 48 92 54`,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4s`,repeatCount:`indefinite`,values:`M28 54 Q60 48 92 54;M20 56 Q60 50 100 56;M32 52 Q60 46 88 52;M28 54 Q60 48 92 54`})}),(0,Y.jsx)(`path`,{d:`M26 70 Q60 64 94 70`,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4s`,repeatCount:`indefinite`,values:`M26 70 Q60 64 94 70;M18 72 Q60 66 102 72;M30 68 Q60 62 90 68;M26 70 Q60 64 94 70`})})]}),(0,Y.jsx)(Gy,{blink:`4.2s`,ex:66,ey:58,ink:`oklch(24% 0.10 30)`,max:3.2,r:8})]})}function Zy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.teal,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`3.8s`,repeatCount:`indefinite`,values:`M48 96 Q24 92 26 68 Q28 44 52 38 Q78 32 88 50 Q98 66 84 84 Q70 100 48 96 Z;M46 98 Q20 92 24 66 Q28 40 54 36 Q80 30 90 50 Q100 68 84 86 Q68 102 46 98 Z;M50 94 Q28 90 28 68 Q30 46 52 40 Q76 34 86 50 Q94 64 82 82 Q72 98 50 94 Z;M48 96 Q24 92 26 68 Q28 44 52 38 Q78 32 88 50 Q98 66 84 84 Q70 100 48 96 Z`})}),(0,Y.jsx)(`circle`,{cx:`32`,cy:`94`,fill:oy.teal,opacity:`0.4`,r:`4`,children:(0,Y.jsx)(`animate`,{attributeName:`cx`,dur:`3.8s`,repeatCount:`indefinite`,values:`32;27;32`})}),(0,Y.jsx)(Gy,{blink:`4.8s`,ex:70,ey:58,ink:`oklch(18% 0.08 200)`,max:3.4,r:8})]})}function Qy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.slate,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4.6s`,repeatCount:`indefinite`,values:`M60 96 Q20 96 18 78 Q16 60 46 56 Q78 52 98 62 Q110 72 104 86 Q98 96 60 96 Z;M60 98 Q14 98 14 78 Q14 58 46 54 Q80 50 102 62 Q114 74 106 88 Q98 98 60 98 Z;M60 94 Q26 94 22 78 Q20 62 46 58 Q76 54 94 62 Q106 70 100 84 Q94 94 60 94 Z;M60 96 Q20 96 18 78 Q16 60 46 56 Q78 52 98 62 Q110 72 104 86 Q98 96 60 96 Z`})}),(0,Y.jsxs)(`g`,{fill:`oklch(30% 0.05 244)`,opacity:`0.32`,children:[(0,Y.jsx)(`circle`,{cx:`42`,cy:`76`,r:`3`}),(0,Y.jsx)(`circle`,{cx:`56`,cy:`86`,r:`2.2`}),(0,Y.jsx)(`circle`,{cx:`86`,cy:`80`,r:`2.6`})]}),(0,Y.jsx)(Gy,{blink:`5.6s`,ex:68,ey:72,ink:`oklch(20% 0.06 244)`,max:3,r:7.5})]})}function $y(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`g`,{fill:oy.citron,children:[(0,Y.jsx)(`ellipse`,{cx:`48`,cy:`34`,rx:`6`,ry:`10`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,dur:`3.2s`,repeatCount:`indefinite`,values:`34;30;34`})}),(0,Y.jsx)(`ellipse`,{cx:`72`,cy:`32`,rx:`5.5`,ry:`9`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,begin:`0.5s`,dur:`3.2s`,repeatCount:`indefinite`,values:`32;28;32`})})]}),(0,Y.jsx)(`path`,{fill:oy.citron,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`3.2s`,repeatCount:`indefinite`,values:`M60 100 Q28 98 28 72 Q28 46 60 44 Q92 46 92 72 Q92 98 60 100 Z;M60 102 Q24 100 24 72 Q24 42 60 40 Q96 42 96 72 Q96 100 60 102 Z;M60 98 Q32 96 32 72 Q32 50 60 48 Q88 50 88 72 Q88 96 60 98 Z;M60 100 Q28 98 28 72 Q28 46 60 44 Q92 46 92 72 Q92 98 60 100 Z`})}),(0,Y.jsx)(Gy,{blink:`4.2s`,ex:60,ey:68,ink:`oklch(24% 0.09 108)`,max:3.4,r:8.5})]})}function eb(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.violet,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4s`,repeatCount:`indefinite`,values:`M60 102 Q36 100 38 78 Q40 58 42 44 Q44 26 60 24 Q76 26 78 44 Q80 58 82 78 Q84 100 60 102 Z;M60 104 Q32 102 36 78 Q40 56 40 42 Q40 22 60 20 Q80 22 80 42 Q80 56 84 78 Q88 102 60 104 Z;M60 100 Q40 98 40 78 Q42 60 44 46 Q46 30 60 28 Q74 30 76 46 Q78 60 80 78 Q80 98 60 100 Z;M60 102 Q36 100 38 78 Q40 58 42 44 Q44 26 60 24 Q76 26 78 44 Q80 58 82 78 Q84 100 60 102 Z`})}),(0,Y.jsxs)(`g`,{fill:`none`,opacity:`0.4`,stroke:`oklch(28% 0.10 308)`,strokeLinecap:`round`,strokeWidth:`2.2`,children:[(0,Y.jsx)(`path`,{d:`M42 74 Q60 70 78 74`}),(0,Y.jsx)(`path`,{d:`M40 88 Q60 84 80 88`})]}),(0,Y.jsx)(Gy,{blink:`5s`,ex:60,ey:52,ink:`oklch(20% 0.09 308)`,max:3.2,r:8})]})}function tb(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.magenta,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`2.9s`,repeatCount:`indefinite`,values:`M60 30 Q74 40 86 70 Q96 92 78 98 Q60 102 42 98 Q24 92 34 70 Q46 40 60 30 Z;M60 24 Q78 38 90 70 Q100 94 78 100 Q60 104 42 100 Q20 94 30 70 Q42 38 60 24 Z;M60 34 Q72 44 82 70 Q92 90 76 96 Q60 100 44 96 Q28 90 38 70 Q48 44 60 34 Z;M60 30 Q74 40 86 70 Q96 92 78 98 Q60 102 42 98 Q24 92 34 70 Q46 40 60 30 Z`})}),(0,Y.jsx)(`path`,{d:`M52 22 Q60 14 68 22`,fill:`none`,opacity:`0.5`,stroke:oy.magenta,strokeLinecap:`round`,strokeWidth:`3`,children:(0,Y.jsx)(`animate`,{attributeName:`opacity`,dur:`2.9s`,repeatCount:`indefinite`,values:`0.5;0.12;0.5`})}),(0,Y.jsx)(Gy,{blink:`3.6s`,ex:60,ey:70,ink:`oklch(22% 0.10 345)`,max:3.2,r:8})]})}function nb({kind:e}){switch(e){case`drop`:return(0,Y.jsx)(qy,{});case`dome`:return(0,Y.jsx)(Jy,{});case`flame`:return(0,Y.jsx)(Yy,{});case`oval`:return(0,Y.jsx)(Xy,{});case`bean`:return(0,Y.jsx)(Zy,{});case`pebble`:return(0,Y.jsx)(Qy,{});case`sprout`:return(0,Y.jsx)($y,{});case`tower`:return(0,Y.jsx)(eb,{});case`wedge`:return(0,Y.jsx)(tb,{});default:return(0,Y.jsx)(Ky,{})}}function rb({animated:e=!0,goggles:t=!1,kind:n=`round`,size:r=160,className:i}){let a=(0,ib.useRef)(null),o=ab[n],s=ob[n];return Iy(a,o,e),(0,ib.useEffect)(()=>{let t=a.current;if(!t)return;let n=typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(e&&!n){t.unpauseAnimations();return}t.pauseAnimations(),t.setCurrentTime(0)},[e]),(0,Y.jsxs)(`svg`,{"aria-hidden":`true`,className:i,height:r,overflow:`visible`,ref:a,style:{display:`block`},viewBox:`0 0 120 120`,width:r,children:[(0,Y.jsx)(`ellipse`,{className:`e-shadow`,cx:`60`,cy:s.cy,fill:`#000`,opacity:`0.14`,rx:s.rx,ry:`4.5`,children:(0,Y.jsx)(`animate`,{attributeName:`rx`,dur:s.dur,repeatCount:`indefinite`,values:`${s.rx};${s.rx*.8};${s.rx}`})}),(0,Y.jsxs)(`g`,{className:`e-lean`,children:[(0,Y.jsx)(nb,{kind:n}),t?(0,Y.jsx)(Cy,{kind:n}):null]})]})}var ib,Y,ab,ob,sb=o((()=>{ib=u(f(),1),ly(),Ay(),Wy(),Y=yy(),ab={round:{ex:68,ey:58,max:3.4},drop:{ex:60,ey:56,max:3.2},dome:{ex:60,ey:54,max:3.4},flame:{ex:60,ey:62,max:3.2},oval:{ex:66,ey:58,max:3.2},bean:{ex:70,ey:58,max:3.4},pebble:{ex:68,ey:72,max:3},sprout:{ex:60,ey:68,max:3.4},tower:{ex:60,ey:52,max:3.2},wedge:{ex:60,ey:70,max:3.2}},ob={round:{cy:108,rx:26,dur:`3.6s`},drop:{cy:106,rx:24,dur:`4.4s`},dome:{cy:104,rx:27,dur:`3s`},flame:{cy:106,rx:22,dur:`2.6s`},oval:{cy:102,rx:32,dur:`4s`},bean:{cy:102,rx:26,dur:`3.8s`},pebble:{cy:102,rx:34,dur:`4.6s`},sprout:{cy:106,rx:26,dur:`3.2s`},tower:{cy:108,rx:20,dur:`4s`},wedge:{cy:106,rx:28,dur:`2.9s`}}}));ly(),sb();var X=yy(),cb={"brand.tagline":`Wünsch dir was. Wir bauen deinen Wizard.`,"brand.sub":`Er führt dich Schritt für Schritt zum Ergebnis. Die KI erledigt die Arbeit.`,"auth.dev":`Dev-Login (lokal)`,"auth.legal":`Kein Passwort, keine Registrierung – du meldest dich mit einem bestehenden Konto an.`,"auth.signIn":`Anmelden oder Konto erstellen`,"auth.failed":`Die Anmeldung hat nicht geklappt. Bitte noch einmal versuchen.`,"auth.localLink":`Öffne den Link, den die App beim Start ausgegeben hat – er meldet dich an diesem Gerät an.`,"nav.account":`Konto & Guthaben`,"setup.keysInAccount":`API-Schlüssel für Skripte gehören zu deinem Konto. Du legst sie dort an und ziehst sie dort zurück.`,"setup.openAccount":`Konto öffnen`,"class.label":`Modell-Klasse`,"class.classifier":`Classifier`,"class.standard":`Standard`,"class.high":`High`,"class.highest":`Highest`,"class.image":`Bild`,"class.video":`Video`,"class.audio":`Audio`,"class.speech":`Sprachausgabe`,"class.classifier.hint":`Zuordnen, Ja/Nein, wenige Werte aus Text ziehen. Am günstigsten.`,"class.standard.hint":`Kurze Texte, eine API aufrufen, umformatieren.`,"class.high.hint":`Recherche mit Werkzeugen, lange Dokumente, Abwägen vieler Quellen.`,"class.highest.hint":`Schweres Abwägen oder Code. Mehrfach so teuer wie High.`,"class.effort":`Denkaufwand`,"class.effortAuto":`Automatisch`,"class.effort.low":`Niedrig`,"class.effort.medium":`Mittel`,"class.effort.high":`Hoch`,"estimate.step":`≈ {n} Credits, selten mehr als {high}`,"estimate.measured":`gemessen aus den letzten Läufen`,"estimate.formula":`geschätzt, wird nach fünf Läufen genauer`,"estimate.share":`Ein Lauf kostet etwa {run} Credits. Beim Tageslimit sind es höchstens {day} Credits am Tag.`,"local.title":`Modelle`,"local.accountWaiting":`Warte auf die Anmeldung im Browser …`,"local.accountFailed":`Der Konto-Dienst ist gerade nicht erreichbar.`,"local.accountExpired":`Die Anmeldung ist abgelaufen. Bitte neu anmelden.`,"local.sourceNeedsAccount":`Dafür brauchst du ein Konto.`,"local.toAccount":`Zu Einstellungen → Konto`,"local.sourceOwn":`Eigene Schlüssel`,"local.keys":`Schlüssel`,"local.keysHint":`Ein Schlüssel reicht. Schlüssel liegen im Schlüsselbund dieses Geräts, nie in der Datenbank.`,"local.keySet":`hinterlegt`,"local.keyEmpty":`nicht hinterlegt`,"local.keyRemove":`Entfernen`,"local.classes":`Modell je Klasse`,"local.classesHint":`Ein Schritt nennt nur die Klasse. Hier steht, welches Modell sie bedient, z. B. anthropic/claude-haiku-4.5, openai:gpt-5.4-mini oder ollama:qwen3.`,"local.save":`Speichern`,"local.saved":`Gespeichert`,"local.chat":`Der Chat im Studio antwortet über`,"local.chatModels":`Modell-Klasse Highest`,"local.chatClaude":`Claude-Abo (Claude Code)`,"local.subscription":`Mit dem Abo baut das auf diesem Gerät installierte Claude Code den Wizard – mit deiner Anmeldung dort. Läufe nutzen weiter Schlüssel oder Guthaben.`,"harness.hint":`Texte denkt das auf diesem Gerät installierte {name} – mit deinem {sub} und deiner Anmeldung dort. Kein Schlüssel nötig. Bilder, Videos und Audio brauchen weiter einen Schlüssel.`,"harness.hintImages":`Texte und Bilder macht das auf diesem Gerät installierte {name} – mit deinem {sub} und deiner Anmeldung dort. Kein Schlüssel nötig. Videos und Audio brauchen weiter einen Schlüssel.`,"harness.found":`{name} {version} gefunden`,"harness.missing":`{name} ist auf diesem Gerät nicht installiert.`,"harness.install":`Oder in deinem eigenen Terminal:`,"harness.installButton":`{name} installieren`,"harness.installing":`{name} wird im Terminal unten installiert – das dauert etwa eine Minute. Danach meldest du es an.`,"harness.installEnded":`Die Installation ist zu Ende, aber {name} ist nicht da. Was oben steht, sagt warum.`,"harness.appHere":`Die {app}-App ist auf diesem Computer: {name} meldet sich mit demselben {sub} an.`,"harness.notInstalled":`nicht installiert`,"harness.authSubscription":`Angemeldet mit deinem {sub}.`,"harness.authKey":`Angemeldet mit einem API-Schlüssel aus deiner Shell – nicht mit dem Abo. Melde dich hier an, damit es über dein {sub} läuft.`,"harness.authNone":`Noch nicht angemeldet.`,"harness.signIn":`Hier anmelden`,"harness.signingIn":`Die Anmeldung läuft im Terminal unten – dein Browser öffnet sich dafür. Das Terminal schließt sich, sobald die Anmeldung da ist.`,"harness.signInInteractive":`Unten startet {name}. Wähle dort die Anmeldung mit deinem {sub} und melde dich im Browser an. Das Terminal schließt sich, sobald die Anmeldung da ist.`,"harness.loginEnded":`Die Anmeldung wurde beendet, ohne dass {name} angemeldet ist.`,"harness.sub.claude":`Claude-Abo`,"harness.sub.codex":`ChatGPT-Abo`,"harness.sub.gemini":`Google-Konto`,"harness.sub.cursor":`Cursor-Abo`,"harness.desc.claude":`Mit deinem Claude-Abo – kein Schlüssel nötig.`,"harness.desc.codex":`Mit deinem ChatGPT-Abo – kein Schlüssel nötig.`,"harness.desc.gemini":`Mit deinem Google-Konto – kein Schlüssel nötig.`,"harness.desc.cursor":`Mit deinem Cursor-Abo – kein Schlüssel nötig.`,"harness.ready":`angemeldet`,"local.recheck":`Erneut prüfen`,"local.test":`Testen`,"local.testHint":`Ein kurzer Aufruf zeigt, ob der Weg zum Modell offen ist.`,"local.testOk":`Antwort in {s} s über {ref}: „{reply}“`,"local.testFailed":`Der Test hat nicht geklappt: {error}`,"models.groupCaps":`Fähigkeiten`,"models.groupAccess":`Zugänge`,"models.groupMore":`Weitere Anbieter`,"models.cap.text":`Text & Denken`,"models.cap.text.hint":`Schreibt, fasst zusammen, recherchiert und entscheidet – in fast jedem Schritt.`,"models.cap.image":`Bilder`,"models.cap.image.hint":`Erzeugt Bilder: Logos, Produktfotos, Illustrationen.`,"models.cap.video":`Videos`,"models.cap.video.hint":`Erzeugt kurze Clips aus Text oder aus einem Bild.`,"models.cap.speech":`Sprachausgabe`,"models.cap.speech.hint":`Liest Texte vor: Voice-over, Hörfassungen, Ansagen.`,"models.cap.listening":`Sprachnotizen`,"models.cap.listening.hint":`Versteht Gesprochenes und macht aus Sprachnotizen Text.`,"models.way.local":`Lokales Modell`,"models.way.credits":`Guthaben`,"models.way.creditsTeam":`Guthaben des Teams`,"models.way.none":`nicht eingerichtet`,"models.who":`Wer macht das?`,"models.optSubscription":`Dein Abo`,"models.optKey":`Eigener API Key`,"models.optLocal":`Lokales Modell`,"models.optLocalNote":`Ollama auf diesem Computer`,"models.noteIncluded":`im Abo enthalten`,"models.noteSignedOut":`nicht angemeldet`,"models.noteMissing":`nicht installiert`,"models.noteKey":`API Key hinterlegt`,"models.noteKeyShort":`Key`,"models.noteSignedIn":`angemeldet`,"models.noteShellKey":`API Key aus der Shell`,"models.optOther":`Sonst`,"models.optCreditsGroup":`engenty`,"models.noteNoKey":`API Key fehlt`,"models.noteNeedsAccount":`Konto nötig`,"models.notePerImage":`≈ {n} Credits je Bild`,"models.notePerSecond":`≈ {n} Credits je Sekunde`,"models.notePer1k":`≈ {n} Credits je 1000 Zeichen`,"models.notePerMinute":`≈ {n} Credits je Minute`,"models.creditsAuto":`engenty wählt: {model}`,"models.creditsAutoNone":`engenty wählt das Modell`,"models.creditsPickHint":`Abgerechnet in Credits – ohne eigenen API Key.`,"models.viaCredits":`{name} über engenty Guthaben`,"models.viaCreditsHint":`Ohne eigenen API Key, abgerechnet in Credits.`,"models.viaCreditsNeedsAccount":`Mit einem engenty-Konto, abgerechnet in Credits.`,"models.noteUsage":`Credits nach Verbrauch`,"models.model":`Modell`,"models.modelCustom":`Eigenes Modell …`,"models.textSimple":`Einfache Schritte`,"models.textDemanding":`Anspruchsvolle Schritte`,"models.perClass":`Je Klasse anpassen`,"models.manageKey":`API Key von {name}`,"models.key":`API Key`,"models.keyFor":`API Key von {name}`,"models.keyGet":`Key bei {name} holen`,"models.keySave":`Prüfen und speichern`,"models.keyStored":`API Key hinterlegt`,"models.keyNone":`Kein API Key`,"models.keyCheck":`Prüfen`,"models.keyReplace":`Ersetzen`,"models.keyRemove":`Entfernen`,"models.keyOk":`Der Key gilt.`,"models.keyBad":`Der Key wurde nicht angenommen.`,"models.keyWhereLocal":`Der Key bleibt auf diesem Gerät, nie in der Datenbank.`,"models.keyWhereCloud":`Der Key liegt verschlüsselt beim Team. Niemand sieht ihn wieder.`,"models.keyFallback":`Bis der Key da ist, springt das Guthaben ein.`,"models.uses":`Wofür`,"models.useFor":`Nutzen`,"models.inUse":`wird genutzt`,"models.try":`Ausprobieren`,"models.try.text":`Testen`,"models.try.image":`Probebild erzeugen`,"models.try.video":`Probeclip erzeugen`,"models.try.speech":`Probe anhören`,"models.try.listening":`Zuhören testen`,"models.tryCost":`Kostet wie ein echter Aufruf.`,"models.tryCostVideo":`Ein Clip von 4 Sekunden – kostet wie ein echter.`,"models.tryWait":`Wird erzeugt …`,"models.tryWaitVideo":`Ein Clip dauert ein bis zwei Minuten …`,"models.tryOk":`In {s} s mit {model}`,"models.tryHeard":`Gehört: „{text}“`,"models.tryHeardNothing":`Nichts gehört – der Weg ist offen.`,"models.tryFailed":`Hat nicht geklappt: {error}`,"models.creditsName":`engenty Guthaben`,"models.creditsTeam":`Guthaben des Teams`,"models.creditsLocalLead":`Springt ein, wo kein Abo und kein eigener API Key eingerichtet ist.`,"models.creditsCloudHint":`Alles ohne eigenen API Key läuft über das Guthaben. Eigene Keys gehen vor und kosten keine Credits.`,"models.creditsConnectTitle":`Mit einem Konto`,"models.creditsLocalHint":`Mit einem engenty-Konto springt das Guthaben ein, wo nichts Eigenes eingerichtet ist – etwa für Videos ohne eigenen API Key.`,"models.creditsConnect":`Konto verbinden`,"models.creditsFallback":`Guthaben springt ein`,"models.creditsFallbackOn":`Was kein Abo und keinen eigenen API Key hat, läuft über das Guthaben.`,"models.creditsFallbackOff":`Aus: Was kein Abo und keinen eigenen API Key hat, läuft nicht.`,"models.creditsOn":`Läuft über das Guthaben`,"models.creditsNone":`Gerade läuft nichts über das Guthaben.`,"models.creditsTopUp":`Aufladen`,"models.creditsPicks":`engenty wählt das Modell und rechnet in Credits ab.`,"models.creditsModel":`Gerade: {model}.`,"models.clientSignIn":`Anmeldung`,"models.clientImages":`{name} erzeugt Bilder mit deinem {sub} – ohne eigenen API Key.`,"models.clientNotChosen":`Text läuft gerade nicht über {name}.`,"models.ollamaHint":`Adresse von Ollama und das Modell, das dort läuft.`,"models.readOnly":`Nur Admins des Teams ändern die Modelle.`,"models.viewAs":`Vorschau als`,"models.view.auto":`wie es ist`,"models.view.local":`lokal`,"models.view.linked":`lokal + Konto`,"models.view.cloud":`Cloud-Studio`,"setup.title":`Setup`,"setup.sub":`Engenty kann deine vorhandenen Konten auf deinem Computer nutzen.`,"setup.source":`Womit soll die Engenty denken?`,"setup.local":`Läuft lokal auf diesem Gerät.`,"setup.stage.connect":`Verbinden`,"setup.stage.test":`Testen`,"setup.stage.done":`Fertig`,"setup.h.install":`Installiere {name}`,"setup.h.signIn":`Melde {name} an`,"setup.h.keys":`Trage einen Schlüssel ein`,"setup.h.test":`Ein kurzer Test`,"setup.h.done":`Verbunden.`,"setup.ready":`Alles bereit.`,"setup.noHarness":`Noch kein KI-Client installiert. Wähle einen – er wird hier installiert – oder trage eigene Schlüssel ein.`,"setup.ownDesc":`AI Gateway, OpenAI, Anthropic oder Ollama.`,"setup.recommended":`Empfohlen`,"setup.done":`Zum Studio`,"setup.untilWorks":`Das Studio öffnet sich, sobald der Test klappt.`,"cloud.onPublish":`Sobald du den Wizard veröffentlichst, geht die Version auch in die Cloud deines Kontos und läuft dort hinter einem eigenen Link.`,"cloud.notSent":`Diese Version ist noch nicht in der Cloud.`,"cloud.send":`Jetzt senden`,"cloud.resend":`Erneut senden`,"cloud.again":`Um {when} wird es noch einmal versucht.`,"cloud.sent":`Version {v} · gesendet am {when}`,"cloud.notRunnable":`Version {v} läuft in der Cloud nicht.`,"cloud.keepsRunning":`Dort läuft weiter Version {v}.`,"cloud.nothingRuns":`Dort läuft deshalb noch nichts.`,"cloud.notes":`Was in der Cloud anders läuft:`,"cloud.check":`Was dem jetzigen Stand in der Cloud fehlen würde:`,"cloud.checkBlocking":`So, wie der Wizard jetzt ist, würde er in der Cloud nicht laufen:`,"cloud.documents":`Die Dokumente des Space bleiben auf diesem Gerät. In der Cloud arbeiten die Schritte ohne sie.`,"cloud.stepName":`„{title}“`,"cloud.problem.sandbox":`Der Server hat keine Maschine für Code. Dort läuft das ohne sie.`,"cloud.problem.mcp":`Die MCP-Server des Space gibt es auf dem Server nicht: {detail}.`,"cloud.problem.model":`Dafür gibt es in der Cloud kein Modell.`,"cloud.problem.connector":`Dem Space fehlt in der Cloud ein Connector.`,"cloud.problem.invalid":`So nimmt der Server den Wizard nicht an.`,"cloud.spaceLimit":`In der Cloud deines Kontos liegt schon der Space einer anderen Installation:`,"cloud.replace":`Bisherigen Space ersetzen`,"cloud.replaceConfirm":`Den bisherigen Space aus der Cloud entfernen? Seine Wizards und ihre Links verschwinden dort. Danach wird gesendet, was hier veröffentlicht ist.`,"cloud.noticeError":`Hier veröffentlicht. In der Cloud ist diese Version nicht angekommen – mehr dazu unten.`,"cloud.noticeNotRunnable":`Hier veröffentlicht. In der Cloud läuft diese Version nicht – mehr dazu unten.`,"readonly.wizard":`Dieser Wizard kommt aus deiner lokalen Installation und wird dort geändert. Hier läuft, was du dort veröffentlichst.`,"readonly.project":`Dieser Space kommt aus deiner lokalen Installation und wird dort geändert.`,"readonly.server":`Auf diesem Server wird nichts gebaut. Hier laufen die Wizards, die deine lokale Installation veröffentlicht.`,"nav.wizards":`Wizards`,"nav.settings":`Einstellungen`,"nav.project":`Space`,"account.title":`Konto`,"account.hint":`Wie dich die App nennt und wie man dich erreicht.`,"account.initials":`Dein Kürzel im Menü oben rechts: die Anfangsbuchstaben deines Namens.`,"account.name":`Name`,"account.nameHint":`Anfangs steht hier der Benutzername dieses Geräts.`,"account.fromAccount":`Name und E-Mail kommen aus deinem Konto.`,"account.about":`Über dich`,"account.aboutHint":`Wer du bist und was du machst.`,"account.email":`E-Mail`,"account.phone":`Telefon`,"account.connection":`engenty.ai`,"account.connectionHint":`Anmeldung, Guthaben und die Cloud, in der deine Wizards für alle laufen.`,"account.profile":`Profil`,"account.local":`Lokale Installation`,"account.localText":`Diese App läuft auf deinem Gerät und ist mit keinem Konto verbunden. Wizards, Space und Dateien bleiben hier.`,"account.linked":`Verbunden`,"account.with":`Mit einem Konto`,"account.withCredits":`Guthaben für die Modelle, wo kein KI-Client installiert ist. Kein API Key nötig.`,"account.withCloud":`Was du veröffentlichst, läuft auch auf engenty.ai – hinter einem öffentlichen Link, auch wenn dieses Gerät aus ist.`,"account.signIn":`Anmelden`,"account.signInAgain":`Neu anmelden`,"account.new":`Noch kein Konto?`,"account.newHint":`Ein neues Konto braucht einen Einladungscode. Trag ihn hier ein, dann steht er bei der Registrierung schon im Formular.`,"account.code":`Einladungscode`,"account.create":`Konto erstellen`,"account.credits":`Guthaben`,"account.topUp":`Aufladen`,"account.expires":`{n} Credits gültig bis {date}`,"account.kind.start":`Startguthaben`,"account.kind.monthly":`Monatsguthaben`,"account.kind.gift":`Geschenkt`,"account.cloud":`Was du hier veröffentlichst, läuft auch auf {host}.`,"account.look":`Darstellung`,"account.lookHint":`Sprache und Design der App in diesem Browser.`,"nav.logout":`Abmelden`,"nav.connected":`Verbunden mit {host}`,"nav.expired":`Anmeldung abgelaufen`,"nav.onlyHere":`Nur auf diesem Computer`,"nav.local":`lokal`,"nav.language":`Sprache`,"nav.theme":`Design`,"nav.credits":`{n} Credits`,"footer.billing":`Guthaben`,"footer.usage":`Verbrauch`,"footer.invoices":`Rechnungen`,"footer.account":`Konto`,"about.version":`Version {v}`,"about.update.available":`Version {v} von engenty wizards ist da.`,"about.update.install":`Aktualisieren`,"about.update.installing":`Version {v} wird installiert …`,"about.update.restarting":`Startet neu mit Version {v} …`,"about.update.done":`Installiert. Starte engenty wizards neu, um {v} zu nutzen.`,"about.update.failed":`Das Update ist fehlgeschlagen. Logs: logs/update.log`,"about.update.notes":`Was ist neu`,"about.changelog":`Changelog`,"about.changelogHint":`Was sich von Version zu Version geändert hat.`,"about.changelogEmpty":`Noch keine Einträge.`,"about.unreleased":`Noch nicht veröffentlicht`,"about.breaking":`breaking`,"about.credits":`Open Source`,"about.creditsHint":`engenty wizards und die Open-Source-Software, auf der es aufbaut.`,"about.creditsProduct":`engenty`,"about.creditsBuiltWith":`Gebaut mit`,"about.creditsDeps":`Direkte Abhängigkeiten`,"about.creditsDepsHint":`Was die Teile dieser App selbst einbinden, mit Version und Lizenz – ohne deren eigene Abhängigkeiten.`,"about.creditsShared":`Von mehreren Teilen genutzt`,"about.search":`Suchen …`,"about.noMatches":`Keine Treffer.`,"theme.dark":`Dunkles Design`,"theme.light":`Helles Design`,"home.title":`Deine Wizards`,"home.new":`Neuer Wizard`,"home.import":`Importieren`,"import.failed":`Import hat nicht geklappt`,"home.empty":`Noch keine Wizards in diesem Space.`,"home.live":`Live`,"home.draft":`Entwurf`,"where.here":`Lokal`,"where.hereVersion":`Lokal · Version {v}`,"where.hereHint":`Läuft nur auf diesem Computer, solange die App läuft.`,"where.liveHint":`Läuft auf {host} – für alle mit dem Link.`,"where.liveAt":`Live auf {host} · Version {v}`,"where.note":`1 Hinweis`,"where.notes":`{n} Hinweise`,"where.sending":`Wird gesendet`,"where.missing":`Nicht in der Cloud`,"home.steps":`{n} Schritte`,"home.newProject":`Neuer Space`,"home.projectName":`Name des Space`,"home.projectLimit":`Höchstens {n} Spaces`,"home.fromLocal":`Aus deiner lokalen Installation – geändert wird dort.`,"home.syncedAt":`Zuletzt angekommen: {when}.`,"home.local.title":`Hier laufen die Wizards aus deiner lokalen Installation`,"home.local.text":`Du baust auf deinem eigenen Computer. Was du dort veröffentlichst, läuft hier – für alle, hinter einem Link.`,"home.local.install":`Installiere engenty wizards auf deinem Computer:`,"home.local.signIn":`Melde dich dort unter Einstellungen → Konto mit diesem Konto an.`,"home.local.publish":`Veröffentliche einen Wizard. Er erscheint dann hier.`,"new.title":`Was soll dein Wizard können?`,"new.placeholder":`z. B. Kunden geben ihr Produkt und ihre Zielgruppe ein, der Wizard recherchiert Wettbewerber und erstellt daraus ein Positionierungs-Briefing als PDF.`,"new.build":`Wizard bauen`,"new.orStarter":`Oder beginne mit einer Vorlage`,"new.import":`Wizard-Paket importieren`,"new.hint":`Du kannst alles danach im Gespräch ändern.`,"editor.resize":`Breite ändern – Doppelklick setzt zurück`,"editor.export":`Als Paket exportieren (.wizard)`,"editor.chat":`Gespräch`,"editor.step":`Schritte`,"editor.runs":`Durchläufe`,"editor.reviewEditable":`bearbeitbar`,"editor.reviewRedo":`neu erstellbar`,"editor.otherwise":`sonst`,"editor.whenFilled":`{field} ausgefüllt`,"editor.whenEmpty":`{field} leer`,"tool.web_search":`Websuche`,"tool.web_fetch":`Webseiten lesen`,"tool.browser":`Browser`,"tool.sandbox":`Code & Shell`,"tool.image":`Bilder`,"tool.http":`API`,"tool.pages":`Seiten`,"editor.test":`Testen`,"editor.share":`Teilen`,"editor.publish":`Veröffentlichen`,"editor.published":`Live · Version {v}`,"editor.unpublishedChanges":`Änderungen nicht veröffentlicht`,"editor.notPublished":`Noch nicht veröffentlicht`,"editor.composer":`Beschreibe, was sich ändern soll …`,"editor.attach":`Dateien anhängen`,"editor.detach":`Entfernen`,"editor.attached":`Angehängt`,"editor.thread":`Verlauf`,"editor.voice":`Diktieren`,"editor.voiceStop":`Diktat beenden`,"editor.listening":`Ich höre zu …`,"editor.transcribing":`Wird verschriftlicht …`,"editor.micDenied":`Das Mikrofon ist für diese Seite nicht freigegeben.`,"editor.building":`Baue den Ablauf …`,"editor.files":`Dateien`,"files.explain":`Was dein Wizard bei jedem Durchlauf braucht: Widget-Code, Bibliotheken, Kartenumrisse, Preislisten. Der Assistent legt sie im Gespräch an – du kannst auch eigene hochladen.`,"files.upload":`Hochladen`,"files.count":`{n} Dateien · {size}`,"files.empty":`Noch keine Dateien. Zieh Dateien hierher oder bitte den Assistenten, ein Widget zu bauen.`,"files.download":`Herunterladen`,"files.delete":`Löschen`,"files.confirmDelete":`„{path}“ löschen?`,"files.none":`Dieser Wizard hat keine Dateien.`,"editor.thinking":`Denkt nach …`,"editor.chatBroken":`Die Verbindung ist abgebrochen. Was schon gebaut war, ist gespeichert – schick die Nachricht bitte noch einmal.`,"editor.issues":`Bevor du testest oder teilst, braucht der Wizard noch Korrekturen:`,"editor.fixWithChat":`Vom Assistenten beheben lassen`,"editor.models.blocking":`So kann der Wizard nicht starten. Es fehlen Modelle:`,"editor.models.optional":`Diese Schritte laufen so nicht. Wähle beim Testen einen Weg ohne sie oder richte die Modelle ein:`,"editor.models.settings":`Modelle einrichten`,"editor.prevStep":`Vorheriger Schritt`,"editor.nextStep":`Nächster Schritt`,"editor.deleteStep":`Schritt löschen`,"editor.moveUp":`Nach oben`,"editor.moveDown":`Nach unten`,"editor.noRuns":`Noch keine Durchläufe.`,"editor.restart":`Neu starten`,"editor.close":`Schließen`,"editor.chatHello":`Beschreibe mir, was dein Wizard tun soll. Ich baue den Ablauf und du siehst ihn links als Diagramm.`,"shareRun.button":`Teilen`,"shareRun.title":`Ergebnis teilen`,"shareRun.email":`E-Mail`,"shareRun.more":`Mehr …`,"shareRun.until":`Der Link ist bis {date} gültig.`,"shareRun.kept":`Der Link bleibt gültig, bis du ihn zurückziehst.`,"shareRun.withdraw":`Link zurückziehen`,"sharePage.gone":`Dieser Link ist abgelaufen oder wurde zurückgezogen.`,"sharePage.own":`Selbst ausprobieren`,"sharePage.until":`Geteilt · verfügbar bis {date}`,"sharePage.shared":`Geteilt am {date}`,"share.title":`Wizard teilen`,"share.link":`Link`,"share.copy":`Kopieren`,"share.copied":`Kopiert`,"share.enabled":`Link ist aktiv`,"share.limit":`Durchläufe pro Tag`,"share.rotate":`Neuen Link erzeugen`,"share.rotateHint":`Der alte Link funktioniert danach nicht mehr.`,"share.publishFirst":`Veröffentliche den Wizard, damit der Link funktioniert.`,"share.unpublished":`Deine Änderungen sind noch nicht veröffentlicht: der Link läuft mit der Version davor.`,"share.website":`Website`,"share.openHere":`Auf diesem Computer testen`,"share.settings":`Einstellungen`,"share.on":`aktiv`,"share.off":`aus`,"share.perDay":`{n} pro Tag`,"share.rotateCloud":`Der alte Link funktioniert danach nicht mehr – auch der in der Cloud.`,"share.others":`Mit anderen teilen`,"share.othersHint":`Mit einem Konto läuft der Wizard auch auf engenty.ai: ein Link, ein QR-Code und ein Tag für deine Website – für alle, auch wenn dein Computer aus ist.`,"share.details":`Details`,"teaser.website":`Eine Website braucht einen Link, den jeder erreicht. Mit einem Konto läuft der Wizard auch auf engenty.ai – dann steht hier der Tag für deine Seite.`,"teaser.qr":`Ein QR-Code braucht einen Link, den jedes Handy erreicht. Mit einem Konto läuft der Wizard auch auf engenty.ai – dann stehen hier der QR-Code und die ID für die App.`,"teaser.link":`Dieser Link geht nur auf diesem Computer, solange die App läuft. Mit einem Konto läuft der Wizard auch auf engenty.ai – mit einem Link für alle.`,"teaser.models":`Ohne eigenen API Key: mit einem Konto laufen Text, Bilder und Videos über Guthaben.`,"teaser.connect":`Konto verbinden`,"teaser.modelsLinked":`Oder über das Guthaben deines Kontos: unter Modelle „Guthaben des Kontos“ wählen.`,"share.open":`Öffnen`,"share.qr":`QR-Code`,"share.qrHint":`Mit der Kamera des Handys scannen: der Wizard öffnet sich, in der App engenty wizards, wenn sie installiert ist.`,"share.code":`ID für die App:`,"share.readOnly":`Ob der Link aktiv ist und wie viele Durchläufe er am Tag zulässt, stellst du in deiner lokalen Installation ein.`,"embed.inline":`In der Seite`,"embed.modal":`Button + Fenster`,"embed.inlineHint":`Füge das Tag in den HTML-Code deiner Seite ein. Der Wizard erscheint an dieser Stelle.`,"embed.modalHint":`Füge das Tag in den HTML-Code deiner Seite ein. An dieser Stelle erscheint ein Button, der den Wizard in einem Fenster öffnet.`,"type.page":`Seite`,"type.agent":`KI-Schritt`,"type.generate":`Erzeugen`,"type.widget":`Widget`,"type.review":`Prüfen`,"type.result":`Ergebnis`,"run.start":`Los geht's`,"run.next":`Weiter`,"run.back":`Zurück`,"run.accept":`Passt so`,"run.regenerate":`Neue Variante`,"run.edit":`Bearbeiten`,"run.resume":`Letzten Durchlauf fortsetzen`,"run.regenerateNote":`Was soll anders werden?`,"run.pickItem":`Nr. {n}`,"run.pickedItem":`Nr. {n} neu`,"run.regeneratePicked":`Neu erstellt wird nur Nr. {n}.`,"run.regenerateAll":`Alle werden neu erstellt. Tippe oben auf eine Nummer, um nur einzelne zu erneuern.`,"check.progress":`{done} von {total} geprüft`,"check.onlyOpen":`Nur offene`,"check.noFile":`Zu dieser Zeile gibt es keine Datei.`,"check.noPreview":`Für diese Datei gibt es keine Vorschau – öffne sie mit dem Link oben.`,"check.reopen":`Wieder offen`,"market.search":`Vorlage suchen …`,"market.all":`Alle`,"market.industry":`Branche`,"market.format":`Ergebnis`,"market.capability":`Fähigkeit`,"market.unavailable":`nicht eingerichtet`,"market.missing":`Hier nicht eingerichtet: {list}`,"market.missingHint":`Dafür fehlt hier ein Modell: {list}. Richte es unter Modelle ein.`,"market.none":`Keine Vorlage passt zu dieser Auswahl.`,"market.notFound":`Diese Vorlage gibt es nicht (mehr).`,"market.star":`Merken`,"market.starred":`Gemerkt`,"market.starHint":`Gemerkte Vorlagen liegen auf diesem Rechner auch ohne Verbindung bereit.`,"market.noneStarred":`Du hast noch keine Vorlage gemerkt.`,"market.offline":`Keine Verbindung zum Marktplatz: du siehst die Vorlagen, die hier bereitliegen.`,"market.more":`Mehr anzeigen`,"market.reset":`Auswahl zurücksetzen`,"market.count":`{n} Vorlagen`,"market.countOf":`{n} von {all} Vorlagen`,"market.countOfShort":`{n} von {all}`,"market.resetShort":`Zurücksetzen`,"market.minutes":`~ {n} Min.`,"market.credits":`~ {n} Credits pro Lauf`,"market.needsUpdate":`Braucht eine neuere App`,"market.needsUpdateHint":`Diese Vorlage nutzt Funktionen, die deine App noch nicht kennt. Aktualisiere die App, dann kannst du sie verwenden.`,"market.use":`Mit dieser Vorlage starten`,"market.steps":`So läuft der Wizard ab`,"market.duration":`Dauer`,"market.durationHint":`vom Start bis zum Ergebnis, mit {n} Angaben von dir`,"market.result":`Ergebnis`,"market.creditsRange":`~ {n} Credits`,"market.creditsHint":`pro Lauf geschätzt, selten mehr als das Doppelte`,"market.needs":`Braucht`,"market.cost":`Kosten`,"new.forWebsite":`Kleine Helfer für deine Website`,"run.feedbackPlaceholder":`Passt etwas nicht? Schreib, was anders sein soll …`,"run.feedbackTarget":`Was soll sich ändern?`,"run.feedbackPick":`Wähle oben, was sich ändern soll.`,"ai.generated":`KI-generiert`,"ai.modified":`Mit KI verändert`,"ai.publish":`Mit KI erstellt: Wer das veröffentlicht, muss es als KI-generiert kennzeichnen (EU AI Act, Art. 50). Die Datei trägt die Kennzeichnung bereits in ihren Metadaten.`,"run.regenerateGo":`Neu erstellen`,"run.retry":`Erneut versuchen`,"run.again":`Nochmal`,"run.download":`Herunterladen`,"run.copy":`Text kopieren`,"run.failed":`Da hat etwas nicht geklappt.`,"run.unavailable":`Dieser Wizard ist gerade nicht verfügbar.`,"run.notFound":`Diesen Wizard gibt es nicht (mehr).`,"run.madeWith":`Erstellt mit engenty wizards`,"run.working":`Einen Moment …`,"run.elapsed":`{s} s`,"run.cancelled":`Abgebrochen.`,"run.addRow":`Zeile hinzufügen`,"run.upload":`Datei wählen oder hierher ziehen`,"run.uploading":`Lädt hoch …`,"run.required":`Pflichtfeld`,"run.net":`Netto`,"run.vat":`USt. {r} %`,"run.total":`Gesamt`,"settings.title":`Einstellungen`,"settings.name":`Name`,"settings.mcp":`Verbundene Systeme (MCP)`,"settings.mcpHint":`KI-Schritte können in diese Systeme schreiben oder daraus lesen – nur, wenn du sie im Schritt freigibst.`,"settings.addServer":`System verbinden`,"settings.serverName":`Name`,"settings.serverUrl":`MCP-URL`,"settings.serverHeader":`Authorization-Header (optional)`,"settings.save":`Speichern`,"settings.saved":`Gespeichert`,"settings.delete":`Space löschen`,"settings.noProject":`Hier erscheint dein Space, sobald deine lokale Installation den ersten Wizard veröffentlicht hat.`,"settings.copy":`Kopieren`,"settings.copied":`Kopiert`,"settings.lastUsed":`zuletzt {when}`,"settings.neverUsed":`noch nie benutzt`,"settings.revoke":`Schlüssel löschen`,"mcp.appsDisconnect":`Austragen`,"plugins.title":`Plugins`,"plugins.hint":`Plugins erweitern diese App um Seiten, Einstellungen und Werkzeuge für Schritte. Sie laufen mit allen Rechten der App: installiere nur, was du kennst.`,"plugins.hintManaged":`Diese Plugins sind für dein Konto freigeschaltet.`,"plugins.reload":`Neu laden`,"plugins.rescan":`Neu suchen`,"plugins.tools":`Werkzeuge für Schritte`,"plugins.serverFailed":`Der Server-Teil hat nicht geladen: {error}`,"plugins.studioFailed":`Der Studio-Teil hat nicht geladen: {error}`,"plugins.problems":`Kein Plugin`,"plugins.crashed":`Dieser Teil eines Plugins ist abgestürzt.`,"mcp.notReverse":`Nicht verwechseln mit „Verbundene Systeme (MCP)“ unter Connectors: Dort ruft engenty andere Server auf, hier ruft dein Client engenty auf.`,"integrate.nav":`Einbinden`,"integrate.groupApps":`KI-Apps`,"integrate.groupShare":`Teilen`,"integrate.shareLink":`Per Link teilen`,"integrate.shareSite":`In eine Website einbinden`,"integrate.soon":`bald`,"integrate.stateWorks":`funktioniert`,"integrate.stateConnected":`eingetragen`,"integrate.stateInstalled":`auf diesem Computer`,"integrate.kindMcp":`Werkzeuge im Chat: Wizards finden, starten, ausfüllen – und bauen.`,"integrate.kindMcpShort":`Werkzeuge im Chat`,"integrate.kindAppShort":`der Wizard als Widget`,"integrate.kindAppNoShort":`zeigt diese App nicht`,"integrate.kindApp":`Der Wizard selbst im Chat, Seite für Seite, als Widget.`,"integrate.kindAppNo":`Zeigt diese App nicht – ein Lauf kommt als Text.`,"integrate.where":`Wo läuft die App?`,"integrate.here":`Auf diesem Computer`,"integrate.hereHint":`Ein Klick, kein Schlüssel. Die App startet engenty wizards selbst.`,"integrate.hereManaged":`Nur mit engenty wizards auf deinem Computer.`,"integrate.address":`Über die Adresse`,"integrate.addressHint":`Von überall, wo die Adresse erreichbar ist – mit Schlüssel.`,"integrate.connectTitle":`Eintragen`,"integrate.connectHint":`Trägt engenty wizards in die Einstellungen von {app} ein.`,"integrate.connect":`In {app} eintragen`,"integrate.connected":`In {app} eingetragen`,"integrate.notInstalled":`{app} ist auf diesem Computer nicht zu finden. Eintragen geht trotzdem – es wirkt, sobald {app} da ist.`,"integrate.file":`In {file} eintragen:`,"integrate.vscode":`In VS Code: „MCP: Open User Configuration“, dann eintragen:`,"integrate.chatgpt":`In ChatGPT: Einstellungen → Apps & Connectors → Erweitert → Entwicklermodus, dann „Erstellen“ mit dieser Adresse:`,"integrate.generic":`In den MCP-Einstellungen der App einen Server mit dieser Adresse anlegen (Streamable HTTP):`,"integrate.oauthLocal":`Diese App verbindet sich von den Servern ihres Herstellers aus – diesen Computer erreicht sie nicht. Nimm hier „Auf diesem Computer“ oder eine App, die hier läuft.`,"integrate.test":`Testen`,"integrate.seen":`{app} meldet sich`,"integrate.restart":`Beende {app} ganz und starte es neu – dann meldet es sich hier.`,"integrate.reload":`Lade die MCP-Server in {app} neu oder starte es neu.`,"integrate.tool":`Ein Werkzeug aufgerufen`,"integrate.askHint":`Schreib in {app} in einem neuen Chat:`,"integrate.askTool":`Welche Wizards habe ich in engenty?`,"integrate.widget":`Wizard als Widget gezeigt`,"integrate.widgetHint":`Starte einen veröffentlichten Wizard:`,"integrate.askWidget":`Starte einen meiner engenty Wizards.`,"integrate.works":`{app} arbeitet mit deinen Wizards.`,"mcp.notHere":`Geht mit diesem Server nicht`,"mcp.needsPublic":`claude.ai verbindet sich von Anthropics Servern aus. Das geht nur, wenn dieser Server öffentlich über HTTPS erreichbar ist.`,"mcp.keyTitle":`Schlüssel erstellen`,"mcp.keyHint":`Mit dem Schlüssel meldet sich dein Client an. Er wird nur einmal angezeigt und steht dann gleich im Befehl im nächsten Schritt.`,"mcp.keyCreate":`Schlüssel für {client} erstellen`,"mcp.keyReady":`Schlüssel erstellt – er steht schon im Befehl unten.`,"mcp.keyFirst":`Erst den Schlüssel erstellen – dann steht hier der fertige Befehl.`,"mcp.add":`Server eintragen`,"mcp.terminal":`Im Terminal ausführen:`,"mcp.ccPlugin":`Optional das Plugin – es bringt den Befehl /wizard mit:`,"mcp.codexKey":`Im Terminal ausführen – Codex liest den Schlüssel aus einer Umgebungsvariable:`,"mcp.claudeAi":`In claude.ai: Einstellungen → Konnektoren → Eigenen Konnektor hinzufügen, diese Adresse eintragen:`,"mcp.oauth":`Kein Schlüssel nötig: Beim ersten Aufruf meldet sich dein Client im Browser an.`,"mcp.addressPublic":`Öffentlich erreichbar.`,"mcp.addressLocal":`Nur auf diesem Rechner erreichbar, und nur solange engenty wizards läuft.`,"mcp.keys":`Schlüssel`,"mcp.keysHint":`Jeder Schlüssel meldet einen Client an und hat alle Rechte – behandle ihn wie ein Passwort. Löschst du ihn, ist der Client abgemeldet.`,"editor.viaClient":`Über {client}`,"editor.changedVia":`Geändert über {client}`,"editor.merged":`Mit Änderungen von außen zusammengeführt`,"run.uploadMore":`Weitere Datei`,"run.camera":`Kamera`,"camera.title":`Mit der Kamera aufnehmen`,"camera.hint":`Gerade und gut beleuchtet ins Bild halten.`,"camera.taken":`{n} aufgenommen`,"camera.shoot":`Aufnehmen`,"camera.done":`Fertig`,"camera.denied":`Die Kamera ist für diese Seite nicht freigegeben. Erlaube sie in den Website-Einstellungen deines Browsers (Schloss-Symbol in der Adresszeile) – oder nimm das Foto mit der Kamera-App auf.`,"connect.go":`Verbinden`,"connect.connected":`Verbunden über {name}`,"connect.disconnect":`Trennen`,"connect.none":`Auf diesem Server ist noch kein Anbieter zum Verbinden eingerichtet.`,"connect.openLink":`Hier klicken, um die Anmeldung in einem neuen Tab zu öffnen`,"list.empty":`Noch keine Einträge.`,"list.delete":`Zeile löschen`,"ask.typeInto":`Text in die Seite tippen …`,"ask.hide":`verdeckt`,"ask.up":`Nach oben`,"ask.down":`Nach unten`,"ask.pictureHint":`Das ist die Seite, die der Wizard geöffnet hat. Du kannst auch direkt ins Bild klicken und tippen.`,"ask.remember":`Anmeldung für nächstes Mal merken`,"ask.private":`Was du eingibst, geht direkt in die Seite. Die KI bekommt es nicht zu sehen. Gemerkte Anmeldungen werden verschlüsselt gespeichert.`,"ask.skip":`Überspringen`,"ask.done":`Ich bin angemeldet`,"ask.signIn":`Anmelden`,"ask.wants":`Der Wizard möchte in {service} Folgendes ausführen:`,"ask.allowRest":`Für den Rest dieses Durchlaufs erlauben`,"ask.allow":`Erlauben`,"ask.deny":`Nicht erlauben`,"store.open":`Was dieser Wizard sich merkt`,"store.title":`Gespeichert für dich`,"store.explain":`Dieser Wizard merkt sich Listen, Dateien und verbundene Konten für deinen nächsten Durchlauf. Nur du siehst sie.`,"store.empty":`Noch nichts gespeichert.`,"store.rows":`{n} Einträge`,"store.signIns":`Gemerkte Anmeldungen im Browser`,"store.files":`{n} Dateien · {size}`,"store.delete":`Alles löschen`,"store.confirmDelete":`Wirklich alles löschen`,"common.close":`Schließen`,"connectors.title":`Connectors`,"connectors.hint":`Dienste, in denen ein Wizard für die Person arbeiten kann – sie verbindet beim Durchlauf ihr eigenes Konto. Die wichtigsten sind eingebaut; jeden weiteren findest du im Verzeichnis integrations.sh und importierst ihn aus seiner OpenAPI-Beschreibung oder seinem MCP-Server.`,"connectors.imported":`Aus dem Verzeichnis`,"connectors.noneImported":`Hier ist kein Connector aus dem Verzeichnis importiert.`,"connectors.notSetUp":`nicht eingerichtet`,"connectors.setup":`Auf dem Server fehlen:`,"connectors.search":`Dienst suchen, z. B. Notion, Stripe, GitHub`,"connectors.find":`Suchen`,"connectors.none":`Nichts gefunden.`,"connectors.import":`Importieren`,"connectors.exists":`Schon importiert.`,"connectors.ownClient":`Eigener OAuth-Client`,"connectors.refresh":`Aktionen neu laden`,"connectors.remove":`Entfernen`,"connectors.actions":`{n} Aktionen, {r} lesend`,"connectors.pending":`Aktionen erscheinen, sobald ein Konto verbunden ist`,"connectors.needsClient":`Dieser Dienst braucht einen OAuth-Client (ID und Secret). Entfernen und mit „Eigener OAuth-Client“ neu importieren.`,"connectors.authNone":`ohne Anmeldung`,"connectors.authOauth":`Anmeldung per OAuth`,"connectors.authKey":`API-Schlüssel`,"connectors.group.read":`liest`,"connectors.group.write":`ändert`,"connectors.group.destructive":`löscht`,"run.uploadTouch":`Datei wählen`,"run.maxFiles":`Hier gehen höchstens {n} – die übrigen habe ich weggelassen.`,"run.filesMin":`{n} von mindestens {min}`,"run.filesOf":`{n} von höchstens {max}`,"run.moveFile":`Nr. {n} verschieben`,"run.moveFileHint":`Ziehen, um die Reihenfolge zu ändern`,"run.removeFile":`Entfernen`,"run.awake":`Der Bildschirm bleibt an, solange der Wizard arbeitet.`,"run.openFull":`Groß öffnen`,"run.yes":`Ja`,"run.no":`Nein`,"run.share":`Teilen`,"run.shareNow":`Jetzt teilen`,"run.shareFile":`Als Datei teilen oder in einer App öffnen`,"camera.asking":`Dein Browser fragt gleich nach der Kamera. Das Bild bleibt in diesem Wizard.`,"camera.missing":`An diesem Gerät wurde keine Kamera gefunden. Lade stattdessen ein Foto hoch.`,"camera.busy":`Die Kamera wird gerade von einer anderen App verwendet. Schließe sie und versuche es noch einmal.`,"camera.native":`Kamera-App öffnen`,"camera.pick":`Foto auswählen`,"camera.torch":`Licht`,"camera.flip":`Kamera wechseln`,"camera.photo":`Foto`,"camera.video":`Video`,"camera.record":`Aufnahme starten`,"camera.stop":`Aufnahme beenden`,"camera.recording":`Nimmt auf – tippe zum Beenden.`,"camera.clipHint":`Ein kurzer Clip, höchstens {s} Sekunden.`,"camera.hintMany":`Seite für Seite aufnehmen, dann „Fertig“.`,"scan.button":`Scannen`,"scan.title":`Code scannen`,"scan.asking":`Dein Browser fragt gleich nach der Kamera – sie liest nur den Code.`,"scan.hint":`Halte den QR- oder Strichcode in den Rahmen.`,"scan.hintQr":`Halte den QR-Code in den Rahmen. Strichcodes liest dieses Gerät hier nicht.`,"scan.miss":`Auf dem Foto war kein Code zu erkennen. Versuch es näher und schärfer.`,"scan.fromPhoto":`Foto mit dem Code wählen`,"scan.typeInstead":`Lieber eintippen`,"location.use":`Meinen Standort übernehmen`,"location.locating":`Standort wird bestimmt …`,"location.refining":`wird noch genauer …`,"location.accuracy":`auf etwa {m} m genau`,"location.map":`Karte`,"location.remove":`Standort entfernen`,"location.why":`Dein Browser fragt nach deinem Standort. Er wird nur für diesen Wizard verwendet. Du kannst auch einfach die Adresse eintippen.`,"location.denied":`Der Standort ist für diese Seite nicht freigegeben. Erlaube ihn in den Website-Einstellungen deines Browsers (Schloss-Symbol in der Adresszeile) – oder tippe die Adresse unten ein.`,"location.unavailable":`Dein Gerät konnte den Standort gerade nicht bestimmen. Versuch es im Freien noch einmal oder tippe die Adresse ein.`,"location.timeout":`Das hat zu lange gedauert. Versuch es noch einmal oder tippe die Adresse ein.`,"location.manual":`Adresse oder Ort eintippen`,"location.label":`Adresse oder Beschreibung des Orts`,"voice.start":`Sprachnotiz aufnehmen`,"voice.stop":`Stopp`,"voice.recording":`Aufnahme läuft …`,"voice.left":`noch {s} s`,"voice.again":`Neu aufnehmen`,"voice.remove":`Löschen`,"voice.pick":`Audiodatei wählen`,"voice.why":`Dein Browser fragt nach dem Mikrofon. Die Aufnahme wird danach in Text umgewandelt.`,"voice.denied":`Das Mikrofon ist für diese Seite nicht freigegeben. Erlaube es in den Website-Einstellungen deines Browsers – oder nimm die Notiz mit der Diktier-App auf und wähle die Datei.`,"voice.noRecorder":`Dieser Browser kann hier nicht aufnehmen. Nimm die Notiz mit der Diktier-App auf und wähle die Datei.`,"sign.open":`Hier unterschreiben`,"sign.hint":`Mit dem Finger unterschreiben`,"sign.pad":`Unterschriftsfeld`,"sign.clear":`Löschen`,"sign.accept":`Übernehmen`,"sign.again":`Neu unterschreiben`,"sign.remove":`Unterschrift entfernen`,"notify.ask":`Bescheid geben, wenn es fertig ist`,"notify.on":`Du bekommst Bescheid`,"notify.why":`Mit Ton, Vibration oder einer Mitteilung. Dein Browser fragt dafür einmal um Erlaubnis.`,"notify.onHint":`Du kannst die App wechseln – eine Mitteilung holt dich zurück.`,"notify.quiet":`Mit Ton und Vibration, solange diese Seite offen ist.`,"notify.blocked":`Mitteilungen sind für diese Seite blockiert – es gibt Ton und Vibration, solange sie offen ist. Erlauben kannst du sie in den Website-Einstellungen deines Browsers.`,"notify.done":`Dein Ergebnis ist fertig.`,"notify.next":`Es geht weiter – wirf einen Blick darauf.`,"notify.needsYou":`Der Wizard braucht dich kurz.`,"install.add":`Zum Startbildschirm hinzufügen`,"install.ios":`Tippe unten auf „Teilen“ und dann auf „Zum Home-Bildschirm“.`,"install.bookmark":`Als Lesezeichen speichern`,"install.bookmark.mac":`Drücke ⌘ D, dann liegt dieser Wizard in deinen Lesezeichen.`,"install.bookmark.pc":`Drücke Strg + D, dann liegt dieser Wizard in deinen Lesezeichen.`,"install.app":`In der App öffnen`,"install.app.offer":`Installiere das Studio als App: eigenes Fenster, eigenes Symbol im Dock oder in der Taskleiste.`,"install.app.browser":`In Chrome oder Edge lässt sich das Studio als App installieren: eigenes Fenster, eigenes Symbol.`,"install.app.action":`Als App installieren`,"install.app.close":`Schließen`,"common.offline":`Keine Verbindung. Prüfe dein Netz und versuch es noch einmal.`,"common.retry":`Erneut versuchen`,"common.cancel":`Abbrechen`,"common.loading":`Lädt …`,"common.error":`Fehler`,"data.hint":`Tabellen und Seiten, die der Space und seine Wizards behalten.`,"data.all":`Alle Daten`,"data.own":`Allgemein`,"data.table":`Tabelle`,"data.page":`Seite`,"data.newTable":`Neue Tabelle`,"data.newPage":`Neue Seite`,"data.title":`Titel`,"data.owner":`Gehört zu`,"data.create":`Anlegen`,"data.empty":`Noch keine Tabellen und Seiten. Leg eine an – bald schreiben auch deine Wizards hier.`,"data.rows":`{n} Zeilen`,"data.addRow":`Zeile`,"data.noRows":`Noch keine Zeilen.`,"data.deleteRow":`Zeile löschen`,"data.deleteTable":`Tabelle löschen`,"data.deletePage":`Seite löschen`,"data.confirmDelete":`„{title}“ löschen?`,"data.newColumn":`Neue Spalte`,"data.columnName":`Name`,"data.columnType":`Typ`,"data.required":`Muss ausgefüllt werden`,"data.deleteColumn":`Spalte löschen`,"data.removeOption":`Entfernen`,"data.fromList":`Eine Liste des Wizards: jeder Durchlauf schreibt hier hinein. Die Spalten kommen aus dem Wizard.`,"data.badCell":`Dieser Wert passt nicht in „{column}“ und ist nicht gespeichert.`,"data.type.text":`Text`,"data.type.number":`Zahl`,"data.type.date":`Datum`,"data.type.duration":`Dauer`,"data.type.select":`Auswahl`,"data.type.boolean":`Ja / Nein`,"data.text.single":`Eine Zeile`,"data.text.multiline":`Mehrere Zeilen`,"data.number.integer":`Ganze Zahl`,"data.number.decimal":`Dezimalzahl`,"data.number.percent":`Prozent`,"data.number.currency":`Betrag`,"data.currency":`Währung (z. B. EUR)`,"data.date.date":`Datum`,"data.date.datetime":`Datum und Uhrzeit`,"data.date.time":`Uhrzeit`,"data.unit":`Eingabe in`,"data.unit.milliseconds":`ms`,"data.unit.seconds":`Sekunden`,"data.unit.minutes":`Minuten`,"data.unit.hours":`Stunden`,"data.unit.days":`Tage`,"data.options":`Auswahlmöglichkeiten, eine je Zeile`,"data.multiple":`Mehrere wählbar`,"data.write":`Schreiben`,"data.preview":`Vorschau`,"data.pageEmpty":`Diese Seite ist noch leer.`,"data.markdownHint":`Markdown: # Überschrift, **fett**, - Liste`,"space.info":`Info & Marke`,"space.knowledge":`Wissen`,"space.data":`Daten`,"space.results":`Ergebnisse`,"space.resultsAll":`Alle Ergebnisse`,"space.resultsHint":`Läufe deiner Wizards, die ihr Ergebnis erreicht haben, die neuesten zuerst.`,"space.resultsEmpty":`Noch keine Ergebnisse. Ein Lauf steht hier, sobald er fertig ist.`,"space.resultCredits":`{n} Credits`,"space.resultsSearch":`Suchen: Wizard, Eingaben, Ergebnis …`,"space.resultsModeAll":`Live & Test`,"space.resultsAnyTime":`Jederzeit`,"space.resultsDay":`Letzte 24 Stunden`,"space.resultsDays":`Letzte {n} Tage`,"space.resultsNone":`Keine Ergebnisse zu dieser Suche.`,"space.resultFiles":`{n} Dateien`,"project.rename":`Space umbenennen`,"project.saving":`Speichert …`,"project.base":`Basis`,"project.baseHint":`Wer hinter den Wizards steht. Jeder KI-Schritt kennt das.`,"project.title":`Titel`,"project.titleHint":`Firma, Marke oder Vorhaben – so sehen es auch Endnutzer.`,"project.about":`Über`,"project.aboutHint":`Was ihr macht, für wen, und in welchem Ton ihr schreibt.`,"project.logos":`Logos`,"project.logosHint":`Das erste Logo sehen Endnutzer. Eine Beschreibung sagt, wofür eine Variante gedacht ist.`,"project.logoAdd":`Logo`,"project.logoMain":`Hauptlogo`,"project.logoMakeMain":`Als Hauptlogo`,"project.colors":`Farben`,"project.colorsHint":`Die erste Farbe ist der Akzent in Dokumenten, Dashboards und auf öffentlichen Seiten.`,"project.colorAdd":`Farbe`,"project.colorName":`z. B. Primär – Buttons und Überschriften`,"project.colorUse":`Beschreibe, wie engenty diese Farbe einsetzen soll.`,"project.colorAddTitle":`Farbe hinzufügen`,"project.colorValue":`Farbwert`,"project.colorUseLabel":`Verwendung`,"project.add":`Hinzufügen`,"project.colorAccent":`Akzent`,"project.colorFirst":`Als Akzent`,"project.assets":`Assets`,"project.assetsHint":`Bilder, Grafiken, Videos. KI-Schritte setzen sie in Dokumente und wählen nach der Beschreibung.`,"project.assetAdd":`Dateien`,"project.assetSearch":`Assets filtern …`,"project.documents":`Dokumente`,"project.documentsHint":`PDFs, Listen, Excel, Word, Text. Sie werden gelesen und kommen in einen Index, den jeder KI-Schritt durchsucht.`,"project.documentAdd":`Dokumente`,"project.drop":`Hierher ziehen oder`,"project.staysLocal":`Bleibt in deiner lokalen Installation und wird nicht hierher gesendet.`,"project.description":`Beschreibung hinzufügen …`,"project.describing":`Wird angesehen …`,"project.reading":`Wird gelesen …`,"project.indexed":`Im Index`,"project.indexedKeywords":`Im Index (Stichwörter)`,"project.notIndexed":`Kein Text gefunden`,"project.reindex":`Neu einlesen`,"project.pages":`{n} Seiten`,"project.keywordsOnly":`Der Index sucht gerade nach Stichwörtern. Mit einem AI-Gateway- oder OpenAI-Schlüssel kommt die Suche nach Bedeutung dazu.`,"project.preview":`Vorschau`,"project.viewList":`Als Liste zeigen`,"project.viewCards":`Als Karten zeigen`,"project.original":`Original`,"project.readText":`Gelesener Text`,"project.openOriginal":`Original öffnen`,"project.noText":`Noch kein Text: das Dokument wird gerade gelesen oder ließ sich nicht lesen.`,"project.textCut":`Die Vorschau zeigt den Anfang ({shown} von {total} Zeichen).`,"project.searchTest":`Im Index suchen …`,"project.searchNone":`Nichts gefunden.`,"project.remove":`Entfernen`,"project.removeConfirm":`„{name}“ entfernen?`,"project.facts":`Fakten`,"project.factsHint":`Was Wizards wissen sollen: Adresse, UID, Öffnungszeiten – alles, was passt.`,"project.factLabel":`Bezeichnung`,"project.factValue":`Wert`,"project.factAdd":`Eintrag`,"project.factType":`Typ`,"project.factAuto":`Automatisch`,"project.type.text":`Text`,"project.type.longtext":`Langer Text`,"project.type.number":`Zahl`,"project.type.date":`Datum`,"project.type.url":`Link`,"project.type.email":`E-Mail`,"project.type.phone":`Telefon`,"project.type.boolean":`Ja / Nein`,"project.yes":`Ja`,"project.no":`Nein`,"project.assistant":`Assistent`,"project.assistantTitle":`Lass dir den Space ausfüllen`,"project.assistantHello":`Erzähl mir von euch, nenn mir die Website oder gib mir Dateien. Ich trage ein, was ich finde: Titel, Beschreibung, Logo, Farben und Fakten.`,"project.assistantComposer":`z. B. „Lies unsere Website example.at“ …`,"project.assistantChanged":`Space aktualisiert`,"flowApp.loading":`Der Wizard kommt …`,"flowApp.draft":`Entwurf`,"flowApp.published":`Veröffentlicht`,"flowApp.issues":`{n} Fehler im Entwurf`,"flowApp.flow":`Ablauf`,"flowApp.notPublished":`Veröffentliche ihn im Studio, dann läuft er hier.`,"flowApp.runPage":`Im Browser weiter`,"flowApp.inBrowser":`Nur im Browser: {fields}`,"flowApp.done":`Fertig`,"flowApp.credits":`{n} Credits`,"flowApp.ask":`Der Wizard fragt`,"flowApp.allow":`Erlauben`,"flowApp.skip":`Überspringen`,"flowApp.signIn":`Eine Anmeldung bei {site} – das geht nur im Browser.`,"flowApp.fullscreen":`Größer`,"flowApp.inline":`Kleiner`,"flowApp.failed":`Das hat nicht geklappt: {error}`},lb={"brand.tagline":`Build AI wizards, no code.`,"brand.sub":`Describe a flow in your own words. engenty turns it into a wizard you share with a link.`,"auth.dev":`Dev login (local)`,"auth.legal":`No password, no sign-up form — you sign in with an account you already have.`,"auth.signIn":`Sign in or create an account`,"auth.failed":`Sign-in did not work. Please try again.`,"auth.localLink":`Open the link the app printed at start — it signs you in on this device.`,"nav.account":`Account & credits`,"setup.keysInAccount":`API keys for scripts belong to your account. You create and revoke them there.`,"setup.openAccount":`Open account`,"class.label":`Model class`,"class.classifier":`Classifier`,"class.standard":`Standard`,"class.high":`High`,"class.highest":`Highest`,"class.image":`Image`,"class.video":`Video`,"class.audio":`Audio`,"class.speech":`Speech`,"class.classifier.hint":`Routing, yes/no, pulling a few values out of text. Cheapest.`,"class.standard.hint":`Short copy, calling an API, reformatting.`,"class.high.hint":`Research with tools, long documents, weighing many sources.`,"class.highest.hint":`Hard reasoning or code. Several times the cost of High.`,"class.effort":`Thinking effort`,"class.effortAuto":`Automatic`,"class.effort.low":`Low`,"class.effort.medium":`Medium`,"class.effort.high":`High`,"estimate.step":`≈ {n} credits, rarely more than {high}`,"estimate.measured":`measured from the latest runs`,"estimate.formula":`estimated, gets exact after five runs`,"estimate.share":`A run costs about {run} credits. At the daily limit that is at most {day} credits a day.`,"local.title":`Models`,"local.accountWaiting":`Waiting for the sign-in in your browser …`,"local.accountFailed":`The account service cannot be reached right now.`,"local.accountExpired":`The sign-in has expired. Please sign in again.`,"local.sourceNeedsAccount":`This needs an account.`,"local.toAccount":`Go to Settings → Account`,"local.sourceOwn":`Own keys`,"local.keys":`Keys`,"local.keysHint":`One key is enough. Keys live in this device's keychain, never in the database.`,"local.keySet":`stored`,"local.keyEmpty":`not stored`,"local.keyRemove":`Remove`,"local.classes":`Model per class`,"local.classesHint":`A step names only the class. Here is which model serves it, e.g. anthropic/claude-haiku-4.5, openai:gpt-5.4-mini or ollama:qwen3.`,"local.save":`Save`,"local.saved":`Saved`,"local.chat":`The studio chat answers on`,"local.chatModels":`Model class Highest`,"local.chatClaude":`Claude subscription (Claude Code)`,"local.subscription":`With the subscription, the Claude Code installed on this device builds the wizard — on your sign-in there. Runs keep using keys or credits.`,"harness.hint":`Text thinks on the {name} installed on this device — on your {sub} and your sign-in there. No key needed. Images, video and audio still need a key.`,"harness.hintImages":`Text and images come from the {name} installed on this device — on your {sub} and your sign-in there. No key needed. Video and audio still need a key.`,"harness.found":`{name} {version} found`,"harness.missing":`{name} is not installed on this device.`,"harness.install":`Or in your own terminal:`,"harness.installButton":`Install {name}`,"harness.installing":`{name} installs in the terminal below — it takes about a minute. Then you sign it in.`,"harness.installEnded":`The install ended, but {name} is not there. What it printed above says why.`,"harness.appHere":`The {app} app is on this computer: {name} signs in with the same {sub}.`,"harness.notInstalled":`not installed`,"harness.authSubscription":`Signed in with your {sub}.`,"harness.authKey":`Signed in with an API key from your shell — not the subscription. Sign in here so it runs on your {sub}.`,"harness.authNone":`Not signed in yet.`,"harness.signIn":`Sign in here`,"harness.signingIn":`The sign-in runs in the terminal below — your browser opens for it. The terminal closes once the sign-in is there.`,"harness.signInInteractive":`{name} starts below. Pick the sign-in with your {sub} there and sign in in the browser. The terminal closes once the sign-in is there.`,"harness.loginEnded":`The sign-in ended without {name} being signed in.`,"harness.sub.claude":`Claude subscription`,"harness.sub.codex":`ChatGPT subscription`,"harness.sub.gemini":`Google account`,"harness.sub.cursor":`Cursor subscription`,"harness.desc.claude":`On your Claude subscription — no key needed.`,"harness.desc.codex":`On your ChatGPT subscription — no key needed.`,"harness.desc.gemini":`On your Google account — no key needed.`,"harness.desc.cursor":`On your Cursor subscription — no key needed.`,"harness.ready":`signed in`,"local.recheck":`Check again`,"local.test":`Test`,"local.testHint":`One short call shows whether the way to the model is open.`,"local.testOk":`Answered in {s} s on {ref}: “{reply}”`,"local.testFailed":`The test did not work: {error}`,"models.groupCaps":`Capabilities`,"models.groupAccess":`Access`,"models.groupMore":`More providers`,"models.cap.text":`Text & reasoning`,"models.cap.text.hint":`Writes, summarizes, researches and decides – in almost every step.`,"models.cap.image":`Images`,"models.cap.image.hint":`Makes images: logos, product shots, illustrations.`,"models.cap.video":`Videos`,"models.cap.video.hint":`Makes short clips from text or from an image.`,"models.cap.speech":`Voice`,"models.cap.speech.hint":`Reads text aloud: voice-overs, audio versions, announcements.`,"models.cap.listening":`Voice notes`,"models.cap.listening.hint":`Understands speech and turns voice notes into text.`,"models.way.local":`Local model`,"models.way.credits":`Credits`,"models.way.creditsTeam":`Team credits`,"models.way.none":`not set up`,"models.who":`Who does it?`,"models.optSubscription":`Your subscription`,"models.optKey":`Own API key`,"models.optLocal":`Local model`,"models.optLocalNote":`Ollama on this computer`,"models.noteIncluded":`included in the plan`,"models.noteSignedOut":`not signed in`,"models.noteMissing":`not installed`,"models.noteKey":`API key stored`,"models.noteKeyShort":`key`,"models.noteSignedIn":`signed in`,"models.noteShellKey":`API key from the shell`,"models.optOther":`Other`,"models.optCreditsGroup":`engenty`,"models.noteNoKey":`API key missing`,"models.noteNeedsAccount":`needs an account`,"models.notePerImage":`≈ {n} credits per image`,"models.notePerSecond":`≈ {n} credits per second`,"models.notePer1k":`≈ {n} credits per 1000 characters`,"models.notePerMinute":`≈ {n} credits per minute`,"models.creditsAuto":`engenty picks: {model}`,"models.creditsAutoNone":`engenty picks the model`,"models.creditsPickHint":`Billed in credits – no API key of your own.`,"models.viaCredits":`{name} on engenty credits`,"models.viaCreditsHint":`No API key of your own, billed in credits.`,"models.viaCreditsNeedsAccount":`With an engenty account, billed in credits.`,"models.noteUsage":`credits by usage`,"models.model":`Model`,"models.modelCustom":`Another model …`,"models.textSimple":`Simple steps`,"models.textDemanding":`Demanding steps`,"models.perClass":`Adjust per class`,"models.manageKey":`{name} API key`,"models.key":`API key`,"models.keyFor":`{name} API key`,"models.keyGet":`Get a key from {name}`,"models.keySave":`Check and save`,"models.keyStored":`API key stored`,"models.keyNone":`No API key`,"models.keyCheck":`Check`,"models.keyReplace":`Replace`,"models.keyRemove":`Remove`,"models.keyOk":`The key works.`,"models.keyBad":`The key was not accepted.`,"models.keyWhereLocal":`The key stays on this device, never in the database.`,"models.keyWhereCloud":`The key is kept encrypted for the team. Nobody sees it again.`,"models.keyFallback":`Until the key is there, credits step in.`,"models.uses":`Used for`,"models.useFor":`Use`,"models.inUse":`in use`,"models.try":`Try it`,"models.try.text":`Test`,"models.try.image":`Make a test image`,"models.try.video":`Make a test clip`,"models.try.speech":`Hear a sample`,"models.try.listening":`Test listening`,"models.tryCost":`Costs like a real call.`,"models.tryCostVideo":`A 4-second clip – costs like a real one.`,"models.tryWait":`Generating …`,"models.tryWaitVideo":`A clip takes a minute or two …`,"models.tryOk":`In {s} s with {model}`,"models.tryHeard":`Heard: “{text}”`,"models.tryHeardNothing":`Nothing heard – the way is open.`,"models.tryFailed":`That did not work: {error}`,"models.creditsName":`engenty credits`,"models.creditsTeam":`Team credits`,"models.creditsLocalLead":`Step in where no subscription and no own API key is set up.`,"models.creditsCloudHint":`Everything without an own API key runs on the credits. Own keys come first and cost no credits.`,"models.creditsConnectTitle":`With an account`,"models.creditsLocalHint":`With an engenty account, credits step in where nothing of your own is set up – for videos without an own API key, say.`,"models.creditsConnect":`Connect an account`,"models.creditsFallback":`Credits step in`,"models.creditsFallbackOn":`What has no subscription and no own API key runs on the credits.`,"models.creditsFallbackOff":`Off: what has no subscription and no own API key does not run.`,"models.creditsOn":`Runs on credits`,"models.creditsNone":`Nothing runs on credits right now.`,"models.creditsTopUp":`Top up`,"models.creditsPicks":`engenty picks the model and bills in credits.`,"models.creditsModel":`Right now: {model}.`,"models.clientSignIn":`Sign-in`,"models.clientImages":`{name} makes images with your {sub} – no API key of your own.`,"models.clientNotChosen":`Text does not run on {name} right now.`,"models.ollamaHint":`Where Ollama runs and the model it serves.`,"models.readOnly":`Only the team's admins change its models.`,"models.viewAs":`Preview as`,"models.view.auto":`as it is`,"models.view.local":`local`,"models.view.linked":`local + account`,"models.view.cloud":`cloud studio`,"setup.title":`Setup`,"setup.sub":`Engenty can use your existing accounts on your computer.`,"setup.source":`Choose your Engine`,"setup.local":`Runs locally on this device.`,"setup.stage.connect":`Connect`,"setup.stage.test":`Test`,"setup.stage.done":`Done`,"setup.h.install":`Install {name}`,"setup.h.signIn":`Sign in to {name}`,"setup.h.keys":`Enter a key`,"setup.h.test":`One short test`,"setup.h.done":`Connected.`,"setup.ready":`All set.`,"setup.noHarness":`No AI client installed yet. Pick one — it installs right here — or enter your own keys.`,"setup.ownDesc":`AI Gateway, OpenAI, Anthropic or Ollama.`,"setup.recommended":`Recommended`,"setup.done":`Open the studio`,"setup.untilWorks":`The studio opens once the test works.`,"cloud.onPublish":`When you publish the wizard, the version also goes to your account's cloud and runs there behind a link of its own.`,"cloud.notSent":`This version is not in the cloud yet.`,"cloud.send":`Send now`,"cloud.resend":`Send again`,"cloud.again":`It is tried again at {when}.`,"cloud.sent":`Version {v} · sent {when}`,"cloud.notRunnable":`Version {v} does not run in the cloud.`,"cloud.keepsRunning":`Version {v} keeps running there.`,"cloud.nothingRuns":`So nothing runs there yet.`,"cloud.notes":`What runs differently in the cloud:`,"cloud.check":`What the cloud would lack for the wizard as it is now:`,"cloud.checkBlocking":`As it is now, the wizard would not run in the cloud:`,"cloud.documents":`The space's documents stay on this device. In the cloud the steps work without them.`,"cloud.stepName":`“{title}”`,"cloud.problem.sandbox":`The server has no machine for code. There it works without one.`,"cloud.problem.mcp":`The space's MCP servers are not on the server: {detail}.`,"cloud.problem.model":`The cloud has no model for this.`,"cloud.problem.connector":`The space lacks a connector in the cloud.`,"cloud.problem.invalid":`The server does not take the wizard like this.`,"cloud.spaceLimit":`Your account's cloud already holds the space of another install:`,"cloud.replace":`Replace that space`,"cloud.replaceConfirm":`Remove that space from the cloud? Its wizards and their links go from there. Then everything published here is sent.`,"cloud.noticeError":`Published here. This version did not arrive in the cloud — see below.`,"cloud.noticeNotRunnable":`Published here. This version does not run in the cloud — see below.`,"readonly.wizard":`This wizard comes from your local install and is changed there. What you publish there runs here.`,"readonly.project":`This space comes from your local install and is changed there.`,"readonly.server":`Nothing is built on this server. The wizards your local install publishes run here.`,"nav.wizards":`Wizards`,"nav.settings":`Settings`,"nav.project":`Space`,"account.title":`Account`,"account.hint":`What the app calls you and how to reach you.`,"account.initials":`Your initials in the menu at the top right: the first letters of your name.`,"account.name":`Name`,"account.nameHint":`It starts as this device's user name.`,"account.fromAccount":`Name and e-mail come from your account.`,"account.about":`About you`,"account.aboutHint":`Who you are and what you do.`,"account.email":`E-mail`,"account.phone":`Phone`,"account.connection":`engenty.ai`,"account.connectionHint":`Sign-in, credits and the cloud that runs your wizards for everyone.`,"account.profile":`Profile`,"account.local":`Local install`,"account.localText":`This app runs on your device and is not connected to an account. Wizards, the space and files stay here.`,"account.linked":`Connected`,"account.with":`With an account`,"account.withCredits":`Credits for the models where no AI client is installed. No API key needed.`,"account.withCloud":`What you publish also runs on engenty.ai, behind a public link, even when this device is off.`,"account.signIn":`Sign in`,"account.signInAgain":`Sign in again`,"account.new":`No account yet?`,"account.newHint":`A new account needs an invitation code. Enter it here and the sign-up page has it filled in.`,"account.code":`Invitation code`,"account.create":`Create account`,"account.credits":`Credits`,"account.topUp":`Top up`,"account.expires":`{n} credits valid until {date}`,"account.kind.start":`Starting credits`,"account.kind.monthly":`Monthly credits`,"account.kind.gift":`Gift`,"account.cloud":`What you publish here also runs on {host}.`,"account.look":`Appearance`,"account.lookHint":`Language and theme of the app in this browser.`,"nav.logout":`Sign out`,"nav.connected":`Connected to {host}`,"nav.expired":`Sign-in expired`,"nav.onlyHere":`Only on this computer`,"nav.local":`local`,"nav.language":`Language`,"nav.theme":`Theme`,"nav.credits":`{n} credits`,"footer.billing":`Credits`,"footer.usage":`Usage`,"footer.invoices":`Invoices`,"footer.account":`Account`,"about.version":`Version {v}`,"about.update.available":`Version {v} of engenty wizards is out.`,"about.update.install":`Update`,"about.update.installing":`Installing version {v} …`,"about.update.restarting":`Restarting with version {v} …`,"about.update.done":`Installed. Restart engenty wizards to use {v}.`,"about.update.failed":`The update failed. Logs: logs/update.log`,"about.update.notes":`What's new`,"about.changelog":`Changelog`,"about.changelogHint":`What changed from release to release.`,"about.changelogEmpty":`Nothing here yet.`,"about.unreleased":`Unreleased`,"about.breaking":`breaking`,"about.credits":`Open source`,"about.creditsHint":`engenty wizards and the open-source software it builds on.`,"about.creditsProduct":`engenty`,"about.creditsBuiltWith":`Built with`,"about.creditsDeps":`Direct dependencies`,"about.creditsDepsHint":`What the parts of this app include themselves, with version and license — without their own dependencies.`,"about.creditsShared":`Used by more than one part`,"about.search":`Search …`,"about.noMatches":`No matches.`,"theme.dark":`Dark theme`,"theme.light":`Light theme`,"home.title":`Your wizards`,"home.new":`New wizard`,"home.import":`Import`,"import.failed":`The import did not work`,"home.empty":`No wizards in this space yet.`,"home.live":`Live`,"home.draft":`Draft`,"where.here":`Local`,"where.hereVersion":`Local · version {v}`,"where.hereHint":`Runs only on this computer, while the app is running.`,"where.liveHint":`Runs on {host}, for everyone with the link.`,"where.liveAt":`Live on {host} · version {v}`,"where.note":`1 note`,"where.notes":`{n} notes`,"where.sending":`Being sent`,"where.missing":`Not in the cloud`,"home.steps":`{n} steps`,"home.newProject":`New space`,"home.projectName":`Space name`,"home.projectLimit":`At most {n} spaces`,"home.fromLocal":`From your local install — changed there.`,"home.syncedAt":`Last arrived: {when}.`,"home.local.title":`The wizards from your local install run here`,"home.local.text":`You build on your own computer. What you publish there runs here — for everyone, behind a link.`,"home.local.install":`Install engenty wizards on your computer:`,"home.local.signIn":`Sign in there with this account, under Settings → Account.`,"home.local.publish":`Publish a wizard. It then shows up here.`,"new.title":`What should your wizard do?`,"new.placeholder":`e.g. Customers enter their product and audience, the wizard researches competitors and writes a positioning briefing as a PDF.`,"new.build":`Build wizard`,"new.orStarter":`Or start from a template`,"new.import":`Import a wizard package`,"new.hint":`You can change everything afterwards in the conversation.`,"editor.resize":`Resize — double-click resets`,"editor.export":`Export as a package (.wizard)`,"editor.chat":`Conversation`,"editor.step":`Steps`,"editor.runs":`Runs`,"editor.reviewEditable":`editable`,"editor.reviewRedo":`can be redone`,"editor.otherwise":`otherwise`,"editor.whenFilled":`{field} filled in`,"editor.whenEmpty":`{field} empty`,"tool.web_search":`Web search`,"tool.web_fetch":`Read web pages`,"tool.browser":`Browser`,"tool.sandbox":`Code & shell`,"tool.image":`Images`,"tool.http":`API`,"tool.pages":`Pages`,"editor.test":`Test`,"editor.share":`Share`,"editor.publish":`Publish`,"editor.published":`Live · version {v}`,"editor.unpublishedChanges":`Unpublished changes`,"editor.notPublished":`Not published yet`,"editor.composer":`Describe what should change …`,"editor.attach":`Attach files`,"editor.detach":`Remove`,"editor.attached":`Attached`,"editor.thread":`Thread`,"editor.voice":`Dictate`,"editor.voiceStop":`Stop dictating`,"editor.listening":`Listening …`,"editor.transcribing":`Writing it down …`,"editor.micDenied":`The microphone is not allowed for this page.`,"editor.building":`Building the flow …`,"editor.files":`Files`,"files.explain":`What your wizard needs on every run: widget code, libraries, map outlines, price lists. The assistant creates them in the chat – you can upload your own too.`,"files.upload":`Upload`,"files.count":`{n} files · {size}`,"files.empty":`No files yet. Drop files here or ask the assistant to build a widget.`,"files.download":`Download`,"files.delete":`Delete`,"files.confirmDelete":`Delete “{path}”?`,"files.none":`This wizard has no files.`,"editor.thinking":`Thinking …`,"editor.chatBroken":`The connection dropped. What was already built is saved – please send your message again.`,"editor.issues":`Before you test or share, the wizard needs a few fixes:`,"editor.fixWithChat":`Let the assistant fix it`,"editor.models.blocking":`The wizard can't start like this. Models are missing:`,"editor.models.optional":`These steps won't run like this. Choose a path without them when testing, or set up the models:`,"editor.models.settings":`Set up models`,"editor.prevStep":`Previous step`,"editor.nextStep":`Next step`,"editor.deleteStep":`Delete step`,"editor.moveUp":`Move up`,"editor.moveDown":`Move down`,"editor.noRuns":`No runs yet.`,"editor.restart":`Restart`,"editor.close":`Close`,"editor.chatHello":`Tell me what your wizard should do. I'll build the flow and you'll see it as a diagram on the left.`,"shareRun.button":`Share`,"shareRun.title":`Share result`,"shareRun.email":`Email`,"shareRun.more":`More …`,"shareRun.until":`The link works until {date}.`,"shareRun.kept":`The link works until you withdraw it.`,"shareRun.withdraw":`Withdraw link`,"sharePage.gone":`This link has expired or was withdrawn.`,"sharePage.own":`Try it yourself`,"sharePage.until":`Shared · available until {date}`,"sharePage.shared":`Shared on {date}`,"share.title":`Share wizard`,"share.link":`Link`,"share.copy":`Copy`,"share.copied":`Copied`,"share.enabled":`Link is active`,"share.limit":`Runs per day`,"share.rotate":`Create a new link`,"share.rotateHint":`The old link stops working.`,"share.publishFirst":`Publish the wizard so the link works.`,"share.open":`Open`,"share.unpublished":`Your changes are not published yet: the link runs the version before.`,"share.website":`Website`,"share.openHere":`Test on this computer`,"share.settings":`Settings`,"share.on":`on`,"share.off":`off`,"share.perDay":`{n} a day`,"share.rotateCloud":`The old link stops working, the one in the cloud too.`,"share.others":`Share with others`,"share.othersHint":`With an account the wizard also runs on engenty.ai: a link, a QR code and a tag for your website, for everyone, also while your computer is off.`,"share.details":`Details`,"teaser.website":`A website needs a link everyone can reach. With an account the wizard also runs on engenty.ai, and the tag for your page is here.`,"teaser.qr":`A QR code needs a link every phone can reach. With an account the wizard also runs on engenty.ai, and its QR code and the ID for the app are here.`,"teaser.link":`This link only works on this computer, while the app is running. With an account the wizard also runs on engenty.ai, with a link for everyone.`,"teaser.models":`No API key of your own: with an account, text, images and videos run on credits.`,"teaser.connect":`Connect an account`,"teaser.modelsLinked":`Or on your account's credits: under Models, choose "The account's credits".`,"share.qr":`QR code`,"share.qrHint":`Scan it with a phone's camera: the wizard opens, in the engenty wizards app when it is installed.`,"share.code":`ID for the app:`,"share.readOnly":`Whether the link is active and how many runs a day it allows is set in your local install.`,"embed.inline":`Inline`,"embed.modal":`Button + modal`,"embed.inlineHint":`Paste the tag into your page's HTML. The wizard appears in that place.`,"embed.modalHint":`Paste the tag into your page's HTML. A button appears in that place and opens the wizard in a window.`,"type.page":`Page`,"type.agent":`AI step`,"type.generate":`Generate`,"type.widget":`Widget`,"type.review":`Review`,"type.result":`Result`,"run.start":`Let's go`,"run.next":`Continue`,"run.back":`Back`,"run.accept":`Looks good`,"run.regenerate":`New version`,"run.edit":`Edit`,"run.resume":`Continue your last run`,"run.regenerateNote":`What should change?`,"run.pickItem":`No. {n}`,"run.pickedItem":`No. {n} again`,"run.regeneratePicked":`Only no. {n} will be made again.`,"run.regenerateAll":`Applies to all. Tap a number to change single ones only.`,"check.progress":`{done} of {total} checked`,"check.onlyOpen":`Open only`,"check.noFile":`There is no file for this row.`,"check.noPreview":`This file has no preview – open it with the link above.`,"check.reopen":`Open again`,"market.search":`Search templates …`,"market.all":`All`,"market.industry":`Industry`,"market.format":`Result`,"market.capability":`Capability`,"market.unavailable":`not set up`,"market.missing":`Not set up here: {list}`,"market.missingHint":`This needs a model that isn't set up here: {list}. Set it up under Models.`,"market.none":`No template matches this selection.`,"market.notFound":`There is no such template (any more).`,"market.star":`Star`,"market.starred":`Starred`,"market.starHint":`Starred templates are kept on this computer, ready without a connection.`,"market.noneStarred":`You haven't starred a template yet.`,"market.offline":`No connection to the marketplace: you see the templates kept here.`,"market.more":`Show more`,"market.reset":`Reset selection`,"market.count":`{n} templates`,"market.countOf":`{n} of {all} templates`,"market.countOfShort":`{n} of {all}`,"market.resetShort":`Reset`,"market.minutes":`~ {n} min`,"market.credits":`~ {n} credits per run`,"market.needsUpdate":`Needs a newer app`,"market.needsUpdateHint":`This template uses features your app does not know yet. Update the app, then you can use it.`,"market.use":`Start with this template`,"market.steps":`How the wizard runs`,"market.duration":`Duration`,"market.durationHint":`from start to result, with {n} inputs from you`,"market.result":`Result`,"market.creditsRange":`~ {n} credits`,"market.creditsHint":`estimated per run, rarely more than twice that`,"market.needs":`Needs`,"market.cost":`Cost`,"new.forWebsite":`Small helpers for your website`,"run.feedbackPlaceholder":`Something not right? Write what should be different …`,"run.feedbackTarget":`What should change?`,"run.feedbackPick":`Pick above what should change.`,"ai.generated":`AI generated`,"ai.modified":`AI modified`,"ai.publish":`Made with AI: whoever publishes this has to label it as AI-generated (EU AI Act, Art. 50). The file already carries the marking in its metadata.`,"run.regenerateGo":`Recreate`,"run.retry":`Try again`,"run.again":`Start over`,"run.download":`Download`,"run.copy":`Copy text`,"run.failed":`Something went wrong.`,"run.unavailable":`This wizard is not available right now.`,"run.notFound":`This wizard does not exist (anymore).`,"run.madeWith":`Made with engenty wizards`,"run.working":`One moment …`,"run.elapsed":`{s} s`,"run.cancelled":`Cancelled.`,"run.addRow":`Add row`,"run.upload":`Choose a file or drop it here`,"run.uploading":`Uploading …`,"run.required":`Required`,"run.net":`Net`,"run.vat":`VAT {r} %`,"run.total":`Total`,"settings.title":`Settings`,"settings.name":`Name`,"settings.mcp":`Connected systems (MCP)`,"settings.mcpHint":`AI steps can read from and write to these systems — only when you allow it on the step.`,"settings.addServer":`Connect a system`,"settings.serverName":`Name`,"settings.serverUrl":`MCP URL`,"settings.serverHeader":`Authorization header (optional)`,"settings.save":`Save`,"settings.saved":`Saved`,"settings.delete":`Delete space`,"settings.noProject":`Your space shows up here once your local install has published its first wizard.`,"settings.copy":`Copy`,"settings.copied":`Copied`,"settings.lastUsed":`last used {when}`,"settings.neverUsed":`never used`,"settings.revoke":`Delete key`,"mcp.appsDisconnect":`Remove`,"plugins.title":`Plugins`,"plugins.hint":`Plugins add pages, settings and tools for steps to this app. They run with the app's full rights: install only what you know.`,"plugins.hintManaged":`These plugins are switched on for your account.`,"plugins.reload":`Reload`,"plugins.rescan":`Look again`,"plugins.tools":`Tools for steps`,"plugins.serverFailed":`The server half did not load: {error}`,"plugins.studioFailed":`The studio half did not load: {error}`,"plugins.problems":`Not a plugin`,"plugins.crashed":`This part of a plugin crashed.`,"mcp.notReverse":`Not the same as “Connected systems (MCP)” under Connectors: there engenty calls other servers, here your client calls engenty.`,"integrate.nav":`Integrate`,"integrate.groupApps":`AI apps`,"integrate.groupShare":`Share`,"integrate.shareLink":`Share by link`,"integrate.shareSite":`Put on a website`,"integrate.soon":`soon`,"integrate.stateWorks":`works`,"integrate.stateConnected":`added`,"integrate.stateInstalled":`on this computer`,"integrate.kindMcp":`Tools in the chat: find, run and fill in wizards — and build them.`,"integrate.kindMcpShort":`tools in the chat`,"integrate.kindAppShort":`the wizard as a widget`,"integrate.kindAppNoShort":`this app does not show it`,"integrate.kindApp":`The wizard itself in the chat, page by page, as a widget.`,"integrate.kindAppNo":`This app does not show them — a run comes as text.`,"integrate.where":`Where does the app run?`,"integrate.here":`On this computer`,"integrate.hereHint":`One click, no key. The app starts engenty wizards itself.`,"integrate.hereManaged":`Only with engenty wizards on your computer.`,"integrate.address":`At the address`,"integrate.addressHint":`From anywhere the address can be reached — with a key.`,"integrate.connectTitle":`Add`,"integrate.connectHint":`Adds engenty wizards to the settings of {app}.`,"integrate.connect":`Add to {app}`,"integrate.connected":`Added to {app}`,"integrate.notInstalled":`{app} is not on this computer. You can add it anyway — it works once {app} is there.`,"integrate.file":`Put this into {file}:`,"integrate.vscode":`In VS Code: "MCP: Open User Configuration", then add:`,"integrate.chatgpt":`In ChatGPT: Settings → Apps & Connectors → Advanced → Developer mode, then "Create" with this address:`,"integrate.generic":`In the app's MCP settings, add a server at this address (Streamable HTTP):`,"integrate.oauthLocal":`This app connects from its maker's servers — it cannot reach this computer. Use "On this computer" or an app that runs here.`,"integrate.test":`Test`,"integrate.seen":`{app} checks in`,"integrate.restart":`Quit {app} completely and start it again — then it checks in here.`,"integrate.reload":`Reload the MCP servers in {app}, or restart it.`,"integrate.tool":`Called a tool`,"integrate.askHint":`In a new chat in {app}, write:`,"integrate.askTool":`Which wizards do I have in engenty?`,"integrate.widget":`Showed the wizard as a widget`,"integrate.widgetHint":`Start a published wizard:`,"integrate.askWidget":`Start one of my engenty wizards.`,"integrate.works":`{app} works with your wizards.`,"mcp.notHere":`Not possible with this server`,"mcp.needsPublic":`claude.ai connects from Anthropic's servers. That only works when this server is reachable publicly over HTTPS.`,"mcp.keyTitle":`Create a key`,"mcp.keyHint":`The key signs your client in. It is shown once and goes straight into the command in the next step.`,"mcp.keyCreate":`Create a key for {client}`,"mcp.keyReady":`Key created — it is already in the command below.`,"mcp.keyFirst":`Create the key first — then the finished command shows up here.`,"mcp.add":`Add the server`,"mcp.terminal":`Run in the terminal:`,"mcp.ccPlugin":`Optionally the plugin — it adds the /wizard command:`,"mcp.codexKey":`Run in the terminal — Codex reads the key from an environment variable:`,"mcp.claudeAi":`In claude.ai: Settings → Connectors → Add custom connector, and enter this address:`,"mcp.oauth":`No key needed: on first use your client signs in in the browser.`,"mcp.addressPublic":`Reachable publicly.`,"mcp.addressLocal":`Reachable on this computer only, and only while engenty wizards runs.`,"mcp.keys":`Keys`,"mcp.keysHint":`Each key signs one client in and has every right — treat it like a password. Delete it and that client is signed out.`,"editor.viaClient":`Via {client}`,"editor.changedVia":`Changed via {client}`,"editor.merged":`Merged with changes from elsewhere`,"run.uploadMore":`Another file`,"run.camera":`Camera`,"camera.title":`Take a picture`,"camera.hint":`Hold it flat and well lit.`,"camera.taken":`{n} taken`,"camera.shoot":`Capture`,"camera.done":`Done`,"camera.denied":`The camera is not allowed for this page. Allow it in your browser's site settings (the lock icon in the address bar) — or take the photo with your camera app.`,"connect.go":`Connect`,"connect.connected":`Connected through {name}`,"connect.disconnect":`Disconnect`,"connect.none":`No provider is set up for connecting on this server yet.`,"connect.openLink":`Click here to open the sign-in in a new tab`,"list.empty":`No entries yet.`,"list.delete":`Delete row`,"ask.typeInto":`Type into the page …`,"ask.hide":`hidden`,"ask.up":`Scroll up`,"ask.down":`Scroll down`,"ask.pictureHint":`This is the page the wizard has open. You can also click and type right in the picture.`,"ask.remember":`Remember this sign-in for next time`,"ask.private":`What you enter goes straight into the page. The AI never sees it. Remembered sign-ins are stored encrypted.`,"ask.skip":`Skip`,"ask.done":`I am signed in`,"ask.signIn":`Sign in`,"ask.wants":`The wizard wants to run this in {service}:`,"ask.allowRest":`Allow for the rest of this run`,"ask.allow":`Allow`,"ask.deny":`Don't allow`,"store.open":`What this wizard remembers`,"store.title":`Kept for you`,"store.explain":`This wizard keeps lists, files and connected accounts for your next run. Only you see them.`,"store.empty":`Nothing kept yet.`,"store.rows":`{n} entries`,"store.signIns":`Remembered sign-ins in the browser`,"store.files":`{n} files · {size}`,"store.delete":`Delete everything`,"store.confirmDelete":`Really delete everything`,"common.close":`Close`,"connectors.title":`Connectors`,"connectors.hint":`Services a wizard can work in for the person — they connect their own account during a run. The main ones are built in; any other you find in the integrations.sh registry and import from its OpenAPI spec or its MCP server.`,"connectors.imported":`From the registry`,"connectors.noneImported":`No connector from the registry is imported here.`,"connectors.notSetUp":`not set up`,"connectors.setup":`The server still needs:`,"connectors.search":`Find a service, e.g. Notion, Stripe, GitHub`,"connectors.find":`Search`,"connectors.none":`Nothing found.`,"connectors.import":`Import`,"connectors.exists":`Already imported.`,"connectors.ownClient":`Own OAuth client`,"connectors.refresh":`Reload actions`,"connectors.remove":`Remove`,"connectors.actions":`{n} actions, {r} read-only`,"connectors.pending":`Actions appear once an account is connected`,"connectors.needsClient":`This service needs an OAuth client (id and secret). Remove it and import again with “Own OAuth client”.`,"connectors.authNone":`no sign-in`,"connectors.authOauth":`OAuth sign-in`,"connectors.authKey":`API key`,"connectors.group.read":`reads`,"connectors.group.write":`changes`,"connectors.group.destructive":`deletes`,"run.uploadTouch":`Choose a file`,"run.maxFiles":`At most {n} fit here – I left out the rest.`,"run.filesMin":`{n} of at least {min}`,"run.filesOf":`{n} of at most {max}`,"run.moveFile":`Move no. {n}`,"run.moveFileHint":`Drag to change the order`,"run.removeFile":`Remove`,"run.awake":`The screen stays on while the wizard works.`,"run.openFull":`Open full size`,"run.yes":`Yes`,"run.no":`No`,"run.share":`Share`,"run.shareNow":`Share now`,"run.shareFile":`Share as a file or open in an app`,"camera.asking":`Your browser is about to ask for the camera. The picture stays in this wizard.`,"camera.missing":`No camera was found on this device. Upload a photo instead.`,"camera.busy":`Another app is using the camera. Close it and try again.`,"camera.native":`Open the camera app`,"camera.pick":`Choose a photo`,"camera.torch":`Light`,"camera.flip":`Switch camera`,"camera.photo":`Photo`,"camera.video":`Video`,"camera.record":`Start recording`,"camera.stop":`Stop recording`,"camera.recording":`Recording — tap to stop.`,"camera.clipHint":`A short clip, {s} seconds at most.`,"camera.hintMany":`Capture page after page, then “Done”.`,"scan.button":`Scan`,"scan.title":`Scan a code`,"scan.asking":`Your browser is about to ask for the camera — it only reads the code.`,"scan.hint":`Hold the QR code or barcode inside the frame.`,"scan.hintQr":`Hold the QR code inside the frame. This device does not read barcodes here.`,"scan.miss":`No code was found in the photo. Try closer and sharper.`,"scan.fromPhoto":`Choose a photo of the code`,"scan.typeInstead":`Type it instead`,"location.use":`Use my location`,"location.locating":`Finding your location …`,"location.refining":`getting more exact …`,"location.accuracy":`exact to about {m} m`,"location.map":`Map`,"location.remove":`Remove location`,"location.why":`Your browser asks for your location. It is only used for this wizard. You can also just type the address.`,"location.denied":`Location is not allowed for this page. Allow it in your browser's site settings (the lock icon in the address bar) — or type the address below.`,"location.unavailable":`Your device could not find its location right now. Try again outdoors or type the address.`,"location.timeout":`That took too long. Try again or type the address.`,"location.manual":`Type an address or place`,"location.label":`Address or description of the place`,"voice.start":`Record a voice note`,"voice.stop":`Stop`,"voice.recording":`Recording …`,"voice.left":`{s} s left`,"voice.again":`Record again`,"voice.remove":`Delete`,"voice.pick":`Choose an audio file`,"voice.why":`Your browser asks for the microphone. The recording is turned into text afterwards.`,"voice.denied":`The microphone is not allowed for this page. Allow it in your browser's site settings — or record the note with your voice memo app and choose the file.`,"voice.noRecorder":`This browser cannot record here. Record the note with your voice memo app and choose the file.`,"sign.open":`Sign here`,"sign.hint":`Sign with your finger`,"sign.pad":`Signature pad`,"sign.clear":`Clear`,"sign.accept":`Use it`,"sign.again":`Sign again`,"sign.remove":`Remove signature`,"notify.ask":`Tell me when it is done`,"notify.on":`You will be told`,"notify.why":`With a sound, a buzz or a notification. Your browser asks once for permission.`,"notify.onHint":`You can switch apps — a notification brings you back.`,"notify.quiet":`With a sound and a buzz while this page is open.`,"notify.blocked":`Notifications are blocked for this page — you get a sound and a buzz while it is open. You can allow them in your browser's site settings.`,"notify.done":`Your result is ready.`,"notify.next":`It goes on — have a look.`,"notify.needsYou":`The wizard needs you for a moment.`,"install.add":`Add to home screen`,"install.ios":`Tap “Share” below, then “Add to Home Screen”.`,"install.bookmark":`Bookmark this wizard`,"install.bookmark.mac":`Press ⌘ D to keep this wizard in your bookmarks.`,"install.bookmark.pc":`Press Ctrl + D to keep this wizard in your bookmarks.`,"install.app":`Open in the app`,"install.app.offer":`Install the studio as an app: its own window, its own icon in the Dock or taskbar.`,"install.app.browser":`In Chrome or Edge the studio installs as an app: its own window, its own icon.`,"install.app.action":`Install as app`,"install.app.close":`Close`,"common.offline":`No connection. Check your network and try again.`,"common.retry":`Try again`,"common.cancel":`Cancel`,"common.loading":`Loading …`,"common.error":`Error`,"data.hint":`Tables and pages the space and its wizards keep.`,"data.all":`All data`,"data.own":`General`,"data.table":`Table`,"data.page":`Page`,"data.newTable":`New table`,"data.newPage":`New page`,"data.title":`Title`,"data.owner":`Belongs to`,"data.create":`Create`,"data.empty":`No tables or pages yet. Create one – soon your wizards will write here too.`,"data.rows":`{n} rows`,"data.addRow":`Row`,"data.noRows":`No rows yet.`,"data.deleteRow":`Delete row`,"data.deleteTable":`Delete table`,"data.deletePage":`Delete page`,"data.confirmDelete":`Delete “{title}”?`,"data.newColumn":`New column`,"data.columnName":`Name`,"data.columnType":`Type`,"data.required":`Must be filled in`,"data.deleteColumn":`Delete column`,"data.removeOption":`Remove`,"data.fromList":`A list of the wizard: every run writes into it. The columns come from the wizard.`,"data.badCell":`This value does not fit “{column}” and is not saved.`,"data.type.text":`Text`,"data.type.number":`Number`,"data.type.date":`Date`,"data.type.duration":`Duration`,"data.type.select":`Choice`,"data.type.boolean":`Yes / no`,"data.text.single":`One line`,"data.text.multiline":`Several lines`,"data.number.integer":`Whole number`,"data.number.decimal":`Decimal`,"data.number.percent":`Percent`,"data.number.currency":`Amount`,"data.currency":`Currency (e.g. EUR)`,"data.date.date":`Date`,"data.date.datetime":`Date and time`,"data.date.time":`Time`,"data.unit":`Entered in`,"data.unit.milliseconds":`ms`,"data.unit.seconds":`seconds`,"data.unit.minutes":`minutes`,"data.unit.hours":`hours`,"data.unit.days":`days`,"data.options":`Choices, one per line`,"data.multiple":`Several can be chosen`,"data.write":`Write`,"data.preview":`Preview`,"data.pageEmpty":`This page is still empty.`,"data.markdownHint":`Markdown: # heading, **bold**, - list`,"space.info":`Info & brand`,"space.knowledge":`Knowledge`,"space.data":`Data`,"space.results":`Results`,"space.resultsAll":`All results`,"space.resultsHint":`Runs of your wizards that reached their result, newest first.`,"space.resultsEmpty":`No results yet. A run shows up here once it is done.`,"space.resultCredits":`{n} credits`,"space.resultsSearch":`Search: wizard, answers, result …`,"space.resultsModeAll":`Live & test`,"space.resultsAnyTime":`Any time`,"space.resultsDay":`Last 24 hours`,"space.resultsDays":`Last {n} days`,"space.resultsNone":`No results for this search.`,"space.resultFiles":`{n} files`,"project.rename":`Rename space`,"project.saving":`Saving …`,"project.base":`Basics`,"project.baseHint":`Who is behind the wizards. Every AI step knows this.`,"project.title":`Title`,"project.titleHint":`Company, brand or undertaking — end users see it too.`,"project.about":`About`,"project.aboutHint":`What you do, for whom, and the tone you write in.`,"project.logos":`Logos`,"project.logosHint":`End users see the first logo. A description says what a variant is for.`,"project.logoAdd":`Logo`,"project.logoMain":`Main logo`,"project.logoMakeMain":`Make main logo`,"project.colors":`Colours`,"project.colorsHint":`The first colour is the accent of documents, dashboards and public pages.`,"project.colorAdd":`Colour`,"project.colorName":`e.g. Primary — buttons and headings`,"project.colorUse":`Describe how engenty should use this color.`,"project.colorAddTitle":`Add a colour`,"project.colorValue":`Colour value`,"project.colorUseLabel":`Use`,"project.add":`Add`,"project.colorAccent":`Accent`,"project.colorFirst":`Make accent`,"project.assets":`Assets`,"project.assetsHint":`Images, graphics, videos. AI steps place them in documents and choose by the description.`,"project.assetAdd":`Files`,"project.assetSearch":`Filter assets …`,"project.documents":`Documents`,"project.documentsHint":`PDFs, lists, Excel, Word, text. They are read and put into an index every AI step searches.`,"project.documentAdd":`Documents`,"project.drop":`Drop here or`,"project.staysLocal":`Stays in your local install and is not sent here.`,"project.description":`Add a description …`,"project.describing":`Looking at it …`,"project.reading":`Reading …`,"project.indexed":`In the index`,"project.indexedKeywords":`In the index (keywords)`,"project.notIndexed":`No text found`,"project.reindex":`Read again`,"project.pages":`{n} pages`,"project.keywordsOnly":`The index searches by keywords right now. With an AI Gateway or OpenAI key it also searches by meaning.`,"project.preview":`Preview`,"project.viewList":`Show as a list`,"project.viewCards":`Show as cards`,"project.original":`Original`,"project.readText":`Text as read`,"project.openOriginal":`Open the original`,"project.noText":`No text yet: the document is still being read, or could not be read.`,"project.textCut":`The preview shows the start ({shown} of {total} characters).`,"project.searchTest":`Search the index …`,"project.searchNone":`Nothing found.`,"project.remove":`Remove`,"project.removeConfirm":`Remove “{name}”?`,"project.facts":`Facts`,"project.factsHint":`What wizards should know: address, VAT id, opening hours — anything that fits.`,"project.factLabel":`Label`,"project.factValue":`Value`,"project.factAdd":`Entry`,"project.factType":`Type`,"project.factAuto":`Automatic`,"project.type.text":`Text`,"project.type.longtext":`Long text`,"project.type.number":`Number`,"project.type.date":`Date`,"project.type.url":`Link`,"project.type.email":`Email`,"project.type.phone":`Phone`,"project.type.boolean":`Yes / No`,"project.yes":`Yes`,"project.no":`No`,"project.assistant":`Assistant`,"project.assistantTitle":`Have your space filled in`,"project.assistantHello":`Tell me about yourselves, name the website or give me files. I fill in what I find: title, description, logo, colours and facts.`,"project.assistantComposer":`e.g. “Read our website example.com” …`,"project.assistantChanged":`Space updated`,"flowApp.loading":`The wizard is on its way …`,"flowApp.draft":`Draft`,"flowApp.published":`Published`,"flowApp.issues":`{n} issues in the draft`,"flowApp.flow":`Flow`,"flowApp.notPublished":`Publish it in the studio to run it here.`,"flowApp.runPage":`Continue in the browser`,"flowApp.inBrowser":`Only in the browser: {fields}`,"flowApp.done":`Done`,"flowApp.credits":`{n} credits`,"flowApp.ask":`The wizard asks`,"flowApp.allow":`Allow`,"flowApp.skip":`Skip`,"flowApp.signIn":`A sign-in at {site} — only in the browser.`,"flowApp.fullscreen":`Larger`,"flowApp.inline":`Smaller`,"flowApp.failed":`That did not work: {error}`},ub=`wizards.lang`;function db(){try{let e=localStorage.getItem(ub);return e===`de`||e===`en`?e:null}catch{return null}}var fb=db()??(typeof navigator<`u`&&!navigator.language.toLowerCase().startsWith(`de`)?`en`:`de`),pb=fb===`de`?cb:lb,mb=new Set;function hb(e){if(e!==fb){fb=e,pb=e===`de`?cb:lb,document.documentElement.lang=e;try{localStorage.setItem(ub,e)}catch{}for(let e of mb)e()}}function Z(e,t){let n=pb[e]??cb[e]??e;for(let[e,r]of Object.entries(t??{}))n=n.replace(`{${e}}`,String(r));return n}typeof document<`u`&&(document.documentElement.lang=fb),ly();var gb=`wizards.theme`,_b=new Set,vb=window.matchMedia(`(prefers-color-scheme: dark)`);function yb(){try{let e=localStorage.getItem(gb);return e===`light`||e===`dark`?e:null}catch{return null}}var bb=0;function xb(){return bb>0?`dark`:yb()??(vb.matches?`dark`:`light`)}function Sb(){requestAnimationFrame(()=>{let e=document.querySelector(`meta[name="theme-color"]`),t=document.createElement(`canvas`).getContext(`2d`);if(!e||!t||!document.body)return;t.fillStyle=getComputedStyle(document.body).backgroundColor,t.fillRect(0,0,1,1);let[n,r,i]=t.getImageData(0,0,1,1).data;e.content=`#${[n,r,i].map(e=>e.toString(16).padStart(2,`0`)).join(``)}`})}function Cb(){let e=xb()===`dark`;document.documentElement.classList.toggle(`dark`,e),Sb();for(let e of _b)e()}vb.addEventListener(`change`,Cb),Cb();function wb(){return(0,y.useSyncExternalStore)(e=>(_b.add(e),()=>_b.delete(e)),()=>document.documentElement.classList.contains(`dark`)?`dark`:`light`)}var Tb=e=>`oklch(from ${oy[cy[e]??`cobalt`]} 0.34 calc(c * 0.6) h)`;function Q(...e){return e.filter(Boolean).join(` `)}var Eb={primary:`bg-primary text-primary-foreground hover:brightness-[1.06] active:brightness-95 shadow-[0_1px_0_oklch(0%_0_0/0.08)]`,secondary:`bg-card text-ink border border-border hover:bg-paper-2`,ghost:`text-ink-2 hover:text-ink hover:bg-accent`,quiet:`bg-paper-2 text-ink hover:bg-paper-3`,danger:`text-rose hover:bg-rose-tint`},Db=(0,y.forwardRef)(function({variant:e=`primary`,size:t=`md`,busy:n,className:r,children:i,disabled:a,...o},s){return(0,X.jsxs)(`button`,{ref:s,type:`button`,disabled:a||n,className:Q(`inline-flex select-none items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-[background,filter,color,transform] duration-150 active:scale-[0.98] disabled:pointer-events-none disabled:opacity-50`,t===`sm`&&`h-8 px-3 text-[0.8125rem] coarse:h-11 coarse:px-4`,t===`md`&&`h-10 px-4 text-sm coarse:h-11`,t===`lg`&&`h-12 px-6 text-[0.9375rem]`,Eb[e],r),...o,children:[n?(0,X.jsx)(Rb,{className:`size-4`}):null,i]})});function Ob({label:e,className:t,children:n,...r}){return(0,X.jsx)(`button`,{type:`button`,"aria-label":e,title:e,className:Q(`inline-flex size-9 shrink-0 items-center justify-center rounded-full text-ink-3 transition hover:bg-accent hover:text-ink disabled:opacity-40 coarse:size-11`,t),...r,children:n})}var kb=`rounded-lg border border-input bg-card px-3.5 text-[0.9375rem] text-ink shadow-[inset_0_1px_0_oklch(0%_0_0/0.02)] outline-none transition placeholder:text-ink-4 focus:border-focus focus:ring-4 focus:ring-focus-glow disabled:opacity-60`;function Ab(e){return/(^|\s)w-/.test(e??``)?null:`w-full`}var jb=(0,y.forwardRef)(function({className:e,...t},n){return(0,X.jsx)(`input`,{ref:n,className:Q(kb,Ab(e),`h-11`,e),...t})});function Mb(e){return(0,X.jsx)(`input`,{type:`color`,className:`swatch size-11 shrink-0 cursor-pointer rounded-lg border border-input bg-card p-1`,...e})}var Nb=(0,y.forwardRef)(function({className:e,minRows:t=3,maxRows:n=14,onChange:r,...i},a){let o=(0,y.useRef)(null),s=()=>{let e=o.current;if(!e)return;let r=Number.parseFloat(getComputedStyle(e).lineHeight)||22;e.style.height=`auto`;let i=r*n+20;e.style.height=`${Math.min(Math.max(e.scrollHeight,r*t+20),i)}px`,e.style.overflowY=e.scrollHeight>i?`auto`:`hidden`};return(0,y.useLayoutEffect)(s),(0,X.jsx)(`textarea`,{ref:e=>{o.current=e,typeof a==`function`?a(e):a&&(a.current=e)},className:Q(kb,Ab(e),`resize-none py-2.5 leading-[1.5]`,e),onChange:e=>{s(),r?.(e)},...i})});function Pb({value:e,onChange:t,options:n,className:r,placeholder:i}){return(0,X.jsxs)(`div`,{className:Q(`relative`,r),children:[(0,X.jsxs)(`select`,{value:e,onChange:e=>t(e.target.value),className:Q(kb,`h-11 w-full appearance-none pr-9`),children:[i===void 0?null:(0,X.jsx)(`option`,{value:``,children:i}),n.map(e=>(0,X.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.label},e.value))]}),(0,X.jsx)(`svg`,{className:`-translate-y-1/2 pointer-events-none absolute top-1/2 right-3 size-4 text-ink-3`,viewBox:`0 0 16 16`,fill:`none`,children:(0,X.jsx)(`path`,{d:`M4 6l4 4 4-4`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})]})}function Fb({value:e,onChange:t,options:n,multi:r}){let i=new Set(Array.isArray(e)?e:e?[e]:[]);return(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.map(e=>{let a=i.has(e);return(0,X.jsx)(`button`,{type:`button`,"aria-pressed":a,onClick:()=>{if(r){let r=new Set(i);a?r.delete(e):r.add(e),t(n.filter(e=>r.has(e)))}else t(e)},className:Q(`h-10 rounded-full border px-4 text-sm transition disabled:pointer-events-none disabled:opacity-60 coarse:h-11`,a?`border-ember bg-ember-tint text-ink`:`border-input bg-card text-ink-2 hover:border-ink-4 hover:text-ink`),children:e},e)})})}function Ib({checked:e,onChange:t,label:n,disabled:r}){return(0,X.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,disabled:r,onClick:()=>t(!e),className:Q(`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition before:absolute before:-inset-x-1 before:-inset-y-2.5 before:content-[''] disabled:pointer-events-none disabled:opacity-60`,e?`bg-primary`:`bg-paper-3`),children:(0,X.jsx)(`span`,{className:Q(`inline-block size-5 rounded-full bg-white shadow-sm transition-transform`,e?`translate-x-[22px]`:`translate-x-[2px]`)})})}function Lb({children:e,hint:t,required:n}){return(0,X.jsxs)(`div`,{className:`mb-2`,children:[(0,X.jsxs)(`div`,{className:`font-medium text-[0.875rem] text-ink`,children:[e,n?(0,X.jsx)(`span`,{className:`ml-1 text-ember`,children:`*`}):null]}),t?(0,X.jsx)(`div`,{className:`mt-0.5 text-[0.8125rem] text-ink-3`,children:t}):null]})}function Rb({className:e}){return(0,X.jsxs)(`svg`,{className:Q(`size-5 animate-spin`,e),viewBox:`0 0 24 24`,fill:`none`,children:[(0,X.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,stroke:`currentColor`,strokeOpacity:`0.2`,strokeWidth:`3`}),(0,X.jsx)(`path`,{d:`M21 12a9 9 0 0 0-9-9`,stroke:`currentColor`,strokeWidth:`3`,strokeLinecap:`round`})]})}function zb({className:e,children:t,...n}){return(0,X.jsx)(`div`,{className:Q(`rounded-xl bg-card shadow-soft ring-1 ring-border-soft`,e),...n,children:t})}function Bb({children:e,tone:t=`neutral`,icon:n,title:r}){return(0,X.jsxs)(`span`,{title:r,className:Q(`inline-flex h-6 items-center gap-1.5 whitespace-nowrap rounded-full px-2.5 font-medium text-[0.75rem]`,t===`neutral`&&`bg-paper-2 text-ink-2`,t===`live`&&`bg-moss-tint text-moss`,t===`warn`&&`bg-amber-tint text-ink-2`,t===`ember`&&`bg-ember-tint text-ember-strong`),children:[n??(t===`live`?(0,X.jsx)(`span`,{className:`size-1.5 rounded-full bg-moss`}):null),e]})}function Vb({open:e,onClose:t,title:n,children:r,wide:i,bare:a}){let o=(0,y.useRef)(null);return(0,y.useEffect)(()=>{let t=o.current;t&&(e&&!t.open?(t.showModal(),t.querySelector(`[data-autofocus]`)?.focus()):!e&&t.open&&t.close())},[e]),(0,X.jsx)(`dialog`,{ref:o,onClose:t,onClick:e=>{e.target===o.current&&t()},className:Q(`m-auto p-0 text-ink backdrop:bg-[oklch(20%_0.01_60/0.28)] backdrop:backdrop-blur-[2px]`,a?`w-[calc(100%-48px)] overflow-visible bg-transparent max-sm:m-0 max-sm:h-dvh max-sm:max-h-none max-sm:w-full max-sm:max-w-none`:`max-h-[calc(100dvh-32px)] w-[calc(100%-32px)] overflow-y-auto overscroll-contain rounded-2xl bg-card shadow-overlay`,i===`page`?`sm:max-w-4xl`:i?`sm:max-w-2xl`:`sm:max-w-md`,!a&&(i===`page`?`max-w-4xl`:i?`max-w-2xl`:`max-w-md`)),children:e&&a?r:e?(0,X.jsxs)(`div`,{className:`p-5 sm:p-7`,children:[n?(0,X.jsxs)(`div`,{className:`mb-5 flex items-start justify-between gap-3`,children:[(0,X.jsx)(`h2`,{className:`min-w-0 font-display font-semibold text-xl`,children:n}),(0,X.jsx)(Ob,{label:Z(`common.close`),onClick:t,className:`-mt-1.5 -mr-2`,children:(0,X.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,className:`size-4`,"aria-hidden":`true`,children:(0,X.jsx)(`path`,{d:`M4 4l8 8M12 4l-8 8`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})})]}):null,r]}):null})}function Hb(e){let t=Gb.get(e);if(t)return t;if(!Kb){let e=document.createElement(`canvas`);e.width=1,e.height=1,Kb=e.getContext(`2d`,{willReadFrequently:!0})}let n=[.5,.5,.5];if(Kb){Kb.clearRect(0,0,1,1),Kb.fillStyle=`#808080`,Kb.fillStyle=e,Kb.fillRect(0,0,1,1);let[t,r,i]=Kb.getImageData(0,0,1,1).data;n=[t/255,r/255,i/255]}return Gb.set(e,n),n}function Ub(e,t){let n=qb.get(e);return n||(n=document.createElement(`span`),n.setAttribute(`aria-hidden`,`true`),n.style.cssText=`position:absolute;width:0;height:0;overflow:hidden;visibility:hidden`,e.appendChild(n),qb.set(e,n)),n.style.color=``,n.style.color=t,Hb(getComputedStyle(n).color||`#808080`)}function Wb(e,t){let n=Ub(e,oy[cy[t]]),r=Math.max(...n),i=[Math.min(1,n[0]+n[0]/(r||1)*.45),Math.min(1,n[1]+n[1]/(r||1)*.45),Math.min(1,n[2]+n[2]/(r||1)*.45)];return{body:Jb(n,[1,1,1],.12),deep:Jb(n,[.03,.02,.06],.62),tip:Jb(i,[1,1,1],.12)}}var Gb,Kb,qb,Jb,Yb=o((()=>{ly(),Gb=new Map,Kb=null,qb=new WeakMap,Jb=(e,t,n)=>[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n,e[2]+(t[2]-e[2])*n]})),Xb,Zb=o((()=>{Xb=`
115
+ container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:L().optional().describe(`User's language and region preference in BCP 47 format.`),timeZone:L().optional().describe(`User's timezone in IANA format.`),userAgent:L().optional().describe(`Host application identifier.`),platform:U([K(`web`),K(`desktop`),K(`mobile`)]).optional().describe(`Platform type for responsive design decisions.`),deviceCapabilities:H({touch:z().optional().describe(`Whether the device supports touch input.`),hover:z().optional().describe(`Whether the device supports hover interactions.`)}).optional().describe(`Device input capabilities.`),safeAreaInsets:H({top:R().describe(`Top safe area inset in pixels.`),right:R().describe(`Right safe area inset in pixels.`),bottom:R().describe(`Bottom safe area inset in pixels.`),left:R().describe(`Left safe area inset in pixels.`)}).optional().describe(`Mobile safe area boundaries in pixels.`)}).passthrough(),wg=H({method:K(`ui/notifications/host-context-changed`),params:Cg.describe(`Partial context update containing only changed fields.`)});H({method:K(`ui/update-model-context`),params:H({content:V(md).optional().describe(`Context content blocks (text, image, etc.).`),structuredContent:W(L(),B().describe(`Structured content for machine-readable context data.`)).optional().describe(`Structured content for machine-readable context data.`)})}),H({method:K(`ui/initialize`),params:H({appInfo:su.describe(`App identification (name and version).`),appCapabilities:yg.describe(`Features and capabilities this app provides.`),protocolVersion:L().describe(`Protocol version this app supports.`)})});var Tg=H({protocolVersion:L().describe(`Negotiated protocol version string (e.g., "2025-11-21").`),hostInfo:su.describe(`Host application identification and version.`),hostCapabilities:vg.describe(`Features and capabilities provided by the host.`),hostContext:Cg.describe(`Rich context about the host environment.`)}).passthrough(),Eg={target:`draft-2020-12`};async function Dg(e,t){let n=e[`~standard`];if(n.jsonSchema)return n.jsonSchema[t](Eg);throw Error(`Schema (vendor: ${n.vendor}) does not implement Standard JSON Schema (~standard.jsonSchema). Use a library that does (zod v4, ArkType, Valibot) or wrap your schema accordingly.`)}async function Og(e,t,n=``){let r=await e[`~standard`].validate(t);if(r.issues){let e=r.issues.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `);throw Error(n+e)}return r.value}function kg(e,t){let n={...e,...t};return t.experimental!==void 0&&(n.experimental={...e.experimental,...t.experimental}),t.tools!==void 0&&(n.tools={...e.tools,...t.tools}),n}var Ag=class e extends wh{_appInfo;_appCapabilities;options;_hostCapabilities;_hostInfo;_hostContext;_registeredTools={};_initializedSent=!1;_registeredEvents=new Set;_events=new Yh;_methods=new Xh;setRequestHandler=(...e)=>{let[t,...n]=Qh(`request`,e)??e;this._methods.claim(t,`setRequestHandler`),super.setRequestHandler.call(this,t,...n)};setNotificationHandler=(...e)=>{let[t,...n]=Qh(`notification`,e)??e;this._methods.claim(t,`setNotificationHandler`),super.setNotificationHandler.call(this,t,...n)};removeRequestHandler=e=>{this._methods.release(e),super.removeRequestHandler(e)};removeNotificationHandler=e=>{this._methods.release(e),super.removeNotificationHandler(e)};replaceRequestHandler=(e,...t)=>{this._methods.replace(e),super.setRequestHandler.call(this,e,...t)};_assertInitialized(e){if(this._initializedSent)return;let t=`[ext-apps] App.${e}() called before connect() completed the ui/initialize handshake. Await app.connect() before calling this method, or move data loading to an ontoolresult handler.`;if(this.options?.strict)throw Error(t);console.warn(`${t}. This will throw in a future release.`)}eventSchemas={toolinput:ug,toolinputpartial:dg,toolresult:Sg,toolcancelled:fg,hostcontextchanged:wg};static ONE_SHOT_EVENTS=new Set([`toolinput`,`toolinputpartial`,`toolresult`,`toolcancelled`]);_everHadListener=new Set;_assertHandlerTiming(t){if(!e.ONE_SHOT_EVENTS.has(t)||this._everHadListener.has(t)||(this._everHadListener.add(t),!this._initializedSent))return;let n=`[ext-apps] "${String(t)}" handler registered after connect() completed the ui/initialize handshake. The host may have already sent this notification. Register handlers before calling app.connect().`;if(this.options?.strict)throw Error(n);console.warn(n)}setEventHandler(e,t){t&&this._assertHandlerTiming(e),this._ensureEventSlot(e),this._events.setHandler(e,t)}addEventListener(e,t){this._assertHandlerTiming(e),this._ensureEventSlot(e),this._events.addEventListener(e,t)}removeEventListener(e,t){this._events.removeEventListener(e,t)}_ensureEventSlot(e){if(this._registeredEvents.has(e))return;let t=this.eventSchemas[e];if(!t)throw Error(`Unknown event: ${String(e)}`);this.setNotificationHandler(t.shape.method.value,{params:t.shape.params},t=>{let n=t;e===`hostcontextchanged`&&(this._hostContext={...this._hostContext,...n}),this._events.dispatch(e,n)}),this._registeredEvents.add(e)}getEventHandler(e){return this._events.getHandler(e)}warnIfRequestHandlerReplaced(e,t,n){t&&n&&console.warn(`[MCP Apps] ${e} handler replaced. Previous handler will no longer be called.`)}constructor(e,t={},n={autoResize:!0}){super(n),this._appInfo=e,this._appCapabilities=t,this.options=n,this._methods.replace(`notifications/cancelled`),this._methods.replace(`notifications/progress`),!n.allowUnsafeEval&&dt({jitless:!0}),this.replaceRequestHandler(`ping`,e=>(console.log(`Received ping:`,e.params),{})),this.setEventHandler(`hostcontextchanged`,void 0)}buildContext(e){return e}registerAppCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after transport is established`);this._appCapabilities=kg(this._appCapabilities,e)}registerTool(e,t,n){if(this._registeredTools[e])throw Error(`Tool ${e} is already registered`);let r=this,i=()=>{r._initializedSent&&r._appCapabilities.tools?.listChanged&&r.sendToolListChanged()},a=t.inputSchema!==void 0,o={title:t.title,description:t.description,inputSchema:t.inputSchema,outputSchema:t.outputSchema,annotations:t.annotations,_meta:t._meta,enabled:!0,enable(){this.enabled=!0,i()},disable(){this.enabled=!1,i()},update(e){Object.assign(this,e),i()},remove(){r._registeredTools[e]===o&&(delete r._registeredTools[e],i())},handler:async(t,r)=>{if(!o.enabled)throw Error(`Tool ${e} is disabled`);let i;if(a){let a=o.inputSchema;i=await n(a?await Og(a,t??{},`Invalid input for tool ${e}: `):t??{},r)}else i=await n(r);return o.outputSchema&&!i.isError&&(i.structuredContent=await Og(o.outputSchema,i.structuredContent,`Invalid output for tool ${e}: `)),i}};return this._registeredTools[e]=o,!this._appCapabilities.tools&&!this.transport&&this.registerAppCapabilities({tools:{listChanged:!0}}),this.ensureToolHandlersInitialized(),i(),o}_toolHandlersInitialized=!1;ensureToolHandlersInitialized(){this._toolHandlersInitialized||(this._toolHandlersInitialized=!0,this.oncalltool=async(e,t)=>{let n=this._registeredTools[e.name];if(!n)throw Error(`Tool ${e.name} not found`);return n.handler(e.arguments,t)},this.onlisttools=async(e,t)=>({tools:await Promise.all(Object.entries(this._registeredTools).filter(([e,t])=>t.enabled).map(async([e,t])=>{let n={name:e,title:t.title,description:t.description,inputSchema:t.inputSchema?await Dg(t.inputSchema,`input`):{type:`object`,properties:{}}};return t.outputSchema&&(n.outputSchema=await Dg(t.outputSchema,`output`)),t.annotations&&(n.annotations=t.annotations),t._meta&&(n._meta=t._meta),n}))}))}async sendToolListChanged(e={}){this._assertInitialized(`sendToolListChanged`),await this.notification({method:`notifications/tools/list_changed`,params:e})}getHostCapabilities(){return this._hostCapabilities}getHostVersion(){return this._hostInfo}getHostContext(){return this._hostContext}get ontoolinput(){return this.getEventHandler(`toolinput`)}set ontoolinput(e){this.setEventHandler(`toolinput`,e)}get ontoolinputpartial(){return this.getEventHandler(`toolinputpartial`)}set ontoolinputpartial(e){this.setEventHandler(`toolinputpartial`,e)}get ontoolresult(){return this.getEventHandler(`toolresult`)}set ontoolresult(e){this.setEventHandler(`toolresult`,e)}get ontoolcancelled(){return this.getEventHandler(`toolcancelled`)}set ontoolcancelled(e){this.setEventHandler(`toolcancelled`,e)}get onhostcontextchanged(){return this.getEventHandler(`hostcontextchanged`)}set onhostcontextchanged(e){this.setEventHandler(`hostcontextchanged`,e)}_onteardown;get onteardown(){return this._onteardown}set onteardown(e){this.warnIfRequestHandlerReplaced(`onteardown`,this._onteardown,e),this._onteardown=e,this.replaceRequestHandler(`ui/resource-teardown`,{params:hg.shape.params,result:gg},(e,t)=>{if(!this._onteardown)throw Error(`No onteardown handler set`);return this._onteardown(e,t)})}_oncalltool;get oncalltool(){return this._oncalltool}set oncalltool(e){this.warnIfRequestHandlerReplaced(`oncalltool`,this._oncalltool,e),this._oncalltool=e,this.replaceRequestHandler(`tools/call`,(e,t)=>{if(!this._oncalltool)throw Error(`No oncalltool handler set`);return this._oncalltool(e.params,t)})}_onlisttools;get onlisttools(){return this._onlisttools}set onlisttools(e){this.warnIfRequestHandlerReplaced(`onlisttools`,this._onlisttools,e),this._onlisttools=e,this.replaceRequestHandler(`tools/list`,(e,t)=>{if(!this._onlisttools)throw Error(`No onlisttools handler set`);return this._onlisttools(e.params,t)})}assertCapabilityForMethod(e){if(e===`sampling/createMessage`&&!this._hostCapabilities?.sampling)throw Error(`Host does not support sampling (required for ${e})`)}assertRequestHandlerCapability(e){switch(e){case`tools/call`:case`tools/list`:if(!this._appCapabilities.tools)throw Error(`Client does not support tool capability (required for ${e})`);return;default:return}}assertNotificationCapability(e){}async callServerTool(e,t){if(this._assertInitialized(`callServerTool`),typeof e==`string`)throw Error(`callServerTool() expects an object as its first argument, but received a string ("${e}"). Did you mean: callServerTool({ name: "${e}", arguments: { ... } })?`);return await this.request({method:`tools/call`,params:e},{onprogress:()=>{},resetTimeoutOnProgress:!0,...t})}async readServerResource(e,t){return this._assertInitialized(`readServerResource`),await this.request({method:`resources/read`,params:e},t)}async listServerResources(e,t){return this._assertInitialized(`listServerResources`),await this.request({method:`resources/list`,params:e},t)}async createSamplingMessage(e,t){return this._assertInitialized(`createSamplingMessage`),await this.request({method:`sampling/createMessage`,params:e},t)}sendMessage(e,t){return this._assertInitialized(`sendMessage`),this.request({method:`ui/message`,params:e},sg,t)}sendLog(e){return this.notification({method:`notifications/message`,params:e})}updateModelContext(e,t){return this._assertInitialized(`updateModelContext`),this.request({method:`ui/update-model-context`,params:e},tu,t)}openLink(e,t){return this._assertInitialized(`openLink`),this.request({method:`ui/open-link`,params:e},ag,t)}sendOpenLink=this.openLink;downloadFile(e,t){return this._assertInitialized(`downloadFile`),this.request({method:`ui/download-file`,params:e},og,t)}requestTeardown(e={}){return this.notification({method:`ui/notifications/request-teardown`,params:e})}requestDisplayMode(e,t){return this._assertInitialized(`requestDisplayMode`),this.request({method:`ui/request-display-mode`,params:e},bg,t)}sendSizeChanged(e){return this.notification({method:`ui/notifications/size-changed`,params:e})}setupSizeChangedNotifications(){let e=!1,t=0,n=0,r=()=>{e||(e=!0,requestAnimationFrame(()=>{e=!1;let r=document.documentElement,i=r.style.height;r.style.height=`max-content`;let a=Math.ceil(r.getBoundingClientRect().height);r.style.height=i;let o=Math.ceil(window.innerWidth);(o!==t||a!==n)&&(t=o,n=a,this.sendSizeChanged({width:o,height:a}))}))};r();let i=new ResizeObserver(r);return i.observe(document.documentElement),i.observe(document.body),()=>i.disconnect()}async connect(e=new tg(window.parent,window.parent),t){if(this.transport)throw Error(`App is already connected. Call close() before connecting again.`);this._initializedSent=!1;try{await super.connect(e);let n=await this.request({method:`ui/initialize`,params:{appCapabilities:this._appCapabilities,appInfo:this._appInfo,protocolVersion:eg}},Tg,t);if(n===void 0)throw Error(`Server sent invalid initialize result: ${n}`);this._hostCapabilities=n.hostCapabilities,this._hostInfo=n.hostInfo,this._hostContext=n.hostContext,await this.notification({method:`ui/notifications/initialized`}),this._initializedSent=!0,this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(e){throw this.close(),e}}},jg=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function Mg(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:jg(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var Ng=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},Pg=e=>{let t=Ng(e);return t.charAt(0).toUpperCase()+t.slice(1)},Fg=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Ig={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Lg(e){return e!=null}function Rg(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??Ig.width,a=e.size??e.height??Ig.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?Fg(...c):Fg(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??Ig[`stroke-width`])*Number(e.size??e.width??Ig.width)/Number(t.size??t.width??Ig.width):t.strokeWidth??Ig[`stroke-width`];return[`svg`,{...Object.entries(Ig).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&Lg(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&Lg(t.width)&&{[r(`width`)]:t.width},...`height`in t&&Lg(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function zg(e,t={}){return Rg(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var Bg=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Vg=(0,y.createContext)({}),Hg=()=>(0,y.useContext)(Vg),Ug=(0,y.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:_=`currentColor`,className:v=``}=Hg()??{},b=!!c||Bg(d),[x,S,C=[]]=zg(u,{color:e??_,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:Fg(v,s),hasA11yProp:b,attributes:d});return(0,y.createElement)(x,{ref:f,...S},[...C.map(([e,t])=>(0,y.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function J(e,t=[],n=[]){let r=typeof e==`string`?Mg(e,t,n):e,i=(0,y.forwardRef)(({className:e,...t},n)=>(0,y.createElement)(Ug,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=Pg(r.name)),i}var Wg={name:`app-window`,size:24,node:[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]};Wg.node;var Gg=J(Wg),Kg={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]};Kg.node;var qg=J(Kg),Jg={name:`arrow-left`,size:24,node:[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]};Jg.node;var Yg=J(Jg),Xg={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Xg.node;var Zg=J(Xg),Qg={name:`arrow-up`,size:24,node:[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]};Qg.node;var $g=J(Qg),e_={name:`bell-ring`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`,key:`5bb3ad`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`,key:`tap9e0`}]]};e_.node;var t_=J(e_),n_={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};n_.node;var r_=J(n_),i_={name:`bot`,size:24,node:[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]};i_.node;var a_=J(i_),o_={name:`camera`,size:24,node:[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]};o_.node;var s_=J(o_),c_={name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]};c_.node;var l_=J(c_),u_={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};u_.node;var d_=J(u_),f_={name:`copy`,size:24,node:[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]};f_.node;var p_=J(f_),m_={name:`corner-down-left`,size:24,node:[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]};m_.node;var h_=J(m_),g_={name:`database`,size:24,node:[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]};g_.node;var __=J(g_),v_={name:`download`,size:24,node:[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]};v_.node;var y_=J(v_),b_={name:`eraser`,size:24,node:[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]};b_.node;var x_=J(b_),S_={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};S_.node;var C_=J(S_),w_={name:`eye`,size:24,node:[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};w_.node;var T_=J(w_),E_={name:`file-headphone`,size:24,node:[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]],aliases:[`file-audio`,`file-audio-2`]};E_.node;var D_=J(E_),O_={name:`file-text`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]};O_.node;var k_=J(O_),A_={name:`film`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 3v18`,key:`bbkbws`}],[`path`,{d:`M3 7.5h4`,key:`zfgn84`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`path`,{d:`M3 16.5h4`,key:`1230mu`}],[`path`,{d:`M17 3v18`,key:`in4fa5`}],[`path`,{d:`M17 7.5h4`,key:`myr1c1`}],[`path`,{d:`M17 16.5h4`,key:`go4c1d`}]]};A_.node;var j_=J(A_),M_={name:`flag`,size:24,node:[[`path`,{d:`M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528`,key:`1jaruq`}]]};M_.node;var N_=J(M_),P_={name:`flashlight-off`,size:24,node:[[`path`,{d:`M11.652 6H18`,key:`voqkpr`}],[`path`,{d:`M12 13v1`,key:`176q98`}],[`path`,{d:`M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V6`,key:`dzyf92`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M7.649 2H17a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8a4 4 0 0 0-.55 1.007`,key:`1hvcfn`}]]};P_.node;var F_=J(P_),I_={name:`flashlight`,size:24,node:[[`path`,{d:`M12 13v1`,key:`176q98`}],[`path`,{d:`M17 2a1 1 0 0 1 1 1v4a3 3 0 0 1-.6 1.8l-.6.8A4 4 0 0 0 16 12v8a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2v-8a4 4 0 0 0-.8-2.4l-.6-.8A3 3 0 0 1 6 7V3a1 1 0 0 1 1-1z`,key:`17vh7j`}],[`path`,{d:`M6 6h12`,key:`n6hhss`}]]};I_.node;var L_=J(I_),R_={name:`grip-vertical`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]};R_.node;var z_=J(R_),B_={name:`image-plus`,size:24,node:[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]};B_.node;var V_=J(B_),H_={name:`image-up`,size:24,node:[[`path`,{d:`M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21`,key:`9csbqa`}],[`path`,{d:`m14 19.5 3-3 3 3`,key:`9vmjn0`}],[`path`,{d:`M17 22v-5.5`,key:`1aa6fl`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]};H_.node;var U_=J(H_),W_={name:`image`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]};W_.node;var G_=J(W_),K_={name:`layout-dashboard`,size:24,node:[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]};K_.node;var q_=J(K_),J_={name:`link-2`,size:24,node:[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]};J_.node;var Y_=J(J_),X_={name:`list-checks`,size:24,node:[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]};X_.node;var Z_=J(X_),Q_={name:`locate-fixed`,size:24,node:[[`line`,{x1:`2`,x2:`5`,y1:`12`,y2:`12`,key:`bvdh0s`}],[`line`,{x1:`19`,x2:`22`,y1:`12`,y2:`12`,key:`1tbv5k`}],[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`5`,key:`11lu5j`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`,key:`x3vr5v`}],[`circle`,{cx:`12`,cy:`12`,r:`7`,key:`fim9np`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};Q_.node;var $_=J(Q_),ev={name:`lock-keyhole`,size:24,node:[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]};ev.node;var tv=J(ev),nv={name:`mail`,size:24,node:[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]};nv.node;var rv=J(nv),iv={name:`map-pin`,size:24,node:[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]};iv.node;var av=J(iv),ov={name:`maximize-2`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]};ov.node;var sv=J(ov),cv={name:`mic`,size:24,node:[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]};cv.node;var lv=J(cv),uv={name:`minimize-2`,size:24,node:[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]};uv.node;var dv=J(uv),fv={name:`minus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]};fv.node;var pv=J(fv),mv={name:`paperclip`,size:24,node:[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]};mv.node;var hv=J(mv),gv={name:`pen-line`,size:24,node:[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]],aliases:[`edit-3`]};gv.node;var _v=J(gv),vv={name:`pencil-line`,size:24,node:[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]};vv.node;var yv=J(vv),bv={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};bv.node;var xv=J(bv),Sv={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};Sv.node;var Cv=J(Sv),wv={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};wv.node;var Tv=J(wv),Ev={name:`rotate-ccw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]};Ev.node;var Dv=J(Ev),Ov={name:`scan-line`,size:24,node:[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}],[`path`,{d:`M7 12h10`,key:`b7w52i`}]]};Ov.node;var kv=J(Ov),Av={name:`scan`,size:24,node:[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]};Av.node;var jv=J(Av),Mv={name:`share-2`,size:24,node:[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]};Mv.node;var Nv=J(Mv),Pv={name:`share`,size:24,node:[[`path`,{d:`M12 2v13`,key:`1km8f5`}],[`path`,{d:`m16 6-4-4-4 4`,key:`13yo43`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`,key:`1b2hhj`}]]};Pv.node;var Fv=J(Pv),Iv={name:`shield-check`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]};Iv.node;var Lv=J(Iv),Rv={name:`sparkles`,size:24,node:[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]],aliases:[`stars`]};Rv.node;var zv=J(Rv),Bv={name:`square`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]};Bv.node;var Vv=J(Bv),Hv={name:`switch-camera`,size:24,node:[[`path`,{d:`M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5`,key:`mtk2lu`}],[`path`,{d:`M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5`,key:`120jsl`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`m18 22-3-3 3-3`,key:`kgdoj7`}],[`path`,{d:`m6 2 3 3-3 3`,key:`1fnbkv`}]]};Hv.node;var Uv=J(Hv),Wv={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};Wv.node;var Gv=J(Wv),Kv={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};Kv.node;var qv=J(Kv),Jv={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};Jv.node;var Yv=J(Jv),Xv={name:`unplug`,size:24,node:[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]};Xv.node;var Zv=J(Xv),Qv={name:`video`,size:24,node:[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`,key:`ftymec`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`,key:`158x01`}]]};Qv.node;var $v=J(Qv),ey={name:`wand-sparkles`,size:24,node:[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]],aliases:[`wand-2`]};ey.node;var ty=J(ey),ny={name:`workflow`,size:24,node:[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]};ny.node;var ry=J(ny),iy={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};iy.node;var ay=J(iy),oy,sy,cy,ly=o((()=>{oy={cobalt:`var(--engenty-cobalt, oklch(60% 0.23 262))`,amber:`var(--engenty-amber, oklch(82% 0.17 78))`,moss:`var(--engenty-moss, oklch(72% 0.22 145))`,rose:`var(--engenty-rose, oklch(64% 0.25 18))`,ember:`var(--engenty-ember, oklch(70% 0.21 42))`,teal:`var(--engenty-teal, oklch(74% 0.16 192))`,violet:`var(--engenty-violet, oklch(60% 0.25 300))`,magenta:`var(--engenty-magenta, oklch(65% 0.28 345))`,citron:`var(--engenty-citron, oklch(89% 0.2 118))`,slate:`var(--engenty-slate, oklch(66% 0.13 235))`},sy=[`round`,`drop`,`dome`,`flame`,`oval`],[...sy],cy={bean:`teal`,dome:`moss`,drop:`amber`,flame:`rose`,oval:`ember`,pebble:`slate`,round:`cobalt`,sprout:`citron`,tower:`violet`,wedge:`magenta`}}));function uy(e){return Math.max(...e.blobs.map(e=>e.r*Math.min(e.rx??1,e.ry??1)))}function dy(e){let t=new Float32Array(my*4);for(let n=0;n<my;n++){let r=e.blobs[n];if(!r){t[n*4]=1e4,t[n*4+1]=1e4,t[n*4+2]=0,t[n*4+3]=0;continue}t[n*4]=r.x,t[n*4+1]=r.y,t[n*4+2]=r.r*(r.rx??1),t[n*4+3]=r.r*(r.ry??1)}return t}function fy(e){let t=new Float32Array(hy*4),n=new Float32Array(hy*4);return e.extras?.forEach((e,r)=>{let i=r*4;switch(n[i]=gy[e.type],n[i+1]=e.alpha??1,e.type){case`ink-dot`:t.set([e.x,e.y,e.r,0],i);break;case`body-dot`:t.set([e.x,e.y,e.r,e.bob??0],i);break;case`arc`:t.set([e.cx,e.cy,e.r,e.half*Math.PI/180],i),n[i+2]=e.width,n[i+3]=+!!e.body;break;case`bar`:t.set([e.x,e.y,e.half,0],i),n[i+2]=e.width;break;case`wave`:t.set([e.x,e.y,e.len,e.amp],i),n[i+2]=e.width}}),{geometry:t,meta:n}}var py,my,hy,gy,_y=o((()=>{py={round:{blobs:[{x:60,y:61,r:36,rx:1,ry:1.06}],extras:[{type:`body-dot`,x:97,y:34,r:6,alpha:.5,bob:3},{type:`body-dot`,x:106,y:24,r:3.5,alpha:.35,bob:3.5}],falloff:2.2,fur:9,period:3.6,eye:{x:68,y:58,r:8},shadowRx:26},drop:{blobs:[{x:60,y:70,r:30,rx:1,ry:.95},{x:60,y:40,r:20,rx:.85,ry:1.15},{x:60,y:22,r:9,rx:.7,ry:1}],extras:[{type:`wave`,x:48,y:76,len:24,amp:2,width:2.6}],falloff:1.7,fur:8.5,period:4.4,eye:{x:60,y:56,r:8},shadowRx:24},dome:{blobs:[{x:60,y:72,r:32,rx:1.02,ry:.82},{x:60,y:46,r:28,rx:1,ry:1}],extras:[{type:`bar`,x:46,y:85,half:5,width:2.4,alpha:.5},{type:`bar`,x:60,y:87,half:5,width:2.4,alpha:.5},{type:`bar`,x:74,y:85,half:5,width:2.4,alpha:.5},{type:`body-dot`,x:60,y:6,r:3,bob:2.5}],falloff:1.7,fur:9,period:3,eye:{x:60,y:54,r:8.5},shadowRx:27},flame:{blobs:[{x:60,y:80,r:22,rx:1,ry:.95},{x:60,y:54,r:19,rx:.95,ry:1.1},{x:60,y:30,r:12,rx:.72,ry:1.25},{x:60,y:16,r:5,rx:.6,ry:1.1}],extras:[{type:`arc`,cx:60,cy:45,r:32,half:39,width:3,alpha:.55,body:!0},{type:`ink-dot`,x:60,y:82,r:2.6}],falloff:1.6,fur:7.5,period:2.6,eye:{x:60,y:62,r:8},shadowRx:22},oval:{blobs:[{x:60,y:64,r:40,rx:1.06,ry:.76}],extras:[{type:`arc`,cx:60,cy:223,r:172,half:10.7,width:2.2,alpha:.45},{type:`arc`,cx:60,cy:261,r:191,half:10.3,width:2.2,alpha:.45}],falloff:2.2,fur:10,period:4,eye:{x:66,y:58,r:8},shadowRx:32},bean:{blobs:[{x:46,y:76,r:24},{x:74,y:54,r:22}],extras:[{type:`body-dot`,x:32,y:94,r:4,alpha:.4}],falloff:1.7,fur:9,period:3.8,eye:{x:70,y:58,r:8},shadowRx:26},pebble:{blobs:[{x:56,y:76,r:32,rx:1.3,ry:.66},{x:86,y:74,r:18,rx:1,ry:.7}],extras:[{type:`ink-dot`,x:42,y:76,r:3,alpha:.32},{type:`ink-dot`,x:56,y:86,r:2.2,alpha:.32},{type:`ink-dot`,x:86,y:80,r:2.6,alpha:.32}],falloff:1.8,fur:9.5,period:4.6,eye:{x:68,y:72,r:7.5},shadowRx:34},sprout:{blobs:[{x:60,y:74,r:28},{x:48,y:34,r:8,rx:.75,ry:1.15},{x:72,y:32,r:7,rx:.75,ry:1.15}],falloff:1.7,fur:8.5,period:3.2,eye:{x:60,y:68,r:8.5},shadowRx:26},tower:{blobs:[{x:60,y:86,r:19},{x:60,y:60,r:17},{x:60,y:36,r:14}],extras:[{type:`arc`,cx:60,cy:154,r:80,half:13,width:2.2,alpha:.4},{type:`arc`,cx:60,cy:187,r:99,half:11.7,width:2.2,alpha:.4}],falloff:1.6,fur:8,period:4,eye:{x:60,y:52,r:8},shadowRx:20},wedge:{blobs:[{x:44,y:84,r:20},{x:76,y:84,r:20},{x:60,y:48,r:14}],extras:[{type:`arc`,cx:60,cy:28,r:10,half:53,width:3,alpha:.5,body:!0}],falloff:1.7,fur:8.5,period:2.9,eye:{x:60,y:70,r:8},shadowRx:28}},my=Math.max(...Object.values(py).map(e=>e.blobs.length)),hy=Math.max(...Object.values(py).map(e=>e.extras?.length??0)),gy={"ink-dot":1,"body-dot":2,arc:3,bar:4,wave:5}})),vy=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),yy=s(((e,t)=>{t.exports=vy()}));function by(e,t){let n=1/0,r=-1/0;for(let i of py[e].blobs){let e=i.r*(i.rx??1),a=i.r*(i.ry??1),o=(t-i.y)/a;if(Math.abs(o)>=1)continue;let s=e*Math.sqrt(1-o*o);n=Math.min(n,i.x-s),r=Math.max(r,i.x+s)}return[n,r]}function xy(e){let{x:t,y:n,r}=py[e].eye,i=r*1.45,a=r*.42,[o,s]=by(e,n);return{band:r*.95,left:o,lens:i,outer:i+a/2,right:s,rim:a,x:t,y:n}}function Sy({g:e}){let t=(t,n)=>n-t>1?(0,wy.jsxs)(`g`,{children:[(0,wy.jsx)(`rect`,{fill:Ty,height:e.band,rx:e.band*.3,width:n-t,x:t,y:e.y-e.band/2}),(0,wy.jsx)(`line`,{stroke:Ey,strokeDasharray:`1.6 1.6`,strokeWidth:.6,x1:t+1,x2:n-1,y1:e.y,y2:e.y})]}):null;return(0,wy.jsxs)(`g`,{className:`e-goggles`,children:[t(e.left+1.5,e.x-e.outer+.5),t(e.x+e.outer-.5,e.right-1.5),(0,wy.jsx)(`circle`,{cx:e.x,cy:e.y,fill:ky,r:e.lens}),(0,wy.jsx)(`circle`,{cx:e.x,cy:e.y,fill:`none`,r:e.lens,stroke:Dy,strokeWidth:e.rim}),(0,wy.jsx)(`circle`,{cx:e.x,cy:e.y,fill:`none`,r:e.outer,stroke:Oy,strokeWidth:.7}),[45,135,225,315].map(t=>(0,wy.jsx)(`circle`,{cx:e.x+Math.cos(t*Math.PI/180)*e.lens,cy:e.y+Math.sin(t*Math.PI/180)*e.lens,fill:Oy,r:.9},t)),(0,wy.jsx)(`path`,{d:`M ${e.x-e.lens*.62} ${e.y-e.lens*.2} A ${e.lens*.66} ${e.lens*.66} 0 0 1 ${e.x-e.lens*.1} ${e.y-e.lens*.64}`,fill:`none`,opacity:.75,stroke:`#fff`,strokeLinecap:`round`,strokeWidth:1.3})]})}function Cy({kind:e}){return(0,wy.jsx)(Sy,{g:xy(e)})}var wy,Ty,Ey,Dy,Oy,ky,Ay=o((()=>{_y(),wy=yy(),Ty=`oklch(40% 0.07 50)`,Ey=`oklch(30% 0.06 45)`,Dy=`oklch(74% 0.12 80)`,Oy=`oklch(55% 0.1 70)`,ky=`oklch(88% 0.05 220 / 0.32)`}));function jy(){By=0;let e=window.innerHeight,t=!1;for(let n of Ry){let r=n.svg.getBoundingClientRect();if(r.bottom<-40||r.top>e+40)continue;let i=r.left+r.width*.5,a=r.top+r.height*.48,o=zy.x-i,s=zy.y-a,c=Math.hypot(o,s)||1,l=o/c,u=s/c,d=Math.min(r.width,r.height)*2.4,f=.35+Math.min(1,c/d)*.65,p=l*5.5*f,m=u*3.5*f,h=l*7*f+u*1.2*f;n.tx=Uy(n.tx,p,.16),n.ty=Uy(n.ty,m,.16),n.rot=Uy(n.rot,h,.14),n.lean&&n.lean.setAttribute(`transform`,`translate(${n.tx.toFixed(2)} ${n.ty.toFixed(2)}) rotate(${n.rot.toFixed(2)} 60 62)`),n.shadow&&(n.shadow.setAttribute(`cx`,(60-n.tx*.35).toFixed(2)),n.shadow.setAttribute(`opacity`,String(Math.max(.08,.14-Math.abs(n.ty)*.008))));let g=n.ex+l*n.max*f,_=n.ey+1+u*n.max*.9*f;n.px=Uy(n.px,g,.24),n.py=Uy(n.py,_,.24),n.pupil&&(n.pupil.setAttribute(`cx`,n.px.toFixed(2)),n.pupil.setAttribute(`cy`,n.py.toFixed(2))),n.glint&&(n.glint.setAttribute(`cx`,(n.px-2).toFixed(2)),n.glint.setAttribute(`cy`,(n.py-3.4).toFixed(2))),(Math.abs(n.tx-p)>.05||Math.abs(n.px-g)>.05)&&(t=!0)}(t||Vy-->0)&&(By=requestAnimationFrame(jy))}function My(){Vy=48,By||=requestAnimationFrame(jy)}function Ny(e){zy.x=e.clientX,zy.y=e.clientY,My()}function Py(){Hy||typeof window>`u`||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches||(Hy=!0,zy.x=window.innerWidth*.62,zy.y=window.innerHeight*.28,window.addEventListener(`pointermove`,Ny,{passive:!0}),My())}function Fy(){Ry.size>0||Hy&&(Hy=!1,window.removeEventListener(`pointermove`,Ny),By&&=(cancelAnimationFrame(By),0))}function Iy(e,t,n=!0){let r=(0,Ly.useRef)(t);r.current=t,(0,Ly.useEffect)(()=>{let t=e.current;if(!(t&&n)||window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let{ex:i,ey:a,max:o=3.2}=r.current,s={svg:t,lean:t.querySelector(`.e-lean`),pupil:t.querySelector(`.e-pupil`),glint:t.querySelector(`.e-glint`),shadow:t.querySelector(`.e-shadow`),ex:i,ey:a,max:o,tx:0,ty:0,rot:0,px:i,py:a+1};return Ry.add(s),Py(),My(),()=>{Ry.delete(s),Fy()}},[e,n,t.ex,t.ey,t.max])}var Ly,Ry,zy,By,Vy,Hy,Uy,Wy=o((()=>{Ly=u(f(),1),Ry=new Set,zy={x:0,y:0},By=0,Vy=0,Hy=!1,Uy=(e,t,n)=>e+(t-e)*n}));function Gy({ex:e,ey:t,max:n,ink:r,r:i,blink:a=`5.2s`}){let o=i*1.15;return(0,Y.jsxs)(`g`,{className:`e-eye`,"data-ex":e,"data-ey":t,"data-max":n,children:[(0,Y.jsx)(`ellipse`,{cx:e,cy:t,fill:`#fff`,rx:i,ry:o,children:(0,Y.jsx)(`animate`,{attributeName:`ry`,dur:a,keyTimes:`0;0.92;0.95;1`,repeatCount:`indefinite`,values:`${o};${o};${i*.1};${o}`})}),(0,Y.jsx)(`circle`,{className:`e-pupil`,cx:e,cy:t+1,fill:r,r:i*.48}),(0,Y.jsx)(`circle`,{className:`e-glint`,cx:e-i*.25,cy:t-i*.3,fill:`#fff`,r:i*.18})]})}function Ky(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.cobalt,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`3.6s`,repeatCount:`indefinite`,values:`M60 22 Q96 26 96 62 Q96 96 60 100 Q24 96 24 62 Q24 26 60 22 Z;M60 30 Q100 20 94 62 Q98 102 60 95 Q22 102 26 62 Q20 22 60 30 Z;M60 22 Q96 26 96 62 Q96 96 60 100 Q24 96 24 62 Q24 26 60 22 Z`})}),(0,Y.jsx)(`circle`,{cx:`97`,cy:`34`,fill:oy.cobalt,opacity:`0.5`,r:`6`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,dur:`3.6s`,repeatCount:`indefinite`,values:`34;28;34`})}),(0,Y.jsx)(`circle`,{cx:`106`,cy:`24`,fill:oy.cobalt,opacity:`0.35`,r:`3.5`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,begin:`0.4s`,dur:`3.6s`,repeatCount:`indefinite`,values:`24;17;24`})}),(0,Y.jsx)(Gy,{blink:`5.2s`,ex:68,ey:58,ink:`oklch(18% 0.08 260)`,max:3.4,r:8})]})}function qy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.amber,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4.4s`,repeatCount:`indefinite`,values:`M60 16 Q90 34 90 66 Q90 96 60 98 Q30 96 30 66 Q30 34 60 16 Z;M50 20 Q92 30 88 66 Q92 98 60 96 Q28 98 32 66 Q26 36 50 20 Z;M70 20 Q94 36 90 66 Q88 98 60 96 Q32 98 32 66 Q30 30 70 20 Z;M60 16 Q90 34 90 66 Q90 96 60 98 Q30 96 30 66 Q30 34 60 16 Z`})}),(0,Y.jsx)(Gy,{blink:`4.4s`,ex:60,ey:56,ink:`oklch(30% 0.10 60)`,max:3.2,r:8}),(0,Y.jsx)(`path`,{d:`M48 76 Q54 72 60 76 Q66 80 72 76`,fill:`none`,stroke:`oklch(30% 0.10 55)`,strokeLinecap:`round`,strokeWidth:`2.6`})]})}function Jy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.moss,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`3s`,repeatCount:`indefinite`,values:`M60 20 Q92 30 92 70 Q92 96 60 96 Q28 96 28 70 Q28 30 60 20 Z;M60 30 Q98 36 96 74 Q96 98 60 98 Q24 98 24 74 Q22 36 60 30 Z;M60 12 Q88 26 88 68 Q88 94 60 94 Q32 94 32 68 Q32 26 60 12 Z;M60 20 Q92 30 92 70 Q92 96 60 96 Q28 96 28 70 Q28 30 60 20 Z`})}),(0,Y.jsx)(`path`,{d:`M46 90 L46 80 M60 92 L60 82 M74 90 L74 80`,opacity:`0.5`,stroke:`oklch(28% 0.10 155)`,strokeLinecap:`round`,strokeWidth:`2.4`}),(0,Y.jsx)(`circle`,{cx:`60`,cy:`6`,fill:oy.moss,r:`3`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,dur:`3s`,repeatCount:`indefinite`,values:`8;3;8`})}),(0,Y.jsx)(Gy,{blink:`4.6s`,ex:60,ey:54,ink:`oklch(16% 0.08 160)`,max:3.4,r:8.5})]})}function Yy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.rose,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`2.6s`,repeatCount:`indefinite`,values:`M60 14 Q84 44 80 76 Q78 98 60 98 Q42 98 40 76 Q36 44 60 14 Z;M52 18 Q86 40 82 76 Q80 98 60 98 Q40 98 38 76 Q32 46 52 18 Z;M68 18 Q88 46 82 76 Q80 98 60 98 Q40 98 38 76 Q34 40 68 18 Z;M60 14 Q84 44 80 76 Q78 98 60 98 Q42 98 40 76 Q36 44 60 14 Z`})}),(0,Y.jsx)(`path`,{d:`M40 20 Q60 6 80 20`,fill:`none`,opacity:`0.55`,stroke:oy.rose,strokeLinecap:`round`,strokeWidth:`3`,children:(0,Y.jsx)(`animate`,{attributeName:`opacity`,dur:`2.6s`,repeatCount:`indefinite`,values:`0.55;0.15;0.55`})}),(0,Y.jsx)(Gy,{blink:`3.8s`,ex:60,ey:62,ink:`oklch(22% 0.10 18)`,max:3.2,r:8}),(0,Y.jsx)(`circle`,{cx:`60`,cy:`82`,fill:`oklch(22% 0.10 18)`,r:`2.6`})]})}function Xy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.ember,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4s`,repeatCount:`indefinite`,values:`M60 34 Q100 38 100 64 Q100 92 60 94 Q20 92 20 64 Q20 38 60 34 Z;M60 40 Q110 40 108 66 Q108 96 60 96 Q12 96 12 66 Q10 40 60 40 Z;M60 28 Q92 36 92 62 Q92 88 60 90 Q28 88 28 62 Q28 36 60 28 Z;M60 34 Q100 38 100 64 Q100 92 60 94 Q20 92 20 64 Q20 38 60 34 Z`})}),(0,Y.jsxs)(`g`,{fill:`none`,opacity:`0.45`,stroke:`oklch(40% 0.16 30)`,strokeWidth:`2.2`,children:[(0,Y.jsx)(`path`,{d:`M28 54 Q60 48 92 54`,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4s`,repeatCount:`indefinite`,values:`M28 54 Q60 48 92 54;M20 56 Q60 50 100 56;M32 52 Q60 46 88 52;M28 54 Q60 48 92 54`})}),(0,Y.jsx)(`path`,{d:`M26 70 Q60 64 94 70`,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4s`,repeatCount:`indefinite`,values:`M26 70 Q60 64 94 70;M18 72 Q60 66 102 72;M30 68 Q60 62 90 68;M26 70 Q60 64 94 70`})})]}),(0,Y.jsx)(Gy,{blink:`4.2s`,ex:66,ey:58,ink:`oklch(24% 0.10 30)`,max:3.2,r:8})]})}function Zy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.teal,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`3.8s`,repeatCount:`indefinite`,values:`M48 96 Q24 92 26 68 Q28 44 52 38 Q78 32 88 50 Q98 66 84 84 Q70 100 48 96 Z;M46 98 Q20 92 24 66 Q28 40 54 36 Q80 30 90 50 Q100 68 84 86 Q68 102 46 98 Z;M50 94 Q28 90 28 68 Q30 46 52 40 Q76 34 86 50 Q94 64 82 82 Q72 98 50 94 Z;M48 96 Q24 92 26 68 Q28 44 52 38 Q78 32 88 50 Q98 66 84 84 Q70 100 48 96 Z`})}),(0,Y.jsx)(`circle`,{cx:`32`,cy:`94`,fill:oy.teal,opacity:`0.4`,r:`4`,children:(0,Y.jsx)(`animate`,{attributeName:`cx`,dur:`3.8s`,repeatCount:`indefinite`,values:`32;27;32`})}),(0,Y.jsx)(Gy,{blink:`4.8s`,ex:70,ey:58,ink:`oklch(18% 0.08 200)`,max:3.4,r:8})]})}function Qy(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.slate,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4.6s`,repeatCount:`indefinite`,values:`M60 96 Q20 96 18 78 Q16 60 46 56 Q78 52 98 62 Q110 72 104 86 Q98 96 60 96 Z;M60 98 Q14 98 14 78 Q14 58 46 54 Q80 50 102 62 Q114 74 106 88 Q98 98 60 98 Z;M60 94 Q26 94 22 78 Q20 62 46 58 Q76 54 94 62 Q106 70 100 84 Q94 94 60 94 Z;M60 96 Q20 96 18 78 Q16 60 46 56 Q78 52 98 62 Q110 72 104 86 Q98 96 60 96 Z`})}),(0,Y.jsxs)(`g`,{fill:`oklch(30% 0.05 244)`,opacity:`0.32`,children:[(0,Y.jsx)(`circle`,{cx:`42`,cy:`76`,r:`3`}),(0,Y.jsx)(`circle`,{cx:`56`,cy:`86`,r:`2.2`}),(0,Y.jsx)(`circle`,{cx:`86`,cy:`80`,r:`2.6`})]}),(0,Y.jsx)(Gy,{blink:`5.6s`,ex:68,ey:72,ink:`oklch(20% 0.06 244)`,max:3,r:7.5})]})}function $y(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`g`,{fill:oy.citron,children:[(0,Y.jsx)(`ellipse`,{cx:`48`,cy:`34`,rx:`6`,ry:`10`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,dur:`3.2s`,repeatCount:`indefinite`,values:`34;30;34`})}),(0,Y.jsx)(`ellipse`,{cx:`72`,cy:`32`,rx:`5.5`,ry:`9`,children:(0,Y.jsx)(`animate`,{attributeName:`cy`,begin:`0.5s`,dur:`3.2s`,repeatCount:`indefinite`,values:`32;28;32`})})]}),(0,Y.jsx)(`path`,{fill:oy.citron,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`3.2s`,repeatCount:`indefinite`,values:`M60 100 Q28 98 28 72 Q28 46 60 44 Q92 46 92 72 Q92 98 60 100 Z;M60 102 Q24 100 24 72 Q24 42 60 40 Q96 42 96 72 Q96 100 60 102 Z;M60 98 Q32 96 32 72 Q32 50 60 48 Q88 50 88 72 Q88 96 60 98 Z;M60 100 Q28 98 28 72 Q28 46 60 44 Q92 46 92 72 Q92 98 60 100 Z`})}),(0,Y.jsx)(Gy,{blink:`4.2s`,ex:60,ey:68,ink:`oklch(24% 0.09 108)`,max:3.4,r:8.5})]})}function eb(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.violet,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`4s`,repeatCount:`indefinite`,values:`M60 102 Q36 100 38 78 Q40 58 42 44 Q44 26 60 24 Q76 26 78 44 Q80 58 82 78 Q84 100 60 102 Z;M60 104 Q32 102 36 78 Q40 56 40 42 Q40 22 60 20 Q80 22 80 42 Q80 56 84 78 Q88 102 60 104 Z;M60 100 Q40 98 40 78 Q42 60 44 46 Q46 30 60 28 Q74 30 76 46 Q78 60 80 78 Q80 98 60 100 Z;M60 102 Q36 100 38 78 Q40 58 42 44 Q44 26 60 24 Q76 26 78 44 Q80 58 82 78 Q84 100 60 102 Z`})}),(0,Y.jsxs)(`g`,{fill:`none`,opacity:`0.4`,stroke:`oklch(28% 0.10 308)`,strokeLinecap:`round`,strokeWidth:`2.2`,children:[(0,Y.jsx)(`path`,{d:`M42 74 Q60 70 78 74`}),(0,Y.jsx)(`path`,{d:`M40 88 Q60 84 80 88`})]}),(0,Y.jsx)(Gy,{blink:`5s`,ex:60,ey:52,ink:`oklch(20% 0.09 308)`,max:3.2,r:8})]})}function tb(){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{fill:oy.magenta,children:(0,Y.jsx)(`animate`,{attributeName:`d`,dur:`2.9s`,repeatCount:`indefinite`,values:`M60 30 Q74 40 86 70 Q96 92 78 98 Q60 102 42 98 Q24 92 34 70 Q46 40 60 30 Z;M60 24 Q78 38 90 70 Q100 94 78 100 Q60 104 42 100 Q20 94 30 70 Q42 38 60 24 Z;M60 34 Q72 44 82 70 Q92 90 76 96 Q60 100 44 96 Q28 90 38 70 Q48 44 60 34 Z;M60 30 Q74 40 86 70 Q96 92 78 98 Q60 102 42 98 Q24 92 34 70 Q46 40 60 30 Z`})}),(0,Y.jsx)(`path`,{d:`M52 22 Q60 14 68 22`,fill:`none`,opacity:`0.5`,stroke:oy.magenta,strokeLinecap:`round`,strokeWidth:`3`,children:(0,Y.jsx)(`animate`,{attributeName:`opacity`,dur:`2.9s`,repeatCount:`indefinite`,values:`0.5;0.12;0.5`})}),(0,Y.jsx)(Gy,{blink:`3.6s`,ex:60,ey:70,ink:`oklch(22% 0.10 345)`,max:3.2,r:8})]})}function nb({kind:e}){switch(e){case`drop`:return(0,Y.jsx)(qy,{});case`dome`:return(0,Y.jsx)(Jy,{});case`flame`:return(0,Y.jsx)(Yy,{});case`oval`:return(0,Y.jsx)(Xy,{});case`bean`:return(0,Y.jsx)(Zy,{});case`pebble`:return(0,Y.jsx)(Qy,{});case`sprout`:return(0,Y.jsx)($y,{});case`tower`:return(0,Y.jsx)(eb,{});case`wedge`:return(0,Y.jsx)(tb,{});default:return(0,Y.jsx)(Ky,{})}}function rb({animated:e=!0,goggles:t=!1,kind:n=`round`,size:r=160,className:i}){let a=(0,ib.useRef)(null),o=ab[n],s=ob[n];return Iy(a,o,e),(0,ib.useEffect)(()=>{let t=a.current;if(!t)return;let n=typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(e&&!n){t.unpauseAnimations();return}t.pauseAnimations(),t.setCurrentTime(0)},[e]),(0,Y.jsxs)(`svg`,{"aria-hidden":`true`,className:i,height:r,overflow:`visible`,ref:a,style:{display:`block`},viewBox:`0 0 120 120`,width:r,children:[(0,Y.jsx)(`ellipse`,{className:`e-shadow`,cx:`60`,cy:s.cy,fill:`#000`,opacity:`0.14`,rx:s.rx,ry:`4.5`,children:(0,Y.jsx)(`animate`,{attributeName:`rx`,dur:s.dur,repeatCount:`indefinite`,values:`${s.rx};${s.rx*.8};${s.rx}`})}),(0,Y.jsxs)(`g`,{className:`e-lean`,children:[(0,Y.jsx)(nb,{kind:n}),t?(0,Y.jsx)(Cy,{kind:n}):null]})]})}var ib,Y,ab,ob,sb=o((()=>{ib=u(f(),1),ly(),Ay(),Wy(),Y=yy(),ab={round:{ex:68,ey:58,max:3.4},drop:{ex:60,ey:56,max:3.2},dome:{ex:60,ey:54,max:3.4},flame:{ex:60,ey:62,max:3.2},oval:{ex:66,ey:58,max:3.2},bean:{ex:70,ey:58,max:3.4},pebble:{ex:68,ey:72,max:3},sprout:{ex:60,ey:68,max:3.4},tower:{ex:60,ey:52,max:3.2},wedge:{ex:60,ey:70,max:3.2}},ob={round:{cy:108,rx:26,dur:`3.6s`},drop:{cy:106,rx:24,dur:`4.4s`},dome:{cy:104,rx:27,dur:`3s`},flame:{cy:106,rx:22,dur:`2.6s`},oval:{cy:102,rx:32,dur:`4s`},bean:{cy:102,rx:26,dur:`3.8s`},pebble:{cy:102,rx:34,dur:`4.6s`},sprout:{cy:106,rx:26,dur:`3.2s`},tower:{cy:108,rx:20,dur:`4s`},wedge:{cy:106,rx:28,dur:`2.9s`}}}));ly(),sb();var X=yy(),cb={"brand.tagline":`Wünsch dir was. Wir bauen deinen Wizard.`,"brand.sub":`Er führt dich Schritt für Schritt zum Ergebnis. Die KI erledigt die Arbeit.`,"auth.dev":`Dev-Login (lokal)`,"auth.legal":`Kein Passwort, keine Registrierung – du meldest dich mit einem bestehenden Konto an.`,"auth.signIn":`Anmelden oder Konto erstellen`,"auth.failed":`Die Anmeldung hat nicht geklappt. Bitte noch einmal versuchen.`,"auth.localLink":`Öffne den Link, den die App beim Start ausgegeben hat – er meldet dich an diesem Gerät an.`,"nav.account":`Konto & Guthaben`,"setup.keysInAccount":`API-Schlüssel für Skripte gehören zu deinem Konto. Du legst sie dort an und ziehst sie dort zurück.`,"setup.openAccount":`Konto öffnen`,"class.label":`Modell-Klasse`,"class.classifier":`Classifier`,"class.standard":`Standard`,"class.high":`High`,"class.highest":`Highest`,"class.image":`Bild`,"class.video":`Video`,"class.audio":`Audio`,"class.speech":`Sprachausgabe`,"class.classifier.hint":`Zuordnen, Ja/Nein, wenige Werte aus Text ziehen. Am günstigsten.`,"class.standard.hint":`Kurze Texte, eine API aufrufen, umformatieren.`,"class.high.hint":`Recherche mit Werkzeugen, lange Dokumente, Abwägen vieler Quellen.`,"class.highest.hint":`Schweres Abwägen oder Code. Mehrfach so teuer wie High.`,"class.effort":`Denkaufwand`,"class.effortAuto":`Automatisch`,"class.effort.low":`Niedrig`,"class.effort.medium":`Mittel`,"class.effort.high":`Hoch`,"estimate.step":`≈ {n} Credits, selten mehr als {high}`,"estimate.measured":`gemessen aus den letzten Läufen`,"estimate.formula":`geschätzt, wird nach fünf Läufen genauer`,"estimate.share":`Ein Lauf kostet etwa {run} Credits. Beim Tageslimit sind es höchstens {day} Credits am Tag.`,"local.title":`Modelle`,"local.accountWaiting":`Warte auf die Anmeldung im Browser …`,"local.accountFailed":`Der Konto-Dienst ist gerade nicht erreichbar.`,"local.accountExpired":`Die Anmeldung ist abgelaufen. Bitte neu anmelden.`,"local.sourceNeedsAccount":`Dafür brauchst du ein Konto.`,"local.toAccount":`Zu Einstellungen → Konto`,"local.sourceOwn":`Eigene Schlüssel`,"local.keys":`Schlüssel`,"local.keysHint":`Ein Schlüssel reicht. Schlüssel liegen im Schlüsselbund dieses Geräts, nie in der Datenbank.`,"local.keySet":`hinterlegt`,"local.keyEmpty":`nicht hinterlegt`,"local.keyRemove":`Entfernen`,"local.classes":`Modell je Klasse`,"local.classesHint":`Ein Schritt nennt nur die Klasse. Hier steht, welches Modell sie bedient, z. B. anthropic/claude-haiku-4.5, openai:gpt-5.4-mini oder ollama:qwen3.`,"local.save":`Speichern`,"local.saved":`Gespeichert`,"local.chat":`Der Chat im Studio antwortet über`,"local.chatModels":`Modell-Klasse Highest`,"local.chatClaude":`Claude-Abo (Claude Code)`,"local.subscription":`Mit dem Abo baut das auf diesem Gerät installierte Claude Code den Wizard – mit deiner Anmeldung dort. Läufe nutzen weiter Schlüssel oder Guthaben.`,"harness.hint":`Texte denkt das auf diesem Gerät installierte {name} – mit deinem {sub} und deiner Anmeldung dort. Kein Schlüssel nötig. Bilder, Videos und Audio brauchen weiter einen Schlüssel.`,"harness.hintImages":`Texte und Bilder macht das auf diesem Gerät installierte {name} – mit deinem {sub} und deiner Anmeldung dort. Kein Schlüssel nötig. Videos und Audio brauchen weiter einen Schlüssel.`,"harness.found":`{name} {version} gefunden`,"harness.missing":`{name} ist auf diesem Gerät nicht installiert.`,"harness.install":`Oder in deinem eigenen Terminal:`,"harness.installButton":`{name} installieren`,"harness.installing":`{name} wird im Terminal unten installiert – das dauert etwa eine Minute. Danach meldest du es an.`,"harness.installEnded":`Die Installation ist zu Ende, aber {name} ist nicht da. Was oben steht, sagt warum.`,"harness.appHere":`Die {app}-App ist auf diesem Computer: {name} meldet sich mit demselben {sub} an.`,"harness.notInstalled":`nicht installiert`,"harness.authSubscription":`Angemeldet mit deinem {sub}.`,"harness.authKey":`Angemeldet mit einem API-Schlüssel aus deiner Shell – nicht mit dem Abo. Melde dich hier an, damit es über dein {sub} läuft.`,"harness.authNone":`Noch nicht angemeldet.`,"harness.signIn":`Hier anmelden`,"harness.signingIn":`Die Anmeldung läuft im Terminal unten – dein Browser öffnet sich dafür. Das Terminal schließt sich, sobald die Anmeldung da ist.`,"harness.signInInteractive":`Unten startet {name}. Wähle dort die Anmeldung mit deinem {sub} und melde dich im Browser an. Das Terminal schließt sich, sobald die Anmeldung da ist.`,"harness.loginEnded":`Die Anmeldung wurde beendet, ohne dass {name} angemeldet ist.`,"harness.sub.claude":`Claude-Abo`,"harness.sub.codex":`ChatGPT-Abo`,"harness.sub.gemini":`Google-Konto`,"harness.sub.cursor":`Cursor-Abo`,"harness.desc.claude":`Mit deinem Claude-Abo – kein Schlüssel nötig.`,"harness.desc.codex":`Mit deinem ChatGPT-Abo – kein Schlüssel nötig.`,"harness.desc.gemini":`Mit deinem Google-Konto – kein Schlüssel nötig.`,"harness.desc.cursor":`Mit deinem Cursor-Abo – kein Schlüssel nötig.`,"harness.ready":`angemeldet`,"local.recheck":`Erneut prüfen`,"local.test":`Testen`,"local.testHint":`Ein kurzer Aufruf zeigt, ob der Weg zum Modell offen ist.`,"local.testOk":`Antwort in {s} s über {ref}: „{reply}“`,"local.testFailed":`Der Test hat nicht geklappt: {error}`,"models.groupCaps":`Fähigkeiten`,"models.groupAccess":`Zugänge`,"models.groupMore":`Weitere Anbieter`,"models.cap.text":`Text & Denken`,"models.cap.text.hint":`Schreibt, fasst zusammen, recherchiert und entscheidet – in fast jedem Schritt.`,"models.cap.image":`Bilder`,"models.cap.image.hint":`Erzeugt Bilder: Logos, Produktfotos, Illustrationen.`,"models.cap.video":`Videos`,"models.cap.video.hint":`Erzeugt kurze Clips aus Text oder aus einem Bild.`,"models.cap.speech":`Sprachausgabe`,"models.cap.speech.hint":`Liest Texte vor: Voice-over, Hörfassungen, Ansagen.`,"models.cap.listening":`Sprachnotizen`,"models.cap.listening.hint":`Versteht Gesprochenes und macht aus Sprachnotizen Text.`,"models.way.local":`Lokales Modell`,"models.way.credits":`Guthaben`,"models.way.creditsTeam":`Guthaben des Teams`,"models.way.none":`nicht eingerichtet`,"models.who":`Wer macht das?`,"models.optSubscription":`Dein Abo`,"models.optKey":`Eigener API Key`,"models.optLocal":`Lokales Modell`,"models.optLocalNote":`Ollama auf diesem Computer`,"models.noteIncluded":`im Abo enthalten`,"models.noteSignedOut":`nicht angemeldet`,"models.noteMissing":`nicht installiert`,"models.noteKey":`API Key hinterlegt`,"models.noteKeyShort":`Key`,"models.noteSignedIn":`angemeldet`,"models.noteShellKey":`API Key aus der Shell`,"models.optOther":`Sonst`,"models.optCreditsGroup":`engenty`,"models.noteNoKey":`API Key fehlt`,"models.noteNeedsAccount":`Konto nötig`,"models.notePerImage":`≈ {n} Credits je Bild`,"models.notePerSecond":`≈ {n} Credits je Sekunde`,"models.notePer1k":`≈ {n} Credits je 1000 Zeichen`,"models.notePerMinute":`≈ {n} Credits je Minute`,"models.creditsAuto":`engenty wählt: {model}`,"models.creditsAutoNone":`engenty wählt das Modell`,"models.creditsPickHint":`Abgerechnet in Credits – ohne eigenen API Key.`,"models.viaCredits":`{name} über engenty Guthaben`,"models.viaCreditsHint":`Ohne eigenen API Key, abgerechnet in Credits.`,"models.viaCreditsNeedsAccount":`Mit einem engenty-Konto, abgerechnet in Credits.`,"models.noteUsage":`Credits nach Verbrauch`,"models.model":`Modell`,"models.modelCustom":`Eigenes Modell …`,"models.textSimple":`Einfache Schritte`,"models.textDemanding":`Anspruchsvolle Schritte`,"models.perClass":`Je Klasse anpassen`,"models.manageKey":`API Key von {name}`,"models.key":`API Key`,"models.keyFor":`API Key von {name}`,"models.keyGet":`Key bei {name} holen`,"models.keySave":`Prüfen und speichern`,"models.keyStored":`API Key hinterlegt`,"models.keyNone":`Kein API Key`,"models.keyCheck":`Prüfen`,"models.keyReplace":`Ersetzen`,"models.keyRemove":`Entfernen`,"models.keyOk":`Der Key gilt.`,"models.keyBad":`Der Key wurde nicht angenommen.`,"models.keyWhereLocal":`Der Key bleibt auf diesem Gerät, nie in der Datenbank.`,"models.keyWhereCloud":`Der Key liegt verschlüsselt beim Team. Niemand sieht ihn wieder.`,"models.keyFallback":`Bis der Key da ist, springt das Guthaben ein.`,"models.uses":`Wofür`,"models.useFor":`Nutzen`,"models.inUse":`wird genutzt`,"models.try":`Ausprobieren`,"models.try.text":`Testen`,"models.try.image":`Probebild erzeugen`,"models.try.video":`Probeclip erzeugen`,"models.try.speech":`Probe anhören`,"models.try.listening":`Zuhören testen`,"models.tryCost":`Kostet wie ein echter Aufruf.`,"models.tryCostVideo":`Ein Clip von 4 Sekunden – kostet wie ein echter.`,"models.tryWait":`Wird erzeugt …`,"models.tryWaitVideo":`Ein Clip dauert ein bis zwei Minuten …`,"models.tryOk":`In {s} s mit {model}`,"models.tryHeard":`Gehört: „{text}“`,"models.tryHeardNothing":`Nichts gehört – der Weg ist offen.`,"models.tryFailed":`Hat nicht geklappt: {error}`,"models.creditsName":`engenty Guthaben`,"models.creditsTeam":`Guthaben des Teams`,"models.creditsLocalLead":`Springt ein, wo kein Abo und kein eigener API Key eingerichtet ist.`,"models.creditsCloudHint":`Alles ohne eigenen API Key läuft über das Guthaben. Eigene Keys gehen vor und kosten keine Credits.`,"models.creditsConnectTitle":`Mit einem Konto`,"models.creditsLocalHint":`Mit einem engenty-Konto springt das Guthaben ein, wo nichts Eigenes eingerichtet ist – etwa für Videos ohne eigenen API Key.`,"models.creditsConnect":`Konto verbinden`,"models.creditsFallback":`Guthaben springt ein`,"models.creditsFallbackOn":`Was kein Abo und keinen eigenen API Key hat, läuft über das Guthaben.`,"models.creditsFallbackOff":`Aus: Was kein Abo und keinen eigenen API Key hat, läuft nicht.`,"models.creditsOn":`Läuft über das Guthaben`,"models.creditsNone":`Gerade läuft nichts über das Guthaben.`,"models.creditsTopUp":`Aufladen`,"models.creditsPicks":`engenty wählt das Modell und rechnet in Credits ab.`,"models.creditsModel":`Gerade: {model}.`,"models.clientSignIn":`Anmeldung`,"models.clientImages":`{name} erzeugt Bilder mit deinem {sub} – ohne eigenen API Key.`,"models.clientNotChosen":`Text läuft gerade nicht über {name}.`,"models.ollamaHint":`Adresse von Ollama und das Modell, das dort läuft.`,"models.readOnly":`Nur Admins des Teams ändern die Modelle.`,"models.viewAs":`Vorschau als`,"models.view.auto":`wie es ist`,"models.view.local":`lokal`,"models.view.linked":`lokal + Konto`,"models.view.cloud":`Cloud-Studio`,"setup.title":`Setup`,"setup.sub":`Engenty kann deine vorhandenen Konten auf deinem Computer nutzen.`,"setup.source":`Womit soll die Engenty denken?`,"setup.local":`Läuft lokal auf diesem Gerät.`,"setup.stage.connect":`Verbinden`,"setup.stage.test":`Testen`,"setup.stage.done":`Fertig`,"setup.h.install":`Installiere {name}`,"setup.h.signIn":`Melde {name} an`,"setup.h.keys":`Trage einen Schlüssel ein`,"setup.h.test":`Ein kurzer Test`,"setup.h.done":`Verbunden.`,"setup.ready":`Alles bereit.`,"setup.noHarness":`Noch kein KI-Client installiert. Wähle einen – er wird hier installiert – oder trage eigene Schlüssel ein.`,"setup.ownDesc":`AI Gateway, OpenAI, Anthropic oder Ollama.`,"setup.recommended":`Empfohlen`,"setup.done":`Zum Studio`,"setup.untilWorks":`Das Studio öffnet sich, sobald der Test klappt.`,"cloud.onPublish":`Sobald du den Wizard veröffentlichst, geht die Version auch in die Cloud deines Kontos und läuft dort hinter einem eigenen Link.`,"cloud.notSent":`Diese Version ist noch nicht in der Cloud.`,"cloud.send":`Jetzt senden`,"cloud.resend":`Erneut senden`,"cloud.again":`Um {when} wird es noch einmal versucht.`,"cloud.sent":`Version {v} · gesendet am {when}`,"cloud.notRunnable":`Version {v} läuft in der Cloud nicht.`,"cloud.keepsRunning":`Dort läuft weiter Version {v}.`,"cloud.nothingRuns":`Dort läuft deshalb noch nichts.`,"cloud.notes":`Was in der Cloud anders läuft:`,"cloud.check":`Was dem jetzigen Stand in der Cloud fehlen würde:`,"cloud.checkBlocking":`So, wie der Wizard jetzt ist, würde er in der Cloud nicht laufen:`,"cloud.documents":`Die Dokumente des Space bleiben auf diesem Gerät. In der Cloud arbeiten die Schritte ohne sie.`,"cloud.stepName":`„{title}“`,"cloud.problem.sandbox":`Der Server hat keine Maschine für Code. Dort läuft das ohne sie.`,"cloud.problem.mcp":`Die MCP-Server des Space gibt es auf dem Server nicht: {detail}.`,"cloud.problem.model":`Dafür gibt es in der Cloud kein Modell.`,"cloud.problem.connector":`Dem Space fehlt in der Cloud ein Connector.`,"cloud.problem.invalid":`So nimmt der Server den Wizard nicht an.`,"cloud.spaceLimit":`In der Cloud deines Kontos liegt schon der Space einer anderen Installation:`,"cloud.replace":`Bisherigen Space ersetzen`,"cloud.replaceConfirm":`Den bisherigen Space aus der Cloud entfernen? Seine Wizards und ihre Links verschwinden dort. Danach wird gesendet, was hier veröffentlicht ist.`,"cloud.noticeError":`Hier veröffentlicht. In der Cloud ist diese Version nicht angekommen – mehr dazu unten.`,"cloud.noticeNotRunnable":`Hier veröffentlicht. In der Cloud läuft diese Version nicht – mehr dazu unten.`,"readonly.wizard":`Dieser Wizard kommt aus deiner lokalen Installation und wird dort geändert. Hier läuft, was du dort veröffentlichst.`,"readonly.project":`Dieser Space kommt aus deiner lokalen Installation und wird dort geändert.`,"readonly.server":`Auf diesem Server wird nichts gebaut. Hier laufen die Wizards, die deine lokale Installation veröffentlicht.`,"nav.wizards":`Wizards`,"nav.settings":`Einstellungen`,"nav.project":`Space`,"account.title":`Konto`,"account.hint":`Wie dich die App nennt und wie man dich erreicht.`,"account.initials":`Dein Kürzel im Menü oben rechts: die Anfangsbuchstaben deines Namens.`,"account.name":`Name`,"account.nameHint":`Anfangs steht hier der Benutzername dieses Geräts.`,"account.fromAccount":`Name und E-Mail kommen aus deinem Konto.`,"account.about":`Über dich`,"account.aboutHint":`Wer du bist und was du machst.`,"account.email":`E-Mail`,"account.phone":`Telefon`,"account.connection":`engenty.ai`,"account.connectionHint":`Anmeldung, Guthaben und die Cloud, in der deine Wizards für alle laufen.`,"account.profile":`Profil`,"account.local":`Lokale Installation`,"account.localText":`Diese App läuft auf deinem Gerät und ist mit keinem Konto verbunden. Wizards, Space und Dateien bleiben hier.`,"account.linked":`Verbunden`,"account.with":`Mit einem Konto`,"account.withCredits":`Guthaben für die Modelle, wo kein KI-Client installiert ist. Kein API Key nötig.`,"account.withCloud":`Was du veröffentlichst, läuft auch auf engenty.ai – hinter einem öffentlichen Link, auch wenn dieses Gerät aus ist.`,"account.signIn":`Anmelden`,"account.signInAgain":`Neu anmelden`,"account.new":`Noch kein Konto?`,"account.newHint":`Ein neues Konto braucht einen Einladungscode. Trag ihn hier ein, dann steht er bei der Registrierung schon im Formular.`,"account.code":`Einladungscode`,"account.create":`Konto erstellen`,"account.credits":`Guthaben`,"account.topUp":`Aufladen`,"account.expires":`{n} Credits gültig bis {date}`,"account.kind.start":`Startguthaben`,"account.kind.monthly":`Monatsguthaben`,"account.kind.gift":`Geschenkt`,"account.cloud":`Was du hier veröffentlichst, läuft auch auf {host}.`,"account.look":`Darstellung`,"account.lookHint":`Sprache und Design der App in diesem Browser.`,"nav.logout":`Abmelden`,"nav.connected":`Verbunden mit {host}`,"nav.expired":`Anmeldung abgelaufen`,"nav.onlyHere":`Nur auf diesem Computer`,"nav.local":`lokal`,"nav.language":`Sprache`,"nav.theme":`Design`,"nav.credits":`{n} Credits`,"footer.billing":`Guthaben`,"footer.usage":`Verbrauch`,"footer.invoices":`Rechnungen`,"footer.account":`Konto`,"about.version":`Version {v}`,"about.update.available":`Version {v} von engenty wizards ist da.`,"about.update.install":`Aktualisieren`,"about.update.installing":`Version {v} wird installiert …`,"about.update.restarting":`Startet neu mit Version {v} …`,"about.update.done":`Installiert. Starte engenty wizards neu, um {v} zu nutzen.`,"about.update.failed":`Das Update ist fehlgeschlagen. Logs: logs/update.log`,"about.update.notes":`Was ist neu`,"about.changelog":`Changelog`,"about.changelogHint":`Was sich von Version zu Version geändert hat.`,"about.changelogEmpty":`Noch keine Einträge.`,"about.unreleased":`Noch nicht veröffentlicht`,"about.breaking":`breaking`,"about.credits":`Open Source`,"about.creditsHint":`engenty wizards und die Open-Source-Software, auf der es aufbaut.`,"about.creditsProduct":`engenty`,"about.creditsBuiltWith":`Gebaut mit`,"about.creditsDeps":`Direkte Abhängigkeiten`,"about.creditsDepsHint":`Was die Teile dieser App selbst einbinden, mit Version und Lizenz – ohne deren eigene Abhängigkeiten.`,"about.creditsShared":`Von mehreren Teilen genutzt`,"about.search":`Suchen …`,"about.noMatches":`Keine Treffer.`,"theme.dark":`Dunkles Design`,"theme.light":`Helles Design`,"home.title":`Deine Wizards`,"home.new":`Neuer Wizard`,"home.import":`Importieren`,"import.failed":`Import hat nicht geklappt`,"home.empty":`Noch keine Wizards in diesem Space.`,"home.live":`Live`,"home.draft":`Entwurf`,"where.here":`Lokal`,"where.hereVersion":`Lokal · Version {v}`,"where.hereHint":`Läuft nur auf diesem Computer, solange die App läuft.`,"where.liveHint":`Läuft auf {host} – für alle mit dem Link.`,"where.liveAt":`Live auf {host} · Version {v}`,"where.note":`1 Hinweis`,"where.notes":`{n} Hinweise`,"where.sending":`Wird gesendet`,"where.missing":`Nicht in der Cloud`,"home.steps":`{n} Schritte`,"home.newProject":`Neuer Space`,"home.projectName":`Name des Space`,"home.projectLimit":`Höchstens {n} Spaces`,"home.fromLocal":`Aus deiner lokalen Installation – geändert wird dort.`,"home.syncedAt":`Zuletzt angekommen: {when}.`,"home.local.title":`Hier laufen die Wizards aus deiner lokalen Installation`,"home.local.text":`Du baust auf deinem eigenen Computer. Was du dort veröffentlichst, läuft hier – für alle, hinter einem Link.`,"home.local.install":`Installiere engenty wizards auf deinem Computer:`,"home.local.signIn":`Melde dich dort unter Einstellungen → Konto mit diesem Konto an.`,"home.local.publish":`Veröffentliche einen Wizard. Er erscheint dann hier.`,"new.title":`Was soll dein Wizard können?`,"new.placeholder":`z. B. Kunden geben ihr Produkt und ihre Zielgruppe ein, der Wizard recherchiert Wettbewerber und erstellt daraus ein Positionierungs-Briefing als PDF.`,"new.build":`Wizard bauen`,"new.orStarter":`Oder beginne mit einer Vorlage`,"new.import":`Wizard-Paket importieren`,"new.hint":`Du kannst alles danach im Gespräch ändern.`,"editor.resize":`Breite ändern – Doppelklick setzt zurück`,"editor.resizeSheet":`Höhe ändern – Tippen klappt ein und aus`,"editor.export":`Als Paket exportieren (.wizard)`,"editor.chat":`Gespräch`,"editor.step":`Schritte`,"editor.runs":`Durchläufe`,"editor.reviewEditable":`bearbeitbar`,"editor.reviewRedo":`neu erstellbar`,"editor.otherwise":`sonst`,"editor.whenFilled":`{field} ausgefüllt`,"editor.whenEmpty":`{field} leer`,"tool.web_search":`Websuche`,"tool.web_fetch":`Webseiten lesen`,"tool.browser":`Browser`,"tool.sandbox":`Code & Shell`,"tool.image":`Bilder`,"tool.http":`API`,"tool.pages":`Seiten`,"editor.test":`Testen`,"editor.share":`Teilen`,"editor.publish":`Veröffentlichen`,"editor.published":`Live · Version {v}`,"editor.unpublishedChanges":`Änderungen nicht veröffentlicht`,"editor.notPublished":`Noch nicht veröffentlicht`,"editor.composer":`Beschreibe, was sich ändern soll …`,"editor.attach":`Dateien anhängen`,"editor.detach":`Entfernen`,"editor.attached":`Angehängt`,"editor.thread":`Verlauf`,"editor.voice":`Diktieren`,"editor.voiceStop":`Diktat beenden`,"editor.listening":`Ich höre zu …`,"editor.transcribing":`Wird verschriftlicht …`,"editor.micDenied":`Das Mikrofon ist für diese Seite nicht freigegeben.`,"editor.building":`Baue den Ablauf …`,"editor.files":`Dateien`,"files.explain":`Was dein Wizard bei jedem Durchlauf braucht: Widget-Code, Bibliotheken, Kartenumrisse, Preislisten. Der Assistent legt sie im Gespräch an – du kannst auch eigene hochladen.`,"files.upload":`Hochladen`,"files.count":`{n} Dateien · {size}`,"files.empty":`Noch keine Dateien. Zieh Dateien hierher oder bitte den Assistenten, ein Widget zu bauen.`,"files.download":`Herunterladen`,"files.delete":`Löschen`,"files.confirmDelete":`„{path}“ löschen?`,"files.none":`Dieser Wizard hat keine Dateien.`,"editor.thinking":`Denkt nach …`,"editor.chatBroken":`Die Verbindung ist abgebrochen. Was schon gebaut war, ist gespeichert – schick die Nachricht bitte noch einmal.`,"editor.issues":`Bevor du testest oder teilst, braucht der Wizard noch Korrekturen:`,"editor.fixWithChat":`Vom Assistenten beheben lassen`,"editor.models.blocking":`So kann der Wizard nicht starten. Es fehlen Modelle:`,"editor.models.optional":`Diese Schritte laufen so nicht. Wähle beim Testen einen Weg ohne sie oder richte die Modelle ein:`,"editor.models.settings":`Modelle einrichten`,"editor.prevStep":`Vorheriger Schritt`,"editor.nextStep":`Nächster Schritt`,"editor.deleteStep":`Schritt löschen`,"editor.moveUp":`Nach oben`,"editor.moveDown":`Nach unten`,"editor.noRuns":`Noch keine Durchläufe.`,"editor.restart":`Neu starten`,"editor.close":`Schließen`,"editor.chatHello":`Beschreibe mir, was dein Wizard tun soll. Ich baue den Ablauf und du siehst ihn links als Diagramm.`,"shareRun.button":`Teilen`,"shareRun.title":`Ergebnis teilen`,"shareRun.email":`E-Mail`,"shareRun.more":`Mehr …`,"shareRun.until":`Der Link ist bis {date} gültig.`,"shareRun.kept":`Der Link bleibt gültig, bis du ihn zurückziehst.`,"shareRun.withdraw":`Link zurückziehen`,"sharePage.gone":`Dieser Link ist abgelaufen oder wurde zurückgezogen.`,"sharePage.own":`Selbst ausprobieren`,"sharePage.until":`Geteilt · verfügbar bis {date}`,"sharePage.shared":`Geteilt am {date}`,"share.title":`Wizard teilen`,"share.link":`Link`,"share.copy":`Kopieren`,"share.copied":`Kopiert`,"share.enabled":`Link ist aktiv`,"share.limit":`Durchläufe pro Tag`,"share.rotate":`Neuen Link erzeugen`,"share.rotateHint":`Der alte Link funktioniert danach nicht mehr.`,"share.publishFirst":`Veröffentliche den Wizard, damit der Link funktioniert.`,"share.unpublished":`Deine Änderungen sind noch nicht veröffentlicht: der Link läuft mit der Version davor.`,"share.website":`Website`,"share.openHere":`Auf diesem Computer testen`,"share.settings":`Einstellungen`,"share.on":`aktiv`,"share.off":`aus`,"share.perDay":`{n} pro Tag`,"share.rotateCloud":`Der alte Link funktioniert danach nicht mehr – auch der in der Cloud.`,"share.others":`Mit anderen teilen`,"share.othersHint":`Mit einem Konto läuft der Wizard auch auf engenty.ai: ein Link, ein QR-Code und ein Tag für deine Website – für alle, auch wenn dein Computer aus ist.`,"share.details":`Details`,"teaser.website":`Eine Website braucht einen Link, den jeder erreicht. Mit einem Konto läuft der Wizard auch auf engenty.ai – dann steht hier der Tag für deine Seite.`,"teaser.qr":`Ein QR-Code braucht einen Link, den jedes Handy erreicht. Mit einem Konto läuft der Wizard auch auf engenty.ai – dann stehen hier der QR-Code und die ID für die App.`,"teaser.link":`Dieser Link geht nur auf diesem Computer, solange die App läuft. Mit einem Konto läuft der Wizard auch auf engenty.ai – mit einem Link für alle.`,"teaser.models":`Ohne eigenen API Key: mit einem Konto laufen Text, Bilder und Videos über Guthaben.`,"teaser.connect":`Konto verbinden`,"teaser.modelsLinked":`Oder über das Guthaben deines Kontos: unter Modelle „Guthaben des Kontos“ wählen.`,"share.open":`Öffnen`,"share.qr":`QR-Code`,"share.qrHint":`Mit der Kamera des Handys scannen: der Wizard öffnet sich, in der App engenty wizards, wenn sie installiert ist.`,"share.code":`ID für die App:`,"share.readOnly":`Ob der Link aktiv ist und wie viele Durchläufe er am Tag zulässt, stellst du in deiner lokalen Installation ein.`,"embed.inline":`In der Seite`,"embed.modal":`Button + Fenster`,"embed.inlineHint":`Füge das Tag in den HTML-Code deiner Seite ein. Der Wizard erscheint an dieser Stelle.`,"embed.modalHint":`Füge das Tag in den HTML-Code deiner Seite ein. An dieser Stelle erscheint ein Button, der den Wizard in einem Fenster öffnet.`,"type.page":`Seite`,"type.agent":`KI-Schritt`,"type.generate":`Erzeugen`,"type.widget":`Widget`,"type.review":`Prüfen`,"type.result":`Ergebnis`,"run.start":`Los geht's`,"run.next":`Weiter`,"run.back":`Zurück`,"run.accept":`Passt so`,"run.regenerate":`Neue Variante`,"run.edit":`Bearbeiten`,"run.resume":`Letzten Durchlauf fortsetzen`,"run.regenerateNote":`Was soll anders werden?`,"run.pickItem":`Nr. {n}`,"run.pickedItem":`Nr. {n} neu`,"run.regeneratePicked":`Neu erstellt wird nur Nr. {n}.`,"run.regenerateAll":`Alle werden neu erstellt. Tippe oben auf eine Nummer, um nur einzelne zu erneuern.`,"check.progress":`{done} von {total} geprüft`,"check.onlyOpen":`Nur offene`,"check.noFile":`Zu dieser Zeile gibt es keine Datei.`,"check.noPreview":`Für diese Datei gibt es keine Vorschau – öffne sie mit dem Link oben.`,"check.reopen":`Wieder offen`,"market.search":`Vorlage suchen …`,"market.all":`Alle`,"market.industry":`Branche`,"market.format":`Ergebnis`,"market.capability":`Fähigkeit`,"market.unavailable":`nicht eingerichtet`,"market.missing":`Hier nicht eingerichtet: {list}`,"market.missingHint":`Dafür fehlt hier ein Modell: {list}. Richte es unter Modelle ein.`,"market.none":`Keine Vorlage passt zu dieser Auswahl.`,"market.notFound":`Diese Vorlage gibt es nicht (mehr).`,"market.star":`Merken`,"market.starred":`Gemerkt`,"market.starHint":`Gemerkte Vorlagen liegen auf diesem Rechner auch ohne Verbindung bereit.`,"market.noneStarred":`Du hast noch keine Vorlage gemerkt.`,"market.offline":`Keine Verbindung zum Marktplatz: du siehst die Vorlagen, die hier bereitliegen.`,"market.more":`Mehr anzeigen`,"market.reset":`Auswahl zurücksetzen`,"market.count":`{n} Vorlagen`,"market.countOf":`{n} von {all} Vorlagen`,"market.countOfShort":`{n} von {all}`,"market.resetShort":`Zurücksetzen`,"market.minutes":`~ {n} Min.`,"market.credits":`~ {n} Credits pro Lauf`,"market.needsUpdate":`Braucht eine neuere App`,"market.needsUpdateHint":`Diese Vorlage nutzt Funktionen, die deine App noch nicht kennt. Aktualisiere die App, dann kannst du sie verwenden.`,"market.use":`Mit dieser Vorlage starten`,"market.steps":`So läuft der Wizard ab`,"market.duration":`Dauer`,"market.durationHint":`vom Start bis zum Ergebnis, mit {n} Angaben von dir`,"market.result":`Ergebnis`,"market.creditsRange":`~ {n} Credits`,"market.creditsHint":`pro Lauf geschätzt, selten mehr als das Doppelte`,"market.needs":`Braucht`,"market.cost":`Kosten`,"new.forWebsite":`Kleine Helfer für deine Website`,"run.feedbackPlaceholder":`Passt etwas nicht? Schreib, was anders sein soll …`,"run.feedbackTarget":`Was soll sich ändern?`,"run.feedbackPick":`Wähle oben, was sich ändern soll.`,"ai.generated":`KI-generiert`,"ai.modified":`Mit KI verändert`,"ai.publish":`Mit KI erstellt: Wer das veröffentlicht, muss es als KI-generiert kennzeichnen (EU AI Act, Art. 50). Die Datei trägt die Kennzeichnung bereits in ihren Metadaten.`,"run.regenerateGo":`Neu erstellen`,"run.retry":`Erneut versuchen`,"run.again":`Nochmal`,"run.download":`Herunterladen`,"run.copy":`Text kopieren`,"run.failed":`Da hat etwas nicht geklappt.`,"run.unavailable":`Dieser Wizard ist gerade nicht verfügbar.`,"run.notFound":`Diesen Wizard gibt es nicht (mehr).`,"run.madeWith":`Erstellt mit engenty wizards`,"run.working":`Einen Moment …`,"run.elapsed":`{s} s`,"run.cancelled":`Abgebrochen.`,"run.addRow":`Zeile hinzufügen`,"run.upload":`Datei wählen oder hierher ziehen`,"run.uploading":`Lädt hoch …`,"run.required":`Pflichtfeld`,"run.net":`Netto`,"run.vat":`USt. {r} %`,"run.total":`Gesamt`,"settings.title":`Einstellungen`,"settings.name":`Name`,"settings.mcp":`Verbundene Systeme (MCP)`,"settings.mcpHint":`KI-Schritte können in diese Systeme schreiben oder daraus lesen – nur, wenn du sie im Schritt freigibst.`,"settings.addServer":`System verbinden`,"settings.serverName":`Name`,"settings.serverUrl":`MCP-URL`,"settings.serverHeader":`Authorization-Header (optional)`,"settings.save":`Speichern`,"settings.saved":`Gespeichert`,"settings.delete":`Space löschen`,"settings.noProject":`Hier erscheint dein Space, sobald deine lokale Installation den ersten Wizard veröffentlicht hat.`,"settings.copy":`Kopieren`,"settings.copied":`Kopiert`,"settings.lastUsed":`zuletzt {when}`,"settings.neverUsed":`noch nie benutzt`,"settings.revoke":`Schlüssel löschen`,"mcp.appsDisconnect":`Austragen`,"plugins.title":`Plugins`,"plugins.hint":`Plugins erweitern diese App um Seiten, Einstellungen und Werkzeuge für Schritte. Sie laufen mit allen Rechten der App: installiere nur, was du kennst.`,"plugins.hintManaged":`Diese Plugins sind für dein Konto freigeschaltet.`,"plugins.reload":`Neu laden`,"plugins.rescan":`Neu suchen`,"plugins.tools":`Werkzeuge für Schritte`,"plugins.serverFailed":`Der Server-Teil hat nicht geladen: {error}`,"plugins.studioFailed":`Der Studio-Teil hat nicht geladen: {error}`,"plugins.problems":`Kein Plugin`,"plugins.crashed":`Dieser Teil eines Plugins ist abgestürzt.`,"mcp.notReverse":`Nicht verwechseln mit „Verbundene Systeme (MCP)“ unter Connectors: Dort ruft engenty andere Server auf, hier ruft dein Client engenty auf.`,"integrate.nav":`Einbinden`,"integrate.groupApps":`KI-Apps`,"integrate.groupShare":`Teilen`,"integrate.shareLink":`Per Link teilen`,"integrate.shareSite":`In eine Website einbinden`,"integrate.soon":`bald`,"integrate.stateWorks":`funktioniert`,"integrate.stateConnected":`eingetragen`,"integrate.stateInstalled":`auf diesem Computer`,"integrate.kindMcp":`Werkzeuge im Chat: Wizards finden, starten, ausfüllen – und bauen.`,"integrate.kindMcpShort":`Werkzeuge im Chat`,"integrate.kindAppShort":`der Wizard als Widget`,"integrate.kindAppNoShort":`zeigt diese App nicht`,"integrate.kindApp":`Der Wizard selbst im Chat, Seite für Seite, als Widget.`,"integrate.kindAppNo":`Zeigt diese App nicht – ein Lauf kommt als Text.`,"integrate.where":`Wo läuft die App?`,"integrate.here":`Auf diesem Computer`,"integrate.hereHint":`Ein Klick, kein Schlüssel. Die App startet engenty wizards selbst.`,"integrate.hereManaged":`Nur mit engenty wizards auf deinem Computer.`,"integrate.address":`Über die Adresse`,"integrate.addressHint":`Von überall, wo die Adresse erreichbar ist – mit Schlüssel.`,"integrate.connectTitle":`Eintragen`,"integrate.connectHint":`Trägt engenty wizards in die Einstellungen von {app} ein.`,"integrate.connect":`In {app} eintragen`,"integrate.connected":`In {app} eingetragen`,"integrate.notInstalled":`{app} ist auf diesem Computer nicht zu finden. Eintragen geht trotzdem – es wirkt, sobald {app} da ist.`,"integrate.file":`In {file} eintragen:`,"integrate.vscode":`In VS Code: „MCP: Open User Configuration“, dann eintragen:`,"integrate.chatgpt":`In ChatGPT: Einstellungen → Apps & Connectors → Erweitert → Entwicklermodus, dann „Erstellen“ mit dieser Adresse:`,"integrate.generic":`In den MCP-Einstellungen der App einen Server mit dieser Adresse anlegen (Streamable HTTP):`,"integrate.oauthLocal":`Diese App verbindet sich von den Servern ihres Herstellers aus – diesen Computer erreicht sie nicht. Nimm hier „Auf diesem Computer“ oder eine App, die hier läuft.`,"integrate.test":`Testen`,"integrate.seen":`{app} meldet sich`,"integrate.restart":`Beende {app} ganz und starte es neu – dann meldet es sich hier.`,"integrate.reload":`Lade die MCP-Server in {app} neu oder starte es neu.`,"integrate.tool":`Ein Werkzeug aufgerufen`,"integrate.askHint":`Schreib in {app} in einem neuen Chat:`,"integrate.askTool":`Welche Wizards habe ich in engenty?`,"integrate.widget":`Wizard als Widget gezeigt`,"integrate.widgetHint":`Starte einen veröffentlichten Wizard:`,"integrate.askWidget":`Starte einen meiner engenty Wizards.`,"integrate.works":`{app} arbeitet mit deinen Wizards.`,"mcp.notHere":`Geht mit diesem Server nicht`,"mcp.needsPublic":`claude.ai verbindet sich von Anthropics Servern aus. Das geht nur, wenn dieser Server öffentlich über HTTPS erreichbar ist.`,"mcp.keyTitle":`Schlüssel erstellen`,"mcp.keyHint":`Mit dem Schlüssel meldet sich dein Client an. Er wird nur einmal angezeigt und steht dann gleich im Befehl im nächsten Schritt.`,"mcp.keyCreate":`Schlüssel für {client} erstellen`,"mcp.keyReady":`Schlüssel erstellt – er steht schon im Befehl unten.`,"mcp.keyFirst":`Erst den Schlüssel erstellen – dann steht hier der fertige Befehl.`,"mcp.add":`Server eintragen`,"mcp.terminal":`Im Terminal ausführen:`,"mcp.ccPlugin":`Optional das Plugin – es bringt den Befehl /wizard mit:`,"mcp.codexKey":`Im Terminal ausführen – Codex liest den Schlüssel aus einer Umgebungsvariable:`,"mcp.claudeAi":`In claude.ai: Einstellungen → Konnektoren → Eigenen Konnektor hinzufügen, diese Adresse eintragen:`,"mcp.oauth":`Kein Schlüssel nötig: Beim ersten Aufruf meldet sich dein Client im Browser an.`,"mcp.addressPublic":`Öffentlich erreichbar.`,"mcp.addressLocal":`Nur auf diesem Rechner erreichbar, und nur solange engenty wizards läuft.`,"mcp.keys":`Schlüssel`,"mcp.keysHint":`Jeder Schlüssel meldet einen Client an und hat alle Rechte – behandle ihn wie ein Passwort. Löschst du ihn, ist der Client abgemeldet.`,"editor.viaClient":`Über {client}`,"editor.changedVia":`Geändert über {client}`,"editor.merged":`Mit Änderungen von außen zusammengeführt`,"run.uploadMore":`Weitere Datei`,"run.camera":`Kamera`,"camera.title":`Mit der Kamera aufnehmen`,"camera.hint":`Gerade und gut beleuchtet ins Bild halten.`,"camera.taken":`{n} aufgenommen`,"camera.shoot":`Aufnehmen`,"camera.done":`Fertig`,"camera.denied":`Die Kamera ist für diese Seite nicht freigegeben. Erlaube sie in den Website-Einstellungen deines Browsers (Schloss-Symbol in der Adresszeile) – oder nimm das Foto mit der Kamera-App auf.`,"connect.go":`Verbinden`,"connect.connected":`Verbunden über {name}`,"connect.disconnect":`Trennen`,"connect.none":`Auf diesem Server ist noch kein Anbieter zum Verbinden eingerichtet.`,"connect.openLink":`Hier klicken, um die Anmeldung in einem neuen Tab zu öffnen`,"list.empty":`Noch keine Einträge.`,"list.delete":`Zeile löschen`,"ask.typeInto":`Text in die Seite tippen …`,"ask.hide":`verdeckt`,"ask.up":`Nach oben`,"ask.down":`Nach unten`,"ask.pictureHint":`Das ist die Seite, die der Wizard geöffnet hat. Du kannst auch direkt ins Bild klicken und tippen.`,"ask.remember":`Anmeldung für nächstes Mal merken`,"ask.private":`Was du eingibst, geht direkt in die Seite. Die KI bekommt es nicht zu sehen. Gemerkte Anmeldungen werden verschlüsselt gespeichert.`,"ask.skip":`Überspringen`,"ask.done":`Ich bin angemeldet`,"ask.signIn":`Anmelden`,"ask.wants":`Der Wizard möchte in {service} Folgendes ausführen:`,"ask.allowRest":`Für den Rest dieses Durchlaufs erlauben`,"ask.allow":`Erlauben`,"ask.deny":`Nicht erlauben`,"store.open":`Was dieser Wizard sich merkt`,"store.title":`Gespeichert für dich`,"store.explain":`Dieser Wizard merkt sich Listen, Dateien und verbundene Konten für deinen nächsten Durchlauf. Nur du siehst sie.`,"store.empty":`Noch nichts gespeichert.`,"store.rows":`{n} Einträge`,"store.signIns":`Gemerkte Anmeldungen im Browser`,"store.files":`{n} Dateien · {size}`,"store.delete":`Alles löschen`,"store.confirmDelete":`Wirklich alles löschen`,"common.close":`Schließen`,"connectors.title":`Connectors`,"connectors.hint":`Dienste, in denen ein Wizard für die Person arbeiten kann – sie verbindet beim Durchlauf ihr eigenes Konto. Die wichtigsten sind eingebaut; jeden weiteren findest du im Verzeichnis integrations.sh und importierst ihn aus seiner OpenAPI-Beschreibung oder seinem MCP-Server.`,"connectors.imported":`Aus dem Verzeichnis`,"connectors.noneImported":`Hier ist kein Connector aus dem Verzeichnis importiert.`,"connectors.notSetUp":`nicht eingerichtet`,"connectors.setup":`Auf dem Server fehlen:`,"connectors.search":`Dienst suchen, z. B. Notion, Stripe, GitHub`,"connectors.find":`Suchen`,"connectors.none":`Nichts gefunden.`,"connectors.import":`Importieren`,"connectors.exists":`Schon importiert.`,"connectors.ownClient":`Eigener OAuth-Client`,"connectors.refresh":`Aktionen neu laden`,"connectors.remove":`Entfernen`,"connectors.actions":`{n} Aktionen, {r} lesend`,"connectors.pending":`Aktionen erscheinen, sobald ein Konto verbunden ist`,"connectors.needsClient":`Dieser Dienst braucht einen OAuth-Client (ID und Secret). Entfernen und mit „Eigener OAuth-Client“ neu importieren.`,"connectors.authNone":`ohne Anmeldung`,"connectors.authOauth":`Anmeldung per OAuth`,"connectors.authKey":`API-Schlüssel`,"connectors.group.read":`liest`,"connectors.group.write":`ändert`,"connectors.group.destructive":`löscht`,"run.uploadTouch":`Datei wählen`,"run.maxFiles":`Hier gehen höchstens {n} – die übrigen habe ich weggelassen.`,"run.filesMin":`{n} von mindestens {min}`,"run.filesOf":`{n} von höchstens {max}`,"run.moveFile":`Nr. {n} verschieben`,"run.moveFileHint":`Ziehen, um die Reihenfolge zu ändern`,"run.removeFile":`Entfernen`,"run.awake":`Der Bildschirm bleibt an, solange der Wizard arbeitet.`,"run.openFull":`Groß öffnen`,"run.yes":`Ja`,"run.no":`Nein`,"run.share":`Teilen`,"run.shareNow":`Jetzt teilen`,"run.shareFile":`Als Datei teilen oder in einer App öffnen`,"camera.asking":`Dein Browser fragt gleich nach der Kamera. Das Bild bleibt in diesem Wizard.`,"camera.missing":`An diesem Gerät wurde keine Kamera gefunden. Lade stattdessen ein Foto hoch.`,"camera.busy":`Die Kamera wird gerade von einer anderen App verwendet. Schließe sie und versuche es noch einmal.`,"camera.native":`Kamera-App öffnen`,"camera.pick":`Foto auswählen`,"camera.torch":`Licht`,"camera.flip":`Kamera wechseln`,"camera.photo":`Foto`,"camera.video":`Video`,"camera.record":`Aufnahme starten`,"camera.stop":`Aufnahme beenden`,"camera.recording":`Nimmt auf – tippe zum Beenden.`,"camera.clipHint":`Ein kurzer Clip, höchstens {s} Sekunden.`,"camera.hintMany":`Seite für Seite aufnehmen, dann „Fertig“.`,"scan.button":`Scannen`,"scan.title":`Code scannen`,"scan.asking":`Dein Browser fragt gleich nach der Kamera – sie liest nur den Code.`,"scan.hint":`Halte den QR- oder Strichcode in den Rahmen.`,"scan.hintQr":`Halte den QR-Code in den Rahmen. Strichcodes liest dieses Gerät hier nicht.`,"scan.miss":`Auf dem Foto war kein Code zu erkennen. Versuch es näher und schärfer.`,"scan.fromPhoto":`Foto mit dem Code wählen`,"scan.typeInstead":`Lieber eintippen`,"location.use":`Meinen Standort übernehmen`,"location.locating":`Standort wird bestimmt …`,"location.refining":`wird noch genauer …`,"location.accuracy":`auf etwa {m} m genau`,"location.map":`Karte`,"location.remove":`Standort entfernen`,"location.why":`Dein Browser fragt nach deinem Standort. Er wird nur für diesen Wizard verwendet. Du kannst auch einfach die Adresse eintippen.`,"location.denied":`Der Standort ist für diese Seite nicht freigegeben. Erlaube ihn in den Website-Einstellungen deines Browsers (Schloss-Symbol in der Adresszeile) – oder tippe die Adresse unten ein.`,"location.unavailable":`Dein Gerät konnte den Standort gerade nicht bestimmen. Versuch es im Freien noch einmal oder tippe die Adresse ein.`,"location.timeout":`Das hat zu lange gedauert. Versuch es noch einmal oder tippe die Adresse ein.`,"location.manual":`Adresse oder Ort eintippen`,"location.label":`Adresse oder Beschreibung des Orts`,"voice.start":`Sprachnotiz aufnehmen`,"voice.stop":`Stopp`,"voice.recording":`Aufnahme läuft …`,"voice.left":`noch {s} s`,"voice.again":`Neu aufnehmen`,"voice.remove":`Löschen`,"voice.pick":`Audiodatei wählen`,"voice.why":`Dein Browser fragt nach dem Mikrofon. Die Aufnahme wird danach in Text umgewandelt.`,"voice.denied":`Das Mikrofon ist für diese Seite nicht freigegeben. Erlaube es in den Website-Einstellungen deines Browsers – oder nimm die Notiz mit der Diktier-App auf und wähle die Datei.`,"voice.noRecorder":`Dieser Browser kann hier nicht aufnehmen. Nimm die Notiz mit der Diktier-App auf und wähle die Datei.`,"sign.open":`Hier unterschreiben`,"sign.hint":`Mit dem Finger unterschreiben`,"sign.pad":`Unterschriftsfeld`,"sign.clear":`Löschen`,"sign.accept":`Übernehmen`,"sign.again":`Neu unterschreiben`,"sign.remove":`Unterschrift entfernen`,"notify.ask":`Bescheid geben, wenn es fertig ist`,"notify.on":`Du bekommst Bescheid`,"notify.why":`Mit Ton, Vibration oder einer Mitteilung. Dein Browser fragt dafür einmal um Erlaubnis.`,"notify.onHint":`Du kannst die App wechseln – eine Mitteilung holt dich zurück.`,"notify.quiet":`Mit Ton und Vibration, solange diese Seite offen ist.`,"notify.blocked":`Mitteilungen sind für diese Seite blockiert – es gibt Ton und Vibration, solange sie offen ist. Erlauben kannst du sie in den Website-Einstellungen deines Browsers.`,"notify.done":`Dein Ergebnis ist fertig.`,"notify.next":`Es geht weiter – wirf einen Blick darauf.`,"notify.needsYou":`Der Wizard braucht dich kurz.`,"install.add":`Zum Startbildschirm hinzufügen`,"install.ios":`Tippe unten auf „Teilen“ und dann auf „Zum Home-Bildschirm“.`,"install.bookmark":`Als Lesezeichen speichern`,"install.bookmark.mac":`Drücke ⌘ D, dann liegt dieser Wizard in deinen Lesezeichen.`,"install.bookmark.pc":`Drücke Strg + D, dann liegt dieser Wizard in deinen Lesezeichen.`,"install.app":`In der App öffnen`,"install.app.offer":`Installiere das Studio als App: eigenes Fenster, eigenes Symbol im Dock oder in der Taskleiste.`,"install.app.browser":`In Chrome oder Edge lässt sich das Studio als App installieren: eigenes Fenster, eigenes Symbol.`,"install.app.action":`Als App installieren`,"install.app.close":`Schließen`,"common.offline":`Keine Verbindung. Prüfe dein Netz und versuch es noch einmal.`,"common.retry":`Erneut versuchen`,"common.cancel":`Abbrechen`,"common.loading":`Lädt …`,"common.error":`Fehler`,"data.hint":`Tabellen und Seiten, die der Space und seine Wizards behalten.`,"data.all":`Alle Daten`,"data.own":`Allgemein`,"data.table":`Tabelle`,"data.page":`Seite`,"data.newTable":`Neue Tabelle`,"data.newPage":`Neue Seite`,"data.title":`Titel`,"data.owner":`Gehört zu`,"data.create":`Anlegen`,"data.empty":`Noch keine Tabellen und Seiten. Leg eine an – bald schreiben auch deine Wizards hier.`,"data.rows":`{n} Zeilen`,"data.addRow":`Zeile`,"data.noRows":`Noch keine Zeilen.`,"data.deleteRow":`Zeile löschen`,"data.deleteTable":`Tabelle löschen`,"data.deletePage":`Seite löschen`,"data.confirmDelete":`„{title}“ löschen?`,"data.newColumn":`Neue Spalte`,"data.columnName":`Name`,"data.columnType":`Typ`,"data.required":`Muss ausgefüllt werden`,"data.deleteColumn":`Spalte löschen`,"data.removeOption":`Entfernen`,"data.fromList":`Eine Liste des Wizards: jeder Durchlauf schreibt hier hinein. Die Spalten kommen aus dem Wizard.`,"data.badCell":`Dieser Wert passt nicht in „{column}“ und ist nicht gespeichert.`,"data.type.text":`Text`,"data.type.number":`Zahl`,"data.type.date":`Datum`,"data.type.duration":`Dauer`,"data.type.select":`Auswahl`,"data.type.boolean":`Ja / Nein`,"data.text.single":`Eine Zeile`,"data.text.multiline":`Mehrere Zeilen`,"data.number.integer":`Ganze Zahl`,"data.number.decimal":`Dezimalzahl`,"data.number.percent":`Prozent`,"data.number.currency":`Betrag`,"data.currency":`Währung (z. B. EUR)`,"data.date.date":`Datum`,"data.date.datetime":`Datum und Uhrzeit`,"data.date.time":`Uhrzeit`,"data.unit":`Eingabe in`,"data.unit.milliseconds":`ms`,"data.unit.seconds":`Sekunden`,"data.unit.minutes":`Minuten`,"data.unit.hours":`Stunden`,"data.unit.days":`Tage`,"data.options":`Auswahlmöglichkeiten, eine je Zeile`,"data.multiple":`Mehrere wählbar`,"data.write":`Schreiben`,"data.preview":`Vorschau`,"data.pageEmpty":`Diese Seite ist noch leer.`,"data.markdownHint":`Markdown: # Überschrift, **fett**, - Liste`,"space.info":`Info & Marke`,"space.knowledge":`Wissen`,"space.data":`Daten`,"space.results":`Ergebnisse`,"space.resultsAll":`Alle Ergebnisse`,"space.resultsHint":`Läufe deiner Wizards, die ihr Ergebnis erreicht haben, die neuesten zuerst.`,"space.resultsEmpty":`Noch keine Ergebnisse. Ein Lauf steht hier, sobald er fertig ist.`,"space.resultCredits":`{n} Credits`,"space.resultsSearch":`Suchen: Wizard, Eingaben, Ergebnis …`,"space.resultsModeAll":`Live & Test`,"space.resultsAnyTime":`Jederzeit`,"space.resultsDay":`Letzte 24 Stunden`,"space.resultsDays":`Letzte {n} Tage`,"space.resultsNone":`Keine Ergebnisse zu dieser Suche.`,"space.resultFiles":`{n} Dateien`,"project.rename":`Space umbenennen`,"project.saving":`Speichert …`,"project.base":`Basis`,"project.baseHint":`Wer hinter den Wizards steht. Jeder KI-Schritt kennt das.`,"project.title":`Titel`,"project.titleHint":`Firma, Marke oder Vorhaben – so sehen es auch Endnutzer.`,"project.about":`Über`,"project.aboutHint":`Was ihr macht, für wen, und in welchem Ton ihr schreibt.`,"project.logos":`Logos`,"project.logosHint":`Das erste Logo sehen Endnutzer. Eine Beschreibung sagt, wofür eine Variante gedacht ist.`,"project.logoAdd":`Logo`,"project.logoMain":`Hauptlogo`,"project.logoMakeMain":`Als Hauptlogo`,"project.colors":`Farben`,"project.colorsHint":`Die erste Farbe ist der Akzent in Dokumenten, Dashboards und auf öffentlichen Seiten.`,"project.colorAdd":`Farbe`,"project.colorName":`z. B. Primär – Buttons und Überschriften`,"project.colorUse":`Beschreibe, wie engenty diese Farbe einsetzen soll.`,"project.colorAddTitle":`Farbe hinzufügen`,"project.colorValue":`Farbwert`,"project.colorUseLabel":`Verwendung`,"project.add":`Hinzufügen`,"project.colorAccent":`Akzent`,"project.colorFirst":`Als Akzent`,"project.assets":`Assets`,"project.assetsHint":`Bilder, Grafiken, Videos. KI-Schritte setzen sie in Dokumente und wählen nach der Beschreibung.`,"project.assetAdd":`Dateien`,"project.assetSearch":`Assets filtern …`,"project.documents":`Dokumente`,"project.documentsHint":`PDFs, Listen, Excel, Word, Text. Sie werden gelesen und kommen in einen Index, den jeder KI-Schritt durchsucht.`,"project.documentAdd":`Dokumente`,"project.drop":`Hierher ziehen oder`,"project.staysLocal":`Bleibt in deiner lokalen Installation und wird nicht hierher gesendet.`,"project.description":`Beschreibung hinzufügen …`,"project.describing":`Wird angesehen …`,"project.reading":`Wird gelesen …`,"project.indexed":`Im Index`,"project.indexedKeywords":`Im Index (Stichwörter)`,"project.notIndexed":`Kein Text gefunden`,"project.reindex":`Neu einlesen`,"project.pages":`{n} Seiten`,"project.keywordsOnly":`Der Index sucht gerade nach Stichwörtern. Mit einem AI-Gateway- oder OpenAI-Schlüssel kommt die Suche nach Bedeutung dazu.`,"project.preview":`Vorschau`,"project.viewList":`Als Liste zeigen`,"project.viewCards":`Als Karten zeigen`,"project.original":`Original`,"project.readText":`Gelesener Text`,"project.openOriginal":`Original öffnen`,"project.noText":`Noch kein Text: das Dokument wird gerade gelesen oder ließ sich nicht lesen.`,"project.textCut":`Die Vorschau zeigt den Anfang ({shown} von {total} Zeichen).`,"project.searchTest":`Im Index suchen …`,"project.searchNone":`Nichts gefunden.`,"project.remove":`Entfernen`,"project.removeConfirm":`„{name}“ entfernen?`,"project.facts":`Fakten`,"project.factsHint":`Was Wizards wissen sollen: Adresse, UID, Öffnungszeiten – alles, was passt.`,"project.factLabel":`Bezeichnung`,"project.factValue":`Wert`,"project.factAdd":`Eintrag`,"project.factType":`Typ`,"project.factAuto":`Automatisch`,"project.type.text":`Text`,"project.type.longtext":`Langer Text`,"project.type.number":`Zahl`,"project.type.date":`Datum`,"project.type.url":`Link`,"project.type.email":`E-Mail`,"project.type.phone":`Telefon`,"project.type.boolean":`Ja / Nein`,"project.yes":`Ja`,"project.no":`Nein`,"project.assistant":`Assistent`,"project.assistantTitle":`Lass dir den Space ausfüllen`,"project.assistantHello":`Erzähl mir von euch, nenn mir die Website oder gib mir Dateien. Ich trage ein, was ich finde: Titel, Beschreibung, Logo, Farben und Fakten.`,"project.assistantComposer":`z. B. „Lies unsere Website example.at“ …`,"project.assistantChanged":`Space aktualisiert`,"flowApp.loading":`Der Wizard kommt …`,"flowApp.draft":`Entwurf`,"flowApp.published":`Veröffentlicht`,"flowApp.issues":`{n} Fehler im Entwurf`,"flowApp.flow":`Ablauf`,"flowApp.notPublished":`Veröffentliche ihn im Studio, dann läuft er hier.`,"flowApp.runPage":`Im Browser weiter`,"flowApp.inBrowser":`Nur im Browser: {fields}`,"flowApp.done":`Fertig`,"flowApp.credits":`{n} Credits`,"flowApp.ask":`Der Wizard fragt`,"flowApp.allow":`Erlauben`,"flowApp.skip":`Überspringen`,"flowApp.signIn":`Eine Anmeldung bei {site} – das geht nur im Browser.`,"flowApp.fullscreen":`Größer`,"flowApp.inline":`Kleiner`,"flowApp.failed":`Das hat nicht geklappt: {error}`},lb={"brand.tagline":`Build AI wizards, no code.`,"brand.sub":`Describe a flow in your own words. engenty turns it into a wizard you share with a link.`,"auth.dev":`Dev login (local)`,"auth.legal":`No password, no sign-up form — you sign in with an account you already have.`,"auth.signIn":`Sign in or create an account`,"auth.failed":`Sign-in did not work. Please try again.`,"auth.localLink":`Open the link the app printed at start — it signs you in on this device.`,"nav.account":`Account & credits`,"setup.keysInAccount":`API keys for scripts belong to your account. You create and revoke them there.`,"setup.openAccount":`Open account`,"class.label":`Model class`,"class.classifier":`Classifier`,"class.standard":`Standard`,"class.high":`High`,"class.highest":`Highest`,"class.image":`Image`,"class.video":`Video`,"class.audio":`Audio`,"class.speech":`Speech`,"class.classifier.hint":`Routing, yes/no, pulling a few values out of text. Cheapest.`,"class.standard.hint":`Short copy, calling an API, reformatting.`,"class.high.hint":`Research with tools, long documents, weighing many sources.`,"class.highest.hint":`Hard reasoning or code. Several times the cost of High.`,"class.effort":`Thinking effort`,"class.effortAuto":`Automatic`,"class.effort.low":`Low`,"class.effort.medium":`Medium`,"class.effort.high":`High`,"estimate.step":`≈ {n} credits, rarely more than {high}`,"estimate.measured":`measured from the latest runs`,"estimate.formula":`estimated, gets exact after five runs`,"estimate.share":`A run costs about {run} credits. At the daily limit that is at most {day} credits a day.`,"local.title":`Models`,"local.accountWaiting":`Waiting for the sign-in in your browser …`,"local.accountFailed":`The account service cannot be reached right now.`,"local.accountExpired":`The sign-in has expired. Please sign in again.`,"local.sourceNeedsAccount":`This needs an account.`,"local.toAccount":`Go to Settings → Account`,"local.sourceOwn":`Own keys`,"local.keys":`Keys`,"local.keysHint":`One key is enough. Keys live in this device's keychain, never in the database.`,"local.keySet":`stored`,"local.keyEmpty":`not stored`,"local.keyRemove":`Remove`,"local.classes":`Model per class`,"local.classesHint":`A step names only the class. Here is which model serves it, e.g. anthropic/claude-haiku-4.5, openai:gpt-5.4-mini or ollama:qwen3.`,"local.save":`Save`,"local.saved":`Saved`,"local.chat":`The studio chat answers on`,"local.chatModels":`Model class Highest`,"local.chatClaude":`Claude subscription (Claude Code)`,"local.subscription":`With the subscription, the Claude Code installed on this device builds the wizard — on your sign-in there. Runs keep using keys or credits.`,"harness.hint":`Text thinks on the {name} installed on this device — on your {sub} and your sign-in there. No key needed. Images, video and audio still need a key.`,"harness.hintImages":`Text and images come from the {name} installed on this device — on your {sub} and your sign-in there. No key needed. Video and audio still need a key.`,"harness.found":`{name} {version} found`,"harness.missing":`{name} is not installed on this device.`,"harness.install":`Or in your own terminal:`,"harness.installButton":`Install {name}`,"harness.installing":`{name} installs in the terminal below — it takes about a minute. Then you sign it in.`,"harness.installEnded":`The install ended, but {name} is not there. What it printed above says why.`,"harness.appHere":`The {app} app is on this computer: {name} signs in with the same {sub}.`,"harness.notInstalled":`not installed`,"harness.authSubscription":`Signed in with your {sub}.`,"harness.authKey":`Signed in with an API key from your shell — not the subscription. Sign in here so it runs on your {sub}.`,"harness.authNone":`Not signed in yet.`,"harness.signIn":`Sign in here`,"harness.signingIn":`The sign-in runs in the terminal below — your browser opens for it. The terminal closes once the sign-in is there.`,"harness.signInInteractive":`{name} starts below. Pick the sign-in with your {sub} there and sign in in the browser. The terminal closes once the sign-in is there.`,"harness.loginEnded":`The sign-in ended without {name} being signed in.`,"harness.sub.claude":`Claude subscription`,"harness.sub.codex":`ChatGPT subscription`,"harness.sub.gemini":`Google account`,"harness.sub.cursor":`Cursor subscription`,"harness.desc.claude":`On your Claude subscription — no key needed.`,"harness.desc.codex":`On your ChatGPT subscription — no key needed.`,"harness.desc.gemini":`On your Google account — no key needed.`,"harness.desc.cursor":`On your Cursor subscription — no key needed.`,"harness.ready":`signed in`,"local.recheck":`Check again`,"local.test":`Test`,"local.testHint":`One short call shows whether the way to the model is open.`,"local.testOk":`Answered in {s} s on {ref}: “{reply}”`,"local.testFailed":`The test did not work: {error}`,"models.groupCaps":`Capabilities`,"models.groupAccess":`Access`,"models.groupMore":`More providers`,"models.cap.text":`Text & reasoning`,"models.cap.text.hint":`Writes, summarizes, researches and decides – in almost every step.`,"models.cap.image":`Images`,"models.cap.image.hint":`Makes images: logos, product shots, illustrations.`,"models.cap.video":`Videos`,"models.cap.video.hint":`Makes short clips from text or from an image.`,"models.cap.speech":`Voice`,"models.cap.speech.hint":`Reads text aloud: voice-overs, audio versions, announcements.`,"models.cap.listening":`Voice notes`,"models.cap.listening.hint":`Understands speech and turns voice notes into text.`,"models.way.local":`Local model`,"models.way.credits":`Credits`,"models.way.creditsTeam":`Team credits`,"models.way.none":`not set up`,"models.who":`Who does it?`,"models.optSubscription":`Your subscription`,"models.optKey":`Own API key`,"models.optLocal":`Local model`,"models.optLocalNote":`Ollama on this computer`,"models.noteIncluded":`included in the plan`,"models.noteSignedOut":`not signed in`,"models.noteMissing":`not installed`,"models.noteKey":`API key stored`,"models.noteKeyShort":`key`,"models.noteSignedIn":`signed in`,"models.noteShellKey":`API key from the shell`,"models.optOther":`Other`,"models.optCreditsGroup":`engenty`,"models.noteNoKey":`API key missing`,"models.noteNeedsAccount":`needs an account`,"models.notePerImage":`≈ {n} credits per image`,"models.notePerSecond":`≈ {n} credits per second`,"models.notePer1k":`≈ {n} credits per 1000 characters`,"models.notePerMinute":`≈ {n} credits per minute`,"models.creditsAuto":`engenty picks: {model}`,"models.creditsAutoNone":`engenty picks the model`,"models.creditsPickHint":`Billed in credits – no API key of your own.`,"models.viaCredits":`{name} on engenty credits`,"models.viaCreditsHint":`No API key of your own, billed in credits.`,"models.viaCreditsNeedsAccount":`With an engenty account, billed in credits.`,"models.noteUsage":`credits by usage`,"models.model":`Model`,"models.modelCustom":`Another model …`,"models.textSimple":`Simple steps`,"models.textDemanding":`Demanding steps`,"models.perClass":`Adjust per class`,"models.manageKey":`{name} API key`,"models.key":`API key`,"models.keyFor":`{name} API key`,"models.keyGet":`Get a key from {name}`,"models.keySave":`Check and save`,"models.keyStored":`API key stored`,"models.keyNone":`No API key`,"models.keyCheck":`Check`,"models.keyReplace":`Replace`,"models.keyRemove":`Remove`,"models.keyOk":`The key works.`,"models.keyBad":`The key was not accepted.`,"models.keyWhereLocal":`The key stays on this device, never in the database.`,"models.keyWhereCloud":`The key is kept encrypted for the team. Nobody sees it again.`,"models.keyFallback":`Until the key is there, credits step in.`,"models.uses":`Used for`,"models.useFor":`Use`,"models.inUse":`in use`,"models.try":`Try it`,"models.try.text":`Test`,"models.try.image":`Make a test image`,"models.try.video":`Make a test clip`,"models.try.speech":`Hear a sample`,"models.try.listening":`Test listening`,"models.tryCost":`Costs like a real call.`,"models.tryCostVideo":`A 4-second clip – costs like a real one.`,"models.tryWait":`Generating …`,"models.tryWaitVideo":`A clip takes a minute or two …`,"models.tryOk":`In {s} s with {model}`,"models.tryHeard":`Heard: “{text}”`,"models.tryHeardNothing":`Nothing heard – the way is open.`,"models.tryFailed":`That did not work: {error}`,"models.creditsName":`engenty credits`,"models.creditsTeam":`Team credits`,"models.creditsLocalLead":`Step in where no subscription and no own API key is set up.`,"models.creditsCloudHint":`Everything without an own API key runs on the credits. Own keys come first and cost no credits.`,"models.creditsConnectTitle":`With an account`,"models.creditsLocalHint":`With an engenty account, credits step in where nothing of your own is set up – for videos without an own API key, say.`,"models.creditsConnect":`Connect an account`,"models.creditsFallback":`Credits step in`,"models.creditsFallbackOn":`What has no subscription and no own API key runs on the credits.`,"models.creditsFallbackOff":`Off: what has no subscription and no own API key does not run.`,"models.creditsOn":`Runs on credits`,"models.creditsNone":`Nothing runs on credits right now.`,"models.creditsTopUp":`Top up`,"models.creditsPicks":`engenty picks the model and bills in credits.`,"models.creditsModel":`Right now: {model}.`,"models.clientSignIn":`Sign-in`,"models.clientImages":`{name} makes images with your {sub} – no API key of your own.`,"models.clientNotChosen":`Text does not run on {name} right now.`,"models.ollamaHint":`Where Ollama runs and the model it serves.`,"models.readOnly":`Only the team's admins change its models.`,"models.viewAs":`Preview as`,"models.view.auto":`as it is`,"models.view.local":`local`,"models.view.linked":`local + account`,"models.view.cloud":`cloud studio`,"setup.title":`Setup`,"setup.sub":`Engenty can use your existing accounts on your computer.`,"setup.source":`Choose your Engine`,"setup.local":`Runs locally on this device.`,"setup.stage.connect":`Connect`,"setup.stage.test":`Test`,"setup.stage.done":`Done`,"setup.h.install":`Install {name}`,"setup.h.signIn":`Sign in to {name}`,"setup.h.keys":`Enter a key`,"setup.h.test":`One short test`,"setup.h.done":`Connected.`,"setup.ready":`All set.`,"setup.noHarness":`No AI client installed yet. Pick one — it installs right here — or enter your own keys.`,"setup.ownDesc":`AI Gateway, OpenAI, Anthropic or Ollama.`,"setup.recommended":`Recommended`,"setup.done":`Open the studio`,"setup.untilWorks":`The studio opens once the test works.`,"cloud.onPublish":`When you publish the wizard, the version also goes to your account's cloud and runs there behind a link of its own.`,"cloud.notSent":`This version is not in the cloud yet.`,"cloud.send":`Send now`,"cloud.resend":`Send again`,"cloud.again":`It is tried again at {when}.`,"cloud.sent":`Version {v} · sent {when}`,"cloud.notRunnable":`Version {v} does not run in the cloud.`,"cloud.keepsRunning":`Version {v} keeps running there.`,"cloud.nothingRuns":`So nothing runs there yet.`,"cloud.notes":`What runs differently in the cloud:`,"cloud.check":`What the cloud would lack for the wizard as it is now:`,"cloud.checkBlocking":`As it is now, the wizard would not run in the cloud:`,"cloud.documents":`The space's documents stay on this device. In the cloud the steps work without them.`,"cloud.stepName":`“{title}”`,"cloud.problem.sandbox":`The server has no machine for code. There it works without one.`,"cloud.problem.mcp":`The space's MCP servers are not on the server: {detail}.`,"cloud.problem.model":`The cloud has no model for this.`,"cloud.problem.connector":`The space lacks a connector in the cloud.`,"cloud.problem.invalid":`The server does not take the wizard like this.`,"cloud.spaceLimit":`Your account's cloud already holds the space of another install:`,"cloud.replace":`Replace that space`,"cloud.replaceConfirm":`Remove that space from the cloud? Its wizards and their links go from there. Then everything published here is sent.`,"cloud.noticeError":`Published here. This version did not arrive in the cloud — see below.`,"cloud.noticeNotRunnable":`Published here. This version does not run in the cloud — see below.`,"readonly.wizard":`This wizard comes from your local install and is changed there. What you publish there runs here.`,"readonly.project":`This space comes from your local install and is changed there.`,"readonly.server":`Nothing is built on this server. The wizards your local install publishes run here.`,"nav.wizards":`Wizards`,"nav.settings":`Settings`,"nav.project":`Space`,"account.title":`Account`,"account.hint":`What the app calls you and how to reach you.`,"account.initials":`Your initials in the menu at the top right: the first letters of your name.`,"account.name":`Name`,"account.nameHint":`It starts as this device's user name.`,"account.fromAccount":`Name and e-mail come from your account.`,"account.about":`About you`,"account.aboutHint":`Who you are and what you do.`,"account.email":`E-mail`,"account.phone":`Phone`,"account.connection":`engenty.ai`,"account.connectionHint":`Sign-in, credits and the cloud that runs your wizards for everyone.`,"account.profile":`Profile`,"account.local":`Local install`,"account.localText":`This app runs on your device and is not connected to an account. Wizards, the space and files stay here.`,"account.linked":`Connected`,"account.with":`With an account`,"account.withCredits":`Credits for the models where no AI client is installed. No API key needed.`,"account.withCloud":`What you publish also runs on engenty.ai, behind a public link, even when this device is off.`,"account.signIn":`Sign in`,"account.signInAgain":`Sign in again`,"account.new":`No account yet?`,"account.newHint":`A new account needs an invitation code. Enter it here and the sign-up page has it filled in.`,"account.code":`Invitation code`,"account.create":`Create account`,"account.credits":`Credits`,"account.topUp":`Top up`,"account.expires":`{n} credits valid until {date}`,"account.kind.start":`Starting credits`,"account.kind.monthly":`Monthly credits`,"account.kind.gift":`Gift`,"account.cloud":`What you publish here also runs on {host}.`,"account.look":`Appearance`,"account.lookHint":`Language and theme of the app in this browser.`,"nav.logout":`Sign out`,"nav.connected":`Connected to {host}`,"nav.expired":`Sign-in expired`,"nav.onlyHere":`Only on this computer`,"nav.local":`local`,"nav.language":`Language`,"nav.theme":`Theme`,"nav.credits":`{n} credits`,"footer.billing":`Credits`,"footer.usage":`Usage`,"footer.invoices":`Invoices`,"footer.account":`Account`,"about.version":`Version {v}`,"about.update.available":`Version {v} of engenty wizards is out.`,"about.update.install":`Update`,"about.update.installing":`Installing version {v} …`,"about.update.restarting":`Restarting with version {v} …`,"about.update.done":`Installed. Restart engenty wizards to use {v}.`,"about.update.failed":`The update failed. Logs: logs/update.log`,"about.update.notes":`What's new`,"about.changelog":`Changelog`,"about.changelogHint":`What changed from release to release.`,"about.changelogEmpty":`Nothing here yet.`,"about.unreleased":`Unreleased`,"about.breaking":`breaking`,"about.credits":`Open source`,"about.creditsHint":`engenty wizards and the open-source software it builds on.`,"about.creditsProduct":`engenty`,"about.creditsBuiltWith":`Built with`,"about.creditsDeps":`Direct dependencies`,"about.creditsDepsHint":`What the parts of this app include themselves, with version and license — without their own dependencies.`,"about.creditsShared":`Used by more than one part`,"about.search":`Search …`,"about.noMatches":`No matches.`,"theme.dark":`Dark theme`,"theme.light":`Light theme`,"home.title":`Your wizards`,"home.new":`New wizard`,"home.import":`Import`,"import.failed":`The import did not work`,"home.empty":`No wizards in this space yet.`,"home.live":`Live`,"home.draft":`Draft`,"where.here":`Local`,"where.hereVersion":`Local · version {v}`,"where.hereHint":`Runs only on this computer, while the app is running.`,"where.liveHint":`Runs on {host}, for everyone with the link.`,"where.liveAt":`Live on {host} · version {v}`,"where.note":`1 note`,"where.notes":`{n} notes`,"where.sending":`Being sent`,"where.missing":`Not in the cloud`,"home.steps":`{n} steps`,"home.newProject":`New space`,"home.projectName":`Space name`,"home.projectLimit":`At most {n} spaces`,"home.fromLocal":`From your local install — changed there.`,"home.syncedAt":`Last arrived: {when}.`,"home.local.title":`The wizards from your local install run here`,"home.local.text":`You build on your own computer. What you publish there runs here — for everyone, behind a link.`,"home.local.install":`Install engenty wizards on your computer:`,"home.local.signIn":`Sign in there with this account, under Settings → Account.`,"home.local.publish":`Publish a wizard. It then shows up here.`,"new.title":`What should your wizard do?`,"new.placeholder":`e.g. Customers enter their product and audience, the wizard researches competitors and writes a positioning briefing as a PDF.`,"new.build":`Build wizard`,"new.orStarter":`Or start from a template`,"new.import":`Import a wizard package`,"new.hint":`You can change everything afterwards in the conversation.`,"editor.resize":`Resize — double-click resets`,"editor.resizeSheet":`Resize — tap folds and unfolds`,"editor.export":`Export as a package (.wizard)`,"editor.chat":`Conversation`,"editor.step":`Steps`,"editor.runs":`Runs`,"editor.reviewEditable":`editable`,"editor.reviewRedo":`can be redone`,"editor.otherwise":`otherwise`,"editor.whenFilled":`{field} filled in`,"editor.whenEmpty":`{field} empty`,"tool.web_search":`Web search`,"tool.web_fetch":`Read web pages`,"tool.browser":`Browser`,"tool.sandbox":`Code & shell`,"tool.image":`Images`,"tool.http":`API`,"tool.pages":`Pages`,"editor.test":`Test`,"editor.share":`Share`,"editor.publish":`Publish`,"editor.published":`Live · version {v}`,"editor.unpublishedChanges":`Unpublished changes`,"editor.notPublished":`Not published yet`,"editor.composer":`Describe what should change …`,"editor.attach":`Attach files`,"editor.detach":`Remove`,"editor.attached":`Attached`,"editor.thread":`Thread`,"editor.voice":`Dictate`,"editor.voiceStop":`Stop dictating`,"editor.listening":`Listening …`,"editor.transcribing":`Writing it down …`,"editor.micDenied":`The microphone is not allowed for this page.`,"editor.building":`Building the flow …`,"editor.files":`Files`,"files.explain":`What your wizard needs on every run: widget code, libraries, map outlines, price lists. The assistant creates them in the chat – you can upload your own too.`,"files.upload":`Upload`,"files.count":`{n} files · {size}`,"files.empty":`No files yet. Drop files here or ask the assistant to build a widget.`,"files.download":`Download`,"files.delete":`Delete`,"files.confirmDelete":`Delete “{path}”?`,"files.none":`This wizard has no files.`,"editor.thinking":`Thinking …`,"editor.chatBroken":`The connection dropped. What was already built is saved – please send your message again.`,"editor.issues":`Before you test or share, the wizard needs a few fixes:`,"editor.fixWithChat":`Let the assistant fix it`,"editor.models.blocking":`The wizard can't start like this. Models are missing:`,"editor.models.optional":`These steps won't run like this. Choose a path without them when testing, or set up the models:`,"editor.models.settings":`Set up models`,"editor.prevStep":`Previous step`,"editor.nextStep":`Next step`,"editor.deleteStep":`Delete step`,"editor.moveUp":`Move up`,"editor.moveDown":`Move down`,"editor.noRuns":`No runs yet.`,"editor.restart":`Restart`,"editor.close":`Close`,"editor.chatHello":`Tell me what your wizard should do. I'll build the flow and you'll see it as a diagram on the left.`,"shareRun.button":`Share`,"shareRun.title":`Share result`,"shareRun.email":`Email`,"shareRun.more":`More …`,"shareRun.until":`The link works until {date}.`,"shareRun.kept":`The link works until you withdraw it.`,"shareRun.withdraw":`Withdraw link`,"sharePage.gone":`This link has expired or was withdrawn.`,"sharePage.own":`Try it yourself`,"sharePage.until":`Shared · available until {date}`,"sharePage.shared":`Shared on {date}`,"share.title":`Share wizard`,"share.link":`Link`,"share.copy":`Copy`,"share.copied":`Copied`,"share.enabled":`Link is active`,"share.limit":`Runs per day`,"share.rotate":`Create a new link`,"share.rotateHint":`The old link stops working.`,"share.publishFirst":`Publish the wizard so the link works.`,"share.open":`Open`,"share.unpublished":`Your changes are not published yet: the link runs the version before.`,"share.website":`Website`,"share.openHere":`Test on this computer`,"share.settings":`Settings`,"share.on":`on`,"share.off":`off`,"share.perDay":`{n} a day`,"share.rotateCloud":`The old link stops working, the one in the cloud too.`,"share.others":`Share with others`,"share.othersHint":`With an account the wizard also runs on engenty.ai: a link, a QR code and a tag for your website, for everyone, also while your computer is off.`,"share.details":`Details`,"teaser.website":`A website needs a link everyone can reach. With an account the wizard also runs on engenty.ai, and the tag for your page is here.`,"teaser.qr":`A QR code needs a link every phone can reach. With an account the wizard also runs on engenty.ai, and its QR code and the ID for the app are here.`,"teaser.link":`This link only works on this computer, while the app is running. With an account the wizard also runs on engenty.ai, with a link for everyone.`,"teaser.models":`No API key of your own: with an account, text, images and videos run on credits.`,"teaser.connect":`Connect an account`,"teaser.modelsLinked":`Or on your account's credits: under Models, choose "The account's credits".`,"share.qr":`QR code`,"share.qrHint":`Scan it with a phone's camera: the wizard opens, in the engenty wizards app when it is installed.`,"share.code":`ID for the app:`,"share.readOnly":`Whether the link is active and how many runs a day it allows is set in your local install.`,"embed.inline":`Inline`,"embed.modal":`Button + modal`,"embed.inlineHint":`Paste the tag into your page's HTML. The wizard appears in that place.`,"embed.modalHint":`Paste the tag into your page's HTML. A button appears in that place and opens the wizard in a window.`,"type.page":`Page`,"type.agent":`AI step`,"type.generate":`Generate`,"type.widget":`Widget`,"type.review":`Review`,"type.result":`Result`,"run.start":`Let's go`,"run.next":`Continue`,"run.back":`Back`,"run.accept":`Looks good`,"run.regenerate":`New version`,"run.edit":`Edit`,"run.resume":`Continue your last run`,"run.regenerateNote":`What should change?`,"run.pickItem":`No. {n}`,"run.pickedItem":`No. {n} again`,"run.regeneratePicked":`Only no. {n} will be made again.`,"run.regenerateAll":`Applies to all. Tap a number to change single ones only.`,"check.progress":`{done} of {total} checked`,"check.onlyOpen":`Open only`,"check.noFile":`There is no file for this row.`,"check.noPreview":`This file has no preview – open it with the link above.`,"check.reopen":`Open again`,"market.search":`Search templates …`,"market.all":`All`,"market.industry":`Industry`,"market.format":`Result`,"market.capability":`Capability`,"market.unavailable":`not set up`,"market.missing":`Not set up here: {list}`,"market.missingHint":`This needs a model that isn't set up here: {list}. Set it up under Models.`,"market.none":`No template matches this selection.`,"market.notFound":`There is no such template (any more).`,"market.star":`Star`,"market.starred":`Starred`,"market.starHint":`Starred templates are kept on this computer, ready without a connection.`,"market.noneStarred":`You haven't starred a template yet.`,"market.offline":`No connection to the marketplace: you see the templates kept here.`,"market.more":`Show more`,"market.reset":`Reset selection`,"market.count":`{n} templates`,"market.countOf":`{n} of {all} templates`,"market.countOfShort":`{n} of {all}`,"market.resetShort":`Reset`,"market.minutes":`~ {n} min`,"market.credits":`~ {n} credits per run`,"market.needsUpdate":`Needs a newer app`,"market.needsUpdateHint":`This template uses features your app does not know yet. Update the app, then you can use it.`,"market.use":`Start with this template`,"market.steps":`How the wizard runs`,"market.duration":`Duration`,"market.durationHint":`from start to result, with {n} inputs from you`,"market.result":`Result`,"market.creditsRange":`~ {n} credits`,"market.creditsHint":`estimated per run, rarely more than twice that`,"market.needs":`Needs`,"market.cost":`Cost`,"new.forWebsite":`Small helpers for your website`,"run.feedbackPlaceholder":`Something not right? Write what should be different …`,"run.feedbackTarget":`What should change?`,"run.feedbackPick":`Pick above what should change.`,"ai.generated":`AI generated`,"ai.modified":`AI modified`,"ai.publish":`Made with AI: whoever publishes this has to label it as AI-generated (EU AI Act, Art. 50). The file already carries the marking in its metadata.`,"run.regenerateGo":`Recreate`,"run.retry":`Try again`,"run.again":`Start over`,"run.download":`Download`,"run.copy":`Copy text`,"run.failed":`Something went wrong.`,"run.unavailable":`This wizard is not available right now.`,"run.notFound":`This wizard does not exist (anymore).`,"run.madeWith":`Made with engenty wizards`,"run.working":`One moment …`,"run.elapsed":`{s} s`,"run.cancelled":`Cancelled.`,"run.addRow":`Add row`,"run.upload":`Choose a file or drop it here`,"run.uploading":`Uploading …`,"run.required":`Required`,"run.net":`Net`,"run.vat":`VAT {r} %`,"run.total":`Total`,"settings.title":`Settings`,"settings.name":`Name`,"settings.mcp":`Connected systems (MCP)`,"settings.mcpHint":`AI steps can read from and write to these systems — only when you allow it on the step.`,"settings.addServer":`Connect a system`,"settings.serverName":`Name`,"settings.serverUrl":`MCP URL`,"settings.serverHeader":`Authorization header (optional)`,"settings.save":`Save`,"settings.saved":`Saved`,"settings.delete":`Delete space`,"settings.noProject":`Your space shows up here once your local install has published its first wizard.`,"settings.copy":`Copy`,"settings.copied":`Copied`,"settings.lastUsed":`last used {when}`,"settings.neverUsed":`never used`,"settings.revoke":`Delete key`,"mcp.appsDisconnect":`Remove`,"plugins.title":`Plugins`,"plugins.hint":`Plugins add pages, settings and tools for steps to this app. They run with the app's full rights: install only what you know.`,"plugins.hintManaged":`These plugins are switched on for your account.`,"plugins.reload":`Reload`,"plugins.rescan":`Look again`,"plugins.tools":`Tools for steps`,"plugins.serverFailed":`The server half did not load: {error}`,"plugins.studioFailed":`The studio half did not load: {error}`,"plugins.problems":`Not a plugin`,"plugins.crashed":`This part of a plugin crashed.`,"mcp.notReverse":`Not the same as “Connected systems (MCP)” under Connectors: there engenty calls other servers, here your client calls engenty.`,"integrate.nav":`Integrate`,"integrate.groupApps":`AI apps`,"integrate.groupShare":`Share`,"integrate.shareLink":`Share by link`,"integrate.shareSite":`Put on a website`,"integrate.soon":`soon`,"integrate.stateWorks":`works`,"integrate.stateConnected":`added`,"integrate.stateInstalled":`on this computer`,"integrate.kindMcp":`Tools in the chat: find, run and fill in wizards — and build them.`,"integrate.kindMcpShort":`tools in the chat`,"integrate.kindAppShort":`the wizard as a widget`,"integrate.kindAppNoShort":`this app does not show it`,"integrate.kindApp":`The wizard itself in the chat, page by page, as a widget.`,"integrate.kindAppNo":`This app does not show them — a run comes as text.`,"integrate.where":`Where does the app run?`,"integrate.here":`On this computer`,"integrate.hereHint":`One click, no key. The app starts engenty wizards itself.`,"integrate.hereManaged":`Only with engenty wizards on your computer.`,"integrate.address":`At the address`,"integrate.addressHint":`From anywhere the address can be reached — with a key.`,"integrate.connectTitle":`Add`,"integrate.connectHint":`Adds engenty wizards to the settings of {app}.`,"integrate.connect":`Add to {app}`,"integrate.connected":`Added to {app}`,"integrate.notInstalled":`{app} is not on this computer. You can add it anyway — it works once {app} is there.`,"integrate.file":`Put this into {file}:`,"integrate.vscode":`In VS Code: "MCP: Open User Configuration", then add:`,"integrate.chatgpt":`In ChatGPT: Settings → Apps & Connectors → Advanced → Developer mode, then "Create" with this address:`,"integrate.generic":`In the app's MCP settings, add a server at this address (Streamable HTTP):`,"integrate.oauthLocal":`This app connects from its maker's servers — it cannot reach this computer. Use "On this computer" or an app that runs here.`,"integrate.test":`Test`,"integrate.seen":`{app} checks in`,"integrate.restart":`Quit {app} completely and start it again — then it checks in here.`,"integrate.reload":`Reload the MCP servers in {app}, or restart it.`,"integrate.tool":`Called a tool`,"integrate.askHint":`In a new chat in {app}, write:`,"integrate.askTool":`Which wizards do I have in engenty?`,"integrate.widget":`Showed the wizard as a widget`,"integrate.widgetHint":`Start a published wizard:`,"integrate.askWidget":`Start one of my engenty wizards.`,"integrate.works":`{app} works with your wizards.`,"mcp.notHere":`Not possible with this server`,"mcp.needsPublic":`claude.ai connects from Anthropic's servers. That only works when this server is reachable publicly over HTTPS.`,"mcp.keyTitle":`Create a key`,"mcp.keyHint":`The key signs your client in. It is shown once and goes straight into the command in the next step.`,"mcp.keyCreate":`Create a key for {client}`,"mcp.keyReady":`Key created — it is already in the command below.`,"mcp.keyFirst":`Create the key first — then the finished command shows up here.`,"mcp.add":`Add the server`,"mcp.terminal":`Run in the terminal:`,"mcp.ccPlugin":`Optionally the plugin — it adds the /wizard command:`,"mcp.codexKey":`Run in the terminal — Codex reads the key from an environment variable:`,"mcp.claudeAi":`In claude.ai: Settings → Connectors → Add custom connector, and enter this address:`,"mcp.oauth":`No key needed: on first use your client signs in in the browser.`,"mcp.addressPublic":`Reachable publicly.`,"mcp.addressLocal":`Reachable on this computer only, and only while engenty wizards runs.`,"mcp.keys":`Keys`,"mcp.keysHint":`Each key signs one client in and has every right — treat it like a password. Delete it and that client is signed out.`,"editor.viaClient":`Via {client}`,"editor.changedVia":`Changed via {client}`,"editor.merged":`Merged with changes from elsewhere`,"run.uploadMore":`Another file`,"run.camera":`Camera`,"camera.title":`Take a picture`,"camera.hint":`Hold it flat and well lit.`,"camera.taken":`{n} taken`,"camera.shoot":`Capture`,"camera.done":`Done`,"camera.denied":`The camera is not allowed for this page. Allow it in your browser's site settings (the lock icon in the address bar) — or take the photo with your camera app.`,"connect.go":`Connect`,"connect.connected":`Connected through {name}`,"connect.disconnect":`Disconnect`,"connect.none":`No provider is set up for connecting on this server yet.`,"connect.openLink":`Click here to open the sign-in in a new tab`,"list.empty":`No entries yet.`,"list.delete":`Delete row`,"ask.typeInto":`Type into the page …`,"ask.hide":`hidden`,"ask.up":`Scroll up`,"ask.down":`Scroll down`,"ask.pictureHint":`This is the page the wizard has open. You can also click and type right in the picture.`,"ask.remember":`Remember this sign-in for next time`,"ask.private":`What you enter goes straight into the page. The AI never sees it. Remembered sign-ins are stored encrypted.`,"ask.skip":`Skip`,"ask.done":`I am signed in`,"ask.signIn":`Sign in`,"ask.wants":`The wizard wants to run this in {service}:`,"ask.allowRest":`Allow for the rest of this run`,"ask.allow":`Allow`,"ask.deny":`Don't allow`,"store.open":`What this wizard remembers`,"store.title":`Kept for you`,"store.explain":`This wizard keeps lists, files and connected accounts for your next run. Only you see them.`,"store.empty":`Nothing kept yet.`,"store.rows":`{n} entries`,"store.signIns":`Remembered sign-ins in the browser`,"store.files":`{n} files · {size}`,"store.delete":`Delete everything`,"store.confirmDelete":`Really delete everything`,"common.close":`Close`,"connectors.title":`Connectors`,"connectors.hint":`Services a wizard can work in for the person — they connect their own account during a run. The main ones are built in; any other you find in the integrations.sh registry and import from its OpenAPI spec or its MCP server.`,"connectors.imported":`From the registry`,"connectors.noneImported":`No connector from the registry is imported here.`,"connectors.notSetUp":`not set up`,"connectors.setup":`The server still needs:`,"connectors.search":`Find a service, e.g. Notion, Stripe, GitHub`,"connectors.find":`Search`,"connectors.none":`Nothing found.`,"connectors.import":`Import`,"connectors.exists":`Already imported.`,"connectors.ownClient":`Own OAuth client`,"connectors.refresh":`Reload actions`,"connectors.remove":`Remove`,"connectors.actions":`{n} actions, {r} read-only`,"connectors.pending":`Actions appear once an account is connected`,"connectors.needsClient":`This service needs an OAuth client (id and secret). Remove it and import again with “Own OAuth client”.`,"connectors.authNone":`no sign-in`,"connectors.authOauth":`OAuth sign-in`,"connectors.authKey":`API key`,"connectors.group.read":`reads`,"connectors.group.write":`changes`,"connectors.group.destructive":`deletes`,"run.uploadTouch":`Choose a file`,"run.maxFiles":`At most {n} fit here – I left out the rest.`,"run.filesMin":`{n} of at least {min}`,"run.filesOf":`{n} of at most {max}`,"run.moveFile":`Move no. {n}`,"run.moveFileHint":`Drag to change the order`,"run.removeFile":`Remove`,"run.awake":`The screen stays on while the wizard works.`,"run.openFull":`Open full size`,"run.yes":`Yes`,"run.no":`No`,"run.share":`Share`,"run.shareNow":`Share now`,"run.shareFile":`Share as a file or open in an app`,"camera.asking":`Your browser is about to ask for the camera. The picture stays in this wizard.`,"camera.missing":`No camera was found on this device. Upload a photo instead.`,"camera.busy":`Another app is using the camera. Close it and try again.`,"camera.native":`Open the camera app`,"camera.pick":`Choose a photo`,"camera.torch":`Light`,"camera.flip":`Switch camera`,"camera.photo":`Photo`,"camera.video":`Video`,"camera.record":`Start recording`,"camera.stop":`Stop recording`,"camera.recording":`Recording — tap to stop.`,"camera.clipHint":`A short clip, {s} seconds at most.`,"camera.hintMany":`Capture page after page, then “Done”.`,"scan.button":`Scan`,"scan.title":`Scan a code`,"scan.asking":`Your browser is about to ask for the camera — it only reads the code.`,"scan.hint":`Hold the QR code or barcode inside the frame.`,"scan.hintQr":`Hold the QR code inside the frame. This device does not read barcodes here.`,"scan.miss":`No code was found in the photo. Try closer and sharper.`,"scan.fromPhoto":`Choose a photo of the code`,"scan.typeInstead":`Type it instead`,"location.use":`Use my location`,"location.locating":`Finding your location …`,"location.refining":`getting more exact …`,"location.accuracy":`exact to about {m} m`,"location.map":`Map`,"location.remove":`Remove location`,"location.why":`Your browser asks for your location. It is only used for this wizard. You can also just type the address.`,"location.denied":`Location is not allowed for this page. Allow it in your browser's site settings (the lock icon in the address bar) — or type the address below.`,"location.unavailable":`Your device could not find its location right now. Try again outdoors or type the address.`,"location.timeout":`That took too long. Try again or type the address.`,"location.manual":`Type an address or place`,"location.label":`Address or description of the place`,"voice.start":`Record a voice note`,"voice.stop":`Stop`,"voice.recording":`Recording …`,"voice.left":`{s} s left`,"voice.again":`Record again`,"voice.remove":`Delete`,"voice.pick":`Choose an audio file`,"voice.why":`Your browser asks for the microphone. The recording is turned into text afterwards.`,"voice.denied":`The microphone is not allowed for this page. Allow it in your browser's site settings — or record the note with your voice memo app and choose the file.`,"voice.noRecorder":`This browser cannot record here. Record the note with your voice memo app and choose the file.`,"sign.open":`Sign here`,"sign.hint":`Sign with your finger`,"sign.pad":`Signature pad`,"sign.clear":`Clear`,"sign.accept":`Use it`,"sign.again":`Sign again`,"sign.remove":`Remove signature`,"notify.ask":`Tell me when it is done`,"notify.on":`You will be told`,"notify.why":`With a sound, a buzz or a notification. Your browser asks once for permission.`,"notify.onHint":`You can switch apps — a notification brings you back.`,"notify.quiet":`With a sound and a buzz while this page is open.`,"notify.blocked":`Notifications are blocked for this page — you get a sound and a buzz while it is open. You can allow them in your browser's site settings.`,"notify.done":`Your result is ready.`,"notify.next":`It goes on — have a look.`,"notify.needsYou":`The wizard needs you for a moment.`,"install.add":`Add to home screen`,"install.ios":`Tap “Share” below, then “Add to Home Screen”.`,"install.bookmark":`Bookmark this wizard`,"install.bookmark.mac":`Press ⌘ D to keep this wizard in your bookmarks.`,"install.bookmark.pc":`Press Ctrl + D to keep this wizard in your bookmarks.`,"install.app":`Open in the app`,"install.app.offer":`Install the studio as an app: its own window, its own icon in the Dock or taskbar.`,"install.app.browser":`In Chrome or Edge the studio installs as an app: its own window, its own icon.`,"install.app.action":`Install as app`,"install.app.close":`Close`,"common.offline":`No connection. Check your network and try again.`,"common.retry":`Try again`,"common.cancel":`Cancel`,"common.loading":`Loading …`,"common.error":`Error`,"data.hint":`Tables and pages the space and its wizards keep.`,"data.all":`All data`,"data.own":`General`,"data.table":`Table`,"data.page":`Page`,"data.newTable":`New table`,"data.newPage":`New page`,"data.title":`Title`,"data.owner":`Belongs to`,"data.create":`Create`,"data.empty":`No tables or pages yet. Create one – soon your wizards will write here too.`,"data.rows":`{n} rows`,"data.addRow":`Row`,"data.noRows":`No rows yet.`,"data.deleteRow":`Delete row`,"data.deleteTable":`Delete table`,"data.deletePage":`Delete page`,"data.confirmDelete":`Delete “{title}”?`,"data.newColumn":`New column`,"data.columnName":`Name`,"data.columnType":`Type`,"data.required":`Must be filled in`,"data.deleteColumn":`Delete column`,"data.removeOption":`Remove`,"data.fromList":`A list of the wizard: every run writes into it. The columns come from the wizard.`,"data.badCell":`This value does not fit “{column}” and is not saved.`,"data.type.text":`Text`,"data.type.number":`Number`,"data.type.date":`Date`,"data.type.duration":`Duration`,"data.type.select":`Choice`,"data.type.boolean":`Yes / no`,"data.text.single":`One line`,"data.text.multiline":`Several lines`,"data.number.integer":`Whole number`,"data.number.decimal":`Decimal`,"data.number.percent":`Percent`,"data.number.currency":`Amount`,"data.currency":`Currency (e.g. EUR)`,"data.date.date":`Date`,"data.date.datetime":`Date and time`,"data.date.time":`Time`,"data.unit":`Entered in`,"data.unit.milliseconds":`ms`,"data.unit.seconds":`seconds`,"data.unit.minutes":`minutes`,"data.unit.hours":`hours`,"data.unit.days":`days`,"data.options":`Choices, one per line`,"data.multiple":`Several can be chosen`,"data.write":`Write`,"data.preview":`Preview`,"data.pageEmpty":`This page is still empty.`,"data.markdownHint":`Markdown: # heading, **bold**, - list`,"space.info":`Info & brand`,"space.knowledge":`Knowledge`,"space.data":`Data`,"space.results":`Results`,"space.resultsAll":`All results`,"space.resultsHint":`Runs of your wizards that reached their result, newest first.`,"space.resultsEmpty":`No results yet. A run shows up here once it is done.`,"space.resultCredits":`{n} credits`,"space.resultsSearch":`Search: wizard, answers, result …`,"space.resultsModeAll":`Live & test`,"space.resultsAnyTime":`Any time`,"space.resultsDay":`Last 24 hours`,"space.resultsDays":`Last {n} days`,"space.resultsNone":`No results for this search.`,"space.resultFiles":`{n} files`,"project.rename":`Rename space`,"project.saving":`Saving …`,"project.base":`Basics`,"project.baseHint":`Who is behind the wizards. Every AI step knows this.`,"project.title":`Title`,"project.titleHint":`Company, brand or undertaking — end users see it too.`,"project.about":`About`,"project.aboutHint":`What you do, for whom, and the tone you write in.`,"project.logos":`Logos`,"project.logosHint":`End users see the first logo. A description says what a variant is for.`,"project.logoAdd":`Logo`,"project.logoMain":`Main logo`,"project.logoMakeMain":`Make main logo`,"project.colors":`Colours`,"project.colorsHint":`The first colour is the accent of documents, dashboards and public pages.`,"project.colorAdd":`Colour`,"project.colorName":`e.g. Primary — buttons and headings`,"project.colorUse":`Describe how engenty should use this color.`,"project.colorAddTitle":`Add a colour`,"project.colorValue":`Colour value`,"project.colorUseLabel":`Use`,"project.add":`Add`,"project.colorAccent":`Accent`,"project.colorFirst":`Make accent`,"project.assets":`Assets`,"project.assetsHint":`Images, graphics, videos. AI steps place them in documents and choose by the description.`,"project.assetAdd":`Files`,"project.assetSearch":`Filter assets …`,"project.documents":`Documents`,"project.documentsHint":`PDFs, lists, Excel, Word, text. They are read and put into an index every AI step searches.`,"project.documentAdd":`Documents`,"project.drop":`Drop here or`,"project.staysLocal":`Stays in your local install and is not sent here.`,"project.description":`Add a description …`,"project.describing":`Looking at it …`,"project.reading":`Reading …`,"project.indexed":`In the index`,"project.indexedKeywords":`In the index (keywords)`,"project.notIndexed":`No text found`,"project.reindex":`Read again`,"project.pages":`{n} pages`,"project.keywordsOnly":`The index searches by keywords right now. With an AI Gateway or OpenAI key it also searches by meaning.`,"project.preview":`Preview`,"project.viewList":`Show as a list`,"project.viewCards":`Show as cards`,"project.original":`Original`,"project.readText":`Text as read`,"project.openOriginal":`Open the original`,"project.noText":`No text yet: the document is still being read, or could not be read.`,"project.textCut":`The preview shows the start ({shown} of {total} characters).`,"project.searchTest":`Search the index …`,"project.searchNone":`Nothing found.`,"project.remove":`Remove`,"project.removeConfirm":`Remove “{name}”?`,"project.facts":`Facts`,"project.factsHint":`What wizards should know: address, VAT id, opening hours — anything that fits.`,"project.factLabel":`Label`,"project.factValue":`Value`,"project.factAdd":`Entry`,"project.factType":`Type`,"project.factAuto":`Automatic`,"project.type.text":`Text`,"project.type.longtext":`Long text`,"project.type.number":`Number`,"project.type.date":`Date`,"project.type.url":`Link`,"project.type.email":`Email`,"project.type.phone":`Phone`,"project.type.boolean":`Yes / No`,"project.yes":`Yes`,"project.no":`No`,"project.assistant":`Assistant`,"project.assistantTitle":`Have your space filled in`,"project.assistantHello":`Tell me about yourselves, name the website or give me files. I fill in what I find: title, description, logo, colours and facts.`,"project.assistantComposer":`e.g. “Read our website example.com” …`,"project.assistantChanged":`Space updated`,"flowApp.loading":`The wizard is on its way …`,"flowApp.draft":`Draft`,"flowApp.published":`Published`,"flowApp.issues":`{n} issues in the draft`,"flowApp.flow":`Flow`,"flowApp.notPublished":`Publish it in the studio to run it here.`,"flowApp.runPage":`Continue in the browser`,"flowApp.inBrowser":`Only in the browser: {fields}`,"flowApp.done":`Done`,"flowApp.credits":`{n} credits`,"flowApp.ask":`The wizard asks`,"flowApp.allow":`Allow`,"flowApp.skip":`Skip`,"flowApp.signIn":`A sign-in at {site} — only in the browser.`,"flowApp.fullscreen":`Larger`,"flowApp.inline":`Smaller`,"flowApp.failed":`That did not work: {error}`},ub=`wizards.lang`;function db(){try{let e=localStorage.getItem(ub);return e===`de`||e===`en`?e:null}catch{return null}}var fb=db()??(typeof navigator<`u`&&!navigator.language.toLowerCase().startsWith(`de`)?`en`:`de`),pb=fb===`de`?cb:lb,mb=new Set;function hb(e){if(e!==fb){fb=e,pb=e===`de`?cb:lb,document.documentElement.lang=e;try{localStorage.setItem(ub,e)}catch{}for(let e of mb)e()}}function Z(e,t){let n=pb[e]??cb[e]??e;for(let[e,r]of Object.entries(t??{}))n=n.replace(`{${e}}`,String(r));return n}typeof document<`u`&&(document.documentElement.lang=fb),ly();var gb=`wizards.theme`,_b=new Set,vb=window.matchMedia(`(prefers-color-scheme: dark)`);function yb(){try{let e=localStorage.getItem(gb);return e===`light`||e===`dark`?e:null}catch{return null}}var bb=0;function xb(){return bb>0?`dark`:yb()??(vb.matches?`dark`:`light`)}function Sb(){requestAnimationFrame(()=>{let e=document.querySelector(`meta[name="theme-color"]`),t=document.createElement(`canvas`).getContext(`2d`);if(!e||!t||!document.body)return;t.fillStyle=getComputedStyle(document.body).backgroundColor,t.fillRect(0,0,1,1);let[n,r,i]=t.getImageData(0,0,1,1).data;e.content=`#${[n,r,i].map(e=>e.toString(16).padStart(2,`0`)).join(``)}`})}function Cb(){let e=xb()===`dark`;document.documentElement.classList.toggle(`dark`,e),Sb();for(let e of _b)e()}vb.addEventListener(`change`,Cb),Cb();function wb(){return(0,y.useSyncExternalStore)(e=>(_b.add(e),()=>_b.delete(e)),()=>document.documentElement.classList.contains(`dark`)?`dark`:`light`)}var Tb=e=>`oklch(from ${oy[cy[e]??`cobalt`]} 0.34 calc(c * 0.6) h)`;function Q(...e){return e.filter(Boolean).join(` `)}var Eb={primary:`bg-primary text-primary-foreground hover:brightness-[1.06] active:brightness-95 shadow-[0_1px_0_oklch(0%_0_0/0.08)]`,secondary:`bg-card text-ink border border-border hover:bg-paper-2`,ghost:`text-ink-2 hover:text-ink hover:bg-accent`,quiet:`bg-paper-2 text-ink hover:bg-paper-3`,danger:`text-rose hover:bg-rose-tint`},Db=(0,y.forwardRef)(function({variant:e=`primary`,size:t=`md`,busy:n,className:r,children:i,disabled:a,...o},s){return(0,X.jsxs)(`button`,{ref:s,type:`button`,disabled:a||n,className:Q(`inline-flex select-none items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium transition-[background,filter,color,transform] duration-150 active:scale-[0.98] disabled:pointer-events-none disabled:opacity-50`,t===`sm`&&`h-8 px-3 text-[0.8125rem] coarse:h-11 coarse:px-4`,t===`md`&&`h-10 px-4 text-sm coarse:h-11`,t===`lg`&&`h-12 px-6 text-[0.9375rem]`,Eb[e],r),...o,children:[n?(0,X.jsx)(Rb,{className:`size-4`}):null,i]})});function Ob({label:e,className:t,children:n,...r}){return(0,X.jsx)(`button`,{type:`button`,"aria-label":e,title:e,className:Q(`inline-flex size-9 shrink-0 items-center justify-center rounded-full text-ink-3 transition hover:bg-accent hover:text-ink disabled:opacity-40 coarse:size-11`,t),...r,children:n})}var kb=`rounded-lg border border-input bg-card px-3.5 text-[0.9375rem] text-ink shadow-[inset_0_1px_0_oklch(0%_0_0/0.02)] outline-none transition placeholder:text-ink-4 focus:border-focus focus:ring-4 focus:ring-focus-glow disabled:opacity-60`;function Ab(e){return/(^|\s)w-/.test(e??``)?null:`w-full`}var jb=(0,y.forwardRef)(function({className:e,...t},n){return(0,X.jsx)(`input`,{ref:n,className:Q(kb,Ab(e),`h-11`,e),...t})});function Mb(e){return(0,X.jsx)(`input`,{type:`color`,className:`swatch size-11 shrink-0 cursor-pointer rounded-lg border border-input bg-card p-1`,...e})}var Nb=(0,y.forwardRef)(function({className:e,minRows:t=3,maxRows:n=14,onChange:r,...i},a){let o=(0,y.useRef)(null),s=()=>{let e=o.current;if(!e)return;let r=Number.parseFloat(getComputedStyle(e).lineHeight)||22;e.style.height=`auto`;let i=r*n+20;e.style.height=`${Math.min(Math.max(e.scrollHeight,r*t+20),i)}px`,e.style.overflowY=e.scrollHeight>i?`auto`:`hidden`};return(0,y.useLayoutEffect)(s),(0,X.jsx)(`textarea`,{ref:e=>{o.current=e,typeof a==`function`?a(e):a&&(a.current=e)},className:Q(kb,Ab(e),`resize-none py-2.5 leading-[1.5]`,e),onChange:e=>{s(),r?.(e)},...i})});function Pb({value:e,onChange:t,options:n,className:r,placeholder:i}){return(0,X.jsxs)(`div`,{className:Q(`relative`,r),children:[(0,X.jsxs)(`select`,{value:e,onChange:e=>t(e.target.value),className:Q(kb,`h-11 w-full appearance-none pr-9`),children:[i===void 0?null:(0,X.jsx)(`option`,{value:``,children:i}),n.map(e=>(0,X.jsx)(`option`,{value:e.value,disabled:e.disabled,children:e.label},e.value))]}),(0,X.jsx)(`svg`,{className:`-translate-y-1/2 pointer-events-none absolute top-1/2 right-3 size-4 text-ink-3`,viewBox:`0 0 16 16`,fill:`none`,children:(0,X.jsx)(`path`,{d:`M4 6l4 4 4-4`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})]})}function Fb({value:e,onChange:t,options:n,multi:r}){let i=new Set(Array.isArray(e)?e:e?[e]:[]);return(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.map(e=>{let a=i.has(e);return(0,X.jsx)(`button`,{type:`button`,"aria-pressed":a,onClick:()=>{if(r){let r=new Set(i);a?r.delete(e):r.add(e),t(n.filter(e=>r.has(e)))}else t(e)},className:Q(`h-10 rounded-full border px-4 text-sm transition disabled:pointer-events-none disabled:opacity-60 coarse:h-11`,a?`border-ember bg-ember-tint text-ink`:`border-input bg-card text-ink-2 hover:border-ink-4 hover:text-ink`),children:e},e)})})}function Ib({checked:e,onChange:t,label:n,disabled:r}){return(0,X.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,disabled:r,onClick:()=>t(!e),className:Q(`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition before:absolute before:-inset-x-1 before:-inset-y-2.5 before:content-[''] disabled:pointer-events-none disabled:opacity-60`,e?`bg-primary`:`bg-paper-3`),children:(0,X.jsx)(`span`,{className:Q(`inline-block size-5 rounded-full bg-white shadow-sm transition-transform`,e?`translate-x-[22px]`:`translate-x-[2px]`)})})}function Lb({children:e,hint:t,required:n}){return(0,X.jsxs)(`div`,{className:`mb-2`,children:[(0,X.jsxs)(`div`,{className:`font-medium text-[0.875rem] text-ink`,children:[e,n?(0,X.jsx)(`span`,{className:`ml-1 text-ember`,children:`*`}):null]}),t?(0,X.jsx)(`div`,{className:`mt-0.5 text-[0.8125rem] text-ink-3`,children:t}):null]})}function Rb({className:e}){return(0,X.jsxs)(`svg`,{className:Q(`size-5 animate-spin`,e),viewBox:`0 0 24 24`,fill:`none`,children:[(0,X.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,stroke:`currentColor`,strokeOpacity:`0.2`,strokeWidth:`3`}),(0,X.jsx)(`path`,{d:`M21 12a9 9 0 0 0-9-9`,stroke:`currentColor`,strokeWidth:`3`,strokeLinecap:`round`})]})}function zb({className:e,children:t,...n}){return(0,X.jsx)(`div`,{className:Q(`rounded-xl bg-card shadow-soft ring-1 ring-border-soft`,e),...n,children:t})}function Bb({children:e,tone:t=`neutral`,icon:n,title:r}){return(0,X.jsxs)(`span`,{title:r,className:Q(`inline-flex h-6 items-center gap-1.5 whitespace-nowrap rounded-full px-2.5 font-medium text-[0.75rem]`,t===`neutral`&&`bg-paper-2 text-ink-2`,t===`live`&&`bg-moss-tint text-moss`,t===`warn`&&`bg-amber-tint text-ink-2`,t===`ember`&&`bg-ember-tint text-ember-strong`),children:[n??(t===`live`?(0,X.jsx)(`span`,{className:`size-1.5 rounded-full bg-moss`}):null),e]})}function Vb({open:e,onClose:t,title:n,children:r,wide:i,bare:a}){let o=(0,y.useRef)(null);return(0,y.useEffect)(()=>{let t=o.current;t&&(e&&!t.open?(t.showModal(),t.querySelector(`[data-autofocus]`)?.focus()):!e&&t.open&&t.close())},[e]),(0,X.jsx)(`dialog`,{ref:o,onClose:t,onClick:e=>{e.target===o.current&&t()},className:Q(`m-auto p-0 text-ink backdrop:bg-[oklch(20%_0.01_60/0.28)] backdrop:backdrop-blur-[2px]`,a?`w-[calc(100%-48px)] overflow-visible bg-transparent max-sm:m-0 max-sm:h-dvh max-sm:max-h-none max-sm:w-full max-sm:max-w-none`:`max-h-[calc(100dvh-32px)] w-[calc(100%-32px)] overflow-y-auto overscroll-contain rounded-2xl bg-card shadow-overlay`,i===`page`?`sm:max-w-4xl`:i?`sm:max-w-2xl`:`sm:max-w-md`,!a&&(i===`page`?`max-w-4xl`:i?`max-w-2xl`:`max-w-md`)),children:e&&a?r:e?(0,X.jsxs)(`div`,{className:`p-5 sm:p-7`,children:[n?(0,X.jsxs)(`div`,{className:`mb-5 flex items-start justify-between gap-3`,children:[(0,X.jsx)(`h2`,{className:`min-w-0 font-display font-semibold text-xl`,children:n}),(0,X.jsx)(Ob,{label:Z(`common.close`),onClick:t,className:`-mt-1.5 -mr-2`,children:(0,X.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,className:`size-4`,"aria-hidden":`true`,children:(0,X.jsx)(`path`,{d:`M4 4l8 8M12 4l-8 8`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})})]}):null,r]}):null})}function Hb(e){let t=Gb.get(e);if(t)return t;if(!Kb){let e=document.createElement(`canvas`);e.width=1,e.height=1,Kb=e.getContext(`2d`,{willReadFrequently:!0})}let n=[.5,.5,.5];if(Kb){Kb.clearRect(0,0,1,1),Kb.fillStyle=`#808080`,Kb.fillStyle=e,Kb.fillRect(0,0,1,1);let[t,r,i]=Kb.getImageData(0,0,1,1).data;n=[t/255,r/255,i/255]}return Gb.set(e,n),n}function Ub(e,t){let n=qb.get(e);return n||(n=document.createElement(`span`),n.setAttribute(`aria-hidden`,`true`),n.style.cssText=`position:absolute;width:0;height:0;overflow:hidden;visibility:hidden`,e.appendChild(n),qb.set(e,n)),n.style.color=``,n.style.color=t,Hb(getComputedStyle(n).color||`#808080`)}function Wb(e,t){let n=Ub(e,oy[cy[t]]),r=Math.max(...n),i=[Math.min(1,n[0]+n[0]/(r||1)*.45),Math.min(1,n[1]+n[1]/(r||1)*.45),Math.min(1,n[2]+n[2]/(r||1)*.45)];return{body:Jb(n,[1,1,1],.12),deep:Jb(n,[.03,.02,.06],.62),tip:Jb(i,[1,1,1],.12)}}var Gb,Kb,qb,Jb,Yb=o((()=>{ly(),Gb=new Map,Kb=null,qb=new WeakMap,Jb=(e,t,n)=>[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n,e[2]+(t[2]-e[2])*n]})),Xb,Zb=o((()=>{Xb=`
116
116
  vec4 gogglesOver(vec2 p, float aa, float front) {
117
117
  if (uGoggles < 0.5) return vec4(0.0);
118
118
  vec2 q = p - eyeCentre();
@@ -739,7 +739,7 @@ break;case "inversionMode":switch(c){case "original":Y="dontInvert";break;case "
739
739
  +`).split(`
740
740
  `));return[t,t.reduce((e,t)=>e.concat(...t),[])]}return[[],[]]},[e]);return(0,y.useEffect)(()=>{let n=t?.target??vH,c=t?.actInsideInputWithModifier??!0;if(e!==null){let e=e=>{if(i.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!i.current||i.current&&!c)&&qz(e))return!1;let n=xH(e.code,s);if(a.current.add(e[n]),bH(o,a.current,!1)){let n=e.composedPath?.()?.[0]||e.target,a=n?.nodeName===`BUTTON`||n?.nodeName===`A`;t.preventDefault!==!1&&(i.current||!a)&&e.preventDefault(),r(!0)}},l=e=>{let t=xH(e.code,s);bH(o,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[t]),e.key===`Meta`&&a.current.clear(),i.current=!1},u=()=>{a.current.clear(),r(!1)};return n?.addEventListener(`keydown`,e),n?.addEventListener(`keyup`,l),window.addEventListener(`blur`,u),window.addEventListener(`contextmenu`,u),()=>{n?.removeEventListener(`keydown`,e),n?.removeEventListener(`keyup`,l),window.removeEventListener(`blur`,u),window.removeEventListener(`contextmenu`,u)}}},[e,r]),n}function bH(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function xH(e,t){return t.includes(e)?`code`:`key`}var SH=()=>{let e=GV();return(0,y.useMemo)(()=>({zoomIn:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):!1},zoomOut:async t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):!1},zoomTo:async(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,n):!1},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,i,a],panZoom:o}=e.getState();return o?(await o.setViewport({x:t.x??r,y:t.y??i,zoom:t.zoom??a},n),!0):!1},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:i,minZoom:a,maxZoom:o,panZoom:s}=e.getState(),c=Nz(t,r,i,a,o,n?.padding??.1);return s?(await s.setViewport(c,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0):!1},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:i,snapToGrid:a,domNode:o}=e.getState();if(!o)return t;let{x:s,y:c}=o.getBoundingClientRect(),l={x:t.x-s,y:t.y-c},u=n.snapGrid??i;return Oz(l,r,n.snapToGrid??a,u)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:i,y:a}=r.getBoundingClientRect(),o=kz(t,n);return{x:o.x+i,y:o.y+a}}}),[])};function CH(e,t){let n=[],r=new Map,i=[];for(let t of e)if(t.type===`add`){i.push(t);continue}else if(t.type===`remove`||t.type===`replace`)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if(t[0].type===`remove`)continue;if(t[0].type===`replace`){n.push({...t[0].item});continue}let i={...e};for(let e of t)wH(e,i);n.push(i)}return i.length&&i.forEach(e=>{e.index===void 0?n.push({...e.item}):n.splice(e.index,0,{...e.item})}),n}function wH(e,t){switch(e.type){case`select`:t.selected=e.selected;break;case`position`:e.position!==void 0&&(t.position=e.position),e.dragging!==void 0&&(t.dragging=e.dragging);break;case`dimensions`:e.dimensions!==void 0&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes===`width`)&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes===`height`)&&(t.height=e.dimensions.height))),typeof e.resizing==`boolean`&&(t.resizing=e.resizing)}}function TH(e,t){return CH(e,t)}function EH(e,t){return CH(e,t)}function DH(e,t){return{id:e,type:`select`,selected:t}}function OH(e,t=new Set,n=!1){let r=[];for(let[i,a]of e){let e=t.has(i);(a.selected!==void 0||e)&&a.selected!==e&&(n&&(a.selected=e),r.push(DH(a.id,e)))}return r}function kH({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,i]of e.entries()){let e=t.get(i.id),a=e?.internals?.userNode??e;a!==void 0&&a!==i&&n.push({id:i.id,item:i,type:`replace`}),a===void 0&&n.push({item:i,type:`add`,index:r})}for(let[e]of t)r.get(e)===void 0&&n.push({id:e,type:`remove`});return n}function AH(e){return{id:e.id,type:`remove`}}var jH=Ez(`React Flow`,`https://reactflow.dev/`);function MH(e,t,n={}){return oB(e,t,{...n,onError:n.onError??jH})}var NH=e=>ez(e),PH=e=>$R(e);function FH(e){return(0,y.forwardRef)(e)}var IH=typeof window<`u`?y.useLayoutEffect:y.useEffect;function LH(e){let[t,n]=(0,y.useState)(BigInt(0)),[r]=(0,y.useState)(()=>RH(()=>n(e=>e+BigInt(1))));return IH(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}function RH(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}var zH=(0,y.createContext)(null);function BH({children:e}){let t=GV(),n=LH((0,y.useCallback)(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:i,onNodesChange:a,nodeLookup:o,fitViewQueued:s,onNodesChangeMiddlewareMap:c}=t.getState(),l=n;for(let t of e)l=typeof t==`function`?t(l):t;let u=kH({items:l,lookup:o});for(let e of c.values())u=e(u);i&&r(l),u.length>0?a?.(u):s&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=LH((0,y.useCallback)(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:a,edgeLookup:o}=t.getState(),s=n;for(let t of e)s=typeof t==`function`?t(s):t;i?r(s):a&&a(kH({items:s,lookup:o}))},[])),i=(0,y.useMemo)(()=>({nodeQueue:n,edgeQueue:r}),[]);return(0,X.jsx)(zH.Provider,{value:i,children:e})}function VH(){let e=(0,y.useContext)(zH);if(!e)throw Error(`useBatchContext must be used within a BatchProvider`);return e}var HH=e=>!!e.panZoom;function UH(){let e=SH(),t=GV(),n=VH(),r=WV(HH),i=(0,y.useMemo)(()=>{let e=e=>t.getState().nodeLookup.get(e),r=e=>{n.nodeQueue.push(e)},i=e=>{n.edgeQueue.push(e)},a=e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState(),i=NH(e)?e:n.get(e.id),a=i.parentId?Rz(i.position,i.measured,i.parentId,n,r):i.position;return yz({...i,position:a,width:i.measured?.width??i.width,height:i.measured?.height??i.height})},o=(e,t,n={replace:!1})=>{r(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&NH(e)?e:{...r,...e}}return r}))},s=(e,t,n={replace:!1})=>{i(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&PH(e)?e:{...r,...e}}return r}))};return{getNodes:()=>t.getState().nodes.map(e=>({...e})),getNode:t=>e(t)?.internals.userNode,getInternalNode:e,getEdges:()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},getEdge:e=>t.getState().edgeLookup.get(e),setNodes:r,setEdges:i,addNodes:e=>{let t=Array.isArray(e)?e:[e];n.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];n.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:n=[],transform:r}=t.getState(),[i,a,o]=r;return{nodes:e.map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:i,y:a,zoom:o}}},deleteElements:async({nodes:e=[],edges:n=[]})=>{let{nodes:r,edges:i,onNodesDelete:a,onEdgesDelete:o,triggerNodeChanges:s,triggerEdgeChanges:c,onDelete:l,onBeforeDelete:u}=t.getState(),{nodes:d,edges:f}=await uz({nodesToRemove:e,edgesToRemove:n,nodes:r,edges:i,onBeforeDelete:u}),p=f.length>0,m=d.length>0;if(p){let e=f.map(AH);o?.(f),c(e)}if(m){let e=d.map(AH);a?.(d),s(e)}return(m||p)&&l?.({nodes:d,edges:f}),{deletedNodes:d,deletedEdges:f}},getIntersectingNodes:(e,n=!0,r)=>{let i=wz(e),o=i?e:a(e),s=r!==void 0;return o?(r||t.getState().nodes).filter(r=>{let a=t.getState().nodeLookup.get(r.id);if(a&&!i&&(r.id===e.id||!a.internals.positionAbsolute))return!1;let c=yz(s?r:a),l=Cz(c,o);return n&&l>0||l>=c.width*c.height||l>=o.width*o.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=wz(e)?e:a(e);if(!r)return!1;let i=Cz(r,t);return n&&i>0||i>=t.width*t.height||i>=r.width*r.height},updateNode:o,updateNodeData:(e,t,n={replace:!1})=>{o(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge:s,updateEdgeData:(e,t,n={replace:!1})=>{s(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState();return rz(e,{nodeLookup:n,nodeOrigin:r})},getHandleConnections:({type:e,id:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}-${e}${n?`-${n}`:``}`)?.values()??[]),getNodeConnections:({type:e,handleId:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}${e?n?`-${e}-${n}`:`-${e}`:``}`)?.values()??[]),fitView:async e=>{let r=t.getState().fitViewResolver??Bz();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:r}),n.nodeQueue.push(e=>[...e]),r.promise}}},[]);return(0,y.useMemo)(()=>({...i,...e,viewportInitialized:r}),[r])}var WH=e=>e.selected,GH=typeof window<`u`?window:void 0;function KH({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=GV(),{deleteElements:r}=UH(),i=yH(e,{actInsideInputWithModifier:!1}),a=yH(t,{target:GH});(0,y.useEffect)(()=>{if(i){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(WH),edges:e.filter(WH)}),n.setState({nodesSelectionActive:!1})}},[i]),(0,y.useEffect)(()=>{n.setState({multiSelectionActive:a})},[a])}function qH(e){let t=GV();(0,y.useEffect)(()=>{let n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let n=Wz(e.current);(n.height===0||n.width===0)&&t.getState().onError?.(`004`,HR.error004()),t.setState({width:n.width||500,height:n.height||500})};if(e.current){n(),window.addEventListener(`resize`,n);let t=new ResizeObserver(()=>n());return t.observe(e.current),()=>{window.removeEventListener(`resize`,n),t&&e.current&&t.unobserve(e.current)}}},[])}var JH={position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},YH=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function XH({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panActivationKeyPressed:i,panOnScrollSpeed:a=.5,panOnScrollMode:o=qR.Free,zoomOnDoubleClick:s=!0,panOnDrag:c=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:f,zoomActivationKeyCode:p,preventScrolling:m=!0,children:h,noWheelClassName:g,noPanClassName:_,onViewportChange:v,isControlledViewport:b,paneClickDistance:x,selectionOnDrag:S}){let C=GV(),w=(0,y.useRef)(null),{userSelectionActive:T,lib:E,connectionInProgress:D}=WV(YH,BV),ee=yH(p),O=(0,y.useRef)();qH(w);let k=(0,y.useCallback)(e=>{v?.({x:e[0],y:e[1],zoom:e[2]}),b||C.setState({transform:e})},[v,b]);return(0,y.useEffect)(()=>{if(w.current){O.current=hV({domNode:w.current,minZoom:d,maxZoom:f,translateExtent:u,viewport:l,onDraggingChange:e=>C.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=C.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=C.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=C.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=O.current.getViewport();return C.setState({panZoom:O.current,transform:[e,t,n],domNode:w.current.closest(`.react-flow`)}),()=>{O.current?.destroy()}}},[]),(0,y.useEffect)(()=>{O.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panActivationKeyPressed:i,panOnScrollSpeed:a,panOnScrollMode:o,zoomOnDoubleClick:s,panOnDrag:c,zoomActivationKeyPressed:ee,preventScrolling:m,noPanClassName:_,userSelectionActive:T,noWheelClassName:g,lib:E,onTransformChange:k,connectionInProgress:D,selectionOnDrag:S,paneClickDistance:x})},[e,t,n,r,i,a,o,s,c,ee,m,_,T,g,E,k,D,S,x]),(0,X.jsx)(`div`,{className:`react-flow__renderer`,ref:w,style:JH,children:h})}var ZH=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function QH(){let{userSelectionActive:e,userSelectionRect:t}=WV(ZH,BV);return e&&t?(0,X.jsx)(`div`,{className:`react-flow__selection react-flow__container`,style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}var $H=(e,t)=>n=>{n.target===t.current&&e?.(n)},eU=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function tU({isSelecting:e,selectionKeyPressed:t,selectionMode:n=JR.Full,panOnDrag:r,autoPanOnSelection:i,paneClickDistance:a,selectionOnDrag:o,onSelectionStart:s,onSelectionEnd:c,onPaneClick:l,onPaneContextMenu:u,onPaneScroll:d,onPaneMouseEnter:f,onPaneMouseMove:p,onPaneMouseLeave:m,children:h}){let g=(0,y.useRef)(0),_=GV(),{userSelectionActive:v,elementsSelectable:b,dragging:x,panBy:S,autoPanSpeed:C}=WV(eU,BV),w=b&&(e||v),T=(0,y.useRef)(null),E=(0,y.useRef)(),D=(0,y.useRef)(new Set),ee=(0,y.useRef)(new Set),O=(0,y.useRef)(!1),k=(0,y.useRef)(!1),A=(0,y.useRef)({x:0,y:0}),te=(0,y.useRef)(!1),ne=e=>{if(k.current||O.current||_.getState().connection.inProgress){k.current=!1,O.current=!1;return}l?.(e),_.getState().resetSelectedElements(),_.setState({nodesSelectionActive:!1})},re=e=>{if(Array.isArray(r)&&r?.includes(2)){e.preventDefault();return}u?.(e)},ie=d?e=>d(e):void 0,ae=e=>{k.current&&=(e.stopPropagation(),!1)},oe=n=>{if(n.pointerType===`touch`&&r!==!1&&!t)return;let{domNode:i,transform:a}=_.getState();if(E.current=i?.getBoundingClientRect(),!E.current)return;let s=n.target===T.current;if(!s&&n.target.closest(`.nokey`)||!e||!(o&&s||t)||n.button!==0||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),k.current=!1;let{x:c,y:l}=Yz(n.nativeEvent,E.current),u=Oz({x:c,y:l},a);_.setState({userSelectionRect:{width:0,height:0,startX:u.x,startY:u.y,x:c,y:l}}),s||(n.stopPropagation(),n.preventDefault())};function se(e,t){let{userSelectionRect:r}=_.getState();if(!r)return;let{transform:i,nodeLookup:a,edgeLookup:o,connectionLookup:s,triggerNodeChanges:c,triggerEdgeChanges:l,defaultEdgeOptions:u}=_.getState(),d={x:r.startX,y:r.startY},{x:f,y:p}=kz(d,i),m={startX:d.x,startY:d.y,x:e<f?e:f,y:t<p?t:p,width:Math.abs(e-f),height:Math.abs(t-p)},h=D.current,g=ee.current;D.current=new Set(az(a,m,i,n===JR.Partial,!0).map(e=>e.id)),ee.current=new Set;let v=u?.selectable??!0;for(let e of D.current){let t=s.get(e);if(t)for(let{edgeId:e}of t.values()){let t=o.get(e);t&&(t.selectable??v)&&ee.current.add(e)}}zz(h,D.current)||c(OH(a,D.current,!0)),zz(g,ee.current)||l(OH(o,ee.current)),_.setState({userSelectionRect:m,userSelectionActive:!0,nodesSelectionActive:!1})}function ce(){if(!i||!E.current)return;let[e,t]=hz(A.current,E.current,C);S({x:e,y:t}).then(e=>{if(!k.current||!e){g.current=requestAnimationFrame(ce);return}let{x:t,y:n}=A.current;se(t,n),g.current=requestAnimationFrame(ce)})}let j=()=>{cancelAnimationFrame(g.current),g.current=0,te.current=!1};(0,y.useEffect)(()=>()=>j(),[]);let le=e=>{let{userSelectionRect:n,transform:r,resetSelectedElements:i}=_.getState();if(!E.current||!n)return;let{x:o,y:c}=Yz(e.nativeEvent,E.current);A.current={x:o,y:c};let l=kz({x:n.startX,y:n.startY},r);if(!k.current){let n=t?0:a;if(Math.hypot(o-l.x,c-l.y)<=n)return;i(),s?.(e)}k.current=!0,te.current||=(ce(),!0),se(o,c)},ue=e=>{if(!w){e.target===T.current&&_.getState().connection.inProgress&&(O.current=!0);return}e.button===0&&(e.target?.releasePointerCapture?.(e.pointerId),!v&&e.target===T.current&&_.getState().userSelectionRect&&ne?.(e),_.setState({userSelectionActive:!1,userSelectionRect:null}),k.current&&(c?.(e),_.setState({nodesSelectionActive:D.current.size>0})),j())},de=e=>{e.target?.releasePointerCapture?.(e.pointerId),j()},fe=r===!0||Array.isArray(r)&&r.includes(0);return(0,X.jsxs)(`div`,{className:aN([`react-flow__pane`,{draggable:fe,dragging:x,selection:e}]),onClick:w?void 0:$H(ne,T),onContextMenu:$H(re,T),onWheel:$H(ie,T),onPointerEnter:w?void 0:f,onPointerMove:w?le:p,onPointerUp:ue,onPointerCancel:w?de:void 0,onPointerDownCapture:w?oe:void 0,onClickCapture:w?ae:void 0,onPointerLeave:m,ref:T,style:JH,children:[h,(0,X.jsx)(QH,{})]})}function nU({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:i,unselectNodesAndEdges:a,multiSelectionActive:o,nodeLookup:s,onError:c}=t.getState(),l=s.get(e);if(!l){c?.(`012`,HR.error012(e));return}t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&(a({nodes:[l],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])}function rU({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:a,nodeClickDistance:o}){let s=GV(),[c,l]=(0,y.useState)(!1),u=(0,y.useRef)();return(0,y.useEffect)(()=>{if(!t)return u.current=WB({getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{nU({id:t,store:s,nodeRef:e})},onDragStart:()=>{l(!0)},onDragStop:()=>{l(!1)}}),()=>{u.current?.destroy(),u.current=void 0}},[t,s,e]),(0,y.useEffect)(()=>{!t&&e.current&&u.current&&u.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:i,nodeClickDistance:o})},[n,r,t,a,e,i,o]),c}var iU=e=>t=>t.selected&&(t.draggable||e&&t.draggable===void 0);function aU(){let e=GV();return(0,y.useCallback)(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:i,nodesDraggable:a,onError:o,updateNodePositions:s,nodeLookup:c,nodeOrigin:l}=e.getState(),u=new Map,d=iU(a),f=r?i[0]:5,p=r?i[1]:5,m=t.direction.x*f*t.factor,h=t.direction.y*p*t.factor;for(let[,e]of c){if(!d(e))continue;let t={x:e.internals.positionAbsolute.x+m,y:e.internals.positionAbsolute.y+h};r&&(t=Dz(t,i));let{position:a,positionAbsolute:s}=lz({nodeId:e.id,nextPosition:t,nodeLookup:c,nodeExtent:n,nodeOrigin:l,onError:o});e.position=a,e.internals.positionAbsolute=s,u.set(e.id,e)}s(u)},[])}var oU=(0,y.createContext)(null),sU=oU.Provider;oU.Consumer;var cU=()=>(0,y.useContext)(oU),lU=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),uU=(0,y.createContext)(null);function dU({children:e}){let t=WV(lU,BV);return(0,X.jsx)(uU.Provider,{value:t,children:e})}function fU(){let e=(0,y.useContext)(uU);if(!e)throw Error(`useHandleConfig must be used within a HandleConfigProvider`);return e}var pU={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},mU=(e,t,n)=>r=>{let{connectionClickStartHandle:i,connectionMode:a,connection:o}=r,{fromHandle:s,toHandle:c,isValid:l}=o;if(!s&&!i)return pU;let u=c?.nodeId===e&&c?.id===t&&c?.type===n;return{connectingFrom:s?.nodeId===e&&s?.id===t&&s?.type===n,connectingTo:u,clickConnecting:i?.nodeId===e&&i?.id===t&&i?.type===n,isPossibleEndHandle:a===KR.Strict?s?.type!==n:e!==s?.nodeId||t!==s?.id,connectionInProcess:!!s,clickConnectionInProcess:!!i,valid:u&&l}};function hU({type:e=`source`,position:t=$.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:a=!0,id:o,onConnect:s,children:c,className:l,onMouseDown:u,onTouchStart:d,...f},p){let m=o||null,h=e===`target`,g=GV(),_=cU(),{connectOnClick:v,noPanClassName:y,rfId:b}=fU(),{connectingFrom:x,connectingTo:S,clickConnecting:C,isPossibleEndHandle:w,connectionInProcess:T,clickConnectionInProcess:E,valid:D}=WV(mU(_,m,e),BV);_||g.getState().onError?.(`010`,HR.error010());let ee=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=g.getState(),i={...t,...e};if(r){let{edges:e,setEdges:t,onError:n}=g.getState();t(MH(i,e,{onError:n}))}n?.(i),s?.(i)},O=e=>{if(!_)return;let t=Jz(e.nativeEvent);if(i&&(t&&e.button===0||!t)){let t=g.getState();eV.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:h,handleId:m,nodeId:_,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>g.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:ee,isValidConnection:n||((...e)=>g.getState().isValidConnection?.(...e)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?u?.(e):d?.(e)};return(0,X.jsx)(`div`,{"data-handleid":m,"data-nodeid":_,"data-handlepos":t,"data-id":`${b}-${_}-${m}-${e}`,className:aN([`react-flow__handle`,`react-flow__handle-${t}`,`nodrag`,y,l,{source:!h,target:h,connectable:r,connectablestart:i,connectableend:a,clickconnecting:C,connectingfrom:x,connectingto:S,valid:D,connectionindicator:r&&(!T||w)&&(T||E?a:i)}]),onMouseDown:O,onTouchStart:O,onClick:v?t=>{let{onClickConnectStart:r,onClickConnectEnd:a,connectionClickStartHandle:o,connectionMode:s,isValidConnection:c,lib:l,rfId:u,nodeLookup:d,connection:f}=g.getState();if(!_||!o&&!i)return;if(!o){r?.(t.nativeEvent,{nodeId:_,handleId:m,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:_,type:e,id:m}});return}let p=Gz(t.target),h=n||c,{connection:v,isValid:y}=eV.isValid(t.nativeEvent,{handle:{nodeId:_,id:m,type:e},connectionMode:s,fromNodeId:o.nodeId,fromHandleId:o.id||null,fromType:o.type,isValidConnection:h,flowId:u,doc:p,lib:l,nodeLookup:d});y&&v&&ee(v);let b=structuredClone(f);delete b.inProgress,b.toPosition=b.toHandle?b.toHandle.position:null,a?.(t,b),g.setState({connectionClickStartHandle:null})}:void 0,ref:p,...f,children:c})}var gU=(0,y.memo)(FH(hU));function _U({data:e,isConnectable:t,sourcePosition:n=$.Bottom}){return(0,X.jsxs)(X.Fragment,{children:[e?.label,(0,X.jsx)(gU,{type:`source`,position:n,isConnectable:t})]})}function vU({data:e,isConnectable:t,targetPosition:n=$.Top,sourcePosition:r=$.Bottom}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(gU,{type:`target`,position:n,isConnectable:t}),e?.label,(0,X.jsx)(gU,{type:`source`,position:r,isConnectable:t})]})}function yU(){return null}function bU({data:e,isConnectable:t,targetPosition:n=$.Top}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(gU,{type:`target`,position:n,isConnectable:t}),e?.label]})}var xU={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},SU={input:_U,default:vU,output:bU,group:yU};function CU(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}var wU=e=>{let{width:t,height:n,x:r,y:i}=iz(e.nodeLookup,{filter:e=>!!e.selected});return{width:Tz(t)?t:null,height:Tz(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${i}px)`}};function TU({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=GV(),{width:i,height:a,transformString:o,userSelectionActive:s}=WV(wU,BV),c=aU(),l=(0,y.useRef)(null);(0,y.useEffect)(()=>{n||l.current?.focus({preventScroll:!0})},[n]);let u=!s&&i!==null&&a!==null;if(rU({nodeRef:l,disabled:!u}),!u)return null;let d=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0;return(0,X.jsx)(`div`,{className:aN([`react-flow__nodesselection`,`react-flow__container`,t]),style:{transform:o},children:(0,X.jsx)(`div`,{ref:l,className:`react-flow__nodesselection-rect`,onContextMenu:d,tabIndex:n?void 0:-1,onKeyDown:n?void 0:e=>{Object.prototype.hasOwnProperty.call(xU,e.key)&&(e.preventDefault(),c({direction:xU[e.key],factor:e.shiftKey?4:1}))},style:{width:i,height:a}})})}var EU=typeof window<`u`?window:void 0,DU=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function OU({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,paneClickDistance:s,deleteKeyCode:c,selectionKeyCode:l,selectionOnDrag:u,selectionMode:d,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:m,panActivationKeyCode:h,zoomActivationKeyCode:g,elementsSelectable:_,zoomOnScroll:v,zoomOnPinch:y,panOnScroll:b,panOnScrollSpeed:x,panOnScrollMode:S,zoomOnDoubleClick:C,panOnDrag:w,autoPanOnSelection:T,defaultViewport:E,translateExtent:D,minZoom:ee,maxZoom:O,preventScrolling:k,onSelectionContextMenu:A,noWheelClassName:te,noPanClassName:ne,disableKeyboardA11y:re,onViewportChange:ie,isControlledViewport:ae}){let{nodesSelectionActive:oe,userSelectionActive:se}=WV(DU,BV),ce=yH(l,{target:EU}),j=yH(h,{target:EU}),le=j||w,ue=j||b,de=u&&le!==!0,fe=ce||se||de;return KH({deleteKeyCode:c,multiSelectionKeyCode:m}),(0,X.jsx)(XH,{onPaneContextMenu:a,elementsSelectable:_,zoomOnScroll:v,zoomOnPinch:y,panOnScroll:ue,panActivationKeyPressed:j,panOnScrollSpeed:x,panOnScrollMode:S,zoomOnDoubleClick:C,panOnDrag:!ce&&le,defaultViewport:E,translateExtent:D,minZoom:ee,maxZoom:O,zoomActivationKeyCode:g,preventScrolling:k,noWheelClassName:te,noPanClassName:ne,onViewportChange:ie,isControlledViewport:ae,paneClickDistance:s,selectionOnDrag:de,children:(0,X.jsxs)(tU,{onSelectionStart:f,onSelectionEnd:p,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:a,onPaneScroll:o,panOnDrag:le,autoPanOnSelection:T,isSelecting:!!fe,selectionMode:d,selectionKeyPressed:ce,paneClickDistance:s,selectionOnDrag:de,children:[e,oe&&(0,X.jsx)(TU,{onSelectionContextMenu:A,noPanClassName:ne,disableKeyboardA11y:re})]})})}OU.displayName=`FlowRenderer`;var kU=(0,y.memo)(OU),AU=e=>t=>e?az(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(e=>e.id):Array.from(t.nodeLookup.keys());function jU(e){return WV((0,y.useCallback)(AU(e),[e]),BV)}var MU=e=>e.updateNodeInternals;function NU(){let e=WV(MU),[t]=(0,y.useState)(()=>typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute(`data-id`);n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return(0,y.useEffect)(()=>()=>{t?.disconnect()},[t]),t}function PU({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let i=GV(),a=(0,y.useRef)(null),o=(0,y.useRef)(null),s=(0,y.useRef)(e.sourcePosition),c=(0,y.useRef)(e.targetPosition),l=(0,y.useRef)(t),u=n&&!!e.internals.handleBounds;return(0,y.useEffect)(()=>{a.current&&!e.hidden&&(!u||o.current!==a.current)&&(o.current&&r?.unobserve(o.current),r?.observe(a.current),o.current=a.current)},[u,e.hidden]),(0,y.useEffect)(()=>()=>{o.current&&=(r?.unobserve(o.current),null)},[]),(0,y.useEffect)(()=>{if(a.current){let n=l.current!==t,r=s.current!==e.sourcePosition,o=c.current!==e.targetPosition;(n||r||o)&&(l.current=t,s.current=e.sourcePosition,c.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function FU({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onContextMenu:a,onDoubleClick:o,nodesDraggable:s,elementsSelectable:c,nodesConnectable:l,nodesFocusable:u,resizeObserver:d,noDragClassName:f,noPanClassName:p,disableKeyboardA11y:m,rfId:h,nodeTypes:g,nodeClickDistance:_,onError:v}){let{node:y,internals:b,isParent:x}=WV(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},BV),S=y.type||`default`,C=g?.[S]||SU[S];C===void 0&&(v?.(`003`,HR.error003(S)),S=`default`,C=g?.default||SU.default);let w=!!(y.draggable||s&&y.draggable===void 0),T=!!(y.selectable||c&&y.selectable===void 0),E=!!(y.connectable||l&&y.connectable===void 0),D=!!(y.focusable||u&&y.focusable===void 0),ee=GV(),O=Lz(y),k=PU({node:y,nodeType:S,hasDimensions:O,resizeObserver:d}),A=rU({nodeRef:k,disabled:y.hidden||!w,noDragClassName:f,handleSelector:y.dragHandle,nodeId:e,isSelectable:T,nodeClickDistance:_}),te=aU();if(y.hidden)return null;let ne=Iz(y),re=CU(y),ie=T||w||t||n||r||i,ae=n?e=>n(e,{...b.userNode}):void 0,oe=r?e=>r(e,{...b.userNode}):void 0,se=i?e=>i(e,{...b.userNode}):void 0,ce=a?e=>a(e,{...b.userNode}):void 0,j=o?e=>o(e,{...b.userNode}):void 0,le=n=>{let{selectNodesOnDrag:r,nodeDragThreshold:i}=ee.getState();T&&(!r||!w||i>0)&&nU({id:e,store:ee,nodeRef:k}),t&&t(n,{...b.userNode})},ue=t=>{if(!(qz(t.nativeEvent)||m)){if(WR.includes(t.key)&&T){let n=t.key===`Escape`;nU({id:e,store:ee,unselect:n,nodeRef:k})}else if(w&&y.selected&&Object.prototype.hasOwnProperty.call(xU,t.key)){t.preventDefault();let{ariaLabelConfig:e}=ee.getState();ee.setState({ariaLiveMessage:e[`node.a11yDescription.ariaLiveMessage`]({direction:t.key.replace(`Arrow`,``).toLowerCase(),x:~~b.positionAbsolute.x,y:~~b.positionAbsolute.y})}),te({direction:xU[t.key],factor:t.shiftKey?4:1})}}},de=()=>{if(m||!k.current?.matches(`:focus-visible`))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:i,setCenter:a}=ee.getState();i&&(az(new Map([[e,y]]),{x:0,y:0,width:n,height:r},t,!0).length>0||a(y.position.x+ne.width/2,y.position.y+ne.height/2,{zoom:t[2]}))};return(0,X.jsx)(`div`,{className:aN([`react-flow__node`,`react-flow__node-${S}`,{[p]:w},y.className,{selected:y.selected,selectable:T,parent:x,draggable:w,dragging:A}]),ref:k,style:{zIndex:b.z,transform:`translate(${b.positionAbsolute.x}px,${b.positionAbsolute.y}px)`,pointerEvents:ie?`all`:`none`,visibility:O?`visible`:`hidden`,...y.style,...re},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:ae,onMouseMove:oe,onMouseLeave:se,onContextMenu:ce,onClick:le,onDoubleClick:j,onKeyDown:D?ue:void 0,tabIndex:D?0:void 0,onFocus:D?de:void 0,role:y.ariaRole??(D?`group`:void 0),"aria-roledescription":`node`,"aria-describedby":m?void 0:`${JV}-${h}`,"aria-label":y.ariaLabel,...y.domAttributes,children:(0,X.jsx)(sU,{value:e,children:(0,X.jsx)(C,{id:e,data:y.data,type:S,positionAbsoluteX:b.positionAbsolute.x,positionAbsoluteY:b.positionAbsolute.y,selected:y.selected??!1,selectable:T,draggable:w,deletable:y.deletable??!0,isConnectable:E,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:A,dragHandle:y.dragHandle,zIndex:b.z,parentId:y.parentId,...ne})})})}var IU=(0,y.memo)(FU),LU=e=>({nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function RU(e){let{nodesConnectable:t,nodesFocusable:n,elementsSelectable:r,onError:i}=WV(LU,BV),a=jU(e.onlyRenderVisibleElements),o=NU();return(0,X.jsx)(`div`,{className:`react-flow__nodes`,style:JH,children:a.map(a=>(0,X.jsx)(IU,{id:a,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:o,nodesDraggable:e.nodesDraggable??!0,nodesConnectable:t,nodesFocusable:n,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:i},a))})}RU.displayName=`NodeRenderer`;var zU=(0,y.memo)(RU);function BU(e){return WV((0,y.useCallback)(t=>{if(!e)return t.edges.map(e=>e.id);let n=[];if(t.width&&t.height)for(let e of t.edges){let r=t.nodeLookup.get(e.source),i=t.nodeLookup.get(e.target);r&&i&&rB({sourceNode:r,targetNode:i,width:t.width,height:t.height,transform:t.transform})&&n.push(e.id)}return n},[e]),BV)}var VU=({color:e=`none`,strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e}};return(0,X.jsx)(`polyline`,{className:`arrow`,style:n,strokeLinecap:`round`,fill:`none`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4`})},HU=({color:e=`none`,strokeWidth:t=1})=>{let n={strokeWidth:t,...e&&{stroke:e,fill:e}};return(0,X.jsx)(`polyline`,{className:`arrowclosed`,style:n,strokeLinecap:`round`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4 -5,-4`})},UU={[ZR.Arrow]:VU,[ZR.ArrowClosed]:HU};function WU(e){let t=GV();return(0,y.useMemo)(()=>Object.prototype.hasOwnProperty.call(UU,e)?UU[e]:(t.getState().onError?.(`009`,HR.error009(e)),null),[e])}var GU=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:a=`strokeWidth`,strokeWidth:o,orient:s=`auto-start-reverse`})=>{let c=WU(t);return c?(0,X.jsx)(`marker`,{className:`react-flow__arrowhead`,id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:`-10 -10 20 20`,markerUnits:a,orient:s,refX:`0`,refY:`0`,children:(0,X.jsx)(c,{color:n,strokeWidth:o})}):null},KU=({defaultColor:e,rfId:t})=>{let n=WV(e=>e.edges),r=WV(e=>e.defaultEdgeOptions),i=(0,y.useMemo)(()=>bB(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return i.length?(0,X.jsx)(`svg`,{className:`react-flow__marker`,"aria-hidden":`true`,children:(0,X.jsx)(`defs`,{children:i.map(e=>(0,X.jsx)(GU,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};KU.displayName=`MarkerDefinitions`;var qU=(0,y.memo)(KU);function JU({x:e,y:t,label:n,labelStyle:r,labelShowBg:i=!0,labelBgStyle:a,labelBgPadding:o=[2,4],labelBgBorderRadius:s=2,children:c,className:l,...u}){let[d,f]=(0,y.useState)({x:1,y:0,width:0,height:0}),p=aN([`react-flow__edge-textwrapper`,l]),m=(0,y.useRef)(null);return(0,y.useEffect)(()=>{if(m.current){let e=m.current.getBBox();f({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n?(0,X.jsxs)(`g`,{transform:`translate(${e-d.width/2} ${t-d.height/2})`,className:p,visibility:d.width?`visible`:`hidden`,...u,children:[i&&(0,X.jsx)(`rect`,{width:d.width+2*o[0],x:-o[0],y:-o[1],height:d.height+2*o[1],className:`react-flow__edge-textbg`,style:a,rx:s,ry:s}),(0,X.jsx)(`text`,{className:`react-flow__edge-text`,y:d.height/2,dy:`0.3em`,ref:m,style:r,children:n}),c]}):null}JU.displayName=`EdgeText`;var YU=(0,y.memo)(JU);function XU({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:s,labelBgBorderRadius:c,interactionWidth:l=20,...u}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`path`,{...u,d:e,fill:`none`,className:aN([`react-flow__edge-path`,u.className])}),l?(0,X.jsx)(`path`,{d:e,fill:`none`,strokeOpacity:0,strokeWidth:l,className:`react-flow__edge-interaction`}):null,r&&Tz(t)&&Tz(n)?(0,X.jsx)(YU,{x:t,y:n,label:r,labelStyle:i,labelShowBg:a,labelBgStyle:o,labelBgPadding:s,labelBgBorderRadius:c}):null]})}function ZU({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===$.Left||e===$.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function QU({sourceX:e,sourceY:t,sourcePosition:n=$.Bottom,targetX:r,targetY:i,targetPosition:a=$.Top}){let[o,s]=ZU({pos:n,x1:e,y1:t,x2:r,y2:i}),[c,l]=ZU({pos:a,x1:r,y1:i,x2:e,y2:t}),[u,d,f,p]=Zz({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:o,sourceControlY:s,targetControlX:c,targetControlY:l});return[`M${e},${t} C${o},${s} ${c},${l} ${r},${i}`,u,d,f,p]}function $U(e){return(0,y.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:_})=>{let[v,y,b]=QU({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s}),x=e.isInternal?void 0:t;return(0,X.jsx)(XU,{id:x,path:v,labelX:y,labelY:b,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:_})})}var eW=$U({isInternal:!1}),tW=$U({isInternal:!0});eW.displayName=`SimpleBezierEdge`,tW.displayName=`SimpleBezierEdgeInternal`;function nW(e){return(0,y.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,sourcePosition:p=$.Bottom,targetPosition:m=$.Top,markerEnd:h,markerStart:g,pathOptions:_,interactionWidth:v})=>{let[y,b,x]=pB({sourceX:n,sourceY:r,sourcePosition:p,targetX:i,targetY:a,targetPosition:m,borderRadius:_?.borderRadius,offset:_?.offset,stepPosition:_?.stepPosition}),S=e.isInternal?void 0:t;return(0,X.jsx)(XU,{id:S,path:y,labelX:b,labelY:x,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:h,markerStart:g,interactionWidth:v})})}var rW=nW({isInternal:!1}),iW=nW({isInternal:!0});rW.displayName=`SmoothStepEdge`,iW.displayName=`SmoothStepEdgeInternal`;function aW(e){return(0,y.memo)(({id:t,...n})=>{let r=e.isInternal?void 0:t;return(0,X.jsx)(rW,{...n,id:r,pathOptions:(0,y.useMemo)(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}var oW=aW({isInternal:!1}),sW=aW({isInternal:!0});oW.displayName=`StepEdge`,sW.displayName=`StepEdgeInternal`;function cW(e){return(0,y.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})=>{let[g,_,v]=sB({sourceX:n,sourceY:r,targetX:i,targetY:a}),y=e.isInternal?void 0:t;return(0,X.jsx)(XU,{id:y,path:g,labelX:_,labelY:v,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:m,interactionWidth:h})})}var lW=cW({isInternal:!1}),uW=cW({isInternal:!0});lW.displayName=`StraightEdge`,uW.displayName=`StraightEdgeInternal`;function dW(e){return(0,y.memo)(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o=$.Bottom,targetPosition:s=$.Top,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,pathOptions:_,interactionWidth:v})=>{let[y,b,x]=eB({sourceX:n,sourceY:r,sourcePosition:o,targetX:i,targetY:a,targetPosition:s,curvature:_?.curvature}),S=e.isInternal?void 0:t;return(0,X.jsx)(XU,{id:S,path:y,labelX:b,labelY:x,label:c,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:m,markerEnd:h,markerStart:g,interactionWidth:v})})}var fW=dW({isInternal:!1}),pW=dW({isInternal:!0});fW.displayName=`BezierEdge`,pW.displayName=`BezierEdgeInternal`;var mW={default:pW,straight:uW,step:sW,smoothstep:iW,simplebezier:tW},hW={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},gW=(e,t,n)=>n===$.Left?e-t:n===$.Right?e+t:e,_W=(e,t,n)=>n===$.Top?e-t:n===$.Bottom?e+t:e,vW=`react-flow__edgeupdater`;function yW({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:a,onMouseOut:o,type:s}){return(0,X.jsx)(`circle`,{onMouseDown:i,onMouseEnter:a,onMouseOut:o,className:aN([vW,`${vW}-${s}`]),cx:gW(t,r,e),cy:_W(n,r,e),r,stroke:`transparent`,fill:`transparent`})}function bW({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:i,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,onReconnect:l,onReconnectStart:u,onReconnectEnd:d,setReconnecting:f,setUpdateHover:p}){let m=GV(),h=(e,t)=>{if(e.button!==0)return;let{autoPanOnConnect:r,domNode:i,connectionMode:a,connectionRadius:o,lib:s,onConnectStart:c,cancelConnection:p,nodeLookup:h,rfId:g,panBy:_,updateConnection:v}=m.getState(),y=t.type===`target`;eV.onPointerDown(e.nativeEvent,{autoPanOnConnect:r,connectionMode:a,connectionRadius:o,domNode:i,handleId:t.id,nodeId:t.nodeId,nodeLookup:h,isTarget:y,edgeUpdaterType:t.type,lib:s,flowId:g,cancelConnection:p,panBy:_,isValidConnection:(...e)=>m.getState().isValidConnection?.(...e)??!0,onConnect:e=>l?.(n,e),onConnectStart:(r,i)=>{f(!0),u?.(e,n,t.type),c?.(r,i)},onConnectEnd:(...e)=>m.getState().onConnectEnd?.(...e),onReconnectEnd:(e,r)=>{f(!1),d?.(e,n,t.type,r)},updateConnection:v,getTransform:()=>m.getState().transform,getFromHandle:()=>m.getState().connection.fromHandle,dragThreshold:m.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},g=e=>h(e,{nodeId:n.target,id:n.targetHandle??null,type:`target`}),_=e=>h(e,{nodeId:n.source,id:n.sourceHandle??null,type:`source`}),v=()=>p(!0),y=()=>p(!1);return(0,X.jsxs)(X.Fragment,{children:[(e===!0||e===`source`)&&(0,X.jsx)(yW,{position:s,centerX:r,centerY:i,radius:t,onMouseDown:g,onMouseEnter:v,onMouseOut:y,type:`source`}),(e===!0||e===`target`)&&(0,X.jsx)(yW,{position:c,centerX:a,centerY:o,radius:t,onMouseDown:_,onMouseEnter:v,onMouseOut:y,type:`target`})]})}function xW({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:i,onDoubleClick:a,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,reconnectRadius:u,onReconnect:d,onReconnectStart:f,onReconnectEnd:p,rfId:m,edgeTypes:h,noPanClassName:g,onError:_,disableKeyboardA11y:v}){let b=WV(t=>t.edgeLookup.get(e)),x=WV(e=>e.defaultEdgeOptions);b=x?{...x,...b}:b;let S=b.type||`default`,C=h?.[S]||mW[S];C===void 0&&(_?.(`011`,HR.error011(S)),S=`default`,C=h?.default||mW.default);let w=!!(b.focusable||t&&b.focusable===void 0),T=d!==void 0&&(b.reconnectable||n&&b.reconnectable===void 0),E=!!(b.selectable||r&&b.selectable===void 0),D=(0,y.useRef)(null),[ee,O]=(0,y.useState)(!1),[k,A]=(0,y.useState)(!1),te=GV(),{zIndex:ne=b.zIndex,sourceX:re,sourceY:ie,targetX:ae,targetY:oe,sourcePosition:se,targetPosition:ce}=WV((0,y.useCallback)(t=>{let n=t.nodeLookup.get(b.source),r=t.nodeLookup.get(b.target);if(!n||!r)return hW;let i=hB({id:e,sourceNode:n,targetNode:r,sourceHandle:b.sourceHandle||null,targetHandle:b.targetHandle||null,connectionMode:t.connectionMode,onError:_}),a=nB({selected:b.selected,zIndex:b.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode});return{...i||hW,zIndex:a}},[b.source,b.target,b.sourceHandle,b.targetHandle,b.selected,b.zIndex,_]),BV),j=(0,y.useMemo)(()=>b.markerStart?`url('#${yB(b.markerStart,m)}')`:void 0,[b.markerStart,m]),le=(0,y.useMemo)(()=>b.markerEnd?`url('#${yB(b.markerEnd,m)}')`:void 0,[b.markerEnd,m]);if(b.hidden||re===null||ie===null||ae===null||oe===null)return null;let ue=t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:a}=te.getState();E&&(te.setState({nodesSelectionActive:!1}),b.selected&&a?(r({nodes:[],edges:[b]}),D.current?.blur()):n([e])),i&&i(t,b)},de=a?e=>{a(e,{...b})}:void 0,fe=o?e=>{o(e,{...b})}:void 0,pe=s?e=>{s(e,{...b})}:void 0,me=c?e=>{c(e,{...b})}:void 0,he=l?e=>{l(e,{...b})}:void 0;return(0,X.jsx)(`svg`,{style:{zIndex:ne},children:(0,X.jsxs)(`g`,{className:aN([`react-flow__edge`,`react-flow__edge-${S}`,b.className,g,{selected:b.selected,animated:b.animated,inactive:!E&&!i,updating:ee,selectable:E}]),onClick:ue,onDoubleClick:de,onContextMenu:fe,onMouseEnter:pe,onMouseMove:me,onMouseLeave:he,onKeyDown:w?t=>{if(!v&&WR.includes(t.key)&&E){let{unselectNodesAndEdges:n,addSelectedEdges:r}=te.getState();t.key===`Escape`?(D.current?.blur(),n({edges:[b]})):r([e])}}:void 0,tabIndex:w?0:void 0,role:b.ariaRole??(w?`group`:`img`),"aria-roledescription":`edge`,"data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":b.ariaLabel===null?void 0:b.ariaLabel||`Edge from ${b.source} to ${b.target}`,"aria-describedby":w?`${YV}-${m}`:void 0,ref:D,...b.domAttributes,children:[!k&&(0,X.jsx)(C,{id:e,source:b.source,target:b.target,type:b.type,selected:b.selected,animated:b.animated,selectable:E,deletable:b.deletable??!0,label:b.label,labelStyle:b.labelStyle,labelShowBg:b.labelShowBg,labelBgStyle:b.labelBgStyle,labelBgPadding:b.labelBgPadding,labelBgBorderRadius:b.labelBgBorderRadius,sourceX:re,sourceY:ie,targetX:ae,targetY:oe,sourcePosition:se,targetPosition:ce,data:b.data,style:b.style,sourceHandleId:b.sourceHandle,targetHandleId:b.targetHandle,markerStart:j,markerEnd:le,pathOptions:`pathOptions`in b?b.pathOptions:void 0,interactionWidth:b.interactionWidth}),T&&(0,X.jsx)(bW,{edge:b,isReconnectable:T,reconnectRadius:u,onReconnect:d,onReconnectStart:f,onReconnectEnd:p,sourceX:re,sourceY:ie,targetX:ae,targetY:oe,sourcePosition:se,targetPosition:ce,setUpdateHover:O,setReconnecting:A})]})})}var SW=(0,y.memo)(xW),CW=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function wW({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:i,onReconnect:a,onEdgeContextMenu:o,onEdgeMouseEnter:s,onEdgeMouseMove:c,onEdgeMouseLeave:l,onEdgeClick:u,reconnectRadius:d,onEdgeDoubleClick:f,onReconnectStart:p,onReconnectEnd:m,disableKeyboardA11y:h}){let{edgesFocusable:g,edgesReconnectable:_,elementsSelectable:v,onError:y}=WV(CW,BV),b=BU(t);return(0,X.jsxs)(`div`,{className:`react-flow__edges`,children:[(0,X.jsx)(qU,{defaultColor:e,rfId:n}),b.map(e=>(0,X.jsx)(SW,{id:e,edgesFocusable:g,edgesReconnectable:_,elementsSelectable:v,noPanClassName:i,onReconnect:a,onContextMenu:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,onClick:u,reconnectRadius:d,onDoubleClick:f,onReconnectStart:p,onReconnectEnd:m,rfId:n,onError:y,edgeTypes:r,disableKeyboardA11y:h},e))]})}wW.displayName=`EdgeRenderer`;var TW=(0,y.memo)(wW),EW=e=>`translate(${e[0]}px,${e[1]}px) scale(${e[2]})`;function DW({children:e}){let t=GV(),n=(0,y.useRef)(null),[r]=(0,y.useState)(()=>t.getState().transform);return IH(()=>{let e=null,r=()=>{let r=t.getState().transform;e&&r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]||(e=r,n.current&&(n.current.style.transform=EW(r)))};return r(),t.subscribe(r)},[t]),(0,X.jsx)(`div`,{ref:n,className:`react-flow__viewport xyflow__viewport react-flow__container`,style:{transform:EW(r)},children:e})}function OW(e){let t=UH(),n=(0,y.useRef)(!1);(0,y.useEffect)(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}var kW=e=>e.panZoom?.syncViewport;function AW(e){let t=WV(kW),n=GV();return(0,y.useEffect)(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function jW(e){return e.connection.inProgress?{...e.connection,to:Oz(e.connection.to,e.transform)}:{...e.connection}}function MW(e){return e?t=>e(jW(t)):jW}function NW(e){return WV(MW(e),BV)}var PW=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function FW({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:i,width:a,height:o,isValid:s,inProgress:c}=WV(PW,BV);return a&&i&&c?(0,X.jsx)(`svg`,{style:e,width:a,height:o,className:`react-flow__connectionline react-flow__container`,children:(0,X.jsx)(`g`,{className:aN([`react-flow__connection`,Hz(s)]),children:(0,X.jsx)(IW,{style:t,type:n,CustomComponent:r,isValid:s})})}):null}var IW=({style:e,type:t=XR.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:i,from:a,fromNode:o,fromHandle:s,fromPosition:c,to:l,toNode:u,toHandle:d,toPosition:f,pointer:p}=NW();if(!i)return;if(n)return(0,X.jsx)(n,{connectionLineType:t,connectionLineStyle:e,fromNode:o,fromHandle:s,fromX:a.x,fromY:a.y,toX:l.x,toY:l.y,fromPosition:c,toPosition:f,connectionStatus:Hz(r),toNode:u,toHandle:d,pointer:p});let m=``,h={sourceX:a.x,sourceY:a.y,sourcePosition:c,targetX:l.x,targetY:l.y,targetPosition:f};switch(t){case XR.Bezier:[m]=eB(h);break;case XR.SimpleBezier:[m]=QU(h);break;case XR.Step:[m]=pB({...h,borderRadius:0});break;case XR.SmoothStep:[m]=pB(h);break;default:[m]=sB(h)}return(0,X.jsx)(`path`,{d:m,fill:`none`,className:`react-flow__connection-path`,style:e})};IW.displayName=`ConnectionLine`;var LW={};function RW(e=LW){(0,y.useRef)(e),GV(),(0,y.useEffect)(()=>{},[e])}function zW(){GV(),(0,y.useRef)(!1),(0,y.useEffect)(()=>{},[])}function BW({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:i,onNodeDoubleClick:a,onEdgeDoubleClick:o,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,onSelectionContextMenu:d,onSelectionStart:f,onSelectionEnd:p,connectionLineType:m,connectionLineStyle:h,connectionLineComponent:g,connectionLineContainerStyle:_,selectionKeyCode:v,selectionOnDrag:y,selectionMode:b,multiSelectionKeyCode:x,panActivationKeyCode:S,zoomActivationKeyCode:C,deleteKeyCode:w,onlyRenderVisibleElements:T,elementsSelectable:E,defaultViewport:D,translateExtent:ee,minZoom:O,maxZoom:k,preventScrolling:A,defaultMarkerColor:te,zoomOnScroll:ne,zoomOnPinch:re,panOnScroll:ie,panOnScrollSpeed:ae,panOnScrollMode:oe,zoomOnDoubleClick:se,panOnDrag:ce,autoPanOnSelection:j,onPaneClick:le,onPaneMouseEnter:ue,onPaneMouseMove:de,onPaneMouseLeave:fe,onPaneScroll:pe,onPaneContextMenu:me,paneClickDistance:he,nodeClickDistance:ge,onEdgeContextMenu:_e,onEdgeMouseEnter:ve,onEdgeMouseMove:M,onEdgeMouseLeave:N,reconnectRadius:ye,onReconnect:be,onReconnectStart:P,onReconnectEnd:xe,noDragClassName:Se,noWheelClassName:Ce,noPanClassName:we,disableKeyboardA11y:Te,nodeExtent:Ee,rfId:De,viewport:Oe,onViewportChange:ke,nodesDraggable:Ae}){return RW(e),RW(t),zW(),OW(n),AW(Oe),(0,X.jsx)(kU,{onPaneClick:le,onPaneMouseEnter:ue,onPaneMouseMove:de,onPaneMouseLeave:fe,onPaneContextMenu:me,onPaneScroll:pe,paneClickDistance:he,deleteKeyCode:w,selectionKeyCode:v,selectionOnDrag:y,selectionMode:b,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:x,panActivationKeyCode:S,zoomActivationKeyCode:C,elementsSelectable:E,zoomOnScroll:ne,zoomOnPinch:re,zoomOnDoubleClick:se,panOnScroll:ie,panOnScrollSpeed:ae,panOnScrollMode:oe,panOnDrag:ce,autoPanOnSelection:j,defaultViewport:D,translateExtent:ee,minZoom:O,maxZoom:k,onSelectionContextMenu:d,preventScrolling:A,noDragClassName:Se,noWheelClassName:Ce,noPanClassName:we,disableKeyboardA11y:Te,onViewportChange:ke,isControlledViewport:!!Oe,children:(0,X.jsxs)(DW,{children:[(0,X.jsx)(TW,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:o,onReconnect:be,onReconnectStart:P,onReconnectEnd:xe,onlyRenderVisibleElements:T,onEdgeContextMenu:_e,onEdgeMouseEnter:ve,onEdgeMouseMove:M,onEdgeMouseLeave:N,reconnectRadius:ye,defaultMarkerColor:te,noPanClassName:we,disableKeyboardA11y:Te,rfId:De}),(0,X.jsx)(FW,{style:h,type:m,component:g,containerStyle:_}),(0,X.jsx)(`div`,{className:`react-flow__edgelabel-renderer`}),(0,X.jsx)(zU,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:a,onNodeMouseEnter:s,onNodeMouseMove:c,onNodeMouseLeave:l,onNodeContextMenu:u,nodeClickDistance:ge,onlyRenderVisibleElements:T,noPanClassName:we,noDragClassName:Se,disableKeyboardA11y:Te,nodeExtent:Ee,rfId:De,nodesDraggable:Ae}),(0,X.jsx)(`div`,{className:`react-flow__viewport-portal`})]})})}BW.displayName=`GraphView`;var VW=(0,y.memo)(BW),HW=Ez(`React Flow`,`https://reactflow.dev/`),UW=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c=.5,maxZoom:l=2,nodeOrigin:u,nodeExtent:d,zIndexMode:f=`basic`}={})=>{let p=new Map,m=new Map,h=new Map,g=new Map,_=r??t??[],v=n??e??[],y=u??[0,0],b=d??UR;RB(h,g,_);let{nodesInitialized:x}=kB(v,p,m,{nodeOrigin:y,nodeExtent:b,zIndexMode:f}),S=[0,0,1];if(o&&i&&a){let{x:e,y:t,zoom:n}=Nz(iz(p,{filter:e=>!(!e.width&&!e.initialWidth||!e.height&&!e.initialHeight)}),i,a,c,l,s?.padding??.1);S=[e,t,n]}return{rfId:`1`,width:i??0,height:a??0,transform:S,nodes:v,nodesInitialized:x,nodeLookup:p,parentLookup:m,edges:_,edgeLookup:g,connectionLookup:h,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:c,maxZoom:l,translateExtent:UR,nodeExtent:b,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:KR.Strict,domNode:null,paneDragging:!1,noPanClassName:`nopan`,nodeOrigin:y,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:o??!1,fitViewOptions:s,fitViewResolver:null,connection:{...YR},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:``,autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:HW,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:`react`,debug:!1,ariaLabelConfig:GR,zIndexMode:f,defaultEdgeOptions:void 0,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map,onNodesDelete:void 0,onEdgesDelete:void 0,onDelete:void 0,onBeforeDelete:void 0,onViewportChangeStart:void 0,onViewportChange:void 0,onViewportChangeEnd:void 0,onNodeDragStart:void 0,onNodeDrag:void 0,onNodeDragStop:void 0,onSelectionDragStart:void 0,onSelectionDrag:void 0,onSelectionDragStop:void 0,onMoveStart:void 0,onMove:void 0,onMoveEnd:void 0,onConnect:void 0,onConnectStart:void 0,onConnectEnd:void 0,onClickConnectStart:void 0,onClickConnectEnd:void 0}},WW=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c,maxZoom:l,nodeOrigin:u,nodeExtent:d,zIndexMode:f})=>zV((p,m)=>{async function h(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:i,height:a,minZoom:o,maxZoom:s}=m();t&&(await cz({nodes:e,width:i,height:a,panZoom:t,minZoom:o,maxZoom:s},n),r?.resolve(!0),p({fitViewResolver:null}))}return{...UW({nodes:e,edges:t,width:i,height:a,fitView:o,fitViewOptions:s,minZoom:c,maxZoom:l,nodeOrigin:u,nodeExtent:d,defaultNodes:n,defaultEdges:r,zIndexMode:f}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,nodeExtent:i,elevateNodesOnSelect:a,fitViewQueued:o,zIndexMode:s,nodesSelectionActive:c}=m(),{nodesInitialized:l,hasSelectedNodes:u}=kB(e,t,n,{nodeOrigin:r,nodeExtent:i,elevateNodesOnSelect:a,checkEquality:!0,zIndexMode:s}),d=c&&u;o&&l?(h(),p({nodes:e,nodesInitialized:l,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:d})):p({nodes:e,nodesInitialized:l,nodesSelectionActive:d})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=m();RB(t,n,e),p({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=m();t(e),p({hasDefaultNodes:!0})}if(t){let{setEdges:e}=m();e(t),p({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:i,nodeOrigin:a,nodeExtent:o,debug:s,fitViewQueued:c,zIndexMode:l}=m(),{changes:u,updatedInternals:d}=FB(e,n,r,i,a,o,l);d&&(EB(n,r,{nodeOrigin:a,nodeExtent:o,zIndexMode:l}),c?(h(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),u?.length>0&&(s&&console.log(`React Flow: trigger node changes`,u),t?.(u)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:i,triggerNodeChanges:a,connection:o,updateConnection:s,onNodesChangeMiddlewareMap:c}=m();for(let[a,c]of e){let e=i.get(a),l=!!(e?.expandParent&&e?.parentId&&c?.position),u={id:a,type:`position`,position:l?{x:Math.max(0,c.position.x),y:Math.max(0,c.position.y)}:c.position,dragging:t};if(e&&o.inProgress&&o.fromNode.id===e.id){let t=_B(e,o.fromHandle,$.Left,!0);s({...o,from:t})}l&&e.parentId&&n.push({id:a,parentId:e.parentId,rect:{...c.internals.positionAbsolute,width:c.measured.width??0,height:c.measured.height??0}}),r.push(u)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=m(),a=PB(n,i,e,t);r.push(...a)}for(let e of c.values())r=e(r);a(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:i,debug:a}=m();e?.length&&(i&&n(TH(e,r)),a&&console.log(`React Flow: trigger node changes`,e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:i,debug:a}=m();e?.length&&(i&&n(EH(e,r)),a&&console.log(`React Flow: trigger edge changes`,e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();if(t){i(e.map(e=>DH(e,!0)));return}i(OH(r,new Set([...e]),!0)),a(OH(n))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:i,triggerEdgeChanges:a}=m();if(t){a(e.map(e=>DH(e,!0)));return}a(OH(n,new Set([...e]))),i(OH(r,new Set,!0))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:i,triggerNodeChanges:a,triggerEdgeChanges:o}=m(),s=e||r,c=t||n,l=[];for(let e of s){if(!e.selected)continue;let t=i.get(e.id);t&&(t.selected=!1),l.push(DH(e.id,!1))}let u=[];for(let e of c)e.selected&&u.push(DH(e.id,!1));a(l),o(u)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=m();t?.setScaleExtent([e,n]),p({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=m();t?.setScaleExtent([n,e]),p({maxZoom:e})},setTranslateExtent:e=>{m().panZoom?.setTranslateExtent(e),p({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:i}=m();if(!i)return;let a=t.reduce((e,t)=>t.selected?[...e,DH(t.id,!1)]:e,[]),o=e.reduce((e,t)=>t.selected?[...e,DH(t.id,!1)]:e,[]);n(a),r(o)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:i,elevateNodesOnSelect:a,nodeExtent:o,zIndexMode:s}=m();(e[0][0]!==o[0][0]||e[0][1]!==o[0][1]||e[1][0]!==o[1][0]||e[1][1]!==o[1][1])&&(kB(t,n,r,{nodeOrigin:i,nodeExtent:e,elevateNodesOnSelect:a,checkEquality:!1,zIndexMode:s}),p({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:i,translateExtent:a}=m();return IB({delta:e,panZoom:i,transform:t,translateExtent:a,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:i,maxZoom:a,panZoom:o}=m();if(!o)return!1;let s=n?.zoom===void 0?a:n.zoom;return await o.setViewport({x:r/2-e*s,y:i/2-t*s,zoom:s},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),!0},cancelConnection:()=>{p({connection:{...YR}})},updateConnection:e=>{p({connection:e})},reset:()=>p({...UW()})}},Object.is);function GW({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:i,initialHeight:a,initialMinZoom:o,initialMaxZoom:s,initialFitViewOptions:c,fitView:l,nodeOrigin:u,nodeExtent:d,zIndexMode:f,children:p}){let[m]=(0,y.useState)(()=>WW({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:a,fitView:l,minZoom:o,maxZoom:s,fitViewOptions:c,nodeOrigin:u,nodeExtent:d,zIndexMode:f}));return(0,X.jsx)(HV,{value:m,children:(0,X.jsx)(BH,{children:(0,X.jsx)(dU,{children:p})})})}function KW({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:i,width:a,height:o,fitView:s,fitViewOptions:c,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p}){return(0,y.useContext)(VV)?(0,X.jsx)(X.Fragment,{children:e}):(0,X.jsx)(GW,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:i,initialWidth:a,initialHeight:o,fitView:s,initialFitViewOptions:c,initialMinZoom:l,initialMaxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p,children:e})}var qW={width:`100%`,height:`100%`,overflow:`hidden`,position:`relative`,zIndex:0};function JW({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:a,edgeTypes:o,onNodeClick:s,onEdgeClick:c,onInit:l,onMove:u,onMoveStart:d,onMoveEnd:f,onConnect:p,onConnectStart:m,onConnectEnd:h,onClickConnectStart:g,onClickConnectEnd:_,onNodeMouseEnter:v,onNodeMouseMove:b,onNodeMouseLeave:x,onNodeContextMenu:S,onNodeDoubleClick:C,onNodeDragStart:w,onNodeDrag:T,onNodeDragStop:E,onNodesDelete:D,onEdgesDelete:ee,onDelete:O,onSelectionChange:k,onSelectionDragStart:A,onSelectionDrag:te,onSelectionDragStop:ne,onSelectionContextMenu:re,onSelectionStart:ie,onSelectionEnd:ae,onBeforeDelete:oe,connectionMode:se,connectionLineType:ce=XR.Bezier,connectionLineStyle:j,connectionLineComponent:le,connectionLineContainerStyle:ue,deleteKeyCode:de=`Backspace`,selectionKeyCode:fe=`Shift`,selectionOnDrag:pe=!1,selectionMode:me=JR.Full,panActivationKeyCode:he=`Space`,multiSelectionKeyCode:ge=Pz()?`Meta`:`Control`,zoomActivationKeyCode:_e=Pz()?`Meta`:`Control`,snapToGrid:ve,snapGrid:M,onlyRenderVisibleElements:N=!1,selectNodesOnDrag:ye,nodesDraggable:be,autoPanOnNodeFocus:P,nodesConnectable:xe,nodesFocusable:Se,nodeOrigin:Ce=uH,edgesFocusable:we,edgesReconnectable:Te,elementsSelectable:Ee=!0,defaultViewport:De=dH,minZoom:Oe=.5,maxZoom:ke=2,translateExtent:Ae=UR,preventScrolling:je=!0,nodeExtent:Me,defaultMarkerColor:Ne=`#b1b1b7`,zoomOnScroll:Pe=!0,zoomOnPinch:Fe=!0,panOnScroll:Ie=!1,panOnScrollSpeed:Le=.5,panOnScrollMode:Re=qR.Free,zoomOnDoubleClick:ze=!0,panOnDrag:Be=!0,onPaneClick:Ve,onPaneMouseEnter:He,onPaneMouseMove:Ue,onPaneMouseLeave:We,onPaneScroll:Ge,onPaneContextMenu:Ke,paneClickDistance:qe=1,nodeClickDistance:Je=0,children:Ye,onReconnect:Xe,onReconnectStart:Ze,onReconnectEnd:Qe,onEdgeContextMenu:$e,onEdgeDoubleClick:F,onEdgeMouseEnter:et,onEdgeMouseMove:tt,onEdgeMouseLeave:nt,reconnectRadius:rt=10,onNodesChange:it,onEdgesChange:at,noDragClassName:ot=`nodrag`,noWheelClassName:st=`nowheel`,noPanClassName:I=`nopan`,fitView:ct,fitViewOptions:lt,connectOnClick:ut,attributionPosition:dt,proOptions:ft,defaultEdgeOptions:pt,elevateNodesOnSelect:mt=!0,elevateEdgesOnSelect:ht=!1,disableKeyboardA11y:gt=!1,autoPanOnConnect:_t,autoPanOnNodeDrag:vt,autoPanOnSelection:yt=!0,autoPanSpeed:bt,connectionRadius:xt,isValidConnection:St,onError:Ct,style:wt,id:Tt,nodeDragThreshold:Et,connectionDragThreshold:Dt,viewport:Ot,onViewportChange:kt,width:At,height:jt,colorMode:Mt=`light`,debug:Nt,onScroll:Pt,ariaLabelConfig:Ft,zIndexMode:It=`basic`,...Lt},Rt){let zt=Tt||`1`,Bt=_H(Mt),Vt=(0,y.useCallback)(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:`instant`}),Pt?.(e)},[Pt]);return(0,X.jsx)(`div`,{"data-testid":`rf__wrapper`,...Lt,onScroll:Vt,style:{...wt,...qW},ref:Rt,className:aN([`react-flow`,i,Bt]),id:Tt,role:`application`,children:(0,X.jsxs)(KW,{nodes:e,edges:t,width:At,height:jt,fitView:ct,fitViewOptions:lt,minZoom:Oe,maxZoom:ke,nodeOrigin:Ce,nodeExtent:Me,zIndexMode:It,children:[(0,X.jsx)(hH,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:p,onConnectStart:m,onConnectEnd:h,onClickConnectStart:g,onClickConnectEnd:_,nodesDraggable:be,autoPanOnNodeFocus:P,nodesConnectable:xe,nodesFocusable:Se,edgesFocusable:we,edgesReconnectable:Te,elementsSelectable:Ee,elevateNodesOnSelect:mt,elevateEdgesOnSelect:ht,minZoom:Oe,maxZoom:ke,nodeExtent:Me,onNodesChange:it,onEdgesChange:at,snapToGrid:ve,snapGrid:M,connectionMode:se,translateExtent:Ae,connectOnClick:ut,defaultEdgeOptions:pt,fitView:ct,fitViewOptions:lt,onNodesDelete:D,onEdgesDelete:ee,onDelete:O,onNodeDragStart:w,onNodeDrag:T,onNodeDragStop:E,onSelectionDrag:te,onSelectionDragStart:A,onSelectionDragStop:ne,onMove:u,onMoveStart:d,onMoveEnd:f,noPanClassName:I,nodeOrigin:Ce,rfId:zt,autoPanOnConnect:_t,autoPanOnNodeDrag:vt,autoPanSpeed:bt,onError:Ct,connectionRadius:xt,isValidConnection:St,selectNodesOnDrag:ye,nodeDragThreshold:Et,connectionDragThreshold:Dt,onBeforeDelete:oe,debug:Nt,ariaLabelConfig:Ft,zIndexMode:It}),(0,X.jsx)(VW,{onInit:l,onNodeClick:s,onEdgeClick:c,onNodeMouseEnter:v,onNodeMouseMove:b,onNodeMouseLeave:x,onNodeContextMenu:S,onNodeDoubleClick:C,nodeTypes:a,edgeTypes:o,connectionLineType:ce,connectionLineStyle:j,connectionLineComponent:le,connectionLineContainerStyle:ue,selectionKeyCode:fe,selectionOnDrag:pe,selectionMode:me,deleteKeyCode:de,multiSelectionKeyCode:ge,panActivationKeyCode:he,zoomActivationKeyCode:_e,onlyRenderVisibleElements:N,defaultViewport:De,translateExtent:Ae,minZoom:Oe,maxZoom:ke,preventScrolling:je,zoomOnScroll:Pe,zoomOnPinch:Fe,zoomOnDoubleClick:ze,panOnScroll:Ie,panOnScrollSpeed:Le,panOnScrollMode:Re,panOnDrag:Be,autoPanOnSelection:yt,onPaneClick:Ve,onPaneMouseEnter:He,onPaneMouseMove:Ue,onPaneMouseLeave:We,onPaneScroll:Ge,onPaneContextMenu:Ke,paneClickDistance:qe,nodeClickDistance:Je,onSelectionContextMenu:re,onSelectionStart:ie,onSelectionEnd:ae,onReconnect:Xe,onReconnectStart:Ze,onReconnectEnd:Qe,onEdgeContextMenu:$e,onEdgeDoubleClick:F,onEdgeMouseEnter:et,onEdgeMouseMove:tt,onEdgeMouseLeave:nt,reconnectRadius:rt,defaultMarkerColor:Ne,noDragClassName:ot,noWheelClassName:st,noPanClassName:I,rfId:zt,disableKeyboardA11y:gt,nodeExtent:Me,viewport:Ot,onViewportChange:kt,nodesDraggable:be}),(0,X.jsx)(lH,{onSelectionChange:k}),Ye,(0,X.jsx)(rH,{proOptions:ft,position:dt}),(0,X.jsx)(eH,{rfId:zt,disableKeyboardA11y:gt})]})})}var YW=FH(JW);HR.error014();function XW({dimensions:e,lineWidth:t,variant:n,className:r}){return(0,X.jsx)(`path`,{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:aN([`react-flow__background-pattern`,n,r])})}function ZW({radius:e,className:t}){return(0,X.jsx)(`circle`,{cx:e,cy:e,r:e,className:aN([`react-flow__background-pattern`,`dots`,t])})}var QW;(function(e){e.Lines=`lines`,e.Dots=`dots`,e.Cross=`cross`})(QW||={});var $W={[QW.Dots]:1,[QW.Lines]:1,[QW.Cross]:6},eG=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function tG({id:e,variant:t=QW.Dots,gap:n=20,size:r,lineWidth:i=1,offset:a=0,color:o,bgColor:s,style:c,className:l,patternClassName:u}){let d=(0,y.useRef)(null),{transform:f,patternId:p}=WV(eG,BV),m=r||$W[t],h=t===QW.Dots,g=t===QW.Cross,_=Array.isArray(n)?n:[n,n],v=[_[0]*f[2]||1,_[1]*f[2]||1],b=m*f[2],x=Array.isArray(a)?a:[a,a],S=g?[b,b]:v,C=[x[0]*f[2]+S[0]/2,x[1]*f[2]+S[1]/2],w=`${p}${e||``}`;return(0,X.jsxs)(`svg`,{className:aN([`react-flow__background`,l]),style:{...c,...JH,"--xy-background-color-props":s,"--xy-background-pattern-color-props":o},ref:d,"data-testid":`rf__background`,children:[(0,X.jsx)(`pattern`,{id:w,x:f[0]%v[0],y:f[1]%v[1],width:v[0],height:v[1],patternUnits:`userSpaceOnUse`,patternTransform:`translate(-${C[0]},-${C[1]})`,children:h?(0,X.jsx)(ZW,{radius:b/2,className:u}):(0,X.jsx)(XW,{dimensions:S,lineWidth:i,variant:t,className:u})}),(0,X.jsx)(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:`url(#${w})`})]})}tG.displayName=`Background`,(0,y.memo)(tG);function nG(){return(0,X.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,children:(0,X.jsx)(`path`,{d:`M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z`})})}function rG(){return(0,X.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 5`,children:(0,X.jsx)(`path`,{d:`M0 0h32v4.2H0z`})})}function iG(){return(0,X.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 30`,children:(0,X.jsx)(`path`,{d:`M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z`})})}function aG(){return(0,X.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,X.jsx)(`path`,{d:`M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z`})})}function oG(){return(0,X.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:(0,X.jsx)(`path`,{d:`M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z`})})}function sG({children:e,className:t,...n}){return(0,X.jsx)(`button`,{type:`button`,className:aN([`react-flow__controls-button`,t]),...n,children:e})}var cG=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function lG({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:a,onZoomOut:o,onFitView:s,onInteractiveChange:c,className:l,children:u,position:d=`bottom-left`,orientation:f=`vertical`,"aria-label":p}){let m=GV(),{isInteractive:h,minZoomReached:g,maxZoomReached:_,ariaLabelConfig:v}=WV(cG,BV),{zoomIn:y,zoomOut:b,fitView:x}=UH();return(0,X.jsxs)(tH,{className:aN([`react-flow__controls`,f===`horizontal`?`horizontal`:`vertical`,l]),position:d,style:e,"data-testid":`rf__controls`,"aria-label":p??v[`controls.ariaLabel`],children:[t&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(sG,{onClick:()=>{y(),a?.()},className:`react-flow__controls-zoomin`,title:v[`controls.zoomIn.ariaLabel`],"aria-label":v[`controls.zoomIn.ariaLabel`],disabled:_,children:(0,X.jsx)(nG,{})}),(0,X.jsx)(sG,{onClick:()=>{b(),o?.()},className:`react-flow__controls-zoomout`,title:v[`controls.zoomOut.ariaLabel`],"aria-label":v[`controls.zoomOut.ariaLabel`],disabled:g,children:(0,X.jsx)(rG,{})})]}),n&&(0,X.jsx)(sG,{className:`react-flow__controls-fitview`,onClick:()=>{x(i),s?.()},title:v[`controls.fitView.ariaLabel`],"aria-label":v[`controls.fitView.ariaLabel`],children:(0,X.jsx)(iG,{})}),r&&(0,X.jsx)(sG,{className:`react-flow__controls-interactive`,onClick:()=>{m.setState({nodesDraggable:!h,nodesConnectable:!h,elementsSelectable:!h}),c?.(!h)},title:v[`controls.interactive.ariaLabel`],"aria-label":v[`controls.interactive.ariaLabel`],children:h?(0,X.jsx)(oG,{}):(0,X.jsx)(aG,{})}),u]})}lG.displayName=`Controls`,(0,y.memo)(lG);function uG({id:e,x:t,y:n,width:r,height:i,style:a,color:o,strokeColor:s,strokeWidth:c,className:l,borderRadius:u,shapeRendering:d,selected:f,onClick:p}){let{background:m,backgroundColor:h}=a||{},g=o||m||h;return(0,X.jsx)(`rect`,{className:aN([`react-flow__minimap-node`,{selected:f},l]),x:t,y:n,rx:u,ry:u,width:r,height:i,style:{fill:g,stroke:s,strokeWidth:c},shapeRendering:d,onClick:p?t=>p(t,e):void 0})}var dG=(0,y.memo)(uG),fG=e=>e.nodes.map(e=>e.id),pG=e=>e instanceof Function?e:()=>e;function mG({nodeStrokeColor:e,nodeColor:t,nodeClassName:n=``,nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=dG,onClick:o}){let s=WV(fG,BV),c=pG(t),l=pG(e),u=pG(n),d=typeof window>`u`||window.chrome?`crispEdges`:`geometricPrecision`;return(0,X.jsx)(X.Fragment,{children:s.map(e=>(0,X.jsx)(gG,{id:e,nodeColorFunc:c,nodeStrokeColorFunc:l,nodeClassNameFunc:u,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:o,shapeRendering:d},e))})}function hG({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:a,shapeRendering:o,NodeComponent:s,onClick:c}){let{node:l,x:u,y:d,width:f,height:p}=WV(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let r=n.internals.userNode,{x:i,y:a}=n.internals.positionAbsolute,{width:o,height:s}=Iz(r);return{node:r,x:i,y:a,width:o,height:s}},BV);return!l||l.hidden||!Lz(l)?null:(0,X.jsx)(s,{x:u,y:d,width:f,height:p,style:l.style,selected:!!l.selected,className:r(l),color:t(l),borderRadius:i,strokeColor:n(l),strokeWidth:a,shapeRendering:o,onClick:c,id:l.id})}var gG=(0,y.memo)(hG),_G=(0,y.memo)(mG),vG=200,yG=150,bG=e=>!e.hidden,xG=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]},n=!1;for(let t of e.nodeLookup.values())if(!t.hidden){n=!0;break}return{viewBB:t,boundingRect:n?xz(iz(e.nodeLookup,{filter:bG}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},SG=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,CG=(e,t)=>SG(e.viewBB,t.viewBB)&&SG(e.boundingRect,t.boundingRect)&&e.rfId===t.rfId&&e.panZoom===t.panZoom&&e.translateExtent===t.translateExtent&&e.flowWidth===t.flowWidth&&e.flowHeight===t.flowHeight&&e.ariaLabelConfig===t.ariaLabelConfig,wG=`react-flow__minimap-desc`;function TG({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:i=``,nodeBorderRadius:a=5,nodeStrokeWidth:o,nodeComponent:s,bgColor:c,maskColor:l,maskStrokeColor:u,maskStrokeWidth:d,position:f=`bottom-right`,onClick:p,onNodeClick:m,pannable:h=!1,zoomable:g=!1,ariaLabel:_,inversePan:v,zoomStep:b=1,offsetScale:x=5}){let S=GV(),C=(0,y.useRef)(null),{boundingRect:w,panZoom:T,viewBB:E,rfId:D,translateExtent:ee,flowWidth:O,flowHeight:k,ariaLabelConfig:A}=WV(xG,CG),te=e?.width??vG,ne=e?.height??yG,re=w.width/te,ie=w.height/ne,ae=Math.max(re,ie),oe=ae*te,se=ae*ne,ce=x*ae,j=w.x-(oe-w.width)/2-ce,le=w.y-(se-w.height)/2-ce,ue=oe+ce*2,de=se+ce*2,fe=`${wG}-${D}`,pe=(0,y.useRef)(0),me=(0,y.useRef)();pe.current=ae,(0,y.useEffect)(()=>{let e=S.getState().panZoom;if(C.current&&e)return me.current=tV({domNode:C.current,panZoom:e,getTransform:()=>S.getState().transform,getViewScale:()=>pe.current}),()=>{me.current?.destroy()}},[T]),(0,y.useEffect)(()=>{me.current?.update({translateExtent:ee,width:O,height:k,inversePan:v,pannable:h,zoomStep:b,zoomable:g})},[h,g,v,b,ee,O,k]);let he=p?e=>{let[t,n]=me.current?.pointer(e)||[0,0];p(e,{x:t,y:n})}:void 0,ge=(0,y.useCallback)((e,t)=>{let n=S.getState().nodeLookup.get(t).internals.userNode;m?.(e,n)},[m]),_e=m?ge:void 0,ve=_??A[`minimap.ariaLabel`];return(0,X.jsx)(tH,{position:f,style:{...e,"--xy-minimap-background-color-props":typeof c==`string`?c:void 0,"--xy-minimap-mask-background-color-props":typeof l==`string`?l:void 0,"--xy-minimap-mask-stroke-color-props":typeof u==`string`?u:void 0,"--xy-minimap-mask-stroke-width-props":typeof d==`number`?d*ae:void 0,"--xy-minimap-node-background-color-props":typeof r==`string`?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n==`string`?n:void 0,"--xy-minimap-node-stroke-width-props":typeof o==`number`?o:void 0},className:aN([`react-flow__minimap`,t]),"data-testid":`rf__minimap`,children:(0,X.jsxs)(`svg`,{width:te,height:ne,viewBox:`${j} ${le} ${ue} ${de}`,className:`react-flow__minimap-svg`,role:`img`,"aria-labelledby":fe,ref:C,onClick:he,children:[ve&&(0,X.jsx)(`title`,{id:fe,children:ve}),(0,X.jsx)(_G,{onClick:_e,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:a,nodeClassName:i,nodeStrokeWidth:o,nodeComponent:s}),(0,X.jsx)(`path`,{className:`react-flow__minimap-mask`,d:`M${j-ce},${le-ce}h${ue+ce*2}v${de+ce*2}h${-ue-ce*2}z
741
741
  M${E.x},${E.y}h${E.width}v${E.height}h${-E.width}z`,fillRule:`evenodd`,pointerEvents:`none`})]})})}TG.displayName=`MiniMap`,(0,y.memo)(TG);var EG=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,DG={[gV.Line]:`right`,[gV.Handle]:`bottom-right`};function OG({nodeId:e,position:t,variant:n=gV.Handle,className:r,style:i=void 0,children:a,color:o,minWidth:s=10,minHeight:c=10,maxWidth:l=Number.MAX_VALUE,maxHeight:u=Number.MAX_VALUE,keepAspectRatio:d=!1,resizeDirection:f,autoScale:p=!0,shouldResize:m,onResizeStart:h,onResize:g,onResizeEnd:_}){let v=cU(),b=typeof e==`string`?e:v,x=GV(),S=(0,y.useRef)(null),C=n===gV.Handle,w=WV((0,y.useCallback)(EG(C&&p),[C,p]),BV),T=(0,y.useRef)(null),E=t??DG[n];(0,y.useEffect)(()=>{if(S.current&&b)return T.current||=DV({domNode:S.current,nodeId:b,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:i,domNode:a}=x.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:i,paneDomNode:a}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:r,parentLookup:i,nodeOrigin:a}=x.getState(),o=[],s={x:e.x,y:e.y},c=r.get(b);if(c&&c.expandParent&&c.parentId){let t=c.origin??a,n=e.width??c.measured.width??0,l=e.height??c.measured.height??0,u=PB([{id:c.id,parentId:c.parentId,rect:{width:n,height:l,...Rz({x:e.x??c.position.x,y:e.y??c.position.y},{width:n,height:l},c.parentId,r,t)}}],r,i,a);o.push(...u),s.x=e.x?Math.max(t[0]*n,e.x):void 0,s.y=e.y?Math.max(t[1]*l,e.y):void 0}if(s.x!==void 0&&s.y!==void 0){let e={id:b,type:`position`,position:{...s}};o.push(e)}if(e.width!==void 0&&e.height!==void 0){let t={id:b,type:`dimensions`,resizing:!0,setAttributes:f?f===`horizontal`?`width`:`height`:!0,dimensions:{width:e.width,height:e.height}};o.push(t)}for(let e of t){let t={...e,type:`position`};o.push(t)}n(o)},onEnd:({width:e,height:t})=>{let n={id:b,type:`dimensions`,resizing:!1,dimensions:{width:e,height:t}};x.getState().triggerNodeChanges([n])}}),T.current.update({controlPosition:E,boundaries:{minWidth:s,minHeight:c,maxWidth:l,maxHeight:u},keepAspectRatio:d,resizeDirection:f,onResizeStart:h,onResize:g,onResizeEnd:_,shouldResize:m}),()=>{T.current?.destroy()}},[E,s,c,l,u,d,h,g,_,m]);let D=E.split(`-`);return(0,X.jsx)(`div`,{className:aN([`react-flow__resize-control`,`nodrag`,...D,n,r]),ref:S,style:{...i,scale:w,...o&&{[C?`backgroundColor`:`borderColor`]:o}},children:a})}(0,y.memo)(OG);function kG(e){switch(e.type){case`page`:return Z_;case`agent`:return a_;case`generate`:return e.asset===`image`?G_:e.asset===`video`?$v:e.asset===`dashboard`?q_:k_;case`widget`:return Gg;case`review`:return T_;case`result`:return N_}return ty}var AG={page:`bg-cobalt-tint text-cobalt`,agent:`bg-ember-tint text-ember-strong`,generate:`bg-amber-tint text-ink-2`,widget:`bg-ember-veil text-ember-strong`,review:`bg-moss-tint text-moss`,result:`bg-paper-2 text-ink-2`};function jG(e){return Z(`type.${e.type}`)}var MG=[`web_search`,`web_fetch`,`browser`,`sandbox`,`image`,`http`,`pages`];function NG(e){return MG.includes(e)?Z(`tool.${e}`):e}function PG(e){switch(e.type){case`page`:return e.fields.map(e=>e.label).join(` · `);case`agent`:{let t=e.tools.map(NG),n=e.mcp?.length?[`MCP: ${e.mcp.join(`, `)}`]:[];return[...t,...n].join(` · `)||e.instructions.slice(0,90)}case`generate`:{let t=[e.asset];return e.options?.aspectRatio&&t.push(e.options.aspectRatio),e.options?.duration&&t.push(`${e.options.duration}s`),e.options?.resolution&&t.push(e.options.resolution),e.options?.template&&t.push(e.options.template),t.join(` · `)}case`widget`:return[e.entry,Object.keys(e.data).join(`, `)].filter(Boolean).join(` · `);case`review`:return[e.edit?Z(`editor.reviewEditable`):null,e.regenerate?Z(`editor.reviewRedo`):null].filter(Boolean).join(` · `);case`result`:return e.deliverables.map(e=>`${e.label??e.from} (${e.formats.join(`, `)})`).join(` · `)}return``}var FG=280,IG=92;function LG({data:e}){let{step:t,selected:n,issue:r,active:i,pulse:a,cost:o,passed:s}=e,c=kG(t);return(0,X.jsxs)(`div`,{className:Q(`relative w-[280px] cursor-pointer rounded-xl bg-card px-4 py-3 text-left shadow-soft ring-1 transition`,n?`shadow-elevated ring-2 ring-ember`:i?`ring-2 ring-moss`:a?`ring-2 ring-ember/60`:`ring-border-soft hover:shadow-elevated`),children:[i?(0,X.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 animate-breathe rounded-full bg-moss`}):a?(0,X.jsx)(`span`,{className:`-top-1 -right-1 absolute size-3 animate-breathe rounded-full bg-ember`}):null,(0,X.jsx)(gU,{type:`target`,position:$.Top}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`span`,{className:Q(`inline-flex size-6 items-center justify-center rounded-md`,AG[t.type]),children:(0,X.jsx)(c,{className:`size-3.5`})}),(0,X.jsx)(`span`,{className:`font-medium text-[0.6875rem] text-ink-3 uppercase tracking-[0.07em]`,children:jG(t)}),r?(0,X.jsx)(d_,{className:`ml-auto size-4 text-rose`}):s&&!i?(0,X.jsx)(l_,{className:`ml-auto size-4 text-moss`}):o===null?null:(0,X.jsxs)(`span`,{className:`ml-auto text-[0.6875rem] text-ink-3 tabular-nums`,children:[`≈`,` `,o<10?o.toLocaleString(void 0,{maximumFractionDigits:1}):Math.round(o),` `,`cr`]})]}),(0,X.jsx)(`div`,{className:`mt-1.5 truncate font-display font-semibold text-[0.9375rem] text-ink`,children:t.title}),(0,X.jsx)(`div`,{className:`truncate text-[0.75rem] text-ink-3`,children:PG(t)||`\xA0`}),(0,X.jsx)(gU,{type:`source`,position:$.Bottom})]})}function RG({data:e}){return(0,X.jsxs)(`div`,{className:Q(`flex w-[280px] cursor-pointer items-center gap-3 rounded-full bg-paper-2 py-1.5 pr-5 pl-2 transition`,e.selected?`ring-2 ring-ember`:`hover:bg-paper-3`),children:[(0,X.jsx)(DS,{kind:e.avatar,size:40,interactive:!1}),(0,X.jsx)(`span`,{className:`truncate font-display font-semibold text-[0.9375rem]`,children:e.title}),(0,X.jsx)(gU,{type:`source`,position:$.Bottom})]})}function zG(e){let{data:t,sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s}=e,c={label:e.label,labelStyle:e.labelStyle,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,markerEnd:e.markerEnd};if(!t?.points.length){let[e,t,l]=eB({sourceX:n,sourceY:r,targetX:i,targetY:a,sourcePosition:o,targetPosition:s});return(0,X.jsx)(XU,{path:e,labelX:t,labelY:l,...c})}let l=[{x:n,y:r},...t.points,{x:i,y:a}],u=l.map((e,t)=>{let n=l[t-1];if(!n)return`M ${e.x} ${e.y}`;let r=(n.y+e.y)/2;return`C ${n.x} ${r} ${e.x} ${r} ${e.x} ${e.y}`}).join(` `);return(0,X.jsx)(XU,{path:u,labelX:t.labelX,labelY:t.labelY,...c})}var BG={step:LG,start:RG},VG={branch:zG},HG=34,UG={};function WG(e){let t=Array.isArray(e.when.value)?e.when.value.join(` / `):String(e.when.value??``);switch(e.when.op){case`equals`:return`${e.when.field} = ${t}`;case`notEquals`:return`${e.when.field} ≠ ${t}`;case`in`:return`${e.when.field} ∈ ${t}`;case`notEmpty`:return Z(`editor.whenFilled`,{field:e.when.field});case`empty`:return Z(`editor.whenEmpty`,{field:e.when.field})}}function GG(e,t,n,r,i,a,o){let s=new iN.graphlib.Graph;s.setGraph({rankdir:`TB`,nodesep:48,ranksep:46,marginx:20,marginy:20}),s.setDefaultEdgeLabel(()=>({})),s.setNode(`__start`,{width:FG,height:52});for(let t of e.steps)s.setNode(t.id,{width:FG,height:IG});let c=[],l={markerEnd:{type:ZR.ArrowClosed,width:14,height:14,color:`var(--ink-4)`}};e.steps[0]&&(s.setEdge(`__start`,e.steps[0].id),c.push({id:`e-start`,source:`__start`,target:e.steps[0].id,...l})),e.steps.forEach((t,n)=>{let r=e.steps[n+1],i=new Map;for(let n of t.next??[])n.goto!==`end`&&e.steps.some(e=>e.id===n.goto)&&i.set(n.goto,[...i.get(n.goto)??[],WG(n)]);for(let[e,n]of i){let r=n.join(` · `),i=r.length>HG?`${r.slice(0,33)}…`:r;s.setEdge(t.id,e,{width:i.length*6.2+16,height:22,labelpos:`c`}),c.push({id:`b-${t.id}-${e}`,type:`branch`,source:t.id,target:e,label:i,labelStyle:{fontSize:11,fill:`var(--ink-2)`},labelBgStyle:{fill:`var(--paper-2)`},labelBgPadding:[6,3],labelBgBorderRadius:8,style:{strokeDasharray:`5 4`},...l})}r&&t.type!==`result`&&(s.hasEdge(t.id,r.id)||s.setEdge(t.id,r.id),c.push({id:`n-${t.id}`,source:t.id,target:r.id,...t.next?.length?{label:Z(`editor.otherwise`),labelStyle:{fontSize:11,fill:`var(--ink-3)`},labelBgStyle:{fill:`var(--background)`}}:{},...l}))}),iN.layout(s);for(let e of c){if(e.type!==`branch`)continue;let t=s.edge(e.source,e.target),n=(t.points??[]).slice(1,-1);n.length&&t.x!==void 0&&t.y!==void 0&&(e.data={points:n,labelX:t.x,labelY:t.y})}return{nodes:[{id:`__start`,type:`start`,position:{x:s.node(`__start`).x-FG/2,y:s.node(`__start`).y-26},data:{title:e.title,avatar:e.avatar,selected:t===`__wizard`},draggable:!1},...e.steps.map((e,c)=>{let l=s.node(e.id);return{id:e.id,type:`step`,position:{x:l.x-FG/2,y:l.y-IG/2},data:{step:e,selected:t===e.id,issue:n.has(e.id),index:c,active:r===e.id,pulse:i.includes(e.id),cost:a[e.id]?.credits??null,passed:o.has(e.id)},draggable:!1}})],edges:c}}function KG(){let e=UH(),t=`inline-flex size-8 items-center justify-center rounded-full text-ink-3 hover:bg-accent hover:text-ink`;return(0,X.jsxs)(`div`,{className:`absolute bottom-4 left-4 z-10 flex items-center gap-0.5 rounded-full bg-card p-1 shadow-soft ring-1 ring-border-soft`,children:[(0,X.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.zoomOut(),"aria-label":`Zoom out`,children:(0,X.jsx)(pv,{className:`size-4`})}),(0,X.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.fitView({padding:.2,duration:300}),"aria-label":`Fit`,children:(0,X.jsx)(jv,{className:`size-4`})}),(0,X.jsx)(`button`,{type:`button`,className:t,onClick:()=>e.zoomIn(),"aria-label":`Zoom in`,children:(0,X.jsx)(Cv,{className:`size-4`})})]})}var qG=.8,JG=new Set;function YG({def:e,selected:t,onSelect:n,issueSteps:r,activeStep:i,pulse:a,costs:o=UG,passed:s=JG,minFitZoom:c=qG,fitKey:l}){let{nodes:u,edges:d}=(0,y.useMemo)(()=>GG(e,t,r,i,a??[],o,s),[e,t,r,i,a,o,s]),f=UH(),p=(0,y.useRef)(null),m=e.steps.map(e=>e.id).join(`|`);return(0,y.useEffect)(()=>{let e=requestAnimationFrame(()=>{let e=p.current;if(!e||!u.length)return;let t=u.map(e=>e.position.x),n=u.map(e=>e.position.y),r={x:Math.min(...t),y:Math.min(...n),width:Math.max(...t)+FG-Math.min(...t),height:Math.max(...n)+IG-Math.min(...n)},i=Math.min(e.clientWidth/(r.width*1.2),e.clientHeight/(r.height*1.15),1),a=Math.max(i,c),o=(e.clientWidth-r.width*a)/2-r.x*a,s=i>=c?(e.clientHeight-r.height*a)/2-r.y*a:24-r.y*a;f.setViewport({x:o,y:s,zoom:a},{duration:400})});return()=>cancelAnimationFrame(e)},[m,l,f]),(0,X.jsx)(`div`,{ref:p,className:`h-full w-full`,children:(0,X.jsx)(YW,{nodes:u,edges:d,nodeTypes:BG,edgeTypes:VG,onNodeClick:(e,t)=>n(t.id===`__start`?`__wizard`:t.id),onPaneClick:()=>n(null),nodesConnectable:!1,nodesDraggable:!1,elementsSelectable:!1,panOnScroll:!0,zoomOnScroll:!1,zoomOnPinch:!0,minZoom:.3,maxZoom:1.4,proOptions:{hideAttribution:!0},children:(0,X.jsx)(KG,{})})})}function XG(e){return(0,X.jsx)(GW,{children:(0,X.jsx)(YG,{...e})})}var ZG=`engenty/flow`,QG=new Set([`text`,`textarea`,`number`,`select`,`multiselect`,`date`,`email`,`url`,`toggle`,`color`,`location`]),$G=420,eK=600,tK=320,nK=new Set;function rK(e){if(e.structuredContent)return e.structuredContent;let t=e.content?.find(e=>e.type===`text`);try{return t&&`text`in t?JSON.parse(t.text):null}catch{return t&&`text`in t?t.text:null}}function iK(e){let t=rK(e);if(e.isError){let e=t&&typeof t==`object`&&`error`in t?String(t.error):String(t);throw Object.assign(Error(e),{body:t})}return t}function aK(e){e&&(e.theme&&document.documentElement.classList.toggle(`dark`,e.theme===`dark`),e.locale&&hb(e.locale.toLowerCase().startsWith(`de`)?`de`:`en`))}function oK(){let e=(0,y.useMemo)(()=>new Ag({name:`engenty-wizards-flow`,version:`1.0.0`},{},{autoResize:!0}),[]),[t,n]=(0,y.useState)(null),[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(),[s,c]=(0,y.useState)(null),[l,u]=(0,y.useState)(`asking`);(0,y.useEffect)(()=>{e.ontoolresult=e=>{let t=e._meta?.[ZG];t&&(n(t),i(t.run??null))},e.onhostcontextchanged=e=>{o(t=>({...t,...e})),aK(e)},e.connect().then(()=>{let t=e.getHostContext();o(t),aK(t)}).catch(e=>console.error(`[flow widget]`,e))},[e]);let d=(0,y.useCallback)(async(t,n)=>iK(await e.callServerTool({name:t,arguments:n})),[e]),f=(0,y.useCallback)(t=>{let n=t.outputs.map(e=>e.title).join(`, `),r=[`engenty wizards run ${t.runId}: ${t.status}${t.step?` at "${t.step.title}"`:``}.`,n?`Made so far: ${n}.`:``,t.status===`done`?`The person finished it in the widget; get_run has the outputs and download links.`:`The person answers this run in the widget; get_run has the details.`].filter(Boolean).join(` `);e.updateModelContext({content:[{type:`text`,text:r}]}).catch(()=>void 0)},[e]),p=(0,y.useRef)(``),m=(0,y.useCallback)(t=>{let n=t?`${t.status}:${t.step?.id??``}`:``;if(!t||n===p.current)return;p.current=n;let r=[`engenty wizards run ${t.id}: ${t.status}${t.step?` at "${t.step.title}"`:``}.`,t.status===`done`?`The person finished it in the widget; get_run has the outputs and download links.`:`The person answers this run in the widget; get_run has the details.`].join(` `);e.updateModelContext({content:[{type:`text`,text:r}]}).catch(()=>void 0)},[e]),h=(0,y.useRef)(null),g=(0,y.useRef)(``),_=(0,y.useCallback)(e=>{m(e);let t=e?`${e.status}:${e.step?.id??``}`:``;t!==g.current&&(g.current=t,h.current?.scrollTo({top:0}))},[m]),v=r?.runId,b=t?.runtime;(0,y.useEffect)(()=>{if(!v||!b){u(`no`);return}AS(b),u(`asking`);let e=!0;return fetch(jS(`/api/runs/${v}`),{credentials:`include`}).then(t=>e&&u(t.ok?`yes`:`no`)).catch(()=>e&&u(`no`)),()=>{e=!1}},[v,b]);let x=(0,y.useCallback)(async t=>{let r=await e.callServerTool({name:`run_wizard`,arguments:{wizardId:t}});iK(r);let a=r._meta?.[ZG];a&&(n(a),i(a.run??null))},[e]),S=r?.status===`running`;(0,y.useEffect)(()=>{if(!v||!S||l!==`no`)return;let e=!0;return(async()=>{for(;e;)try{let t=await d(`get_run`,{runId:v,waitSeconds:20});if(!e)return;if(i(t),t.status!==`running`){f(t);return}}catch{await new Promise(e=>setTimeout(e,3e3))}})(),()=>{e=!1}},[v,S,l,d,f]);let C=(0,y.useMemo)(()=>new Set(r?.passed??[]),[r]),w=a?.displayMode===`fullscreen`,T=a?.availableDisplayModes?.includes(`fullscreen`),E=t=>{e.openLink({url:t}).catch(()=>window.open(t,`_blank`,`noopener`))};if(!t||r&&l===`asking`)return(0,X.jsxs)(`div`,{className:`flex items-center justify-center gap-2 text-ink-3 text-sm`,style:{height:160},children:[(0,X.jsx)(Rb,{className:`size-4`}),Z(`flowApp.loading`)]});if(r&&l===`yes`)return(0,X.jsx)(`div`,{ref:h,className:`overflow-y-auto overscroll-contain bg-background text-ink`,style:{maxHeight:eK},children:(0,X.jsx)(yk,{runId:r.runId,compact:!0,stickyProgress:!0,onView:_})});if(!r)return(0,X.jsx)(sK,{view:t,onStart:()=>x(t.wizard.id)});let D=r&&r.status!==`done`?r.step?.id??null:null;return(0,X.jsxs)(`div`,{className:Q(`flex bg-background text-ink`,w?`h-screen flex-row`:`flex-col`),children:[(0,X.jsx)(`div`,{className:Q(`relative min-w-0`,w?`flex-1`:``),style:w?void 0:{height:tK},children:(0,X.jsx)(XG,{def:t.definition,selected:s,onSelect:c,issueSteps:nK,activeStep:D,passed:C,minFitZoom:.45,fitKey:String(w)})}),(0,X.jsxs)(`aside`,{className:Q(`flex flex-col gap-3 border-border-soft bg-card p-4`,w?`w-[380px] overflow-y-auto border-l`:`border-t`),children:[(0,X.jsxs)(`header`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`truncate font-display font-semibold text-[0.9375rem]`,children:t.wizard.title}),(0,X.jsx)(Bb,{children:t.wizard.shows===`published`?Z(`flowApp.published`):Z(`flowApp.draft`)}),t.wizard.issues?(0,X.jsx)(`span`,{className:`text-[0.75rem] text-rose`,children:Z(`flowApp.issues`,{n:t.wizard.issues})}):null,(0,X.jsx)(`span`,{className:`ml-auto flex items-center gap-1`,children:T?(0,X.jsxs)(Db,{size:`sm`,variant:`ghost`,onClick:()=>e.requestDisplayMode({mode:w?`inline`:`fullscreen`}).then(({mode:e})=>o(t=>({...t,displayMode:e}))).catch(()=>void 0),children:[w?(0,X.jsx)(dv,{className:`size-4`}):(0,X.jsx)(sv,{className:`size-4`}),Z(w?`flowApp.inline`:`flowApp.fullscreen`)]}):null})]}),(0,X.jsx)(cK,{report:r,selected:s,call:d,onReport:e=>{i(e),f(e)},open:E})]})]})}function sK({view:e,onStart:t}){let[n,r]=(0,y.useState)(!1),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(!1),c=e.wizard.description??e.definition.description;return(0,X.jsxs)(`div`,{className:`flex flex-col overflow-y-auto overscroll-contain bg-background text-ink`,style:{maxHeight:eK},children:[(0,X.jsxs)(`div`,{className:`mx-auto flex max-w-lg flex-col items-center px-6 pt-6 pb-6 text-center`,children:[(0,X.jsx)(DS,{kind:e.wizard.avatar??e.definition.avatar,size:120,fluffy:!0}),(0,X.jsx)(`h1`,{className:`mt-2 text-balance font-display font-semibold text-[1.625rem] leading-[1.1] tracking-tight`,children:e.wizard.title}),c?(0,X.jsx)(`p`,{className:`mt-3 text-[0.9375rem] text-ink-2 leading-relaxed`,children:c}):null,e.wizard.published?(0,X.jsxs)(Db,{size:`lg`,className:`mt-8 min-w-48`,busy:n,onClick:async()=>{r(!0),a(null);try{await t()}catch(e){a(e.message),r(!1)}},children:[Z(`run.start`),` `,(0,X.jsx)(Zg,{className:`size-4`})]}):(0,X.jsx)(`p`,{className:`mt-8 rounded-xl bg-paper-2 px-5 py-4 text-[0.875rem] text-ink-2`,children:Z(`flowApp.notPublished`)}),i?(0,X.jsx)(`p`,{className:`mt-4 text-[0.875rem] text-rose`,children:i}):null,(0,X.jsxs)(Db,{size:`sm`,variant:`ghost`,className:`mt-4`,onClick:()=>s(!o),children:[(0,X.jsx)(ry,{className:`size-4`}),Z(`flowApp.flow`)]})]}),o?(0,X.jsx)(`div`,{className:`relative border-border-soft border-t`,style:{height:$G},children:(0,X.jsx)(XG,{def:e.definition,selected:null,onSelect:()=>void 0,issueSteps:nK,activeStep:null,minFitZoom:.45})}):null]})}function cK({report:e,selected:t,call:n,onReport:r,open:i}){let[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(null),l=async(t,i)=>{o(!0),c(null);try{r(await n(t,{runId:e.runId,...i}))}catch(e){c(e.message)}finally{o(!1)}},u=e.waitingFor,d=t?e.outputs.filter(e=>e.stepId===t):[],f=e.events.at(-1),p=e.browserUrl,m=p?()=>i(p):void 0,h=null;return e.status===`running`&&!(u&&`ask`in u)?h=(0,X.jsxs)(`p`,{className:`flex items-center gap-2 text-[0.8125rem] text-ink-2`,children:[(0,X.jsx)(Rb,{className:`size-4`}),f?.message||Z(`run.working`)]}):u&&`page`in u?h=(0,X.jsx)(uK,{fields:u.fields,busy:a,onSubmit:e=>l(`answer_page`,{stepId:u.page,values:e,waitSeconds:3}),onBrowser:m},`${e.runId}-${u.page}`):u&&`review`in u?h=(0,X.jsx)(fK,{outputs:e.outputs.filter(e=>u.show.includes(e.stepId)),targets:u.show,busy:a,onAccept:()=>l(`review_step`,{stepId:u.review,action:{type:`accept`}}),onRegenerate:(e,t)=>l(`review_step`,{stepId:u.review,action:{type:`regenerate`,target:e,note:t}}),open:i}):u&&`ask`in u?h=u.kind===`confirm`?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(`div`,{className:`font-medium text-[0.8125rem]`,children:Z(`flowApp.ask`)}),(0,X.jsxs)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:[u.reason,` — `,u.service,`: `,u.action]}),(0,X.jsxs)(`div`,{className:`flex gap-2`,children:[(0,X.jsx)(Db,{size:`sm`,busy:a,onClick:()=>l(`answer_ask`,{askId:u.ask,answer:`allow`}),children:Z(`flowApp.allow`)}),(0,X.jsx)(Db,{size:`sm`,variant:`ghost`,disabled:a,onClick:()=>l(`answer_ask`,{askId:u.ask,answer:`skip`}),children:Z(`flowApp.skip`)})]})]}):(0,X.jsxs)(`div`,{className:`flex flex-col items-start gap-2`,children:[(0,X.jsx)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:Z(`flowApp.signIn`,{site:u.site})}),m?(0,X.jsxs)(Db,{size:`sm`,onClick:m,children:[(0,X.jsx)(C_,{className:`size-4`}),Z(`flowApp.runPage`)]}):null]}):e.status===`failed`?h=(0,X.jsxs)(`div`,{className:`flex flex-col items-start gap-2`,children:[(0,X.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:e.error||Z(`run.failed`)}),(0,X.jsx)(Db,{size:`sm`,busy:a,onClick:()=>l(`control_run`,{action:`retry`}),children:Z(`run.retry`)})]}):e.status===`cancelled`?h=(0,X.jsx)(`p`,{className:`text-[0.8125rem] text-ink-3`,children:Z(`run.cancelled`)}):e.status===`done`&&(h=(0,X.jsx)(pK,{outputs:e.outputs,open:i})),(0,X.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-[0.75rem] text-ink-3`,children:[(0,X.jsx)(`span`,{className:`font-medium text-ink-2`,children:e.status===`done`?Z(`flowApp.done`):e.step?.title}),(0,X.jsxs)(`span`,{children:[`· `,Z(`flowApp.credits`,{n:e.credits})]}),(0,X.jsxs)(`span`,{className:`ml-auto flex gap-1`,children:[e.status===`waiting_input`&&e.passed.length?(0,X.jsxs)(Db,{size:`sm`,variant:`ghost`,disabled:a,onClick:()=>l(`control_run`,{action:`back`}),children:[(0,X.jsx)(Yv,{className:`size-4`}),Z(`run.back`)]}):null,m?(0,X.jsxs)(Db,{size:`sm`,variant:`ghost`,onClick:m,children:[(0,X.jsx)(C_,{className:`size-4`}),Z(`flowApp.runPage`)]}):null]})]}),h,s?(0,X.jsx)(`p`,{className:`text-[0.8125rem] text-rose`,children:Z(`flowApp.failed`,{error:s})}):null,d.length&&e.status!==`done`?(0,X.jsx)(pK,{outputs:d,open:i}):null]})}function lK(e){return e.value??e.default??(e.kind===`multiselect`?[]:e.kind!==`toggle`&&``)}function uK({fields:e,busy:t,onSubmit:n,onBrowser:r}){let i=e.filter(e=>QG.has(e.kind)),a=e.filter(e=>!QG.has(e.kind)),[o,s]=(0,y.useState)(()=>Object.fromEntries(i.map(e=>[e.id,lK(e)]))),c=(e,t)=>s(n=>({...n,[e]:t})),l=i.some(e=>{let t=o[e.id];return e.required&&(t===``||t===void 0||Array.isArray(t)&&!t.length)});return a.some(e=>e.required)?(0,X.jsxs)(`div`,{className:`flex flex-col items-start gap-2`,children:[(0,X.jsx)(`p`,{className:`text-[0.8125rem] text-ink-2`,children:Z(`flowApp.inBrowser`,{fields:a.map(e=>e.label).join(`, `)})}),r?(0,X.jsxs)(Db,{size:`sm`,onClick:r,children:[(0,X.jsx)(C_,{className:`size-4`}),Z(`flowApp.runPage`)]}):null]}):(0,X.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault();let t={};for(let e of i){let n=o[e.id];n!==``&&n!==void 0&&(t[e.id]=e.kind===`number`?Number(n):e.kind===`location`?{label:String(n)}:n)}n(t)},children:[i.map(e=>(0,X.jsxs)(`div`,{children:[(0,X.jsx)(Lb,{required:e.required,hint:e.help,children:e.label}),(0,X.jsx)(`div`,{className:`mt-1.5`,children:(0,X.jsx)(dK,{field:e,value:o[e.id],onChange:t=>c(e.id,t)})})]},e.id)),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(Db,{type:`submit`,busy:t,disabled:l,children:Z(`run.next`)}),a.length?(0,X.jsx)(`span`,{className:`text-[0.75rem] text-ink-3`,children:Z(`flowApp.inBrowser`,{fields:a.map(e=>e.label).join(`, `)})}):null]})]})}function dK({field:e,value:t,onChange:n}){let r=typeof t==`string`||typeof t==`number`?String(t):``;switch(e.kind){case`textarea`:return(0,X.jsx)(Nb,{value:r,rows:4,placeholder:e.placeholder,onChange:e=>n(e.target.value)});case`select`:return(0,X.jsx)(Pb,{value:r,onChange:n,placeholder:``,options:(e.options??[]).map(e=>({value:e,label:e}))});case`multiselect`:return(0,X.jsx)(Fb,{multi:!0,value:Array.isArray(t)?t:[],onChange:n,options:e.options??[]});case`toggle`:return(0,X.jsx)(Ib,{checked:t===!0,onChange:n});case`location`:return(0,X.jsx)(jb,{value:t&&typeof t==`object`&&`label`in t?String(t.label??``):r,placeholder:e.placeholder,onChange:e=>n(e.target.value)});default:return(0,X.jsx)(jb,{type:e.kind===`number`?`number`:e.kind===`date`?`date`:e.kind===`email`?`email`:e.kind===`url`?`url`:e.kind===`color`?`color`:`text`,value:r,placeholder:e.placeholder,onChange:e=>n(e.target.value)})}}function fK({outputs:e,targets:t,busy:n,onAccept:r,onRegenerate:i,open:a}){let[o,s]=(0,y.useState)(``),[c,l]=(0,y.useState)(t[0]??``);return(0,X.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,X.jsx)(pK,{outputs:e,open:a}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[t.length>1?(0,X.jsx)(Pb,{value:c,onChange:l,options:e.map(e=>({value:e.stepId,label:e.title}))}):null,(0,X.jsx)(Nb,{rows:2,value:o,placeholder:Z(`run.regenerateNote`),onChange:e=>s(e.target.value)}),(0,X.jsxs)(`div`,{className:`flex gap-2`,children:[(0,X.jsx)(Db,{busy:n,onClick:r,children:Z(`run.accept`)}),(0,X.jsx)(Db,{variant:`ghost`,disabled:n||!o.trim()||!c,onClick:()=>i(c,o.trim()),children:Z(`run.regenerateGo`)})]})]})]})}function pK({outputs:e,open:t}){return(0,X.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.map(e=>(0,X.jsxs)(`section`,{className:`rounded-xl bg-paper-2 p-3`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 font-medium text-[0.8125rem] text-ink-2`,children:e.title}),e.text?(0,X.jsx)(TE,{text:e.text,className:`text-[0.8125rem]`}):null,e.assets.filter(e=>e.mime.startsWith(`image/`)).map(e=>(0,X.jsx)(`img`,{src:e.url,alt:e.name,className:`mt-2 max-h-64 rounded-lg`},e.url)),Object.keys(e.downloads).length?(0,X.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:Object.entries(e.downloads).map(([e,n])=>(0,X.jsxs)(Db,{size:`sm`,variant:`secondary`,onClick:()=>t(n),children:[(0,X.jsx)(y_,{className:`size-4`}),e.toUpperCase()]},e))}):null]},e.stepId))})}(0,b.createRoot)(document.getElementById(`root`)).render((0,X.jsx)(y.StrictMode,{children:(0,X.jsx)(oK,{})}));</script>
742
- <style rel="stylesheet" crossorigin>@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-md:12px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--f-ui);--default-mono-font-family:var(--f-mono);--color-card:var(--card)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html:not([data-desktop]) :is(button,select,summary,[role=button],[role=switch],label:has(input[type=file]),input[type=color]):not(:disabled){cursor:pointer}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-6{inset-inline:calc(var(--spacing) * 6)}.inset-y-0{inset-block:0}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-1{top:calc(var(--spacing) * -1)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.-top-2\.5{top:calc(var(--spacing) * -2.5)}.-top-3{top:calc(var(--spacing) * -3)}.-top-4{top:calc(var(--spacing) * -4)}.-top-14{top:calc(var(--spacing) * -14)}.-top-28{top:calc(var(--spacing) * -28)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-6{top:calc(var(--spacing) * 6)}.top-11{top:calc(var(--spacing) * 11)}.top-12{top:calc(var(--spacing) * 12)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.-right-10{right:calc(var(--spacing) * -10)}.right-0{right:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-9{right:calc(var(--spacing) * 9)}.right-10{right:calc(var(--spacing) * 10)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-0{bottom:0}.bottom-0\.5{bottom:calc(var(--spacing) * .5)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-10{bottom:calc(var(--spacing) * 10)}.bottom-12{bottom:calc(var(--spacing) * 12)}.bottom-\[22\%\]{bottom:22%}.-left-1\.5{left:calc(var(--spacing) * -1.5)}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[9px\]{left:9px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-first{order:-9999}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-5{grid-column:span 5/span 5}.col-span-full{grid-column:1/-1}.col-start-6{grid-column-start:6}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-3{margin:calc(var(--spacing) * 3)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.-mt-3{margin-top:calc(var(--spacing) * -3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-\[7px\]{margin-top:7px}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-1\.5{margin-right:calc(var(--spacing) * -1.5)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-\[0\.09em\]{margin-right:.09em}.mr-auto{margin-right:auto}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.-ml-3{margin-left:calc(var(--spacing) * -3)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-8{margin-left:calc(var(--spacing) * 8)}.ml-\[0\.06em\]{margin-left:.06em}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.aspect-\[5\/2\]{aspect-ratio:5/2}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.size-28{width:calc(var(--spacing) * 28);height:calc(var(--spacing) * 28)}.size-48{width:calc(var(--spacing) * 48);height:calc(var(--spacing) * 48)}.size-80{width:calc(var(--spacing) * 80);height:calc(var(--spacing) * 80)}.size-\[3px\]{width:3px;height:3px}.size-\[22px\]{width:22px;height:22px}.size-\[54px\]{width:54px;height:54px}.size-\[72px\]{width:72px;height:72px}.size-full{width:100%;height:100%}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-28{height:calc(var(--spacing) * 28)}.h-40{height:calc(var(--spacing) * 40)}.h-44{height:calc(var(--spacing) * 44)}.h-\[3px\]{height:3px}.h-\[28rem\]{height:28rem}.h-\[46vh\]{height:46vh}.h-\[55vh\]{height:55vh}.h-\[70dvh\]{height:70dvh}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[38vh\]{max-height:38vh}.max-h-\[46vh\]{max-height:46vh}.max-h-\[60dvh\]{max-height:60dvh}.max-h-\[68dvh\]{max-height:68dvh}.max-h-\[70dvh\]{max-height:70dvh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[76vh\]{max-height:76vh}.max-h-\[200px\]{max-height:200px}.max-h-\[520px\]{max-height:520px}.max-h-\[calc\(100dvh-32px\)\]{max-height:calc(100dvh - 32px)}.max-h-\[calc\(100dvh-48px\)\]{max-height:calc(100dvh - 48px)}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-48{min-height:calc(var(--spacing) * 48)}.min-h-80{min-height:calc(var(--spacing) * 80)}.min-h-\[6\.5rem\]{min-height:6.5rem}.min-h-\[7rem\]{min-height:7rem}.min-h-\[40px\]{min-height:40px}.min-h-\[45vh\]{min-height:45vh}.min-h-\[50vh\]{min-height:50vh}.min-h-\[60dvh\]{min-height:60dvh}.min-h-\[124px\]{min-height:124px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.w-0{width:0}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-56{width:calc(var(--spacing) * 56)}.w-72{width:calc(var(--spacing) * 72)}.w-\[222\%\]{width:222%}.w-\[280px\]{width:280px}.w-\[380px\]{width:380px}.w-\[calc\(100\%\+0\.5rem\)\]{width:calc(100% + .5rem)}.w-\[calc\(100\%-0\.75rem\)\]{width:calc(100% - .75rem)}.w-\[calc\(100\%-32px\)\]{width:calc(100% - 32px)}.w-\[calc\(100\%-48px\)\]{width:calc(100% - 48px)}.w-\[min\(68\%\,320px\)\]{width:min(68%,320px)}.w-\[var\(--ai-disc\)\]{width:var(--ai-disc)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[60\%\]{max-width:60%}.max-w-\[88rem\]{max-width:88rem}.max-w-\[160px\]{max-width:160px}.max-w-\[620px\]{max-width:620px}.max-w-\[640px\]{max-width:640px}.max-w-\[680px\]{max-width:680px}.max-w-\[1240px\]{max-width:1240px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-60{min-width:calc(var(--spacing) * 60)}.min-w-\[7\.5rem\]{min-width:7.5rem}.min-w-\[9rem\]{min-width:9rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-56{flex-basis:calc(var(--spacing) * 56)}.basis-\[12rem\]{flex-basis:12rem}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.origin-top{transform-origin:top}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[2px\]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[22px\]{--tw-translate-x:22px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-scale-x-100{--tw-scale-x:calc(100% * -1);scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-\[0\.45\]{scale:.45}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.\[scrollbar-width\:none\]{scrollbar-width:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[22px_minmax\(0\,1fr\)\]{grid-template-columns:22px minmax(0,1fr)}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.grid-cols-\[repeat\(auto-fill\,minmax\(184px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(184px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(220px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-x-1{column-gap:var(--spacing)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-7{column-gap:calc(var(--spacing) * 7)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-5{row-gap:calc(var(--spacing) * 5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border-soft>:not(:last-child)){border-color:var(--border-soft)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 2)}.rounded-3xl{border-radius:calc(var(--radius) * 3)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .75)}.rounded-xl{border-radius:calc(var(--radius) * 1.5)}.rounded-br-md{border-bottom-right-radius:calc(var(--radius) * .75)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#1d1a17\]\/25{border-color:oklab(22.0098% .00284923 .00685373/.25)}.border-border{border-color:var(--border)}.border-border-soft{border-color:var(--border-soft)}.border-ember{border-color:var(--ember)}.border-ink-4{border-color:var(--ink-4)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab, red, red)){.border-white\/40{border-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.border-white\/90{border-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.border-white\/90{border-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-\(--coin-bg\,var\(--color-card\)\){background-color:var(--coin-bg,var(--color-card))}.bg-\[\#0f1424\]{background-color:#0f1424}.bg-\[\#e5484d\]{background-color:#e5484d}.bg-\[oklch\(20\%_0\.01_60\/0\.22\)\]{background-color:oklch(20% .01 60/.22)}.bg-accent{background-color:var(--accent)}.bg-amber{background-color:var(--amber)}.bg-amber-tint{background-color:var(--amber-tint)}.bg-background,.bg-background\/85{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/85{background-color:color-mix(in oklab, var(--background) 85%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-border-soft{background-color:var(--border-soft)}.bg-card,.bg-card\/90{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/90{background-color:color-mix(in oklab, var(--card) 90%, transparent)}}.bg-card\/95{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/95{background-color:color-mix(in oklab, var(--card) 95%, transparent)}}.bg-cobalt{background-color:var(--cobalt)}.bg-cobalt-tint{background-color:var(--cobalt-tint)}.bg-ember{background-color:var(--ember)}.bg-ember-tint,.bg-ember-tint\/50{background-color:var(--ember-tint)}@supports (color:color-mix(in lab, red, red)){.bg-ember-tint\/50{background-color:color-mix(in oklab, var(--ember-tint) 50%, transparent)}}.bg-ember-veil{background-color:var(--ember-veil)}.bg-foreground{background-color:var(--foreground)}.bg-ink{background-color:var(--ink)}.bg-ink-4,.bg-ink-4\/40{background-color:var(--ink-4)}@supports (color:color-mix(in lab, red, red)){.bg-ink-4\/40{background-color:color-mix(in oklab, var(--ink-4) 40%, transparent)}}.bg-moss{background-color:var(--moss)}.bg-moss-tint{background-color:var(--moss-tint)}.bg-muted{background-color:var(--muted)}.bg-paper{background-color:var(--paper)}.bg-paper-2{background-color:var(--paper-2)}.bg-paper-3{background-color:var(--paper-3)}.bg-primary{background-color:var(--primary)}.bg-rose{background-color:var(--rose)}.bg-rose-tint{background-color:var(--rose-tint)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/12{background-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.bg-white\/12{background-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-white\/\[0\.07\]{background-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.07\]{background-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-t{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-t{--tw-gradient-position:to top in oklab}}.bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.from-card{--tw-gradient-from:var(--card);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-ember-tint{--tw-gradient-from:var(--ember-tint);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-card{--tw-gradient-via:var(--card);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-card{--tw-gradient-to:var(--card);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-amber{fill:var(--amber)}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[3px\]{padding-block:3px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-20{padding-right:calc(var(--spacing) * 20)}.pr-32{padding-right:calc(var(--spacing) * 32)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-5\.5{padding-left:calc(var(--spacing) * 5.5)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-\[-2px\]{vertical-align:-2px}.align-top{vertical-align:top}.font-display{font-family:var(--f-display)}.font-mono{font-family:var(--f-mono)}.font-sans{font-family:var(--f-ui)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[0\.78125rem\]{font-size:.78125rem}.text-\[1\.25rem\]{font-size:1.25rem}.text-\[1\.75rem\]{font-size:1.75rem}.text-\[1\.375rem\]{font-size:1.375rem}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[1\.625rem\]{font-size:1.625rem}.text-\[1\.875rem\]{font-size:1.875rem}.text-\[1rem\]{font-size:1rem}.text-\[2\.125rem\]{font-size:2.125rem}.text-\[2rem\]{font-size:2rem}.text-\[clamp\(28px\,3vw\,40px\)\]{font-size:clamp(28px,3vw,40px)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.06\]{--tw-leading:1.06;line-height:1.06}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.07em\]{--tw-tracking:.07em;letter-spacing:.07em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#1d1a17\]\/40{color:oklab(22.0098% .00284923 .00685373/.4)}.text-\[oklch\(32\%_0\.15_262\)\]{color:oklch(32% .15 262)}.text-amber{color:var(--amber)}.text-background{color:var(--background)}.text-black{color:var(--color-black)}.text-cobalt{color:var(--cobalt)}.text-ember{color:var(--ember)}.text-ember-strong{color:var(--ember-strong)}.text-foreground{color:var(--foreground)}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-ink-3{color:var(--ink-3)}.text-ink-4{color:var(--ink-4)}.text-moss{color:var(--moss)}.text-muted-foreground{color:var(--muted-foreground)}.text-paper{color:var(--paper)}.text-primary-foreground{color:var(--primary-foreground)}.text-rose{color:var(--rose)}.text-white{color:var(--color-white)}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\/40{color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab, red, red)){.text-white\/65{color:color-mix(in oklab, var(--color-white) 65%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.text-white\/85{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--ember\)\]{accent-color:var(--ember)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.opacity-\[0\.14\]{opacity:.14}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--border-soft\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--border-soft));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_100vmax_rgb\(0_0_0\/0\.35\)\]{--tw-shadow:0 0 0 100vmax var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_0_oklch\(0\%_0_0\/0\.08\)\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,oklch(0% 0 0/.08));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_2px_8px_oklch\(0\%_0_0\/0\.22\)\]{--tw-shadow:0 2px 8px var(--tw-shadow-color,oklch(0% 0 0/.22));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_6px_24px_oklch\(88\%_0\.17_150\/0\.35\)\]{--tw-shadow:0 6px 24px var(--tw-shadow-color,oklch(88% .17 150/.35));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_oklch\(0\%_0_0\/0\.02\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklch(0% 0 0/.02));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-elevated{--tw-shadow:var(--shadow-ember-elevated);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-overlay{--tw-shadow:var(--shadow-ember-overlay);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-soft{--tw-shadow:var(--shadow-ember-soft);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-amber\/30{--tw-ring-color:var(--amber)}@supports (color:color-mix(in lab, red, red)){.ring-amber\/30{--tw-ring-color:color-mix(in oklab, var(--amber) 30%, transparent)}}.ring-border{--tw-ring-color:var(--border)}.ring-border-soft{--tw-ring-color:var(--border-soft)}.ring-card{--tw-ring-color:var(--card)}.ring-ember{--tw-ring-color:var(--ember)}.ring-ember-strong\/40{--tw-ring-color:var(--ember-strong)}@supports (color:color-mix(in lab, red, red)){.ring-ember-strong\/40{--tw-ring-color:color-mix(in oklab, var(--ember-strong) 40%, transparent)}}.ring-ember-veil{--tw-ring-color:var(--ember-veil)}.ring-ember\/60{--tw-ring-color:var(--ember)}@supports (color:color-mix(in lab, red, red)){.ring-ember\/60{--tw-ring-color:color-mix(in oklab, var(--ember) 60%, transparent)}}.ring-ink-4{--tw-ring-color:var(--ink-4)}.ring-input{--tw-ring-color:var(--input)}.ring-moss{--tw-ring-color:var(--moss)}.ring-rose,.ring-rose\/30{--tw-ring-color:var(--rose)}@supports (color:color-mix(in lab, red, red)){.ring-rose\/30{--tw-ring-color:color-mix(in oklab, var(--rose) 30%, transparent)}}.ring-white\/12{--tw-ring-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.ring-white\/12{--tw-ring-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.ring-white\/15{--tw-ring-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.ring-white\/15{--tw-ring-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,filter\,color\,transform\]{transition-property:background,filter,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\,filter\]{transition-property:background-color,color,box-shadow,filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,translate\]{transition-property:left,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,scale\,left\]{transition-property:opacity,scale,left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,margin\,opacity\]{transition-property:width,margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-\[cubic-bezier\(0\.3\,0\.7\,0\.2\,1\)\]{--tw-ease:cubic-bezier(.3,.7,.2,1);transition-timing-function:cubic-bezier(.3,.7,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:bg-ember\/70:is(:where(.group):hover *){background-color:var(--ember)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-ember\/70:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--ember) 70%, transparent)}}.group-hover\:text-white\/80:is(:where(.group):hover *){color:#fffc}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-white\/80:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.group-hover\:opacity-0:is(:where(.group):hover *){opacity:0}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-focus-visible\:bg-ember:is(:where(.group):focus-visible *){background-color:var(--ember)}.group-focus-visible\:opacity-0:is(:where(.group):focus-visible *){opacity:0}.group-focus-visible\:opacity-100:is(:where(.group):focus-visible *){opacity:1}.group-active\:h-16:is(:where(.group):active *){height:calc(var(--spacing) * 16)}.group-active\:bg-ember:is(:where(.group):active *){background-color:var(--ember)}@media (hover:hover){.group-enabled\:group-hover\:translate-x-0\.5:is(:where(.group):enabled *):is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}}.placeholder\:truncate::placeholder{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.placeholder\:text-ink-4::placeholder{color:var(--ink-4)}.placeholder\:text-transparent::placeholder{color:#0000}.backdrop\:bg-\[oklch\(20\%_0\.01_60\/0\.28\)\]::backdrop{background-color:oklch(20% .01 60/.28)}.backdrop\:backdrop-blur-\[2px\]::backdrop{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-x-1:before{content:var(--tw-content);inset-inline:calc(var(--spacing) * -1)}.before\:-inset-y-2\.5:before{content:var(--tw-content);inset-block:calc(var(--spacing) * -2.5)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:border-l-0:first-child{border-left-style:var(--tw-border-style);border-left-width:0}.first\:pt-0:first-child{padding-top:0}.first\:pl-0:first-child{padding-left:0}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:w-full:focus-within{width:100%}.focus-within\:border-focus:focus-within{border-color:var(--focus-line)}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-4:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-focus:focus-within{--tw-ring-color:var(--focus-line)}.focus-within\:ring-focus-glow:focus-within{--tw-ring-color:var(--focus-glow)}@media (hover:hover){.hover\:w-\[var\(--ai-long\)\]:hover{width:var(--ai-long)}.hover\:border-ember:hover{border-color:var(--ember)}.hover\:border-ink-4:hover{border-color:var(--ink-4)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-card:hover,.hover\:bg-card\/60:hover{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-card\/60:hover{background-color:color-mix(in oklab, var(--card) 60%, transparent)}}.hover\:bg-paper-2:hover{background-color:var(--paper-2)}.hover\:bg-paper-3:hover{background-color:var(--paper-3)}.hover\:bg-rose-tint:hover{background-color:var(--rose-tint)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:bg-white\/90:hover{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/90:hover{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-ink-2:hover{color:var(--ink-2)}.hover\:text-ink-3:hover{color:var(--ink-3)}.hover\:text-rose:hover{color:var(--rose)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-elevated:hover{--tw-shadow:var(--shadow-ember-elevated);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-border:hover{--tw-ring-color:var(--border)}.hover\:ring-border-soft:hover{--tw-ring-color:var(--border-soft)}.hover\:ring-ember:hover{--tw-ring-color:var(--ember)}.hover\:ring-ink-4:hover{--tw-ring-color:var(--ink-4)}.hover\:brightness-105:hover{--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-\[1\.06\]:hover{--tw-brightness:brightness(1.06);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-ember:focus{border-color:var(--ember)}.focus\:border-focus:focus{border-color:var(--focus-line)}.focus\:bg-card:focus{background-color:var(--card)}.focus\:bg-paper:focus{background-color:var(--paper)}.focus\:text-ink:focus{color:var(--ink)}.focus\:opacity-100:focus{opacity:1}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-border:focus{--tw-ring-color:var(--border)}.focus\:ring-focus-glow:focus{--tw-ring-color:var(--focus-glow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus-visible\:w-\[var\(--ai-long\)\]:focus-visible{width:var(--ai-long)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-focus:focus-visible{--tw-ring-color:var(--focus-line)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.active\:brightness-95:active{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}.has-\[input\:not\(\:placeholder-shown\)\]\:w-full:has(:is(input:not(:placeholder-shown))){width:100%}.aria-pressed\:bg-foreground[aria-pressed=true]{background-color:var(--foreground)}.aria-pressed\:text-background[aria-pressed=true]{color:var(--background)}.aria-pressed\:ring-2[aria-pressed=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-pressed\:ring-current[aria-pressed=true]{--tw-ring-color:currentcolor}.data-\[open\=true\]\:w-\[var\(--ai-long\)\][data-open=true]{width:var(--ai-long)}.data-\[over\]\:border-focus[data-over]{border-color:var(--focus-line)}.data-\[over\]\:bg-paper-2[data-over]{background-color:var(--paper-2)}.data-\[over\]\:text-ink[data-over]{color:var(--ink)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media not all and (width>=420px){.max-\[420px\]\:hidden{display:none}}@media not all and (width>=64rem){.max-lg\:pointer-events-none{pointer-events:none}.max-lg\:left-1\/2{left:50%}.max-lg\:hidden{display:none}.max-lg\:h-0{height:0}.max-lg\:h-\[148px\]{height:148px}.max-lg\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.max-lg\:scale-\[0\.4\]{scale:.4}.max-lg\:scale-\[0\.6\]{scale:.6}.max-lg\:text-center{text-align:center}.max-lg\:opacity-0{opacity:0}.max-lg\:opacity-100{opacity:1}}@media not all and (width>=48rem){.max-md\:scroll-mt-36{scroll-margin-top:calc(var(--spacing) * 36)}.max-md\:py-2{padding-block:calc(var(--spacing) * 2)}}@media not all and (width>=40rem){.max-sm\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.max-sm\:col-span-3{grid-column:span 3/span 3}.max-sm\:m-0{margin:0}.max-sm\:-mx-3{margin-inline:calc(var(--spacing) * -3)}.max-sm\:ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.max-sm\:hidden{display:none}.max-sm\:size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.max-sm\:h-dvh{height:100dvh}.max-sm\:max-h-none{max-height:none}.max-sm\:w-auto{width:auto}.max-sm\:w-full{width:100%}.max-sm\:max-w-none{max-width:none}.max-sm\:basis-full{flex-basis:100%}.max-sm\:\[scrollbar-width\:none\]{scrollbar-width:none}.max-sm\:overflow-x-auto{overflow-x:auto}.max-sm\:overflow-y-auto{overflow-y:auto}.max-sm\:rounded-none{border-radius:0}.max-sm\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.max-sm\:border-border-soft{border-color:var(--border-soft)}.max-sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.max-sm\:pr-10{padding-right:calc(var(--spacing) * 10)}.max-sm\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.max-sm\:font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}}@media (width>=40rem){.sm\:-top-3\.5{top:calc(var(--spacing) * -3.5)}.sm\:-right-3\.5{right:calc(var(--spacing) * -3.5)}.sm\:order-none{order:0}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-start-auto{grid-column-start:auto}.sm\:row-start-auto{grid-row-start:auto}.sm\:-mx-7{margin-inline:calc(var(--spacing) * -7)}.sm\:mt-6{margin-top:calc(var(--spacing) * 6)}.sm\:mr-1{margin-right:var(--spacing)}.sm\:block{display:block}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline-flex{display:inline-flex}.sm\:size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.sm\:h-11{height:calc(var(--spacing) * 11)}.sm\:min-h-0{min-height:0}.sm\:min-h-\[136px\]{min-height:136px}.sm\:w-32{width:calc(var(--spacing) * 32)}.sm\:w-56{width:calc(var(--spacing) * 56)}.sm\:w-auto{width:auto}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-4xl{max-width:var(--container-4xl)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-1{flex:1}.sm\:basis-0{flex-basis:0}.sm\:\[grid-template-columns\:var\(--cols\)\]{grid-template-columns:var(--cols)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-\[1fr_2fr_auto\]{grid-template-columns:1fr 2fr auto}.sm\:grid-cols-\[7\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:7.5rem minmax(0,1fr)}.sm\:grid-cols-\[9rem_minmax\(0\,1fr\)\]{grid-template-columns:9rem minmax(0,1fr)}.sm\:grid-cols-\[230px_minmax\(0\,1fr\)\]{grid-template-columns:230px minmax(0,1fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_12rem_auto\]{grid-template-columns:minmax(0,1fr) 12rem auto}.sm\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,3fr\)_auto_auto\]{grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto auto}.sm\:grid-rows-\[minmax\(0\,1fr\)\]{grid-template-rows:minmax(0,1fr)}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:justify-center{justify-content:center}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-8{gap:calc(var(--spacing) * 8)}.sm\:overflow-y-auto{overflow-y:auto}.sm\:rounded-t-2xl{border-top-left-radius:calc(var(--radius) * 2);border-top-right-radius:calc(var(--radius) * 2)}.sm\:bg-transparent{background-color:#0000}.sm\:p-0{padding:0}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-7{padding-inline:calc(var(--spacing) * 7)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:pt-6{padding-top:calc(var(--spacing) * 6)}.sm\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\:pt-16{padding-top:calc(var(--spacing) * 16)}.sm\:pr-36{padding-right:calc(var(--spacing) * 36)}.sm\:pr-40{padding-right:calc(var(--spacing) * 40)}.sm\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.sm\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.sm\:pb-16{padding-bottom:calc(var(--spacing) * 16)}.sm\:text-\[1\.75rem\]{font-size:1.75rem}.sm\:text-\[2\.125rem\]{font-size:2.125rem}.sm\:text-\[2\.375rem\]{font-size:2.375rem}.sm\:text-\[2rem\]{font-size:2rem}.sm\:placeholder\:text-ink-4::placeholder{color:var(--ink-4)}}@media (width>=48rem){.md\:sticky{position:sticky}.md\:top-20{top:calc(var(--spacing) * 20)}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:grid-cols-\[13\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:13.5rem minmax(0,1fr)}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:self-start{align-self:flex-start}}@media (width>=64rem){.lg\:pointer-events-none{pointer-events:none}.lg\:top-\[calc\(6vh\+5\.25rem\)\]{top:calc(6vh + 5.25rem)}.lg\:left-0{left:0}.lg\:left-\[calc\(50\%-508px\)\]{left:calc(50% - 508px)}.lg\:left-\[calc\(50\%-560px\)\]{left:calc(50% - 560px)}.lg\:ml-0{margin-left:0}.lg\:ml-\[calc\(50\%-16rem\)\]{margin-left:calc(50% - 16rem)}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:h-0{height:0}.lg\:h-\[calc\(100vh-27rem\)\]{height:calc(100vh - 27rem)}.lg\:h-auto{height:auto}.lg\:max-h-\[calc\(100vh-15rem\)\]{max-height:calc(100vh - 15rem)}.lg\:max-h-\[calc\(100vh-27rem\)\]{max-height:calc(100vh - 27rem)}.lg\:min-h-0{min-height:0}.lg\:min-h-\[6\.5rem\]{min-height:6.5rem}.lg\:min-h-\[360px\]{min-height:360px}.lg\:w-\(--pane\){width:var(--pane)}.lg\:w-\[32rem\]{width:32rem}.lg\:origin-center{transform-origin:50%}.lg\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x) var(--tw-scale-y)}.lg\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:grid-cols-\[15rem_minmax\(0\,1fr\)\]{grid-template-columns:15rem minmax(0,1fr)}.lg\:grid-cols-\[minmax\(280px\,360px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:gap-14{gap:calc(var(--spacing) * 14)}.lg\:rounded-tl-3xl{border-top-left-radius:calc(var(--radius) * 3)}.lg\:pt-\[6vh\]{padding-top:6vh}.lg\:text-left{text-align:left}.lg\:opacity-0{opacity:0}.lg\:opacity-100{opacity:1}.lg\:transition-\[margin\]{transition-property:margin;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.lg\:duration-700{--tw-duration:.7s;transition-duration:.7s}}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}@media (pointer:coarse){.coarse\:-my-3{margin-block:calc(var(--spacing) * -3)}.coarse\:size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.coarse\:size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.coarse\:h-11{height:calc(var(--spacing) * 11)}.coarse\:min-h-11{min-height:calc(var(--spacing) * 11)}.coarse\:min-w-11{min-width:calc(var(--spacing) * 11)}.coarse\:px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.coarse\:px-4{padding-inline:calc(var(--spacing) * 4)}.coarse\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.coarse\:opacity-100{opacity:1}}@media not all and (width>=40rem){.max-sm\:\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}.\[\&\>button\]\:size-8>button{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.\[\&\>button\]\:bg-card>button{background-color:var(--card)}.\[\&\>button\]\:shadow-soft>button{--tw-shadow:var(--shadow-ember-soft);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[\&\>svg\]\:size-full>svg{width:100%;height:100%}}:root,.dark .tone-flip{--raw-primary:#e0531b;--raw-secondary:#f1f3f5;--raw-background:#faf8f5;--raw-sidebar:var(--paper);--contrast:1;--hue-success:150;--hue-danger:25;--hue-warning:70;--hue-info:264;--paper:oklch(from var(--raw-background) calc(.99 - (.02 * var(--contrast))) c h);--paper-2:oklch(from var(--raw-background) calc(.96 - (.03 * var(--contrast))) calc(c * 1.2) h);--paper-3:oklch(from var(--raw-background) calc(.94 - (.04 * var(--contrast))) calc(c * 1.5) h);--canvas:var(--paper);--canvas-dim:var(--paper-2);--canvas-darken:var(--paper-3);--ink:oklch(from var(--raw-background) calc(.22 + (.05 / var(--contrast))) calc(c * 1.2) h);--ink-2:oklch(from var(--raw-background) calc(.4 + (.05 / var(--contrast))) c h);--ink-3:oklch(from var(--raw-background) calc(.55 + (.05 / var(--contrast))) calc(c * .8) h);--ink-4:oklch(from var(--raw-background) calc(.7 + (.05 / var(--contrast))) calc(c * .6) h);--ember:oklch(from var(--raw-primary) l c h);--ember-strong:oklch(from var(--raw-primary) calc(l - (.08 * var(--contrast))) c h);--ember-tint:oklch(from var(--raw-primary) calc(.96 + .02 * (1 - var(--contrast))) calc(c * .2) h);--ember-veil:oklch(from var(--raw-primary) l c h / .1);--cobalt:var(--info);--cobalt-tint:var(--info-tint);--moss:var(--success);--moss-tint:var(--success-tint);--amber:var(--warning);--amber-tint:var(--warning-tint);--rose:var(--danger);--rose-tint:var(--danger-tint);--danger:oklch(from var(--raw-background) calc(.64 - (.05 * var(--contrast))) .2 var(--hue-danger));--danger-tint:oklch(from var(--raw-background) calc(.98 - (.01 * var(--contrast))) .03 var(--hue-danger));--success:oklch(from var(--raw-background) calc(.48 - (.04 * var(--contrast))) .13 var(--hue-success));--success-tint:oklch(from var(--raw-background) calc(.98 - (.01 * var(--contrast))) .025 var(--hue-success));--warning:oklch(from var(--raw-background) calc(.78 - (.04 * var(--contrast))) .16 var(--hue-warning));--warning-tint:oklch(from var(--raw-background) calc(.98 - (.01 * var(--contrast))) .04 var(--hue-warning));--info:oklch(from var(--raw-background) calc(.5 - (.05 * var(--contrast))) .18 var(--hue-info));--info-tint:oklch(from var(--raw-background) calc(.98 - (.01 * var(--contrast))) .025 var(--hue-info));--link:var(--info);--secondary-accent:oklch(from var(--raw-secondary) l c h);--secondary-accent-strong:oklch(from var(--raw-secondary) calc(l - (.08 * var(--contrast))) c h);--f-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--f-ui:"Geist", ui-sans-serif, system-ui, sans-serif;--f-mono:"Geist Mono", ui-monospace, monospace;--t-display-l:56px;--t-display:40px;--t-h1:28px;--t-h2:20px;--t-h3:16px;--t-body:14px;--t-ui:13px;--t-small:12px;--t-micro:11px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-1:2px;--r-2:4px;--r-3:6px;--r-4:12px;--r-5:16px;--r-pill:999px;--shadow-ember-elevated:0 1px 2px oklch(from var(--raw-background) .4 c h / .04), 0 6px 18px oklch(from var(--raw-background) .2 c h / .06);--shadow-ember-overlay:0 2px 4px oklch(from var(--raw-background) .2 c h / .08), 0 10px 28px oklch(from var(--raw-background) .15 c h / .16);--shadow-ember-soft:0 1px 2px oklch(from var(--raw-background) .4 c h / .03), 0 3px 10px oklch(from var(--raw-background) .3 c h / .05);--e-1:0 1px 0 oklch(from var(--raw-background) .7 c h / .08);--e-2:var(--shadow-ember-elevated);--e-3:0 1px 2px oklch(from var(--raw-background) .4 c h / .04), 0 6px 18px oklch(from var(--raw-background) .4 c h / .06), 0 18px 36px oklch(from var(--raw-background) .4 c h / .07);--shadow-shell-secondary-edge:0 2px 24px -8px oklch(from var(--raw-background) .35 c h / .14);--shadow-shell-copilot-edge:0 2px 24px -8px oklch(from var(--raw-background) .35 c h / .14);--row-compact:28px;--row-default:32px;--row-comfy:40px;--shell-row:44px;--shell-footer:48px;--input-inset:oklch(from var(--raw-background) calc(calc(.99 - (.02 * var(--contrast))) - (.12 * var(--contrast))) calc(c * 3) h / .65)}.dark,.tone-flip{--raw-sidebar:oklch(from var(--raw-background) calc(.09 + (.03 * var(--contrast))) calc(c * 1.2) h);--paper:oklch(from var(--raw-background) calc(.12 + (.03 * var(--contrast))) c h);--paper-2:oklch(from var(--raw-background) calc(.15 + (.02 * var(--contrast))) calc(c * 1.2) h);--paper-3:oklch(from var(--raw-background) calc(.18 + (.01 * var(--contrast))) calc(c * 1.5) h);--ink:oklch(from var(--raw-background) calc(.92 - (.05 / var(--contrast))) calc(c * 1.2) h);--ink-2:oklch(from var(--raw-background) calc(.85 - (.05 / var(--contrast))) c h);--ink-3:oklch(from var(--raw-background) calc(.72 - (.05 / var(--contrast))) calc(c * .8) h);--ink-4:oklch(from var(--raw-background) calc(.58 - (.05 / var(--contrast))) calc(c * .6) h);--input-inset:oklch(from var(--raw-background) calc(calc(.12 + (.03 * var(--contrast))) + (.21 * var(--contrast))) calc(c * 2.8) h / .65);--ember-strong:oklch(from var(--raw-primary) calc(l + (.08 * var(--contrast))) c h);--ember-tint:oklch(from var(--raw-primary) calc(.18 + .02 * var(--contrast)) calc(c * .35) h);--secondary-accent-strong:oklch(from var(--raw-secondary) calc(l + (.08 * var(--contrast))) c h);--danger:oklch(from var(--raw-background) calc(.62 + (.05 * var(--contrast))) .2 var(--hue-danger));--danger-tint:oklch(from var(--raw-background) calc(.18 + (.02 * var(--contrast))) .05 var(--hue-danger));--success:oklch(from var(--raw-background) calc(.65 + (.05 * var(--contrast))) .13 var(--hue-success));--success-tint:oklch(from var(--raw-background) calc(.18 + (.02 * var(--contrast))) .04 var(--hue-success));--warning:oklch(from var(--raw-background) calc(.78 + (.04 * var(--contrast))) .16 var(--hue-warning));--warning-tint:oklch(from var(--raw-background) calc(.18 + (.02 * var(--contrast))) .05 var(--hue-warning));--info:oklch(from var(--raw-background) calc(.72 + (.05 * var(--contrast))) .18 var(--hue-info));--info-tint:oklch(from var(--raw-background) calc(.18 + (.02 * var(--contrast))) .04 var(--hue-info));--shadow-ember-elevated:0 1px 2px oklch(0% 0 0/.22), 0 6px 18px oklch(0% 0 0/.28);--shadow-ember-overlay:0 2px 4px oklch(0% 0 0/.3), 0 10px 28px oklch(0% 0 0/.44);--shadow-ember-soft:0 1px 2px oklch(0% 0 0/.18), 0 3px 10px oklch(0% 0 0/.22);--e-2:var(--shadow-ember-elevated);--e-3:0 1px 2px oklch(0% 0 0/.22), 0 6px 18px oklch(0% 0 0/.28), 0 24px 48px oklch(0% 0 0/.32);--shadow-shell-secondary-edge:0 2px 28px -10px oklch(0% 0 0/.5);--shadow-shell-copilot-edge:0 2px 28px -10px oklch(0% 0 0/.5)}.tone-flip{--canvas:var(--paper);--canvas-dim:var(--paper-2);--canvas-darken:var(--paper-3);--cobalt:var(--info);--cobalt-tint:var(--info-tint);--moss:var(--success);--moss-tint:var(--success-tint);--amber:var(--warning);--amber-tint:var(--warning-tint);--rose:var(--danger);--rose-tint:var(--danger-tint);--link:var(--info);color:var(--foreground)}@media (prefers-contrast:more){:root{--contrast:1.4}}.theme-high-contrast{--contrast:1.4}.theme-deuteranopia,.theme-protanopia{--hue-success:195;--hue-danger:15;--hue-warning:50}.theme-tritanopia{--hue-success:165;--hue-warning:10;--hue-info:140}:root,.dark .tone-flip{--background:var(--canvas);--foreground:var(--ink);--card:oklch(100% 0 0);--card-foreground:var(--ink);--popover:oklch(from var(--card) l c h / .72);--popover-foreground:var(--ink);--primary:var(--ember-strong);--primary-foreground:oklch(99% 0 0);--secondary:var(--paper-2);--secondary-foreground:var(--ink);--muted:var(--paper-3)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--muted:color-mix(in oklch, var(--paper-3) 32%, var(--card))}}:root,.dark .tone-flip{--muted-foreground:var(--ink-3);--accent:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--accent:color-mix(in oklch, var(--ink) calc(7.5% * var(--contrast)), var(--paper))}}:root,.dark .tone-flip{--accent-foreground:var(--ink);--destructive:var(--danger);--destructive-foreground:oklch(99% 0 0);--border:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--border:color-mix(in oklch, var(--ink) calc(12% * var(--contrast)), var(--paper))}}:root,.dark .tone-flip{--border-soft:var(--border)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--border-soft:color-mix(in oklch, var(--border) 50%, transparent)}}:root,.dark .tone-flip{--input:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--input:color-mix(in oklch, var(--ink) calc(10% * var(--contrast)), var(--paper))}}:root,.dark .tone-flip{--ring:var(--ember)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--ring:color-mix(in oklch, var(--ember) 45%, transparent)}}:root,.dark .tone-flip{--link:var(--info);--chart-1:var(--moss);--chart-2:var(--cobalt);--chart-3:var(--ember);--chart-4:var(--amber);--chart-5:var(--rose);--sidebar:oklch(from var(--raw-sidebar) l c h);--sidebar-foreground:oklch(from var(--sidebar) clamp(.15, (.62 - l) * 100, .98) calc(c * .06) h);--sidebar-primary:var(--ember);--sidebar-primary-foreground:oklch(from var(--ember) calc(1 - l) calc(c * .1) h);--sidebar-accent:oklch(from var(--sidebar) calc(l + .05 * (1 - 2 * l)) c h);--sidebar-accent-foreground:oklch(from var(--sidebar) clamp(.15, (.62 - l) * 100, .98) calc(c * .06) h);--sidebar-border:var(--sidebar)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--sidebar-border:color-mix(in oklch, var(--sidebar) 82%, var(--sidebar-foreground))}}:root,.dark .tone-flip{--sidebar-ring:var(--sidebar-primary)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--sidebar-ring:color-mix(in oklch, var(--sidebar-primary) 65%, transparent)}}:root,.dark .tone-flip{--font-sans:var(--f-ui);--font-heading:var(--f-display);--font-mono:var(--f-mono);--radius:.5rem;--radius-button:.5rem;--shadow-2xs:var(--e-1);--shadow-xs:0 1px 2px oklch(40% var(--seed-neutral-c) var(--seed-neutral-h) / .06);--shadow-sm:var(--e-2);--shadow-md:0 4px 12px oklch(40% var(--seed-neutral-c) var(--seed-neutral-h) / .08);--shadow-lg:var(--e-3);--shadow-xl:0 20px 40px oklch(35% var(--seed-neutral-c) var(--seed-neutral-h) / .12);--shadow-2xl:0 24px 48px oklch(30% var(--seed-neutral-c) var(--seed-neutral-h) / .16)}.dark,.tone-flip{--background:var(--canvas);--foreground:var(--ink);--card:var(--paper-2);--card-foreground:var(--ink);--popover:oklch(from var(--card) l c h / .78);--popover-foreground:var(--ink);--primary:var(--ember-strong);--primary-foreground:oklch(from var(--raw-background) .16 .02 h);--secondary:var(--paper-2);--secondary-foreground:var(--ink-2);--muted:var(--paper-3)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--muted:color-mix(in oklch, var(--paper-3) 45%, var(--card))}}.dark,.tone-flip{--muted-foreground:var(--ink-3);--accent:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--accent:color-mix(in oklch, var(--ink) calc(10% * var(--contrast)), var(--paper))}}.dark,.tone-flip{--accent-foreground:var(--ink);--destructive:var(--danger);--destructive-foreground:oklch(99% 0 0);--border:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--border:color-mix(in oklch, var(--ink) calc(12% * var(--contrast)), var(--paper))}}.dark,.tone-flip{--border-soft:var(--border)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--border-soft:color-mix(in oklch, var(--border) 50%, transparent)}}.dark,.tone-flip{--input:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--input:color-mix(in oklch, var(--ink) calc(10% * var(--contrast)), var(--paper))}}.dark,.tone-flip{--ring:var(--ember)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--ring:color-mix(in oklch, var(--ember) 55%, transparent)}}.dark,.tone-flip{--link:var(--info);--chart-1:var(--moss);--chart-2:var(--cobalt);--chart-3:var(--ember);--chart-4:var(--amber);--chart-5:var(--rose);--sidebar:oklch(from var(--raw-sidebar) l c h);--sidebar-foreground:oklch(from var(--sidebar) clamp(.15, (.62 - l) * 100, .98) calc(c * .06) h);--sidebar-primary:var(--ember);--sidebar-primary-foreground:oklch(from var(--ember) calc(1 - l) calc(c * .1) h);--sidebar-accent:oklch(from var(--sidebar) calc(l + .05 * (1 - 2 * l)) c h);--sidebar-accent-foreground:oklch(from var(--sidebar) clamp(.15, (.62 - l) * 100, .98) calc(c * .06) h);--sidebar-border:var(--sidebar)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--sidebar-border:color-mix(in oklch, var(--sidebar) 82%, var(--sidebar-foreground))}}.dark,.tone-flip{--sidebar-ring:var(--sidebar-primary)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--sidebar-ring:color-mix(in oklch, var(--sidebar-primary) 55%, transparent)}}.dark,.tone-flip{--shadow-2xs:0 1px 0 oklch(0% 0 0/.2);--shadow-xs:0 1px 2px oklch(0% 0 0/.25);--shadow-sm:var(--e-2);--shadow-md:0 4px 14px oklch(0% 0 0/.32);--shadow-lg:var(--e-3);--shadow-xl:0 20px 40px oklch(0% 0 0/.42);--shadow-2xl:0 24px 56px oklch(0% 0 0/.48)}.dark{--stage:oklch(34% .14 264);--raw-background:var(--stage);--raw-sidebar:oklch(from var(--stage) calc(l - .04) c h);--paper:oklch(from var(--stage) l c h);--card:oklch(from var(--stage) calc(l + .06) calc(c * .95) h);--paper-2:oklch(from var(--stage) calc(l + .1) calc(c * .92) h);--paper-3:oklch(from var(--stage) calc(l + .14) calc(c * .88) h);--ink:oklch(from var(--stage) .97 .015 h);--ink-2:oklch(from var(--stage) .9 .03 h);--ink-3:oklch(from var(--stage) .8 .05 h);--ink-4:oklch(from var(--stage) .68 .06 h);--accent:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark{--accent:color-mix(in oklch, var(--ink) 10%, var(--card))}}.dark{--border:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark{--border:color-mix(in oklch, var(--ink) 18%, var(--card))}}.dark{--input:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark{--input:color-mix(in oklch, var(--ink) 24%, var(--card))}}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{-webkit-text-size-adjust:100%;font-size:16px}@media ((width>768px)) and ((width<1280px)){html[data-studio]{font-size:14px}}body{background:var(--background);color:var(--foreground);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh}@media (pointer:coarse){input:not([type=checkbox],[type=radio],[type=range],[type=color]),textarea,select{font-size:16px}}button,a,[role=switch]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.safe-top{padding-top:env(safe-area-inset-top)}.safe-x{padding-left:max(1.25rem, env(safe-area-inset-left));padding-right:max(1.25rem, env(safe-area-inset-right))}.safe-bottom{padding-bottom:max(.75rem, env(safe-area-inset-bottom))}@media (width<=767px){.action-bar{bottom:var(--kb,0px);z-index:10;padding:.75rem 1.25rem max(.75rem, env(safe-area-inset-bottom));background:var(--background);margin-inline:-1.25rem;position:sticky}@supports (color:color-mix(in lab, red, red)){.action-bar{background:color-mix(in oklch, var(--background) 88%, transparent)}}.action-bar{-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-soft)}.keyboard-open .action-bar{padding-bottom:.75rem}}:root.in-app{--f-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", Roboto, system-ui, sans-serif;--f-mono:ui-monospace, "SF Mono", Menlo, monospace}::selection{color:var(--ink);background:var(--ember-veil)}:root{--focus-line:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--focus-line:color-mix(in oklch, var(--ink) 26%, transparent)}}:root{--focus-glow:transparent}:focus-visible{outline:1.5px solid var(--focus-line);outline-offset:2px}:is(input,textarea,select):focus-visible{outline:none}.theme-high-contrast{--focus-line:var(--ember);--focus-glow:var(--ember-veil)}@media (prefers-contrast:more){:root{--focus-line:var(--ember);--focus-glow:var(--ember-veil)}}.theme-high-contrast :focus-visible{outline-width:2px}@media (prefers-contrast:more){:focus-visible{outline-width:2px}}.prose-zen{color:var(--ink);overflow-wrap:anywhere;line-height:1.6}.prose-zen>*+*{margin-top:.75em}.prose-zen h1,.prose-zen h2,.prose-zen h3{font-family:var(--f-display);margin-top:1.25em;font-weight:600;line-height:1.25}.prose-zen h1{font-size:1.5rem}.prose-zen h2{font-size:1.2rem}.prose-zen h3{font-size:1.05rem}.prose-zen ul,.prose-zen ol{padding-left:1.25em}.prose-zen ul{list-style:outside}.prose-zen ol{list-style:decimal}.prose-zen a{color:var(--ember-strong);text-underline-offset:2px;text-decoration:underline}.prose-zen table{border-collapse:collapse;width:100%;font-size:.9em}@media (width<=639px){.prose-zen table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.prose-zen pre{overflow-x:auto}.prose-zen img{max-width:100%;height:auto}.prose-zen th,.prose-zen td{border-bottom:1px solid var(--border-soft);text-align:left;padding:.4em .6em}.prose-zen code{font-family:var(--f-mono);background:var(--paper-2);border-radius:4px;padding:.1em .3em;font-size:.9em}.prose-zen blockquote{border-left:3px solid var(--border);color:var(--ink-2);padding-left:.9em}.swatch::-webkit-color-swatch-wrapper{padding:0}.swatch::-webkit-color-swatch{border-radius:calc(var(--radius) * .5);border:0}.swatch::-moz-color-swatch{border-radius:calc(var(--radius) * .5);border:0}.react-flow__attribution{display:none}.react-flow__edge-path{stroke:var(--ink-4);stroke-width:1.5px}.react-flow__handle{opacity:0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.animate-rise{animation:.45s cubic-bezier(.2,.7,.2,1) backwards rise}@keyframes dock{0%{opacity:0;transform:translateY(calc(100% + 16px))}to{opacity:1;transform:none}}.animate-dock{animation:.32s cubic-bezier(.2,.7,.2,1) both dock}@keyframes settle{0%{opacity:0;transform:translate(28px)}}.animate-settle{animation:.6s cubic-bezier(.2,.7,.2,1) .3s both settle}@keyframes step-deeper{0%{opacity:0;transform:translate(1.5rem)}}@keyframes step-back{0%{opacity:0;transform:translate(-1.5rem)}}.animate-step-deeper{animation:.2s ease-out backwards step-deeper}.animate-step-back{animation:.2s ease-out backwards step-back}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}.animate-breathe{animation:2.4s ease-in-out infinite breathe}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.72)}}.animate-pulse-dot{animation:1.2s ease-in-out infinite pulse-dot}dialog.media-sheet{color:#fff;background:#000;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}dialog.media-sheet::backdrop{background:oklch(20% .01 60/.5)}@media (width>=640px) and (height>=560px){dialog.media-sheet{border-radius:calc(var(--radius) * 2);width:min(720px,100% - 48px);height:min(640px,100dvh - 48px);margin:auto;overflow:hidden}}@media (prefers-reduced-motion:reduce){.animate-rise,.animate-dock,.animate-settle,.animate-step-deeper,.animate-step-back,.animate-breathe,.animate-pulse-dot{animation:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
742
+ <style rel="stylesheet" crossorigin>@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}@layer theme{:root,:host{--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-md:12px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--f-ui);--default-mono-font-family:var(--f-mono);--color-card:var(--card)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html:not([data-desktop]) :is(button,select,summary,[role=button],[role=switch],label:has(input[type=file]),input[type=color]):not(:disabled){cursor:pointer}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-6{inset-inline:calc(var(--spacing) * 6)}.inset-y-0{inset-block:0}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-1{top:calc(var(--spacing) * -1)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.-top-2\.5{top:calc(var(--spacing) * -2.5)}.-top-3{top:calc(var(--spacing) * -3)}.-top-4{top:calc(var(--spacing) * -4)}.-top-14{top:calc(var(--spacing) * -14)}.-top-28{top:calc(var(--spacing) * -28)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-6{top:calc(var(--spacing) * 6)}.top-11{top:calc(var(--spacing) * 11)}.top-12{top:calc(var(--spacing) * 12)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.-right-10{right:calc(var(--spacing) * -10)}.right-0{right:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-9{right:calc(var(--spacing) * 9)}.right-10{right:calc(var(--spacing) * 10)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-0{bottom:0}.bottom-0\.5{bottom:calc(var(--spacing) * .5)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-10{bottom:calc(var(--spacing) * 10)}.bottom-12{bottom:calc(var(--spacing) * 12)}.bottom-\[22\%\]{bottom:22%}.-left-1\.5{left:calc(var(--spacing) * -1.5)}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[9px\]{left:9px}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-first{order:-9999}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-5{grid-column:span 5/span 5}.col-span-full{grid-column:1/-1}.col-start-6{grid-column-start:6}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-3{margin:calc(var(--spacing) * 3)}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-5{margin-inline:calc(var(--spacing) * -5)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.-mt-3{margin-top:calc(var(--spacing) * -3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-\[7px\]{margin-top:7px}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-1\.5{margin-right:calc(var(--spacing) * -1.5)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-\[0\.09em\]{margin-right:.09em}.mr-auto{margin-right:auto}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-1\.5{margin-left:calc(var(--spacing) * -1.5)}.-ml-3{margin-left:calc(var(--spacing) * -3)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-8{margin-left:calc(var(--spacing) * 8)}.ml-\[0\.06em\]{margin-left:.06em}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.aspect-\[5\/2\]{aspect-ratio:5/2}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.size-28{width:calc(var(--spacing) * 28);height:calc(var(--spacing) * 28)}.size-48{width:calc(var(--spacing) * 48);height:calc(var(--spacing) * 48)}.size-80{width:calc(var(--spacing) * 80);height:calc(var(--spacing) * 80)}.size-\[3px\]{width:3px;height:3px}.size-\[22px\]{width:22px;height:22px}.size-\[54px\]{width:54px;height:54px}.size-\[72px\]{width:72px;height:72px}.size-full{width:100%;height:100%}.h-\(--sheet\){height:var(--sheet)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-28{height:calc(var(--spacing) * 28)}.h-40{height:calc(var(--spacing) * 40)}.h-44{height:calc(var(--spacing) * 44)}.h-\[3px\]{height:3px}.h-\[28rem\]{height:28rem}.h-\[46vh\]{height:46vh}.h-\[70dvh\]{height:70dvh}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[38vh\]{max-height:38vh}.max-h-\[46vh\]{max-height:46vh}.max-h-\[60dvh\]{max-height:60dvh}.max-h-\[68dvh\]{max-height:68dvh}.max-h-\[70dvh\]{max-height:70dvh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[76vh\]{max-height:76vh}.max-h-\[200px\]{max-height:200px}.max-h-\[520px\]{max-height:520px}.max-h-\[calc\(100dvh-32px\)\]{max-height:calc(100dvh - 32px)}.max-h-\[calc\(100dvh-48px\)\]{max-height:calc(100dvh - 48px)}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-48{min-height:calc(var(--spacing) * 48)}.min-h-80{min-height:calc(var(--spacing) * 80)}.min-h-\[6\.5rem\]{min-height:6.5rem}.min-h-\[7rem\]{min-height:7rem}.min-h-\[40px\]{min-height:40px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[60dvh\]{min-height:60dvh}.min-h-\[124px\]{min-height:124px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.w-0{width:0}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-56{width:calc(var(--spacing) * 56)}.w-72{width:calc(var(--spacing) * 72)}.w-\[222\%\]{width:222%}.w-\[280px\]{width:280px}.w-\[380px\]{width:380px}.w-\[calc\(100\%\+0\.5rem\)\]{width:calc(100% + .5rem)}.w-\[calc\(100\%-0\.75rem\)\]{width:calc(100% - .75rem)}.w-\[calc\(100\%-32px\)\]{width:calc(100% - 32px)}.w-\[calc\(100\%-48px\)\]{width:calc(100% - 48px)}.w-\[min\(68\%\,320px\)\]{width:min(68%,320px)}.w-\[var\(--ai-disc\)\]{width:var(--ai-disc)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[60\%\]{max-width:60%}.max-w-\[88rem\]{max-width:88rem}.max-w-\[160px\]{max-width:160px}.max-w-\[620px\]{max-width:620px}.max-w-\[640px\]{max-width:640px}.max-w-\[680px\]{max-width:680px}.max-w-\[1240px\]{max-width:1240px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-60{min-width:calc(var(--spacing) * 60)}.min-w-\[7\.5rem\]{min-width:7.5rem}.min-w-\[9rem\]{min-width:9rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-56{flex-basis:calc(var(--spacing) * 56)}.basis-\[12rem\]{flex-basis:12rem}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.origin-top{transform-origin:top}.origin-top-left{transform-origin:0 0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[2px\]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[22px\]{--tw-translate-x:22px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-scale-x-100{--tw-scale-x:calc(100% * -1);scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-\[0\.45\]{scale:.45}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.\[scrollbar-width\:none\]{scrollbar-width:none}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[22px_minmax\(0\,1fr\)\]{grid-template-columns:22px minmax(0,1fr)}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.grid-cols-\[repeat\(auto-fill\,minmax\(184px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(184px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(220px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-x-1{column-gap:var(--spacing)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-7{column-gap:calc(var(--spacing) * 7)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-5{row-gap:calc(var(--spacing) * 5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border-soft>:not(:last-child)){border-color:var(--border-soft)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 2)}.rounded-3xl{border-radius:calc(var(--radius) * 3)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .75)}.rounded-xl{border-radius:calc(var(--radius) * 1.5)}.rounded-t-3xl{border-top-left-radius:calc(var(--radius) * 3);border-top-right-radius:calc(var(--radius) * 3)}.rounded-br-md{border-bottom-right-radius:calc(var(--radius) * .75)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#1d1a17\]\/25{border-color:oklab(22.0098% .00284923 .00685373/.25)}.border-border{border-color:var(--border)}.border-border-soft{border-color:var(--border-soft)}.border-ember{border-color:var(--ember)}.border-ink-4{border-color:var(--ink-4)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab, red, red)){.border-white\/40{border-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.border-white\/90{border-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.border-white\/90{border-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-\(--coin-bg\,var\(--color-card\)\){background-color:var(--coin-bg,var(--color-card))}.bg-\[\#0f1424\]{background-color:#0f1424}.bg-\[\#e5484d\]{background-color:#e5484d}.bg-\[oklch\(20\%_0\.01_60\/0\.22\)\]{background-color:oklch(20% .01 60/.22)}.bg-accent{background-color:var(--accent)}.bg-amber{background-color:var(--amber)}.bg-amber-tint{background-color:var(--amber-tint)}.bg-background,.bg-background\/85{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/85{background-color:color-mix(in oklab, var(--background) 85%, transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-border-soft{background-color:var(--border-soft)}.bg-card,.bg-card\/90{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/90{background-color:color-mix(in oklab, var(--card) 90%, transparent)}}.bg-card\/95{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.bg-card\/95{background-color:color-mix(in oklab, var(--card) 95%, transparent)}}.bg-cobalt{background-color:var(--cobalt)}.bg-cobalt-tint{background-color:var(--cobalt-tint)}.bg-ember{background-color:var(--ember)}.bg-ember-tint,.bg-ember-tint\/50{background-color:var(--ember-tint)}@supports (color:color-mix(in lab, red, red)){.bg-ember-tint\/50{background-color:color-mix(in oklab, var(--ember-tint) 50%, transparent)}}.bg-ember-veil{background-color:var(--ember-veil)}.bg-foreground{background-color:var(--foreground)}.bg-ink{background-color:var(--ink)}.bg-ink-4,.bg-ink-4\/40{background-color:var(--ink-4)}@supports (color:color-mix(in lab, red, red)){.bg-ink-4\/40{background-color:color-mix(in oklab, var(--ink-4) 40%, transparent)}}.bg-moss{background-color:var(--moss)}.bg-moss-tint{background-color:var(--moss-tint)}.bg-muted{background-color:var(--muted)}.bg-paper{background-color:var(--paper)}.bg-paper-2{background-color:var(--paper-2)}.bg-paper-3{background-color:var(--paper-3)}.bg-primary{background-color:var(--primary)}.bg-rose{background-color:var(--rose)}.bg-rose-tint{background-color:var(--rose-tint)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/12{background-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.bg-white\/12{background-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-white\/\[0\.07\]{background-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.07\]{background-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-t{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-t{--tw-gradient-position:to top in oklab}}.bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.from-card{--tw-gradient-from:var(--card);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-ember-tint{--tw-gradient-from:var(--ember-tint);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-card{--tw-gradient-via:var(--card);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-card{--tw-gradient-to:var(--card);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-amber{fill:var(--amber)}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[3px\]{padding-block:3px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-20{padding-right:calc(var(--spacing) * 20)}.pr-32{padding-right:calc(var(--spacing) * 32)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-5\.5{padding-left:calc(var(--spacing) * 5.5)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-\[-2px\]{vertical-align:-2px}.align-top{vertical-align:top}.font-display{font-family:var(--f-display)}.font-mono{font-family:var(--f-mono)}.font-sans{font-family:var(--f-ui)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[0\.78125rem\]{font-size:.78125rem}.text-\[1\.25rem\]{font-size:1.25rem}.text-\[1\.75rem\]{font-size:1.75rem}.text-\[1\.375rem\]{font-size:1.375rem}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[1\.625rem\]{font-size:1.625rem}.text-\[1\.875rem\]{font-size:1.875rem}.text-\[1rem\]{font-size:1rem}.text-\[2\.125rem\]{font-size:2.125rem}.text-\[2rem\]{font-size:2rem}.text-\[clamp\(28px\,3vw\,40px\)\]{font-size:clamp(28px,3vw,40px)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.06\]{--tw-leading:1.06;line-height:1.06}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.07em\]{--tw-tracking:.07em;letter-spacing:.07em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#1d1a17\]\/40{color:oklab(22.0098% .00284923 .00685373/.4)}.text-\[oklch\(32\%_0\.15_262\)\]{color:oklch(32% .15 262)}.text-amber{color:var(--amber)}.text-background{color:var(--background)}.text-black{color:var(--color-black)}.text-cobalt{color:var(--cobalt)}.text-ember{color:var(--ember)}.text-ember-strong{color:var(--ember-strong)}.text-foreground{color:var(--foreground)}.text-ink{color:var(--ink)}.text-ink-2{color:var(--ink-2)}.text-ink-3{color:var(--ink-3)}.text-ink-4{color:var(--ink-4)}.text-moss{color:var(--moss)}.text-muted-foreground{color:var(--muted-foreground)}.text-paper{color:var(--paper)}.text-primary-foreground{color:var(--primary-foreground)}.text-rose{color:var(--rose)}.text-white{color:var(--color-white)}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\/40{color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab, red, red)){.text-white\/65{color:color-mix(in oklab, var(--color-white) 65%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.text-white\/85{color:color-mix(in oklab, var(--color-white) 85%, transparent)}}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--ember\)\]{accent-color:var(--ember)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.opacity-\[0\.14\]{opacity:.14}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--border-soft\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--border-soft));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_100vmax_rgb\(0_0_0\/0\.35\)\]{--tw-shadow:0 0 0 100vmax var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_0_oklch\(0\%_0_0\/0\.08\)\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,oklch(0% 0 0/.08));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_2px_8px_oklch\(0\%_0_0\/0\.22\)\]{--tw-shadow:0 2px 8px var(--tw-shadow-color,oklch(0% 0 0/.22));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_6px_24px_oklch\(88\%_0\.17_150\/0\.35\)\]{--tw-shadow:0 6px 24px var(--tw-shadow-color,oklch(88% .17 150/.35));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_oklch\(0\%_0_0\/0\.02\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,oklch(0% 0 0/.02));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-elevated{--tw-shadow:var(--shadow-ember-elevated);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-overlay{--tw-shadow:var(--shadow-ember-overlay);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-soft{--tw-shadow:var(--shadow-ember-soft);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-amber\/30{--tw-ring-color:var(--amber)}@supports (color:color-mix(in lab, red, red)){.ring-amber\/30{--tw-ring-color:color-mix(in oklab, var(--amber) 30%, transparent)}}.ring-border{--tw-ring-color:var(--border)}.ring-border-soft{--tw-ring-color:var(--border-soft)}.ring-card{--tw-ring-color:var(--card)}.ring-ember{--tw-ring-color:var(--ember)}.ring-ember-strong\/40{--tw-ring-color:var(--ember-strong)}@supports (color:color-mix(in lab, red, red)){.ring-ember-strong\/40{--tw-ring-color:color-mix(in oklab, var(--ember-strong) 40%, transparent)}}.ring-ember-veil{--tw-ring-color:var(--ember-veil)}.ring-ember\/60{--tw-ring-color:var(--ember)}@supports (color:color-mix(in lab, red, red)){.ring-ember\/60{--tw-ring-color:color-mix(in oklab, var(--ember) 60%, transparent)}}.ring-ink-4{--tw-ring-color:var(--ink-4)}.ring-input{--tw-ring-color:var(--input)}.ring-moss{--tw-ring-color:var(--moss)}.ring-rose,.ring-rose\/30{--tw-ring-color:var(--rose)}@supports (color:color-mix(in lab, red, red)){.ring-rose\/30{--tw-ring-color:color-mix(in oklab, var(--rose) 30%, transparent)}}.ring-white\/12{--tw-ring-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.ring-white\/12{--tw-ring-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.ring-white\/15{--tw-ring-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.ring-white\/15{--tw-ring-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,filter\,color\,transform\]{transition-property:background,filter,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\,filter\]{transition-property:background-color,color,box-shadow,filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,translate\]{transition-property:left,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,scale\,left\]{transition-property:opacity,scale,left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,margin\,opacity\]{transition-property:width,margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-\[cubic-bezier\(0\.3\,0\.7\,0\.2\,1\)\]{--tw-ease:cubic-bezier(.3,.7,.2,1);transition-timing-function:cubic-bezier(.3,.7,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:bg-ember\/70:is(:where(.group):hover *){background-color:var(--ember)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-ember\/70:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--ember) 70%, transparent)}}.group-hover\:text-white\/80:is(:where(.group):hover *){color:#fffc}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-white\/80:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.group-hover\:opacity-0:is(:where(.group):hover *){opacity:0}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-focus-visible\:bg-ember:is(:where(.group):focus-visible *){background-color:var(--ember)}.group-focus-visible\:opacity-0:is(:where(.group):focus-visible *){opacity:0}.group-focus-visible\:opacity-100:is(:where(.group):focus-visible *){opacity:1}.group-active\:h-16:is(:where(.group):active *){height:calc(var(--spacing) * 16)}.group-active\:w-14:is(:where(.group):active *){width:calc(var(--spacing) * 14)}.group-active\:bg-ember:is(:where(.group):active *){background-color:var(--ember)}@media (hover:hover){.group-enabled\:group-hover\:translate-x-0\.5:is(:where(.group):enabled *):is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}}.placeholder\:truncate::placeholder{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.placeholder\:text-ink-4::placeholder{color:var(--ink-4)}.placeholder\:text-transparent::placeholder{color:#0000}.backdrop\:bg-\[oklch\(20\%_0\.01_60\/0\.28\)\]::backdrop{background-color:oklch(20% .01 60/.28)}.backdrop\:backdrop-blur-\[2px\]::backdrop{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-x-1:before{content:var(--tw-content);inset-inline:calc(var(--spacing) * -1)}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:0}.before\:-inset-y-2\.5:before{content:var(--tw-content);inset-block:calc(var(--spacing) * -2.5)}.before\:-top-4:before{content:var(--tw-content);top:calc(var(--spacing) * -4)}.before\:h-4:before{content:var(--tw-content);height:calc(var(--spacing) * 4)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:border-l-0:first-child{border-left-style:var(--tw-border-style);border-left-width:0}.first\:pt-0:first-child{padding-top:0}.first\:pl-0:first-child{padding-left:0}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:w-full:focus-within{width:100%}.focus-within\:border-focus:focus-within{border-color:var(--focus-line)}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-4:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-focus:focus-within{--tw-ring-color:var(--focus-line)}.focus-within\:ring-focus-glow:focus-within{--tw-ring-color:var(--focus-glow)}@media (hover:hover){.hover\:w-\[var\(--ai-long\)\]:hover{width:var(--ai-long)}.hover\:border-ember:hover{border-color:var(--ember)}.hover\:border-ink-4:hover{border-color:var(--ink-4)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-card:hover,.hover\:bg-card\/60:hover{background-color:var(--card)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-card\/60:hover{background-color:color-mix(in oklab, var(--card) 60%, transparent)}}.hover\:bg-paper-2:hover{background-color:var(--paper-2)}.hover\:bg-paper-3:hover{background-color:var(--paper-3)}.hover\:bg-rose-tint:hover{background-color:var(--rose-tint)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:bg-white\/90:hover{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/90:hover{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-ink-2:hover{color:var(--ink-2)}.hover\:text-ink-3:hover{color:var(--ink-3)}.hover\:text-rose:hover{color:var(--rose)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-elevated:hover{--tw-shadow:var(--shadow-ember-elevated);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-border:hover{--tw-ring-color:var(--border)}.hover\:ring-border-soft:hover{--tw-ring-color:var(--border-soft)}.hover\:ring-ember:hover{--tw-ring-color:var(--ember)}.hover\:ring-ink-4:hover{--tw-ring-color:var(--ink-4)}.hover\:brightness-105:hover{--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-\[1\.06\]:hover{--tw-brightness:brightness(1.06);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-ember:focus{border-color:var(--ember)}.focus\:border-focus:focus{border-color:var(--focus-line)}.focus\:bg-card:focus{background-color:var(--card)}.focus\:bg-paper:focus{background-color:var(--paper)}.focus\:text-ink:focus{color:var(--ink)}.focus\:opacity-100:focus{opacity:1}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-border:focus{--tw-ring-color:var(--border)}.focus\:ring-focus-glow:focus{--tw-ring-color:var(--focus-glow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus-visible\:w-\[var\(--ai-long\)\]:focus-visible{width:var(--ai-long)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-focus:focus-visible{--tw-ring-color:var(--focus-line)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.active\:brightness-95:active{--tw-brightness:brightness(95%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}.has-\[input\:not\(\:placeholder-shown\)\]\:w-full:has(:is(input:not(:placeholder-shown))){width:100%}.aria-pressed\:bg-foreground[aria-pressed=true]{background-color:var(--foreground)}.aria-pressed\:text-background[aria-pressed=true]{color:var(--background)}.aria-pressed\:ring-2[aria-pressed=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-pressed\:ring-current[aria-pressed=true]{--tw-ring-color:currentcolor}.data-\[open\=true\]\:w-\[var\(--ai-long\)\][data-open=true]{width:var(--ai-long)}.data-\[over\]\:border-focus[data-over]{border-color:var(--focus-line)}.data-\[over\]\:bg-paper-2[data-over]{background-color:var(--paper-2)}.data-\[over\]\:text-ink[data-over]{color:var(--ink)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media not all and (width>=420px){.max-\[420px\]\:hidden{display:none}}@media not all and (width>=64rem){.max-lg\:pointer-events-none{pointer-events:none}.max-lg\:left-1\/2{left:50%}.max-lg\:hidden{display:none}.max-lg\:h-0{height:0}.max-lg\:h-\[148px\]{height:148px}.max-lg\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.max-lg\:scale-\[0\.4\]{scale:.4}.max-lg\:scale-\[0\.6\]{scale:.6}.max-lg\:text-center{text-align:center}.max-lg\:opacity-0{opacity:0}.max-lg\:opacity-100{opacity:1}@media (prefers-reduced-motion:no-preference){.max-lg\:motion-safe\:transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.max-lg\:motion-safe\:duration-200{--tw-duration:.2s;transition-duration:.2s}}}@media not all and (width>=48rem){.max-md\:scroll-mt-36{scroll-margin-top:calc(var(--spacing) * 36)}.max-md\:py-2{padding-block:calc(var(--spacing) * 2)}}@media not all and (width>=40rem){.max-sm\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.max-sm\:col-span-3{grid-column:span 3/span 3}.max-sm\:m-0{margin:0}.max-sm\:-mx-3{margin-inline:calc(var(--spacing) * -3)}.max-sm\:ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.max-sm\:hidden{display:none}.max-sm\:size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.max-sm\:h-dvh{height:100dvh}.max-sm\:max-h-none{max-height:none}.max-sm\:w-auto{width:auto}.max-sm\:w-full{width:100%}.max-sm\:max-w-none{max-width:none}.max-sm\:basis-full{flex-basis:100%}.max-sm\:\[scrollbar-width\:none\]{scrollbar-width:none}.max-sm\:overflow-x-auto{overflow-x:auto}.max-sm\:overflow-y-auto{overflow-y:auto}.max-sm\:rounded-none{border-radius:0}.max-sm\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.max-sm\:border-border-soft{border-color:var(--border-soft)}.max-sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.max-sm\:pr-10{padding-right:calc(var(--spacing) * 10)}.max-sm\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.max-sm\:font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}}@media (width>=40rem){.sm\:-top-3\.5{top:calc(var(--spacing) * -3.5)}.sm\:-right-3\.5{right:calc(var(--spacing) * -3.5)}.sm\:order-none{order:0}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-start-auto{grid-column-start:auto}.sm\:row-start-auto{grid-row-start:auto}.sm\:-mx-7{margin-inline:calc(var(--spacing) * -7)}.sm\:mt-6{margin-top:calc(var(--spacing) * 6)}.sm\:mr-1{margin-right:var(--spacing)}.sm\:block{display:block}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline-flex{display:inline-flex}.sm\:size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.sm\:h-11{height:calc(var(--spacing) * 11)}.sm\:min-h-0{min-height:0}.sm\:min-h-\[136px\]{min-height:136px}.sm\:w-32{width:calc(var(--spacing) * 32)}.sm\:w-56{width:calc(var(--spacing) * 56)}.sm\:w-auto{width:auto}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-4xl{max-width:var(--container-4xl)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-1{flex:1}.sm\:basis-0{flex-basis:0}.sm\:\[grid-template-columns\:var\(--cols\)\]{grid-template-columns:var(--cols)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-\[1fr_2fr_auto\]{grid-template-columns:1fr 2fr auto}.sm\:grid-cols-\[7\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:7.5rem minmax(0,1fr)}.sm\:grid-cols-\[9rem_minmax\(0\,1fr\)\]{grid-template-columns:9rem minmax(0,1fr)}.sm\:grid-cols-\[230px_minmax\(0\,1fr\)\]{grid-template-columns:230px minmax(0,1fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_12rem_auto\]{grid-template-columns:minmax(0,1fr) 12rem auto}.sm\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,3fr\)_auto_auto\]{grid-template-columns:minmax(0,2fr) minmax(0,3fr) auto auto}.sm\:grid-rows-\[minmax\(0\,1fr\)\]{grid-template-rows:minmax(0,1fr)}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:justify-center{justify-content:center}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-8{gap:calc(var(--spacing) * 8)}.sm\:overflow-y-auto{overflow-y:auto}.sm\:rounded-t-2xl{border-top-left-radius:calc(var(--radius) * 2);border-top-right-radius:calc(var(--radius) * 2)}.sm\:bg-transparent{background-color:#0000}.sm\:p-0{padding:0}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-7{padding-inline:calc(var(--spacing) * 7)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:pt-6{padding-top:calc(var(--spacing) * 6)}.sm\:pt-8{padding-top:calc(var(--spacing) * 8)}.sm\:pt-16{padding-top:calc(var(--spacing) * 16)}.sm\:pr-36{padding-right:calc(var(--spacing) * 36)}.sm\:pr-40{padding-right:calc(var(--spacing) * 40)}.sm\:pb-6{padding-bottom:calc(var(--spacing) * 6)}.sm\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.sm\:pb-16{padding-bottom:calc(var(--spacing) * 16)}.sm\:text-\[1\.75rem\]{font-size:1.75rem}.sm\:text-\[2\.125rem\]{font-size:2.125rem}.sm\:text-\[2\.375rem\]{font-size:2.375rem}.sm\:text-\[2rem\]{font-size:2rem}.sm\:placeholder\:text-ink-4::placeholder{color:var(--ink-4)}}@media (width>=48rem){.md\:sticky{position:sticky}.md\:top-20{top:calc(var(--spacing) * 20)}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:grid-cols-\[13\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:13.5rem minmax(0,1fr)}.md\:gap-8{gap:calc(var(--spacing) * 8)}.md\:self-start{align-self:flex-start}}@media (width>=64rem){.lg\:pointer-events-none{pointer-events:none}.lg\:top-\[calc\(6vh\+5\.25rem\)\]{top:calc(6vh + 5.25rem)}.lg\:left-0{left:0}.lg\:left-\[calc\(50\%-508px\)\]{left:calc(50% - 508px)}.lg\:left-\[calc\(50\%-560px\)\]{left:calc(50% - 560px)}.lg\:ml-0{margin-left:0}.lg\:ml-\[calc\(50\%-16rem\)\]{margin-left:calc(50% - 16rem)}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:h-0{height:0}.lg\:h-\[calc\(100vh-27rem\)\]{height:calc(100vh - 27rem)}.lg\:h-auto{height:auto}.lg\:max-h-\[calc\(100vh-15rem\)\]{max-height:calc(100vh - 15rem)}.lg\:max-h-\[calc\(100vh-27rem\)\]{max-height:calc(100vh - 27rem)}.lg\:min-h-\[6\.5rem\]{min-height:6.5rem}.lg\:min-h-\[360px\]{min-height:360px}.lg\:w-\(--pane\){width:var(--pane)}.lg\:w-\[32rem\]{width:32rem}.lg\:origin-center{transform-origin:50%}.lg\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x) var(--tw-scale-y)}.lg\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:grid-cols-\[15rem_minmax\(0\,1fr\)\]{grid-template-columns:15rem minmax(0,1fr)}.lg\:grid-cols-\[minmax\(280px\,360px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:gap-14{gap:calc(var(--spacing) * 14)}.lg\:rounded-tr-none{border-top-right-radius:0}.lg\:pt-3{padding-top:calc(var(--spacing) * 3)}.lg\:pt-\[6vh\]{padding-top:6vh}.lg\:text-left{text-align:left}.lg\:opacity-0{opacity:0}.lg\:opacity-100{opacity:1}.lg\:transition-\[margin\]{transition-property:margin;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.lg\:duration-700{--tw-duration:.7s;transition-duration:.7s}}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}@media (pointer:coarse){.coarse\:-my-3{margin-block:calc(var(--spacing) * -3)}.coarse\:size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.coarse\:size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.coarse\:h-11{height:calc(var(--spacing) * 11)}.coarse\:min-h-11{min-height:calc(var(--spacing) * 11)}.coarse\:min-w-11{min-width:calc(var(--spacing) * 11)}.coarse\:px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.coarse\:px-4{padding-inline:calc(var(--spacing) * 4)}.coarse\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.coarse\:opacity-100{opacity:1}}@media not all and (width>=40rem){.max-sm\:\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}.\[\&\:\:-webkit-search-cancel-button\]\:hidden::-webkit-search-cancel-button{display:none}.\[\&\>button\]\:size-8>button{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.\[\&\>button\]\:bg-card>button{background-color:var(--card)}.\[\&\>button\]\:shadow-soft>button{--tw-shadow:var(--shadow-ember-soft);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[\&\>svg\]\:size-full>svg{width:100%;height:100%}}:root,.dark .tone-flip{--raw-primary:#e0531b;--raw-secondary:#f1f3f5;--raw-background:#faf8f5;--raw-sidebar:var(--paper);--contrast:1;--hue-success:150;--hue-danger:25;--hue-warning:70;--hue-info:264;--paper:oklch(from var(--raw-background) calc(.99 - (.02 * var(--contrast))) c h);--paper-2:oklch(from var(--raw-background) calc(.96 - (.03 * var(--contrast))) calc(c * 1.2) h);--paper-3:oklch(from var(--raw-background) calc(.94 - (.04 * var(--contrast))) calc(c * 1.5) h);--canvas:var(--paper);--canvas-dim:var(--paper-2);--canvas-darken:var(--paper-3);--ink:oklch(from var(--raw-background) calc(.22 + (.05 / var(--contrast))) calc(c * 1.2) h);--ink-2:oklch(from var(--raw-background) calc(.4 + (.05 / var(--contrast))) c h);--ink-3:oklch(from var(--raw-background) calc(.55 + (.05 / var(--contrast))) calc(c * .8) h);--ink-4:oklch(from var(--raw-background) calc(.7 + (.05 / var(--contrast))) calc(c * .6) h);--ember:oklch(from var(--raw-primary) l c h);--ember-strong:oklch(from var(--raw-primary) calc(l - (.08 * var(--contrast))) c h);--ember-tint:oklch(from var(--raw-primary) calc(.96 + .02 * (1 - var(--contrast))) calc(c * .2) h);--ember-veil:oklch(from var(--raw-primary) l c h / .1);--cobalt:var(--info);--cobalt-tint:var(--info-tint);--moss:var(--success);--moss-tint:var(--success-tint);--amber:var(--warning);--amber-tint:var(--warning-tint);--rose:var(--danger);--rose-tint:var(--danger-tint);--danger:oklch(from var(--raw-background) calc(.64 - (.05 * var(--contrast))) .2 var(--hue-danger));--danger-tint:oklch(from var(--raw-background) calc(.98 - (.01 * var(--contrast))) .03 var(--hue-danger));--success:oklch(from var(--raw-background) calc(.48 - (.04 * var(--contrast))) .13 var(--hue-success));--success-tint:oklch(from var(--raw-background) calc(.98 - (.01 * var(--contrast))) .025 var(--hue-success));--warning:oklch(from var(--raw-background) calc(.78 - (.04 * var(--contrast))) .16 var(--hue-warning));--warning-tint:oklch(from var(--raw-background) calc(.98 - (.01 * var(--contrast))) .04 var(--hue-warning));--info:oklch(from var(--raw-background) calc(.5 - (.05 * var(--contrast))) .18 var(--hue-info));--info-tint:oklch(from var(--raw-background) calc(.98 - (.01 * var(--contrast))) .025 var(--hue-info));--link:var(--info);--secondary-accent:oklch(from var(--raw-secondary) l c h);--secondary-accent-strong:oklch(from var(--raw-secondary) calc(l - (.08 * var(--contrast))) c h);--f-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--f-ui:"Geist", ui-sans-serif, system-ui, sans-serif;--f-mono:"Geist Mono", ui-monospace, monospace;--t-display-l:56px;--t-display:40px;--t-h1:28px;--t-h2:20px;--t-h3:16px;--t-body:14px;--t-ui:13px;--t-small:12px;--t-micro:11px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-1:2px;--r-2:4px;--r-3:6px;--r-4:12px;--r-5:16px;--r-pill:999px;--shadow-ember-elevated:0 1px 2px oklch(from var(--raw-background) .4 c h / .04), 0 6px 18px oklch(from var(--raw-background) .2 c h / .06);--shadow-ember-overlay:0 2px 4px oklch(from var(--raw-background) .2 c h / .08), 0 10px 28px oklch(from var(--raw-background) .15 c h / .16);--shadow-ember-soft:0 1px 2px oklch(from var(--raw-background) .4 c h / .03), 0 3px 10px oklch(from var(--raw-background) .3 c h / .05);--e-1:0 1px 0 oklch(from var(--raw-background) .7 c h / .08);--e-2:var(--shadow-ember-elevated);--e-3:0 1px 2px oklch(from var(--raw-background) .4 c h / .04), 0 6px 18px oklch(from var(--raw-background) .4 c h / .06), 0 18px 36px oklch(from var(--raw-background) .4 c h / .07);--shadow-shell-secondary-edge:0 2px 24px -8px oklch(from var(--raw-background) .35 c h / .14);--shadow-shell-copilot-edge:0 2px 24px -8px oklch(from var(--raw-background) .35 c h / .14);--row-compact:28px;--row-default:32px;--row-comfy:40px;--shell-row:44px;--shell-footer:48px;--input-inset:oklch(from var(--raw-background) calc(calc(.99 - (.02 * var(--contrast))) - (.12 * var(--contrast))) calc(c * 3) h / .65)}.dark,.tone-flip{--raw-sidebar:oklch(from var(--raw-background) calc(.09 + (.03 * var(--contrast))) calc(c * 1.2) h);--paper:oklch(from var(--raw-background) calc(.12 + (.03 * var(--contrast))) c h);--paper-2:oklch(from var(--raw-background) calc(.15 + (.02 * var(--contrast))) calc(c * 1.2) h);--paper-3:oklch(from var(--raw-background) calc(.18 + (.01 * var(--contrast))) calc(c * 1.5) h);--ink:oklch(from var(--raw-background) calc(.92 - (.05 / var(--contrast))) calc(c * 1.2) h);--ink-2:oklch(from var(--raw-background) calc(.85 - (.05 / var(--contrast))) c h);--ink-3:oklch(from var(--raw-background) calc(.72 - (.05 / var(--contrast))) calc(c * .8) h);--ink-4:oklch(from var(--raw-background) calc(.58 - (.05 / var(--contrast))) calc(c * .6) h);--input-inset:oklch(from var(--raw-background) calc(calc(.12 + (.03 * var(--contrast))) + (.21 * var(--contrast))) calc(c * 2.8) h / .65);--ember-strong:oklch(from var(--raw-primary) calc(l + (.08 * var(--contrast))) c h);--ember-tint:oklch(from var(--raw-primary) calc(.18 + .02 * var(--contrast)) calc(c * .35) h);--secondary-accent-strong:oklch(from var(--raw-secondary) calc(l + (.08 * var(--contrast))) c h);--danger:oklch(from var(--raw-background) calc(.62 + (.05 * var(--contrast))) .2 var(--hue-danger));--danger-tint:oklch(from var(--raw-background) calc(.18 + (.02 * var(--contrast))) .05 var(--hue-danger));--success:oklch(from var(--raw-background) calc(.65 + (.05 * var(--contrast))) .13 var(--hue-success));--success-tint:oklch(from var(--raw-background) calc(.18 + (.02 * var(--contrast))) .04 var(--hue-success));--warning:oklch(from var(--raw-background) calc(.78 + (.04 * var(--contrast))) .16 var(--hue-warning));--warning-tint:oklch(from var(--raw-background) calc(.18 + (.02 * var(--contrast))) .05 var(--hue-warning));--info:oklch(from var(--raw-background) calc(.72 + (.05 * var(--contrast))) .18 var(--hue-info));--info-tint:oklch(from var(--raw-background) calc(.18 + (.02 * var(--contrast))) .04 var(--hue-info));--shadow-ember-elevated:0 1px 2px oklch(0% 0 0/.22), 0 6px 18px oklch(0% 0 0/.28);--shadow-ember-overlay:0 2px 4px oklch(0% 0 0/.3), 0 10px 28px oklch(0% 0 0/.44);--shadow-ember-soft:0 1px 2px oklch(0% 0 0/.18), 0 3px 10px oklch(0% 0 0/.22);--e-2:var(--shadow-ember-elevated);--e-3:0 1px 2px oklch(0% 0 0/.22), 0 6px 18px oklch(0% 0 0/.28), 0 24px 48px oklch(0% 0 0/.32);--shadow-shell-secondary-edge:0 2px 28px -10px oklch(0% 0 0/.5);--shadow-shell-copilot-edge:0 2px 28px -10px oklch(0% 0 0/.5)}.tone-flip{--canvas:var(--paper);--canvas-dim:var(--paper-2);--canvas-darken:var(--paper-3);--cobalt:var(--info);--cobalt-tint:var(--info-tint);--moss:var(--success);--moss-tint:var(--success-tint);--amber:var(--warning);--amber-tint:var(--warning-tint);--rose:var(--danger);--rose-tint:var(--danger-tint);--link:var(--info);color:var(--foreground)}@media (prefers-contrast:more){:root{--contrast:1.4}}.theme-high-contrast{--contrast:1.4}.theme-deuteranopia,.theme-protanopia{--hue-success:195;--hue-danger:15;--hue-warning:50}.theme-tritanopia{--hue-success:165;--hue-warning:10;--hue-info:140}:root,.dark .tone-flip{--background:var(--canvas);--foreground:var(--ink);--card:oklch(100% 0 0);--card-foreground:var(--ink);--popover:oklch(from var(--card) l c h / .72);--popover-foreground:var(--ink);--primary:var(--ember-strong);--primary-foreground:oklch(99% 0 0);--secondary:var(--paper-2);--secondary-foreground:var(--ink);--muted:var(--paper-3)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--muted:color-mix(in oklch, var(--paper-3) 32%, var(--card))}}:root,.dark .tone-flip{--muted-foreground:var(--ink-3);--accent:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--accent:color-mix(in oklch, var(--ink) calc(7.5% * var(--contrast)), var(--paper))}}:root,.dark .tone-flip{--accent-foreground:var(--ink);--destructive:var(--danger);--destructive-foreground:oklch(99% 0 0);--border:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--border:color-mix(in oklch, var(--ink) calc(12% * var(--contrast)), var(--paper))}}:root,.dark .tone-flip{--border-soft:var(--border)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--border-soft:color-mix(in oklch, var(--border) 50%, transparent)}}:root,.dark .tone-flip{--input:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--input:color-mix(in oklch, var(--ink) calc(10% * var(--contrast)), var(--paper))}}:root,.dark .tone-flip{--ring:var(--ember)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--ring:color-mix(in oklch, var(--ember) 45%, transparent)}}:root,.dark .tone-flip{--link:var(--info);--chart-1:var(--moss);--chart-2:var(--cobalt);--chart-3:var(--ember);--chart-4:var(--amber);--chart-5:var(--rose);--sidebar:oklch(from var(--raw-sidebar) l c h);--sidebar-foreground:oklch(from var(--sidebar) clamp(.15, (.62 - l) * 100, .98) calc(c * .06) h);--sidebar-primary:var(--ember);--sidebar-primary-foreground:oklch(from var(--ember) calc(1 - l) calc(c * .1) h);--sidebar-accent:oklch(from var(--sidebar) calc(l + .05 * (1 - 2 * l)) c h);--sidebar-accent-foreground:oklch(from var(--sidebar) clamp(.15, (.62 - l) * 100, .98) calc(c * .06) h);--sidebar-border:var(--sidebar)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--sidebar-border:color-mix(in oklch, var(--sidebar) 82%, var(--sidebar-foreground))}}:root,.dark .tone-flip{--sidebar-ring:var(--sidebar-primary)}@supports (color:color-mix(in lab, red, red)){:root,.dark .tone-flip{--sidebar-ring:color-mix(in oklch, var(--sidebar-primary) 65%, transparent)}}:root,.dark .tone-flip{--font-sans:var(--f-ui);--font-heading:var(--f-display);--font-mono:var(--f-mono);--radius:.5rem;--radius-button:.5rem;--shadow-2xs:var(--e-1);--shadow-xs:0 1px 2px oklch(40% var(--seed-neutral-c) var(--seed-neutral-h) / .06);--shadow-sm:var(--e-2);--shadow-md:0 4px 12px oklch(40% var(--seed-neutral-c) var(--seed-neutral-h) / .08);--shadow-lg:var(--e-3);--shadow-xl:0 20px 40px oklch(35% var(--seed-neutral-c) var(--seed-neutral-h) / .12);--shadow-2xl:0 24px 48px oklch(30% var(--seed-neutral-c) var(--seed-neutral-h) / .16)}.dark,.tone-flip{--background:var(--canvas);--foreground:var(--ink);--card:var(--paper-2);--card-foreground:var(--ink);--popover:oklch(from var(--card) l c h / .78);--popover-foreground:var(--ink);--primary:var(--ember-strong);--primary-foreground:oklch(from var(--raw-background) .16 .02 h);--secondary:var(--paper-2);--secondary-foreground:var(--ink-2);--muted:var(--paper-3)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--muted:color-mix(in oklch, var(--paper-3) 45%, var(--card))}}.dark,.tone-flip{--muted-foreground:var(--ink-3);--accent:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--accent:color-mix(in oklch, var(--ink) calc(10% * var(--contrast)), var(--paper))}}.dark,.tone-flip{--accent-foreground:var(--ink);--destructive:var(--danger);--destructive-foreground:oklch(99% 0 0);--border:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--border:color-mix(in oklch, var(--ink) calc(12% * var(--contrast)), var(--paper))}}.dark,.tone-flip{--border-soft:var(--border)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--border-soft:color-mix(in oklch, var(--border) 50%, transparent)}}.dark,.tone-flip{--input:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--input:color-mix(in oklch, var(--ink) calc(10% * var(--contrast)), var(--paper))}}.dark,.tone-flip{--ring:var(--ember)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--ring:color-mix(in oklch, var(--ember) 55%, transparent)}}.dark,.tone-flip{--link:var(--info);--chart-1:var(--moss);--chart-2:var(--cobalt);--chart-3:var(--ember);--chart-4:var(--amber);--chart-5:var(--rose);--sidebar:oklch(from var(--raw-sidebar) l c h);--sidebar-foreground:oklch(from var(--sidebar) clamp(.15, (.62 - l) * 100, .98) calc(c * .06) h);--sidebar-primary:var(--ember);--sidebar-primary-foreground:oklch(from var(--ember) calc(1 - l) calc(c * .1) h);--sidebar-accent:oklch(from var(--sidebar) calc(l + .05 * (1 - 2 * l)) c h);--sidebar-accent-foreground:oklch(from var(--sidebar) clamp(.15, (.62 - l) * 100, .98) calc(c * .06) h);--sidebar-border:var(--sidebar)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--sidebar-border:color-mix(in oklch, var(--sidebar) 82%, var(--sidebar-foreground))}}.dark,.tone-flip{--sidebar-ring:var(--sidebar-primary)}@supports (color:color-mix(in lab, red, red)){.dark,.tone-flip{--sidebar-ring:color-mix(in oklch, var(--sidebar-primary) 55%, transparent)}}.dark,.tone-flip{--shadow-2xs:0 1px 0 oklch(0% 0 0/.2);--shadow-xs:0 1px 2px oklch(0% 0 0/.25);--shadow-sm:var(--e-2);--shadow-md:0 4px 14px oklch(0% 0 0/.32);--shadow-lg:var(--e-3);--shadow-xl:0 20px 40px oklch(0% 0 0/.42);--shadow-2xl:0 24px 56px oklch(0% 0 0/.48)}.dark{--stage:oklch(34% .14 264);--raw-background:var(--stage);--raw-sidebar:oklch(from var(--stage) calc(l - .04) c h);--paper:oklch(from var(--stage) l c h);--card:oklch(from var(--stage) calc(l + .06) calc(c * .95) h);--paper-2:oklch(from var(--stage) calc(l + .1) calc(c * .92) h);--paper-3:oklch(from var(--stage) calc(l + .14) calc(c * .88) h);--ink:oklch(from var(--stage) .97 .015 h);--ink-2:oklch(from var(--stage) .9 .03 h);--ink-3:oklch(from var(--stage) .8 .05 h);--ink-4:oklch(from var(--stage) .68 .06 h);--accent:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark{--accent:color-mix(in oklch, var(--ink) 10%, var(--card))}}.dark{--border:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark{--border:color-mix(in oklch, var(--ink) 18%, var(--card))}}.dark{--input:var(--ink)}@supports (color:color-mix(in lab, red, red)){.dark{--input:color-mix(in oklch, var(--ink) 24%, var(--card))}}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{-webkit-text-size-adjust:100%;font-size:16px}@media ((width>768px)) and ((width<1280px)){html[data-studio]{font-size:14px}}body{background:var(--background);color:var(--foreground);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh}@media (pointer:coarse){input:not([type=checkbox],[type=radio],[type=range],[type=color]),textarea,select{font-size:16px}}button,a,[role=switch]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.safe-top{padding-top:env(safe-area-inset-top)}.safe-x{padding-left:max(1.25rem, env(safe-area-inset-left));padding-right:max(1.25rem, env(safe-area-inset-right))}.safe-bottom{padding-bottom:max(.75rem, env(safe-area-inset-bottom))}@media (width<=767px){.action-bar{bottom:var(--kb,0px);z-index:10;padding:.75rem 1.25rem max(.75rem, env(safe-area-inset-bottom));background:var(--background);margin-inline:-1.25rem;position:sticky}@supports (color:color-mix(in lab, red, red)){.action-bar{background:color-mix(in oklch, var(--background) 88%, transparent)}}.action-bar{-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-soft)}.keyboard-open .action-bar{padding-bottom:.75rem}}:root.in-app{--f-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", Roboto, system-ui, sans-serif;--f-mono:ui-monospace, "SF Mono", Menlo, monospace}::selection{color:var(--ink);background:var(--ember-veil)}:root{--focus-line:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--focus-line:color-mix(in oklch, var(--ink) 26%, transparent)}}:root{--focus-glow:transparent}:focus-visible{outline:1.5px solid var(--focus-line);outline-offset:2px}:is(input,textarea,select):focus-visible{outline:none}.theme-high-contrast{--focus-line:var(--ember);--focus-glow:var(--ember-veil)}@media (prefers-contrast:more){:root{--focus-line:var(--ember);--focus-glow:var(--ember-veil)}}.theme-high-contrast :focus-visible{outline-width:2px}@media (prefers-contrast:more){:focus-visible{outline-width:2px}}.prose-zen{color:var(--ink);overflow-wrap:anywhere;line-height:1.6}.prose-zen>*+*{margin-top:.75em}.prose-zen h1,.prose-zen h2,.prose-zen h3{font-family:var(--f-display);margin-top:1.25em;font-weight:600;line-height:1.25}.prose-zen h1{font-size:1.5rem}.prose-zen h2{font-size:1.2rem}.prose-zen h3{font-size:1.05rem}.prose-zen ul,.prose-zen ol{padding-left:1.25em}.prose-zen ul{list-style:outside}.prose-zen ol{list-style:decimal}.prose-zen a{color:var(--ember-strong);text-underline-offset:2px;text-decoration:underline}.prose-zen table{border-collapse:collapse;width:100%;font-size:.9em}@media (width<=639px){.prose-zen table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.prose-zen pre{overflow-x:auto}.prose-zen img{max-width:100%;height:auto}.prose-zen th,.prose-zen td{border-bottom:1px solid var(--border-soft);text-align:left;padding:.4em .6em}.prose-zen code{font-family:var(--f-mono);background:var(--paper-2);border-radius:4px;padding:.1em .3em;font-size:.9em}.prose-zen blockquote{border-left:3px solid var(--border);color:var(--ink-2);padding-left:.9em}.swatch::-webkit-color-swatch-wrapper{padding:0}.swatch::-webkit-color-swatch{border-radius:calc(var(--radius) * .5);border:0}.swatch::-moz-color-swatch{border-radius:calc(var(--radius) * .5);border:0}.react-flow__attribution{display:none}.react-flow__edge-path{stroke:var(--ink-4);stroke-width:1.5px}.react-flow__handle{opacity:0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.animate-rise{animation:.45s cubic-bezier(.2,.7,.2,1) backwards rise}@keyframes dock{0%{opacity:0;transform:translateY(calc(100% + 16px))}to{opacity:1;transform:none}}.animate-dock{animation:.32s cubic-bezier(.2,.7,.2,1) both dock}@keyframes settle{0%{opacity:0;transform:translate(28px)}}.animate-settle{animation:.6s cubic-bezier(.2,.7,.2,1) .3s both settle}@keyframes step-deeper{0%{opacity:0;transform:translate(1.5rem)}}@keyframes step-back{0%{opacity:0;transform:translate(-1.5rem)}}.animate-step-deeper{animation:.2s ease-out backwards step-deeper}.animate-step-back{animation:.2s ease-out backwards step-back}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}.animate-breathe{animation:2.4s ease-in-out infinite breathe}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.72)}}.animate-pulse-dot{animation:1.2s ease-in-out infinite pulse-dot}dialog.media-sheet{color:#fff;background:#000;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}dialog.media-sheet::backdrop{background:oklch(20% .01 60/.5)}@media (width>=640px) and (height>=560px){dialog.media-sheet{border-radius:calc(var(--radius) * 2);width:min(720px,100% - 48px);height:min(640px,100dvh - 48px);margin:auto;overflow:hidden}}@media (prefers-reduced-motion:reduce){.animate-rise,.animate-dock,.animate-settle,.animate-step-deeper,.animate-step-back,.animate-breathe,.animate-pulse-dot{animation:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
743
743
  /*$vite$:1*/</style>
744
744
  </head>
745
745
  <body>