@opencx/widget-react 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,10 +8,10 @@
8
8
  `);a.push(`${x}
9
9
 
10
10
  Note: state patches appear right after the elements that use them, so the UI fills in as it streams. ONLY use component types from the AVAILABLE COMPONENTS list below.`),a.push(""),a.push("INITIAL STATE:"),a.push("Specs include a /state field to seed the state model. Components with { $bindState } or { $bindItem } read from and write to this state, and $state expressions read from it."),a.push("CRITICAL: You MUST include state patches whenever your UI displays data via $state, $bindState, $bindItem, $item, or $index expressions, or uses repeat to iterate over arrays. Without state, these references resolve to nothing and repeat lists render zero items."),a.push("Output state patches right after the elements that reference them, so the UI fills in progressively as it streams."),a.push("Stream state progressively - output one patch per array item instead of one giant blob:"),a.push(' For arrays: {"op":"add","path":"/state/posts/0","value":{"id":"1","title":"First Post",...}} then /state/posts/1, /state/posts/2, etc.'),a.push(' For scalars: {"op":"add","path":"/state/newTodoText","value":""}'),a.push(' Initialize the array first if needed: {"op":"add","path":"/state/posts","value":[]}'),a.push('When content comes from the state model, use { "$state": "/some/path" } dynamic props to display it instead of hardcoding the same value in both state and props. The state model is the single source of truth.'),a.push("Include realistic sample data in state. For blogs: 3-4 posts with titles, excerpts, authors, dates. For product lists: 3-5 items with names, prices, descriptions. Never leave arrays empty."),a.push(""),a.push("DYNAMIC LISTS (repeat field):"),a.push('Any element can have a top-level "repeat" field to render its children once per item in a state array: { "repeat": { "statePath": "/arrayPath", "key": "id" } }.'),a.push('The element itself renders once (as the container), and its children are expanded once per array item. "statePath" is the state array path. "key" is an optional field name on each item for stable React keys.'),a.push(`Example: ${JSON.stringify({type:d,props:f,repeat:{statePath:"/todos",key:"id"},children:["todo-item"]})}`),a.push('Inside children of a repeated element, use { "$item": "field" } to read a field from the current item, and { "$index": true } to get the current array index. For two-way binding to an item field use { "$bindItem": "completed" } on the appropriate prop.'),a.push("ALWAYS use the repeat field for lists backed by state arrays. NEVER hardcode individual elements for each array item."),a.push('IMPORTANT: "repeat" is a top-level field on the element (sibling of type/props/children), NOT inside props.'),a.push(""),a.push("ARRAY STATE ACTIONS:"),a.push('Use action "pushState" to append items to arrays. Params: { statePath: "/arrayPath", value: { ...item }, clearStatePath: "/inputPath" }.'),a.push('Values inside pushState can contain { "$state": "/statePath" } references to read current state (e.g. the text from an input field).'),a.push('Use "$id" inside a pushState value to auto-generate a unique ID.'),a.push('Example: on: { "press": { "action": "pushState", "params": { "statePath": "/todos", "value": { "id": "$id", "title": { "$state": "/newTodoText" }, "completed": false }, "clearStatePath": "/newTodoText" } } }'),a.push(`Use action "removeState" to remove items from arrays by index. Params: { statePath: "/arrayPath", index: N }. Inside a repeated element's children, use { "$index": true } for the current item index. Action params support the same expressions as props: { "$item": "field" } resolves to the absolute state path, { "$index": true } resolves to the index number, and { "$state": "/path" } reads a value from state.`),a.push("For lists where users can add/remove items (todos, carts, etc.), use pushState and removeState instead of hardcoding with setState."),a.push(""),a.push('IMPORTANT: State paths use RFC 6901 JSON Pointer syntax (e.g. "/todos/0/title"). Do NOT use JavaScript-style dot notation (e.g. "/todos.length" is WRONG). To generate unique IDs for new items, use "$id" instead of trying to read array length.'),a.push("");const S=c;if(S){a.push(`AVAILABLE COMPONENTS (${e.componentNames.length}):`),a.push("");for(const[E,M]of Object.entries(S)){const W=M.props?je(M.props):"{}",q=M.slots&&M.slots.length>0?" [accepts children]":"",V=M.events&&M.events.length>0?` [events: ${M.events.join(", ")}]`:"",U=M.description?` - ${M.description}`:"";a.push(`- ${E}: ${W}${U}${q}${V}`)}a.push("")}const b=e.data.actions,N=e.schema.builtInActions??[],j=b&&e.actionNames.length>0,g=N.length>0;if(j||g){a.push("AVAILABLE ACTIONS:"),a.push("");for(const E of N)a.push(`- ${E.name}: ${E.description} [built-in]`);if(j)for(const[E,M]of Object.entries(b))a.push(`- ${E}${M.description?`: ${M.description}`:""}`);a.push("")}a.push("EVENTS (the `on` field):"),a.push("Elements can have an optional `on` field to bind events to actions. The `on` field is a top-level field on the element (sibling of type/props/children), NOT inside props."),a.push('Each key in `on` is an event name (from the component\'s supported events), and the value is an action binding: `{ "action": "<actionName>", "params": { ... } }`.'),a.push(""),a.push("Example:"),a.push(` ${JSON.stringify({type:d,props:f,on:{press:{action:"setState",params:{statePath:"/saved",value:!0}}},children:[]})}`),a.push(""),a.push('Action params can use dynamic references to read from state: { "$state": "/statePath" }.'),a.push("IMPORTANT: Do NOT put action/actionParams inside props. Always use the `on` field for event bindings."),a.push(""),a.push("VISIBILITY CONDITIONS:"),a.push("Elements can have an optional `visible` field to conditionally show/hide based on state. IMPORTANT: `visible` is a top-level field on the element object (sibling of type/props/children), NOT inside props."),a.push(`Correct: ${JSON.stringify({type:d,props:f,visible:{$state:"/activeTab",eq:"home"},children:["..."]})}`),a.push('- `{ "$state": "/path" }` - visible when state at path is truthy'),a.push('- `{ "$state": "/path", "not": true }` - visible when state at path is falsy'),a.push('- `{ "$state": "/path", "eq": "value" }` - visible when state equals value'),a.push('- `{ "$state": "/path", "neq": "value" }` - visible when state does not equal value'),a.push('- `{ "$state": "/path", "gt": N }` / `gte` / `lt` / `lte` - numeric comparisons'),a.push("- Use ONE operator per condition (eq, neq, gt, gte, lt, lte). Do not combine multiple operators."),a.push('- Any condition can add `"not": true` to invert its result'),a.push("- `[condition, condition]` - all conditions must be true (implicit AND)"),a.push('- `{ "$and": [condition, condition] }` - explicit AND (use when nesting inside $or)'),a.push('- `{ "$or": [condition, condition] }` - at least one must be true (OR)'),a.push("- `true` / `false` - always visible/hidden"),a.push(""),a.push("Use a component with on.press bound to setState to update state and drive visibility."),a.push(`Example: A ${d} with on: { "press": { "action": "setState", "params": { "statePath": "/activeTab", "value": "home" } } } sets state, then a container with visible: { "$state": "/activeTab", "eq": "home" } shows only when that tab is active.`),a.push(""),a.push('For tab patterns where the first/default tab should be visible when no tab is selected yet, use $or to handle both cases: visible: { "$or": [{ "$state": "/activeTab", "eq": "home" }, { "$state": "/activeTab", "not": true }] }. This ensures the first tab is visible both when explicitly selected AND when /activeTab is not yet set.'),a.push(""),a.push("DYNAMIC PROPS:"),a.push("Any prop value can be a dynamic expression that resolves based on state. Three forms are supported:"),a.push(""),a.push('1. Read-only state: `{ "$state": "/statePath" }` - resolves to the value at that state path (one-way read).'),a.push(' Example: `"color": { "$state": "/theme/primary" }` reads the color from state.'),a.push(""),a.push('2. Two-way binding: `{ "$bindState": "/statePath" }` - resolves to the value at the state path AND enables write-back. Use on form input props (value, checked, pressed, etc.).'),a.push(' Example: `"value": { "$bindState": "/form/email" }` binds the input value to /form/email.'),a.push(' Inside repeat scopes: `"checked": { "$bindItem": "completed" }` binds to the current item\'s completed field.'),a.push(""),a.push('3. Conditional: `{ "$cond": <condition>, "$then": <value>, "$else": <value> }` - evaluates the condition (same syntax as visibility conditions) and picks the matching value.'),a.push(' Example: `"color": { "$cond": { "$state": "/activeTab", "eq": "home" }, "$then": "#007AFF", "$else": "#8E8E93" }`'),a.push(""),a.push("Use $bindState for form inputs (text fields, checkboxes, selects, sliders, etc.) and $state for read-only data display. Inside repeat scopes, use $bindItem for form inputs bound to the current item. Use dynamic props instead of duplicating elements with opposing visible conditions when only prop values differ."),a.push(""),a.push('4. Template: `{ "$template": "Hello, ${/name}!" }` - interpolates references in the string. Absolute paths like `${/path}` resolve against the state model. Bare names like `${field}` resolve against the current repeat item first, then fall back to the state model at `/<field>`.'),a.push(' Example: `"label": { "$template": "Items: ${/cart/count} | Total: ${/cart/total}" }` renders "Items: 3 | Total: 42.00" when /cart/count is 3 and /cart/total is 42.00. Inside a repeat, `{ "$template": "${name} - ${email}" }` reads name and email from each item.'),a.push("");const _=e.data.functions;if(_&&Object.keys(_).length>0){a.push('5. Computed: `{ "$computed": "<functionName>", "args": { "key": <expression> } }` - calls a registered function with resolved args and returns the result.'),a.push(' Example: `"value": { "$computed": "fullName", "args": { "first": { "$state": "/form/firstName" }, "last": { "$state": "/form/lastName" } } }`'),a.push(" Available functions:");for(const E of Object.keys(_))a.push(` - ${E}`);a.push("")}const A=t.directives;if(A&&A.length>0){a.push("CUSTOM DYNAMIC VALUES:"),a.push("");for(const E of A){const M=E.description?` (${E.description})`:"";a.push(`- ${E.name}${M}: ${je(E.schema)}`)}a.push(""),a.push("Directives compose: any value field can contain another directive or a $state expression, resolved inside-out."),a.push("")}(c?Object.entries(c).some(([,E])=>E.props?je(E.props).includes("checks"):!1):!1)&&(a.push("VALIDATION:"),a.push("Form components that accept a `checks` prop support client-side validation."),a.push('Each check is an object: { "type": "<name>", "message": "...", "args": { ... } }'),a.push(""),a.push("Built-in validation types:"),a.push(" - required — value must be non-empty"),a.push(" - email — valid email format"),a.push(' - minLength — minimum string length (args: { "min": N })'),a.push(' - maxLength — maximum string length (args: { "max": N })'),a.push(' - pattern — match a regex (args: { "pattern": "regex" })'),a.push(' - min — minimum numeric value (args: { "min": N })'),a.push(' - max — maximum numeric value (args: { "max": N })'),a.push(" - numeric — value must be a number"),a.push(" - url — valid URL format"),a.push(' - matches — must equal another field (args: { "other": { "$state": "/path" } })'),a.push(' - equalTo — alias for matches (args: { "other": { "$state": "/path" } })'),a.push(' - lessThan — value must be less than another field (args: { "other": { "$state": "/path" } })'),a.push(' - greaterThan — value must be greater than another field (args: { "other": { "$state": "/path" } })'),a.push(' - requiredIf — required only when another field is truthy (args: { "field": { "$state": "/path" } })'),a.push(""),a.push("Example:"),a.push(' "checks": [{ "type": "required", "message": "Email is required" }, { "type": "email", "message": "Invalid email" }]'),a.push(""),a.push("IMPORTANT: When using checks, the component must also have a { $bindState } or { $bindItem } on its value/checked prop for two-way binding."),a.push("Always include validation checks on form inputs for a good user experience (e.g. required, email, minLength)."),a.push("")),(j||g)&&(a.push("STATE WATCHERS:"),a.push("Elements can have an optional `watch` field to react to state changes and trigger actions. The `watch` field is a top-level field on the element (sibling of type/props/children), NOT inside props."),a.push("Maps state paths (JSON Pointers) to action bindings. When the value at a watched path changes, the bound actions fire automatically."),a.push(""),a.push("Example (cascading select — country changes trigger city loading):"),a.push(` ${JSON.stringify({type:"Select",props:{value:{$bindState:"/form/country"},options:["US","Canada","UK"]},watch:{"/form/country":{action:"loadCities",params:{country:{$state:"/form/country"}}}},children:[]})}`),a.push(""),a.push("Use `watch` for cascading dependencies where changing one field should trigger side effects (loading data, resetting dependent fields, computing derived values)."),a.push("IMPORTANT: `watch` is a top-level field on the element (sibling of type/props/children), NOT inside props. Watchers only fire when the value changes, not on initial render."),a.push(""));const P=t.editModes;P&&P.length>0&&a.push(yc({modes:P})),a.push("RULES:");const O=i==="inline"?["When generating UI, wrap all JSONL patches in a ```spec code fence - one JSON object per line inside the fence","Write a brief conversational response before any JSONL output",'First set root: {"op":"add","path":"/root","value":"<root-key>"}','Then add each element: {"op":"add","path":"/elements/<key>","value":{...}}',"Output /state patches right after the elements that use them, one per array item for progressive loading. REQUIRED whenever using $state, $bindState, $bindItem, $item, $index, or repeat.","ONLY use components listed above","Each element value needs: type, props, children (array of child keys)","Use unique keys for the element map entries (e.g., 'header', 'metric-1', 'chart-revenue')"]:["Output ONLY JSONL patches - one JSON object per line, no markdown, no code fences",'First set root: {"op":"add","path":"/root","value":"<root-key>"}','Then add each element: {"op":"add","path":"/elements/<key>","value":{...}}',"Output /state patches right after the elements that use them, one per array item for progressive loading. REQUIRED whenever using $state, $bindState, $bindItem, $item, $index, or repeat.","ONLY use components listed above","Each element value needs: type, props, children (array of child keys)","Use unique keys for the element map entries (e.g., 'header', 'metric-1', 'chart-revenue')"],I=e.schema.defaultRules??[];return[...O,...I,...o].forEach((E,M)=>{a.push(`${M+1}. ${E}`)}),a.join(`
11
- `)}function mo(e){return e.example&&Object.keys(e.example).length>0?e.example:e.props?_s(e.props):{}}function _s(e){if(!e||!e._def)return{};const t=e._def,n=st(e);if(n!=="ZodObject"&&n!=="object")return{};const o=typeof t.shape=="function"?t.shape():t.shape;if(!o)return{};const s={};for(const[i,a]of Object.entries(o)){const c=st(a);c==="ZodOptional"||c==="optional"||c==="ZodNullable"||c==="nullable"||(s[i]=Un(a))}return s}function Un(e){if(!e||!e._def)return"...";const t=e._def;switch(st(e)){case"ZodString":case"string":return"example";case"ZodNumber":case"number":return 0;case"ZodBoolean":case"boolean":return!0;case"ZodLiteral":case"literal":return t.value;case"ZodEnum":case"enum":{if(Array.isArray(t.values)&&t.values.length>0)return t.values[0];if(t.entries&&typeof t.entries=="object"){const o=Object.values(t.entries);return o.length>0?o[0]:"example"}return"example"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":case"ZodDefault":case"default":{const o=t.innerType??t.wrapped;return o?Un(o):null}case"ZodArray":case"array":return[];case"ZodObject":case"object":return _s(e);case"ZodUnion":case"union":{const o=t.options;return o&&o.length>0?Un(o[0]):"..."}default:return"..."}}function Ec(e){if(!e||!e._def)return null;const t=e._def,n=st(e);if(n!=="ZodObject"&&n!=="object")return null;const o=typeof t.shape=="function"?t.shape():t.shape;if(!o)return null;for(const[s,i]of Object.entries(o)){const a=st(i);if(!(a==="ZodOptional"||a==="optional"||a==="ZodNullable"||a==="nullable")&&(a==="ZodString"||a==="string"))return s}return null}function st(e){if(!e||!e._def)return"";const t=e._def;return t.typeName??t.type??""}function je(e){if(!e||!e._def)return"unknown";const t=e._def;switch(st(e)){case"ZodString":case"string":return"string";case"ZodNumber":case"number":return"number";case"ZodBoolean":case"boolean":return"boolean";case"ZodLiteral":case"literal":{const o=t.values,s=(o==null?void 0:o[0])??t.value;return JSON.stringify(s)}case"ZodEnum":case"enum":{let o;if(Array.isArray(t.values))o=t.values;else if(t.entries&&typeof t.entries=="object")o=Object.values(t.entries);else return"enum";return o.map(s=>`"${s}"`).join(" | ")}case"ZodArray":case"array":{const o=typeof t.element=="object"?t.element:typeof t.type=="object"?t.type:void 0;return o?`Array<${je(o)}>`:"Array<unknown>"}case"ZodObject":case"object":{const o=typeof t.shape=="function"?t.shape():t.shape;return o?`{ ${Object.entries(o).map(([i,a])=>{const c=st(a);return`${i}${c==="ZodOptional"||c==="ZodNullable"||c==="optional"||c==="nullable"?"?":""}: ${je(a)}`}).join(", ")} }`:"object"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":{const o=t.innerType??t.wrapped;return o?je(o):"unknown"}case"ZodUnion":case"union":{const o=t.options;return o?o.map(s=>je(s)).join(" | "):"unknown"}case"ZodRecord":case"record":{const o=t.keyType??void 0,s=t.valueType??t.element??void 0,i=o?je(o):"string",a=s?je(s):"unknown";return`Record<${i}, ${a}>`}case"ZodDefault":case"default":{const o=t.innerType??t.wrapped;return o?je(o):"unknown"}default:return"unknown"}}function ho(e){return typeof e.type=="string"?e.type:typeof e.typeName=="string"?e.typeName:""}function fo(e){return e.startsWith("Zod")?e.slice(3).toLowerCase():e.toLowerCase()}function qe(e,t=!1){const n=e._def;switch(fo(ho(n))){case"string":return{type:"string"};case"number":return{type:"number"};case"boolean":return{type:"boolean"};case"literal":{const s=n.values;return{const:s?s[0]:n.value}}case"enum":{const s=n.entries;return{enum:(s?Object.values(s):n.values)??[]}}case"array":{const s=n.element??n.type;return{type:"array",items:s?qe(s,t):{}}}case"object":{const s=n.shape,i=typeof s=="function"?s():s;if(!i)return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object"};const a={},c=[];for(const[l,d]of Object.entries(i)){const p=d._def,m=fo(ho(p)),h=m==="optional"||m==="nullable";if(t)if(c.push(l),h){const f=qe(d,t);a[l]={anyOf:[f,{type:"null"}]}}else a[l]=qe(d,t);else a[l]=qe(d),h||c.push(l)}return{type:"object",properties:a,required:c.length>0?c:void 0,additionalProperties:!1}}case"record":{const s=n.valueType;return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object",additionalProperties:s?qe(s):!0}}case"optional":case"nullable":{const s=n.innerType;return s?qe(s,t):{}}case"union":{const s=n.options;return s?{anyOf:s.map(i=>qe(i,t))}:{}}case"any":case"unknown":return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{};default:return{}}}function Tc(e,t){return e.createCatalog(t)}var Ac=kc(e=>({spec:e.object({root:e.string(),elements:e.record(e.object({type:e.ref("catalog.components"),props:e.propsOf("catalog.components"),children:e.array(e.string()),visible:e.any()}))}),catalog:e.object({components:e.map({props:e.zod(),slots:e.array(e.string()),description:e.string(),example:e.any()}),actions:e.map({params:e.zod(),description:e.string()})})}),{builtInActions:[{name:"setState",description:"Update a value in the state model at the given statePath. Params: { statePath: string, value: any }"},{name:"pushState",description:'Append an item to an array in state. Params: { statePath: string, value: any, clearStatePath?: string }. Value can contain {"$state":"/path"} refs and "$id" for auto IDs.'},{name:"removeState",description:"Remove an item from an array in state by index. Params: { statePath: string, index: number }"},{name:"validateForm",description:"Validate all registered form fields and write the result to state. Params: { statePath?: string }. Defaults to /formValidation. Result: { valid: boolean, errors: Record<string, string[]> }."}],defaultRules:["CRITICAL INTEGRITY CHECK: Before outputting ANY element that references children, you MUST have already output (or will output) each child as its own element. If an element has children: ['a', 'b'], then elements 'a' and 'b' MUST exist. A missing child element causes that entire branch of the UI to be invisible.","SELF-CHECK: After generating all elements, mentally walk the tree from root. Every key in every children array must resolve to a defined element. If you find a gap, output the missing element immediately.",'CRITICAL: The "visible" field goes on the ELEMENT object, NOT inside "props". Correct: {"type":"<ComponentName>","props":{},"visible":{"$state":"/tab","eq":"home"},"children":[...]}.','CRITICAL: The "on" field goes on the ELEMENT object, NOT inside "props". Use on.press, on.change, on.submit etc. NEVER put action/actionParams inside props.',"When the user asks for a UI that displays data (e.g. blog posts, products, users), ALWAYS include a state field with realistic sample data. The state field is a top-level field on the spec (sibling of root/elements).",'When building repeating content backed by a state array (e.g. posts, products, items), use the "repeat" field on a container element. Example: { "type": "<ContainerComponent>", "props": {}, "repeat": { "statePath": "/posts", "key": "id" }, "children": ["post-card"] }. Replace <ContainerComponent> with an appropriate component from the AVAILABLE COMPONENTS list. Inside repeated children, use { "$item": "field" } to read a field from the current item, and { "$index": true } for the current array index. For two-way binding to an item field use { "$bindItem": "completed" }. Do NOT hardcode individual elements for each array item.',"Design with visual hierarchy: use container components to group content, heading components for section titles, proper spacing, and status indicators. ONLY use components from the AVAILABLE COMPONENTS list.","For data-rich UIs, use multi-column layout components if available. For forms and single-column content, use vertical layout components. ONLY use components from the AVAILABLE COMPONENTS list.","Always include realistic, professional-looking sample data. For blogs include 3-4 posts with varied titles, authors, dates, categories. For products include names, prices, images. Never leave data empty."]}),Es=u.createContext(null);function zc(e,t){return e?null:Object.keys(t).length===0?{}:fr(t)}function Ic({store:e,initialState:t={},onStateChange:n,children:o}){const s=u.useRef(void 0);!e&&!s.current&&(s.current=Oi(t));const i=e??s.current,a=u.useRef(i);a.current=i;const c=u.useRef(!!e);c.current=!!e;const l=u.useRef(e?"controlled":"uncontrolled"),d=u.useRef(!1);if(process.env.NODE_ENV!=="production"){const b=e?"controlled":"uncontrolled";b!==l.current&&!d.current&&(d.current=!0,console.warn(`StateProvider: switching from ${l.current} to ${b} mode is not supported.`))}const p=u.useRef(t),m=u.useRef(zc(!!e,t));u.useEffect(()=>{if(e||t===p.current)return;p.current=t;const b=t&&Object.keys(t).length>0?fr(t):{},N=m.current??{},j=new Set([...Object.keys(N),...Object.keys(b)]),g={};for(const _ of j)N[_]!==b[_]&&(g[_]=_ in b?b[_]:void 0);m.current=b,Object.keys(g).length>0&&i.update(g)},[e,t,i]);const h=u.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getServerSnapshot??i.getSnapshot),f=u.useRef(n);f.current=n;const y=u.useCallback((b,N)=>{var _;const j=a.current,g=j.getSnapshot();j.set(b,N),!c.current&&j.getSnapshot()!==g&&((_=f.current)==null||_.call(f,[{path:b,value:N}]))},[]),w=u.useCallback(b=>{var g;const N=a.current,j=N.getSnapshot();if(N.update(b),!c.current&&N.getSnapshot()!==j){const _=[];for(const[A,R]of Object.entries(b))ie(j,A)!==R&&_.push({path:A,value:R});_.length>0&&((g=f.current)==null||g.call(f,_))}},[]),k=u.useCallback(b=>a.current.get(b),[]),x=u.useCallback(()=>a.current.getSnapshot(),[]),S=u.useMemo(()=>({state:h,get:k,set:y,update:w,getSnapshot:x}),[h,k,y,w,x]);return r.jsx(Es.Provider,{value:S,children:o})}function Ht(){const e=u.useContext(Es);if(!e)throw new Error("useStateStore must be used within a StateProvider");return e}var Ts=u.createContext(null);function Mc({children:e}){const{state:t}=Ht(),n=u.useMemo(()=>({stateModel:t}),[t]),o=u.useMemo(()=>i=>wt(i,n),[n]),s=u.useMemo(()=>({isVisible:o,ctx:n}),[o,n]);return r.jsx(Ts.Provider,{value:s,children:e})}function Rc(){const e=u.useContext(Ts);if(!e)throw new Error("useVisibility must be used within a VisibilityProvider");return e}var As=u.createContext(null);function Pc(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(const s of n){const i=e[s],a=t[s];if(i!==a){if(typeof i=="object"&&i!==null&&typeof a=="object"&&a!==null){const c=i.$state,l=a.$state;if(typeof c=="string"&&c===l)continue}return!1}}return!0}function Oc(e,t){if(e===t)return!0;if(e.validateOn!==t.validateOn)return!1;const n=e.checks??[],o=t.checks??[];if(n.length!==o.length)return!1;for(let s=0;s<n.length;s++){const i=n[s],a=o[s];if(i.type!==a.type||i.message!==a.message||!Pc(i.args,a.args))return!1}return!0}function $c({customFunctions:e={},children:t}){const{state:n,getSnapshot:o}=Ht(),[s,i]=u.useState({}),a=u.useRef({}),[c,l]=u.useState({}),d=u.useCallback((w,k)=>{l(x=>{const S=x[w];return S&&Oc(S,k)?x:{...x,[w]:k}})},[]),p=u.useCallback((w,k)=>{var g;const x=o(),S=w.split("/").filter(Boolean);let b=x;for(const _ of S)if(b!=null&&typeof b=="object")b=b[_];else{b=void 0;break}const N=mc(k,{value:b,stateModel:x,customFunctions:e}),j={touched:((g=a.current[w])==null?void 0:g.touched)??!0,validated:!0,result:N};return a.current={...a.current,[w]:j},i(a.current),N},[e,o]),m=u.useCallback(w=>{var k,x;a.current={...a.current,[w]:{...a.current[w],touched:!0,validated:((k=a.current[w])==null?void 0:k.validated)??!1,result:((x=a.current[w])==null?void 0:x.result)??null}},i(a.current)},[]),h=u.useCallback(w=>{const{[w]:k,...x}=a.current;a.current=x,i(x)},[]),f=u.useCallback(()=>{let w=!0;for(const[k,x]of Object.entries(c))p(k,x).valid||(w=!1);return w},[c,p]),y=u.useMemo(()=>({customFunctions:e,get fieldStates(){return a.current},validate:p,touch:m,clear:h,validateAll:f,registerField:d}),[e,s,p,m,h,f,d]);return r.jsx(As.Provider,{value:y,children:t})}function Lc(){return u.useContext(As)}var go=0;function xo(){return go+=1,`${Date.now()}-${go}`}function qn(e,t){if(e==null)return e;if(e==="$id")return xo();if(typeof e=="object"&&!Array.isArray(e)){const n=e,o=Object.keys(n);if(o.length===1&&typeof n.$state=="string")return t(n.$state);if(o.length===1&&"$id"in n)return xo()}if(Array.isArray(e))return e.map(n=>qn(n,t));if(typeof e=="object"){const n={};for(const[o,s]of Object.entries(e))n[o]=qn(s,t);return n}return e}var zs=u.createContext(null);function Dc({handlers:e={},navigate:t,children:n}){const{get:o,set:s,getSnapshot:i}=Ht(),a=Lc(),[c,l]=u.useState(e),[d,p]=u.useState(new Set),[m,h]=u.useState(null),f=u.useCallback((S,b)=>{l(N=>({...N,[S]:b}))},[]),y=u.useCallback(async S=>{var A;const b=lc(S,i()),N=nc(),j=Date.now();ec({id:N,name:b.action,params:b.params,at:j});let g=!0,_;try{if(b.action==="setState"&&b.params){const P=b.params.statePath,O=b.params.value;P&&s(P,O);return}if(b.action==="pushState"&&b.params){const P=b.params.statePath,O=b.params.value;if(P){const I=qn(O,o),B=o(P)??[];s(P,[...B,I]);const E=b.params.clearStatePath;E&&s(E,"")}return}if(b.action==="removeState"&&b.params){const P=b.params.statePath,O=b.params.index;if(P!==void 0&&O!==void 0){const I=o(P)??[];s(P,I.filter((B,E)=>E!==O))}return}if(b.action==="push"&&b.params){const P=b.params.screen;if(P){const O=o("/currentScreen"),I=o("/navStack")??[];O?s("/navStack",[...I,O]):s("/navStack",[...I,""]),s("/currentScreen",P)}return}if(b.action==="pop"){const P=o("/navStack")??[];if(P.length>0){const O=P[P.length-1];s("/navStack",P.slice(0,-1)),O?s("/currentScreen",O):s("/currentScreen",void 0)}return}if(b.action==="validateForm"){const P=a==null?void 0:a.validateAll;if(!P){console.warn("validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.");return}const O=P(),I={};for(const[E,M]of Object.entries(a.fieldStates))M.result&&!M.result.valid&&(I[E]=M.result.errors);const B=((A=b.params)==null?void 0:A.statePath)||"/formValidation";s(B,{valid:O,errors:I});return}const R=c[b.action];if(!R){console.warn(`No handler registered for action: ${b.action}`);return}if(b.confirm)return new Promise((P,O)=>{h({action:b,handler:R,resolve:()=>{h(null),P()},reject:()=>{h(null),O(new Error("Action cancelled"))}})}).then(async()=>{p(P=>new Set(P).add(b.action));try{await uo({action:b,handler:R,setState:s,navigate:t,executeAction:async P=>{await y({action:P})}})}finally{p(P=>{const O=new Set(P);return O.delete(b.action),O})}});p(P=>new Set(P).add(b.action));try{await uo({action:b,handler:R,setState:s,navigate:t,executeAction:async P=>{await y({action:P})}})}finally{p(P=>{const O=new Set(P);return O.delete(b.action),O})}}catch(R){throw g=!1,_=R,R}finally{const R=Date.now();tc({id:N,name:b.action,ok:g,at:R,durationMs:R-j,error:_})}},[c,o,s,i,t,a]),w=u.useCallback(()=>{m==null||m.resolve()},[m]),k=u.useCallback(()=>{m==null||m.reject()},[m]),x=u.useMemo(()=>({handlers:c,loadingActions:d,pendingConfirmation:m,execute:y,confirm:w,cancel:k,registerHandler:f}),[c,d,m,y,w,k,f]);return r.jsx(zs.Provider,{value:x,children:n})}function Is(){const e=u.useContext(zs);if(!e)throw new Error("useActions must be used within an ActionProvider");return e}function Fc({confirm:e,onConfirm:t,onCancel:n}){const o=e.variant==="danger";return r.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:50},onClick:n,children:r.jsxs("div",{style:{backgroundColor:"white",borderRadius:"8px",padding:"24px",maxWidth:"400px",width:"100%",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.1)"},onClick:s=>s.stopPropagation(),children:[r.jsx("h3",{style:{margin:"0 0 8px 0",fontSize:"18px",fontWeight:600},children:e.title}),r.jsx("p",{style:{margin:"0 0 24px 0",color:"#6b7280"},children:e.message}),r.jsxs("div",{style:{display:"flex",gap:"12px",justifyContent:"flex-end"},children:[r.jsx("button",{onClick:n,style:{padding:"8px 16px",borderRadius:"6px",border:"1px solid #d1d5db",backgroundColor:"white",cursor:"pointer"},children:e.cancelLabel??"Cancel"}),r.jsx("button",{onClick:t,style:{padding:"8px 16px",borderRadius:"6px",border:"none",backgroundColor:o?"#dc2626":"#3b82f6",color:"white",cursor:"pointer"},children:e.confirmLabel??"Confirm"})]})]})})}var Ms=u.createContext(null);function Wc({item:e,index:t,basePath:n,children:o}){return r.jsx(Ms.Provider,{value:{item:e,index:t,basePath:n},children:o})}function Hc(){return u.useContext(Ms)}var Bc=class extends u.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){console.error(`[json-render] Rendering error in <${this.props.elementType}>:`,e,t.componentStack)}render(){return this.state.hasError?null:this.props.children}},Rs={},Ps=u.createContext(Rs);function Uc(){return u.useContext(Ps)}var Os=u.createContext(void 0);function qc(){return u.useContext(Os)}function Vc(){return u.useSyncExternalStore(sc,oc,()=>!1)}var $s=u.memo(function e({element:t,elementKey:n,spec:o,registry:s,loading:i,fallback:a}){var W;const c=Vc(),l=Hc(),{ctx:d}=Rc(),{execute:p}=Is(),{getSnapshot:m,state:h}=Ht(),f=Uc(),y=qc(),w=u.useMemo(()=>{const $=l?{...d,repeatItem:l.item,repeatIndex:l.index,repeatBasePath:l.basePath}:{...d};return $.functions=f,$.directives=y,$},[d,l,f,y]),k=t.visible===void 0?!0:wt(t.visible,w),x=t.on,S=u.useCallback(async $=>{const q=x==null?void 0:x[$];if(!q)return;const V=Array.isArray(q)?q:[q];for(const U of V){if(!U.params){await p(U);continue}const D={...w,stateModel:m()},Z={};for(const[ne,L]of Object.entries(U.params))Z[ne]=ao(L,D);await p({...U,params:Z})}},[x,p,w,m]),b=u.useCallback($=>{const q=x==null?void 0:x[$];if(!q)return{emit:()=>{},shouldPreventDefault:!1,bound:!1};const U=(Array.isArray(q)?q:[q]).some(D=>D.preventDefault);return{emit:()=>S($),shouldPreventDefault:U,bound:!0}},[x,S]),N=t.watch,j=u.useRef(null),g=u.useRef(void 0),_=u.useMemo(()=>{if(!N)return;const $={};for(const V of Object.keys(N))$[V]=ie(h,V);const q=g.current;if(q){const V=Object.keys($);if(V.length===Object.keys(q).length&&V.every(U=>$[U]===q[U]))return q}return g.current=$,$},[N,h]);if(u.useEffect(()=>{if(!N||!_)return;const $=Object.keys(N);if($.length===0)return;const q=j.current;if(j.current=_,q===null)return;let V=!1;return(async()=>{for(const U of $){if(V)break;if(_[U]!==q[U]){const D=N[U];if(!D)continue;const Z=Array.isArray(D)?D:[D];for(const ne of Z){if(V)break;if(!ne.params){if(await p(ne),V)break;continue}const L={...w,stateModel:m()},X={};for(const[K,re]of Object.entries(ne.params))X[K]=ao(re,L);if(await p({...ne,params:X}),V)break}}}})().catch(console.error),()=>{V=!0}},[N,_,p,w,m]),!k)return null;const A=t.props,R=Qi(A,w),P=Ji(A,w),O=P!==t.props?{...t,props:P}:t,I=s[O.type]??a;if(!I)return console.warn(`No renderer for component type: ${O.type}`),null;const B=O.repeat?r.jsx(Yc,{element:O,spec:o,registry:s,loading:i,fallback:a}):(W=O.children)==null?void 0:W.map($=>{const q=o.elements[$];return q?r.jsx(e,{element:q,elementKey:$,spec:o,registry:s,loading:i,fallback:a},$):(i||console.warn(`[json-render] Missing element "${$}" referenced as child of "${O.type}". This element will not render.`),null)}),E=r.jsx(I,{element:O,emit:S,on:b,bindings:R,loading:i,children:B}),M=c&&n?r.jsx("span",{"data-jr-key":n,style:{display:"contents"},children:E}):E;return r.jsx(Bc,{elementType:O.type,children:M})});function Yc({element:e,spec:t,registry:n,loading:o,fallback:s}){const{state:i}=Ht(),a=e.repeat,c=a.statePath,l=ie(i,c)??[];return r.jsx(r.Fragment,{children:l.map((d,p)=>{var h;const m=a.key&&typeof d=="object"&&d!==null?String(d[a.key]??p):String(p);return r.jsx(Wc,{item:d,index:p,basePath:`${c}/${p}`,children:(h=e.children)==null?void 0:h.map(f=>{const y=t.elements[f];return y?r.jsx($s,{element:y,elementKey:f,spec:t,registry:n,loading:o,fallback:s},f):(o||console.warn(`[json-render] Missing element "${f}" referenced as child of "${e.type}" (repeat). This element will not render.`),null)})},m)})})}function Xc({spec:e,registry:t,loading:n,fallback:o}){if(!e||!e.root)return null;const s=e.elements[e.root];return s?r.jsx($s,{element:s,elementKey:e.root,spec:e,registry:t,loading:n,fallback:o}):null}function Gc({registry:e,store:t,initialState:n,handlers:o,navigate:s,validationFunctions:i,functions:a,directives:c,onStateChange:l,children:d}){const p=u.useMemo(()=>c?qi(c):void 0,[c]);return r.jsx(Ic,{store:t,initialState:n,onStateChange:l,children:r.jsx(Mc,{children:r.jsx($c,{customFunctions:i,children:r.jsx(Dc,{handlers:o,navigate:s,children:r.jsx(Ps.Provider,{value:a??Rs,children:r.jsxs(Os.Provider,{value:p,children:[d,r.jsx(Kc,{})]})})})})})})}function Kc(){const{pendingConfirmation:e,confirm:t,cancel:n}=Is();return e!=null&&e.action.confirm?r.jsx(Fc,{confirm:e.action.confirm,onConfirm:t,onCancel:n}):null}function Zc(e,t){const n={};if(t.components)for(const[a,c]of Object.entries(t.components))n[a]=({element:l,children:d,emit:p,on:m,bindings:h,loading:f})=>c({props:l.props,children:d,emit:p,on:m,bindings:h,loading:f});const o=t.actions?Object.entries(t.actions):[];return{registry:n,handlers:(a,c)=>{const l={};for(const[d,p]of o)l[d]=async m=>{const h=a(),f=c();h&&await p(m,h,f)};return l},executeAction:async(a,c,l,d={})=>{const p=o.find(([m])=>m===a);p?await p[1](c,l,d):console.warn(`Unknown action: ${a}`)}}}function Jc(e){if(typeof e!="object"||e===null)return!1;const t=e;switch(t.type){case"patch":return typeof t.patch=="object"&&t.patch!==null;case"flat":case"nested":return typeof t.spec=="object"&&t.spec!==null;default:return!1}}function Qc(e){const t={root:"",elements:{}};let n=!1;for(const o of e)if(o.type===Pi){if(!Jc(o.data))continue;const s=o.data;if(s.type==="patch")n=!0,zi(t,s.patch);else if(s.type==="flat")n=!0,Object.assign(t,s.spec);else if(s.type==="nested"){n=!0;const i=Ii(s.spec);Object.assign(t,i)}}return n?t:null}function ee(){const{dir:e}=C.useDocumentDir(),t=C.useConfig();return u.useMemo(()=>{const n=Q.resolveLanguage(t.language);return{t:(s,i)=>Q.getTranslation(s,n,t.translationOverrides,i),language:n,dir:Q.isRtlLanguage(n)?"rtl":"ltr",hostDocumentDir:e}},[t.language,t.translationOverrides,e])}function Ls(e){const t=Q.resolveLanguage(e);return(n,o)=>Q.getTranslation(n,t,void 0,o)}const el={t:Ls("en"),anchorTarget:"_blank"},Ds=u.createContext(el);function tl({host:e,children:t}){return r.jsx(Ds.Provider,{value:e,children:t})}function Bt(){return u.useContext(Ds)}function nl({language:e,onUiAction:t,anchorTarget:n="_blank"}){return u.useMemo(()=>({t:Ls(e),anchorTarget:n,onUiAction:t}),[e,n,t])}class rl extends u.Component{constructor(){super(...arguments);eo(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n){Q.log.error("json-render: spec failed to render",{_e:n instanceof Error?n.message:String(n)})}componentDidUpdate(n){this.state.hasError&&n.resetKey!==this.props.resetKey&&this.setState({hasError:!1})}render(){return this.state.hasError?null:this.props.children}}function ol(e){if(!e.elements)return e;let t=!1;const n={};for(const[o,s]of Object.entries(e.elements)){const i=sl(s,e);i!==s&&(t=!0),n[o]=i}return t?{...e,elements:n}:e}function sl(e,t){if(e.type!=="List")return e;const n=e.repeat;if(!n||typeof n.statePath!="string")return e;const o=Q.isRecord(e.props)?e.props:{},s=o.items;if(Array.isArray(s)&&s.length>0)return e;const a=ie(t.state??{},n.statePath);if(!Array.isArray(a)||a.length===0)return e;const{repeat:c,...l}=e;return{...l,props:{...o,items:a}}}function T(...e){return yi.twMerge(wi.clsx(e))}const al=u.lazy(()=>Promise.resolve().then(()=>require("./Chart.impl--lw4WUeY.cjs")));function il(e){const t=e.height??220;return r.jsx(u.Suspense,{fallback:r.jsx(cl,{height:t}),children:r.jsx(al,{...e})})}function cl({height:e}){return r.jsx("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0})}const Fs=v.z.object({title:v.z.string().nullish(),description:v.z.string().nullish()}),Ws=v.z.object({direction:v.z.enum(["row","column"]).nullish(),gap:v.z.enum(["sm","md","lg"]).nullish(),align:v.z.enum(["start","center","end","stretch"]).nullish(),justify:v.z.enum(["start","center","end","between"]).nullish()}),Hs=v.z.object({columns:v.z.union([v.z.literal(1),v.z.literal(2),v.z.literal(3)]).nullish(),gap:v.z.enum(["sm","md","lg"]).nullish()}),Bs=v.z.object({text:v.z.string(),level:v.z.union([v.z.literal(1),v.z.literal(2),v.z.literal(3),v.z.literal(4)]).nullish()}),Us=v.z.object({text:v.z.string(),variant:v.z.enum(["body","caption","muted","code"]).nullish()}),qs=v.z.object({text:v.z.string(),variant:v.z.enum(["default","secondary","success","warning","destructive"]).nullish()}),ll=new Set(["http:","https:","mailto:"]),dl=v.z.string().nullish().transform(e=>{if(!e)return null;try{return ll.has(new URL(e).protocol)?e:null}catch{return null}}),Vs=v.z.object({id:v.z.string().nullish(),label:v.z.string(),secondary:v.z.string().nullish(),badge:v.z.string().nullish(),status:v.z.enum(["success","warning","error","info","neutral"]).nullish(),href:dl}),Ys=v.z.object({items:v.z.array(Vs),maxVisible:v.z.number().int().positive().nullish()}),ul=v.z.object({items:v.z.array(Vs.extend({href:v.z.string().nullish()})),maxVisible:Ys.shape.maxVisible}),Xs=v.z.object({columns:v.z.array(v.z.string()),rows:v.z.array(v.z.array(v.z.string())),caption:v.z.string().nullish()}),pl=v.z.object({value:v.z.string(),direction:v.z.enum(["up","down","flat"]),label:v.z.string().nullish()}),Gs=v.z.object({label:v.z.string(),value:v.z.string(),description:v.z.string().nullish(),trend:v.z.enum(["up","down","neutral"]).nullish(),delta:pl.nullish()}),Ks=v.z.object({type:v.z.enum(["info","tip","warning","important"]).nullish(),title:v.z.string().nullish(),content:v.z.string()}),ml=v.z.object({label:v.z.string(),value:v.z.number()}),Zs=v.z.object({type:v.z.enum(["bar","line","pie"]),data:v.z.array(ml),title:v.z.string().nullish(),height:v.z.number().int().positive().nullish(),centerLabel:v.z.string().nullish()}),Js=v.z.object({agentId:v.z.string(),agentName:v.z.string(),model:v.z.string().nullish()});function ye(e,t,n){const o=e.safeParse(t);return o.success?o.data:n}const hl=Tc(Ac,{components:{Card:{props:Fs,slots:["default"],description:"Container card with an optional title/description. Group related content.",example:{title:"Order summary",description:"Placed 2 days ago"}},Stack:{props:Ws,slots:["default"],description:'Flex layout. Use direction="row" for side-by-side, "column" (default) to stack.'},Grid:{props:Hs,slots:["default"],description:"Column grid that wraps on narrow screens. columns=2 for side-by-side metrics or cards; columns=3 only for three short metrics — the chat panel is about 400px wide, so three wide cells wrap."},Heading:{props:Bs,description:"Section heading. level 1 (largest) to 4.",example:{text:"Your orders",level:3}},Text:{props:Us,description:'A paragraph of text. variant "muted"/"caption" for secondary text, "code" for monospace.'},Badge:{props:qs,description:"Small status pill. Use variant to convey state (success/warning/destructive).",example:{text:"Delivered",variant:"success"}},List:{props:ul,description:"A vertical list of items, each with a label and optional secondary text, badge, and status dot. Pass the full array in `items` — do NOT use repeat/state for the rows.",example:{items:[{label:"Order #1024",secondary:"Shipped",status:"success"},{label:"Order #1025",secondary:"Processing",status:"warning"}]}},Table:{props:Xs,description:"A data table. `columns` are header strings; `rows` is a 2D array of cell strings (each row same length as columns).",example:{columns:["Item","Qty","Price"],rows:[["Widget","2","$20"],["Gadget","1","$15"]]}},Metric:{props:Gs,description:"A single key figure (KPI / insight card) with a label, big value, optional description, trend arrow, and an optional period-over-period delta ({ value, direction, label }).",example:{label:"Total spent",value:"$1,240",description:"Last 30 days",trend:"up",delta:{value:"+8%",direction:"up",label:"vs previous 30d"}}},Callout:{props:Ks,description:"A highlighted info / tip / warning box for a single important note. Use for one call-out, not for long prose.",example:{type:"tip",title:"Heads up",content:"Free shipping over $50."}},PhoneAgentCard:{props:Js,description:'A phone agent card with a "Test via web" action. NEVER author this yourself: it only comes back, already fenced, from the phone-agent tools — carry that fence verbatim.',example:{agentId:"00000000-0000-4000-8000-000000000000",agentName:"Support line",model:"oppie-vox-livekit"}},Chart:{props:Zs,description:"A bar, line, or pie (donut) chart. `data` is an array of { label, value } points. Choose by the question: line = trend over time, bar = comparison across categories, pie = share of a total (optional `centerLabel` shows a big number in the donut hole). Use for trends or distributions, not for a handful of numbers (use Metric for those). Colours, axes, legend, and tooltips are handled for you.",example:{type:"bar",title:"Orders per month",data:[{label:"Jan",value:12},{label:"Feb",value:18}]}}},actions:{}});function Vn({height:e=64}){return r.jsx("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0})}const bo={sm:"gap-1.5",md:"gap-3",lg:"gap-4"},fl="10rem";function gl(e){return e===1?"minmax(0, 1fr)":`repeat(auto-fit, minmax(max(${fl}, calc(100% / ${e} - 1rem)), 1fr))`}const{registry:wo}=Zc(hl,{components:{Card:({props:e,children:t,loading:n})=>{const o=ye(Fs,e,{});return r.jsxs("div",{className:"flex flex-col gap-2 rounded-xl border border-muted-foreground/15 p-3",children:[(o.title||o.description)&&r.jsxs("div",{className:"flex flex-col gap-0.5",children:[o.title&&r.jsx("div",{className:"text-sm font-semibold text-foreground",children:o.title}),o.description&&r.jsx("div",{className:"text-xs text-muted-foreground",children:o.description})]}),zn(t,n)]})},Stack:({props:e,children:t,loading:n})=>{const o=ye(Ws,e,{}),s={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"}[o.align??"stretch"],i={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between"}[o.justify??"start"];return r.jsx("div",{className:T("flex",o.direction==="row"?"flex-row":"flex-col",bo[o.gap??"md"],s,i),children:zn(t,n)})},Grid:({props:e,children:t,loading:n})=>{const o=ye(Hs,e,{});return r.jsx("div",{className:T("grid",bo[o.gap??"md"]),style:{gridTemplateColumns:gl(o.columns??1)},children:zn(t,n)})},Heading:({props:e})=>{const t=ye(Bs,e,{text:""}),n=t.level??3,o={1:"text-xl font-bold",2:"text-lg font-bold",3:"text-base font-semibold",4:"text-sm font-semibold"}[n]??"text-base font-semibold";return u.createElement(`h${n}`,{className:T("text-foreground",o)},t.text)},Text:({props:e})=>{const t=ye(Us,e,{text:""});if(t.variant==="code")return r.jsx("code",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground",children:t.text});const n=t.variant==="muted"||t.variant==="caption";return r.jsx("p",{className:T("whitespace-pre-wrap",n?"text-xs text-muted-foreground":"text-sm text-foreground"),children:t.text})},Badge:({props:e})=>{const t=ye(qs,e,{text:""}),n={default:"bg-primary text-primary-foreground",secondary:"bg-secondary text-secondary-foreground",success:"bg-emerald-500/15 text-emerald-600 dark:text-emerald-400",warning:"bg-amber-500/15 text-amber-600 dark:text-amber-400",destructive:"bg-destructive/15 text-destructive"}[t.variant??"secondary"];return r.jsx("span",{className:T("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",n),children:t.text})},List:({props:e,loading:t})=>{const n=ye(Ys,e,{items:[]});return n.items.length===0?t?r.jsx(Vn,{}):r.jsx(yo,{translationKey:"json_no_items"}):r.jsx(El,{items:n.items,maxVisible:n.maxVisible})},Table:({props:e,loading:t})=>{const n=ye(Xs,e,{columns:[],rows:[]});return t&&n.rows.length===0?r.jsx(Vn,{}):n.columns.length===0?r.jsx(yo,{translationKey:"json_no_data"}):r.jsx("div",{className:"overflow-x-auto rounded-lg border border-muted-foreground/15",children:r.jsxs("table",{className:"w-full text-sm",children:[n.caption&&r.jsx("caption",{className:"px-3 py-2 text-start text-xs text-muted-foreground",children:n.caption}),r.jsx("thead",{children:r.jsx("tr",{className:"border-b border-muted-foreground/15 bg-muted/40",children:n.columns.map((o,s)=>r.jsx("th",{className:"px-3 py-2 text-start font-medium text-foreground",children:o},s))})}),r.jsx("tbody",{children:n.rows.map((o,s)=>r.jsx("tr",{className:"border-b border-muted-foreground/10 last:border-0",children:o.map((i,a)=>r.jsx("td",{className:"px-3 py-2 text-muted-foreground",children:i},a))},s))})]})})},Metric:({props:e})=>{const t=ye(Gs,e,{label:"",value:""});return r.jsx(Sl,{label:t.label,value:t.value,description:t.description,trend:t.trend,delta:t.delta})},Callout:({props:e})=>{const t=ye(Ks,e,{content:""}),n=bl[t.type??"info"],o=n.Icon;return r.jsxs("div",{className:T("flex gap-2 rounded-lg border-l-2 p-3",n.cls),children:[r.jsx(o,{className:"mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"flex flex-col gap-0.5",children:[t.title&&r.jsx("span",{className:"text-sm font-semibold",children:t.title}),r.jsx("span",{className:"text-sm",children:t.content})]})]})},PhoneAgentCard:({props:e})=>{const t=ye(Js,e,{agentId:"",agentName:""});return r.jsx(yl,{...t})},Chart:({props:e})=>{const t=ye(Zs,e,{type:"bar",data:[]});return r.jsxs("div",{className:"flex flex-col gap-1",children:[t.title&&r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:t.title}),r.jsx(il,{...t})]})}}}),xl=({element:e})=>{const{t}=Bt();return r.jsx("div",{className:"rounded-lg border border-dashed border-muted-foreground/30 px-2 py-1.5 text-xs text-muted-foreground",children:t("json_unsupported",{type:e.type})})},bl={info:{Icon:z.Info,cls:"border-l-blue-500 bg-blue-500/5 text-foreground"},tip:{Icon:z.Lightbulb,cls:"border-l-emerald-500 bg-emerald-500/5 text-foreground"},warning:{Icon:z.AlertTriangle,cls:"border-l-amber-500 bg-amber-500/5 text-foreground"},important:{Icon:z.AlertCircle,cls:"border-l-red-500 bg-red-500/5 text-foreground"}};function zn(e,t){return u.Children.toArray(e).length>0?e:t?r.jsx(Vn,{}):null}function yo({translationKey:e}){const{t}=Bt();return r.jsx("div",{className:"rounded-lg border border-muted-foreground/15 px-3 py-2 text-xs text-muted-foreground",children:t(e)})}const wl="oppie-vox-livekit";function yl({agentId:e,agentName:t,model:n}){const{t:o,onUiAction:s}=Bt(),i=!!s&&!!e&&n===wl;return r.jsxs("div",{className:"flex w-full flex-col gap-3 rounded-xl border border-muted-foreground/15 p-3",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:r.jsx(z.Phone,{className:"size-4","aria-hidden":!0})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:t}),r.jsx("div",{className:"text-xs text-muted-foreground",children:o("json_phone_agent")})]})]}),i&&r.jsxs("button",{type:"button",className:"flex w-full items-center justify-center gap-2 rounded-lg bg-secondary px-3 py-2 text-sm font-medium text-secondary-foreground hover:bg-secondary/80",onClick:()=>s==null?void 0:s({type:"test-phone-agent",payload:{agentId:e,model:n??null}}),children:[r.jsx(z.Play,{className:"size-4","aria-hidden":!0}),o("json_phone_agent_test")]})]})}const vl={up:"↑",down:"↓",neutral:"→"},kl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",neutral:"text-muted-foreground"},jl={up:"↑",down:"↓",flat:"→"},Cl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",flat:"text-muted-foreground"};function Sl({label:e,value:t,description:n,trend:o,delta:s}){return r.jsxs("div",{className:"min-w-[140px] space-y-1 rounded-xl border border-muted-foreground/15 p-3",children:[r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:e}),r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx("span",{className:"text-2xl font-medium tracking-tight text-foreground",children:t}),o?r.jsx("span",{className:T("text-sm font-medium",kl[o]),children:vl[o]}):null]}),s?r.jsxs("div",{className:"flex items-baseline gap-1 text-xs",children:[r.jsxs("span",{className:T("font-medium",Cl[s.direction]),children:[jl[s.direction]," ",s.value]}),s.label?r.jsx("span",{className:"text-muted-foreground",children:s.label}):null]}):null,n?r.jsx("span",{className:"block text-xs text-muted-foreground",children:n}):null]})}const Nl={success:"bg-emerald-500",warning:"bg-amber-500",error:"bg-red-500",info:"bg-blue-500",neutral:"bg-muted-foreground/40"};function _l({item:e,showBadge:t,showSecondary:n,showStatus:o}){return r.jsxs(r.Fragment,{children:[t&&(e.badge?r.jsx("span",{className:"block min-w-0 truncate text-xs font-medium",title:e.badge,children:e.badge}):r.jsx("span",{})),r.jsx("span",{className:"block min-w-0 truncate",title:e.label,children:e.label}),n&&(e.secondary?r.jsx("span",{className:"block min-w-0 truncate text-xs text-muted-foreground",title:e.secondary,children:e.secondary}):r.jsx("span",{})),o&&(e.status?r.jsx("span",{className:T("size-2 rounded-full",Nl[e.status]),"aria-hidden":!0}):r.jsx("span",{}))]})}function El({items:e,maxVisible:t}){const n=t??10,{anchorTarget:o,t:s}=Bt(),[i,a]=u.useState(!1),c=e.length>n,l=i?e:e.slice(0,n),d=l.some(y=>!!y.badge),p=l.some(y=>!!y.secondary),m=l.some(y=>!!y.status),h=[d&&"auto","minmax(0,1fr)",p&&"minmax(0,2fr)",m&&"auto"].filter(Boolean).join(" "),f="grid min-w-0 grid-cols-[subgrid] col-span-full items-center gap-x-2.5 px-3 py-2 text-sm text-foreground";return r.jsxs("div",{className:"grid overflow-hidden rounded-lg border border-muted-foreground/15",style:{gridTemplateColumns:h},children:[l.map((y,w)=>{const k=y.id??`row-${w}`,x=r.jsx(_l,{item:y,showBadge:d,showSecondary:p,showStatus:m});return y.href?r.jsx("a",{href:y.href,target:o||"_top",rel:"noopener noreferrer",className:T(f,"transition-colors hover:bg-muted/50",w>0&&"border-t border-muted-foreground/10"),children:x},k):r.jsx("div",{className:T(f,w>0&&"border-t border-muted-foreground/10"),children:x},k)}),c&&r.jsx("button",{type:"button",className:"col-span-full flex w-full items-center justify-center gap-1 border-t border-muted-foreground/10 py-2 text-xs text-muted-foreground transition-colors hover:bg-muted/50",onClick:()=>a(y=>!y),children:i?r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronUp,{className:"size-3"}),s("json_see_less")]}):r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronDown,{className:"size-3"}),s("json_see_more",{count:e.length-n})]})})]})}function Qs({spec:e,active:t=!1}){const{anchorTarget:n,onUiAction:o}=C.useConfig(),{t:s}=ee(),i=u.useMemo(()=>({t:s,anchorTarget:n??"_blank",onUiAction:o}),[s,n,o]);return r.jsx(ea,{spec:e,host:i,active:t})}function Tl({spec:e,language:t,onUiAction:n,anchorTarget:o}){const s=nl({language:t,onUiAction:n,anchorTarget:o});return r.jsx(ea,{spec:e,host:s})}function ea({spec:e,host:t,active:n=!1}){return r.jsx(tl,{host:t,children:r.jsx(rl,{resetKey:e,children:r.jsx(Al,{spec:e,active:n})})})}function Al({spec:e,active:t}){const n=u.useMemo(()=>e?ol(e):null,[e]);return!n||!Ns(n)?null:r.jsx(Gc,{registry:wo,initialState:n.state,children:r.jsx(Xc,{spec:n,registry:wo,loading:t,fallback:xl})})}function ta(e){if(!e)return[];const t=e.split(`
11
+ `)}function mo(e){return e.example&&Object.keys(e.example).length>0?e.example:e.props?_s(e.props):{}}function _s(e){if(!e||!e._def)return{};const t=e._def,n=st(e);if(n!=="ZodObject"&&n!=="object")return{};const o=typeof t.shape=="function"?t.shape():t.shape;if(!o)return{};const s={};for(const[i,a]of Object.entries(o)){const c=st(a);c==="ZodOptional"||c==="optional"||c==="ZodNullable"||c==="nullable"||(s[i]=Un(a))}return s}function Un(e){if(!e||!e._def)return"...";const t=e._def;switch(st(e)){case"ZodString":case"string":return"example";case"ZodNumber":case"number":return 0;case"ZodBoolean":case"boolean":return!0;case"ZodLiteral":case"literal":return t.value;case"ZodEnum":case"enum":{if(Array.isArray(t.values)&&t.values.length>0)return t.values[0];if(t.entries&&typeof t.entries=="object"){const o=Object.values(t.entries);return o.length>0?o[0]:"example"}return"example"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":case"ZodDefault":case"default":{const o=t.innerType??t.wrapped;return o?Un(o):null}case"ZodArray":case"array":return[];case"ZodObject":case"object":return _s(e);case"ZodUnion":case"union":{const o=t.options;return o&&o.length>0?Un(o[0]):"..."}default:return"..."}}function Ec(e){if(!e||!e._def)return null;const t=e._def,n=st(e);if(n!=="ZodObject"&&n!=="object")return null;const o=typeof t.shape=="function"?t.shape():t.shape;if(!o)return null;for(const[s,i]of Object.entries(o)){const a=st(i);if(!(a==="ZodOptional"||a==="optional"||a==="ZodNullable"||a==="nullable")&&(a==="ZodString"||a==="string"))return s}return null}function st(e){if(!e||!e._def)return"";const t=e._def;return t.typeName??t.type??""}function je(e){if(!e||!e._def)return"unknown";const t=e._def;switch(st(e)){case"ZodString":case"string":return"string";case"ZodNumber":case"number":return"number";case"ZodBoolean":case"boolean":return"boolean";case"ZodLiteral":case"literal":{const o=t.values,s=(o==null?void 0:o[0])??t.value;return JSON.stringify(s)}case"ZodEnum":case"enum":{let o;if(Array.isArray(t.values))o=t.values;else if(t.entries&&typeof t.entries=="object")o=Object.values(t.entries);else return"enum";return o.map(s=>`"${s}"`).join(" | ")}case"ZodArray":case"array":{const o=typeof t.element=="object"?t.element:typeof t.type=="object"?t.type:void 0;return o?`Array<${je(o)}>`:"Array<unknown>"}case"ZodObject":case"object":{const o=typeof t.shape=="function"?t.shape():t.shape;return o?`{ ${Object.entries(o).map(([i,a])=>{const c=st(a);return`${i}${c==="ZodOptional"||c==="ZodNullable"||c==="optional"||c==="nullable"?"?":""}: ${je(a)}`}).join(", ")} }`:"object"}case"ZodOptional":case"optional":case"ZodNullable":case"nullable":{const o=t.innerType??t.wrapped;return o?je(o):"unknown"}case"ZodUnion":case"union":{const o=t.options;return o?o.map(s=>je(s)).join(" | "):"unknown"}case"ZodRecord":case"record":{const o=t.keyType??void 0,s=t.valueType??t.element??void 0,i=o?je(o):"string",a=s?je(s):"unknown";return`Record<${i}, ${a}>`}case"ZodDefault":case"default":{const o=t.innerType??t.wrapped;return o?je(o):"unknown"}default:return"unknown"}}function ho(e){return typeof e.type=="string"?e.type:typeof e.typeName=="string"?e.typeName:""}function fo(e){return e.startsWith("Zod")?e.slice(3).toLowerCase():e.toLowerCase()}function qe(e,t=!1){const n=e._def;switch(fo(ho(n))){case"string":return{type:"string"};case"number":return{type:"number"};case"boolean":return{type:"boolean"};case"literal":{const s=n.values;return{const:s?s[0]:n.value}}case"enum":{const s=n.entries;return{enum:(s?Object.values(s):n.values)??[]}}case"array":{const s=n.element??n.type;return{type:"array",items:s?qe(s,t):{}}}case"object":{const s=n.shape,i=typeof s=="function"?s():s;if(!i)return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object"};const a={},c=[];for(const[l,d]of Object.entries(i)){const p=d._def,m=fo(ho(p)),h=m==="optional"||m==="nullable";if(t)if(c.push(l),h){const f=qe(d,t);a[l]={anyOf:[f,{type:"null"}]}}else a[l]=qe(d,t);else a[l]=qe(d),h||c.push(l)}return{type:"object",properties:a,required:c.length>0?c:void 0,additionalProperties:!1}}case"record":{const s=n.valueType;return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{type:"object",additionalProperties:s?qe(s):!0}}case"optional":case"nullable":{const s=n.innerType;return s?qe(s,t):{}}case"union":{const s=n.options;return s?{anyOf:s.map(i=>qe(i,t))}:{}}case"any":case"unknown":return t?{type:"object",properties:{},required:[],additionalProperties:!1}:{};default:return{}}}function Tc(e,t){return e.createCatalog(t)}var Ac=kc(e=>({spec:e.object({root:e.string(),elements:e.record(e.object({type:e.ref("catalog.components"),props:e.propsOf("catalog.components"),children:e.array(e.string()),visible:e.any()}))}),catalog:e.object({components:e.map({props:e.zod(),slots:e.array(e.string()),description:e.string(),example:e.any()}),actions:e.map({params:e.zod(),description:e.string()})})}),{builtInActions:[{name:"setState",description:"Update a value in the state model at the given statePath. Params: { statePath: string, value: any }"},{name:"pushState",description:'Append an item to an array in state. Params: { statePath: string, value: any, clearStatePath?: string }. Value can contain {"$state":"/path"} refs and "$id" for auto IDs.'},{name:"removeState",description:"Remove an item from an array in state by index. Params: { statePath: string, index: number }"},{name:"validateForm",description:"Validate all registered form fields and write the result to state. Params: { statePath?: string }. Defaults to /formValidation. Result: { valid: boolean, errors: Record<string, string[]> }."}],defaultRules:["CRITICAL INTEGRITY CHECK: Before outputting ANY element that references children, you MUST have already output (or will output) each child as its own element. If an element has children: ['a', 'b'], then elements 'a' and 'b' MUST exist. A missing child element causes that entire branch of the UI to be invisible.","SELF-CHECK: After generating all elements, mentally walk the tree from root. Every key in every children array must resolve to a defined element. If you find a gap, output the missing element immediately.",'CRITICAL: The "visible" field goes on the ELEMENT object, NOT inside "props". Correct: {"type":"<ComponentName>","props":{},"visible":{"$state":"/tab","eq":"home"},"children":[...]}.','CRITICAL: The "on" field goes on the ELEMENT object, NOT inside "props". Use on.press, on.change, on.submit etc. NEVER put action/actionParams inside props.',"When the user asks for a UI that displays data (e.g. blog posts, products, users), ALWAYS include a state field with realistic sample data. The state field is a top-level field on the spec (sibling of root/elements).",'When building repeating content backed by a state array (e.g. posts, products, items), use the "repeat" field on a container element. Example: { "type": "<ContainerComponent>", "props": {}, "repeat": { "statePath": "/posts", "key": "id" }, "children": ["post-card"] }. Replace <ContainerComponent> with an appropriate component from the AVAILABLE COMPONENTS list. Inside repeated children, use { "$item": "field" } to read a field from the current item, and { "$index": true } for the current array index. For two-way binding to an item field use { "$bindItem": "completed" }. Do NOT hardcode individual elements for each array item.',"Design with visual hierarchy: use container components to group content, heading components for section titles, proper spacing, and status indicators. ONLY use components from the AVAILABLE COMPONENTS list.","For data-rich UIs, use multi-column layout components if available. For forms and single-column content, use vertical layout components. ONLY use components from the AVAILABLE COMPONENTS list.","Always include realistic, professional-looking sample data. For blogs include 3-4 posts with varied titles, authors, dates, categories. For products include names, prices, images. Never leave data empty."]}),Es=u.createContext(null);function zc(e,t){return e?null:Object.keys(t).length===0?{}:fr(t)}function Ic({store:e,initialState:t={},onStateChange:n,children:o}){const s=u.useRef(void 0);!e&&!s.current&&(s.current=Oi(t));const i=e??s.current,a=u.useRef(i);a.current=i;const c=u.useRef(!!e);c.current=!!e;const l=u.useRef(e?"controlled":"uncontrolled"),d=u.useRef(!1);if(process.env.NODE_ENV!=="production"){const b=e?"controlled":"uncontrolled";b!==l.current&&!d.current&&(d.current=!0,console.warn(`StateProvider: switching from ${l.current} to ${b} mode is not supported.`))}const p=u.useRef(t),m=u.useRef(zc(!!e,t));u.useEffect(()=>{if(e||t===p.current)return;p.current=t;const b=t&&Object.keys(t).length>0?fr(t):{},N=m.current??{},j=new Set([...Object.keys(N),...Object.keys(b)]),g={};for(const _ of j)N[_]!==b[_]&&(g[_]=_ in b?b[_]:void 0);m.current=b,Object.keys(g).length>0&&i.update(g)},[e,t,i]);const h=u.useSyncExternalStore(i.subscribe,i.getSnapshot,i.getServerSnapshot??i.getSnapshot),f=u.useRef(n);f.current=n;const y=u.useCallback((b,N)=>{var _;const j=a.current,g=j.getSnapshot();j.set(b,N),!c.current&&j.getSnapshot()!==g&&((_=f.current)==null||_.call(f,[{path:b,value:N}]))},[]),w=u.useCallback(b=>{var g;const N=a.current,j=N.getSnapshot();if(N.update(b),!c.current&&N.getSnapshot()!==j){const _=[];for(const[A,R]of Object.entries(b))ie(j,A)!==R&&_.push({path:A,value:R});_.length>0&&((g=f.current)==null||g.call(f,_))}},[]),k=u.useCallback(b=>a.current.get(b),[]),x=u.useCallback(()=>a.current.getSnapshot(),[]),S=u.useMemo(()=>({state:h,get:k,set:y,update:w,getSnapshot:x}),[h,k,y,w,x]);return r.jsx(Es.Provider,{value:S,children:o})}function Ht(){const e=u.useContext(Es);if(!e)throw new Error("useStateStore must be used within a StateProvider");return e}var Ts=u.createContext(null);function Mc({children:e}){const{state:t}=Ht(),n=u.useMemo(()=>({stateModel:t}),[t]),o=u.useMemo(()=>i=>wt(i,n),[n]),s=u.useMemo(()=>({isVisible:o,ctx:n}),[o,n]);return r.jsx(Ts.Provider,{value:s,children:e})}function Rc(){const e=u.useContext(Ts);if(!e)throw new Error("useVisibility must be used within a VisibilityProvider");return e}var As=u.createContext(null);function Pc(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(const s of n){const i=e[s],a=t[s];if(i!==a){if(typeof i=="object"&&i!==null&&typeof a=="object"&&a!==null){const c=i.$state,l=a.$state;if(typeof c=="string"&&c===l)continue}return!1}}return!0}function Oc(e,t){if(e===t)return!0;if(e.validateOn!==t.validateOn)return!1;const n=e.checks??[],o=t.checks??[];if(n.length!==o.length)return!1;for(let s=0;s<n.length;s++){const i=n[s],a=o[s];if(i.type!==a.type||i.message!==a.message||!Pc(i.args,a.args))return!1}return!0}function $c({customFunctions:e={},children:t}){const{state:n,getSnapshot:o}=Ht(),[s,i]=u.useState({}),a=u.useRef({}),[c,l]=u.useState({}),d=u.useCallback((w,k)=>{l(x=>{const S=x[w];return S&&Oc(S,k)?x:{...x,[w]:k}})},[]),p=u.useCallback((w,k)=>{var g;const x=o(),S=w.split("/").filter(Boolean);let b=x;for(const _ of S)if(b!=null&&typeof b=="object")b=b[_];else{b=void 0;break}const N=mc(k,{value:b,stateModel:x,customFunctions:e}),j={touched:((g=a.current[w])==null?void 0:g.touched)??!0,validated:!0,result:N};return a.current={...a.current,[w]:j},i(a.current),N},[e,o]),m=u.useCallback(w=>{var k,x;a.current={...a.current,[w]:{...a.current[w],touched:!0,validated:((k=a.current[w])==null?void 0:k.validated)??!1,result:((x=a.current[w])==null?void 0:x.result)??null}},i(a.current)},[]),h=u.useCallback(w=>{const{[w]:k,...x}=a.current;a.current=x,i(x)},[]),f=u.useCallback(()=>{let w=!0;for(const[k,x]of Object.entries(c))p(k,x).valid||(w=!1);return w},[c,p]),y=u.useMemo(()=>({customFunctions:e,get fieldStates(){return a.current},validate:p,touch:m,clear:h,validateAll:f,registerField:d}),[e,s,p,m,h,f,d]);return r.jsx(As.Provider,{value:y,children:t})}function Lc(){return u.useContext(As)}var go=0;function xo(){return go+=1,`${Date.now()}-${go}`}function qn(e,t){if(e==null)return e;if(e==="$id")return xo();if(typeof e=="object"&&!Array.isArray(e)){const n=e,o=Object.keys(n);if(o.length===1&&typeof n.$state=="string")return t(n.$state);if(o.length===1&&"$id"in n)return xo()}if(Array.isArray(e))return e.map(n=>qn(n,t));if(typeof e=="object"){const n={};for(const[o,s]of Object.entries(e))n[o]=qn(s,t);return n}return e}var zs=u.createContext(null);function Dc({handlers:e={},navigate:t,children:n}){const{get:o,set:s,getSnapshot:i}=Ht(),a=Lc(),[c,l]=u.useState(e),[d,p]=u.useState(new Set),[m,h]=u.useState(null),f=u.useCallback((S,b)=>{l(N=>({...N,[S]:b}))},[]),y=u.useCallback(async S=>{var A;const b=lc(S,i()),N=nc(),j=Date.now();ec({id:N,name:b.action,params:b.params,at:j});let g=!0,_;try{if(b.action==="setState"&&b.params){const P=b.params.statePath,O=b.params.value;P&&s(P,O);return}if(b.action==="pushState"&&b.params){const P=b.params.statePath,O=b.params.value;if(P){const I=qn(O,o),B=o(P)??[];s(P,[...B,I]);const E=b.params.clearStatePath;E&&s(E,"")}return}if(b.action==="removeState"&&b.params){const P=b.params.statePath,O=b.params.index;if(P!==void 0&&O!==void 0){const I=o(P)??[];s(P,I.filter((B,E)=>E!==O))}return}if(b.action==="push"&&b.params){const P=b.params.screen;if(P){const O=o("/currentScreen"),I=o("/navStack")??[];O?s("/navStack",[...I,O]):s("/navStack",[...I,""]),s("/currentScreen",P)}return}if(b.action==="pop"){const P=o("/navStack")??[];if(P.length>0){const O=P[P.length-1];s("/navStack",P.slice(0,-1)),O?s("/currentScreen",O):s("/currentScreen",void 0)}return}if(b.action==="validateForm"){const P=a==null?void 0:a.validateAll;if(!P){console.warn("validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.");return}const O=P(),I={};for(const[E,M]of Object.entries(a.fieldStates))M.result&&!M.result.valid&&(I[E]=M.result.errors);const B=((A=b.params)==null?void 0:A.statePath)||"/formValidation";s(B,{valid:O,errors:I});return}const R=c[b.action];if(!R){console.warn(`No handler registered for action: ${b.action}`);return}if(b.confirm)return new Promise((P,O)=>{h({action:b,handler:R,resolve:()=>{h(null),P()},reject:()=>{h(null),O(new Error("Action cancelled"))}})}).then(async()=>{p(P=>new Set(P).add(b.action));try{await uo({action:b,handler:R,setState:s,navigate:t,executeAction:async P=>{await y({action:P})}})}finally{p(P=>{const O=new Set(P);return O.delete(b.action),O})}});p(P=>new Set(P).add(b.action));try{await uo({action:b,handler:R,setState:s,navigate:t,executeAction:async P=>{await y({action:P})}})}finally{p(P=>{const O=new Set(P);return O.delete(b.action),O})}}catch(R){throw g=!1,_=R,R}finally{const R=Date.now();tc({id:N,name:b.action,ok:g,at:R,durationMs:R-j,error:_})}},[c,o,s,i,t,a]),w=u.useCallback(()=>{m==null||m.resolve()},[m]),k=u.useCallback(()=>{m==null||m.reject()},[m]),x=u.useMemo(()=>({handlers:c,loadingActions:d,pendingConfirmation:m,execute:y,confirm:w,cancel:k,registerHandler:f}),[c,d,m,y,w,k,f]);return r.jsx(zs.Provider,{value:x,children:n})}function Is(){const e=u.useContext(zs);if(!e)throw new Error("useActions must be used within an ActionProvider");return e}function Fc({confirm:e,onConfirm:t,onCancel:n}){const o=e.variant==="danger";return r.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:50},onClick:n,children:r.jsxs("div",{style:{backgroundColor:"white",borderRadius:"8px",padding:"24px",maxWidth:"400px",width:"100%",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.1)"},onClick:s=>s.stopPropagation(),children:[r.jsx("h3",{style:{margin:"0 0 8px 0",fontSize:"18px",fontWeight:600},children:e.title}),r.jsx("p",{style:{margin:"0 0 24px 0",color:"#6b7280"},children:e.message}),r.jsxs("div",{style:{display:"flex",gap:"12px",justifyContent:"flex-end"},children:[r.jsx("button",{onClick:n,style:{padding:"8px 16px",borderRadius:"6px",border:"1px solid #d1d5db",backgroundColor:"white",cursor:"pointer"},children:e.cancelLabel??"Cancel"}),r.jsx("button",{onClick:t,style:{padding:"8px 16px",borderRadius:"6px",border:"none",backgroundColor:o?"#dc2626":"#3b82f6",color:"white",cursor:"pointer"},children:e.confirmLabel??"Confirm"})]})]})})}var Ms=u.createContext(null);function Wc({item:e,index:t,basePath:n,children:o}){return r.jsx(Ms.Provider,{value:{item:e,index:t,basePath:n},children:o})}function Hc(){return u.useContext(Ms)}var Bc=class extends u.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,t){console.error(`[json-render] Rendering error in <${this.props.elementType}>:`,e,t.componentStack)}render(){return this.state.hasError?null:this.props.children}},Rs={},Ps=u.createContext(Rs);function Uc(){return u.useContext(Ps)}var Os=u.createContext(void 0);function qc(){return u.useContext(Os)}function Vc(){return u.useSyncExternalStore(sc,oc,()=>!1)}var $s=u.memo(function e({element:t,elementKey:n,spec:o,registry:s,loading:i,fallback:a}){var W;const c=Vc(),l=Hc(),{ctx:d}=Rc(),{execute:p}=Is(),{getSnapshot:m,state:h}=Ht(),f=Uc(),y=qc(),w=u.useMemo(()=>{const $=l?{...d,repeatItem:l.item,repeatIndex:l.index,repeatBasePath:l.basePath}:{...d};return $.functions=f,$.directives=y,$},[d,l,f,y]),k=t.visible===void 0?!0:wt(t.visible,w),x=t.on,S=u.useCallback(async $=>{const q=x==null?void 0:x[$];if(!q)return;const V=Array.isArray(q)?q:[q];for(const U of V){if(!U.params){await p(U);continue}const D={...w,stateModel:m()},Z={};for(const[ne,L]of Object.entries(U.params))Z[ne]=ao(L,D);await p({...U,params:Z})}},[x,p,w,m]),b=u.useCallback($=>{const q=x==null?void 0:x[$];if(!q)return{emit:()=>{},shouldPreventDefault:!1,bound:!1};const U=(Array.isArray(q)?q:[q]).some(D=>D.preventDefault);return{emit:()=>S($),shouldPreventDefault:U,bound:!0}},[x,S]),N=t.watch,j=u.useRef(null),g=u.useRef(void 0),_=u.useMemo(()=>{if(!N)return;const $={};for(const V of Object.keys(N))$[V]=ie(h,V);const q=g.current;if(q){const V=Object.keys($);if(V.length===Object.keys(q).length&&V.every(U=>$[U]===q[U]))return q}return g.current=$,$},[N,h]);if(u.useEffect(()=>{if(!N||!_)return;const $=Object.keys(N);if($.length===0)return;const q=j.current;if(j.current=_,q===null)return;let V=!1;return(async()=>{for(const U of $){if(V)break;if(_[U]!==q[U]){const D=N[U];if(!D)continue;const Z=Array.isArray(D)?D:[D];for(const ne of Z){if(V)break;if(!ne.params){if(await p(ne),V)break;continue}const L={...w,stateModel:m()},X={};for(const[K,re]of Object.entries(ne.params))X[K]=ao(re,L);if(await p({...ne,params:X}),V)break}}}})().catch(console.error),()=>{V=!0}},[N,_,p,w,m]),!k)return null;const A=t.props,R=Qi(A,w),P=Ji(A,w),O=P!==t.props?{...t,props:P}:t,I=s[O.type]??a;if(!I)return console.warn(`No renderer for component type: ${O.type}`),null;const B=O.repeat?r.jsx(Yc,{element:O,spec:o,registry:s,loading:i,fallback:a}):(W=O.children)==null?void 0:W.map($=>{const q=o.elements[$];return q?r.jsx(e,{element:q,elementKey:$,spec:o,registry:s,loading:i,fallback:a},$):(i||console.warn(`[json-render] Missing element "${$}" referenced as child of "${O.type}". This element will not render.`),null)}),E=r.jsx(I,{element:O,emit:S,on:b,bindings:R,loading:i,children:B}),M=c&&n?r.jsx("span",{"data-jr-key":n,style:{display:"contents"},children:E}):E;return r.jsx(Bc,{elementType:O.type,children:M})});function Yc({element:e,spec:t,registry:n,loading:o,fallback:s}){const{state:i}=Ht(),a=e.repeat,c=a.statePath,l=ie(i,c)??[];return r.jsx(r.Fragment,{children:l.map((d,p)=>{var h;const m=a.key&&typeof d=="object"&&d!==null?String(d[a.key]??p):String(p);return r.jsx(Wc,{item:d,index:p,basePath:`${c}/${p}`,children:(h=e.children)==null?void 0:h.map(f=>{const y=t.elements[f];return y?r.jsx($s,{element:y,elementKey:f,spec:t,registry:n,loading:o,fallback:s},f):(o||console.warn(`[json-render] Missing element "${f}" referenced as child of "${e.type}" (repeat). This element will not render.`),null)})},m)})})}function Xc({spec:e,registry:t,loading:n,fallback:o}){if(!e||!e.root)return null;const s=e.elements[e.root];return s?r.jsx($s,{element:s,elementKey:e.root,spec:e,registry:t,loading:n,fallback:o}):null}function Gc({registry:e,store:t,initialState:n,handlers:o,navigate:s,validationFunctions:i,functions:a,directives:c,onStateChange:l,children:d}){const p=u.useMemo(()=>c?qi(c):void 0,[c]);return r.jsx(Ic,{store:t,initialState:n,onStateChange:l,children:r.jsx(Mc,{children:r.jsx($c,{customFunctions:i,children:r.jsx(Dc,{handlers:o,navigate:s,children:r.jsx(Ps.Provider,{value:a??Rs,children:r.jsxs(Os.Provider,{value:p,children:[d,r.jsx(Kc,{})]})})})})})})}function Kc(){const{pendingConfirmation:e,confirm:t,cancel:n}=Is();return e!=null&&e.action.confirm?r.jsx(Fc,{confirm:e.action.confirm,onConfirm:t,onCancel:n}):null}function Zc(e,t){const n={};if(t.components)for(const[a,c]of Object.entries(t.components))n[a]=({element:l,children:d,emit:p,on:m,bindings:h,loading:f})=>c({props:l.props,children:d,emit:p,on:m,bindings:h,loading:f});const o=t.actions?Object.entries(t.actions):[];return{registry:n,handlers:(a,c)=>{const l={};for(const[d,p]of o)l[d]=async m=>{const h=a(),f=c();h&&await p(m,h,f)};return l},executeAction:async(a,c,l,d={})=>{const p=o.find(([m])=>m===a);p?await p[1](c,l,d):console.warn(`Unknown action: ${a}`)}}}function Jc(e){if(typeof e!="object"||e===null)return!1;const t=e;switch(t.type){case"patch":return typeof t.patch=="object"&&t.patch!==null;case"flat":case"nested":return typeof t.spec=="object"&&t.spec!==null;default:return!1}}function Qc(e){const t={root:"",elements:{}};let n=!1;for(const o of e)if(o.type===Pi){if(!Jc(o.data))continue;const s=o.data;if(s.type==="patch")n=!0,zi(t,s.patch);else if(s.type==="flat")n=!0,Object.assign(t,s.spec);else if(s.type==="nested"){n=!0;const i=Ii(s.spec);Object.assign(t,i)}}return n?t:null}function ee(){const{dir:e}=C.useDocumentDir(),t=C.useConfig();return u.useMemo(()=>{const n=Q.resolveLanguage(t.language);return{t:(s,i)=>Q.getTranslation(s,n,t.translationOverrides,i),language:n,dir:Q.isRtlLanguage(n)?"rtl":"ltr",hostDocumentDir:e}},[t.language,t.translationOverrides,e])}function Ls(e){const t=Q.resolveLanguage(e);return(n,o)=>Q.getTranslation(n,t,void 0,o)}const el={t:Ls("en"),anchorTarget:"_blank"},Ds=u.createContext(el);function tl({host:e,children:t}){return r.jsx(Ds.Provider,{value:e,children:t})}function Bt(){return u.useContext(Ds)}function nl({language:e,onUiAction:t,anchorTarget:n="_blank"}){return u.useMemo(()=>({t:Ls(e),anchorTarget:n,onUiAction:t}),[e,n,t])}class rl extends u.Component{constructor(){super(...arguments);eo(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n){Q.log.error("json-render: spec failed to render",{_e:n instanceof Error?n.message:String(n)})}componentDidUpdate(n){this.state.hasError&&n.resetKey!==this.props.resetKey&&this.setState({hasError:!1})}render(){return this.state.hasError?null:this.props.children}}function ol(e){if(!e.elements)return e;let t=!1;const n={};for(const[o,s]of Object.entries(e.elements)){const i=sl(s,e);i!==s&&(t=!0),n[o]=i}return t?{...e,elements:n}:e}function sl(e,t){if(e.type!=="List")return e;const n=e.repeat;if(!n||typeof n.statePath!="string")return e;const o=Q.isRecord(e.props)?e.props:{},s=o.items;if(Array.isArray(s)&&s.length>0)return e;const a=ie(t.state??{},n.statePath);if(!Array.isArray(a)||a.length===0)return e;const{repeat:c,...l}=e;return{...l,props:{...o,items:a}}}function T(...e){return yi.twMerge(wi.clsx(e))}const al=u.lazy(()=>Promise.resolve().then(()=>require("./Chart.impl-BAZW1JIf.cjs")));function il(e){const t=e.height??220;return r.jsx(u.Suspense,{fallback:r.jsx(cl,{height:t}),children:r.jsx(al,{...e})})}function cl({height:e}){return r.jsx("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0})}const Fs=v.z.object({title:v.z.string().nullish(),description:v.z.string().nullish()}),Ws=v.z.object({direction:v.z.enum(["row","column"]).nullish(),gap:v.z.enum(["sm","md","lg"]).nullish(),align:v.z.enum(["start","center","end","stretch"]).nullish(),justify:v.z.enum(["start","center","end","between"]).nullish()}),Hs=v.z.object({columns:v.z.union([v.z.literal(1),v.z.literal(2),v.z.literal(3)]).nullish(),gap:v.z.enum(["sm","md","lg"]).nullish()}),Bs=v.z.object({text:v.z.string(),level:v.z.union([v.z.literal(1),v.z.literal(2),v.z.literal(3),v.z.literal(4)]).nullish()}),Us=v.z.object({text:v.z.string(),variant:v.z.enum(["body","caption","muted","code"]).nullish()}),qs=v.z.object({text:v.z.string(),variant:v.z.enum(["default","secondary","success","warning","destructive"]).nullish()}),ll=new Set(["http:","https:","mailto:"]),dl=v.z.string().nullish().transform(e=>{if(!e)return null;try{return ll.has(new URL(e).protocol)?e:null}catch{return null}}),Vs=v.z.object({id:v.z.string().nullish(),label:v.z.string(),secondary:v.z.string().nullish(),badge:v.z.string().nullish(),status:v.z.enum(["success","warning","error","info","neutral"]).nullish(),href:dl}),Ys=v.z.object({items:v.z.array(Vs),maxVisible:v.z.number().int().positive().nullish()}),ul=v.z.object({items:v.z.array(Vs.extend({href:v.z.string().nullish()})),maxVisible:Ys.shape.maxVisible}),Xs=v.z.object({columns:v.z.array(v.z.string()),rows:v.z.array(v.z.array(v.z.string())),caption:v.z.string().nullish()}),pl=v.z.object({value:v.z.string(),direction:v.z.enum(["up","down","flat"]),label:v.z.string().nullish()}),Gs=v.z.object({label:v.z.string(),value:v.z.string(),description:v.z.string().nullish(),trend:v.z.enum(["up","down","neutral"]).nullish(),delta:pl.nullish()}),Ks=v.z.object({type:v.z.enum(["info","tip","warning","important"]).nullish(),title:v.z.string().nullish(),content:v.z.string()}),ml=v.z.object({label:v.z.string(),value:v.z.number()}),Zs=v.z.object({type:v.z.enum(["bar","line","pie"]),data:v.z.array(ml),title:v.z.string().nullish(),height:v.z.number().int().positive().nullish(),centerLabel:v.z.string().nullish()}),Js=v.z.object({agentId:v.z.string(),agentName:v.z.string(),model:v.z.string().nullish()});function ye(e,t,n){const o=e.safeParse(t);return o.success?o.data:n}const hl=Tc(Ac,{components:{Card:{props:Fs,slots:["default"],description:"Container card with an optional title/description. Group related content.",example:{title:"Order summary",description:"Placed 2 days ago"}},Stack:{props:Ws,slots:["default"],description:'Flex layout. Use direction="row" for side-by-side, "column" (default) to stack.'},Grid:{props:Hs,slots:["default"],description:"Column grid that wraps on narrow screens. columns=2 for side-by-side metrics or cards; columns=3 only for three short metrics — the chat panel is about 400px wide, so three wide cells wrap."},Heading:{props:Bs,description:"Section heading. level 1 (largest) to 4.",example:{text:"Your orders",level:3}},Text:{props:Us,description:'A paragraph of text. variant "muted"/"caption" for secondary text, "code" for monospace.'},Badge:{props:qs,description:"Small status pill. Use variant to convey state (success/warning/destructive).",example:{text:"Delivered",variant:"success"}},List:{props:ul,description:"A vertical list of items, each with a label and optional secondary text, badge, and status dot. Pass the full array in `items` — do NOT use repeat/state for the rows.",example:{items:[{label:"Order #1024",secondary:"Shipped",status:"success"},{label:"Order #1025",secondary:"Processing",status:"warning"}]}},Table:{props:Xs,description:"A data table. `columns` are header strings; `rows` is a 2D array of cell strings (each row same length as columns).",example:{columns:["Item","Qty","Price"],rows:[["Widget","2","$20"],["Gadget","1","$15"]]}},Metric:{props:Gs,description:"A single key figure (KPI / insight card) with a label, big value, optional description, trend arrow, and an optional period-over-period delta ({ value, direction, label }).",example:{label:"Total spent",value:"$1,240",description:"Last 30 days",trend:"up",delta:{value:"+8%",direction:"up",label:"vs previous 30d"}}},Callout:{props:Ks,description:"A highlighted info / tip / warning box for a single important note. Use for one call-out, not for long prose.",example:{type:"tip",title:"Heads up",content:"Free shipping over $50."}},PhoneAgentCard:{props:Js,description:'A phone agent card with a "Test via web" action. NEVER author this yourself: it only comes back, already fenced, from the phone-agent tools — carry that fence verbatim.',example:{agentId:"00000000-0000-4000-8000-000000000000",agentName:"Support line",model:"oppie-vox-livekit"}},Chart:{props:Zs,description:"A bar, line, or pie (donut) chart. `data` is an array of { label, value } points. Choose by the question: line = trend over time, bar = comparison across categories, pie = share of a total (optional `centerLabel` shows a big number in the donut hole). Use for trends or distributions, not for a handful of numbers (use Metric for those). Colours, axes, legend, and tooltips are handled for you.",example:{type:"bar",title:"Orders per month",data:[{label:"Jan",value:12},{label:"Feb",value:18}]}}},actions:{}});function Vn({height:e=64}){return r.jsx("div",{className:"w-full animate-pulse rounded-lg bg-muted-foreground/10",style:{height:e},"aria-hidden":!0})}const bo={sm:"gap-1.5",md:"gap-3",lg:"gap-4"},fl="10rem";function gl(e){return e===1?"minmax(0, 1fr)":`repeat(auto-fit, minmax(max(${fl}, calc(100% / ${e} - 1rem)), 1fr))`}const{registry:wo}=Zc(hl,{components:{Card:({props:e,children:t,loading:n})=>{const o=ye(Fs,e,{});return r.jsxs("div",{className:"flex flex-col gap-2 rounded-xl border border-muted-foreground/15 p-3",children:[(o.title||o.description)&&r.jsxs("div",{className:"flex flex-col gap-0.5",children:[o.title&&r.jsx("div",{className:"text-sm font-semibold text-foreground",children:o.title}),o.description&&r.jsx("div",{className:"text-xs text-muted-foreground",children:o.description})]}),zn(t,n)]})},Stack:({props:e,children:t,loading:n})=>{const o=ye(Ws,e,{}),s={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"}[o.align??"stretch"],i={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between"}[o.justify??"start"];return r.jsx("div",{className:T("flex",o.direction==="row"?"flex-row":"flex-col",bo[o.gap??"md"],s,i),children:zn(t,n)})},Grid:({props:e,children:t,loading:n})=>{const o=ye(Hs,e,{});return r.jsx("div",{className:T("grid",bo[o.gap??"md"]),style:{gridTemplateColumns:gl(o.columns??1)},children:zn(t,n)})},Heading:({props:e})=>{const t=ye(Bs,e,{text:""}),n=t.level??3,o={1:"text-xl font-bold",2:"text-lg font-bold",3:"text-base font-semibold",4:"text-sm font-semibold"}[n]??"text-base font-semibold";return u.createElement(`h${n}`,{className:T("text-foreground",o)},t.text)},Text:({props:e})=>{const t=ye(Us,e,{text:""});if(t.variant==="code")return r.jsx("code",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground",children:t.text});const n=t.variant==="muted"||t.variant==="caption";return r.jsx("p",{className:T("whitespace-pre-wrap",n?"text-xs text-muted-foreground":"text-sm text-foreground"),children:t.text})},Badge:({props:e})=>{const t=ye(qs,e,{text:""}),n={default:"bg-primary text-primary-foreground",secondary:"bg-secondary text-secondary-foreground",success:"bg-emerald-500/15 text-emerald-600 dark:text-emerald-400",warning:"bg-amber-500/15 text-amber-600 dark:text-amber-400",destructive:"bg-destructive/15 text-destructive"}[t.variant??"secondary"];return r.jsx("span",{className:T("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",n),children:t.text})},List:({props:e,loading:t})=>{const n=ye(Ys,e,{items:[]});return n.items.length===0?t?r.jsx(Vn,{}):r.jsx(yo,{translationKey:"json_no_items"}):r.jsx(El,{items:n.items,maxVisible:n.maxVisible})},Table:({props:e,loading:t})=>{const n=ye(Xs,e,{columns:[],rows:[]});return t&&n.rows.length===0?r.jsx(Vn,{}):n.columns.length===0?r.jsx(yo,{translationKey:"json_no_data"}):r.jsx("div",{className:"overflow-x-auto rounded-lg border border-muted-foreground/15",children:r.jsxs("table",{className:"w-full text-sm",children:[n.caption&&r.jsx("caption",{className:"px-3 py-2 text-start text-xs text-muted-foreground",children:n.caption}),r.jsx("thead",{children:r.jsx("tr",{className:"border-b border-muted-foreground/15 bg-muted/40",children:n.columns.map((o,s)=>r.jsx("th",{className:"px-3 py-2 text-start font-medium text-foreground",children:o},s))})}),r.jsx("tbody",{children:n.rows.map((o,s)=>r.jsx("tr",{className:"border-b border-muted-foreground/10 last:border-0",children:o.map((i,a)=>r.jsx("td",{className:"px-3 py-2 text-muted-foreground",children:i},a))},s))})]})})},Metric:({props:e})=>{const t=ye(Gs,e,{label:"",value:""});return r.jsx(Sl,{label:t.label,value:t.value,description:t.description,trend:t.trend,delta:t.delta})},Callout:({props:e})=>{const t=ye(Ks,e,{content:""}),n=bl[t.type??"info"],o=n.Icon;return r.jsxs("div",{className:T("flex gap-2 rounded-lg border-l-2 p-3",n.cls),children:[r.jsx(o,{className:"mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"flex flex-col gap-0.5",children:[t.title&&r.jsx("span",{className:"text-sm font-semibold",children:t.title}),r.jsx("span",{className:"text-sm",children:t.content})]})]})},PhoneAgentCard:({props:e})=>{const t=ye(Js,e,{agentId:"",agentName:""});return r.jsx(yl,{...t})},Chart:({props:e})=>{const t=ye(Zs,e,{type:"bar",data:[]});return r.jsxs("div",{className:"flex flex-col gap-1",children:[t.title&&r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:t.title}),r.jsx(il,{...t})]})}}}),xl=({element:e})=>{const{t}=Bt();return r.jsx("div",{className:"rounded-lg border border-dashed border-muted-foreground/30 px-2 py-1.5 text-xs text-muted-foreground",children:t("json_unsupported",{type:e.type})})},bl={info:{Icon:z.Info,cls:"border-l-blue-500 bg-blue-500/5 text-foreground"},tip:{Icon:z.Lightbulb,cls:"border-l-emerald-500 bg-emerald-500/5 text-foreground"},warning:{Icon:z.AlertTriangle,cls:"border-l-amber-500 bg-amber-500/5 text-foreground"},important:{Icon:z.AlertCircle,cls:"border-l-red-500 bg-red-500/5 text-foreground"}};function zn(e,t){return u.Children.toArray(e).length>0?e:t?r.jsx(Vn,{}):null}function yo({translationKey:e}){const{t}=Bt();return r.jsx("div",{className:"rounded-lg border border-muted-foreground/15 px-3 py-2 text-xs text-muted-foreground",children:t(e)})}const wl="oppie-vox-livekit";function yl({agentId:e,agentName:t,model:n}){const{t:o,onUiAction:s}=Bt(),i=!!s&&!!e&&n===wl;return r.jsxs("div",{className:"flex w-full flex-col gap-3 rounded-xl border border-muted-foreground/15 p-3",children:[r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:r.jsx(z.Phone,{className:"size-4","aria-hidden":!0})}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:t}),r.jsx("div",{className:"text-xs text-muted-foreground",children:o("json_phone_agent")})]})]}),i&&r.jsxs("button",{type:"button",className:"flex w-full items-center justify-center gap-2 rounded-lg bg-secondary px-3 py-2 text-sm font-medium text-secondary-foreground hover:bg-secondary/80",onClick:()=>s==null?void 0:s({type:"test-phone-agent",payload:{agentId:e,model:n??null}}),children:[r.jsx(z.Play,{className:"size-4","aria-hidden":!0}),o("json_phone_agent_test")]})]})}const vl={up:"↑",down:"↓",neutral:"→"},kl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",neutral:"text-muted-foreground"},jl={up:"↑",down:"↓",flat:"→"},Cl={up:"text-emerald-600 dark:text-emerald-400",down:"text-red-600 dark:text-red-400",flat:"text-muted-foreground"};function Sl({label:e,value:t,description:n,trend:o,delta:s}){return r.jsxs("div",{className:"min-w-[140px] space-y-1 rounded-xl border border-muted-foreground/15 p-3",children:[r.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:e}),r.jsxs("div",{className:"flex items-baseline gap-2",children:[r.jsx("span",{className:"text-2xl font-medium tracking-tight text-foreground",children:t}),o?r.jsx("span",{className:T("text-sm font-medium",kl[o]),children:vl[o]}):null]}),s?r.jsxs("div",{className:"flex items-baseline gap-1 text-xs",children:[r.jsxs("span",{className:T("font-medium",Cl[s.direction]),children:[jl[s.direction]," ",s.value]}),s.label?r.jsx("span",{className:"text-muted-foreground",children:s.label}):null]}):null,n?r.jsx("span",{className:"block text-xs text-muted-foreground",children:n}):null]})}const Nl={success:"bg-emerald-500",warning:"bg-amber-500",error:"bg-red-500",info:"bg-blue-500",neutral:"bg-muted-foreground/40"};function _l({item:e,showBadge:t,showSecondary:n,showStatus:o}){return r.jsxs(r.Fragment,{children:[t&&(e.badge?r.jsx("span",{className:"block min-w-0 truncate text-xs font-medium",title:e.badge,children:e.badge}):r.jsx("span",{})),r.jsx("span",{className:"block min-w-0 truncate",title:e.label,children:e.label}),n&&(e.secondary?r.jsx("span",{className:"block min-w-0 truncate text-xs text-muted-foreground",title:e.secondary,children:e.secondary}):r.jsx("span",{})),o&&(e.status?r.jsx("span",{className:T("size-2 rounded-full",Nl[e.status]),"aria-hidden":!0}):r.jsx("span",{}))]})}function El({items:e,maxVisible:t}){const n=t??10,{anchorTarget:o,t:s}=Bt(),[i,a]=u.useState(!1),c=e.length>n,l=i?e:e.slice(0,n),d=l.some(y=>!!y.badge),p=l.some(y=>!!y.secondary),m=l.some(y=>!!y.status),h=[d&&"auto","minmax(0,1fr)",p&&"minmax(0,2fr)",m&&"auto"].filter(Boolean).join(" "),f="grid min-w-0 grid-cols-[subgrid] col-span-full items-center gap-x-2.5 px-3 py-2 text-sm text-foreground";return r.jsxs("div",{className:"grid overflow-hidden rounded-lg border border-muted-foreground/15",style:{gridTemplateColumns:h},children:[l.map((y,w)=>{const k=y.id??`row-${w}`,x=r.jsx(_l,{item:y,showBadge:d,showSecondary:p,showStatus:m});return y.href?r.jsx("a",{href:y.href,target:o||"_top",rel:"noopener noreferrer",className:T(f,"transition-colors hover:bg-muted/50",w>0&&"border-t border-muted-foreground/10"),children:x},k):r.jsx("div",{className:T(f,w>0&&"border-t border-muted-foreground/10"),children:x},k)}),c&&r.jsx("button",{type:"button",className:"col-span-full flex w-full items-center justify-center gap-1 border-t border-muted-foreground/10 py-2 text-xs text-muted-foreground transition-colors hover:bg-muted/50",onClick:()=>a(y=>!y),children:i?r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronUp,{className:"size-3"}),s("json_see_less")]}):r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronDown,{className:"size-3"}),s("json_see_more",{count:e.length-n})]})})]})}function Qs({spec:e,active:t=!1}){const{anchorTarget:n,onUiAction:o}=C.useConfig(),{t:s}=ee(),i=u.useMemo(()=>({t:s,anchorTarget:n??"_blank",onUiAction:o}),[s,n,o]);return r.jsx(ea,{spec:e,host:i,active:t})}function Tl({spec:e,language:t,onUiAction:n,anchorTarget:o}){const s=nl({language:t,onUiAction:n,anchorTarget:o});return r.jsx(ea,{spec:e,host:s})}function ea({spec:e,host:t,active:n=!1}){return r.jsx(tl,{host:t,children:r.jsx(rl,{resetKey:e,children:r.jsx(Al,{spec:e,active:n})})})}function Al({spec:e,active:t}){const n=u.useMemo(()=>e?ol(e):null,[e]);return!n||!Ns(n)?null:r.jsx(Gc,{registry:wo,initialState:n.state,children:r.jsx(Xc,{spec:n,registry:wo,loading:t,fallback:xl})})}function ta(e){if(!e)return[];const t=e.split(`
12
12
  `),n=[];let o=[],s=[],i=[],a=!1,c=!1;function l(){if(o.length===0)return;const m=o.join(`
13
13
  `);m.trim()&&n.push({type:"markdown",content:m}),o=[]}function d(){if(s.length===0)return;let m=null;if(i.length>0)try{m=Mi(i.join(`
14
- `),{root:"",elements:{}})}catch{}m&&zl(m)?(l(),n.push({type:"ui",spec:m})):o.push(...s),i=[],s=[]}function p(){c&&(d(),c=!1)}for(let m=0;m<t.length;m+=1){const h=t[m]??"",f=h.trim(),y=m===t.length-1;if(!a&&f==="```spec"){p(),a=!0,s=[h];continue}if(a&&f==="```"){s.push(h),d(),a=!1;continue}if(a){s.push(h),f!==""&&Hn(h)&&i.push(h);continue}if(f!==""&&Hn(h)){c=!0,s.push(h),i.push(h);continue}if(c){if(f===""||y&&Ml(f)){s.push(h);continue}p()}o.push(h)}return d(),l(),n}function zl(e){return Ns(e)&&e.elements[e.root]!==void 0}const Il='{"op":';function Ml(e){return!e.startsWith("{")||e.endsWith("}")?!1:/"op"\s*:/.test(e)?!0:Il.startsWith(e.replace(/\s+/g,""))}function Rl(e){return Qc(e)}function F(e){return{"data-component":e}}const Yn=[{kind:"csv",label:"CSV",mimes:["text/csv","application/csv"],extensions:["csv"]},{kind:"excel",label:"Excel",mimes:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],extensions:["xls","xlsx"]}],Pl=Object.fromEntries(Yn.flatMap(e=>e.mimes.map(t=>[t,e.extensions.map(n=>`.${n}`)]))),Ol={"video/mp4":[".mp4"],"video/webm":[".webm"],"video/quicktime":[".mov"]};function na({type:e,name:t}){var s,i;const n=((s=t.split(".").pop())==null?void 0:s.toLowerCase())??"",o=((i=e.toLowerCase().split(";")[0])==null?void 0:i.trim())??"";return Yn.find(a=>n&&a.extensions.includes(n))??Yn.find(a=>o&&a.mimes.includes(o))??null}function gn(){const[e]=u.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(hover: hover) and (pointer: fine)").matches);return e}const yt={x:2,y:2},Ie=u.memo(u.forwardRef(({children:e,className:t,scale:n=1.02,off:o=!1},s)=>{const[i,a]=u.useState(!1),[c,l]=u.useState({x:0,y:0}),d=gn(),p=H.useReducedMotion();if(o||!d||p)return u.cloneElement(e,{ref:s??e.props.ref});if(/translate/.test(e.props.className||""))return e;const h=k=>{var P,O;const{clientX:x,clientY:S}=k,b=k.currentTarget.getBoundingClientRect(),N=x-(b.left+b.width/2),j=S-(b.top+b.height/2),g=Math.max(-1,Math.min(1,N/(b.width/2))),_=Math.max(-1,Math.min(1,j/(b.height/2))),A=g*yt.x,R=_*yt.y;l({x:A,y:R}),(O=(P=e.props).onMouseMove)==null||O.call(P,k)},f=k=>{var x,S;a(!0),(S=(x=e.props).onMouseEnter)==null||S.call(x,k)},y=k=>{var x,S;a(!1),l({x:0,y:0}),(S=(x=e.props).onMouseLeave)==null||S.call(x,k)},w={"--wobble-x":i?`${c.x}px`:"0px","--wobble-y":i?`${c.y}px`:"0px","--scale":1-(n-1)};return u.cloneElement(e,{ref:s,onMouseMove:h,onMouseEnter:f,onMouseLeave:y,style:{...w,...e.props.style},className:T("translate-x-[var(--wobble-x)]","translate-y-[var(--wobble-y)]","hover:scale-[var(--scale)] active:hover:scale-[calc(var(--scale)-0.02)]",t,e.props.className,"transition-transform duration-150 ease-[cubic-bezier(0.23,1,0.32,1)]")})}));Ie.displayName="Wobble";const St=[.23,1,.32,1],$l=`cubic-bezier(${St.join(", ")})`,Ee={duration:.2,ease:St},xe={duration:.15,ease:St},vt={type:"spring",stiffness:500,damping:45,mass:1},Ll=[.32,.72,.24,1],Dl=`cubic-bezier(${Ll.join(", ")})`,Fl="0 2px 12px 0 rgba(0,0,0,0.18), 0 1px 4px 0 rgba(0,0,0,0), 0 0 0 1px rgba(255,255,255,0.08), inset 0 1px 0 0 rgba(255,255,255,0)",Wl="0 8px 28px 0 rgba(0,0,0,0.10), 0 1px 4px 0 rgba(0,0,0,0), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",Hl="0 12px 40px 0 rgba(0,0,0,0.12), 0 2px 8px 0 rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",Bl="0 24px 48px -16px rgba(0,0,0,0.18), 0 4px 16px 0 rgba(0,0,0,0.05), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",Ul=10,ql=(e,t,n)=>({initial:{opacity:0,x:-e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,x:e,...t.exit,transition:xe},transition:Ee}),Vl=(e,t,n)=>({initial:{opacity:0,x:e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,x:-e,...t.exit,transition:xe},transition:Ee}),Yl=(e,t,n)=>({initial:{opacity:0,y:e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,y:-e,...t.exit,transition:xe},transition:Ee}),Xl=(e,t,n)=>({initial:{opacity:0,y:-e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,y:e,...t.exit,transition:xe},transition:Ee}),Gl={right:ql,left:Vl,up:Yl,down:Xl},te=u.forwardRef(({fadeIn:e="down",distance:t=Ul,children:n,snapExit:o=!1,overrides:s={},delay:i=0,...a},c)=>{const l=e?Gl[e](t,s,i):{};return o&&l.exit&&typeof l.exit=="object"&&!Array.isArray(l.exit)&&(l.exit.transition={duration:0}),r.jsx(H.motion.div,{ref:c,...a,...l,children:n})});te.displayName="MotionDiv";const Xn=ms.cva(T("inline-flex shrink-0 items-center justify-center gap-2","text-sm font-medium whitespace-nowrap","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50","active:scale-[0.97] motion-reduce:active:scale-100","rounded-xl","transition-transform duration-150 ease-[cubic-bezier(0.23,1,0.32,1)]"),{variants:{variant:{default:"bg-primary text-primary-foreground",destructive:"bg-destructive text-destructive-foreground",outline:"bg-background border",secondary:"bg-secondary text-secondary-foreground",ghost:"hover:bg-secondary",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"py-2 px-3.5 text-xs",lg:"min-h-12 px-4 rounded-[20px]",icon:"h-10 w-10",fit:"size-fit p-2",free:"p-2",selfless:"p-0"}},defaultVariants:{variant:"default",size:"default"}}),G=Ke.forwardRef(({className:e,variant:t="default",size:n,asChild:o=!1,wobble:s=!0,...i},a)=>{const c=o?vi.Slot:"button";return r.jsx(Ie,{ref:a,off:!s,children:r.jsx(c,{...F("ui_lib/btn"),"data-variant":t,className:T(Xn({variant:t,size:n,className:e})),...i})})});G.displayName="Button";const ra=u.createContext(null);function Kl({children:e}){const[t,n]=u.useState(!1),[o,s]=u.useState(null),i=c=>{s(c),n(!0)},a=u.useCallback(()=>{n(!1),setTimeout(()=>{s(null)},200)},[]);return r.jsxs(ra.Provider,{value:{open:i,close:a,isOpen:t,content:o},children:[r.jsx(Zl,{}),e]})}function xn(){const e=u.useContext(ra);return e||(Q.log.error("useDialoger must be used within a DialogerProvider"),{open:()=>{},close:()=>{},isOpen:!1,content:null})}function Zl(){const{contentIframeRef:e}=C.useWidget(),{isOpen:t,content:n,close:o}=xn();return u.useEffect(()=>{var a,c;if(!t)return;const s=l=>{l.defaultPrevented||l.key!=="Escape"||(l.preventDefault(),o())},i=(c=(a=e==null?void 0:e.current)==null?void 0:a.contentWindow)==null?void 0:c.document;return i==null||i.addEventListener("keydown",s),()=>i==null?void 0:i.removeEventListener("keydown",s)},[o,e,t]),r.jsx(H.AnimatePresence,{mode:"wait",children:t&&n&&r.jsx(te,{overrides:{initial:{y:0},exit:{y:0}},className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm",tabIndex:-1,onClick:o,children:n},"dialog-content")})}function bn({children:e,className:t,withClose:n=!1}){const{close:o}=xn(),{t:s}=ee();return r.jsxs("div",{"data-opencx-escape-scope":!0,className:T("fixed left-[50%] top-[50%] z-50 flex flex-col gap-4 w-full max-w-[61.8%] translate-x-[-50%] translate-y-[-50%] border bg-background p-4 rounded-3xl",t),onClick:i=>i.stopPropagation(),children:[e,n&&r.jsxs(G,{size:"fit",className:"rounded-full absolute top-4 right-4 opacity-50 hover:opacity-100",onClick:o,children:[r.jsx(z.X,{className:"h-4 w-4"}),r.jsx("span",{className:"sr-only",children:s("dialog_close")})]})]})}const br=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2 text-center pt-2",e),...t});br.displayName="DialogerHeader";const wr=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2 text-center",e),...t});wr.displayName="DialogerBody";const oa=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2",e),...t});oa.displayName="DialogerFooter";const yr=u.forwardRef(({className:e,...t},n)=>r.jsx("p",{ref:n,className:T("text-lg font-semibold leading-none tracking-tight",e),...t}));yr.displayName="DialogerTitle";const vr=u.forwardRef(({className:e,...t},n)=>r.jsx("p",{ref:n,className:T("text-sm text-muted-foreground",e),...t}));vr.displayName="DialogerDescription";function wn({children:e,trigger:t}){const{open:n}=xn();return u.cloneElement(t,{onClick:()=>{var s,i;n(e),(i=(s=t.props).onClick)==null||i.call(s)}})}const vo=1,ko=5,jo=.5,Jl=2.5;function Ql(e,t,n,o){if(!n||!o||t<=1)return{x:0,y:0};const s=n.getBoundingClientRect(),i=o.offsetWidth,a=o.offsetHeight,c=Math.max(0,(i*t-s.width)/(2*t)),l=Math.max(0,(a*t-s.height)/(2*t));return{x:Math.min(c,Math.max(-c,e.x)),y:Math.min(l,Math.max(-l,e.y))}}function sa({src:e,alt:t}){const{t:n}=ee(),[o,s]=u.useState(1),[i,a]=u.useState({x:0,y:0}),[c,l]=u.useState(!1),d=u.useRef({x:0,y:0}),p=u.useRef({x:0,y:0}),m=u.useRef(null),h=u.useRef(null),f=u.useRef(!1),y=g=>Math.min(ko,Math.max(vo,g)),w=u.useCallback(()=>{s(1),a({x:0,y:0})},[]),k=u.useCallback(()=>{s(g=>y(g+jo))},[]),x=u.useCallback(()=>{s(g=>{const _=y(g-jo);return _<=1&&a({x:0,y:0}),_})},[]),S=u.useCallback(g=>{g.preventDefault(),f.current=!1,l(!0),d.current={x:g.clientX,y:g.clientY},p.current={...i},g.target.setPointerCapture(g.pointerId)},[i]),b=u.useCallback(g=>{if(!c)return;const _=g.clientX-d.current.x,A=g.clientY-d.current.y;if((Math.abs(_)>3||Math.abs(A)>3)&&(f.current=!0),o<=1)return;const R={x:p.current.x+_/o,y:p.current.y+A/o};a(Ql(R,o,m.current,h.current))},[c,o]),N=u.useCallback(()=>{const g=f.current;l(!1),!g&&s(_=>_>1?(a({x:0,y:0}),1):Jl)},[]),j=o>1;return r.jsxs("div",{className:"relative size-full flex items-center justify-center select-none",onClick:g=>g.stopPropagation(),children:[r.jsx("div",{ref:m,className:T("overflow-hidden max-h-full max-w-full rounded-2xl flex items-center justify-center",j&&"size-full"),onPointerDown:S,onPointerMove:b,onPointerUp:N,onPointerCancel:N,style:{cursor:c?"grabbing":j?"grab":"zoom-in",touchAction:"none"},children:r.jsx("img",{ref:h,src:e,alt:t,className:"block max-w-full object-contain pointer-events-none",draggable:!1,style:{maxHeight:"100vh",transform:`scale(${o}) translate(${i.x}px, ${i.y}px)`,transformOrigin:"center center"}})}),r.jsxs("div",{className:"absolute bottom-3 left-1/2 -translate-x-1/2 flex items-center gap-1 bg-black/60 backdrop-blur-sm rounded-full px-1.5 py-1 transition opacity-50 hover:opacity-100",children:[r.jsx(In,{onClick:x,label:n("zoom_out"),disabled:o<=vo,children:r.jsx(z.ZoomOut,{className:"size-3.5"})}),r.jsxs("span",{className:"text-white text-xs font-medium min-w-[3ch] text-center tabular-nums",children:[Math.round(o*100),"%"]}),r.jsx(In,{onClick:k,label:n("zoom_in"),disabled:o>=ko,children:r.jsx(z.ZoomIn,{className:"size-3.5"})}),j&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"w-px h-4 bg-white/30 mx-0.5"}),r.jsx(In,{onClick:w,label:n("reset_zoom"),children:r.jsx(z.RotateCcw,{className:"size-3.5"})})]})]})]})}function In({onClick:e,label:t,children:n,disabled:o}){return r.jsx("button",{onClick:e,"aria-label":t,disabled:o,className:"text-white/80 hover:text-white disabled:text-white/30 disabled:hover:bg-transparent p-1.5 rounded-full hover:bg-white/15 transition-colors",children:n})}function Co({url:e,name:t,size:n,icon:o,label:s}){return r.jsx(Ie,{children:r.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:T("block size-fit max-w-[min(100%,16rem)] shrink-0 rounded-2xl border","bg-background/80 transition-colors hover:bg-accent/60","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"),children:r.jsxs("div",{className:"flex items-center gap-3 p-3 min-w-0",children:[r.jsx("div",{className:T("flex size-10 shrink-0 items-center justify-center rounded-xl","bg-secondary text-muted-foreground"),"aria-hidden":!0,children:o}),r.jsxs("div",{className:"min-w-0 flex-1 flex flex-col gap-0.5 text-left",children:[r.jsx("span",{className:T("text-xs font-medium text-foreground line-clamp-1","break-words [word-break:break-word]"),children:t}),r.jsxs("span",{className:"text-xs text-muted-foreground tabular-nums",children:[(n/1024).toFixed(2)," KB · ",s]})]})]})})})}function aa({attachment:e}){const{name:t,size:n,type:o,url:s}=e,i=o.startsWith("image/"),a=o.startsWith("video/"),c=o.startsWith("audio/"),l=o==="application/pdf";if(c)return r.jsx(Ie,{children:r.jsx("div",{className:"w-full shrink-0 overflow-hidden",children:r.jsxs("audio",{controls:!0,className:"w-full",children:[r.jsx("source",{src:s,type:o}),"Your browser does not support the audio tag."]})})});if(a)return r.jsx(Ie,{children:r.jsx("div",{className:"w-full border shrink-0 rounded-2xl overflow-hidden",children:r.jsxs("video",{controls:!0,children:[r.jsx("source",{src:s,type:o}),"Your browser does not support the video tag."]})})});if(i)return r.jsx(wn,{trigger:r.jsx("div",{children:r.jsx(Ie,{children:r.jsx("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:r.jsx("img",{src:s,className:"object-cover size-16",alt:t})})})}),children:r.jsx(bn,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:r.jsx(sa,{src:s,alt:t})})});if(l)return r.jsx(Co,{url:s,name:t,size:n,icon:r.jsx(z.FileText,{className:"size-5",strokeWidth:1.75}),label:"PDF"});const d=na({type:o,name:t});return d?r.jsx(Co,{url:s,name:t,size:n,icon:r.jsx(z.FileSpreadsheet,{className:"size-5",strokeWidth:1.75}),label:d.label}):r.jsx(Ie,{children:r.jsx("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:r.jsxs("div",{className:"flex items-end gap-2 p-2",children:[r.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:T("text-xs text-blue-500 line-clamp-2 underline hover:text-blue-600","break-words [word-break:break-word]"),children:t}),r.jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:[(n/1024).toFixed(2)," KB"]})]})})})}function ed({replyTo:e}){const t=C.useBot(),{humanAgent:n}=C.useConfig(),{sender:o}=e,s=o.kind==="user"?"You":o.kind==="ai"?t.name:o.kind==="agent"?(n==null?void 0:n.name)||o.name||"Team":o.name;return r.jsxs("button",{...F("chat/agent_msg/reply_to"),type:"button",onClick:i=>{const a=i.currentTarget.ownerDocument.querySelector(`[data-message-id="${CSS.escape(e.id)}"]`);a==null||a.scrollIntoView({behavior:"smooth",block:"center"}),a==null||a.animate([{opacity:.35},{opacity:1}],{duration:900,easing:"ease-out"})},className:T("not-prose mb-2 block w-full min-w-0 text-start","rounded-xl border-s-2 border-primary/50 bg-primary/[0.07] ps-2.5 pe-2 py-1.5","text-xs leading-snug text-muted-foreground","transition-colors hover:bg-primary/10 hover:text-foreground"),children:[s&&r.jsx("span",{className:"block font-medium text-foreground/80",children:s}),r.jsx("span",{className:"line-clamp-2 break-words",children:e.text})]})}const ia=u.memo(ki,(e,t)=>e.children===t.children&&e.className===t.className);var cs,ls,ds;const td={...Ce.defaultSchema,attributes:{...Ce.defaultSchema.attributes,"*":[...((cs=Ce.defaultSchema.attributes)==null?void 0:cs["*"])??[],"style"],code:[...((ls=Ce.defaultSchema.attributes)==null?void 0:ls.code)??[],"className"],pre:[...((ds=Ce.defaultSchema.attributes)==null?void 0:ds.pre)??[],"className"]}},nd=/^(color|background-color|font-(family|size|style|weight)|text-(align|decoration|transform)|line-height|letter-spacing|white-space|display|width|height|max-width|min-width|margin(-top|-right|-bottom|-left)?|padding(-top|-right|-bottom|-left)?|border(-width|-style|-color|-radius)?)$/i,rd=/^[\w\s#.,%()'"+-]+$/,od=/\b(url|expression|var|attr)\s*\(/i;function sd(){return function e(t){var o,s;const n=(o=t.properties)==null?void 0:o.style;typeof n=="string"&&t.properties&&(t.properties.style=n.split(";").filter(i=>{const a=i.indexOf(":");if(a<0)return!1;const c=i.slice(0,a).trim(),l=i.slice(a+1).trim();return nd.test(c)&&rd.test(l)&&!od.test(l)}).join(";")),(s=t.children)==null||s.forEach(e)}}function ca(e){return e.replace(/<citations>[\s\S]*?<\/citations>/g,"").replace(/<citations[\s\S]*$/,"").replace(/<(?:ref|cite)\s[^>]*?\/?>/g,"").replace(/<r(?:e(?:f[^>]*)?)?$/,"").replace(/<c(?:i(?:t(?:a(?:t(?:i(?:o(?:n(?:s)?)?)?)?)?)?(?:e[^>]*)?)?)?$/,"").trimEnd()}var us,ps;const ad={...Ce.defaultSchema,attributes:{...Ce.defaultSchema.attributes,code:[...((us=Ce.defaultSchema.attributes)==null?void 0:us.code)??[],"className"],pre:[...((ps=Ce.defaultSchema.attributes)==null?void 0:ps.pre)??[],"className"]}};function kr(e){return r.jsx(la,{...e})}function id(e){return r.jsx(la,{...e,configuredStyles:!0})}function la({children:e,messageType:t,messageId:n,configuredStyles:o=!1}){const{anchorTarget:s}=C.useConfig();return r.jsx(ia,{"data-type":t,"data-id":n,remarkPlugins:[hs],rehypePlugins:o?[Fn,sd,[Ce,td]]:[Fn,[Ce,ad]],components:{a:({children:i,...a})=>r.jsx("a",{target:a.target||s||"_top",...a,children:i}),img:({src:i,alt:a,...c})=>i?r.jsx(wn,{trigger:r.jsx("img",{src:i,alt:a,...c,className:"cursor-pointer rounded-xl"}),children:r.jsx(bn,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:r.jsx(sa,{src:i,alt:a})})}):r.jsx("img",{src:i,alt:a,...c})},children:ca(e)})}function De(){const{widgetCtx:{org:e}}=C.useWidget(),{sessionState:{session:t}}=C.useSessions(),n=C.useConfig(),{messagesState:{messages:o}}=C.useMessages(),{routerState:{screen:s}}=C.useWidgetRouter();return{react:u,org:e,session:t,config:n,messages:o,currentScreen:s}}function cd({currentMessage:e}){var o;const t=De(),n=(o=t.config.customComponents)==null?void 0:o["message::after"];return n?r.jsx(n,{...t,currentMessage:e}):null}const ld=["[--tw-prose-body:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-headings:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-lead:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-bold:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-links:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-code:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-counters:hsl(var(--opencx-muted-foreground))]","[--tw-prose-bullets:hsl(var(--opencx-muted-foreground))]","[--tw-prose-quotes:hsl(var(--opencx-muted-foreground))]","[--tw-prose-quote-borders:hsl(var(--opencx-border))]","[--tw-prose-hr:hsl(var(--opencx-border))]","[--tw-prose-th-borders:hsl(var(--opencx-border))]","[--tw-prose-td-borders:hsl(var(--opencx-border))]","[--tw-prose-pre-bg:hsl(var(--opencx-muted))]","[--tw-prose-pre-code:hsl(var(--opencx-foreground))]"].join(" ");function Gn(e){const{data:t,id:n,type:o,attachments:s,isFirstInGroup:i,isLastInGroup:a,isAloneInGroup:c,dataComponentNames:l,classNames:d}=e,p=o==="AI"||o==="AGENT"?t.message:"",m=u.useMemo(()=>o==="AI"?ta(p):null,[o,p]);if(o!=="AI"&&o!=="AGENT")return null;const{variant:h="default"}=t,f=e.replyTo?r.jsx(ed,{replyTo:e.replyTo}):null,y=(S,b,N=!0,j=!0)=>r.jsxs("div",{className:"flex flex-row gap-2",children:[r.jsxs("div",{...F((l==null?void 0:l.message)??"chat/agent_msg/msg"),"data-first":i,"data-last":a,"data-alone":c,"data-variant":h,className:T("transition-all","w-fit py-3 px-4 rounded-3xl bg-secondary text-secondary-foreground","leading-snug text-sm prose prose-sm prose-a:decoration-primary prose-a:underline",ld,"break-words [word-break:break-word]",h==="error"&&"bg-destructive/15 text-destructive",i&&!c&&"rounded-bl-md",a&&!c&&"rounded-tl-md",!i&&!a&&!c&&"rounded-l-md",d==null?void 0:d.message),children:[j&&f,r.jsx(kr,{messageType:o,messageId:n,children:S})]}),N&&r.jsx(cd,{currentMessage:e})]},b),w=(m==null?void 0:m.some(S=>S.type==="ui"))??!1,k=(m==null?void 0:m.reduce((S,b,N)=>b.type==="markdown"?N:S,-1))??-1,x=(m==null?void 0:m.findIndex(S=>S.type==="markdown"))??-1;return r.jsxs("div",{...F((l==null?void 0:l.messageContainer)??"chat/agent_msg/root"),"data-message-id":n,className:T("w-5/6 flex flex-col items-start gap-1",d==null?void 0:d.messageContainer),children:[s&&s.length>0&&r.jsx("div",{className:"w-full gap-1 flex flex-row flex-wrap items-center justify-start",children:s==null?void 0:s.map(S=>r.jsx(aa,{attachment:S},S.id))}),w&&m?m.map((S,b)=>S.type==="markdown"?y(S.content,`md-${b}`,b===k,b===x):r.jsx("div",{className:"w-full",children:r.jsx(Qs,{spec:S.spec})},`ui-${b}`)):p.length>0&&y(p)]})}function dd(e){return r.jsx("div",{className:"w-full max-w-full overflow-auto shrink-0",children:r.jsx("pre",{className:"text-xs leading-tight whitespace-pre-wrap break-word",children:JSON.stringify(e,null,1)})})}const jr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Root,{ref:n,className:T("relative flex size-6 aspect-square shrink-0 overflow-hidden rounded-full bg-secondary",e),...t}));jr.displayName=Ct.Root.displayName;const Cr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Image,{ref:n,className:T("aspect-square h-full w-full",e),...t}));Cr.displayName=Ct.Image.displayName;const Sr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Fallback,{ref:n,className:T("flex size-full text-xs items-center justify-center rounded-lg",e),...t}));Sr.displayName=Ct.Fallback.displayName;function Kn({agent:e,...t}){var n,o;return r.jsxs(jr,{...t,children:[r.jsx(Cr,{src:(e==null?void 0:e.avatarUrl)||(e==null?void 0:e.avatar)||"",alt:"Agent Icon"}),(e==null?void 0:e.name)&&r.jsx(Sr,{children:(o=(n=e==null?void 0:e.name)==null?void 0:n.slice(0,1))==null?void 0:o.toUpperCase()})]})}function ud({agent:e}){return r.jsx(H.AnimatePresence,{children:r.jsxs(te,{...F("chat/bot_loading/root"),className:"flex flex-row items-end w-full gap-2 animate-pulse",children:[r.jsx(Kn,{agent:e}),r.jsxs("div",{...F("chat/bot_loading/bouncing_dots_container"),className:T("flex items-center [&_span]:bg-secondary-foreground [&_span]:size-1 gap-1 p-2 rounded-xl bg-secondary"),children:[r.jsx(H.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.3s]"}),r.jsx(H.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.15s]"}),r.jsx(H.motion.span,{className:"rounded-full animate-bounce"})]})]})})}const pd='*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}*{border-color:hsl(var(--opencx-border))}.\\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.opencx-text-shimmer{animation:opencx-text-shimmer 2.5s ease-in-out infinite}.opencx-fade-up{animation:opencx-fade-up .3s cubic-bezier(.23,1,.32,1) both}.opencx-placeholder-in{animation:opencx-placeholder-in .2s cubic-bezier(.23,1,.32,1) both}.opencx-placeholder-out{animation:opencx-placeholder-out .18s cubic-bezier(.23,1,.32,1) both}@keyframes opencx-text-shimmer{0%,to{opacity:.45}50%{opacity:1}}@keyframes opencx-fade-up{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}to{opacity:1;filter:blur(0px);transform:translateY(0)}}@keyframes opencx-placeholder-in{0%{opacity:0;transform:translateY(4px);filter:blur(1px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes opencx-placeholder-out{0%{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:0;transform:translateY(-8px);filter:blur(1px)}}.opencx-input-recall{animation:opencx-input-recall .15s cubic-bezier(.23,1,.32,1)}@keyframes opencx-input-recall{0%{opacity:.25;translate:0 -3px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.opencx-text-shimmer,.opencx-fade-up,.opencx-placeholder-in,.opencx-placeholder-out,.opencx-input-recall{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-0\\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.end-1{inset-inline-end:.25rem}.end-6{inset-inline-end:1.5rem}.left-1\\/2,.left-\\[50\\%\\]{left:50%}.right-4{right:1rem}.start-2{inset-inline-start:.5rem}.top-1{top:.25rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-\\[50\\%\\]{top:50%}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1 / -1}.m-2{margin:.5rem}.-mx-0\\.5{margin-left:-.125rem;margin-right:-.125rem}.mx-0\\.5{margin-left:.125rem;margin-right:.125rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mt-0\\.5{margin-top:-.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-auto{margin-left:auto}.ms-1\\.5{margin-inline-start:.375rem}.ms-\\[30px\\]{margin-inline-start:30px}.ms-auto{margin-inline-start:auto}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-0{width:0px;height:0px}.size-1\\.5{width:.375rem;height:.375rem}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-16{width:4rem;height:4rem}.size-2{width:.5rem;height:.5rem}.size-2\\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-\\[18px\\]{width:18px;height:18px}.size-fit{width:fit-content;height:fit-content}.size-full{width:100%;height:100%}.h-0{height:0px}.h-1{height:.25rem}.h-10{height:2.5rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-16{max-height:4rem}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\\[160px\\]{max-height:160px}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[50vh\\]{max-height:50vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-12{min-height:3rem}.w-0{width:0px}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2\\/5{width:40%}.w-3\\/5{width:60%}.w-4{width:1rem}.w-5\\/6{width:83.333333%}.w-7{width:1.75rem}.w-\\[32px\\]{width:32px}.w-\\[3px\\]{width:3px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.w-svw{width:100svw}.min-w-0{min-width:0px}.min-w-80{min-width:20rem}.min-w-\\[140px\\]{min-width:140px}.min-w-\\[3ch\\]{min-width:3ch}.max-w-40{max-width:10rem}.max-w-48{max-width:12rem}.max-w-96{max-width:24rem}.max-w-\\[61\\.8\\%\\]{max-width:61.8%}.max-w-\\[min\\(100\\%\\,16rem\\)\\]{max-width:min(100%,16rem)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\\[var\\(--radix-popover-content-transform-origin\\)\\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\\[var\\(--radix-tooltip-content-transform-origin\\)\\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.-translate-x-1\\/2,.translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[var\\(--wobble-x\\)\\]{--tw-translate-x: var(--wobble-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[var\\(--wobble-y\\)\\]{--tw-translate-y: var(--wobble-y);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-y-50{--tw-scale-y: .5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\\[subgrid\\]{grid-template-columns:subgrid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\\[1px\\]{gap:1px}.gap-\\[3px\\]{gap:3px}.gap-x-2\\.5{column-gap:.625rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-foreground\\/10>:not([hidden])~:not([hidden]){border-color:hsl(var(--opencx-foreground) / .1)}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[20px\\]{border-radius:20px}.rounded-\\[calc\\(var\\(--opencx-inset-radius\\)\\+var\\(--cx-p\\)\\)\\]{border-radius:calc(var(--opencx-inset-radius) + var(--cx-p))}.rounded-\\[calc\\(var\\(--pk-r\\)-var\\(--pk-p\\)\\)\\]{border-radius:calc(var(--pk-r) - var(--pk-p))}.rounded-\\[var\\(--opencx-inset-radius\\)\\]{border-radius:var(--opencx-inset-radius)}.rounded-\\[var\\(--pk-r\\)\\]{border-radius:var(--pk-r)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.border{border-width:1px}.border-\\[1\\.5px\\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-s{border-inline-start-width:1px}.border-s-2{border-inline-start-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-border{border-color:hsl(var(--opencx-border))}.border-destructive\\/30{border-color:hsl(var(--opencx-destructive) / .3)}.border-foreground\\/10{border-color:hsl(var(--opencx-foreground) / .1)}.border-foreground\\/15{border-color:hsl(var(--opencx-foreground) / .15)}.border-muted-foreground\\/10{border-color:hsl(var(--opencx-muted-foreground) / .1)}.border-muted-foreground\\/15{border-color:hsl(var(--opencx-muted-foreground) / .15)}.border-muted-foreground\\/20{border-color:hsl(var(--opencx-muted-foreground) / .2)}.border-muted-foreground\\/30{border-color:hsl(var(--opencx-muted-foreground) / .3)}.border-primary{border-color:hsl(var(--opencx-primary))}.border-primary\\/10{border-color:hsl(var(--opencx-primary) / .1)}.border-primary\\/50{border-color:hsl(var(--opencx-primary) / .5)}.border-l-amber-500{--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-emerald-500{--tw-border-opacity: 1;border-left-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-l-red-500{--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-t-current{border-top-color:currentColor}.bg-\\[white\\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\\/15{background-color:#f59e0b26}.bg-amber-500\\/5{background-color:#f59e0b0d}.bg-background{background-color:hsl(var(--opencx-background))}.bg-background\\/80{background-color:hsl(var(--opencx-background) / .8)}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\\/5{background-color:#3b82f60d}.bg-current{background-color:currentColor}.bg-destructive{background-color:hsl(var(--opencx-destructive))}.bg-destructive\\/10{background-color:hsl(var(--opencx-destructive) / .1)}.bg-destructive\\/15{background-color:hsl(var(--opencx-destructive) / .15)}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/15{background-color:#10b98126}.bg-emerald-500\\/5{background-color:#10b9810d}.bg-foreground\\/5{background-color:hsl(var(--opencx-foreground) / .05)}.bg-foreground\\/50{background-color:hsl(var(--opencx-foreground) / .5)}.bg-foreground\\/60{background-color:hsl(var(--opencx-foreground) / .6)}.bg-muted{background-color:hsl(var(--opencx-muted))}.bg-muted-foreground{background-color:hsl(var(--opencx-muted-foreground))}.bg-muted-foreground\\/10{background-color:hsl(var(--opencx-muted-foreground) / .1)}.bg-muted-foreground\\/30{background-color:hsl(var(--opencx-muted-foreground) / .3)}.bg-muted-foreground\\/40{background-color:hsl(var(--opencx-muted-foreground) / .4)}.bg-muted\\/30{background-color:hsl(var(--opencx-muted) / .3)}.bg-muted\\/40{background-color:hsl(var(--opencx-muted) / .4)}.bg-primary{background-color:hsl(var(--opencx-primary))}.bg-primary-foreground\\/20{background-color:hsl(var(--opencx-primary-foreground) / .2)}.bg-primary\\/10{background-color:hsl(var(--opencx-primary) / .1)}.bg-primary\\/25{background-color:hsl(var(--opencx-primary) / .25)}.bg-primary\\/\\[0\\.07\\]{background-color:hsl(var(--opencx-primary) / .07)}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\\/5{background-color:#ef44440d}.bg-secondary{background-color:hsl(var(--opencx-secondary))}.bg-secondary-foreground\\/10{background-color:hsl(var(--opencx-secondary-foreground) / .1)}.bg-secondary-foreground\\/20{background-color:hsl(var(--opencx-secondary-foreground) / .2)}.bg-transparent{background-color:transparent}.bg-white\\/30{background-color:#ffffff4d}.bg-\\[radial-gradient\\(ellipse_at_top_left\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\,radial-gradient\\(ellipse_at_top_right\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\]{background-image:radial-gradient(ellipse at top left,hsl(var(--opencx-primary)),transparent),radial-gradient(ellipse at top right,hsl(var(--opencx-primary)),transparent)}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-foreground\\/70{--tw-gradient-from: hsl(var(--opencx-foreground) / .7) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--opencx-foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-foreground\\/0{--tw-gradient-to: hsl(var(--opencx-foreground) / 0) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-foreground{fill:hsl(var(--opencx-foreground))}.stroke-current{stroke:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left-top{object-position:left top}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\\[var\\(--cx-p\\)\\]{padding:var(--cx-p)}.p-\\[var\\(--pk-p\\)\\]{padding:var(--pk-p)}.px-0\\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.pb-0{padding-bottom:0}.pb-0\\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-2\\.5{padding-inline-end:.625rem}.pe-4{padding-inline-end:1rem}.pl-6{padding-left:1.5rem}.pr-16{padding-right:4rem}.ps-1{padding-inline-start:.25rem}.ps-1\\.5{padding-inline-start:.375rem}.ps-2{padding-inline-start:.5rem}.ps-2\\.5{padding-inline-start:.625rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-8{padding-inline-start:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\\[0\\.8125rem\\]{font-size:.8125rem}.text-\\[1\\.75rem\\]{font-size:1.75rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.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)}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-background{color:hsl(var(--opencx-background))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--opencx-destructive))}.text-destructive-foreground{color:hsl(var(--opencx-destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--opencx-foreground))}.text-foreground\\/50{color:hsl(var(--opencx-foreground) / .5)}.text-foreground\\/60{color:hsl(var(--opencx-foreground) / .6)}.text-foreground\\/80{color:hsl(var(--opencx-foreground) / .8)}.text-foreground\\/90{color:hsl(var(--opencx-foreground) / .9)}.text-muted-foreground{color:hsl(var(--opencx-muted-foreground))}.text-muted-foreground\\/40{color:hsl(var(--opencx-muted-foreground) / .4)}.text-muted-foreground\\/50{color:hsl(var(--opencx-muted-foreground) / .5)}.text-muted-foreground\\/60{color:hsl(var(--opencx-muted-foreground) / .6)}.text-muted-foreground\\/70{color:hsl(var(--opencx-muted-foreground) / .7)}.text-muted-foreground\\/75{color:hsl(var(--opencx-muted-foreground) / .75)}.text-primary{color:hsl(var(--opencx-primary))}.text-primary-foreground{color:hsl(var(--opencx-primary-foreground))}.text-primary-foreground\\/60{color:hsl(var(--opencx-primary-foreground) / .6)}.text-primary\\/10{color:hsl(var(--opencx-primary) / .1)}.text-primary\\/40{color:hsl(var(--opencx-primary) / .4)}.text-primary\\/50{color:hsl(var(--opencx-primary) / .5)}.text-primary\\/60{color:hsl(var(--opencx-primary) / .6)}.text-primary\\/70{color:hsl(var(--opencx-primary) / .7)}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--opencx-secondary-foreground))}.text-secondary-foreground\\/60{color:hsl(var(--opencx-secondary-foreground) / .6)}.text-secondary-foreground\\/70{color:hsl(var(--opencx-secondary-foreground) / .7)}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\\/80{color:#fffc}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-foreground{caret-color:hsl(var(--opencx-foreground))}.accent-current{accent-color:currentColor}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-8{outline-width:8px}.outline-background{outline-color:hsl(var(--opencx-background))}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-border{--tw-ring-color: hsl(var(--opencx-border))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--opencx-background))}.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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .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)}.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-sm{--tw-backdrop-blur: blur(4px);-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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[background-color\\,color\\,transform\\]{transition-property:background-color,color,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[height\\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-opencx{transition-timing-function:cubic-bezier(.23,1,.32,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in{--tw-enter-scale: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-opencx{animation-timing-function:cubic-bezier(.23,1,.32,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.\\[--tw-prose-body\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-body: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-body\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-body: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-bullets\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-bullets: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-code\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-code: hsl(var(--opencx-foreground))}.\\[--tw-prose-code\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-code: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-counters\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-counters: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-headings\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-headings: hsl(var(--opencx-foreground))}.\\[--tw-prose-headings\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-headings: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-hr\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-hr: hsl(var(--opencx-border))}.\\[--tw-prose-lead\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-lead: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-primary\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-primary))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-pre-bg\\:hsl\\(var\\(--opencx-muted\\)\\)\\]{--tw-prose-pre-bg: hsl(var(--opencx-muted))}.\\[--tw-prose-pre-code\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-pre-code: hsl(var(--opencx-foreground))}.\\[--tw-prose-quote-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-quote-borders: hsl(var(--opencx-border))}.\\[--tw-prose-quotes\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-quotes: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-td-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-td-borders: hsl(var(--opencx-border))}.\\[--tw-prose-th-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-th-borders: hsl(var(--opencx-border))}.\\[animation-delay\\:-0\\.15s\\]{animation-delay:-.15s}.\\[animation-delay\\:-0\\.3s\\]{animation-delay:-.3s}.\\[field-sizing\\:content\\;\\],.\\[field-sizing\\:content\\]{field-sizing:content}.\\[overflow-wrap\\:anywhere\\]{overflow-wrap:anywhere}.\\[word-break\\:break-word\\]{word-break:break-word}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-transparent::file-selector-button{background-color:transparent}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-medium::file-selector-button{font-weight:500}.file\\:text-primary-foreground::file-selector-button{color:hsl(var(--opencx-primary-foreground))}.placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--opencx-muted-foreground))}.placeholder\\:text-muted-foreground\\/75::placeholder{color:hsl(var(--opencx-muted-foreground) / .75)}.last\\:border-0:last-child{border-width:0px}.focus-within\\:opacity-100:focus-within{opacity:1}.hover\\:scale-\\[var\\(--scale\\)\\]:hover{--tw-scale-x: var(--scale);--tw-scale-y: var(--scale);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-accent\\/60:hover{background-color:hsl(var(--opencx-accent) / .6)}.hover\\:bg-foreground:hover{background-color:hsl(var(--opencx-foreground))}.hover\\:bg-muted:hover{background-color:hsl(var(--opencx-muted))}.hover\\:bg-muted\\/50:hover{background-color:hsl(var(--opencx-muted) / .5)}.hover\\:bg-muted\\/60:hover{background-color:hsl(var(--opencx-muted) / .6)}.hover\\:bg-primary\\/10:hover{background-color:hsl(var(--opencx-primary) / .1)}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--opencx-primary) / .9)}.hover\\:bg-primary\\/\\[0\\.02\\]:hover{background-color:hsl(var(--opencx-primary) / .02)}.hover\\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\\:bg-secondary:hover{background-color:hsl(var(--opencx-secondary))}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--opencx-secondary) / .8)}.hover\\:bg-white\\/15:hover{background-color:#ffffff26}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\\:text-foreground:hover{color:hsl(var(--opencx-foreground))}.hover\\:text-muted-foreground:hover{color:hsl(var(--opencx-muted-foreground))}.hover\\:text-primary:hover{color:hsl(var(--opencx-primary))}.hover\\:text-primary-foreground:hover{color:hsl(var(--opencx-primary-foreground))}.hover\\:text-secondary-foreground:hover{color:hsl(var(--opencx-secondary-foreground))}.hover\\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-80:hover{opacity:.8}.focus-visible\\:opacity-100:focus-visible{opacity:1}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline:focus-visible{outline-style:solid}.focus-visible\\:outline-2:focus-visible{outline-width:2px}.focus-visible\\:outline-ring:focus-visible{outline-color:hsl(var(--opencx-ring))}.focus-visible\\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color: hsl(var(--opencx-primary) / .4)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--opencx-ring))}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:scale-\\[0\\.97\\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:hover\\:scale-\\[calc\\(var\\(--scale\\)-0\\.02\\)\\]:hover:active{--tw-scale-x: calc(var(--scale) - .02);--tw-scale-y: calc(var(--scale) - .02);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:text-white\\/30:disabled{color:#ffffff4d}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\\:opacity-100{opacity:1}.aria-expanded\\:bg-muted[aria-expanded=true]{background-color:hsl(var(--opencx-muted))}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.prose-headings\\:my-1\\.5 :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.375rem;margin-bottom:.375rem}.prose-headings\\:text-\\[13px\\] :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:13px}.prose-p\\:my-1 :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-a\\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:underline}.prose-a\\:decoration-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-color:hsl(var(--opencx-primary))}.prose-pre\\:my-1\\.5 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.375rem;margin-bottom:.375rem}.prose-pre\\:p-2 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){padding:.5rem}.prose-pre\\:text-\\[11px\\] :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:11px}.prose-ol\\:my-1 :is(:where(ol):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-ul\\:my-1 :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-li\\:my-0\\.5 :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.125rem;margin-bottom:.125rem}.prose-hr\\:my-2 :is(:where(hr):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.5rem;margin-bottom:.5rem}@media(prefers-reduced-motion:reduce){.motion-reduce\\:animate-none{animation:none}.motion-reduce\\:active\\:scale-100:active{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media(min-width:640px){.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}.rtl\\:-scale-100:where([dir=rtl],[dir=rtl] *){--tw-scale-x: -1;--tw-scale-y: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media(prefers-color-scheme:dark){.dark\\:text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\\:text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}}.\\[\\&\\>\\*\\:first-child\\]\\:mt-0>*:first-child{margin-top:0}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>*:last-child{margin-bottom:0}.\\[\\&_\\.animate-spin\\]\\:animate-none .animate-spin{animation:none}.\\[\\&_span\\]\\:size-1 span{width:.25rem;height:.25rem}.\\[\\&_span\\]\\:bg-secondary-foreground span{background-color:hsl(var(--opencx-secondary-foreground))}.\\[\\&_svg\\]\\:text-muted-foreground\\/70 svg{color:hsl(var(--opencx-muted-foreground) / .7)}.\\[\\&_svg\\]\\:hover\\:text-primary:hover svg{color:hsl(var(--opencx-primary))}@media(hover:none){.\\[\\@media\\(hover\\:none\\)\\]\\:opacity-100{opacity:1}}@media(pointer:coarse){.\\[\\@media\\(pointer\\:coarse\\)\\]\\:min-h-12{min-height:3rem}}',md="5.0.0";function hd(e,t){const n=typeof(e==null?void 0:e.right)=="number",o=typeof(e==null?void 0:e.left)=="number";return n&&!o?"right":o&&!n||t==="rtl"?"left":"right"}const So=450;function Ae(){const[e,t]=u.useState(()=>(window.top||window).innerWidth<So);return u.useEffect(()=>{const n=window.top||window,o=()=>{t(n.innerWidth<So)};return o(),n.addEventListener("resize",o),()=>{n.removeEventListener("resize",o)}},[]),{isSmallScreen:e}}const Jt={transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)",transitionDuration:"1000ms"};function fe(){var h,f,y,w,k,x,S,b,N,j,g,_,A,R,P,O,I,B,E,M,W,$,q,V,U,D,Z,ne,L,X,K,re,oe,pe,se,be,ze,ae,Ze,ct,Re,Pe,Fe,We,He,Oe,we,lt;const{dir:e}=C.useDocumentDir(),{isSmallScreen:t}=Ae(),{theme:n,inline:o}=C.useConfig(),s=ge=>o?"100%":ge,i=(ge,le)=>t?`100dv${ge}`:le,a=(ge,le)=>s(i(ge,le)),c=hd((h=n==null?void 0:n.widgetTrigger)==null?void 0:h.offset,e),l={zIndex:((f=n==null?void 0:n.widgetTrigger)==null?void 0:f.zIndex)??1e7,offset:{bottom:((w=(y=n==null?void 0:n.widgetTrigger)==null?void 0:y.offset)==null?void 0:w.bottom)??20,right:((x=(k=n==null?void 0:n.widgetTrigger)==null?void 0:k.offset)==null?void 0:x.right)??(c==="right"?20:"initial"),left:((b=(S=n==null?void 0:n.widgetTrigger)==null?void 0:S.offset)==null?void 0:b.left)??(c==="left"?20:"initial")},size:{button:((j=(N=n==null?void 0:n.widgetTrigger)==null?void 0:N.size)==null?void 0:j.button)??48,icon:((_=(g=n==null?void 0:n.widgetTrigger)==null?void 0:g.size)==null?void 0:_.icon)??24}},d=(()=>{const ge=c==="right"?l.offset.right:l.offset.left;return typeof ge!="number"?0:ge})(),p={palette:(n==null?void 0:n.palette)??"neutral",primaryColor:(n==null?void 0:n.primaryColor)??"hsl(0 0% 9%)",widgetTrigger:l,widgetContentContainer:{borderRadius:t?"0px":((A=n==null?void 0:n.widgetContentContainer)==null?void 0:A.borderRadius)??"32px",zIndex:((R=n==null?void 0:n.widgetContentContainer)==null?void 0:R.zIndex)??l.zIndex+1,outline:((P=n==null?void 0:n.widgetContentContainer)==null?void 0:P.outline)??"none",outlineColor:((O=n==null?void 0:n.widgetContentContainer)==null?void 0:O.outlineColor)??"hsl(0 0% 50% / .5)",boxShadow:((I=n==null?void 0:n.widgetContentContainer)==null?void 0:I.boxShadow)??"0 0px 100px 0px rgb(0 0 0 / 0.25)",transitionProperty:((B=n==null?void 0:n.widgetContentContainer)==null?void 0:B.transitionProperty)??"all",transitionTimingFunction:((E=n==null?void 0:n.widgetContentContainer)==null?void 0:E.transitionTimingFunction)??Jt.transitionTimingFunction,transitionDuration:((M=n==null?void 0:n.widgetContentContainer)==null?void 0:M.transitionDuration)??Jt.transitionDuration,offset:{side:t?0:l.offset.bottom+l.size.button+yt.y*2+((($=(W=n==null?void 0:n.widgetContentContainer)==null?void 0:W.offset)==null?void 0:$.side)??10),align:t?0:d+(((V=(q=n==null?void 0:n.widgetContentContainer)==null?void 0:q.offset)==null?void 0:V.align)??0)}},screens:{welcome:{width:a("w",((D=(U=n==null?void 0:n.screens)==null?void 0:U.welcome)==null?void 0:D.width)??"400px"),minHeight:a("h",((ne=(Z=n==null?void 0:n.screens)==null?void 0:Z.welcome)==null?void 0:ne.minHeight)??"1px")},sessions:{width:a("w",((X=(L=n==null?void 0:n.screens)==null?void 0:L.sessions)==null?void 0:X.width)??"450px"),height:a("h",((re=(K=n==null?void 0:n.screens)==null?void 0:K.sessions)==null?void 0:re.height)??"600px")},chat:{width:a("w",((pe=(oe=n==null?void 0:n.screens)==null?void 0:oe.chat)==null?void 0:pe.width)??"525px"),height:a("h",((be=(se=n==null?void 0:n.screens)==null?void 0:se.chat)==null?void 0:be.height)??"700px"),withCanvas:{width:a("w",((Ze=(ae=(ze=n==null?void 0:n.screens)==null?void 0:ze.chat)==null?void 0:ae.withCanvas)==null?void 0:Ze.width)??"min(1050px, 100vw)"),height:a("h",((Pe=(Re=(ct=n==null?void 0:n.screens)==null?void 0:ct.chat)==null?void 0:Re.withCanvas)==null?void 0:Pe.height)??"min(800px, 100vh)"),transitionTimingFunction:((He=(We=(Fe=n==null?void 0:n.screens)==null?void 0:Fe.chat)==null?void 0:We.withCanvas)==null?void 0:He.transitionTimingFunction)??Jt.transitionTimingFunction,transitionDuration:((lt=(we=(Oe=n==null?void 0:n.screens)==null?void 0:Oe.chat)==null?void 0:we.withCanvas)==null?void 0:lt.transitionDuration)??Jt.transitionDuration}}}},m={maxHeight:a("h",`calc(
14
+ `),{root:"",elements:{}})}catch{}m&&zl(m)?(l(),n.push({type:"ui",spec:m})):o.push(...s),i=[],s=[]}function p(){c&&(d(),c=!1)}for(let m=0;m<t.length;m+=1){const h=t[m]??"",f=h.trim(),y=m===t.length-1;if(!a&&f==="```spec"){p(),a=!0,s=[h];continue}if(a&&f==="```"){s.push(h),d(),a=!1;continue}if(a){s.push(h),f!==""&&Hn(h)&&i.push(h);continue}if(f!==""&&Hn(h)){c=!0,s.push(h),i.push(h);continue}if(c){if(f===""||y&&Ml(f)){s.push(h);continue}p()}o.push(h)}return d(),l(),n}function zl(e){return Ns(e)&&e.elements[e.root]!==void 0}const Il='{"op":';function Ml(e){return!e.startsWith("{")||e.endsWith("}")?!1:/"op"\s*:/.test(e)?!0:Il.startsWith(e.replace(/\s+/g,""))}function Rl(e){return Qc(e)}function F(e){return{"data-component":e}}const Yn=[{kind:"csv",label:"CSV",mimes:["text/csv","application/csv"],extensions:["csv"]},{kind:"excel",label:"Excel",mimes:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],extensions:["xls","xlsx"]}],Pl=Object.fromEntries(Yn.flatMap(e=>e.mimes.map(t=>[t,e.extensions.map(n=>`.${n}`)]))),Ol={"video/mp4":[".mp4"],"video/webm":[".webm"],"video/quicktime":[".mov"]};function na({type:e,name:t}){var s,i;const n=((s=t.split(".").pop())==null?void 0:s.toLowerCase())??"",o=((i=e.toLowerCase().split(";")[0])==null?void 0:i.trim())??"";return Yn.find(a=>n&&a.extensions.includes(n))??Yn.find(a=>o&&a.mimes.includes(o))??null}function gn(){const[e]=u.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(hover: hover) and (pointer: fine)").matches);return e}const yt={x:2,y:2},Ie=u.memo(u.forwardRef(({children:e,className:t,scale:n=1.02,off:o=!1},s)=>{const[i,a]=u.useState(!1),[c,l]=u.useState({x:0,y:0}),d=gn(),p=H.useReducedMotion();if(o||!d||p)return u.cloneElement(e,{ref:s??e.props.ref});if(/translate/.test(e.props.className||""))return e;const h=k=>{var P,O;const{clientX:x,clientY:S}=k,b=k.currentTarget.getBoundingClientRect(),N=x-(b.left+b.width/2),j=S-(b.top+b.height/2),g=Math.max(-1,Math.min(1,N/(b.width/2))),_=Math.max(-1,Math.min(1,j/(b.height/2))),A=g*yt.x,R=_*yt.y;l({x:A,y:R}),(O=(P=e.props).onMouseMove)==null||O.call(P,k)},f=k=>{var x,S;a(!0),(S=(x=e.props).onMouseEnter)==null||S.call(x,k)},y=k=>{var x,S;a(!1),l({x:0,y:0}),(S=(x=e.props).onMouseLeave)==null||S.call(x,k)},w={"--wobble-x":i?`${c.x}px`:"0px","--wobble-y":i?`${c.y}px`:"0px","--scale":1-(n-1)};return u.cloneElement(e,{ref:s,onMouseMove:h,onMouseEnter:f,onMouseLeave:y,style:{...w,...e.props.style},className:T("translate-x-[var(--wobble-x)]","translate-y-[var(--wobble-y)]","hover:scale-[var(--scale)] active:hover:scale-[calc(var(--scale)-0.02)]",t,e.props.className,"transition-transform duration-150 ease-[cubic-bezier(0.23,1,0.32,1)]")})}));Ie.displayName="Wobble";const St=[.23,1,.32,1],$l=`cubic-bezier(${St.join(", ")})`,Ee={duration:.2,ease:St},xe={duration:.15,ease:St},vt={type:"spring",stiffness:500,damping:45,mass:1},Ll=[.32,.72,.24,1],Dl=`cubic-bezier(${Ll.join(", ")})`,Fl="0 2px 12px 0 rgba(0,0,0,0.18), 0 1px 4px 0 rgba(0,0,0,0), 0 0 0 1px rgba(255,255,255,0.08), inset 0 1px 0 0 rgba(255,255,255,0)",Wl="0 8px 28px 0 rgba(0,0,0,0.10), 0 1px 4px 0 rgba(0,0,0,0), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",Hl="0 12px 40px 0 rgba(0,0,0,0.12), 0 2px 8px 0 rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",Bl="0 24px 48px -16px rgba(0,0,0,0.18), 0 4px 16px 0 rgba(0,0,0,0.05), 0 0 0 1px rgba(0,0,0,0.05), inset 0 1px 0 0 rgba(255,255,255,0.5)",Ul=10,ql=(e,t,n)=>({initial:{opacity:0,x:-e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,x:e,...t.exit,transition:xe},transition:Ee}),Vl=(e,t,n)=>({initial:{opacity:0,x:e,...t.initial},animate:{opacity:1,x:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,x:-e,...t.exit,transition:xe},transition:Ee}),Yl=(e,t,n)=>({initial:{opacity:0,y:e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,y:-e,...t.exit,transition:xe},transition:Ee}),Xl=(e,t,n)=>({initial:{opacity:0,y:-e,...t.initial},animate:{opacity:1,y:0,...t.animate,transition:{...Ee,delay:n}},exit:{opacity:0,y:e,...t.exit,transition:xe},transition:Ee}),Gl={right:ql,left:Vl,up:Yl,down:Xl},te=u.forwardRef(({fadeIn:e="down",distance:t=Ul,children:n,snapExit:o=!1,overrides:s={},delay:i=0,...a},c)=>{const l=e?Gl[e](t,s,i):{};return o&&l.exit&&typeof l.exit=="object"&&!Array.isArray(l.exit)&&(l.exit.transition={duration:0}),r.jsx(H.motion.div,{ref:c,...a,...l,children:n})});te.displayName="MotionDiv";const Xn=ms.cva(T("inline-flex shrink-0 items-center justify-center gap-2","text-sm font-medium whitespace-nowrap","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50","active:scale-[0.97] motion-reduce:active:scale-100","rounded-xl","transition-transform duration-150 ease-[cubic-bezier(0.23,1,0.32,1)]"),{variants:{variant:{default:"bg-primary text-primary-foreground",destructive:"bg-destructive text-destructive-foreground",outline:"bg-background border",secondary:"bg-secondary text-secondary-foreground",ghost:"hover:bg-secondary",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"py-2 px-3.5 text-xs",lg:"min-h-12 px-4 rounded-[20px]",icon:"h-10 w-10",fit:"size-fit p-2",free:"p-2",selfless:"p-0"}},defaultVariants:{variant:"default",size:"default"}}),G=Ke.forwardRef(({className:e,variant:t="default",size:n,asChild:o=!1,wobble:s=!0,...i},a)=>{const c=o?vi.Slot:"button";return r.jsx(Ie,{ref:a,off:!s,children:r.jsx(c,{...F("ui_lib/btn"),"data-variant":t,className:T(Xn({variant:t,size:n,className:e})),...i})})});G.displayName="Button";const ra=u.createContext(null);function Kl({children:e}){const[t,n]=u.useState(!1),[o,s]=u.useState(null),i=c=>{s(c),n(!0)},a=u.useCallback(()=>{n(!1),setTimeout(()=>{s(null)},200)},[]);return r.jsxs(ra.Provider,{value:{open:i,close:a,isOpen:t,content:o},children:[r.jsx(Zl,{}),e]})}function xn(){const e=u.useContext(ra);return e||(Q.log.error("useDialoger must be used within a DialogerProvider"),{open:()=>{},close:()=>{},isOpen:!1,content:null})}function Zl(){const{contentIframeRef:e}=C.useWidget(),{isOpen:t,content:n,close:o}=xn();return u.useEffect(()=>{var a,c;if(!t)return;const s=l=>{l.defaultPrevented||l.key!=="Escape"||(l.preventDefault(),o())},i=(c=(a=e==null?void 0:e.current)==null?void 0:a.contentWindow)==null?void 0:c.document;return i==null||i.addEventListener("keydown",s),()=>i==null?void 0:i.removeEventListener("keydown",s)},[o,e,t]),r.jsx(H.AnimatePresence,{mode:"wait",children:t&&n&&r.jsx(te,{overrides:{initial:{y:0},exit:{y:0}},className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm",tabIndex:-1,onClick:o,children:n},"dialog-content")})}function bn({children:e,className:t,withClose:n=!1}){const{close:o}=xn(),{t:s}=ee();return r.jsxs("div",{"data-opencx-escape-scope":!0,className:T("fixed left-[50%] top-[50%] z-50 flex flex-col gap-4 w-full max-w-[61.8%] translate-x-[-50%] translate-y-[-50%] border bg-background p-4 rounded-3xl",t),onClick:i=>i.stopPropagation(),children:[e,n&&r.jsxs(G,{size:"fit",className:"rounded-full absolute top-4 right-4 opacity-50 hover:opacity-100",onClick:o,children:[r.jsx(z.X,{className:"h-4 w-4"}),r.jsx("span",{className:"sr-only",children:s("dialog_close")})]})]})}const br=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2 text-center pt-2",e),...t});br.displayName="DialogerHeader";const wr=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2 text-center",e),...t});wr.displayName="DialogerBody";const oa=({className:e,...t})=>r.jsx("div",{className:T("flex flex-col gap-2",e),...t});oa.displayName="DialogerFooter";const yr=u.forwardRef(({className:e,...t},n)=>r.jsx("p",{ref:n,className:T("text-lg font-semibold leading-none tracking-tight",e),...t}));yr.displayName="DialogerTitle";const vr=u.forwardRef(({className:e,...t},n)=>r.jsx("p",{ref:n,className:T("text-sm text-muted-foreground",e),...t}));vr.displayName="DialogerDescription";function wn({children:e,trigger:t}){const{open:n}=xn();return u.cloneElement(t,{onClick:()=>{var s,i;n(e),(i=(s=t.props).onClick)==null||i.call(s)}})}const vo=1,ko=5,jo=.5,Jl=2.5;function Ql(e,t,n,o){if(!n||!o||t<=1)return{x:0,y:0};const s=n.getBoundingClientRect(),i=o.offsetWidth,a=o.offsetHeight,c=Math.max(0,(i*t-s.width)/(2*t)),l=Math.max(0,(a*t-s.height)/(2*t));return{x:Math.min(c,Math.max(-c,e.x)),y:Math.min(l,Math.max(-l,e.y))}}function sa({src:e,alt:t}){const{t:n}=ee(),[o,s]=u.useState(1),[i,a]=u.useState({x:0,y:0}),[c,l]=u.useState(!1),d=u.useRef({x:0,y:0}),p=u.useRef({x:0,y:0}),m=u.useRef(null),h=u.useRef(null),f=u.useRef(!1),y=g=>Math.min(ko,Math.max(vo,g)),w=u.useCallback(()=>{s(1),a({x:0,y:0})},[]),k=u.useCallback(()=>{s(g=>y(g+jo))},[]),x=u.useCallback(()=>{s(g=>{const _=y(g-jo);return _<=1&&a({x:0,y:0}),_})},[]),S=u.useCallback(g=>{g.preventDefault(),f.current=!1,l(!0),d.current={x:g.clientX,y:g.clientY},p.current={...i},g.target.setPointerCapture(g.pointerId)},[i]),b=u.useCallback(g=>{if(!c)return;const _=g.clientX-d.current.x,A=g.clientY-d.current.y;if((Math.abs(_)>3||Math.abs(A)>3)&&(f.current=!0),o<=1)return;const R={x:p.current.x+_/o,y:p.current.y+A/o};a(Ql(R,o,m.current,h.current))},[c,o]),N=u.useCallback(()=>{const g=f.current;l(!1),!g&&s(_=>_>1?(a({x:0,y:0}),1):Jl)},[]),j=o>1;return r.jsxs("div",{className:"relative size-full flex items-center justify-center select-none",onClick:g=>g.stopPropagation(),children:[r.jsx("div",{ref:m,className:T("overflow-hidden max-h-full max-w-full rounded-2xl flex items-center justify-center",j&&"size-full"),onPointerDown:S,onPointerMove:b,onPointerUp:N,onPointerCancel:N,style:{cursor:c?"grabbing":j?"grab":"zoom-in",touchAction:"none"},children:r.jsx("img",{ref:h,src:e,alt:t,className:"block max-w-full object-contain pointer-events-none",draggable:!1,style:{maxHeight:"100vh",transform:`scale(${o}) translate(${i.x}px, ${i.y}px)`,transformOrigin:"center center"}})}),r.jsxs("div",{className:"absolute bottom-3 left-1/2 -translate-x-1/2 flex items-center gap-1 bg-black/60 backdrop-blur-sm rounded-full px-1.5 py-1 transition opacity-50 hover:opacity-100",children:[r.jsx(In,{onClick:x,label:n("zoom_out"),disabled:o<=vo,children:r.jsx(z.ZoomOut,{className:"size-3.5"})}),r.jsxs("span",{className:"text-white text-xs font-medium min-w-[3ch] text-center tabular-nums",children:[Math.round(o*100),"%"]}),r.jsx(In,{onClick:k,label:n("zoom_in"),disabled:o>=ko,children:r.jsx(z.ZoomIn,{className:"size-3.5"})}),j&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"w-px h-4 bg-white/30 mx-0.5"}),r.jsx(In,{onClick:w,label:n("reset_zoom"),children:r.jsx(z.RotateCcw,{className:"size-3.5"})})]})]})]})}function In({onClick:e,label:t,children:n,disabled:o}){return r.jsx("button",{onClick:e,"aria-label":t,disabled:o,className:"text-white/80 hover:text-white disabled:text-white/30 disabled:hover:bg-transparent p-1.5 rounded-full hover:bg-white/15 transition-colors",children:n})}function Co({url:e,name:t,size:n,icon:o,label:s}){return r.jsx(Ie,{children:r.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:T("block size-fit max-w-[min(100%,16rem)] shrink-0 rounded-2xl border","bg-background/80 transition-colors hover:bg-accent/60","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"),children:r.jsxs("div",{className:"flex items-center gap-3 p-3 min-w-0",children:[r.jsx("div",{className:T("flex size-10 shrink-0 items-center justify-center rounded-xl","bg-secondary text-muted-foreground"),"aria-hidden":!0,children:o}),r.jsxs("div",{className:"min-w-0 flex-1 flex flex-col gap-0.5 text-left",children:[r.jsx("span",{className:T("text-xs font-medium text-foreground line-clamp-1","break-words [word-break:break-word]"),children:t}),r.jsxs("span",{className:"text-xs text-muted-foreground tabular-nums",children:[(n/1024).toFixed(2)," KB · ",s]})]})]})})})}function aa({attachment:e}){const{name:t,size:n,type:o,url:s}=e,i=o.startsWith("image/"),a=o.startsWith("video/"),c=o.startsWith("audio/"),l=o==="application/pdf";if(c)return r.jsx(Ie,{children:r.jsx("div",{className:"w-full shrink-0 overflow-hidden",children:r.jsxs("audio",{controls:!0,className:"w-full",children:[r.jsx("source",{src:s,type:o}),"Your browser does not support the audio tag."]})})});if(a)return r.jsx(Ie,{children:r.jsx("div",{className:"w-full border shrink-0 rounded-2xl overflow-hidden",children:r.jsxs("video",{controls:!0,children:[r.jsx("source",{src:s,type:o}),"Your browser does not support the video tag."]})})});if(i)return r.jsx(wn,{trigger:r.jsx("div",{children:r.jsx(Ie,{children:r.jsx("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:r.jsx("img",{src:s,className:"object-cover size-16",alt:t})})})}),children:r.jsx(bn,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:r.jsx(sa,{src:s,alt:t})})});if(l)return r.jsx(Co,{url:s,name:t,size:n,icon:r.jsx(z.FileText,{className:"size-5",strokeWidth:1.75}),label:"PDF"});const d=na({type:o,name:t});return d?r.jsx(Co,{url:s,name:t,size:n,icon:r.jsx(z.FileSpreadsheet,{className:"size-5",strokeWidth:1.75}),label:d.label}):r.jsx(Ie,{children:r.jsx("div",{className:"size-fit border shrink-0 rounded-2xl overflow-hidden",children:r.jsxs("div",{className:"flex items-end gap-2 p-2",children:[r.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:T("text-xs text-blue-500 line-clamp-2 underline hover:text-blue-600","break-words [word-break:break-word]"),children:t}),r.jsxs("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:[(n/1024).toFixed(2)," KB"]})]})})})}function ed({replyTo:e}){const t=C.useBot(),{humanAgent:n}=C.useConfig(),{sender:o}=e,s=o.kind==="user"?"You":o.kind==="ai"?t.name:o.kind==="agent"?(n==null?void 0:n.name)||o.name||"Team":o.name;return r.jsxs("button",{...F("chat/agent_msg/reply_to"),type:"button",onClick:i=>{const a=i.currentTarget.ownerDocument.querySelector(`[data-message-id="${CSS.escape(e.id)}"]`);a==null||a.scrollIntoView({behavior:"smooth",block:"center"}),a==null||a.animate([{opacity:.35},{opacity:1}],{duration:900,easing:"ease-out"})},className:T("not-prose mb-2 block w-full min-w-0 text-start","rounded-xl border-s-2 border-primary/50 bg-primary/[0.07] ps-2.5 pe-2 py-1.5","text-xs leading-snug text-muted-foreground","transition-colors hover:bg-primary/10 hover:text-foreground"),children:[s&&r.jsx("span",{className:"block font-medium text-foreground/80",children:s}),r.jsx("span",{className:"line-clamp-2 break-words",children:e.text})]})}const ia=u.memo(ki,(e,t)=>e.children===t.children&&e.className===t.className);var cs,ls,ds;const td={...Ce.defaultSchema,attributes:{...Ce.defaultSchema.attributes,"*":[...((cs=Ce.defaultSchema.attributes)==null?void 0:cs["*"])??[],"style"],code:[...((ls=Ce.defaultSchema.attributes)==null?void 0:ls.code)??[],"className"],pre:[...((ds=Ce.defaultSchema.attributes)==null?void 0:ds.pre)??[],"className"]}},nd=/^(color|background-color|font-(family|size|style|weight)|text-(align|decoration|transform)|line-height|letter-spacing|white-space|display|width|height|max-width|min-width|margin(-top|-right|-bottom|-left)?|padding(-top|-right|-bottom|-left)?|border(-width|-style|-color|-radius)?)$/i,rd=/^[\w\s#.,%()'"+-]+$/,od=/\b(url|expression|var|attr)\s*\(/i;function sd(){return function e(t){var o,s;const n=(o=t.properties)==null?void 0:o.style;typeof n=="string"&&t.properties&&(t.properties.style=n.split(";").filter(i=>{const a=i.indexOf(":");if(a<0)return!1;const c=i.slice(0,a).trim(),l=i.slice(a+1).trim();return nd.test(c)&&rd.test(l)&&!od.test(l)}).join(";")),(s=t.children)==null||s.forEach(e)}}function ca(e){return e.replace(/<citations>[\s\S]*?<\/citations>/g,"").replace(/<citations[\s\S]*$/,"").replace(/<(?:ref|cite)\s[^>]*?\/?>/g,"").replace(/<r(?:e(?:f[^>]*)?)?$/,"").replace(/<c(?:i(?:t(?:a(?:t(?:i(?:o(?:n(?:s)?)?)?)?)?)?(?:e[^>]*)?)?)?$/,"").trimEnd()}var us,ps;const ad={...Ce.defaultSchema,attributes:{...Ce.defaultSchema.attributes,code:[...((us=Ce.defaultSchema.attributes)==null?void 0:us.code)??[],"className"],pre:[...((ps=Ce.defaultSchema.attributes)==null?void 0:ps.pre)??[],"className"]}};function kr(e){return r.jsx(la,{...e})}function id(e){return r.jsx(la,{...e,configuredStyles:!0})}function la({children:e,messageType:t,messageId:n,configuredStyles:o=!1}){const{anchorTarget:s}=C.useConfig();return r.jsx(ia,{"data-type":t,"data-id":n,remarkPlugins:[hs],rehypePlugins:o?[Fn,sd,[Ce,td]]:[Fn,[Ce,ad]],components:{a:({children:i,...a})=>r.jsx("a",{target:a.target||s||"_top",...a,children:i}),img:({src:i,alt:a,...c})=>i?r.jsx(wn,{trigger:r.jsx("img",{src:i,alt:a,...c,className:"cursor-pointer rounded-xl"}),children:r.jsx(bn,{className:"size-full max-w-full rounded-3xl flex items-center justify-center bg-transparent border-none gap-0",withClose:!0,children:r.jsx(sa,{src:i,alt:a})})}):r.jsx("img",{src:i,alt:a,...c})},children:ca(e)})}function De(){const{widgetCtx:{org:e}}=C.useWidget(),{sessionState:{session:t}}=C.useSessions(),n=C.useConfig(),{messagesState:{messages:o}}=C.useMessages(),{routerState:{screen:s}}=C.useWidgetRouter();return{react:u,org:e,session:t,config:n,messages:o,currentScreen:s}}function cd({currentMessage:e}){var o;const t=De(),n=(o=t.config.customComponents)==null?void 0:o["message::after"];return n?r.jsx(n,{...t,currentMessage:e}):null}const ld=["[--tw-prose-body:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-headings:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-lead:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-bold:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-links:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-code:hsl(var(--opencx-secondary-foreground))]","[--tw-prose-counters:hsl(var(--opencx-muted-foreground))]","[--tw-prose-bullets:hsl(var(--opencx-muted-foreground))]","[--tw-prose-quotes:hsl(var(--opencx-muted-foreground))]","[--tw-prose-quote-borders:hsl(var(--opencx-border))]","[--tw-prose-hr:hsl(var(--opencx-border))]","[--tw-prose-th-borders:hsl(var(--opencx-border))]","[--tw-prose-td-borders:hsl(var(--opencx-border))]","[--tw-prose-pre-bg:hsl(var(--opencx-muted))]","[--tw-prose-pre-code:hsl(var(--opencx-foreground))]"].join(" ");function Gn(e){const{data:t,id:n,type:o,attachments:s,isFirstInGroup:i,isLastInGroup:a,isAloneInGroup:c,dataComponentNames:l,classNames:d}=e,p=o==="AI"||o==="AGENT"?t.message:"",m=u.useMemo(()=>o==="AI"?ta(p):null,[o,p]);if(o!=="AI"&&o!=="AGENT")return null;const{variant:h="default"}=t,f=e.replyTo?r.jsx(ed,{replyTo:e.replyTo}):null,y=(S,b,N=!0,j=!0)=>r.jsxs("div",{className:"flex flex-row gap-2",children:[r.jsxs("div",{...F((l==null?void 0:l.message)??"chat/agent_msg/msg"),"data-first":i,"data-last":a,"data-alone":c,"data-variant":h,className:T("transition-all","w-fit py-3 px-4 rounded-3xl bg-secondary text-secondary-foreground","leading-snug text-sm prose prose-sm prose-a:decoration-primary prose-a:underline",ld,"break-words [word-break:break-word]",h==="error"&&"bg-destructive/15 text-destructive",i&&!c&&"rounded-bl-md",a&&!c&&"rounded-tl-md",!i&&!a&&!c&&"rounded-l-md",d==null?void 0:d.message),children:[j&&f,r.jsx(kr,{messageType:o,messageId:n,children:S})]}),N&&r.jsx(cd,{currentMessage:e})]},b),w=(m==null?void 0:m.some(S=>S.type==="ui"))??!1,k=(m==null?void 0:m.reduce((S,b,N)=>b.type==="markdown"?N:S,-1))??-1,x=(m==null?void 0:m.findIndex(S=>S.type==="markdown"))??-1;return r.jsxs("div",{...F((l==null?void 0:l.messageContainer)??"chat/agent_msg/root"),"data-message-id":n,className:T("w-5/6 flex flex-col items-start gap-1",d==null?void 0:d.messageContainer),children:[s&&s.length>0&&r.jsx("div",{className:"w-full gap-1 flex flex-row flex-wrap items-center justify-start",children:s==null?void 0:s.map(S=>r.jsx(aa,{attachment:S},S.id))}),w&&m?m.map((S,b)=>S.type==="markdown"?y(S.content,`md-${b}`,b===k,b===x):r.jsx("div",{className:"w-full",children:r.jsx(Qs,{spec:S.spec})},`ui-${b}`)):p.length>0&&y(p)]})}function dd(e){return r.jsx("div",{className:"w-full max-w-full overflow-auto shrink-0",children:r.jsx("pre",{className:"text-xs leading-tight whitespace-pre-wrap break-word",children:JSON.stringify(e,null,1)})})}const jr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Root,{ref:n,className:T("relative flex size-6 aspect-square shrink-0 overflow-hidden rounded-full bg-secondary",e),...t}));jr.displayName=Ct.Root.displayName;const Cr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Image,{ref:n,className:T("aspect-square h-full w-full",e),...t}));Cr.displayName=Ct.Image.displayName;const Sr=Ke.forwardRef(({className:e,...t},n)=>r.jsx(Ct.Fallback,{ref:n,className:T("flex size-full text-xs items-center justify-center rounded-lg",e),...t}));Sr.displayName=Ct.Fallback.displayName;function Kn({agent:e,...t}){var n,o;return r.jsxs(jr,{...t,children:[r.jsx(Cr,{src:(e==null?void 0:e.avatarUrl)||(e==null?void 0:e.avatar)||"",alt:"Agent Icon"}),(e==null?void 0:e.name)&&r.jsx(Sr,{children:(o=(n=e==null?void 0:e.name)==null?void 0:n.slice(0,1))==null?void 0:o.toUpperCase()})]})}function ud({agent:e}){return r.jsx(H.AnimatePresence,{children:r.jsxs(te,{...F("chat/bot_loading/root"),className:"flex flex-row items-end w-full gap-2 animate-pulse",children:[r.jsx(Kn,{agent:e}),r.jsxs("div",{...F("chat/bot_loading/bouncing_dots_container"),className:T("flex items-center [&_span]:bg-secondary-foreground [&_span]:size-1 gap-1 p-2 rounded-xl bg-secondary"),children:[r.jsx(H.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.3s]"}),r.jsx(H.motion.span,{className:"rounded-full animate-bounce [animation-delay:-0.15s]"}),r.jsx(H.motion.span,{className:"rounded-full animate-bounce"})]})]})})}const pd='*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}*{border-color:hsl(var(--opencx-border))}.\\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.opencx-text-shimmer{animation:opencx-text-shimmer 2.5s ease-in-out infinite}.opencx-fade-up{animation:opencx-fade-up .3s cubic-bezier(.23,1,.32,1) both}.opencx-placeholder-in{animation:opencx-placeholder-in .2s cubic-bezier(.23,1,.32,1) both}.opencx-placeholder-out{animation:opencx-placeholder-out .18s cubic-bezier(.23,1,.32,1) both}@keyframes opencx-text-shimmer{0%,to{opacity:.45}50%{opacity:1}}@keyframes opencx-fade-up{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}to{opacity:1;filter:blur(0px);transform:translateY(0)}}@keyframes opencx-placeholder-in{0%{opacity:0;transform:translateY(4px);filter:blur(1px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes opencx-placeholder-out{0%{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:0;transform:translateY(-8px);filter:blur(1px)}}.opencx-input-recall{animation:opencx-input-recall .15s cubic-bezier(.23,1,.32,1)}@keyframes opencx-input-recall{0%{opacity:.25;translate:0 -3px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.opencx-text-shimmer,.opencx-fade-up,.opencx-placeholder-in,.opencx-placeholder-out,.opencx-input-recall{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-0\\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.end-1{inset-inline-end:.25rem}.end-6{inset-inline-end:1.5rem}.left-1\\/2,.left-\\[50\\%\\]{left:50%}.right-4{right:1rem}.start-2{inset-inline-start:.5rem}.top-1{top:.25rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-\\[50\\%\\]{top:50%}.top-full{top:100%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1 / -1}.m-2{margin:.5rem}.-mx-0\\.5{margin-left:-.125rem;margin-right:-.125rem}.mx-0\\.5{margin-left:.125rem;margin-right:.125rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mt-0\\.5{margin-top:-.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-auto{margin-left:auto}.ms-1\\.5{margin-inline-start:.375rem}.ms-\\[30px\\]{margin-inline-start:30px}.ms-auto{margin-inline-start:auto}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-0{width:0px;height:0px}.size-1\\.5{width:.375rem;height:.375rem}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-16{width:4rem;height:4rem}.size-2{width:.5rem;height:.5rem}.size-2\\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-\\[18px\\]{width:18px;height:18px}.size-fit{width:fit-content;height:fit-content}.size-full{width:100%;height:100%}.h-0{height:0px}.h-1{height:.25rem}.h-10{height:2.5rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-16{max-height:4rem}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\\[160px\\]{max-height:160px}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[50vh\\]{max-height:50vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-12{min-height:3rem}.w-0{width:0px}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2\\/5{width:40%}.w-3\\/5{width:60%}.w-4{width:1rem}.w-5\\/6{width:83.333333%}.w-7{width:1.75rem}.w-\\[32px\\]{width:32px}.w-\\[3px\\]{width:3px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.w-svw{width:100svw}.min-w-0{min-width:0px}.min-w-80{min-width:20rem}.min-w-\\[140px\\]{min-width:140px}.min-w-\\[3ch\\]{min-width:3ch}.max-w-40{max-width:10rem}.max-w-48{max-width:12rem}.max-w-96{max-width:24rem}.max-w-\\[61\\.8\\%\\]{max-width:61.8%}.max-w-\\[min\\(100\\%\\,16rem\\)\\]{max-width:min(100%,16rem)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\\[var\\(--radix-popover-content-transform-origin\\)\\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\\[var\\(--radix-tooltip-content-transform-origin\\)\\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.-translate-x-1\\/2,.translate-x-\\[-50\\%\\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[var\\(--wobble-x\\)\\]{--tw-translate-x: var(--wobble-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[-50\\%\\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[var\\(--wobble-y\\)\\]{--tw-translate-y: var(--wobble-y);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-y-50{--tw-scale-y: .5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\\[subgrid\\]{grid-template-columns:subgrid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\\[1px\\]{gap:1px}.gap-\\[3px\\]{gap:3px}.gap-x-2\\.5{column-gap:.625rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-foreground\\/10>:not([hidden])~:not([hidden]){border-color:hsl(var(--opencx-foreground) / .1)}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[20px\\]{border-radius:20px}.rounded-\\[calc\\(var\\(--opencx-inset-radius\\)\\+var\\(--cx-p\\)\\)\\]{border-radius:calc(var(--opencx-inset-radius) + var(--cx-p))}.rounded-\\[calc\\(var\\(--pk-r\\)-var\\(--pk-p\\)\\)\\]{border-radius:calc(var(--pk-r) - var(--pk-p))}.rounded-\\[var\\(--opencx-inset-radius\\)\\]{border-radius:var(--opencx-inset-radius)}.rounded-\\[var\\(--pk-r\\)\\]{border-radius:var(--pk-r)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.border{border-width:1px}.border-\\[1\\.5px\\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-s{border-inline-start-width:1px}.border-s-2{border-inline-start-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-border{border-color:hsl(var(--opencx-border))}.border-destructive\\/30{border-color:hsl(var(--opencx-destructive) / .3)}.border-foreground\\/10{border-color:hsl(var(--opencx-foreground) / .1)}.border-foreground\\/15{border-color:hsl(var(--opencx-foreground) / .15)}.border-muted-foreground\\/10{border-color:hsl(var(--opencx-muted-foreground) / .1)}.border-muted-foreground\\/15{border-color:hsl(var(--opencx-muted-foreground) / .15)}.border-muted-foreground\\/20{border-color:hsl(var(--opencx-muted-foreground) / .2)}.border-muted-foreground\\/30{border-color:hsl(var(--opencx-muted-foreground) / .3)}.border-primary{border-color:hsl(var(--opencx-primary))}.border-primary\\/10{border-color:hsl(var(--opencx-primary) / .1)}.border-primary\\/50{border-color:hsl(var(--opencx-primary) / .5)}.border-l-amber-500{--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-l-blue-500{--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-l-emerald-500{--tw-border-opacity: 1;border-left-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-l-red-500{--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-t-current{border-top-color:currentColor}.bg-\\[white\\]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\\/15{background-color:#f59e0b26}.bg-amber-500\\/5{background-color:#f59e0b0d}.bg-background{background-color:hsl(var(--opencx-background))}.bg-background\\/80{background-color:hsl(var(--opencx-background) / .8)}.bg-black\\/50{background-color:#00000080}.bg-black\\/60{background-color:#0009}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\\/5{background-color:#3b82f60d}.bg-current{background-color:currentColor}.bg-destructive{background-color:hsl(var(--opencx-destructive))}.bg-destructive\\/10{background-color:hsl(var(--opencx-destructive) / .1)}.bg-destructive\\/15{background-color:hsl(var(--opencx-destructive) / .15)}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\\/10{background-color:#10b9811a}.bg-emerald-500\\/15{background-color:#10b98126}.bg-emerald-500\\/5{background-color:#10b9810d}.bg-foreground\\/5{background-color:hsl(var(--opencx-foreground) / .05)}.bg-foreground\\/50{background-color:hsl(var(--opencx-foreground) / .5)}.bg-foreground\\/60{background-color:hsl(var(--opencx-foreground) / .6)}.bg-muted{background-color:hsl(var(--opencx-muted))}.bg-muted-foreground{background-color:hsl(var(--opencx-muted-foreground))}.bg-muted-foreground\\/10{background-color:hsl(var(--opencx-muted-foreground) / .1)}.bg-muted-foreground\\/30{background-color:hsl(var(--opencx-muted-foreground) / .3)}.bg-muted-foreground\\/40{background-color:hsl(var(--opencx-muted-foreground) / .4)}.bg-muted\\/30{background-color:hsl(var(--opencx-muted) / .3)}.bg-muted\\/40{background-color:hsl(var(--opencx-muted) / .4)}.bg-primary{background-color:hsl(var(--opencx-primary))}.bg-primary-foreground\\/20{background-color:hsl(var(--opencx-primary-foreground) / .2)}.bg-primary\\/10{background-color:hsl(var(--opencx-primary) / .1)}.bg-primary\\/25{background-color:hsl(var(--opencx-primary) / .25)}.bg-primary\\/\\[0\\.07\\]{background-color:hsl(var(--opencx-primary) / .07)}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\\/5{background-color:#ef44440d}.bg-secondary{background-color:hsl(var(--opencx-secondary))}.bg-secondary-foreground\\/10{background-color:hsl(var(--opencx-secondary-foreground) / .1)}.bg-secondary-foreground\\/20{background-color:hsl(var(--opencx-secondary-foreground) / .2)}.bg-transparent{background-color:transparent}.bg-white\\/30{background-color:#ffffff4d}.bg-\\[radial-gradient\\(ellipse_at_top_left\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\,radial-gradient\\(ellipse_at_top_right\\,hsl\\(var\\(--opencx-primary\\)\\)\\,transparent\\)\\]{background-image:radial-gradient(ellipse at top left,hsl(var(--opencx-primary)),transparent),radial-gradient(ellipse at top right,hsl(var(--opencx-primary)),transparent)}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-foreground\\/70{--tw-gradient-from: hsl(var(--opencx-foreground) / .7) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--opencx-foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-foreground\\/0{--tw-gradient-to: hsl(var(--opencx-foreground) / 0) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-foreground{fill:hsl(var(--opencx-foreground))}.stroke-current{stroke:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left-top{object-position:left top}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\\[var\\(--cx-p\\)\\]{padding:var(--cx-p)}.p-\\[var\\(--pk-p\\)\\]{padding:var(--pk-p)}.px-0\\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\\[3px\\]{padding-top:3px;padding-bottom:3px}.pb-0{padding-bottom:0}.pb-0\\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-2\\.5{padding-inline-end:.625rem}.pe-4{padding-inline-end:1rem}.pl-6{padding-left:1.5rem}.pr-16{padding-right:4rem}.ps-1{padding-inline-start:.25rem}.ps-1\\.5{padding-inline-start:.375rem}.ps-2{padding-inline-start:.5rem}.ps-2\\.5{padding-inline-start:.625rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-8{padding-inline-start:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\\[0\\.8125rem\\]{font-size:.8125rem}.text-\\[1\\.75rem\\]{font-size:1.75rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[14px\\]{font-size:14px}.text-\\[16px\\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.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)}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-background{color:hsl(var(--opencx-background))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--opencx-destructive))}.text-destructive-foreground{color:hsl(var(--opencx-destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--opencx-foreground))}.text-foreground\\/50{color:hsl(var(--opencx-foreground) / .5)}.text-foreground\\/60{color:hsl(var(--opencx-foreground) / .6)}.text-foreground\\/80{color:hsl(var(--opencx-foreground) / .8)}.text-foreground\\/90{color:hsl(var(--opencx-foreground) / .9)}.text-muted-foreground{color:hsl(var(--opencx-muted-foreground))}.text-muted-foreground\\/40{color:hsl(var(--opencx-muted-foreground) / .4)}.text-muted-foreground\\/50{color:hsl(var(--opencx-muted-foreground) / .5)}.text-muted-foreground\\/60{color:hsl(var(--opencx-muted-foreground) / .6)}.text-muted-foreground\\/70{color:hsl(var(--opencx-muted-foreground) / .7)}.text-muted-foreground\\/75{color:hsl(var(--opencx-muted-foreground) / .75)}.text-primary{color:hsl(var(--opencx-primary))}.text-primary-foreground{color:hsl(var(--opencx-primary-foreground))}.text-primary-foreground\\/60{color:hsl(var(--opencx-primary-foreground) / .6)}.text-primary\\/10{color:hsl(var(--opencx-primary) / .1)}.text-primary\\/40{color:hsl(var(--opencx-primary) / .4)}.text-primary\\/50{color:hsl(var(--opencx-primary) / .5)}.text-primary\\/60{color:hsl(var(--opencx-primary) / .6)}.text-primary\\/70{color:hsl(var(--opencx-primary) / .7)}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--opencx-secondary-foreground))}.text-secondary-foreground\\/60{color:hsl(var(--opencx-secondary-foreground) / .6)}.text-secondary-foreground\\/70{color:hsl(var(--opencx-secondary-foreground) / .7)}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\\/80{color:#fffc}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-foreground{caret-color:hsl(var(--opencx-foreground))}.accent-current{accent-color:currentColor}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-35{opacity:.35}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-8{outline-width:8px}.outline-background{outline-color:hsl(var(--opencx-background))}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-border{--tw-ring-color: hsl(var(--opencx-border))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--opencx-background))}.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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .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)}.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-sm{--tw-backdrop-blur: blur(4px);-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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[background-color\\,color\\,transform\\]{transition-property:background-color,color,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[height\\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-opencx{transition-timing-function:cubic-bezier(.23,1,.32,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in{--tw-enter-scale: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-opencx{animation-timing-function:cubic-bezier(.23,1,.32,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.\\[--tw-prose-body\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-body: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-body\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-body: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-foreground))}.\\[--tw-prose-bold\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-bold: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-bullets\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-bullets: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-code\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-code: hsl(var(--opencx-foreground))}.\\[--tw-prose-code\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-code: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-counters\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-counters: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-headings\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-headings: hsl(var(--opencx-foreground))}.\\[--tw-prose-headings\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-headings: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-hr\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-hr: hsl(var(--opencx-border))}.\\[--tw-prose-lead\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-lead: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-primary\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-primary))}.\\[--tw-prose-links\\:hsl\\(var\\(--opencx-secondary-foreground\\)\\)\\]{--tw-prose-links: hsl(var(--opencx-secondary-foreground))}.\\[--tw-prose-pre-bg\\:hsl\\(var\\(--opencx-muted\\)\\)\\]{--tw-prose-pre-bg: hsl(var(--opencx-muted))}.\\[--tw-prose-pre-code\\:hsl\\(var\\(--opencx-foreground\\)\\)\\]{--tw-prose-pre-code: hsl(var(--opencx-foreground))}.\\[--tw-prose-quote-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-quote-borders: hsl(var(--opencx-border))}.\\[--tw-prose-quotes\\:hsl\\(var\\(--opencx-muted-foreground\\)\\)\\]{--tw-prose-quotes: hsl(var(--opencx-muted-foreground))}.\\[--tw-prose-td-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-td-borders: hsl(var(--opencx-border))}.\\[--tw-prose-th-borders\\:hsl\\(var\\(--opencx-border\\)\\)\\]{--tw-prose-th-borders: hsl(var(--opencx-border))}.\\[animation-delay\\:-0\\.15s\\]{animation-delay:-.15s}.\\[animation-delay\\:-0\\.3s\\]{animation-delay:-.3s}.\\[field-sizing\\:content\\;\\],.\\[field-sizing\\:content\\]{field-sizing:content}.\\[overflow-wrap\\:anywhere\\]{overflow-wrap:anywhere}.\\[word-break\\:break-word\\]{word-break:break-word}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-transparent::file-selector-button{background-color:transparent}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-medium::file-selector-button{font-weight:500}.file\\:text-primary-foreground::file-selector-button{color:hsl(var(--opencx-primary-foreground))}.placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--opencx-muted-foreground))}.placeholder\\:text-muted-foreground\\/75::placeholder{color:hsl(var(--opencx-muted-foreground) / .75)}.last\\:border-0:last-child{border-width:0px}.focus-within\\:opacity-100:focus-within{opacity:1}.hover\\:scale-\\[var\\(--scale\\)\\]:hover{--tw-scale-x: var(--scale);--tw-scale-y: var(--scale);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-accent\\/60:hover{background-color:hsl(var(--opencx-accent) / .6)}.hover\\:bg-foreground:hover{background-color:hsl(var(--opencx-foreground))}.hover\\:bg-muted:hover{background-color:hsl(var(--opencx-muted))}.hover\\:bg-muted\\/50:hover{background-color:hsl(var(--opencx-muted) / .5)}.hover\\:bg-muted\\/60:hover{background-color:hsl(var(--opencx-muted) / .6)}.hover\\:bg-primary\\/10:hover{background-color:hsl(var(--opencx-primary) / .1)}.hover\\:bg-primary\\/90:hover{background-color:hsl(var(--opencx-primary) / .9)}.hover\\:bg-primary\\/\\[0\\.02\\]:hover{background-color:hsl(var(--opencx-primary) / .02)}.hover\\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\\:bg-secondary:hover{background-color:hsl(var(--opencx-secondary))}.hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--opencx-secondary) / .8)}.hover\\:bg-white\\/15:hover{background-color:#ffffff26}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\\:text-foreground:hover{color:hsl(var(--opencx-foreground))}.hover\\:text-muted-foreground:hover{color:hsl(var(--opencx-muted-foreground))}.hover\\:text-primary:hover{color:hsl(var(--opencx-primary))}.hover\\:text-primary-foreground:hover{color:hsl(var(--opencx-primary-foreground))}.hover\\:text-secondary-foreground:hover{color:hsl(var(--opencx-secondary-foreground))}.hover\\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-80:hover{opacity:.8}.focus-visible\\:opacity-100:focus-visible{opacity:1}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:outline:focus-visible{outline-style:solid}.focus-visible\\:outline-2:focus-visible{outline-width:2px}.focus-visible\\:outline-ring:focus-visible{outline-color:hsl(var(--opencx-ring))}.focus-visible\\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color: hsl(var(--opencx-primary) / .4)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--opencx-ring))}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:scale-\\[0\\.97\\]:active{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:hover\\:scale-\\[calc\\(var\\(--scale\\)-0\\.02\\)\\]:hover:active{--tw-scale-x: calc(var(--scale) - .02);--tw-scale-y: calc(var(--scale) - .02);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:text-white\\/30:disabled{color:#ffffff4d}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\\:opacity-100{opacity:1}.aria-expanded\\:bg-muted[aria-expanded=true]{background-color:hsl(var(--opencx-muted))}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.prose-headings\\:my-1\\.5 :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.375rem;margin-bottom:.375rem}.prose-headings\\:text-\\[13px\\] :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:13px}.prose-p\\:my-1 :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-a\\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:underline}.prose-a\\:decoration-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-color:hsl(var(--opencx-primary))}.prose-pre\\:my-1\\.5 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.375rem;margin-bottom:.375rem}.prose-pre\\:p-2 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){padding:.5rem}.prose-pre\\:text-\\[11px\\] :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:11px}.prose-ol\\:my-1 :is(:where(ol):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-ul\\:my-1 :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-li\\:my-0\\.5 :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.125rem;margin-bottom:.125rem}.prose-hr\\:my-2 :is(:where(hr):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.5rem;margin-bottom:.5rem}@media(prefers-reduced-motion:reduce){.motion-reduce\\:animate-none{animation:none}.motion-reduce\\:active\\:scale-100:active{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media(min-width:640px){.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}.rtl\\:-scale-100:where([dir=rtl],[dir=rtl] *){--tw-scale-x: -1;--tw-scale-y: -1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media(prefers-color-scheme:dark){.dark\\:text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\\:text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}}.\\[\\&\\>\\*\\:first-child\\]\\:mt-0>*:first-child{margin-top:0}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>*:last-child{margin-bottom:0}.\\[\\&_\\.animate-spin\\]\\:animate-none .animate-spin{animation:none}.\\[\\&_span\\]\\:size-1 span{width:.25rem;height:.25rem}.\\[\\&_span\\]\\:bg-secondary-foreground span{background-color:hsl(var(--opencx-secondary-foreground))}.\\[\\&_svg\\]\\:text-muted-foreground\\/70 svg{color:hsl(var(--opencx-muted-foreground) / .7)}.\\[\\&_svg\\]\\:hover\\:text-primary:hover svg{color:hsl(var(--opencx-primary))}@media(hover:none){.\\[\\@media\\(hover\\:none\\)\\]\\:opacity-100{opacity:1}}@media(pointer:coarse){.\\[\\@media\\(pointer\\:coarse\\)\\]\\:min-h-12{min-height:3rem}}',md="5.1.0";function hd(e,t){const n=typeof(e==null?void 0:e.right)=="number",o=typeof(e==null?void 0:e.left)=="number";return n&&!o?"right":o&&!n||t==="rtl"?"left":"right"}const So=450;function Ae(){const[e,t]=u.useState(()=>(window.top||window).innerWidth<So);return u.useEffect(()=>{const n=window.top||window,o=()=>{t(n.innerWidth<So)};return o(),n.addEventListener("resize",o),()=>{n.removeEventListener("resize",o)}},[]),{isSmallScreen:e}}const Jt={transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)",transitionDuration:"1000ms"};function fe(){var h,f,y,w,k,x,S,b,N,j,g,_,A,R,P,O,I,B,E,M,W,$,q,V,U,D,Z,ne,L,X,K,re,oe,pe,se,be,ze,ae,Ze,ct,Re,Pe,Fe,We,He,Oe,we,lt;const{dir:e}=C.useDocumentDir(),{isSmallScreen:t}=Ae(),{theme:n,inline:o}=C.useConfig(),s=ge=>o?"100%":ge,i=(ge,le)=>t?`100dv${ge}`:le,a=(ge,le)=>s(i(ge,le)),c=hd((h=n==null?void 0:n.widgetTrigger)==null?void 0:h.offset,e),l={zIndex:((f=n==null?void 0:n.widgetTrigger)==null?void 0:f.zIndex)??1e7,offset:{bottom:((w=(y=n==null?void 0:n.widgetTrigger)==null?void 0:y.offset)==null?void 0:w.bottom)??20,right:((x=(k=n==null?void 0:n.widgetTrigger)==null?void 0:k.offset)==null?void 0:x.right)??(c==="right"?20:"initial"),left:((b=(S=n==null?void 0:n.widgetTrigger)==null?void 0:S.offset)==null?void 0:b.left)??(c==="left"?20:"initial")},size:{button:((j=(N=n==null?void 0:n.widgetTrigger)==null?void 0:N.size)==null?void 0:j.button)??48,icon:((_=(g=n==null?void 0:n.widgetTrigger)==null?void 0:g.size)==null?void 0:_.icon)??24}},d=(()=>{const ge=c==="right"?l.offset.right:l.offset.left;return typeof ge!="number"?0:ge})(),p={palette:(n==null?void 0:n.palette)??"neutral",primaryColor:(n==null?void 0:n.primaryColor)??"hsl(0 0% 9%)",widgetTrigger:l,widgetContentContainer:{borderRadius:t?"0px":((A=n==null?void 0:n.widgetContentContainer)==null?void 0:A.borderRadius)??"32px",zIndex:((R=n==null?void 0:n.widgetContentContainer)==null?void 0:R.zIndex)??l.zIndex+1,outline:((P=n==null?void 0:n.widgetContentContainer)==null?void 0:P.outline)??"none",outlineColor:((O=n==null?void 0:n.widgetContentContainer)==null?void 0:O.outlineColor)??"hsl(0 0% 50% / .5)",boxShadow:((I=n==null?void 0:n.widgetContentContainer)==null?void 0:I.boxShadow)??"0 0px 100px 0px rgb(0 0 0 / 0.25)",transitionProperty:((B=n==null?void 0:n.widgetContentContainer)==null?void 0:B.transitionProperty)??"all",transitionTimingFunction:((E=n==null?void 0:n.widgetContentContainer)==null?void 0:E.transitionTimingFunction)??Jt.transitionTimingFunction,transitionDuration:((M=n==null?void 0:n.widgetContentContainer)==null?void 0:M.transitionDuration)??Jt.transitionDuration,offset:{side:t?0:l.offset.bottom+l.size.button+yt.y*2+((($=(W=n==null?void 0:n.widgetContentContainer)==null?void 0:W.offset)==null?void 0:$.side)??10),align:t?0:d+(((V=(q=n==null?void 0:n.widgetContentContainer)==null?void 0:q.offset)==null?void 0:V.align)??0)}},screens:{welcome:{width:a("w",((D=(U=n==null?void 0:n.screens)==null?void 0:U.welcome)==null?void 0:D.width)??"400px"),minHeight:a("h",((ne=(Z=n==null?void 0:n.screens)==null?void 0:Z.welcome)==null?void 0:ne.minHeight)??"1px")},sessions:{width:a("w",((X=(L=n==null?void 0:n.screens)==null?void 0:L.sessions)==null?void 0:X.width)??"450px"),height:a("h",((re=(K=n==null?void 0:n.screens)==null?void 0:K.sessions)==null?void 0:re.height)??"600px")},chat:{width:a("w",((pe=(oe=n==null?void 0:n.screens)==null?void 0:oe.chat)==null?void 0:pe.width)??"525px"),height:a("h",((be=(se=n==null?void 0:n.screens)==null?void 0:se.chat)==null?void 0:be.height)??"700px"),withCanvas:{width:a("w",((Ze=(ae=(ze=n==null?void 0:n.screens)==null?void 0:ze.chat)==null?void 0:ae.withCanvas)==null?void 0:Ze.width)??"min(1050px, 100vw)"),height:a("h",((Pe=(Re=(ct=n==null?void 0:n.screens)==null?void 0:ct.chat)==null?void 0:Re.withCanvas)==null?void 0:Pe.height)??"min(800px, 100vh)"),transitionTimingFunction:((He=(We=(Fe=n==null?void 0:n.screens)==null?void 0:Fe.chat)==null?void 0:We.withCanvas)==null?void 0:He.transitionTimingFunction)??Jt.transitionTimingFunction,transitionDuration:((lt=(we=(Oe=n==null?void 0:n.screens)==null?void 0:Oe.chat)==null?void 0:we.withCanvas)==null?void 0:lt.transitionDuration)??Jt.transitionDuration}}}},m={maxHeight:a("h",`calc(
15
15
  100vh
16
16
  - ${p.widgetTrigger.offset.bottom}px
17
17
  - ${p.widgetContentContainer.offset.side}px
@@ -372,4 +372,4 @@ html[${$t}] body {
372
372
  </svg>`;const o=e??{x:window.innerWidth-40,y:window.innerHeight-40};let s=o;n.style.transform=`translate(${o.x-cn}px, ${o.y-ln}px)`,document.documentElement.appendChild(t);const i=n.querySelector("path");n.offsetWidth,n.style.opacity="1";let a=!1;const c={async moveTo(l,d){if(a)return;const p=`translate(${l-cn}px, ${d-ln}px)`;if(Yr()||typeof n.animate!="function"){n.style.transform=p;return}n.style.transition=`opacity ${Dn}ms ease`;const m=yh(s,{x:l,y:d});await n.animate(m,{duration:gh,easing:"linear",fill:"forwards"}).finished.catch(()=>{}),!a&&(n.style.transform=p,s={x:l,y:d},await os(xh))},async press(){a||!i||(i.style.transform="scale(0.86)",await os(ns),i.style.transform="")},release(){a||(a=!0,n.style.opacity="0",window.setTimeout(()=>t.remove(),Dn+60))}};return ot=c,mr(),c}catch{return null}}function Ch(e){const t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}async function ui(e,{press:t=!1}={}){var o;const n=jh();if(!n)return{done:()=>{}};try{(o=e.scrollIntoView)==null||o.call(e,{behavior:Yr()?"auto":"smooth",block:"center",inline:"nearest"});const{x:s,y:i}=Ch(e);await n.moveTo(s,i),t&&await n.press()}catch{}return{done:mr}}const Sh=v.z.object({ref:v.z.string().min(1),action:v.z.enum(Lu),value:v.z.string().max(500).optional()});function pi(e,t){const n=u.useRef({effects:e,isStreaming:t});n.current={effects:e,isStreaming:t};const o=u.useRef(!1);return u.useEffect(()=>(o.current=!0,()=>{o.current=!1}),[]),u.useCallback(s=>o.current&&n.current.isStreaming&&n.current.effects.some(i=>i.key===s),[])}const Nh=200;function _h(){const{widgetCtx:e}=C.useWidget(),{pageEffects:t,replyToPageCall:n,requestPageActionConsent:o,isStreaming:s}=C.useAgentChatUi(),i=u.useRef(new Set),a=pi(t,s);return u.useEffect(()=>{const c=i.current;for(const l of t){if(l.type!=="act-on-page"||c.has(l.key))continue;for(c.add(l.key);c.size>Nh;){const f=c.values().next().value;if(f===void 0)break;c.delete(f)}const d=Sh.safeParse(l.input);if(!d.success){Q.log.warn("act_on_page: invalid tool input",{issues:d.error.issues}),n(l.callId,"unsupported");continue}const{ref:p,action:m,value:h}=d.data;(async()=>{let f;try{const y=()=>a(l.key)&&e.features.pageContext&&e.features.clientTools&&e.features.pageActions;if(!y()){n(l.callId,"declined");return}const w=Do(p);if(!w){n(l.callId,"gone",void 0,y()?cr():void 0);return}const k=jt(w)||"this control",x=m==="select"?ur(w,h):null;if(m==="select"&&!x){n(l.callId,"no_change","That option is unavailable or ambiguous.");return}const S=x==null?void 0:x.value,b=x==null?void 0:x.label.trim(),N=Fa(w),j=()=>y()&&Do(p)===w&&N()&&k===(jt(w)||"this control")&&(!x||ur(w,h)===x&&x.value===S&&x.label.trim()===b);if(!await o({callId:l.callId,action:m,controlName:k,...m==="fill"||m==="select"?{value:h}:{},...x?{valueLabel:b||"(empty option)"}:{}})){n(l.callId,"declined");return}if(!j()){n(l.callId,"declined");return}if(f=await ui(w,{press:!0}),!j()){n(l.callId,"declined");return}const _=await mh({ref:p,action:m,value:h,consentIsCurrent:j,observationIsCurrent:y}),A=y()&&_.outcome!=="declined"&&_.outcome!=="unsupported"?cr():null;n(l.callId,_.outcome,_.detail,A?{controls:A.controls,truncated:A.truncated}:void 0)}catch{n(l.callId,"unsupported","The page action could not be completed.")}finally{f==null||f.done()}})()}},[t,n,o,e,a]),null}const Eh=["circle","box","underline","bracket","arrow"],Th=v.z.object({ref:v.z.string().min(1),label:v.z.string().optional(),type:v.z.enum(Eh).optional().catch(void 0)}),Ah=8e3;function zh(e,t,n){return t.display==="inline"&&e.height<=n*2.5?"underline":e.width<=220&&e.height<=80?"circle":"box"}let Le=null;function Ih(){Le==null||Le()}function Mh(e,t,{accentColor:n="hsl(0 0% 9%)",surfaceColor:o="hsl(0 0% 9%)",foregroundColor:s="hsl(0 0% 98%)",zIndex:i=10000002,durationMs:a=Ah,seed:c}={}){if(!e.isConnected)return!1;Le==null||Le();const l=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;e.scrollIntoView({behavior:l?"auto":"smooth",block:"center",inline:"nearest"});const d=e.getBoundingClientRect(),p=getComputedStyle(e),m=parseFloat(p.fontSize)||16,h=d.width<160&&d.height<56,f=gs.annotate(e,{type:t.type??zh(d,p,m),color:n,strokeWidth:Math.min(3,Math.max(1.6,m*.11)),wobble:h?.6:.9,rtl:p.direction==="rtl",seed:c});let y=!1;const w=()=>{if(!y)try{f.show(),or(e,i)}catch(P){Q.log.warn("highlight_element: mark could not be drawn",P)}},k=document.fonts;k!=null&&k.ready&&typeof k.ready.then=="function"?k.ready.then(w):w();const x=document.createElement("div");x.setAttribute("data-opencx-overlay",""),x.style.pointerEvents="none";let S=null,b=null;t.label&&(S=document.createElement("div"),S.setAttribute("data-cx-role","callout"),Object.assign(S.style,{position:"fixed",zIndex:String(i+1),background:o,color:s,font:"500 13px/1.4 system-ui, sans-serif",padding:"9px 13px",borderRadius:"11px",maxWidth:"240px",boxShadow:`0 10px 30px -8px color-mix(in srgb, ${s} 35%, transparent)`,opacity:"0",transform:l?"none":"translateY(4px)",transition:"opacity 280ms cubic-bezier(0.23, 1, 0.32, 1), transform 280ms cubic-bezier(0.23, 1, 0.32, 1)",pointerEvents:"none"}),S.textContent=t.label,b=document.createElement("div"),Object.assign(b.style,{position:"absolute",width:"10px",height:"10px",background:o,transform:"rotate(45deg)"}),S.appendChild(b),x.appendChild(S)),document.documentElement.appendChild(x);let N=0;if(S&&b){const P=S,O=b,I=()=>{const B=e.getBoundingClientRect(),E=window.innerWidth,M=B.top>90?"top":"bottom",W=Math.min(240,P.offsetWidth||240),$=Math.max(12,Math.min(B.left+B.width/2-W/2,E-W-12));P.style.left=`${$}px`,P.style.width=`${W}px`,P.style.top=M==="top"?`${B.top-P.offsetHeight-12}px`:`${B.bottom+12}px`,O.style.left=`${Math.max(10,Math.min(B.left+B.width/2-$-5,W-20))}px`,M==="top"?(O.style.bottom="-4px",O.style.top=""):(O.style.top="-4px",O.style.bottom=""),N=requestAnimationFrame(I)};I()}const j=S?window.setTimeout(()=>{S&&(S.style.opacity="1",S.style.transform="translateY(0)")},350):0,g=()=>{if(!y){y=!0,Le===g&&(Le=null),cancelAnimationFrame(N),window.clearTimeout(R),window.clearTimeout(j),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",A,!0),S&&(S.style.opacity="0",S.style.transform=l?"none":"translateY(4px)");try{f.hide(),f.finished.then(()=>f.remove())}catch{f.remove()}window.setTimeout(()=>x.remove(),300)}},_=()=>g(),A=P=>{P.key==="Escape"&&g()},R=window.setTimeout(g,Math.max(0,a));return document.addEventListener("click",_,!0),document.addEventListener("keydown",A,!0),Le=g,!0}const Rh=200;function Ph(){const{pageMarkHighlightDurationMs:e}=C.useConfig(),{pageEffects:t,replyToPageCall:n,isStreaming:o}=C.useAgentChatUi(),{widgetCtx:s}=C.useWidget(),i=pi(t,o),{theme:a,cssVars:c}=fe(),l=Dr({cssVars:c,primaryColor:a.primaryColor,contentZIndex:a.widgetContentContainer.zIndex}),d=u.useRef(new Set);return u.useEffect(()=>()=>{Ih(),fn()},[]),u.useEffect(()=>{o||fn()},[o]),u.useEffect(()=>{const p=d.current;for(const m of t){if(m.type!=="highlight-element"||p.has(m.key))continue;for(p.add(m.key);p.size>Rh;){const S=p.values().next().value;if(S===void 0)break;p.delete(S)}const h=()=>i(m.key)&&s.features.pageContext&&s.features.clientTools;if(!h()){n(m.callId,"declined");continue}const f=Th.safeParse(m.input);if(!f.success){Q.log.warn("highlight_element: invalid tool input",{issues:f.error.issues}),n(m.callId,"unsupported");continue}const y=dr(f.data.ref);if(!y.ok){Q.log.warn("highlight_element: not drawn",{ref:f.data.ref,reason:y.reason}),y.reason==="off-limits"?n(m.callId,"unsupported",y.detail):n(m.callId,y.reason);continue}const w=y.element,k=m.callId,x=f.data;(async()=>{let S;try{if(S=await ui(w),!h()){n(k,"declined");return}const b=dr(x.ref);if(!b.ok){n(k,b.reason==="off-limits"?"unsupported":b.reason);return}const N=Mh(w,x,{accentColor:l.accent,surfaceColor:l.surface,foregroundColor:l.foreground,zIndex:l.inkZIndex,durationMs:e});n(k,N?"done":"gone"),N||Q.log.warn("highlight_element: the mark could not be drawn",x)}catch{n(k,"unsupported","The page highlight could not be completed.")}finally{S==null||S.done()}})()}},[t,n,e,l.accent,l.surface,l.foreground,l.inkZIndex,i,s]),null}const Oh=/(\*\*\*|\*\*|\*|~~|`+)(?=\S)([\s\S]*?\S)\1/g,$h=/(^|[^\w`])(___|__|_)(?=\S)([\s\S]*?\S)\2(?!\w)/g,Lh=3;function hr(e){let t=e.replace(/^\s{0,3}(?:```+|~~~+)\S*\s*/,"").replace(/^\s{0,3}(?:#{1,6}\s+|>\s?|[-*+]\s+|\d+[.)]\s+)/,"").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1");for(let n=0;n<Lh;n++){const o=t.replace(Oh,"$2").replace($h,"$1$3");if(o===t)break;t=o}return t.trim()}function mi({className:e}){const[t,n]=u.useState(()=>new Set);return u.useEffect(()=>{const o=Array.from({length:9},(i,a)=>a),s=setInterval(()=>{const i=2+Math.floor(Math.random()*3),a=[...o].sort(()=>Math.random()-.5).slice(0,i);n(new Set(a))},110);return()=>clearInterval(s)},[]),r.jsx("div",{className:T("inline-grid shrink-0 grid-cols-3",e),style:{gap:1,width:14,height:14},children:Array.from({length:9},(o,s)=>r.jsx("div",{className:"rounded-[1px]",style:{width:4,height:4,background:t.has(s)?"hsl(var(--opencx-foreground))":"hsl(var(--opencx-border))",transition:"background 66ms ease"}},s))})}function Dh({labels:e,active:t}){const n=u.useRef(e);n.current=e;const[o,s]=u.useState(()=>e[e.length-1]??""),[i,a]=u.useState("in"),c=u.useRef(e.length);return u.useEffect(()=>{const l=n.current.length;if(!t||l<=c.current){c.current=l;return}c.current=l;const d=n.current[l-1]??"";a("out");const p=setTimeout(()=>{s(d),a("in")},180);return()=>clearTimeout(p)},[t,e.length]),r.jsx("span",{className:T("truncate text-[12px] text-muted-foreground/60",t&&(i==="in"?"opencx-placeholder-in":"opencx-placeholder-out")),children:o})}function Xr(e,t){if(e.kind==="tool")return Gr(e.label);const n=e.label.split(`
373
373
  `).find(s=>s.trim());if(!n)return t;const o=hr(n);return o?o.length>40?`${o.slice(0,40)}...`:o:t}function Fh(e,t,n=3){const o=e.filter(s=>s.kind==="tool").map(s=>Gr(s.label));if(o.length===0){const s=e.find(i=>i.kind==="reasoning");return s?Xr(s,t):t}return o.length<=n?o.join(" → "):`${o.slice(0,n).join(" → ")} → ...`}const Wh=["prose prose-sm max-w-none","[--tw-prose-body:hsl(var(--opencx-muted-foreground))]","[--tw-prose-headings:hsl(var(--opencx-foreground))]","[--tw-prose-bold:hsl(var(--opencx-foreground))]","[--tw-prose-code:hsl(var(--opencx-foreground))]","[--tw-prose-links:hsl(var(--opencx-primary))]","[--tw-prose-bullets:hsl(var(--opencx-muted-foreground))]","[--tw-prose-counters:hsl(var(--opencx-muted-foreground))]","[--tw-prose-quotes:hsl(var(--opencx-muted-foreground))]","[--tw-prose-quote-borders:hsl(var(--opencx-border))]","[--tw-prose-hr:hsl(var(--opencx-border))]","[--tw-prose-pre-bg:hsl(var(--opencx-muted))]","[--tw-prose-pre-code:hsl(var(--opencx-foreground))]","prose-p:my-1 prose-headings:my-1.5 prose-headings:text-[13px]","prose-ul:my-1 prose-ol:my-1 prose-li:my-0.5","prose-pre:my-1.5 prose-pre:p-2 prose-pre:text-[11px] prose-hr:my-2","[&>*:first-child]:mt-0 [&>*:last-child]:mb-0"].join(" ");function Hh({step:e,isLive:t,thinkingLabel:n}){const[o,s]=u.useState(!1),i=Xr(e,n),a=i!==hr(e.label),c=t?(()=>{const l=e.label.split(`
374
374
  `).filter(p=>p.trim()),d=hr(l[l.length-1]??"");return d?d.length>80?`${d.slice(0,80)}...`:d:n})():i;return r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:T("flex min-w-0 items-center gap-2.5 py-[3px]",a&&"cursor-pointer"),onClick:()=>a&&s(l=>!l),children:[r.jsx("div",{className:"relative z-10 flex size-[18px] shrink-0 items-center justify-center rounded-full bg-background",children:t?r.jsx(Ir,{className:"text-[14px] leading-none text-primary/70"}):r.jsx("span",{className:"text-[14px] leading-none text-muted-foreground/40",children:"⠿"})}),r.jsx("span",{className:T("min-w-0 truncate text-[13px] italic text-muted-foreground/60",t&&"opencx-text-shimmer"),children:c}),a&&r.jsx(z.ChevronRightIcon,{className:T("size-2.5 shrink-0 text-muted-foreground/40 transition-transform duration-200",o&&"rotate-90")})]}),a&&o&&r.jsx("div",{className:"opencx-fade-up ms-[30px]",children:r.jsx("div",{className:T("max-h-[160px] overflow-y-auto py-1.5 text-[13px] leading-relaxed [overflow-wrap:anywhere]",Wh),children:r.jsx(kr,{children:e.label})})})]})}const ss=4e3;function Bh(e){const t=typeof e=="string"?e:Uh(e)??String(e);return t.length>ss?`${t.slice(0,ss)}…`:t}function Uh(e){try{return JSON.stringify(e,null,2)}catch{return null}}function as({label:e,value:t}){return r.jsxs("div",{className:"pt-1.5",children:[r.jsx("div",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground/50",children:e}),r.jsx("pre",{className:"mt-0.5 max-h-[200px] overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] rounded-lg bg-muted/40 p-2 font-mono text-[11px] leading-relaxed text-muted-foreground",children:Bh(t)})]})}function qh({step:e,showIO:t}){const{t:n}=ee(),[o,s]=u.useState(!1),i=t&&(e.input!==void 0||e.output!==void 0);return r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:T("flex min-w-0 items-center gap-2.5 py-[3px]",i&&"cursor-pointer"),onClick:()=>i&&s(a=>!a),children:[r.jsx("div",{className:"relative z-10 flex size-[18px] shrink-0 items-center justify-center rounded-full bg-background",children:e.done?r.jsx("div",{className:"size-1.5 rounded-full bg-muted-foreground/30"}):r.jsx(mi,{})}),r.jsx("span",{className:T("min-w-0 truncate text-[13px] text-muted-foreground/70",!e.done&&"opencx-text-shimmer"),children:Gr(e.label)}),i&&r.jsx(z.ChevronRightIcon,{className:T("size-2.5 shrink-0 text-muted-foreground/40 transition-transform duration-200",o&&"rotate-90")})]}),i&&o&&r.jsxs("div",{className:"opencx-fade-up ms-[30px] pb-1",children:[e.input!==void 0&&r.jsx(as,{label:n("step_arguments"),value:e.input}),e.output!==void 0&&r.jsx(as,{label:n("step_result"),value:e.output})]})]})}function Vh({steps:e,active:t}){var y;const{t:n}=ee(),{showStepToolIO:o,presentation:s}=C.useConfig(),{widgetCtx:i}=C.useWidget(),a=(y=Q.resolveClientPresentation(i.agent.presentation,s))==null?void 0:y.toolActivity,c=o!==!1&&(a==="details"||a===void 0&&o===!0),l=n("thinking"),d=t?e:e.map(w=>w.done?w:{...w,done:!0}),p=d.some(w=>!w.done),[m,h]=u.useState(t),f=u.useRef(t);return u.useEffect(()=>{f.current&&!t?h(!1):!f.current&&t&&h(!0),f.current=t},[t]),d.length===0?null:r.jsxs("div",{...F("chat/streaming_turn/steps"),className:"w-full min-w-0 overflow-hidden",children:[r.jsx("button",{type:"button",className:"flex min-w-0 max-w-full items-center gap-1.5 py-0.5 text-[12px] text-muted-foreground/60 transition-colors duration-150 hover:text-muted-foreground",onClick:()=>h(w=>!w),children:m?r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronDownIcon,{className:"size-2.5 shrink-0"}),r.jsx("span",{className:"text-[11px] font-medium tabular-nums",children:d.length}),r.jsx("span",{className:T("text-muted-foreground/40",p&&"opencx-text-shimmer"),children:n(p?"running":"steps")})]}):p?r.jsxs(r.Fragment,{children:[r.jsx(mi,{className:"opacity-70"}),r.jsx("span",{className:"text-[11px] font-medium tabular-nums",children:d.length}),r.jsx(Dh,{labels:d.map(w=>Xr(w,l)),active:p})]}):r.jsxs(r.Fragment,{children:[r.jsx(z.ChevronRightIcon,{className:"size-2.5 shrink-0"}),r.jsx("span",{className:"min-w-0 flex-1 truncate text-start text-[12px] text-muted-foreground/50",children:Fh(d,l)})]})}),m&&r.jsxs("div",{className:"relative pt-1",children:[d.length>1&&r.jsx("div",{className:"absolute bottom-3 start-2 top-3 border-s border-dashed border-muted-foreground/20"}),d.map((w,k)=>r.jsx("div",{className:"opencx-fade-up",style:{animationDelay:`${k*40}ms`},children:w.kind==="reasoning"?r.jsx(Hh,{step:w,isLive:p&&k===d.length-1,thinkingLabel:l}):r.jsx(qh,{step:w,showIO:c})},k))]})]})}function Gr(e){const n=e.replace(/^mcp_[a-f0-9]{16}__/,"").replaceAll(/[_-]+/g," ").trim();return n.charAt(0).toUpperCase()+n.slice(1)}function is(e){var n;if(e.manual){const o=e.manualText.trim();return o.length>0?o:void 0}if(e.question.selection==="single")return e.singleId?(n=e.question.options.find(o=>o.id===e.singleId))==null?void 0:n.label:void 0;const t=Array.from(e.multiIds).map(o=>{var s;return(s=e.question.options.find(i=>i.id===o))==null?void 0:s.label}).filter(o=>typeof o=="string"&&o.length>0);return t.length>0?t.join(", "):void 0}function Yh({request:e}){const{t}=ee(),{sendMessage:n}=C.useMessages(),{widgetCtx:o}=C.useWidget(),s=e.questions,[i,a]=u.useState(0),[c,l]=u.useState(!1),[d,p]=u.useState({}),[m,h]=u.useState({}),[f,y]=u.useState({}),[w,k]=u.useState({}),x=s[i],S=s.length,b=u.useCallback(I=>is({question:I,manual:!!d[I.id],manualText:m[I.id]??"",singleId:f[I.id],multiIds:w[I.id]??new Set})!==void 0,[d,m,w,f]),N=x?b(x):!1,j=u.useMemo(()=>s.every(I=>b(I)),[b,s]),g=u.useCallback((I,B)=>{y(E=>({...E,[I]:B})),p(E=>({...E,[I]:!1}))},[]),_=u.useCallback((I,B)=>{k(E=>{const M=new Set(E[I]??[]);return M.has(B)?M.delete(B):M.add(B),{...E,[I]:M}}),p(E=>({...E,[I]:!1}))},[]),A=u.useCallback(I=>{p(B=>({...B,[I]:!0})),y(B=>({...B,[I]:void 0})),k(B=>({...B,[I]:new Set}))},[]),R=u.useCallback(()=>{N&&a(I=>Math.min(S-1,I+1))},[N,S]),P=u.useCallback(()=>{if(c||!j)return;const I=new Map;for(const E of s){const M=is({question:E,manual:!!d[E.id],manualText:m[E.id]??"",singleId:f[E.id],multiIds:w[E.id]??new Set});M&&I.set(E.id,M)}const B=C.formatAskQuestionsAnswers(e,I);B.trim().length!==0&&(l(!0),n({content:B,clientContext:Ua({marks:[],readsPage:o.features.pageContext})}))},[j,c,d,m,w,s,e,n,f,o]);if(!x)return null;const O=!!d[x.id];return r.jsxs("div",{...F("chat/clarification_questions/root"),className:T("w-full rounded-2xl border border-border bg-background shadow-sm",c&&"pointer-events-none opacity-60"),children:[r.jsxs("div",{className:"flex items-start gap-2.5 px-4 pt-4",children:[r.jsx("span",{className:"mt-0.5 flex size-7 shrink-0 items-center justify-center rounded-md bg-primary text-primary-foreground",children:r.jsx(z.SparklesIcon,{className:"size-4"})}),r.jsx("p",{...F("chat/clarification_questions/prompt"),className:"min-w-0 flex-1 text-sm font-medium leading-snug text-foreground",children:x.prompt})]}),r.jsx("div",{className:"px-4 pb-3 pt-3",children:O?r.jsx("textarea",{...F("chat/clarification_questions/manual_input"),value:m[x.id]??"",onChange:I=>h(B=>({...B,[x.id]:I.target.value})),placeholder:t("questions_answer_placeholder"),rows:3,className:T("w-full resize-none rounded-xl border border-border bg-muted/30 px-3 py-2.5","text-sm text-foreground placeholder:text-muted-foreground","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"),onKeyDown:I=>{I.key!=="Enter"||I.shiftKey||(I.preventDefault(),i<S-1?R():P())}}):r.jsxs("div",{className:"flex flex-wrap gap-2",children:[x.options.map(I=>{var E;const B=x.selection==="single"?f[x.id]===I.id:((E=w[x.id])==null?void 0:E.has(I.id))??!1;return u.createElement("button",{...F("chat/clarification_questions/option"),key:I.id,type:"button","aria-pressed":B,onClick:()=>x.selection==="single"?g(x.id,I.id):_(x.id,I.id),className:T("rounded-full border px-3 py-1.5 text-sm transition-colors",B?"border-primary bg-primary/10 text-foreground":"border-border bg-muted/40 text-foreground/90 hover:bg-muted")},I.label)}),r.jsx("button",{...F("chat/clarification_questions/type_it"),type:"button",onClick:()=>A(x.id),className:T("rounded-full border border-dashed border-border px-3 py-1.5 text-sm","text-muted-foreground hover:bg-muted hover:text-foreground"),children:t("questions_type_answer")})]})}),r.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-border px-3 py-2",children:[r.jsxs("button",{...F("chat/clarification_questions/back"),type:"button",onClick:()=>a(I=>Math.max(0,I-1)),disabled:i===0,className:"inline-flex items-center gap-1 rounded-lg px-2 py-1.5 text-xs font-medium text-muted-foreground hover:bg-muted disabled:opacity-40",children:[r.jsx(z.ChevronLeftIcon,{className:"size-3.5"}),t("questions_back")]}),S>1?r.jsxs("span",{className:"text-[11px] tabular-nums text-muted-foreground",children:[i+1," / ",S]}):null,i<S-1?r.jsxs("button",{...F("chat/clarification_questions/next"),type:"button",onClick:R,disabled:!N,className:"inline-flex items-center gap-1 rounded-lg px-2 py-1.5 text-xs font-medium text-primary hover:bg-muted disabled:opacity-40",children:[t("questions_next"),r.jsx(z.ChevronRightIcon,{className:"size-3.5"})]}):r.jsx("button",{...F("chat/clarification_questions/send"),type:"button",onClick:P,disabled:!j,className:"inline-flex items-center gap-1 rounded-lg px-3 py-1.5 text-xs font-medium text-primary hover:bg-muted disabled:opacity-40",children:t("questions_send")})]}),r.jsx("div",{className:"h-1 w-full overflow-hidden rounded-b-2xl bg-muted",children:r.jsx("div",{className:"h-full bg-primary transition-[width] duration-300 ease-out",style:{width:`${(i+1)/Math.max(1,S)*100}%`}})})]})}function Xh({widgetRef:e}){const{contactState:t}=C.useContact(),{setIsOpen:n}=C.useWidgetTrigger(),{toChatScreen:o}=C.useWidgetRouter();return u.useImperativeHandle(e,()=>({newChat:async s=>{var a;if(!((a=t.contact)!=null&&a.token)){Q.log.warn("cannot start a new chat: contact not yet initialized");return}n(!0);const i=o();i&&(s!=null&&s.message)&&await i.messageCtx.sendMessage({content:s.message})}}),[t,n,o]),null}function Gh(){const{isOpen:e,setIsOpen:t}=C.useWidgetTrigger();return r.jsxs(Ye.Root,{open:e,onOpenChange:t,children:[r.jsx(um,{}),r.jsx(dm,{}),r.jsx(im,{})]})}function Kh(){return C.useDisplayMode()==="companion"?r.jsx(C.WidgetLayoutProvider,{children:r.jsx(dh,{})}):r.jsx(Gh,{})}const Zh=[{key:"loading",component:ud},{key:"fallback",component:dd},{key:"bot_message",component:Gn},{key:"agent_message",component:Gn},{key:"agent_chat_steps",component:Vh},{key:"agent_chat_spec",component:$d},{key:"agent_chat_questions",component:Yh}],Jh={get:async e=>localStorage.getItem(e),set:async(e,t)=>{localStorage.setItem(e,t)},remove:async e=>{localStorage.removeItem(e)}},hi=u.forwardRef(function({options:t,components:n=[],loadingComponent:o,errorComponent:s},i){var a,c,l,d;return r.jsx(H.MotionConfig,{reducedMotion:"user",children:r.jsx(C.WidgetProvider,{components:[...Zh,...n],options:{...t,capabilities:{...t.capabilities,richReplies:((a=t.capabilities)==null?void 0:a.richReplies)??!n.some(({key:p})=>["AGENT_CHAT_SPEC","BOT_MESSAGE","AGENT_MESSAGE"].includes(p.toUpperCase())),connections:((c=t.capabilities)==null?void 0:c.connections)===!0,pageEffects:((l=t.capabilities)==null?void 0:l.pageEffects)??!0,structuredQuestions:((d=t.capabilities)==null?void 0:d.structuredQuestions)??!n.some(({key:p})=>p.toUpperCase()==="AGENT_CHAT_QUESTIONS")}},storage:Jh,loadingComponent:o,errorComponent:s,children:r.jsx(C.WidgetTriggerProvider,{children:r.jsxs(Rp,{children:[r.jsx(Ph,{}),r.jsx(_h,{}),r.jsx(Xh,{widgetRef:i}),t.inline?r.jsx(ti,{}):r.jsx(Kh,{})]})})})})});hi.displayName="Widget";exports.HostedSpecRenderer=Tl;exports.Widget=hi;exports.segmentContent=ta;exports.useJsonRenderHost=Bt;
375
- //# sourceMappingURL=index-rkpSpEfw.cjs.map
375
+ //# sourceMappingURL=index-BhDQakmD.cjs.map