modviz 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +261 -0
  2. package/dist/client/_shell.html +0 -0
  3. package/dist/client/android-chrome-192x192.png +0 -0
  4. package/dist/client/android-chrome-512x512.png +0 -0
  5. package/dist/client/apple-touch-icon.png +0 -0
  6. package/dist/client/assets/app-Sjrldkrg.css +2 -0
  7. package/dist/client/assets/button-aOWckyNs.js +1 -0
  8. package/dist/client/assets/check-C0EQe2S8.js +1 -0
  9. package/dist/client/assets/chevron-down-DrspihmT.js +1 -0
  10. package/dist/client/assets/chevron-right-DIJHr8AN.js +1 -0
  11. package/dist/client/assets/colors-CQoWjU5E.js +1 -0
  12. package/dist/client/assets/command-kkF7_wdz.js +45 -0
  13. package/dist/client/assets/compare-K6jVFsiI.js +1 -0
  14. package/dist/client/assets/compare-TOnoe1EP.js +2 -0
  15. package/dist/client/assets/configure-DnlSnhtN.js +1 -0
  16. package/dist/client/assets/explorer-C7NclVKg.js +2 -0
  17. package/dist/client/assets/explorer-Xu2X6XXF.js +1 -0
  18. package/dist/client/assets/external-link-B9eNA-li.js +1 -0
  19. package/dist/client/assets/flamegraph-CRVZSAlj.js +13 -0
  20. package/dist/client/assets/floating-ui.dom-DLIT5tPE.js +1 -0
  21. package/dist/client/assets/formatting-CiC0SYI8.js +1 -0
  22. package/dist/client/assets/graph-6Vr74V1k.js +2 -0
  23. package/dist/client/assets/graph-CVzypIGU.js +2 -0
  24. package/dist/client/assets/graph-command-menu-D2MoVT2B.js +4 -0
  25. package/dist/client/assets/graph-command-menu-VWiiW3qy.css +1 -0
  26. package/dist/client/assets/hierarchy-C8xxGb_u.js +2 -0
  27. package/dist/client/assets/hierarchy-iO7d4oSK.js +2 -0
  28. package/dist/client/assets/import-display-D-jRyyjM.js +5 -0
  29. package/dist/client/assets/imports-CPggnrs-.js +2 -0
  30. package/dist/client/assets/imports-CodbPyUJ.js +1 -0
  31. package/dist/client/assets/index-Dj_rhLdR.js +12 -0
  32. package/dist/client/assets/input-BCFMF0aR.js +1 -0
  33. package/dist/client/assets/jsx-runtime-DWSWI4JT.js +1 -0
  34. package/dist/client/assets/lazyRouteComponent-PTSyFp1J.js +1 -0
  35. package/dist/client/assets/loading-state-CyC_hrTF.js +1 -0
  36. package/dist/client/assets/modviz-data-BiRqoDI5.js +1 -0
  37. package/dist/client/assets/modviz-layout-Do93E-IB.js +1 -0
  38. package/dist/client/assets/modviz-sigma-Xl8qHaxK.js +312 -0
  39. package/dist/client/assets/portal-BgAm3V3j.js +1 -0
  40. package/dist/client/assets/routes-DBtN8hrZ.js +1 -0
  41. package/dist/client/assets/schemas-B4zfTepZ.js +39 -0
  42. package/dist/client/assets/search-BYHxNrYn.js +1 -0
  43. package/dist/client/assets/search-params-BaZRBvGI.js +1 -0
  44. package/dist/client/assets/setup-view-j1o0TuZz.js +1 -0
  45. package/dist/client/assets/summary-D703Zh3x.js +1 -0
  46. package/dist/client/assets/tooltip-B1VDU9HG.js +1 -0
  47. package/dist/client/assets/trace-B67CM5s2.js +2 -0
  48. package/dist/client/assets/trace-Bwwdw3AM.js +1 -0
  49. package/dist/client/assets/treemap-BZf2shzY.js +5 -0
  50. package/dist/client/assets/treemap-Csroy8Gy.js +2 -0
  51. package/dist/client/assets/utils-DkkZd0ys.js +1 -0
  52. package/dist/client/favicon-16x16.png +0 -0
  53. package/dist/client/favicon-32x32.png +0 -0
  54. package/dist/client/favicon.ico +0 -0
  55. package/dist/client/favicon.png +0 -0
  56. package/dist/client/site.webmanifest +19 -0
  57. package/dist/mod/cli-options.js +225 -0
  58. package/dist/mod/cli.js +519 -0
  59. package/dist/mod/index.js +3 -0
  60. package/dist/mod/llm-analysis.js +29 -0
  61. package/dist/mod/llm-output.js +742 -0
  62. package/dist/mod/module-graph-plugins.js +60 -0
  63. package/dist/mod/production-server.js +103 -0
  64. package/dist/mod/runtime-host.js +217 -0
  65. package/dist/mod/snapshot-history.js +73 -0
  66. package/dist/mod/types.js +3 -0
  67. package/dist/server/assets/__23tanstack-start-plugin-adapters-3QxJs4a0.js +5 -0
  68. package/dist/server/assets/_tanstack-start-manifest_v-DMytuIue.js +188 -0
  69. package/dist/server/assets/button-Bqnnid5i.js +41 -0
  70. package/dist/server/assets/colors-DhAxrYua.js +100 -0
  71. package/dist/server/assets/command-SdxShIbL.js +138 -0
  72. package/dist/server/assets/compare-BFMiiUsB.js +562 -0
  73. package/dist/server/assets/compare-CpOqTpYu.js +10 -0
  74. package/dist/server/assets/configure-Bvd45DTI.js +288 -0
  75. package/dist/server/assets/explorer-C7dODpSv.js +379 -0
  76. package/dist/server/assets/explorer-CpSb0JTa.js +20 -0
  77. package/dist/server/assets/flamegraph-CdW-VG6I.js +198 -0
  78. package/dist/server/assets/formatting-iDlL4tA-.js +4 -0
  79. package/dist/server/assets/graph-C1G9H5O4.js +438 -0
  80. package/dist/server/assets/graph-DAGFGioS.js +45 -0
  81. package/dist/server/assets/graph-command-menu-BV5GtOWx.js +249 -0
  82. package/dist/server/assets/hierarchy-B4K-Zfn9.js +16 -0
  83. package/dist/server/assets/hierarchy-BGpWSG-f.js +104 -0
  84. package/dist/server/assets/import-display-BVIOWcsm.js +124 -0
  85. package/dist/server/assets/imports-B6JBDl_h.js +379 -0
  86. package/dist/server/assets/imports-BGe5tZJT.js +28 -0
  87. package/dist/server/assets/input-C5r-hBix.js +19 -0
  88. package/dist/server/assets/loading-state-CrvCWTtw.js +23 -0
  89. package/dist/server/assets/modviz-data-CUyTorv0.js +197 -0
  90. package/dist/server/assets/modviz-layout-BAH2ogse.js +253 -0
  91. package/dist/server/assets/modviz-server-DoMlAyFW.js +195 -0
  92. package/dist/server/assets/modviz-sigma-XYxARWqd.js +1441 -0
  93. package/dist/server/assets/rolldown-runtime-rSIU-vHC.js +13 -0
  94. package/dist/server/assets/router-DYJ-zDbU.js +353 -0
  95. package/dist/server/assets/routes-DInCacpY.js +244 -0
  96. package/dist/server/assets/search-params-BNApPgkX.js +26 -0
  97. package/dist/server/assets/setup-view-DjI49Iqr.js +91 -0
  98. package/dist/server/assets/start-Ba3KII43.js +4 -0
  99. package/dist/server/assets/summary-z3lXkLCQ.js +208 -0
  100. package/dist/server/assets/tooltip-Ck0DDfF7.js +24 -0
  101. package/dist/server/assets/trace-ColKOf9g.js +16 -0
  102. package/dist/server/assets/trace-eVs-hIZO.js +578 -0
  103. package/dist/server/assets/treemap-BbZ9M4GF.js +17 -0
  104. package/dist/server/assets/treemap-CrgWFoCF.js +912 -0
  105. package/dist/server/assets/utils-BQZm0uva.js +8 -0
  106. package/dist/server/server.js +5259 -0
  107. package/dist/shared/modviz-compare.js +120 -0
  108. package/dist/shared/modviz-trace.js +244 -0
  109. package/package.json +135 -0
package/README.md ADDED
@@ -0,0 +1,261 @@
1
+ # modviz
2
+
3
+ An interactive CLI and packaged web UI for visualizing TypeScript and JavaScript module dependency graphs, tracing import origins, and comparing snapshots over time.
4
+
5
+ ## 🚀 Features
6
+
7
+ - **Interactive Graph Visualization**: Force-directed, hierarchical, and circular layouts
8
+ - **Smart Filtering**: Search by filename, filter by node type, or limit by import depth
9
+ - **Snapshot Comparison**: Compare two graph JSON snapshots to see added or removed modules, edges, and packages
10
+ - **Named Snapshot History**: Save runs into a history directory and reload them in the UI compare view or from the CLI
11
+ - **File Import/Export**: Load existing graph data or export filtered views
12
+ - **Node Inspection**: Detailed view of imports, exports, and unused exports
13
+ - **Dependency Trace View**: Explain why a package or module is present by reading captured origin chains
14
+ - **TypeScript Support**: Fully supports TypeScript projects with proper resolution
15
+
16
+ ## 📦 Installation
17
+
18
+ Requires Node 22.12+.
19
+
20
+ ```bash
21
+ # npm
22
+ npm install --save-dev modviz
23
+
24
+ # pnpm
25
+ pnpm add --save-dev modviz
26
+
27
+ # one-off execution
28
+ npx modviz analyze src/index.ts --ui
29
+ ```
30
+
31
+ ## 🛠️ Usage
32
+
33
+ ### Analyze and launch the web UI
34
+
35
+ ```bash
36
+ pnpm exec modviz analyze src/index.ts --ui
37
+ ```
38
+
39
+ This serves the prebuilt production UI from the packaged `dist/client` and `dist/server` assets instead of rebuilding with Vite on every run.
40
+ The UI also polls the graph JSON file timestamp and refreshes automatically when the snapshot changes on disk.
41
+
42
+ Build the packaged runtime once as the library author:
43
+
44
+ ```bash
45
+ pnpm run build
46
+ ```
47
+
48
+ ### Generate graph data only (no UI)
49
+
50
+ ```bash
51
+ pnpm exec modviz analyze src/index.ts
52
+ ```
53
+
54
+ ### Launch UI with existing data
55
+
56
+ ```bash
57
+ pnpm exec modviz serve ./modviz.json
58
+ ```
59
+
60
+ ### Use custom port
61
+
62
+ ```bash
63
+ pnpm exec modviz analyze src/index.ts --ui --port=4000
64
+ ```
65
+
66
+ ### Generate LLM-oriented reports for barrel and import analysis
67
+
68
+ ```bash
69
+ pnpm exec modviz analyze src/index.ts --llm --node-modules
70
+ ```
71
+
72
+ ### Generate an AI-written engineering summary from the structured LLM report
73
+
74
+ ```bash
75
+ MODVIZ_LLM_API_KEY=... pnpm exec modviz analyze src/index.ts --llm-analyze --llm-model=gpt-4.1-mini
76
+ ```
77
+
78
+ ### Focus outputs on one package or node when the summary is not enough
79
+
80
+ ```bash
81
+ pnpm exec modviz analyze src/index.ts --node-modules --package=googleapis
82
+ pnpm exec modviz analyze src/index.ts --node-modules --node=src/adapter-rest/register-app-routes.ts
83
+ ```
84
+
85
+ ### Save named snapshots to history
86
+
87
+ ```bash
88
+ pnpm exec modviz analyze src/index.ts --snapshot-name=before-refactor
89
+ pnpm exec modviz analyze src/index.ts --snapshot-name=after-refactor
90
+ ```
91
+
92
+ ### Report on an existing graph or named snapshot
93
+
94
+ ```bash
95
+ pnpm exec modviz report --summary
96
+ pnpm exec modviz report --package=react
97
+ pnpm exec modviz report --snapshot=2026-04-01t10-00-00-before-refactor --node=src/routes/index.ts
98
+ pnpm exec modviz report --list-snapshots
99
+ ```
100
+
101
+ ## 🚢 Publishing
102
+
103
+ The package is configured for public npm publishing with `release-it`.
104
+
105
+ ```bash
106
+ # Preview the release flow without tagging or publishing
107
+ pnpm run release:dry-run
108
+
109
+ # Bump version, create git tag, and publish to npm
110
+ pnpm run release
111
+ ```
112
+
113
+ `npm publish` and `release-it` both run the package verification flow before publishing:
114
+
115
+ - `pnpm run check`
116
+ - `pnpm run test`
117
+ - `pnpm run build`
118
+
119
+ ## 🎨 Web UI Features
120
+
121
+ ### Graph Visualization
122
+
123
+ - **Force-directed layout**: Natural clustering of related modules
124
+ - **Hierarchical layout**: Shows import hierarchy and depth
125
+ - **Circular layout**: Arranges nodes in a circle for better overview
126
+
127
+ ### Filtering Options
128
+
129
+ - **Search**: Find files by name or path
130
+ - **Node Types**: Toggle visibility of entry files, internal files, external dependencies, and barrel files
131
+ - **Depth Filter**: Limit visualization to N levels of imports
132
+
133
+ ### Node Types
134
+
135
+ - 🟢 **Entry**: Your main entry points
136
+ - 🔵 **Internal**: Your project files
137
+ - 🟠 **External**: NPM dependencies (entry points only)
138
+ - 🟣 **Barrel**: Files that primarily re-export other modules
139
+
140
+ ### Interaction
141
+
142
+ - **Click nodes**: View detailed information about imports, exports, and unused exports
143
+ - **Drag**: Rearrange graph layout
144
+ - **Zoom/Pan**: Navigate large graphs
145
+ - **Export**: Save filtered graph data as JSON
146
+
147
+ ### Snapshot Comparison
148
+
149
+ - **Baseline vs current**: Upload a previous graph snapshot and compare it to the currently served graph
150
+ - **History-backed compare**: Load named snapshots directly from `.modviz/history` without uploading files
151
+ - **Delta tables**: Review added or removed modules, direct edges, and package presence
152
+ - **Node-level changes**: See which files changed the most by inbound, outbound, and import-statement counts
153
+
154
+ ### Trace View
155
+
156
+ - **Package trace**: Ask why `react`, `zod`, or any external package is present
157
+ - **Node trace**: Follow stored origin chains into one file or module
158
+ - **CLI parity**: The same trace queries work in `modviz report`
159
+
160
+ ### Empty-state Boot Flow
161
+
162
+ - **Graceful startup**: If `modviz.json` is missing or invalid, the UI opens into a setup screen instead of failing the app boot
163
+ - **History-first recovery**: Compare can still load named snapshots even when no current graph is active
164
+
165
+ ## 🔧 Configuration
166
+
167
+ The tool automatically detects TypeScript projects and applies appropriate plugins:
168
+
169
+ - TypeScript source code analysis
170
+ - Import/export analysis
171
+ - Barrel file detection
172
+ - Unused export detection
173
+
174
+ ## Output Files
175
+
176
+ The default output file is `modviz.json`, which is the UI-oriented graph payload.
177
+
178
+ When you add `--llm`, modviz also writes:
179
+
180
+ - `modviz.llm.json`: structured analysis of hotspots, barrel files, external dependencies, and origin chains
181
+ - `modviz.llm.md`: compact Markdown summary intended to be pasted into an LLM or shared in code review
182
+
183
+ When you add `--llm-analyze`, modviz also writes:
184
+
185
+ - `modviz.llm.ai.md`: an AI-generated engineering summary using the Vercel AI SDK with an OpenAI-compatible API key
186
+
187
+ The `modviz.llm.json` file is designed to answer questions such as:
188
+
189
+ - which barrel files fan out to the most modules?
190
+ - which `node_modules` entries are introduced from multiple sources?
191
+ - what import chains lead from the entrypoint to a problematic dependency?
192
+
193
+ When the compact Markdown summary is too short, you can focus the written outputs and ask for a focused drilldown directly from the CLI:
194
+
195
+ - `--package=<name>`: focus the saved JSON and LLM outputs on one external package, and print the full source groups, representative modules, and origin chains
196
+ - `--node=<path>`: focus the saved JSON and LLM outputs on one internal or external node, and print the direct importers, origin chains, and hotspot metrics
197
+ - `--limit=<n>`: cap the length of each printed list in the drilldown output
198
+
199
+ The generated `modviz.json` contains:
200
+
201
+ ```json
202
+ {
203
+ "metadata": {
204
+ "entrypoints": ["src/index.ts"],
205
+ "basePath": "/repo",
206
+ "totalFiles": 25,
207
+ "generatedAt": "2026-04-01T00:00:00.000Z",
208
+ "nodeModulesCount": 5,
209
+ "packages": []
210
+ },
211
+ "nodes": [
212
+ {
213
+ "name": "index.ts",
214
+ "path": "src/index.ts",
215
+ "type": "entry",
216
+ "imports": [],
217
+ "exports": [],
218
+ "isBarrelFile": false,
219
+ "unusedExports": [],
220
+ "importees": ["src/utils.ts"],
221
+ "importedBy": [],
222
+ "chain": [["src/index.ts"]]
223
+ }
224
+ ],
225
+ "imports": ["src/utils.ts"]
226
+ }
227
+ ```
228
+
229
+ ## CLI commands and flags
230
+
231
+ - `analyze <entryFile>`: generate a new graph snapshot
232
+ - `serve [dataFile]`: launch the UI for an existing graph snapshot
233
+ - `report`: inspect an existing graph snapshot or a named history snapshot
234
+
235
+ - `--ui`: launch the browser UI after generating the graph
236
+ - `--output-file=<file>`: choose the base output filename
237
+ - `--graph-file=<file>`: choose the graph file used by `report`
238
+ - `--llm`: also emit LLM-oriented JSON and Markdown companion reports
239
+ - `--llm-analyze`: also generate an AI-written Markdown summary from the structured LLM report
240
+ - `--llm-model=<model>`: choose the OpenAI-compatible model for `--llm-analyze`
241
+ - `--llm-base-url=<url>`: choose the OpenAI-compatible base URL for `--llm-analyze`
242
+ - `--package=<name>`: focus the outputs on one external package and print a drilldown
243
+ - `--node=<path>`: focus the outputs on one node path or display path and print a drilldown
244
+ - `--limit=<n>`: limit list output in drilldowns
245
+ - `--node-modules`: keep `node_modules` in the analyzed graph instead of excluding them
246
+ - `--ignore-dynamic`: ignore dynamic imports
247
+ - `--ignore-type-only`: ignore type-only imports
248
+ - `--module-lexer=rs|es`: choose the import parser
249
+ - `--port=<port>`: choose the UI server port
250
+ - `--snapshot-name=<name>`: save the generated graph into `.modviz/history` as a named snapshot
251
+ - `--snapshot=<id>`: use a named snapshot from history for `report`
252
+ - `--list-snapshots`: print the named snapshot history
253
+
254
+ ## Use Cases
255
+
256
+ - **Refactoring**: Identify unused exports and circular dependencies
257
+ - **Code Review**: Understand module relationships and import patterns
258
+ - **Architecture Analysis**: Visualize your project's dependency structure
259
+ - **Bundle Analysis**: See which external dependencies are actually used
260
+ - **Documentation**: Generate visual documentation of your codebase structure
261
+ - **Change Review**: Compare snapshots before and after a refactor to confirm which dependency edges moved
Binary file
Binary file
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-text-shadow-color:initial;--tw-text-shadow-alpha:100%;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-cyan-600:oklch(60.9% .126 221.723);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-300:oklch(81% .117 11.638);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-3xl:48rem;--container-4xl:56rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}*{border-color:var(--color-gray-200)}:is(.dark *){border-color:var(--color-gray-800)}html,body{background-color:var(--color-gray-50);color:var(--color-gray-900)}:is(html,body):is(.dark *){background-color:var(--color-gray-950);color:var(--color-gray-200)}.using-mouse *{outline:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.start-2{inset-inline-start:calc(var(--spacing) * 2)}.end{inset-inline-end:var(--spacing)}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-10\!{z-index:10!important}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.aspect-\[5\/3\]{aspect-ratio:5/3}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[80vh\]{height:80vh}.h-\[100vh\]{height:100vh}.h-\[calc\(100vh-14rem\)\]{height:calc(100vh - 14rem)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[20rem\]{max-height:20rem}.max-h-\[26rem\]{max-height:26rem}.max-h-\[28rem\]{max-height:28rem}.max-h-\[300px\]{max-height:300px}.max-h-\[min\(24rem\,var\(--available-height\)\)\]{max-height:min(24rem, var(--available-height))}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-\[12rem\]{min-height:12rem}.min-h-\[24rem\]{min-height:24rem}.min-h-\[38px\]{min-height:38px}.min-h-\[84px\]{min-height:84px}.min-h-\[680px\]{min-height:680px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-12{width:calc(var(--spacing) * 12)}.w-72{width:calc(var(--spacing) * 72)}.w-\[18rem\]{width:18rem}.w-\[20rem\]{width:20rem}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-70{max-width:calc(var(--spacing) * 70)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-100{max-width:calc(var(--spacing) * 100)}.max-w-\[14rem\]{max-width:14rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[32rem\]{max-width:32rem}.max-w-\[auto\]{max-width:auto}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-\[18rem\]{min-width:18rem}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.-translate-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-pointer{cursor:pointer}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-w-resize{cursor:w-resize}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.resize-none{resize:none}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-slate-200>:not(:last-child)){border-color:var(--color-slate-200)}:where(.divide-slate-200\/70>:not(:last-child)){border-color:#e2e8f0b3}@supports (color:color-mix(in lab, red, red)){:where(.divide-slate-200\/70>:not(:last-child)){border-color:color-mix(in oklab, var(--color-slate-200) 70%, transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[16px\]{border-radius:16px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-200\/60{border-color:#fee68599}@supports (color:color-mix(in lab, red, red)){.border-amber-200\/60{border-color:color-mix(in oklab, var(--color-amber-200) 60%, transparent)}}.border-blue-200\/70{border-color:#bedbffb3}@supports (color:color-mix(in lab, red, red)){.border-blue-200\/70{border-color:color-mix(in oklab, var(--color-blue-200) 70%, transparent)}}.border-current\/15{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.border-current\/15{border-color:color-mix(in oklab, currentcolor 15%, transparent)}}.border-current\/20{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.border-current\/20{border-color:color-mix(in oklab, currentcolor 20%, transparent)}}.border-emerald-300{border-color:var(--color-emerald-300)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-input{border-color:var(--input)}.border-red-300{border-color:var(--color-red-300)}.border-rose-200{border-color:var(--color-rose-200)}.border-rose-200\/70{border-color:#ffccd3b3}@supports (color:color-mix(in lab, red, red)){.border-rose-200\/70{border-color:color-mix(in oklab, var(--color-rose-200) 70%, transparent)}}.border-sky-200{border-color:var(--color-sky-200)}.border-sky-300{border-color:var(--color-sky-300)}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab, red, red)){.border-sky-500\/40{border-color:color-mix(in oklab, var(--color-sky-500) 40%, transparent)}}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/70{border-color:#e2e8f0b3}@supports (color:color-mix(in lab, red, red)){.border-slate-200\/70{border-color:color-mix(in oklab, var(--color-slate-200) 70%, transparent)}}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab, red, red)){.border-slate-200\/80{border-color:color-mix(in oklab, var(--color-slate-200) 80%, transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-white\/60{border-color:#fff9}@supports (color:color-mix(in lab, red, red)){.border-white\/60{border-color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.border-white\/75{border-color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.border-white\/75{border-color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.border-white\/80{border-color:#fffc}@supports (color:color-mix(in lab, red, red)){.border-white\/80{border-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-amber-50\/80{background-color:#fffbebcc}@supports (color:color-mix(in lab, red, red)){.bg-amber-50\/80{background-color:color-mix(in oklab, var(--color-amber-50) 80%, transparent)}}.bg-background{background-color:var(--background)}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-50\/80{background-color:#eff6ffcc}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\/80{background-color:color-mix(in oklab, var(--color-blue-50) 80%, transparent)}}.bg-border{background-color:var(--border)}.bg-cyan-600{background-color:var(--color-cyan-600)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-50{background-color:var(--color-red-50)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-50\/80{background-color:#fff1f2cc}@supports (color:color-mix(in lab, red, red)){.bg-rose-50\/80{background-color:color-mix(in oklab, var(--color-rose-50) 80%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/70{background-color:#f8fafcb3}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/70{background-color:color-mix(in oklab, var(--color-slate-50) 70%, transparent)}}.bg-slate-50\/80{background-color:#f8fafccc}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/80{background-color:color-mix(in oklab, var(--color-slate-50) 80%, transparent)}}.bg-slate-50\/90{background-color:#f8fafce6}@supports (color:color-mix(in lab, red, red)){.bg-slate-50\/90{background-color:color-mix(in oklab, var(--color-slate-50) 90%, transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/18{background-color:#ffffff2e}@supports (color:color-mix(in lab, red, red)){.bg-white\/18{background-color:color-mix(in oklab, var(--color-white) 18%, transparent)}}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.bg-white\/70{background-color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.bg-white\/72{background-color:#ffffffb8}@supports (color:color-mix(in lab, red, red)){.bg-white\/72{background-color:color-mix(in oklab, var(--color-white) 72%, transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[radial-gradient\(circle_at_top_left\,_rgba\(14\,165\,233\,0\.14\)\,_transparent_24\%\)\,radial-gradient\(circle_at_top_right\,_rgba\(249\,115\,22\,0\.12\)\,_transparent_22\%\)\,linear-gradient\(180deg\,_rgba\(255\,255\,255\,0\.96\)\,_rgba\(248\,250\,252\,0\.96\)\)\]{background-image:radial-gradient(circle at 0 0,#0ea5e924,#0000 24%),radial-gradient(circle at 100% 0,#f973161f,#0000 22%),linear-gradient(#fffffff5,#f8fafcf5)}.from-amber-50{--tw-gradient-from:var(--color-amber-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-yellow-600{--tw-gradient-from:var(--color-yellow-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-amber-600{--tw-gradient-to:var(--color-amber-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-yellow-50{--tw-gradient-to:var(--color-yellow-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.ps-8{padding-inline-start:calc(var(--spacing) * 8)}.pe-2{padding-inline-end:calc(var(--spacing) * 2)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-800{color:var(--color-amber-800)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-foreground{color:var(--foreground)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-muted-foreground,.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/70{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/80{color:color-mix(in oklab, var(--muted-foreground) 80%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-400{color:var(--color-red-400)}.text-red-700{color:var(--color-red-700)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sky-700{color:var(--color-sky-700)}.text-sky-900{color:var(--color-sky-900)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-amber-600{-webkit-text-decoration-color:var(--color-amber-600);-webkit-text-decoration-color:var(--color-amber-600);-webkit-text-decoration-color:var(--color-amber-600);text-decoration-color:var(--color-amber-600)}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_12px_32px_-22px_rgba\(15\,23\,42\,0\.55\)\]{--tw-shadow:0 12px 32px -22px var(--tw-shadow-color,#0f172a8c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_16px_50px_-32px_rgba\(15\,23\,42\,0\.55\)\]{--tw-shadow:0 16px 50px -32px var(--tw-shadow-color,#0f172a8c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_18px_48px_-32px_rgba\(15\,23\,42\,0\.65\)\]{--tw-shadow:0 18px 48px -32px var(--tw-shadow-color,#0f172aa6);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_20px_70px_-36px_rgba\(15\,23\,42\,0\.55\)\]{--tw-shadow:0 20px 70px -36px var(--tw-shadow-color,#0f172a8c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_20px_80px_-45px_rgba\(15\,23\,42\,0\.65\)\]{--tw-shadow:0 20px 80px -45px var(--tw-shadow-color,#0f172aa6);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_24px_80px_-36px_rgba\(15\,23\,42\,0\.75\)\]{--tw-shadow:0 24px 80px -36px var(--tw-shadow-color,#0f172abf);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-amber-600{outline-color:var(--color-amber-600)}.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-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[1\.5px\]{--tw-backdrop-blur:blur(1.5px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--arrow-background\:var\(--popover\)\]{--arrow-background:var(--popover)}.\[--arrow-size\:calc\(var\(--spacing\)\*2\)\]{--arrow-size:calc(var(--spacing) * 2)}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.text-shadow-md{text-shadow:0px 1px 1px var(--tw-text-shadow-color,#0000001a), 0px 1px 2px var(--tw-text-shadow-color,#0000001a), 0px 2px 4px var(--tw-text-shadow-color,#0000001a)}.zoom-in{--tw-enter-scale:0}.zoom-out{--tw-exit-scale:0}:is(.\*\:not-first\:mt-2>*):not(:first-child){margin-top:calc(var(--spacing) * 2)}.group-open\:rotate-0:is(:where(.group):is([open],:popover-open,:open) *){rotate:0deg}@media (hover:hover){.group-hover\:text-sky-600:is(:where(.group):hover *){color:var(--color-sky-600)}}.group-data-\[selected\]\:bg-blue-500:is(:where(.group)[data-selected] *){background-color:var(--color-blue-500)}.group-data-\[selected\]\:text-blue-500:is(:where(.group)[data-selected] *){color:var(--color-blue-500)}.group-data-\[selected\]\:text-blue-700:is(:where(.group)[data-selected] *){color:var(--color-blue-700)}.group-data-\[state\=open\]\:rotate-90:is(:where(.group)[data-state=open] *){rotate:90deg}.group-data-\[state\=open\]\:text-slate-600:is(:where(.group)[data-state=open] *){color:var(--color-slate-600)}.group-data-\[state\=open\]\:text-slate-900:is(:where(.group)[data-state=open] *){color:var(--color-slate-900)}.file\:me-3::file-selector-button{margin-inline-end:calc(var(--spacing) * 3)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:h-full::file-selector-button{height:100%}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:border-r::file-selector-button{border-right-style:var(--tw-border-style);border-right-width:1px}.file\:border-solid::file-selector-button{--tw-border-style:solid;border-style:solid}.file\:border-input::file-selector-button{border-color:var(--input)}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:px-3::file-selector-button{padding-inline:calc(var(--spacing) * 3)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.file\:not-italic::file-selector-button{font-style:normal}.placeholder\:text-muted-foreground::placeholder,.placeholder\:text-muted-foreground\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-muted-foreground\/70::placeholder{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}.focus-within\:border-ring:focus-within{border-color:var(--ring)}.focus-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}@media (hover:hover){.hover\:scale-\[1\.03\]:hover{scale:1.03}.hover\:border-sky-300:hover{border-color:var(--color-sky-300)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sky-50:hover{background-color:var(--color-sky-50)}.hover\:bg-sky-50\/30:hover{background-color:#f0f9ff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-sky-50\/30:hover{background-color:color-mix(in oklab, var(--color-sky-50) 30%, transparent)}}.hover\:bg-sky-50\/70:hover{background-color:#f0f9ffb3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-sky-50\/70:hover{background-color:color-mix(in oklab, var(--color-sky-50) 70%, transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:from-yellow-700:hover{--tw-gradient-from:var(--color-yellow-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:to-amber-700:hover{--tw-gradient-to:var(--color-amber-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-sky-700:hover{color:var(--color-sky-700)}.hover\:text-sky-800:hover{color:var(--color-sky-800)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_24px_70px_-34px_rgba\(14\,165\,233\,0\.45\)\]:hover{--tw-shadow:0 24px 70px -34px var(--tw-shadow-color,#0ea5e973);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-yellow-500:focus{--tw-ring-color:var(--color-yellow-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([aria-invalid=true]) .in-aria-invalid\:text-destructive\/80{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:where([aria-invalid=true]) .in-aria-invalid\:text-destructive\/80{color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.has-disabled\:pointer-events-none:has(:disabled){pointer-events:none}.has-disabled\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-invalid\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-hidden\:hidden[data-hidden]{display:none}.data-maximized\:rounded-none[data-maximized]{border-radius:0}.data-selected\:bg-white[data-selected]{background-color:var(--color-white)}.data-selected\:text-gray-900[data-selected]{color:var(--color-gray-900)}.data-selected\:shadow-sm[data-selected]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[highlighted\]\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{color:var(--accent-foreground)}.data-\[placeholder-shown\]\:text-muted-foreground[data-placeholder-shown]{color:var(--muted-foreground)}.data-\[placement\=bottom\]\:translate-y-1[data-placement=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[placement\=bottom\]\:slide-in-from-top-2[data-placement=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[placement\=left\]\:-translate-x-1[data-placement=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[placement\=left\]\:slide-in-from-right-2[data-placement=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[placement\=right\]\:translate-x-1[data-placement=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[placement\=right\]\:slide-in-from-left-2[data-placement=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[placement\=top\]\:-translate-y-1[data-placement=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[placement\=top\]\:slide-in-from-bottom-2[data-placement=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[selected\]\:bg-blue-50[data-selected]{background-color:var(--color-blue-50)}.data-\[selected\]\:text-blue-700[data-selected]{color:var(--color-blue-700)}.data-\[selected\]\:shadow-sm[data-selected]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[selected\]\:ring-1[data-selected]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[selected\]\:ring-blue-200[data-selected]{--tw-ring-color:var(--color-blue-200)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.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-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:text-slate-900[data-state=open]{color:var(--color-slate-900)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}@media (width>=40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-left{text-align:left}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:h-auto{height:auto}.lg\:w-\[35\%\]{width:35%}.lg\:w-\[65\%\]{width:65%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(0\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:overflow-y-auto{overflow-y:auto}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (width>=80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(0\,1\.3fr\)_auto\]{grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) auto}}:where(.dark\:divide-slate-800:is(.dark *)>:not(:last-child)){border-color:var(--color-slate-800)}.dark\:border-amber-500\/40:is(.dark *){border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.dark\:border-amber-500\/40:is(.dark *){border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.dark\:border-blue-900\/30:is(.dark *){border-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.dark\:border-blue-900\/30:is(.dark *){border-color:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.dark\:border-emerald-500\/40:is(.dark *){border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.dark\:border-emerald-500\/40:is(.dark *){border-color:color-mix(in oklab, var(--color-emerald-500) 40%, transparent)}}.dark\:border-gray-600:is(.dark *){border-color:var(--color-gray-600)}.dark\:border-gray-700:is(.dark *){border-color:var(--color-gray-700)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-red-900:is(.dark *){border-color:var(--color-red-900)}.dark\:border-rose-500\/30:is(.dark *){border-color:#ff23574d}@supports (color:color-mix(in lab, red, red)){.dark\:border-rose-500\/30:is(.dark *){border-color:color-mix(in oklab, var(--color-rose-500) 30%, transparent)}}.dark\:border-sky-400:is(.dark *){border-color:var(--color-sky-400)}.dark\:border-sky-500\/20:is(.dark *){border-color:#00a5ef33}@supports (color:color-mix(in lab, red, red)){.dark\:border-sky-500\/20:is(.dark *){border-color:color-mix(in oklab, var(--color-sky-500) 20%, transparent)}}.dark\:border-sky-500\/30:is(.dark *){border-color:#00a5ef4d}@supports (color:color-mix(in lab, red, red)){.dark\:border-sky-500\/30:is(.dark *){border-color:color-mix(in oklab, var(--color-sky-500) 30%, transparent)}}.dark\:border-sky-500\/40:is(.dark *){border-color:#00a5ef66}@supports (color:color-mix(in lab, red, red)){.dark\:border-sky-500\/40:is(.dark *){border-color:color-mix(in oklab, var(--color-sky-500) 40%, transparent)}}.dark\:border-slate-700:is(.dark *){border-color:var(--color-slate-700)}.dark\:border-slate-700\/60:is(.dark *){border-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/60:is(.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:border-slate-700\/80:is(.dark *){border-color:#314158cc}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/80:is(.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 80%, transparent)}}.dark\:border-slate-800:is(.dark *){border-color:var(--color-slate-800)}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/10:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.dark\:bg-amber-500\/10:is(.dark *){background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-500\/10:is(.dark *){background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1624564d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-950\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-blue-950) 30%, transparent)}}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-emerald-500\/10:is(.dark *){background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-500\/10:is(.dark *){background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.dark\:bg-gray-700:is(.dark *){background-color:var(--color-gray-700)}.dark\:bg-gray-800:is(.dark *){background-color:var(--color-gray-800)}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1e293980}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-800\/50:is(.dark *){background-color:color-mix(in oklab, var(--color-gray-800) 50%, transparent)}}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:bg-red-950\/30:is(.dark *){background-color:#4608094d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-950\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-red-950) 30%, transparent)}}.dark\:bg-rose-500\/10:is(.dark *){background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-rose-500\/10:is(.dark *){background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.dark\:bg-sky-500:is(.dark *){background-color:var(--color-sky-500)}.dark\:bg-sky-500\/10:is(.dark *){background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-500\/10:is(.dark *){background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.dark\:bg-sky-500\/15:is(.dark *){background-color:#00a5ef26}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-500\/15:is(.dark *){background-color:color-mix(in oklab, var(--color-sky-500) 15%, transparent)}}.dark\:bg-sky-500\/20:is(.dark *){background-color:#00a5ef33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-sky-500\/20:is(.dark *){background-color:color-mix(in oklab, var(--color-sky-500) 20%, transparent)}}.dark\:bg-slate-100:is(.dark *){background-color:var(--color-slate-100)}.dark\:bg-slate-600:is(.dark *){background-color:var(--color-slate-600)}.dark\:bg-slate-900:is(.dark *){background-color:var(--color-slate-900)}.dark\:bg-slate-900\/40:is(.dark *){background-color:#0f172b66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-900\/40:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-900) 40%, transparent)}}.dark\:bg-slate-900\/50:is(.dark *){background-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-900\/50:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.dark\:bg-slate-900\/60:is(.dark *){background-color:#0f172b99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-900\/60:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-900) 60%, transparent)}}.dark\:bg-slate-900\/70:is(.dark *){background-color:#0f172bb3}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-900\/70:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-900) 70%, transparent)}}.dark\:bg-slate-900\/80:is(.dark *){background-color:#0f172bcc}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-900\/80:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-900) 80%, transparent)}}.dark\:bg-slate-950:is(.dark *){background-color:var(--color-slate-950)}.dark\:bg-slate-950\/12:is(.dark *){background-color:#0206181f}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/12:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-950) 12%, transparent)}}.dark\:bg-slate-950\/30:is(.dark *){background-color:#0206184d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/30:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-950) 30%, transparent)}}.dark\:bg-slate-950\/40:is(.dark *){background-color:#02061866}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/40:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-950) 40%, transparent)}}.dark\:bg-slate-950\/60:is(.dark *){background-color:#02061899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/60:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-950) 60%, transparent)}}.dark\:bg-slate-950\/70:is(.dark *){background-color:#020618b3}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/70:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-950) 70%, transparent)}}.dark\:bg-slate-950\/72:is(.dark *){background-color:#020618b8}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/72:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-950) 72%, transparent)}}.dark\:bg-slate-950\/80:is(.dark *){background-color:#020618cc}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/80:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-950) 80%, transparent)}}.dark\:bg-slate-950\/90:is(.dark *){background-color:#020618e6}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-950\/90:is(.dark *){background-color:color-mix(in oklab, var(--color-slate-950) 90%, transparent)}}.dark\:bg-\[radial-gradient\(circle_at_top_left\,_rgba\(14\,165\,233\,0\.18\)\,_transparent_22\%\)\,radial-gradient\(circle_at_top_right\,_rgba\(249\,115\,22\,0\.16\)\,_transparent_20\%\)\,linear-gradient\(180deg\,_rgba\(2\,6\,23\,0\.98\)\,_rgba\(15\,23\,42\,0\.98\)\)\]:is(.dark *){background-image:radial-gradient(circle at 0 0,#0ea5e92e,#0000 22%),radial-gradient(circle at 100% 0,#f9731629,#0000 20%),linear-gradient(#020617fa,#0f172afa)}.dark\:from-gray-800:is(.dark *){--tw-gradient-from:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:to-gray-700:is(.dark *){--tw-gradient-to:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.dark\:text-amber-200:is(.dark *){color:var(--color-amber-200)}.dark\:text-blue-100:is(.dark *){color:var(--color-blue-100)}.dark\:text-blue-200:is(.dark *){color:var(--color-blue-200)}.dark\:text-emerald-200:is(.dark *){color:var(--color-emerald-200)}.dark\:text-emerald-300:is(.dark *){color:var(--color-emerald-300)}.dark\:text-gray-100:is(.dark *){color:var(--color-gray-100)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-red-300:is(.dark *){color:var(--color-red-300)}.dark\:text-rose-200:is(.dark *){color:var(--color-rose-200)}.dark\:text-rose-300:is(.dark *){color:var(--color-rose-300)}.dark\:text-sky-100:is(.dark *){color:var(--color-sky-100)}.dark\:text-sky-200:is(.dark *){color:var(--color-sky-200)}.dark\:text-sky-300:is(.dark *){color:var(--color-sky-300)}.dark\:text-slate-100:is(.dark *){color:var(--color-slate-100)}.dark\:text-slate-200:is(.dark *){color:var(--color-slate-200)}.dark\:text-slate-300:is(.dark *){color:var(--color-slate-300)}.dark\:text-slate-400:is(.dark *){color:var(--color-slate-400)}.dark\:text-slate-900:is(.dark *){color:var(--color-slate-900)}.dark\:text-slate-950:is(.dark *){color:var(--color-slate-950)}.dark\:text-white:is(.dark *){color:var(--color-white)}@media (hover:hover){.dark\:group-hover\:text-sky-300:is(.dark *):is(:where(.group):hover *){color:var(--color-sky-300)}}.dark\:group-data-\[selected\]\:text-blue-300:is(.dark *):is(:where(.group)[data-selected] *){color:var(--color-blue-300)}.dark\:group-data-\[state\=open\]\:text-slate-100:is(.dark *):is(:where(.group)[data-state=open] *){color:var(--color-slate-100)}@media (hover:hover){.dark\:hover\:border-sky-500\/60:is(.dark *):hover{border-color:#00a5ef99}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:border-sky-500\/60:is(.dark *):hover{border-color:color-mix(in oklab, var(--color-sky-500) 60%, transparent)}}.dark\:hover\:border-sky-500\/70:is(.dark *):hover{border-color:#00a5efb3}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:border-sky-500\/70:is(.dark *):hover{border-color:color-mix(in oklab, var(--color-sky-500) 70%, transparent)}}.dark\:hover\:border-slate-700:is(.dark *):hover{border-color:var(--color-slate-700)}.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-gray-700:is(.dark *):hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-red-900\/20:is(.dark *):hover{background-color:#82181a33}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-red-900\/20:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-red-900) 20%, transparent)}}.dark\:hover\:bg-sky-500\/10:is(.dark *):hover{background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-sky-500\/10:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.dark\:hover\:bg-slate-800:is(.dark *):hover{background-color:var(--color-slate-800)}.dark\:hover\:bg-slate-800\/50:is(.dark *):hover{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-800\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.dark\:hover\:bg-slate-900:is(.dark *):hover{background-color:var(--color-slate-900)}.dark\:hover\:text-gray-200:is(.dark *):hover{color:var(--color-gray-200)}.dark\:hover\:text-red-400:is(.dark *):hover{color:var(--color-red-400)}.dark\:hover\:text-sky-200:is(.dark *):hover{color:var(--color-sky-200)}.dark\:hover\:text-sky-300:is(.dark *):hover{color:var(--color-sky-300)}.dark\:hover\:text-slate-100:is(.dark *):hover{color:var(--color-slate-100)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-selected\:bg-gray-800:is(.dark *)[data-selected]{background-color:var(--color-gray-800)}.dark\:data-selected\:text-gray-100:is(.dark *)[data-selected]{color:var(--color-gray-100)}.dark\:data-\[selected\]\:bg-blue-900\/30:is(.dark *)[data-selected]{background-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[selected\]\:bg-blue-900\/30:is(.dark *)[data-selected]{background-color:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.dark\:data-\[selected\]\:text-blue-300:is(.dark *)[data-selected]{color:var(--color-blue-300)}.dark\:data-\[selected\]\:ring-blue-800\/30:is(.dark *)[data-selected]{--tw-ring-color:#193cb84d}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[selected\]\:ring-blue-800\/30:is(.dark *)[data-selected]{--tw-ring-color:color-mix(in oklab, var(--color-blue-800) 30%, transparent)}}.dark\:data-\[state\=open\]\:text-slate-100:is(.dark *)[data-state=open]{color:var(--color-slate-100)}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&\:\:-webkit-search-cancel-button\]\:appearance-none::-webkit-search-cancel-button{appearance:none}.\[\&\:\:-webkit-search-decoration\]\:appearance-none::-webkit-search-decoration{appearance:none}.\[\&\:\:-webkit-search-results-button\]\:appearance-none::-webkit-search-results-button{appearance:none}.\[\&\:\:-webkit-search-results-decoration\]\:appearance-none::-webkit-search-results-decoration{appearance:none}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-text-shadow-color{syntax:"*";inherits:false}@property --tw-text-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@keyframes spin{to{transform:rotate(360deg)}}@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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,0))}}
@@ -0,0 +1 @@
1
+ import{a as e,n as t,t as n}from"./jsx-runtime-DWSWI4JT.js";import{n as r,t as i}from"./utils-DkkZd0ys.js";var a=e=>Array.isArray(e),o=e=>typeof e==`object`&&!!e,s=e=>o(e)&&!a(e),c=e=>typeof e==`string`,l=e=>typeof e==`function`,u=e=>e==null,d=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),f=e=>Object.prototype.toString.call(e),p=Function.prototype.toString,m=p.call(Object),h=e=>{if(!o(e)||f(e)!=`[object Object]`||v(e))return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let n=d(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&p.call(n)==m},g=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&`props`in e,_=e=>typeof e==`object`&&!!e&&`__v_isVNode`in e,v=e=>g(e)||_(e),y=e=>e(),b=()=>{},x=(...e)=>(...t)=>{e.forEach(function(e){e?.(...t)})};function S(e,t,...n){if(e in t){let r=t[e];return l(r)?r(...n):r}let r=Error(`No matching key: ${JSON.stringify(e)} in ${JSON.stringify(Object.keys(t))}`);throw Error.captureStackTrace?.(r,S),r}var C=(...e)=>e.map(e=>e?.trim?.()).filter(Boolean).join(` `),w=/((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g,T=e=>{let t={},n;for(;n=w.exec(e);)t[n[1]]=n[2];return t},E=(e,t)=>{if(c(e)){if(c(t))return`${e};${t}`;e=T(e)}else c(t)&&(t=T(t));return Object.assign({},e??{},t??{})};function D(...e){let t={};for(let n of e){if(!n)continue;for(let e in t){if(e.startsWith(`on`)&&typeof t[e]==`function`&&typeof n[e]==`function`){t[e]=x(n[e],t[e]);continue}if(e===`className`||e===`class`){t[e]=C(t[e],n[e]);continue}if(e===`style`){t[e]=E(t[e],n[e]);continue}t[e]=n[e]===void 0?t[e]:n[e]}for(let e in n)t[e]===void 0&&(t[e]=n[e]);let e=Object.getOwnPropertySymbols(n);for(let r of e)t[r]=n[r]}return t}var O=e(t(),1);function k(...e){return t=>{let n=[];for(let r of e)if(typeof r==`function`){let e=r(t);typeof e==`function`&&n.push(e)}else r&&(r.current=t);if(n.length)return()=>{for(let e of n)e()}}}function A(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var j=e=>{let t=(0,O.memo)((0,O.forwardRef)((t,n)=>{let{asChild:r,children:i,...a}=t;if(!r)return(0,O.createElement)(e,{...a,ref:n},i);if(!(0,O.isValidElement)(i))return null;let o=O.Children.only(i),s=A(o);return(0,O.cloneElement)(o,{...D(a,o.props),ref:n?k(n,s):s})}));return t.displayName=e.displayName||e.name,t},M=(()=>{let e=new Map;return new Proxy(j,{apply(e,t,n){return j(n[0])},get(t,n){let r=n;return e.has(r)||e.set(r,j(r)),e.get(r)}})})(),N=(e,t=[])=>({parts:(...n)=>{if(F(t))return N(e,n);throw Error(`createAnatomy().parts(...) should only be called once. Did you mean to use .extendWith(...) ?`)},extendWith:(...n)=>N(e,[...t,...n]),omit:(...n)=>N(e,t.filter(e=>!n.includes(e))),rename:e=>N(e,t),keys:()=>t,build:()=>[...new Set(t)].reduce((t,n)=>Object.assign(t,{[n]:{selector:[`&[data-scope="${P(e)}"][data-part="${P(n)}"]`,`& [data-scope="${P(e)}"][data-part="${P(n)}"]`].join(`, `),attrs:{"data-scope":P(e),"data-part":P(n)}}}),{})}),P=e=>e.replace(/([A-Z])([A-Z])/g,`$1-$2`).replace(/([a-z])([A-Z])/g,`$1-$2`).replace(/[\s_]+/g,`-`).toLowerCase(),F=e=>e.length===0;function I(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function L(...e){return t=>{let n=!1,r=e.map(e=>{let r=I(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():I(e[t],null)}}}}function R(...e){return O.useCallback(L(...e),e)}var z=n(),B=Symbol.for(`react.lazy`),V=O.use;function H(e){return typeof e==`object`&&!!e&&`then`in e}function U(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===B&&`_payload`in e&&H(e._payload)}function W(e){let t=K(e),n=O.forwardRef((e,n)=>{let{children:r,...i}=e;U(r)&&typeof V==`function`&&(r=V(r._payload));let a=O.Children.toArray(r),o=a.find(J);if(o){let e=o.props.children,r=a.map(t=>t===o?O.Children.count(e)>1?O.Children.only(null):O.isValidElement(e)?e.props.children:null:t);return(0,z.jsx)(t,{...i,ref:n,children:O.isValidElement(e)?O.cloneElement(e,void 0,r):null})}return(0,z.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var G=W(`Slot`);function K(e){let t=O.forwardRef((e,t)=>{let{children:n,...r}=e;if(U(n)&&typeof V==`function`&&(n=V(n._payload)),O.isValidElement(n)){let e=X(n),i=Y(r,n.props);return n.type!==O.Fragment&&(i.ref=t?L(t,e):e),O.cloneElement(n,i)}return O.Children.count(n)>1?O.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var q=Symbol(`radix.slottable`);function J(e){return O.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===q}function Y(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function X(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Z=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Q=r,$=((e,t)=>n=>{if(t?.variants==null)return Q(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Z(t)||Z(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Q(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)})(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-xs hover:bg-primary/90`,destructive:`bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function ee({className:e,variant:t,size:n,asChild:r=!1,...a}){return(0,z.jsx)(r?G:`button`,{"data-slot":`button`,className:i($({variant:t,size:n,className:e})),...a})}export{s as _,N as a,D as c,S as d,b as f,u as g,l as h,R as i,x as l,a as m,W as n,M as o,d as p,L as r,k as s,ee as t,y as u,h as v,c as y};
@@ -0,0 +1 @@
1
+ import{r as e}from"./utils-DkkZd0ys.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./utils-DkkZd0ys.js";var t=e(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{r as e}from"./utils-DkkZd0ys.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{a as e,r as t}from"./jsx-runtime-DWSWI4JT.js";var n=t(((e,t)=>{function n(e,t){return e+Math.floor(Math.random()*(t-e+1))}function r(e){e||=n(0,2**31-1),this.seed=e%2147483647,this.seed<=0&&(this.seed+=2147483646)}r.prototype.next=function(){return this.seed=this.seed*16807%2147483647,this.seed},r.prototype.nextFloat=function(){return(this.next()-1)/2147483646},t.exports=r})),r=t((e=>{var t={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452};function n(e){return Math.round(255*(e<=.00304?12.92*e:1.055*e**(1/2.4)-.055))}function r(e){return(e/=255)<=.04045?e/12.92:((e+.055)/1.055)**2.4}function i(e){return e>t.t3?e**(1/3):e/t.t2+t.t0}function a(e){var n=e[0],a=e[1],o=e[2];return n=r(n),a=r(a),o=r(o),[i((.4124564*n+.3575761*a+.1804375*o)/t.Xn),i((.2126729*n+.7151522*a+.072175*o)/t.Yn),i((.0193339*n+.119192*a+.9503041*o)/t.Zn)]}function o(e){return e>t.t1?e*e*e:t.t2*(e-t.t0)}function s(e){var r=e[0],i=e[1],a=e[2],s=(r+16)/116,c=isNaN(i)?s:s+i/500,l=isNaN(a)?s:s-a/200;s=t.Yn*o(s),c=t.Xn*o(c),l=t.Zn*o(l);var u=n(3.2404542*c-1.5371385*s-.4985314*l),d=n(-.969266*c+1.8760108*s+.041556*l);return a=n(.0556434*c-.2040259*s+1.0572252*l),[u,d,a]}function c(e){var t=a(e),n=t[0],r=t[1],i=t[2],o=116*r-16;return[o<0?0:o,500*(n-r),200*(r-i)]}function l(e){var t=e[0],n=e[1],r=e[2];return t>=0&&t<=255&&n>=0&&n<=255&&r>=0&&r<=255}function u(e){return(`0`+e.toString(16)).slice(-2)}function d(e){var t=s(e);return`#`+u(t[0])+u(t[1])+u(t[2])}var f=180/Math.PI;function p(e){var t=e[0],n=e[1],r=e[2],i=Math.sqrt(n*n+r*r),a=(Math.atan2(r,n)*f+360)%360;return Math.round(i*1e4)===0&&(a=NaN),[a,i,t]}function m(e,t){t=t.slice();for(var n=[t.shift()],r,i,a,o,s,c,l;t.length>0;){for(r=-1,i=-1/0,a=0;a<t.length;a++)for(o=t[a],l=0;l<n.length;l++)s=n[l],c=e(o,s),c>i&&(i=c,r=a);n.push(t[r]),t.splice(r,1)}return n}function h(e,t){var n,r,i,a=1/0,o,s=0,c=0;for(n=0,i=t.length;n<i;n++)for(r=n+1;r<i;r++)o=e(t[n],t[r]),o<a&&(a=o),s+=o,c++;return{min:a,mean:s/c}}e.validateRgb=l,e.labToRgb=s,e.labToRgbHex=d,e.rgbToLab=c,e.labToHcl=p,e.diffSort=m,e.computeQualityMetrics=h})),i=t(((e,t)=>{var n=r(),i={protanope:{x:.7465,y:.2535,m:1.273463,yint:-.073894},deuteranope:{x:1.4,y:-.4,m:.968437,yint:.003331},tritanope:{x:.1748,y:0,m:.062921,yint:.292119}};function a(e,t){return Math.sqrt((e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2)}function o(e,t,n,r){for(var i=n[0],a=r[0],o=n[1],s=r[1],c=n[2],l=r[2],u=Math.sqrt(o**2+c**2),d=u-Math.sqrt(s**2+l**2),f=i-a,p=o-s,m=c-l,h=Math.sqrt(p**2+m**2+d**2),g=180/Math.PI*Math.atan2(c,o);g<0;)g+=360;var _=Math.sqrt(u**4/(u**4+1900)),v=g>=164&&g<=345?.56+Math.abs(.2*Math.cos(g+168)):.36+Math.abs(.4*Math.cos(g+35)),y=n[0]<16?.511:.040975*i/(1+.01765*i),b=.0638*u/(1+.0131*u)+.638,x=b*(_*v+1-_);return Math.sqrt((f/(e*y))**2+(d/(t*b))**2+(h/x)**2)}function s(){this.cache={}}s.prototype.simulate=function(e,t,r){r||=1;var a=e.join(`-`)+`-`+t+`-`+r,o=this.cache[a];if(o)return o;var s=i[t].x,c=i[t].y,l=i[t].m,u=i[t].yint,d=n.labToRgb(e),f=d[0],p=d[1],m=d[2],h=f,g=p,_=m,v=f**2.2,y=p**2.2,b=m**2.2,x=v*.412424+y*.357579+b*.180464,S=v*.212656+y*.715158+b*.0721856,C=v*.0193324+y*.119193+b*.950444,w=x/(x+S+C),T=S/(x+S+C),E=(T-c)/(w-s),D=T-w*E,O=(u-D)/(E-l),k=E*O+D;x=O*S/k,C=(1-(O+k))*S/k;var A=.312713*S/.329016,j=.358271*S/.329016,M=A-x,N=j-C,P=M*3.24071+N*-.498571,F=M*-.969258+N*.0415557,I=M*.0556352+N*1.05707;h=x*3.24071+S*-1.53726+C*-.498571,g=x*-.969258+S*1.87599+C*.0415557,_=x*.0556352+S*-.203996+C*1.05707;var L=((h<0?0:1)-h)/P,R=((g<0?0:1)-g)/F,z=((_<0?0:1)-_)/I,B=Math.max(L>1||L<0?0:L,R>1||R<0?0:R,z>1||z<0?0:z);h+=B*P,g+=B*F,_+=B*I,h**=1/2.2,g**=1/2.2,_**=1/2.2,h=f*(1-r)+h*r,g=p*(1-r)+g*r,_=m*(1-r)+_*r;var V=[h,g,_],H=n.rgbToLab(V);return this.cache[a]=H,H},s.prototype.euclidean=a,s.prototype.cmc=o.bind(null,2,1),s.prototype.colorblind=function(e,t,n){return t=this.simulate(t,e),n=this.simulate(n,e),this.cmc(t,n)},Object.keys(i).forEach(function(e){s.prototype[e]=function(t,n){return this.colorblind(e,t,n)}});var c=1601;s.prototype.compromise=function(e,t){var n=0,r=this.cmc(e,t);return n+=r*1e3,r=this.colorblind(`protanope`,e,t),isNaN(r)||(n+=r*100),r=this.colorblind(`deuteranope`,e,t),isNaN(r)||(n+=r*500),r=this.colorblind(`tritanope`,e,t),isNaN(r)||(n+=r*1),n/c},s.prototype.get=function(e){return e in i?this.colorblind.bind(this,e):this[e].bind(this)},t.exports=s})),a=t(((e,t)=>{t.exports={all:[0,360,0,100,0,100],default:[0,360,30,80,35,80],sensible:[0,360,25.59,55.59,60.94,90.94],colorblind:[0,360,40,70,15,85],"fancy-light":[0,360,15,40,70,100],"fancy-dark":[0,360,8,40,7,40],shades:[0,240,0,15,0,100],tarnish:[0,360,0,15,30,70],pastel:[0,360,0,30,70,100],pimp:[0,360,30,100,25,70],intense:[0,360,20,100,15,80],fluo:[0,300,35,100,75,100],"red-roses":[330,20,10,100,35,100],"ochre-sand":[20,60,20,50,35,100],"yellow-lime":[60,90,10,100,35,100],"green-mint":[90,150,10,100,35,100],"ice-cube":[150,200,0,100,35,100],"blue-ocean":[220,260,8,80,0,50],"indigo-night":[260,290,40,100,35,100],"purple-wine":[290,330,0,100,0,40]}})),o=e(t(((e,t)=>{var o=n(),s=i(),c=r(),l=a(),u=c.validateRgb,d=c.labToRgb,f=c.labToRgbHex,p=c.labToHcl,m=c.diffSort,h={attempts:1,colorFilter:null,colorSpace:`default`,clustering:`k-means`,quality:50,ultraPrecision:!1,distance:`euclidean`,seed:null},g=new Set([`force-vector`,`k-means`]),_=new Set([`euclidean`,`cmc`,`compromise`,`protanope`,`deuteranope`,`tritanope`]),v=new Set(Object.keys(l));function y(e){for(var t=0,n=0,r=e.length;n<r;n++)t+=e.charCodeAt(n);return t}function b(e){var t=Object.assign({},h,e);if(typeof t.attempts!=`number`||t.attempts<=0)throw Error("iwanthue: invalid `attempts` setting. Expecting a positive number.");if(t.colorFilter&&typeof t.colorFilter!=`function`)throw Error("iwanthue: invalid `colorFilter` setting. Expecting a function.");if(!g.has(t.clustering))throw Error('iwanthue: unknown `clustering` "'+t.clustering+`".`);if(typeof t.quality!=`number`||isNaN(t.quality)||t.quality<1)throw Error("iwanthue: invalid `quality`. Expecting a number > 0.");if(typeof t.ultraPrecision!=`boolean`)throw Error("iwanthue: invalid `ultraPrecision`. Expecting a boolean.");if(!_.has(t.distance))throw Error('iwanthue: unknown `distance` "'+t.distance+`".`);if(typeof t.seed==`string`&&(t.seed=y(t.seed)),t.seed!==null&&typeof t.seed!=`number`)throw Error("iwanthue: invalid `seed`. Expecting an integer or a string.");if(!t.colorFilter&&t.colorSpace&&t.colorSpace!==`all`){var n;if(typeof t.colorSpace==`string`){if(!v.has(t.colorSpace))throw Error('iwanthue: unknown `colorSpace` "'+t.colorSpace+`".`);n=l[t.colorSpace]}else if(Array.isArray(t.colorSpace)){if(t.colorSpace.length!==6)throw Error("iwanthue: expecting a `colorSpace` array of length 6 ([hmin, hmax, cmin, cmax, lmin, lmax]).");n=t.colorSpace}else n=[t.colorSpace.hmin||0,t.colorSpace.hmax||360,t.colorSpace.cmin||0,t.colorSpace.cmax||100,t.colorSpace.lmin||0,t.colorSpace.lmax||100];n[0]<n[1]?t.colorFilter=function(e,t){var r=p(t);return r[0]>=n[0]&&r[0]<=n[1]&&r[1]>=n[2]&&r[1]<=n[3]&&r[2]>=n[4]&&r[2]<=n[5]}:t.colorFilter=function(e,t){var r=p(t);return(r[0]>=n[0]||r[0]<=n[1])&&r[1]>=n[2]&&r[1]<=n[3]&&r[2]>=n[4]&&r[2]<=n[5]}}return t}function x(e,t,n){for(var r=Array(t),i,a,o=0;o<t;o++){do i=[100*e(),100*(2*e()-1),100*(2*e()-1)],a=d(i);while(!n(a,i));r[o]=i}return r}var S=100,C=100;function w(e,t,n,r,i){for(var a=Array(r.length),o=i.quality*20,s,c,l=r.length,u,f,p,m,h,g,_,v,y,b,x,w;o-- >0;){for(s=0;s<l;s++)a[s]={dl:0,da:0,db:0};for(s=0;s<l;s++)for(u=r[s],c=0;c<s;c++)f=r[c],p=t(u,f),p>0?(m=u[0]-f[0],h=u[1]-f[1],g=u[2]-f[2],_=S/p**2,a[s].dl+=m*_/p,a[s].da+=h*_/p,a[s].db+=g*_/p,a[c].dl-=m*_/p,a[c].da-=h*_/p,a[c].db-=g*_/p):(a[c].dl+=2-4*e(),a[c].da+=2-4*e(),a[c].db+=2-4*e());for(s=0;s<l;s++)y=r[s],x=C*Math.sqrt(a[s].dl**2+a[s].da**2+a[s].db**2),x>0&&(b=C*Math.min(.1,x)/x,v=[y[0]+a[s].dl*b,y[1]+a[s].da*b,y[2]+a[s].db*b],w=d(v),n(w,v)&&(r[s]=v))}}function T(e,t,n,r){var i=[],a=[],o,s,c,l,u,f=5,p=10,m=10;for(r.ultraPrecision&&(f=1,p=5,m=5),o=0;o<=100;o+=f)for(s=-100;s<=100;s+=p)for(c=-100;c<=100;c+=m)l=[o,s,c],u=d(l),t(u,l)&&(i.push(l),a.push(null));for(var h=r.quality,g,_,v,y,b=i.length,x=n.length,S,C,w,T,E,D;h-- >0;){for(g=0;g<b;g++)for(y=i[g],C=1/0,_=0;_<x;_++)v=n[_],S=e(v,y),S<C&&(C=S,a[g]=_);for(w=i.slice(),_=0;_<x;_++){for(T=0,E=[0,0,0],g=0;g<b;g++)a[g]===_&&(T++,E[0]+=i[g][0],E[1]+=i[g][1],E[2]+=i[g][2]);if(T!==0)if(E[0]/=T,E[1]/=T,E[2]/=T,u=d(E),t(u,E))n[_]=E;else{if(w.length>0){for(C=1/0,D=-1,g=0;g<w.length;g++)S=e(w[g],E),S<C&&(C=S,D=g);n[_]=i[D]}else{for(C=1/0,D=-1,g=0;g<i.length;g++)S=e(i[g],E),S<C&&(C=S,D=g);n[_]=i[D]}w=w.filter(function(e){return e[0]!==n[_][0]||e[1]!==n[_][1]||e[2]!==n[_][2]})}}}return n}t.exports=function(e,t){if(typeof e!=`number`||e<1)throw Error(`iwanthue: expecting a color count > 1.`);t=b(t);var n=new o(t.seed),r=function(){return n.nextFloat()},i=new s().get(t.distance),a=function(e,n){return u(e)?t.colorFilter?!!t.colorFilter(e,n):!0:!1},l;if(e===1)return l=x(r,e,a),[f(l[0])];for(var d=t.attempts,p,h=-1/0,g;d>0;)l=x(r,e,a),t.clustering===`force-vector`?w(r,i,a,l,t):T(i,a,l,t),p=c.computeQualityMetrics(i,l),p.min>h&&(h=p.min,g=l),d--;return l=g,l=m(i,l),l.map(f)}}))(),1);function s(e){let t=0,n=0,r=0,i=0;function a(){let e=t^t<<11;return t=n,n=r,r=i,i^=(i>>>19^e^e>>>8)>>>0,i/4294967296}for(let n=0;n<e.length+64;n++)t^=e.charCodeAt(n)|0,a();return a}var c=s(`modviz`),l=`#E2E2E2`,u=`#FF5733.#3357FF.#FF33A6.#A633FF.#FF8633.#33FF86.#8633FF.#FF3386.#3386FF.#33FFA6.#FF8633.#3366FF.#FF6633.#3399FF.#FF9966.#9966FF.#5E6BFF.#FE2FB5.#B752F8.#F85252.#A5243D.#edcf8e.#C28CAE.#610F7F.#9BA2FF.#FFDC5E.#FF86C8.#FF69EB.#1CFEBA.#95F2D9`.split(`.`),d=()=>{let e=`#`;for(let t=0;t<6;t++)e+=`0123456789abcdef`.charAt(Math.floor(c()*16));return e},f={default:l,list:u,random:d,deterministic:e=>(0,o.default)(1,{seed:e,colorSpace:`all`,clustering:`force-vector`})[0]||d()};export{c as n,f as t};