@motiadev/plugin-endpoint 0.15.0-beta.165 → 0.15.2-beta.167

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/plugin.js CHANGED
@@ -68,7 +68,7 @@ function plugin({ lockedData }) {
68
68
  lockedData.onStep("step-removed", apiStepRemoved);
69
69
  return { workbench: [{
70
70
  packageName: "@motiadev/plugin-endpoint",
71
- cssImports: ["@motiadev/plugin-endpoint/dist/index.css"],
71
+ cssImports: ["@motiadev/plugin-endpoint/dist/styles.css"],
72
72
  label: "Endpoints",
73
73
  position: "top",
74
74
  componentName: "EndpointsPage",
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","names":["ApiRouteConfig","ApiRouteMethod","JsonSchema","LockedData","QueryParam","Step","StreamAdapter","ApiEndpoint","id","method","path","description","queryParams","responseSchema","bodySchema","flows","mapEndpoint","step","filePath","config","EndpointsStream","constructor","lockedData","get","_groupId","Promise","endpoint","apiSteps","find","delete","set","_","__","data","getGroup","map","isApiStep","MotiaPlugin","MotiaPluginContext","Step","EndpointsStream","mapEndpoint","plugin","lockedData","stream","createStream","filePath","hidden","config","name","baseConfig","storageType","factory","schema","apiStepCreated","step","set","id","method","path","description","queryParams","apiStepUpdated","apiStepRemoved","delete","onStep","workbench","packageName","cssImports","label","position","componentName","labelIcon","plugin"],"sources":["../src/api/endpoints-stream.ts","../src/api/index.ts","../src/plugin.ts"],"sourcesContent":["import {\n type ApiRouteConfig,\n type ApiRouteMethod,\n type JsonSchema,\n type LockedData,\n type QueryParam,\n type Step,\n StreamAdapter,\n} from '@motiadev/core'\n\ntype ApiEndpoint = {\n id: string\n method: ApiRouteMethod\n path: string\n description?: string\n queryParams?: QueryParam[]\n responseSchema?: JsonSchema\n bodySchema?: JsonSchema\n flows?: string[]\n}\n\nexport const mapEndpoint = (step: Step<ApiRouteConfig>): ApiEndpoint => {\n return {\n id: step.filePath,\n method: step.config.method,\n path: step.config.path,\n description: step.config.description,\n queryParams: step.config.queryParams,\n responseSchema: step.config.responseSchema as never as JsonSchema,\n bodySchema: step.config.bodySchema as never as JsonSchema,\n flows: step.config.flows,\n }\n}\n\nexport class EndpointsStream extends StreamAdapter<ApiEndpoint> {\n constructor(private readonly lockedData: LockedData) {\n super('__motia.api-endpoints')\n }\n\n async get(_groupId: string, id: string): Promise<ApiEndpoint | null> {\n const endpoint = this.lockedData.apiSteps().find((step) => step.filePath === id)\n return endpoint ? mapEndpoint(endpoint) : null\n }\n\n async delete(id: string): Promise<ApiEndpoint> {\n return { id } as never\n }\n\n async set(_: string, __: string, data: ApiEndpoint): Promise<ApiEndpoint> {\n return data\n }\n\n async getGroup(): Promise<ApiEndpoint[]> {\n return this.lockedData.apiSteps().map(mapEndpoint)\n }\n}\n","import { isApiStep, type MotiaPlugin, type MotiaPluginContext, type Step } from '@motiadev/core'\nimport { EndpointsStream, mapEndpoint } from './endpoints-stream'\n\nexport function plugin({ lockedData }: MotiaPluginContext): MotiaPlugin {\n const stream = lockedData.createStream({\n filePath: '__motia.api-endpoints.ts',\n hidden: true,\n config: {\n name: '__motia.api-endpoints',\n baseConfig: { storageType: 'custom', factory: () => new EndpointsStream(lockedData) },\n schema: null as never,\n },\n })()\n\n const apiStepCreated = (step: Step) => {\n if (isApiStep(step)) {\n stream.set('default', step.filePath, {\n id: step.filePath,\n method: step.config.method,\n path: step.config.path,\n description: step.config.description,\n queryParams: step.config.queryParams,\n })\n }\n }\n\n const apiStepUpdated = (step: Step) => {\n if (isApiStep(step)) {\n stream.set('default', step.filePath, mapEndpoint(step))\n }\n }\n\n const apiStepRemoved = (step: Step) => {\n if (isApiStep(step)) {\n stream.delete('default', step.filePath)\n }\n }\n\n lockedData.onStep('step-created', apiStepCreated)\n lockedData.onStep('step-updated', apiStepUpdated)\n lockedData.onStep('step-removed', apiStepRemoved)\n\n return {\n workbench: [\n {\n packageName: '@motiadev/plugin-endpoint',\n cssImports: ['@motiadev/plugin-endpoint/dist/index.css'],\n label: 'Endpoints',\n position: 'top',\n componentName: 'EndpointsPage',\n labelIcon: 'link-2',\n },\n ],\n }\n}\n","import { plugin } from './api'\n\nexport default plugin\n"],"mappings":";;;AAqBA,MAAagB,eAAeC,SAA4C;AACtE,QAAO;EACLT,IAAIS,KAAKC;EACTT,QAAQQ,KAAKE,OAAOV;EACpBC,MAAMO,KAAKE,OAAOT;EAClBC,aAAaM,KAAKE,OAAOR;EACzBC,aAAaK,KAAKE,OAAOP;EACzBC,gBAAgBI,KAAKE,OAAON;EAC5BC,YAAYG,KAAKE,OAAOL;EACxBC,OAAOE,KAAKE,OAAOJ;EACpB;;AAGH,IAAaK,kBAAb,cAAqCd,cAA2B;CAC9De,YAAY,AAAiBC,YAAwB;AACnD,QAAM,wBAAwB;EADHA;;CAI7B,MAAMC,IAAIC,UAAkBhB,IAAyC;EACnE,MAAMkB,WAAW,KAAKJ,WAAWK,UAAU,CAACC,MAAMX,SAASA,KAAKC,aAAaV,GAAG;AAChF,SAAOkB,WAAWV,YAAYU,SAAS,GAAG;;CAG5C,MAAMG,OAAOrB,IAAkC;AAC7C,SAAO,EAAEA,IAAI;;CAGf,MAAMsB,IAAIC,GAAWC,IAAYC,MAAyC;AACxE,SAAOA;;CAGT,MAAMC,WAAmC;AACvC,SAAO,KAAKZ,WAAWK,UAAU,CAACQ,IAAInB,YAAY;;;;;;AClDtD,SAAgB0B,OAAO,EAAEC,cAA+C;CACtE,MAAMC,SAASD,WAAWE,aAAa;EACrCC,UAAU;EACVC,QAAQ;EACRC,QAAQ;GACNC,MAAM;GACNC,YAAY;IAAEC,aAAa;IAAUC,eAAe,IAAIZ,gBAAgBG,WAAU;IAAG;GACrFU,QAAQ;GACV;EACD,CAAC,EAAE;CAEJ,MAAMC,kBAAkBC,SAAe;AACrC,MAAInB,UAAUmB,KAAK,CACjBX,QAAOY,IAAI,WAAWD,KAAKT,UAAU;GACnCW,IAAIF,KAAKT;GACTY,QAAQH,KAAKP,OAAOU;GACpBC,MAAMJ,KAAKP,OAAOW;GAClBC,aAAaL,KAAKP,OAAOY;GACzBC,aAAaN,KAAKP,OAAOa;GAC1B,CAAC;;CAIN,MAAMC,kBAAkBP,SAAe;AACrC,MAAInB,UAAUmB,KAAK,CACjBX,QAAOY,IAAI,WAAWD,KAAKT,UAAUL,YAAYc,KAAK,CAAC;;CAI3D,MAAMQ,kBAAkBR,SAAe;AACrC,MAAInB,UAAUmB,KAAK,CACjBX,QAAOoB,OAAO,WAAWT,KAAKT,SAAS;;AAI3CH,YAAWsB,OAAO,gBAAgBX,eAAe;AACjDX,YAAWsB,OAAO,gBAAgBH,eAAe;AACjDnB,YAAWsB,OAAO,gBAAgBF,eAAe;AAEjD,QAAO,EACLG,WAAW,CACT;EACEC,aAAa;EACbC,YAAY,CAAC,2CAA2C;EACxDC,OAAO;EACPC,UAAU;EACVC,eAAe;EACfC,WAAW;EACZ,CAAA,EAEJ;;;;;ACnDH,qBAAeC"}
1
+ {"version":3,"file":"plugin.js","names":["ApiRouteConfig","ApiRouteMethod","JsonSchema","LockedData","QueryParam","Step","StreamAdapter","ApiEndpoint","id","method","path","description","queryParams","responseSchema","bodySchema","flows","mapEndpoint","step","filePath","config","EndpointsStream","constructor","lockedData","get","_groupId","Promise","endpoint","apiSteps","find","delete","set","_","__","data","getGroup","map","isApiStep","MotiaPlugin","MotiaPluginContext","Step","EndpointsStream","mapEndpoint","plugin","lockedData","stream","createStream","filePath","hidden","config","name","baseConfig","storageType","factory","schema","apiStepCreated","step","set","id","method","path","description","queryParams","apiStepUpdated","apiStepRemoved","delete","onStep","workbench","packageName","cssImports","label","position","componentName","labelIcon","plugin"],"sources":["../src/api/endpoints-stream.ts","../src/api/index.ts","../src/plugin.ts"],"sourcesContent":["import {\n type ApiRouteConfig,\n type ApiRouteMethod,\n type JsonSchema,\n type LockedData,\n type QueryParam,\n type Step,\n StreamAdapter,\n} from '@motiadev/core'\n\ntype ApiEndpoint = {\n id: string\n method: ApiRouteMethod\n path: string\n description?: string\n queryParams?: QueryParam[]\n responseSchema?: JsonSchema\n bodySchema?: JsonSchema\n flows?: string[]\n}\n\nexport const mapEndpoint = (step: Step<ApiRouteConfig>): ApiEndpoint => {\n return {\n id: step.filePath,\n method: step.config.method,\n path: step.config.path,\n description: step.config.description,\n queryParams: step.config.queryParams,\n responseSchema: step.config.responseSchema as never as JsonSchema,\n bodySchema: step.config.bodySchema as never as JsonSchema,\n flows: step.config.flows,\n }\n}\n\nexport class EndpointsStream extends StreamAdapter<ApiEndpoint> {\n constructor(private readonly lockedData: LockedData) {\n super('__motia.api-endpoints')\n }\n\n async get(_groupId: string, id: string): Promise<ApiEndpoint | null> {\n const endpoint = this.lockedData.apiSteps().find((step) => step.filePath === id)\n return endpoint ? mapEndpoint(endpoint) : null\n }\n\n async delete(id: string): Promise<ApiEndpoint> {\n return { id } as never\n }\n\n async set(_: string, __: string, data: ApiEndpoint): Promise<ApiEndpoint> {\n return data\n }\n\n async getGroup(): Promise<ApiEndpoint[]> {\n return this.lockedData.apiSteps().map(mapEndpoint)\n }\n}\n","import { isApiStep, type MotiaPlugin, type MotiaPluginContext, type Step } from '@motiadev/core'\nimport { EndpointsStream, mapEndpoint } from './endpoints-stream'\n\nexport function plugin({ lockedData }: MotiaPluginContext): MotiaPlugin {\n const stream = lockedData.createStream({\n filePath: '__motia.api-endpoints.ts',\n hidden: true,\n config: {\n name: '__motia.api-endpoints',\n baseConfig: { storageType: 'custom', factory: () => new EndpointsStream(lockedData) },\n schema: null as never,\n },\n })()\n\n const apiStepCreated = (step: Step) => {\n if (isApiStep(step)) {\n stream.set('default', step.filePath, {\n id: step.filePath,\n method: step.config.method,\n path: step.config.path,\n description: step.config.description,\n queryParams: step.config.queryParams,\n })\n }\n }\n\n const apiStepUpdated = (step: Step) => {\n if (isApiStep(step)) {\n stream.set('default', step.filePath, mapEndpoint(step))\n }\n }\n\n const apiStepRemoved = (step: Step) => {\n if (isApiStep(step)) {\n stream.delete('default', step.filePath)\n }\n }\n\n lockedData.onStep('step-created', apiStepCreated)\n lockedData.onStep('step-updated', apiStepUpdated)\n lockedData.onStep('step-removed', apiStepRemoved)\n\n return {\n workbench: [\n {\n packageName: '@motiadev/plugin-endpoint',\n cssImports: ['@motiadev/plugin-endpoint/dist/styles.css'],\n label: 'Endpoints',\n position: 'top',\n componentName: 'EndpointsPage',\n labelIcon: 'link-2',\n },\n ],\n }\n}\n","import { plugin } from './api'\n\nexport default plugin\n"],"mappings":";;;AAqBA,MAAagB,eAAeC,SAA4C;AACtE,QAAO;EACLT,IAAIS,KAAKC;EACTT,QAAQQ,KAAKE,OAAOV;EACpBC,MAAMO,KAAKE,OAAOT;EAClBC,aAAaM,KAAKE,OAAOR;EACzBC,aAAaK,KAAKE,OAAOP;EACzBC,gBAAgBI,KAAKE,OAAON;EAC5BC,YAAYG,KAAKE,OAAOL;EACxBC,OAAOE,KAAKE,OAAOJ;EACpB;;AAGH,IAAaK,kBAAb,cAAqCd,cAA2B;CAC9De,YAAY,AAAiBC,YAAwB;AACnD,QAAM,wBAAwB;EADHA;;CAI7B,MAAMC,IAAIC,UAAkBhB,IAAyC;EACnE,MAAMkB,WAAW,KAAKJ,WAAWK,UAAU,CAACC,MAAMX,SAASA,KAAKC,aAAaV,GAAG;AAChF,SAAOkB,WAAWV,YAAYU,SAAS,GAAG;;CAG5C,MAAMG,OAAOrB,IAAkC;AAC7C,SAAO,EAAEA,IAAI;;CAGf,MAAMsB,IAAIC,GAAWC,IAAYC,MAAyC;AACxE,SAAOA;;CAGT,MAAMC,WAAmC;AACvC,SAAO,KAAKZ,WAAWK,UAAU,CAACQ,IAAInB,YAAY;;;;;;AClDtD,SAAgB0B,OAAO,EAAEC,cAA+C;CACtE,MAAMC,SAASD,WAAWE,aAAa;EACrCC,UAAU;EACVC,QAAQ;EACRC,QAAQ;GACNC,MAAM;GACNC,YAAY;IAAEC,aAAa;IAAUC,eAAe,IAAIZ,gBAAgBG,WAAU;IAAG;GACrFU,QAAQ;GACV;EACD,CAAC,EAAE;CAEJ,MAAMC,kBAAkBC,SAAe;AACrC,MAAInB,UAAUmB,KAAK,CACjBX,QAAOY,IAAI,WAAWD,KAAKT,UAAU;GACnCW,IAAIF,KAAKT;GACTY,QAAQH,KAAKP,OAAOU;GACpBC,MAAMJ,KAAKP,OAAOW;GAClBC,aAAaL,KAAKP,OAAOY;GACzBC,aAAaN,KAAKP,OAAOa;GAC1B,CAAC;;CAIN,MAAMC,kBAAkBP,SAAe;AACrC,MAAInB,UAAUmB,KAAK,CACjBX,QAAOY,IAAI,WAAWD,KAAKT,UAAUL,YAAYc,KAAK,CAAC;;CAI3D,MAAMQ,kBAAkBR,SAAe;AACrC,MAAInB,UAAUmB,KAAK,CACjBX,QAAOoB,OAAO,WAAWT,KAAKT,SAAS;;AAI3CH,YAAWsB,OAAO,gBAAgBX,eAAe;AACjDX,YAAWsB,OAAO,gBAAgBH,eAAe;AACjDnB,YAAWsB,OAAO,gBAAgBF,eAAe;AAEjD,QAAO,EACLG,WAAW,CACT;EACEC,aAAa;EACbC,YAAY,CAAC,4CAA4C;EACzDC,OAAO;EACPC,UAAU;EACVC,eAAe;EACfC,WAAW;EACZ,CAAA,EAEJ;;;;;ACnDH,qBAAeC"}
@@ -1134,6 +1134,3 @@
1134
1134
  }
1135
1135
  }
1136
1136
  }
1137
-
1138
-
1139
- /*# sourceMappingURL=index.css.map*/
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.css","names":[],"sources":["../src/styles.css"],"sourcesContent":["export default undefined;"],"mappings":"AAAA"}
package/dist/styles.js ADDED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@motiadev/plugin-endpoint",
3
- "version": "0.15.0-beta.165",
3
+ "version": "0.15.2-beta.167",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -24,14 +24,14 @@
24
24
  "zustand": "^5.0.8"
25
25
  },
26
26
  "peerDependencies": {
27
- "@motiadev/stream-client-react": "0.15.0-beta.165",
28
- "@motiadev/core": "0.15.0-beta.165",
29
- "@motiadev/ui": "0.15.0-beta.165"
27
+ "@motiadev/stream-client-react": "0.15.2-beta.167",
28
+ "@motiadev/core": "0.15.2-beta.167",
29
+ "@motiadev/ui": "0.15.2-beta.167"
30
30
  },
31
31
  "devDependencies": {
32
- "@bosh-code/tsdown-plugin-tailwindcss": "^1.0.1",
33
32
  "@rollup/plugin-babel": "^6.1.0",
34
33
  "@tailwindcss/postcss": "^4.1.17",
34
+ "rollup-plugin-postcss": "^4.0.2",
35
35
  "@types/json-schema": "^7.0.15",
36
36
  "@types/node": "^24.10.1",
37
37
  "@types/react": "^19.2.7",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.css","names":[],"sources":["../src/styles.css"],"sourcesContent":["/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-yellow-500: oklch(79.5% 0.184 86.047);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --font-weight-medium: 500;\n --font-weight-bold: 700;\n --radius-sm: 0.25rem;\n --radius-lg: 0.5rem;\n --animate-spin: spin 1s linear infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --font-weight-500: var(--font-weight-500);\n --font-weight-600: var(--font-weight-600);\n --font-weight-700: var(--font-weight-700);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .invisible {\n visibility: hidden;\n }\n .visible {\n visibility: visible;\n }\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .sticky {\n position: sticky;\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-3 {\n right: calc(var(--spacing) * 3);\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .isolate {\n isolation: isolate;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .mt-2\\.5 {\n margin-top: calc(var(--spacing) * 2.5);\n }\n .ml-\\[7px\\] {\n margin-left: 7px;\n }\n .box-border {\n box-sizing: border-box;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .h-2\\.5 {\n height: calc(var(--spacing) * 2.5);\n }\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-full {\n height: 100%;\n }\n .max-h-full {\n max-height: 100%;\n }\n .min-h-8\\.5 {\n min-height: calc(var(--spacing) * 8.5);\n }\n .w-2\\.5 {\n width: calc(var(--spacing) * 2.5);\n }\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n .w-full {\n width: 100%;\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .flex-1 {\n flex: 1;\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .auto-rows-max {\n grid-auto-rows: max-content;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-\\[1fr_1fr_auto\\] {\n grid-template-columns: 1fr 1fr auto;\n }\n .grid-cols-\\[1fr_auto\\] {\n grid-template-columns: 1fr auto;\n }\n .grid-cols-\\[300px_1fr\\] {\n grid-template-columns: 300px 1fr;\n }\n .grid-cols-\\[auto_1fr\\] {\n grid-template-columns: auto 1fr;\n }\n .grid-cols-\\[auto_1fr_auto\\] {\n grid-template-columns: auto 1fr auto;\n }\n .grid-cols-\\[auto_auto\\] {\n grid-template-columns: auto auto;\n }\n .grid-cols-\\[auto_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: auto minmax(0,1fr);\n }\n .grid-cols-\\[minmax\\(380px\\,1fr\\)_minmax\\(auto\\,1fr\\)\\] {\n grid-template-columns: minmax(380px,1fr) minmax(auto,1fr);\n }\n .grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n }\n .grid-rows-\\[1fr_1fr\\] {\n grid-template-rows: 1fr 1fr;\n }\n .grid-rows-\\[auto_1fr\\] {\n grid-template-rows: auto 1fr;\n }\n .grid-rows-\\[auto_auto_1fr\\] {\n grid-template-rows: auto auto 1fr;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .place-items-center {\n place-items: center;\n }\n .items-center {\n align-items: center;\n }\n .items-end {\n align-items: flex-end;\n }\n .items-start {\n align-items: flex-start;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-border {\n border-color: var(--border);\n }\n .bg-\\[\\#258DC3\\]\\/15 {\n background-color: color-mix(in oklab, #258DC3 15%, transparent);\n }\n .bg-\\[\\#709A2D\\]\\/15 {\n background-color: color-mix(in oklab, #709A2D 15%, transparent);\n }\n .bg-\\[\\#2862FE\\]\\/20 {\n background-color: color-mix(in oklab, #2862FE 20%, transparent);\n }\n .bg-\\[\\#B9922D\\]\\/15 {\n background-color: color-mix(in oklab, #B9922D 15%, transparent);\n }\n .bg-\\[\\#DE2134\\]\\/15 {\n background-color: color-mix(in oklab, #DE2134 15%, transparent);\n }\n .bg-\\[\\#E221DF\\]\\/15 {\n background-color: color-mix(in oklab, #E221DF 15%, transparent);\n }\n .bg-\\[\\#EAB71F\\] {\n background-color: #EAB71F;\n }\n .bg-\\[\\#F8367D\\] {\n background-color: #F8367D;\n }\n .bg-accent {\n background-color: var(--accent);\n }\n .bg-card {\n background-color: var(--card);\n }\n .bg-muted-foreground\\/10 {\n background-color: var(--muted-foreground);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--muted-foreground) 10%, transparent);\n }\n }\n .bg-muted\\/30 {\n background-color: var(--muted);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--muted) 30%, transparent);\n }\n }\n .bg-transparent {\n background-color: transparent;\n }\n .fill-\\[\\#555\\] {\n fill: #555;\n }\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n .px-1\\.5 {\n padding-inline: calc(var(--spacing) * 1.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-5 {\n padding-inline: calc(var(--spacing) * 5);\n }\n .px-9\\! {\n padding-inline: calc(var(--spacing) * 9) !important;\n }\n .px-\\[17px\\] {\n padding-inline: 17px;\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-4 {\n padding-block: calc(var(--spacing) * 4);\n }\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-\\[36px\\] {\n --tw-leading: 36px;\n line-height: 36px;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .text-\\[\\#258DC3\\] {\n color: #258DC3;\n }\n .text-\\[\\#555\\] {\n color: #555;\n }\n .text-\\[\\#709A2D\\] {\n color: #709A2D;\n }\n .text-\\[\\#2862FE\\] {\n color: #2862FE;\n }\n .text-\\[\\#B9922D\\] {\n color: #B9922D;\n }\n .text-\\[\\#DE2134\\] {\n color: #DE2134;\n }\n .text-\\[\\#E221DF\\] {\n color: #E221DF;\n }\n .text-destructive {\n color: var(--destructive);\n }\n .text-green-400 {\n color: var(--color-green-400);\n }\n .text-muted-foreground {\n color: var(--muted-foreground);\n }\n .text-muted-foreground\\/50 {\n color: var(--muted-foreground);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--muted-foreground) 50%, transparent);\n }\n }\n .text-white {\n color: var(--color-white);\n }\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n .hover\\:bg-muted-foreground\\/10 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--muted-foreground);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--muted-foreground) 10%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted\\/40 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--muted);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--muted) 40%, transparent);\n }\n }\n }\n }\n .hover\\:text-muted-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--muted-foreground);\n }\n }\n }\n .dark\\:bg-\\[\\#EAB71F\\]\\/20 {\n &:is(.dark *) {\n background-color: color-mix(in oklab, #EAB71F 20%, transparent);\n }\n }\n .dark\\:bg-\\[\\#F8367D\\]\\/20 {\n &:is(.dark *) {\n background-color: color-mix(in oklab, #F8367D 20%, transparent);\n }\n }\n .dark\\:bg-accent-200 {\n &:is(.dark *) {\n background-color: var(--accent-200);\n }\n }\n .dark\\:text-\\[\\#EAB71F\\] {\n &:is(.dark *) {\n color: #EAB71F;\n }\n }\n .dark\\:text-\\[\\#F8367D\\] {\n &:is(.dark *) {\n color: #F8367D;\n }\n }\n .dark\\:text-primary {\n &:is(.dark *) {\n color: var(--primary);\n }\n }\n .dark\\:text-yellow-500 {\n &:is(.dark *) {\n color: var(--color-yellow-500);\n }\n }\n}\n:root {\n --default-font-family: \"DM Sans\", ui-sans-serif, sans-serif;\n --font-dm-mono: \"DM Mono\", ui-monospace, monospace;\n line-height: 1.5;\n font-size: 16px;\n color-scheme: light dark;\n font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" ), serif;\n font-synthesis: none;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n font-optical-sizing: auto;\n --font-weight-500: 500;\n --font-weight-600: 600;\n --font-weight-700: 700;\n --accent-1000: #2862fe;\n --accent-970: #2862fef7;\n --accent-950: #2862fef2;\n --accent-900: #2862fee5;\n --accent-800: #2862fecc;\n --accent-700: #2862feb2;\n --accent-600: #2862fe99;\n --accent-500: #2862fe80;\n --accent-400: #2862fe66;\n --accent-300: #2862fe4d;\n --accent-200: #2862fe33;\n --accent-100: #2862fe1a;\n --accent-50: #2862fe0d;\n --accent-30: #2862fe08;\n --dark-1000: #0a0a0a;\n --dark-970: #0a0a0af7;\n --dark-950: #0a0a0af2;\n --dark-900: #0a0a0ae5;\n --dark-800: #0a0a0acc;\n --dark-700: #0a0a0ab2;\n --dark-600: #0a0a0a99;\n --dark-500: #0a0a0a80;\n --dark-400: #0a0a0a66;\n --dark-300: #0a0a0a4d;\n --dark-200: #0a0a0a33;\n --dark-100: #0a0a0a1a;\n --dark-50: #0a0a0a0d;\n --dark-30: #0a0a0a08;\n --light-1000: #ffffff;\n --light-970: #fffffff7;\n --light-950: #fffffff2;\n --light-900: #ffffffe5;\n --light-800: #ffffffcc;\n --light-700: #ffffffb2;\n --light-600: #ffffff99;\n --light-500: #ffffff80;\n --light-400: #ffffff66;\n --light-300: #ffffff4d;\n --light-200: #ffffff33;\n --light-100: #ffffff1a;\n --light-50: #ffffff0d;\n --light-30: #ffffff08;\n --error: #d61355;\n --canvas-background: #ebebeb;\n --background: var(--light-1000);\n --foreground: var(--dark-1000);\n --surface-content: var(--dark-30);\n --surface-component: var(--dark-50);\n --surface-light-100: var(--dark-100);\n --surface-light-200: var(--dark-200);\n --border: var(--dark-100);\n --border-accent: var(--accent-1000);\n --states-hover: var(--dark-30);\n --states-selected: var(--dark-100);\n --states-active: var(--accent-1000);\n --text-header: var(--dark-1000);\n --text-body: var(--dark-600);\n --text-placeholder: var(--dark-400);\n --text-accent: var(--accent-1000);\n --text-error: var(--error);\n --icon-active: var(--dark-1000);\n --icon-light: var(--dark-600);\n --icon-component: var(--dark-400);\n --icon-accent: var(--accent-1000);\n --primary: var(--accent-1000);\n --primary-foreground: var(--light-1000);\n --secondary: var(--surface-component);\n --secondary-foreground: var(--text-body);\n --muted: var(--surface-light-100);\n --muted-foreground: var(--text-body);\n --accent: var(--accent-1000);\n --accent-foreground: var(--light-1000);\n --destructive: var(--error);\n --destructive-foreground: var(--light-1000);\n --card: var(--surface-content);\n --card-foreground: var(--foreground);\n --popover: var(--surface-content);\n --popover-foreground: var(--foreground);\n --input: var(--states-hover);\n --ring: var(--border-accent);\n --chart-1: var(--accent-1000);\n --chart-2: var(--accent-800);\n --chart-3: var(--accent-600);\n --chart-4: var(--accent-400);\n --chart-5: var(--accent-200);\n --header: var(--background);\n --header-foreground: var(--text-header);\n --header-primary: var(--primary);\n --header-primary-foreground: var(--primary-foreground);\n --header-accent: var(--surface-component);\n --header-accent-foreground: var(--text-body);\n --header-border: var(--border);\n --header-ring: var(--ring);\n --sidebar: var(--background);\n --sidebar-foreground: var(--text-header);\n --sidebar-primary: var(--primary);\n --sidebar-primary-foreground: var(--primary-foreground);\n --sidebar-accent: var(--surface-component);\n --sidebar-accent-foreground: var(--text-body);\n --sidebar-border: var(--border);\n --sidebar-ring: var(--ring);\n}\n.dark {\n --canvas-background: #030303;\n --background: var(--dark-1000);\n --foreground: var(--light-1000);\n --surface-content: var(--light-30);\n --surface-component: var(--light-50);\n --surface-light-100: var(--light-100);\n --surface-light-200: var(--light-200);\n --border: var(--light-100);\n --states-hover: var(--light-30);\n --states-selected: var(--light-100);\n --text-header: var(--light-1000);\n --text-body: var(--light-600);\n --text-placeholder: var(--light-400);\n --icon-active: var(--light-1000);\n --icon-light: var(--light-600);\n --icon-component: var(--light-400);\n --secondary-foreground: var(--light-600);\n --muted-foreground: var(--light-600);\n --card: var(--surface-content);\n --card-foreground: var(--foreground);\n --popover: var(--surface-content);\n --popover-foreground: var(--foreground);\n --input: var(--states-hover);\n --ring: var(--border-accent);\n --chart-1: var(--accent-1000);\n --chart-2: var(--accent-800);\n --chart-3: var(--accent-600);\n --chart-4: var(--accent-400);\n --chart-5: var(--accent-200);\n --header: var(--background);\n --header-foreground: var(--text-header);\n --header-primary: var(--primary);\n --header-primary-foreground: var(--primary-foreground);\n --header-accent: var(--surface-component);\n --header-accent-foreground: var(--text-body);\n --header-border: var(--border);\n --header-ring: var(--ring);\n --sidebar: var(--background);\n --sidebar-foreground: var(--text-header);\n --sidebar-primary: var(--primary);\n --sidebar-primary-foreground: var(--primary-foreground);\n --sidebar-accent: var(--surface-component);\n --sidebar-accent-foreground: var(--text-body);\n --sidebar-border: var(--border);\n --sidebar-ring: var(--ring);\n}\n@layer base {\n * {\n border-color: var(--border);\n }\n body {\n background-color: var(--background);\n color: var(--foreground);\n }\n}\n@layer theme, base, components, utilities;\n@layer theme;\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities;\n.json-view {\n background-color: transparent !important;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-outline-style: solid;\n --tw-duration: initial;\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}