pm2-dashboard 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 orchidfiles.com
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1,5 +1,111 @@
1
1
  # pm2-dashboard
2
2
 
3
- Self-hosted web dashboard for PM2. Monitor processes, view logs, manage restarts.
3
+ Self-hosted web dashboard for PM2. Installs as an npm package, runs on the same server as PM2. No cloud, no subscriptions.
4
4
 
5
- > Work in progress. Full release coming soon.
5
+ > Until version 1.0.0, this project is under active development. Use it locally for evaluation, not on production servers.
6
+
7
+ ## Current status
8
+
9
+ - [x] Process list with CPU, RAM, status
10
+ - [x] Start, stop, restart
11
+ - [x] Uptime and restart counters
12
+ - [x] Single npm package with API and static web UI
13
+ - [ ] Authentication
14
+ - [ ] Real-time process updates
15
+ - [ ] Log viewer with real-time tail
16
+ - [ ] Metrics history with graphs
17
+
18
+ ## Security
19
+
20
+ Current builds have no authentication yet.
21
+
22
+ The published package binds to `127.0.0.1:3000` by default. If you expose it publicly through a reverse proxy, anyone who can reach it can control PM2 processes.
23
+
24
+ Use it locally, inside a private network, or behind a trusted reverse proxy and access control.
25
+
26
+ ## Requirements
27
+
28
+ - Node.js >= 22
29
+ - PM2 running on the same server
30
+
31
+ ## Installation
32
+
33
+ ```bash
34
+ # One-time run
35
+ npx pm2-dashboard
36
+
37
+ # Global install
38
+ npm install -g pm2-dashboard
39
+ pm2-dashboard
40
+ ```
41
+
42
+ Starts on `http://127.0.0.1:3000` by default.
43
+
44
+ ## Configuration
45
+
46
+ ```bash
47
+ pm2-dashboard --port 4000 --host 127.0.0.1
48
+ ```
49
+
50
+ ```bash
51
+ PORT=4000 HOST=127.0.0.1 pm2-dashboard
52
+ ```
53
+
54
+ Config priority: CLI flags, `PORT` and `HOST`, defaults.
55
+
56
+ Use `127.0.0.1` to restrict access to localhost.
57
+
58
+ Use `pm2-dashboard --help` to see available CLI options.
59
+
60
+ ## Stack today
61
+
62
+ - API: Express + TypeScript
63
+ - UI: Svelte 5 + TypeScript + Tailwind 4 + Skeleton
64
+ - Single npm package, one process, one port
65
+
66
+ ## Reverse proxy (nginx)
67
+
68
+ Run the dashboard on localhost and proxy it through nginx:
69
+
70
+ ```nginx
71
+ server {
72
+ listen 80;
73
+ server_name dashboard.example.com;
74
+
75
+ location / {
76
+ proxy_pass http://127.0.0.1:3000;
77
+ proxy_http_version 1.1;
78
+ proxy_set_header Upgrade $http_upgrade;
79
+ proxy_set_header Connection "upgrade";
80
+ proxy_set_header Host $host;
81
+ proxy_set_header X-Real-IP $remote_addr;
82
+ proxy_cache_bypass $http_upgrade;
83
+ }
84
+ }
85
+ ```
86
+
87
+ Run certbot separately for TLS.
88
+
89
+ ## Why
90
+
91
+ PM2 ships with a terminal interface. When you need browser access, multiple servers, or a team without SSH, the official option is PM2 Plus (paid SaaS).
92
+
93
+ Open source alternatives:
94
+
95
+ | Project | Description | Language | Stars | Last commit | Status |
96
+ |---------|-------------|----------|-------|-------------|--------|
97
+ | [pm2-webui](https://github.com/modulsx/pm2-webui) | Opensource Alternative to PM2 Plus. Minimalistic App Manager and Log Viewer | JS, HTML, CSS | 550 | 2022 | inactive |
98
+ | [pm2-web](https://github.com/achingbrain/pm2-web) | A web based monitor for PM2 | JS, CSS, HTML | 540 | 2015 | inactive |
99
+ | [pm2panel](https://github.com/4xmen/pm2panel) | PM2 web control panel to manage processes | JS, HTML, CSS | 528 | 2020 | inactive |
100
+ | [pm2.web](https://github.com/oxdev03/pm2.web) | Monitor processes, view logs, access controls | TypeScript, JS, CSS | 168 | 2024 | inactive |
101
+ | [pm2-web-ui](https://github.com/olexnzarov/pm2-web-ui) | (Not so) modern web interface for PM2 | Next.js, CSS, Sass | 148 | 2023 | inactive |
102
+ | [pm2-ui](https://github.com/thenickygee/pm2-ui) | PM2 Web UI built with Next.js and TailwindCSS | JS, CSS | 20 | 2023 | inactive |
103
+ | [pm-web-panel](https://github.com/milosz08/pm-web-panel) | Real-time PM2 manager with user management | Java, TypeScript, Docker | 5 | 2025 | active |
104
+
105
+ ## License
106
+
107
+ MIT
108
+
109
+ ---
110
+
111
+ > Made by the author of [orchidfiles.com](https://orchidfiles.com) — essays from inside startups. If you found this extension useful, you'll probably enjoy the essays.
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env node
2
+ import { dirname, join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+
5
+ import { Command, InvalidArgumentError } from 'commander';
6
+ import express from 'express';
7
+
8
+ import { app } from '../dist/api/app.js';
9
+
10
+ class RuntimeConfig {
11
+ static resolveConfig() {
12
+ const config = {
13
+ port: 3000,
14
+ host: '127.0.0.1',
15
+ };
16
+
17
+ if (process.env.PORT) {
18
+ config.port = this.parsePort(process.env.PORT);
19
+ }
20
+
21
+ if (process.env.HOST) {
22
+ config.host = this.parseHost(process.env.HOST);
23
+ }
24
+
25
+ return config;
26
+ }
27
+
28
+ static parseHost(value) {
29
+ if (!value || value.trim() === '') {
30
+ throw new InvalidArgumentError('Host must not be empty.');
31
+ }
32
+
33
+ return value.trim();
34
+ }
35
+
36
+ static parsePort(value) {
37
+ const portValue = Number(value);
38
+
39
+ if (!Number.isInteger(portValue) || portValue < 1 || portValue > 65535) {
40
+ throw new InvalidArgumentError('Port must be an integer between 1 and 65535.');
41
+ }
42
+
43
+ return portValue;
44
+ }
45
+ }
46
+
47
+ const currentDir = dirname(fileURLToPath(import.meta.url));
48
+ app.use(express.static(join(currentDir, '../dist/web')));
49
+
50
+ const config = RuntimeConfig.resolveConfig();
51
+
52
+ const program = new Command();
53
+ program.name('pm2-dashboard');
54
+ program.description('Self-hosted web dashboard for PM2');
55
+ program.option('--port <port>', 'Port to listen on', RuntimeConfig.parsePort, config.port);
56
+ program.option('--host <host>', 'Host interface to bind', RuntimeConfig.parseHost, config.host);
57
+ program.parse();
58
+
59
+ const options = program.opts();
60
+
61
+ app.listen(options.port, options.host, () => {
62
+ console.log(`pm2-dashboard listening on http://${options.host}:${options.port}`);
63
+ }).on('error', (err) => {
64
+ console.error(`Failed to start: ${err.message}`);
65
+ process.exit(1);
66
+ });
@@ -0,0 +1,91 @@
1
+ import express from 'express';
2
+ import pm2 from 'pm2';
3
+ export const app = express();
4
+ app.use(express.json());
5
+ function runAction(action, id) {
6
+ return new Promise((resolve, reject) => {
7
+ pm2.connect((err) => {
8
+ if (err) {
9
+ reject(err);
10
+ return;
11
+ }
12
+ pm2[action](id, (actionErr) => {
13
+ pm2.disconnect();
14
+ if (actionErr) {
15
+ reject(actionErr);
16
+ return;
17
+ }
18
+ resolve();
19
+ });
20
+ });
21
+ });
22
+ }
23
+ const ALLOWED_ACTIONS = ['start', 'stop', 'restart'];
24
+ app.post('/api/processes/:id/:action', async (req, res) => {
25
+ const id = Number(req.params.id);
26
+ const action = req.params.action;
27
+ if (!ALLOWED_ACTIONS.includes(action)) {
28
+ res.status(400).json({ error: `Unknown action: ${action}` });
29
+ return;
30
+ }
31
+ try {
32
+ await runAction(action, id);
33
+ res.json({ ok: true });
34
+ }
35
+ catch (e) {
36
+ const message = e instanceof Error ? e.message : 'Unknown error';
37
+ res.status(500).json({ error: message });
38
+ }
39
+ });
40
+ app.post('/api/processes/bulk', async (req, res) => {
41
+ const { action, ids } = req.body;
42
+ if (!ALLOWED_ACTIONS.includes(action)) {
43
+ res.status(400).json({ error: `Unknown action: ${action}` });
44
+ return;
45
+ }
46
+ if (!Array.isArray(ids) || ids.length === 0) {
47
+ res.status(400).json({ error: 'ids must be a non-empty array' });
48
+ return;
49
+ }
50
+ const results = await Promise.allSettled(ids.map((id) => runAction(action, id)));
51
+ const errors = results
52
+ .map((r, i) => {
53
+ if (r.status === 'rejected') {
54
+ const message = r.reason instanceof Error ? r.reason.message : 'Unknown error';
55
+ return { id: ids[i], error: message };
56
+ }
57
+ return null;
58
+ })
59
+ .filter(Boolean);
60
+ if (errors.length > 0) {
61
+ res.status(207).json({ ok: false, errors });
62
+ return;
63
+ }
64
+ res.json({ ok: true });
65
+ });
66
+ app.get('/api/processes', (_req, res) => {
67
+ pm2.connect((err) => {
68
+ if (err) {
69
+ res.status(500).json({ error: err.message });
70
+ return;
71
+ }
72
+ pm2.list((listErr, list) => {
73
+ pm2.disconnect();
74
+ if (listErr) {
75
+ res.status(500).json({ error: listErr.message });
76
+ return;
77
+ }
78
+ const processes = list.map((proc) => ({
79
+ id: proc.pm_id,
80
+ name: proc.name,
81
+ status: proc.pm2_env?.status,
82
+ cpu: proc.monit?.cpu,
83
+ memory: proc.monit?.memory,
84
+ uptime: proc.pm2_env?.pm_uptime,
85
+ restarts: proc.pm2_env?.restart_time
86
+ }));
87
+ res.json(processes);
88
+ });
89
+ });
90
+ });
91
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAC7B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAIxB,SAAS,SAAS,CAAC,MAAqB,EAAE,EAAmB;IAC5D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,IAAI,GAAG,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEZ,OAAO;YACR,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,CAAC,EAAY,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvC,GAAG,CAAC,UAAU,EAAE,CAAC;gBAEjB,IAAI,SAAS,EAAE,CAAC;oBACf,MAAM,CAAC,SAAS,CAAC,CAAC;oBAElB,OAAO;gBACR,CAAC;gBAED,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtE,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACzD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAuB,CAAC;IAElD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC,CAAC;QAE7D,OAAO;IACR,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAEjE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAgD,CAAC;IAE7E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC,CAAC;QAE7D,OAAO;IACR,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC,CAAC;QAEjE,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,OAAO;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAE/E,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5C,OAAO;IACR,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACvC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,IAAI,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAE7C,OAAO;QACR,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;YAC1B,GAAG,CAAC,UAAU,EAAE,CAAC;YAEjB,IAAI,OAAO,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEjD,OAAO;YACR,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,KAAK;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM;gBAC5B,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG;gBACpB,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM;gBAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;gBAC/B,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY;aACpC,CAAC,CAAC,CAAC;YAEJ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Infra } from '@pm2-dashboard/shared';
2
+ import { app } from './app.js';
3
+ Infra.loadEnv();
4
+ const PORT = Number(process.env.API_PORT) || 3100;
5
+ const HOST = process.env.HOST ?? '127.0.0.1';
6
+ app.listen(PORT, HOST, () => {
7
+ console.log(`pm2-dashboard api listening on http://${HOST}:${PORT}`);
8
+ });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,KAAK,CAAC,OAAO,EAAE,CAAC;AAEhB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AAClD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC;AAE7C,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=Array.isArray,t=Array.prototype.indexOf,n=Array.prototype.includes,r=Array.from;Object.keys;var i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,s=Object.prototype,c=Array.prototype,l=Object.getPrototypeOf,u=Object.isExtensible,d=()=>{};function f(e){for(var t=0;t<e.length;t++)e[t]()}function p(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var m=1<<24,h=1024,g=2048,_=4096,v=8192,y=16384,b=32768,x=1<<25,S=65536,C=1<<19,ee=1<<20,te=1<<25,ne=65536,re=1<<21,ie=1<<22,ae=1<<23,oe=Symbol(`$state`),se=Symbol(`legacy props`),ce=Symbol(``),le=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ue=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function de(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function fe(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function pe(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function me(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function he(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function ge(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function _e(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function ve(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function ye(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function be(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function xe(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Se(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Ce={},w=Symbol(),we=`http://www.w3.org/1999/xhtml`;function Te(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Ee(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function De(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var T=!1;function Oe(e){T=e}var E;function D(e){if(e===null)throw Te(),Ce;return E=e}function ke(){return D(Zt(E))}function O(e){if(T){if(Zt(E)!==null)throw Te(),Ce;E=e}}function Ae(e=1){if(T){for(var t=e,n=E;t--;)n=Zt(n);E=n}}function je(e=!0){for(var t=0,n=E;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Zt(n);e&&n.remove(),n=i}}function Me(e){if(!e||e.nodeType!==8)throw Te(),Ce;return e.data}function Ne(e){return e===this.v}function Pe(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Fe(e){return!Pe(e,this.v)}var Ie=!1,Le=!1;function Re(){Le=!0}var k=null;function ze(e){k=e}function Be(e,t=!1,n){k={p:k,i:!1,c:null,e:null,s:e,x:null,r:K,l:Le&&!t?{s:null,u:null,$:[]}:null}}function Ve(e){var t=k,n=t.e;if(n!==null){t.e=null;for(var r of n)pn(r)}return e!==void 0&&(t.x=e),t.i=!0,k=t.p,e??{}}function He(){return!Le||k!==null&&k.l===null}var Ue=[];function We(){var e=Ue;Ue=[],f(e)}function Ge(e){if(Ue.length===0&&!rt){var t=Ue;queueMicrotask(()=>{t===Ue&&We()})}Ue.push(e)}function Ke(e){var t=K;if(t===null)return U.f|=ae,e;if(!(t.f&32768)&&!(t.f&4))throw e;qe(e,t)}function qe(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var Je=~(g|_|h);function A(e,t){e.f=e.f&Je|t}function Ye(e){e.f&512||e.deps===null?A(e,h):A(e,_)}function Xe(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ne,Xe(t.deps))}function Ze(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Xe(e.deps),A(e,h)}var Qe=!1,$e=!1;function et(e){var t=$e;try{return $e=!1,[e(),$e]}finally{$e=t}}var tt=new Set,j=null,M=null,nt=null,rt=!1,it=!1,at=null,ot=null,st=0,ct=1,lt=class e{id=ct++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=0;#r=0;#i=null;#a=[];#o=new Set;#s=new Set;#c=new Map;is_fork=!1;#l=!1;#u(){return this.is_fork||this.#r>0}skip_effect(e){this.#c.has(e)||this.#c.set(e,{d:[],m:[]})}unskip_effect(e){var t=this.#c.get(e);if(t){this.#c.delete(e);for(var n of t.d)A(n,g),this.schedule(n);for(n of t.m)A(n,_),this.schedule(n)}}#d(){st++>1e3&&ut();let t=this.#a;this.#a=[],this.apply();var n=at=[],r=[],i=ot=[];for(let e of t)try{this.#f(e,n,r)}catch(t){throw gt(e),t}if(j=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(at=null,ot=null,this.#u()){this.#p(r),this.#p(n);for(let[e,t]of this.#c)ht(e,t)}else{this.#n===0&&tt.delete(this),this.#o.clear(),this.#s.clear();for(let e of this.#e)e(this);this.#e.clear(),dt(r),dt(n),this.#i?.resolve()}var o=j;if(this.#a.length>0){let e=o??=this;e.#a.push(...this.#a.filter(t=>!e.#a.includes(t)))}o!==null&&(tt.add(o),o.#d()),tt.has(this)||this.#m()}#f(e,t,n){e.f^=h;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#c.has(r))&&r.fn!==null){a?r.f^=h:i&4?t.push(r):Ie&&i&16777224?n.push(r):Un(r)&&(i&16&&this.#s.add(r),Jn(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#p(e){for(var t=0;t<e.length;t+=1)Ze(e[t],this.#o,this.#s)}capture(e,t){t!==w&&!this.previous.has(e)&&this.previous.set(e,t),e.f&8388608||(this.current.set(e,e.v),M?.set(e,e.v))}activate(){j=this}deactivate(){j=null,M=null}flush(){try{if(it=!0,j=this,!this.#u()){for(let e of this.#o)this.#s.delete(e),A(e,g),this.schedule(e);for(let e of this.#s)A(e,_),this.schedule(e)}this.#d()}finally{st=0,nt=null,at=null,ot=null,it=!1,j=null,M=null,Ft.clear()}}discard(){for(let e of this.#t)e(this);this.#t.clear()}#m(){for(let s of tt){var e=s.id<this.id,t=[];for(let[n,r]of this.current){if(s.current.has(n))if(e&&r!==s.current.get(n))s.current.set(n,r);else continue;t.push(n)}if(t.length!==0){var n=[...s.current.keys()].filter(e=>!this.current.has(e));if(n.length>0){s.activate();var r=new Set,i=new Map;for(var a of t)ft(a,n,r,i);if(s.#a.length>0){s.apply();for(var o of s.#a)s.#f(o,[],[])}s.deactivate()}}}}increment(e){this.#n+=1,e&&(this.#r+=1)}decrement(e,t){--this.#n,e&&--this.#r,!(this.#l||t)&&(this.#l=!0,Ge(()=>{this.#l=!1,this.flush()}))}oncommit(e){this.#e.add(e)}ondiscard(e){this.#t.add(e)}settled(){return(this.#i??=p()).promise}static ensure(){if(j===null){let t=j=new e;it||(tt.add(j),rt||Ge(()=>{j===t&&t.flush()}))}return j}apply(){if(!Ie||!this.is_fork&&tt.size===1){M=null;return}M=new Map(this.current);for(let e of tt)if(e!==this)for(let[t,n]of e.previous)M.has(t)||M.set(t,n)}schedule(e){if(nt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(at!==null&&t===K&&(Ie||(U===null||!(U.f&2))&&!Qe))return;if(n&96){if(!(n&1024))return;t.f^=h}}this.#a.push(t)}};function ut(){try{_e()}catch(e){qe(e,nt)}}var N=null;function dt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Un(r)&&(N=new Set,Jn(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Tn(r),N?.size>0)){Ft.clear();for(let e of N){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)N.has(n)&&(N.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Jn(n)}}N.clear()}}N=null}}function ft(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?ft(i,t,n,r):e&4194320&&!(e&2048)&&pt(i,t,r)&&(A(i,g),mt(i))}}function pt(e,t,r){let i=r.get(e);if(i!==void 0)return i;if(e.deps!==null)for(let i of e.deps){if(n.call(t,i))return!0;if(i.f&2&&pt(i,t,r))return r.set(i,!0),!0}return r.set(e,!1),!1}function mt(e){j.schedule(e)}function ht(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),A(e,h);for(var n=e.first;n!==null;)ht(n,t),n=n.next}}function gt(e){A(e,h);for(var t=e.first;t!==null;)gt(t),t=t.next}function _t(e){let t=0,n=Lt(0),r;return()=>{un()&&(Z(n),_n(()=>(t===0&&(r=Zn(()=>e(()=>Vt(n)))),t+=1,()=>{Ge(()=>{--t,t===0&&(r?.(),r=void 0,Vt(n))})})))}}var vt=S|C;function yt(e,t,n,r){new bt(e,t,n,r)}var bt=class{parent;is_pending=!1;transform_error;#e;#t=T?E:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=_t(()=>(this.#m=Lt(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=K;t.b=this,t.f|=128,n(e)},this.parent=K.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=yn(()=>{if(T){let e=this.#t;ke();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},vt),T&&(this.#e=E)}#g(){try{this.#a=V(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=V(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=V(()=>e(this.#e)),Ge(()=>{var e=this.#c=document.createDocumentFragment(),t=I();e.append(t),this.#a=this.#x(()=>V(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,En(this.#o,()=>{this.#o=null}),this.#b(j))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=V(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();An(this.#a,e);let t=this.#n.pending;this.#o=V(()=>t(this.#e))}else this.#b(j)}catch(e){this.error(e)}}#b(e){this.is_pending=!1;for(let t of this.#f)A(t,g),e.schedule(t);for(let t of this.#p)A(t,_),e.schedule(t);this.#f.clear(),this.#p.clear()}defer_effect(e){Ze(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=K,n=U,r=k;Fn(this.#i),G(this.#i),ze(this.#i.ctx);try{return lt.ensure(),e()}catch(e){return Ke(e),null}finally{Fn(t),G(n),ze(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&En(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,Ge(()=>{this.#d=!1,this.#m&&zt(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Z(this.#m)}error(e){var t=this.#n.onerror;let n=this.#n.failed;if(!t&&!n)throw e;this.#a&&=(H(this.#a),null),this.#o&&=(H(this.#o),null),this.#s&&=(H(this.#s),null),T&&(D(this.#t),Ae(),D(je()));var r=!1,i=!1;let a=()=>{if(r){De();return}r=!0,i&&Se(),this.#s!==null&&En(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){qe(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return V(()=>{var t=K;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return qe(e,this.#i.parent),null}}))};Ge(()=>{var t;try{t=this.transform_error(e)}catch(e){qe(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>qe(e,this.#i&&this.#i.parent)):o(t)})}};function xt(e,t,n,r){let i=He()?Tt:Dt;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=K,s=St(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){s();try{r(e)}catch(e){o.f&16384||qe(e,o)}Ct()}if(n.length===0){c.then(()=>l(t.map(i)));return}var u=wt();function d(){Promise.all(n.map(e=>Et(e))).then(e=>l([...t.map(i),...e])).catch(e=>qe(e,o)).finally(()=>u())}c?c.then(()=>{s(),d(),Ct()}):d()}function St(){var e=K,t=U,n=k,r=j;return function(i=!0){Fn(e),G(t),ze(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function Ct(e=!0){Fn(null),G(null),ze(null),e&&j?.deactivate()}function wt(){var e=K.b,t=j,n=e.is_rendered();return e.update_pending_count(1,t),t.increment(n),(r=!1)=>{e.update_pending_count(-1,t),t.decrement(n,r)}}function Tt(e){var t=2|g,n=U!==null&&U.f&2?U:null;return K!==null&&(K.f|=C),{ctx:k,deps:null,effects:null,equals:Ne,f:t,fn:e,reactions:null,rv:0,v:w,wv:0,parent:n??K,ac:null}}function Et(e,t,n){let r=K;r===null&&fe();var i=void 0,a=Lt(w),o=!U,s=new Map;return gn(()=>{var t=K,n=p();i=n.promise;try{Promise.resolve(e()).then(n.resolve,n.reject).finally(Ct)}catch(e){n.reject(e),Ct()}var c=j;if(o){if(t.f&32768)var l=wt();if(r.b.is_rendered())s.get(c)?.reject(le),s.delete(c);else{for(let e of s.values())e.reject(le);s.clear()}s.set(c,n)}let u=(e,n=void 0)=>{if(l&&l(n===le),!(n===le||t.f&16384)){if(c.activate(),n)a.f|=ae,zt(a,n);else{a.f&8388608&&(a.f^=ae),zt(a,e);for(let[e,t]of s){if(s.delete(e),e===c)break;t.reject(le)}}c.deactivate()}};n.promise.then(u,e=>u(null,e||`unknown`))}),dn(()=>{for(let e of s.values())e.reject(le)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function Dt(e){let t=Tt(e);return t.equals=Fe,t}function Ot(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)H(t[n])}}function kt(e){for(var t=e.parent;t!==null;){if(!(t.f&2))return t.f&16384?null:t;t=t.parent}return null}function At(e){var t,n=K;Fn(kt(e));try{e.f&=~ne,Ot(e),t=Gn(e)}finally{Fn(n)}return t}function jt(e){var t=At(e);if(!e.equals(t)&&(e.wv=Hn(),(!j?.is_fork||e.deps===null)&&(e.v=t,e.deps===null))){A(e,h);return}Nn||(M===null?Ye(e):(un()||j?.is_fork)&&M.set(e,t))}function Mt(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(le),t.teardown=d,t.ac=null,qn(t,0),Sn(t))}function Nt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&Jn(t)}var Pt=new Set,Ft=new Map,It=!1;function Lt(e,t){return{f:0,v:e,reactions:null,equals:Ne,rv:0,wv:0}}function P(e,t){let n=Lt(e,t);return In(n),n}function Rt(e,t=!1,n=!0){let r=Lt(e);return t||(r.equals=Fe),Le&&n&&k!==null&&k.l!==null&&(k.l.s??=[]).push(r),r}function F(e,t,r=!1){return U!==null&&(!W||U.f&131072)&&He()&&U.f&4325394&&(q===null||!n.call(q,e))&&xe(),zt(e,r?Ut(t):t,ot)}function zt(e,t,n=null){if(!e.equals(t)){var r=e.v;Nn?Ft.set(e,t):Ft.set(e,r),e.v=t;var i=lt.ensure();if(i.capture(e,r),e.f&2){let t=e;e.f&2048&&At(t),Ye(t)}e.wv=Hn(),Ht(e,g,n),He()&&K!==null&&K.f&1024&&!(K.f&96)&&(X===null?Ln([e]):X.push(e)),!i.is_fork&&Pt.size>0&&!It&&Bt()}return t}function Bt(){It=!1;for(let e of Pt)e.f&1024&&A(e,_),Un(e)&&Jn(e);Pt.clear()}function Vt(e){F(e,e.v+1)}function Ht(e,t,n){var r=e.reactions;if(r!==null)for(var i=He(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===K)){var l=(c&g)===0;if(l&&A(s,t),c&2){var u=s;M?.delete(u),c&65536||(c&512&&(s.f|=ne),Ht(u,_,n))}else if(l){var d=s;c&16&&N!==null&&N.add(d),n===null?mt(d):n.push(d)}}}}function Ut(t){if(typeof t!=`object`||!t||oe in t)return t;let n=l(t);if(n!==s&&n!==c)return t;var r=new Map,i=e(t),o=P(0),u=null,d=Bn,f=e=>{if(Bn===d)return e();var t=U,n=Bn;G(null),Vn(d);var r=e();return G(t),Vn(n),r};return i&&r.set(`length`,P(t.length,u)),new Proxy(t,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&ye();var i=r.get(t);return i===void 0?f(()=>{var e=P(n.value,u);return r.set(t,e),e}):F(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>P(w,u));r.set(t,e),Vt(o)}}else F(n,w),Vt(o);return!0},get(e,n,i){if(n===oe)return t;var o=r.get(n),s=n in e;if(o===void 0&&(!s||a(e,n)?.writable)&&(o=f(()=>P(Ut(s?e[n]:w),u)),r.set(n,o)),o!==void 0){var c=Z(o);return c===w?void 0:c}return Reflect.get(e,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=Z(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==w)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===oe)return!0;var n=r.get(t),i=n!==void 0&&n.v!==w||Reflect.has(e,t);return(n!==void 0||K!==null&&(!i||a(e,t)?.writable))&&(n===void 0&&(n=f(()=>P(i?Ut(e[t]):w,u)),r.set(t,n)),Z(n)===w)?!1:i},set(e,t,n,s){var c=r.get(t),l=t in e;if(i&&t===`length`)for(var d=n;d<c.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>P(w,u)),r.set(d+``,p)):F(p,w)}if(c===void 0)(!l||a(e,t)?.writable)&&(c=f(()=>P(void 0,u)),F(c,Ut(n)),r.set(t,c));else{l=c.v!==w;var m=f(()=>Ut(n));F(c,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(s,n),!l){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&F(g,_+1)}Vt(o)}return!0},ownKeys(e){Z(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==w});for(var[n,i]of r)i.v!==w&&!(n in e)&&t.push(n);return t},setPrototypeOf(){be()}})}function Wt(e){try{if(typeof e==`object`&&e&&oe in e)return e[oe]}catch{}return e}function Gt(e,t){return Object.is(Wt(e),Wt(t))}var Kt,qt,Jt,Yt;function Xt(){if(Kt===void 0){Kt=window,document,qt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Jt=a(t,`firstChild`).get,Yt=a(t,`nextSibling`).get,u(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),u(n)&&(n.__t=void 0)}}function I(e=``){return document.createTextNode(e)}function L(e){return Jt.call(e)}function Zt(e){return Yt.call(e)}function R(e,t){if(!T)return L(e);var n=L(E);if(n===null)n=E.appendChild(I());else if(t&&n.nodeType!==3){var r=I();return n?.before(r),D(r),r}return t&&nn(n),D(n),n}function Qt(e,t=!1){if(!T){var n=L(e);return n instanceof Comment&&n.data===``?Zt(n):n}if(t){if(E?.nodeType!==3){var r=I();return E?.before(r),D(r),r}nn(E)}return E}function z(e,t=1,n=!1){let r=T?E:e;for(var i;t--;)i=r,r=Zt(r);if(!T)return r;if(n){if(r?.nodeType!==3){var a=I();return r===null?i?.after(a):r.before(a),D(a),a}nn(r)}return D(r),r}function $t(e){e.textContent=``}function en(){return!Ie||N!==null?!1:(K.f&b)!==0}function tn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function nn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function rn(e,t){if(t){let t=document.body;e.autofocus=!0,Ge(()=>{document.activeElement===t&&e.focus()})}}var an=!1;function on(){an||(an=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function sn(e){var t=U,n=K;G(null),Fn(null);try{return e()}finally{G(t),Fn(n)}}function cn(e){K===null&&(U===null&&ge(e),he()),Nn&&me(e)}function ln(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function B(e,t){var n=K;n!==null&&n.f&8192&&(e|=v);var r={ctx:k,deps:null,nodes:null,f:e|g|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},i=r;if(e&4)at===null?lt.ensure().schedule(r):at.push(r);else if(t!==null){try{Jn(r)}catch(e){throw H(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=S))}if(i!==null&&(i.parent=n,n!==null&&ln(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function un(){return U!==null&&!W}function dn(e){let t=B(8,null);return A(t,h),t.teardown=e,t}function fn(e){cn(`$effect`);var t=K.f;if(!U&&t&32&&!(t&32768)){var n=k;(n.e??=[]).push(e)}else return pn(e)}function pn(e){return B(4|ee,e)}function mn(e){lt.ensure();let t=B(64|C,e);return(e={})=>new Promise(n=>{e.outro?En(t,()=>{H(t),n(void 0)}):(H(t),n(void 0))})}function hn(e){return B(4,e)}function gn(e){return B(ie|C,e)}function _n(e,t=0){return B(8|t,e)}function vn(e,t=[],n=[],r=[]){xt(r,t,n,t=>{B(8,()=>e(...t.map(Z)))})}function yn(e,t=0){return B(16|t,e)}function bn(e,t=0){return B(m|t,e)}function V(e){return B(32|C,e)}function xn(e){var t=e.teardown;if(t!==null){let e=Nn,n=U;Pn(!0),G(null);try{t.call(null)}finally{Pn(e),G(n)}}}function Sn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&sn(()=>{e.abort(le)});var r=n.next;n.f&64?n.parent=null:H(n,t),n=r}}function Cn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||H(t),t=n}}function H(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(wn(e.nodes.start,e.nodes.end),n=!0),A(e,x),Sn(e,t&&!n),qn(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();xn(e),e.f^=x,e.f|=y;var i=e.parent;i!==null&&i.first!==null&&Tn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function wn(e,t){for(;e!==null;){var n=e===t?null:Zt(e);e.remove(),e=n}}function Tn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function En(e,t,n=!0){var r=[];Dn(e,r,!0);var i=()=>{n&&H(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Dn(e,t,n){if(!(e.f&8192)){e.f^=v;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next,o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Dn(i,t,o?n:!1),i=a}}}function On(e){kn(e,!0)}function kn(e,t){if(e.f&8192){e.f^=v,e.f&1024||(A(e,g),lt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;kn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function An(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Zt(n);t.append(n),n=i}}var jn=null,Mn=!1,Nn=!1;function Pn(e){Nn=e}var U=null,W=!1;function G(e){U=e}var K=null;function Fn(e){K=e}var q=null;function In(e){U!==null&&(!Ie||U.f&2)&&(q===null?q=[e]:q.push(e))}var J=null,Y=0,X=null;function Ln(e){X=e}var Rn=1,zn=0,Bn=zn;function Vn(e){Bn=e}function Hn(){return++Rn}function Un(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ne),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Un(a)&&jt(a),a.wv>e.wv)return!0}t&512&&M===null&&A(e,h)}return!1}function Wn(e,t,r=!0){var i=e.reactions;if(i!==null&&!(!Ie&&q!==null&&n.call(q,e)))for(var a=0;a<i.length;a++){var o=i[a];o.f&2?Wn(o,t,!1):t===o&&(r?A(o,g):o.f&1024&&A(o,_),mt(o))}}function Gn(e){var t=J,n=Y,r=X,i=U,a=q,o=k,s=W,c=Bn,l=e.f;J=null,Y=0,X=null,U=l&96?null:e,q=null,ze(e.ctx),W=!1,Bn=++zn,e.ac!==null&&(sn(()=>{e.ac.abort(le)}),e.ac=null);try{e.f|=re;var u=e.fn,d=u();e.f|=b;var f=e.deps,p=j?.is_fork;if(J!==null){var m;if(p||qn(e,Y),f!==null&&Y>0)for(f.length=Y+J.length,m=0;m<J.length;m++)f[Y+m]=J[m];else e.deps=f=J;if(un()&&e.f&512)for(m=Y;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&Y<f.length&&(qn(e,Y),f.length=Y);if(He()&&X!==null&&!W&&f!==null&&!(e.f&6146))for(m=0;m<X.length;m++)Wn(X[m],e);if(i!==null&&i!==e){if(zn++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=zn;if(t!==null)for(let e of t)e.rv=zn;X!==null&&(r===null?r=X:r.push(...X))}return e.f&8388608&&(e.f^=ae),d}catch(e){return Ke(e)}finally{e.f^=re,J=t,Y=n,X=r,U=i,q=a,ze(o),W=s,Bn=c}}function Kn(e,r){let i=r.reactions;if(i!==null){var a=t.call(i,e);if(a!==-1){var o=i.length-1;o===0?i=r.reactions=null:(i[a]=i[o],i.pop())}}if(i===null&&r.f&2&&(J===null||!n.call(J,r))){var s=r;s.f&512&&(s.f^=512,s.f&=~ne),Ye(s),Mt(s),qn(s,0)}}function qn(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Kn(e,n[r])}function Jn(e){var t=e.f;if(!(t&16384)){A(e,h);var n=K,r=Mn;K=e,Mn=!0;try{t&16777232?Cn(e):Sn(e),xn(e);var i=Gn(e);e.teardown=typeof i==`function`?i:null,e.wv=Rn}finally{Mn=r,K=n}}}function Z(e){var t=(e.f&2)!=0;if(jn?.add(e),U!==null&&!W&&!(K!==null&&K.f&16384)&&(q===null||!n.call(q,e))){var r=U.deps;if(U.f&2097152)e.rv<zn&&(e.rv=zn,J===null&&r!==null&&r[Y]===e?Y++:J===null?J=[e]:J.push(e));else{(U.deps??=[]).push(e);var i=e.reactions;i===null?e.reactions=[U]:n.call(i,U)||i.push(U)}}if(Nn&&Ft.has(e))return Ft.get(e);if(t){var a=e;if(Nn){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||Xn(a))&&(o=At(a)),Ft.set(a,o),o}var s=(a.f&512)==0&&!W&&U!==null&&(Mn||(U.f&512)!=0),c=(a.f&b)===0;Un(a)&&(s&&(a.f|=512),jt(a)),s&&!c&&(Nt(a),Yn(a))}if(M?.has(e))return M.get(e);if(e.f&8388608)throw e.v;return e.v}function Yn(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(Nt(t),Yn(t))}function Xn(e){if(e.v===w)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(Ft.has(t)||t.f&2&&Xn(t))return!0;return!1}function Zn(e){var t=W;try{return W=!0,e()}finally{W=t}}function Qn(e){return e.endsWith(`capture`)&&e!==`gotpointercapture`&&e!==`lostpointercapture`}var $n=[`beforeinput`,`click`,`change`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`];function er(e){return $n.includes(e)}var tr=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),nr={formnovalidate:`formNoValidate`,ismap:`isMap`,nomodule:`noModule`,playsinline:`playsInline`,readonly:`readOnly`,defaultvalue:`defaultValue`,defaultchecked:`defaultChecked`,srcobject:`srcObject`,novalidate:`noValidate`,allowfullscreen:`allowFullscreen`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`};function rr(e){return e=e.toLowerCase(),nr[e]??e}[...tr];var ir=[`touchstart`,`touchmove`];function ar(e){return ir.includes(e)}var or=Symbol(`events`),sr=new Set,cr=new Set;function lr(e,t,n,r={}){function i(e){if(r.capture||pr.call(t,e),!e.cancelBubble)return sn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?Ge(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function ur(e,t,n){(t[or]??={})[e]=n}function dr(e){for(var t=0;t<e.length;t++)sr.add(e[t]);for(var n of cr)n(e)}var fr=null;function pr(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],o=a[0]||e.target;fr=e;var s=0,c=fr===e&&e[or];if(c){var l=a.indexOf(c);if(l!==-1&&(t===document||t===window)){e[or]=t;return}var u=a.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(o=a[s]||e.target,o!==t){i(e,`currentTarget`,{configurable:!0,get(){return o||n}});var d=U,f=K;G(null),Fn(null);try{for(var p,m=[];o!==null;){var h=o.assignedSlot||o.parentNode||o.host||null;try{var g=o[or]?.[r];g!=null&&(!o.disabled||e.target===o)&&g.call(o,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;o=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[or]=t,delete e.currentTarget,G(d),Fn(f)}}}var mr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function hr(e){return mr?.createHTML(e)??e}function gr(e){var t=tn(`template`);return t.innerHTML=hr(e.replaceAll(`<!>`,`<!---->`)),t.content}function _r(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function Q(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(T)return _r(E,null),E;i===void 0&&(i=gr(a?e:`<!>`+e),n||(i=L(i)));var t=r||qt?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=L(t),s=t.lastChild;_r(o,s)}else _r(t,t);return t}}function vr(e,t,n=`svg`){var r=!e.startsWith(`<!>`),i=(t&1)!=0,a=`<${n}>${r?e:`<!>`+e}</${n}>`,o;return()=>{if(T)return _r(E,null),E;if(!o){var e=L(gr(a));if(i)for(o=document.createDocumentFragment();L(e);)o.appendChild(L(e));else o=L(e)}var t=o.cloneNode(!0);if(i){var n=L(t),r=t.lastChild;_r(n,r)}else _r(t,t);return t}}function yr(e,t){return vr(e,t,`svg`)}function br(){if(T)return _r(E,null),E;var e=document.createDocumentFragment(),t=document.createComment(``),n=I();return e.append(t,n),_r(t,n),e}function $(e,t){if(T){var n=K;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=E),ke();return}e!==null&&e.before(t)}function xr(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function Sr(e,t){return wr(e,t)}var Cr=new Map;function wr(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){Xt();var l=void 0,u=mn(()=>{var s=n??t.appendChild(I());yt(s,{pending:()=>{}},t=>{Be({});var n=k;if(o&&(n.c=o),a&&(i.$$events=a),T&&_r(t,null),l=e(t,i)||{},T&&(K.nodes.end=E,E===null||E.nodeType!==8||E.data!==`]`))throw Te(),Ce;Ve()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=ar(r);for(let e of[t,document]){var a=Cr.get(e);a===void 0&&(a=new Map,Cr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,pr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(r(sr)),cr.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=Cr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,pr),r.delete(e),r.size===0&&Cr.delete(n)):r.set(e,i)}cr.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return Tr.set(l,u),l}var Tr=new WeakMap,Er=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)On(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(H(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();An(r,t),t.append(I()),this.#n.set(e,{effect:r,fragment:t})}else H(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),En(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(H(n.effect),this.#n.delete(e))};ensure(e,t){var n=j,r=en();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=I();i.append(a),this.#n.set(e,{effect:V(()=>t(a)),fragment:i})}else this.#t.set(e,V(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else T&&(this.anchor=E),this.#a(n)}};function Dr(e,t,n=!1){var r;T&&(r=E,ke());var i=new Er(e),a=n?S:0;function o(e,t){if(T){var n=Me(r);if(e!==parseInt(n.substring(1))){var a=je();D(a),i.anchor=a,Oe(!1),i.ensure(e,t),Oe(!0);return}}i.ensure(e,t)}yn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Or(e,t,n){for(var i=[],a=t.length,o,s=t.length,c=0;c<a;c++){let n=t[c];En(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;kr(e,r(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else --s},!1)}if(s===0){var l=i.length===0&&n!==null;if(l){var u=n,d=u.parentNode;$t(d),d.append(u),e.items.clear()}kr(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function kr(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=te,An(a,document.createDocumentFragment())):H(t[i],n)}}var Ar;function jr(t,n,i,a,o,s=null){var c=t,l=new Map;if(n&4){var u=t;c=T?D(L(u)):u.appendChild(I())}T&&ke();var d=null,f=Dt(()=>{var t=i();return e(t)?t:t==null?[]:r(t)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,Nr(v,p,c,n,a),d!==null&&(p.length===0?d.f&33554432?(d.f^=te,Fr(d,null,c)):On(d):En(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:yn(()=>{p=Z(f);var e=p.length;let t=!1;T&&Me(c)===`[!`!=(e===0)&&(c=je(),D(c),Oe(!1),t=!0);for(var r=new Set,u=j,v=en(),y=0;y<e;y+=1){T&&E.nodeType===8&&E.data===`]`&&(c=E,t=!0,Oe(!1));var b=p[y],x=a(b,y),S=h?null:l.get(x);S?(S.v&&zt(S.v,b),S.i&&zt(S.i,y),v&&u.unskip_effect(S.e)):(S=Pr(l,h?c:Ar??=I(),b,x,y,o,n,i),h||(S.e.f|=te),l.set(x,S)),r.add(x)}if(e===0&&s&&!d&&(h?d=V(()=>s(c)):(d=V(()=>s(Ar??=I())),d.f|=te)),e>r.size&&pe(``,``,``),T&&e>0&&D(je()),!h)if(m.set(u,r),v){for(let[e,t]of l)r.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);t&&Oe(!0),Z(f)}),flags:n,items:l,pending:m,outrogroups:null,fallback:d};h=!1,T&&(c=E)}function Mr(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Nr(e,t,n,i,a){var o=(i&8)!=0,s=t.length,c=e.items,l=Mr(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v<s;v+=1)h=t[v],g=a(h,v),_=c.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<s;v+=1){if(h=t[v],g=a(h,v),_=c.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&33554432)if(_.f^=te,_===l)Fr(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),Ir(e,d,_),Ir(e,_,y),Fr(_,y,n),d=_,p=[],m=[],l=Mr(d.next);continue}if(_.f&8192&&(On(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],C=p[p.length-1];for(x=0;x<p.length;x+=1)Fr(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);Ir(e,S.prev,C.next),Ir(e,d,S),Ir(e,C,b),l=b,d=C,--v,p=[],m=[]}else u.delete(_),Fr(_,l,n),Ir(e,_.prev,_.next),Ir(e,_,d===null?e.effect.first:d.next),Ir(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Mr(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Mr(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(kr(e,r(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var ee=[];if(u!==void 0)for(_ of u)_.f&8192||ee.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&ee.push(l),l=Mr(l.next);var ne=ee.length;if(ne>0){var re=i&4&&s===0?n:null;if(o){for(v=0;v<ne;v+=1)ee[v].nodes?.a?.measure();for(v=0;v<ne;v+=1)ee[v].nodes?.a?.fix()}Or(e,ee,re)}}o&&Ge(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function Pr(e,t,n,r,i,a,o,s){var c=o&1?o&16?Lt(n):Rt(n,!1,!1):null,l=o&2?Lt(i):null;return{v:c,i:l,e:V(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function Fr(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=Zt(r);if(a.before(r),r===i)return;r=o}}function Ir(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Lr(e,t){var n=void 0,r;bn(()=>{n!==(n=t())&&(r&&=(H(r),null),n&&(r=V(()=>{hn(()=>n(e))})))})}function Rr(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Rr(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function zr(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Rr(e))&&(r&&(r+=` `),r+=t);return r}function Br(e){return typeof e==`object`?zr(e):e??``}var Vr=[...`
2
+ \r\f\xA0\v`];function Hr(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Vr.includes(r[o-1]))&&(s===r.length||Vr.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Ur(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Wr(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Gr(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Wr)),i&&c.push(...Object.keys(i).map(Wr));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Wr(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=Ur(r)),i&&(n+=Ur(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function Kr(e,t,n,r,i,a){var o=e.__className;if(T||o!==n||o===void 0){var s=Hr(n,r,a);(!T||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function qr(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Jr(e,t,n,r){var i=e.__style;if(T||i!==t){var a=Gr(t,r);(!T||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(qr(e,n?.[0],r[0]),qr(e,n?.[1],r[1],`important`)):qr(e,n,r));return r}function Yr(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return Ee();for(var i of t.options)i.selected=n.includes(Zr(i));return}for(i of t.options)if(Gt(Zr(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function Xr(e){var t=new MutationObserver(()=>{Yr(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),dn(()=>{t.disconnect()})}function Zr(e){return`__value`in e?e.__value:e.value}var Qr=Symbol(`class`),$r=Symbol(`style`),ei=Symbol(`is custom element`),ti=Symbol(`is html`),ni=ue?`link`:`LINK`,ri=ue?`input`:`INPUT`,ii=ue?`option`:`OPTION`,ai=ue?`select`:`SELECT`;function oi(e){if(T){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;ci(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;ci(e,`checked`,null),e.checked=r}}};e.__on_r=n,Ge(n),on()}}function si(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function ci(e,t,n,r){var i=di(e);T&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===ni)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[ce]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&pi(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function li(e,t,n,r,i=!1,a=!1){if(T&&i&&e.nodeName===ri){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||oi(o)}var s=di(e),c=s[ei],l=!s[ti];let u=T&&c;u&&Oe(!1);var d=t||{},f=e.nodeName===ii;for(var p in t)p in n||(n[p]=null);n.class?n.class=Br(n.class):(r||n[Qr])&&(n.class=null),n[$r]&&(n.style??=null);var m=pi(e);for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){Kr(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[Qr],n[Qr]),d[i]=o,d[Qr]=n[Qr];continue}if(i===`style`){Jr(e,o,t?.[$r],n[$r]),d[i]=o,d[$r]=n[$r];continue}var h=d[i];if(!(o===h&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var g=i[0]+i[1];if(g!==`$$`)if(g===`on`){let t={},n=`$$`+i,r=i.slice(2);var _=er(r);if(Qn(r)&&(r=r.slice(0,-7),t.capture=!0),!_&&h){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(_)ur(r,e,o),dr([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=lr(r,e,a,t)}}else if(i===`style`)ci(e,i,o);else if(i===`autofocus`)rn(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)si(e,o);else{var v=i;l||(v=rr(v));var y=v===`defaultValue`||v===`defaultChecked`;if(o==null&&!c&&!y)if(s[i]=null,v===`value`||v===`checked`){let n=e,r=t===void 0;if(v===`value`){let e=n.defaultValue;n.removeAttribute(v),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(v),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else y||m.includes(v)&&(c||typeof o!=`string`)?(e[v]=o,v in s&&(s[v]=w)):typeof o!=`function`&&ci(e,v,o,a)}}}return u&&Oe(!0),d}function ui(e,t,n=[],r=[],i=[],a,o=!1,s=!1){xt(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===ai,l=!1;if(bn(()=>{var u=t(...n.map(Z)),d=li(e,r,u,a,o,s);l&&c&&`value`in u&&Yr(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||H(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&H(i[t]),i[t]=V(()=>Lr(e,()=>f))),d[t]=f}r=d}),c){var u=e;hn(()=>{Yr(u,r.value,!0),Xr(u)})}l=!0})}function di(e){return e.__attributes??={[ei]:e.nodeName.includes(`-`),[ti]:e.namespaceURI===we}}var fi=new Map;function pi(e){var t=e.getAttribute(`is`)||e.nodeName,n=fi.get(t);if(n)return n;fi.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var s in r=o(i),r)r[s].set&&n.push(s);i=l(i)}return n}var mi={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function hi(e,t,n){return new Proxy({props:e,exclude:t},mi)}function gi(e,t,n,r){var i=!Le||(n&2)!=0,o=(n&8)!=0,s=(n&16)!=0,c=r,l=!0,u=()=>(l&&(l=!1,c=s?Zn(r):r),c);let d;if(o){var f=oe in e||se in e;d=a(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;o?[p,m]=et(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=u(),d&&(i&&ve(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?u():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?Tt:Dt)(()=>(_=!1,h()));o&&Z(v);var y=K;return(function(e,t){if(arguments.length>0){let n=t?Z(v):i&&o?Ut(e):e;return F(v,n),_=!0,c!==void 0&&(c=n),e}return Nn&&_||y.f&16384?v.v:Z(v)})}function _i(e){k===null&&de(`onMount`),Le&&k.l!==null?vi(k).m.push(e):fn(()=>{let t=Zn(e);if(typeof t==`function`)return t})}function vi(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`),Re();async function yi(e){return(await e.json().catch(()=>({}))).error??`HTTP ${e.status}`}async function bi(){let e=await fetch(`/api/processes`);if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}async function xi(e,t){let n=await fetch(`/api/processes/${e}/${t}`,{method:`POST`});if(!n.ok)throw Error(await yi(n))}async function Si(e,t){let n=await fetch(`/api/processes/bulk`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:t,ids:e})});if(!n.ok)throw Error(await yi(n))}var Ci=Q(`<div class="btn-group flex gap-1"><button class="btn btn-sm preset-tonal-surface">Start all</button> <button class="btn btn-sm preset-tonal-surface">Restart all</button> <button class="btn btn-sm preset-tonal-surface">Stop all</button></div>`);function wi(e,t){Be(t,!0);var n=Ci(),r=R(n),i=z(r,2),a=z(i,2);O(n),vn(()=>{r.disabled=t.loading,i.disabled=t.loading,a.disabled=t.loading}),ur(`click`,r,()=>t.onAction(`start`)),ur(`click`,i,()=>t.onAction(`restart`)),ur(`click`,a,()=>t.onAction(`stop`)),$(e,n),Ve()}dr([`click`]);var Ti=Q(`<div class="card preset-tonal-error p-6 max-w-md mx-auto text-center"><p class="font-medium mb-1">Failed to load</p> <p class="text-sm opacity-70"> </p></div>`),Ei=Q(`<div class="card preset-tonal-surface p-12 text-center max-w-sm mx-auto"><p class="text-surface-400 text-sm"> </p></div>`);function Di(e,t){let n=gi(t,`message`,3,`No data`),r=gi(t,`error`,3,null);var i=br(),a=Qt(i),o=e=>{var t=Ti(),n=z(R(t),2),i=R(n,!0);O(n),O(t),vn(()=>xr(i,r())),$(e,t)},s=e=>{var t=Ei(),r=R(t),i=R(r,!0);O(r),O(t),vn(()=>xr(i,n())),$(e,t)};Dr(a,e=>{r()?e(o):e(s,-1)}),$(e,i)}var Oi=yr(`<svg><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 1 1-6.219-8.56"></path></svg>`);function ki(e,t){let n=hi(t,[`$$slots`,`$$events`,`$$legacy`]);var r=Oi();ui(r,()=>({viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...n})),$(e,r)}var Ai=Q(`<div class="flex items-center justify-center py-24"><div class="flex gap-2 items-center text-surface-400"><!> <span class="text-sm">Loading…</span></div></div>`);function ji(e){var t=Ai(),n=R(t);ki(R(n),{class:`animate-spin size-5`}),Ae(2),O(n),O(t),$(e,t)}var Mi=class{static memory(e){return`${Math.round(e/1024/1024)} MB`}static uptime(e){let t=Math.floor((Date.now()-e)/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n>0?`${n}h ${r}m`:`${r}m`}static statusPreset(e){return{online:`preset-tonal-success`,stopped:`preset-tonal-surface`}[e]||`preset-tonal-error`}},Ni=Q(`<button class="btn btn-sm preset-filled-surface-700">Start</button>`),Pi=Q(`<button class="btn btn-sm preset-filled-surface-700">Stop</button>`),Fi=Q(`<div class="btn-group flex gap-1"><!> <!> <button class="btn btn-sm preset-filled-surface-700">Restart</button></div>`);function Ii(e,t){Be(t,!0);var n=Fi(),r=R(n),i=e=>{var n=Ni();vn(()=>n.disabled=t.loading),ur(`click`,n,()=>t.onAction(`start`)),$(e,n)};Dr(r,e=>{t.status!==`online`&&e(i)});var a=z(r,2),o=e=>{var n=Pi();vn(()=>n.disabled=t.loading),ur(`click`,n,()=>t.onAction(`stop`)),$(e,n)};Dr(a,e=>{t.status===`online`&&e(o)});var s=z(a,2);O(n),vn(()=>s.disabled=t.loading),ur(`click`,s,()=>t.onAction(`restart`)),$(e,n),Ve()}dr([`click`]);var Li=Q(`<div class="card preset-tonal-surface border border-surface-700/30 p-5 flex flex-col gap-4"><div class="flex items-start justify-between gap-2"><div class="flex flex-col gap-0.5 min-w-0"><span class="font-semibold text-sm truncate"> </span> <span class="text-xs text-surface-400"> </span></div> <span> </span></div> <div class="grid grid-cols-2 gap-3"><div class="card preset-filled-surface-800 p-3 rounded-lg flex flex-col gap-1"><span class="text-[10px] uppercase tracking-widest text-surface-400 font-medium">CPU</span> <span class="text-lg font-semibold tabular-nums"> <span class="text-xs text-surface-400 ml-0.5">%</span></span></div> <div class="card preset-filled-surface-800 p-3 rounded-lg flex flex-col gap-1"><span class="text-[10px] uppercase tracking-widest text-surface-400 font-medium">Memory</span> <span class="text-lg font-semibold tabular-nums"> </span></div> <div class="card preset-filled-surface-800 p-3 rounded-lg flex flex-col gap-1"><span class="text-[10px] uppercase tracking-widest text-surface-400 font-medium">Uptime</span> <span class="text-sm font-medium"> </span></div> <div class="card preset-filled-surface-800 p-3 rounded-lg flex flex-col gap-1"><span class="text-[10px] uppercase tracking-widest text-surface-400 font-medium">Restarts</span> <span class="text-lg font-semibold tabular-nums"> </span></div></div> <!></div>`);function Ri(e,t){Be(t,!0);let n=P(!1);async function r(e){F(n,!0);try{await t.onAction(t.process.id,e)}finally{F(n,!1)}}var i=Li(),a=R(i),o=R(a),s=R(o),c=R(s,!0);O(s);var l=z(s,2),u=R(l);O(l),O(o);var d=z(o,2),f=R(d,!0);O(d),O(a);var p=z(a,2),m=R(p),h=z(R(m),2),g=R(h,!0);Ae(),O(h),O(m);var _=z(m,2),v=z(R(_),2),y=R(v,!0);O(v),O(_);var b=z(_,2),x=z(R(b),2),S=R(x,!0);O(x),O(b);var C=z(b,2),ee=z(R(C),2),te=R(ee,!0);O(ee),O(C),O(p),Ii(z(p,2),{get status(){return t.process.status},get loading(){return Z(n)},onAction:r}),O(i),vn((e,n,r)=>{xr(c,t.process.name),xr(u,`pid #${t.process.id??``}`),Kr(d,1,`badge ${e??``} text-xs shrink-0 capitalize`),xr(f,t.process.status),xr(g,t.process.cpu??0),xr(y,n),xr(S,r),xr(te,t.process.restarts??0)},[()=>Mi.statusPreset(t.process.status),()=>t.process.memory?Mi.memory(t.process.memory):`—`,()=>t.process.uptime?Mi.uptime(t.process.uptime):`—`]),$(e,i),Ve()}var zi=Q(`<div class="grid grid-cols-[repeat(auto-fill,minmax(260px,1fr))] gap-4"></div>`);function Bi(e,t){Be(t,!0);var n=br(),r=Qt(n),i=e=>{ji(e,{})},a=e=>{Di(e,{get error(){return t.error}})},o=e=>{Di(e,{message:`No processes found`})},s=e=>{var n=zi();jr(n,21,()=>t.processes,e=>e.id,(e,n)=>{Ri(e,{get process(){return Z(n)},get onAction(){return t.onAction}})}),O(n),$(e,n)};Dr(r,e=>{t.loading?e(i):t.error?e(a,1):t.processes.length===0?e(o,2):e(s,-1)}),$(e,n),Ve()}var Vi=Q(`<div class="border-b border-surface-700/40 shrink-0"><div class="max-w-6xl w-full mx-auto px-6 py-3 flex justify-end"><!></div></div>`),Hi=Q(`<div class="flex flex-col flex-1 min-h-0"><!> <div class="flex-1 overflow-y-auto scrollbar-none"><div class="max-w-6xl w-full mx-auto px-6 py-8"><!></div></div></div>`);function Ui(e,t){Be(t,!0);let n=P(Ut([])),r=P(null),i=P(!0),a=P(!1);async function o(){try{F(n,await bi(),!0),F(r,null)}catch(e){F(r,e instanceof Error?e.message:`Unknown error`,!0)}finally{F(i,!1)}}async function s(e,t){await xi(e,t),await o()}async function c(e){F(a,!0);try{await Si(Z(n).map(e=>e.id),e),await o()}finally{F(a,!1)}}_i(o);var l=Hi(),u=R(l),d=e=>{var t=Vi(),n=R(t);wi(R(n),{get loading(){return Z(a)},onAction:c}),O(n),O(t),$(e,t)};Dr(u,e=>{!Z(i)&&!Z(r)&&Z(n).length>0&&e(d)});var f=z(u,2),p=R(f);Bi(R(p),{get processes(){return Z(n)},get loading(){return Z(i)},get error(){return Z(r)},onAction:s}),O(p),O(f),O(l),$(e,l),Ve()}var Wi=Q(`<footer class="border-t border-surface-700/40"><div class="max-w-6xl mx-auto px-6 py-4 text-xs text-surface-500 flex items-center justify-between"><span>PM2 Dashboard</span> <a href="https://orchidfiles.com" target="_blank" rel="noopener noreferrer" class="hover:text-surface-300 transition-colors">orchidfiles.com</a></div></footer>`);function Gi(e){$(e,Wi())}var Ki=Q(`<span class="badge preset-tonal-surface text-xs"> </span>`),qi=Q(`<header class="border-b border-surface-700/40 bg-surface-900/60 backdrop-blur-sm"><div class="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between"><div class="flex items-center gap-3"><div class="size-8 rounded-lg preset-filled-primary-500 flex items-center justify-center text-sm font-bold">P</div> <span class="font-semibold text-lg tracking-tight">PM2 Dashboard</span></div> <!></div></header>`);function Ji(e,t){let n=gi(t,`processCount`,3,null);var r=qi(),i=R(r),a=z(R(i),2),o=e=>{var t=Ki(),r=R(t);O(t),vn(()=>xr(r,`${n()??``} processes`)),$(e,t)};Dr(a,e=>{n()!==null&&e(o)}),O(i),O(r),$(e,r)}var Yi=Q(`<div class="h-dvh flex flex-col bg-surface-950 text-surface-50"><!> <main class="flex-1 flex flex-col min-h-0"><!></main> <!></div>`);function Xi(e){var t=Yi(),n=R(t);Ji(n,{});var r=z(n,2);Ui(R(r),{}),O(r),Gi(z(r,2),{}),O(t),$(e,t)}Sr(Xi,{target:document.getElementById(`app`)});
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.1.18 | 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-border-style:solid;--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-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-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}}}@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;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-6xl:72rem;--text-xs:calc(.75rem*var(--text-scaling));--text-xs--line-height:calc(calc(1/.75)*var(--text-scaling));--text-sm:calc(.875rem*var(--text-scaling));--text-base:calc(1rem*var(--text-scaling));--text-base--line-height:calc(calc(1.5/1)*var(--text-scaling));--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--blur-sm:8px;--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);--text-scaling:1;--base-font-color:inherit;--base-font-color-dark:inherit;--base-font-family:inherit;--base-font-size:inherit;--base-line-height:inherit;--base-font-weight:inherit;--base-font-style:inherit;--base-letter-spacing:inherit;--radius-base:.25rem;--radius-container:.25rem;--default-ring-width:1px;--color-primary-50:oklch(98.5% 0 0);--color-primary-500:oklch(55.6% 0 0);--color-primary-950:oklch(14.5% 0 0);--color-primary-contrast-dark:var(--color-primary-950);--color-primary-contrast-light:var(--color-primary-50);--color-primary-contrast-500:var(--color-primary-contrast-light);--color-secondary-50:oklch(98.5% 0 0);--color-secondary-950:oklch(14.5% 0 0);--color-secondary-contrast-dark:var(--color-secondary-950);--color-secondary-contrast-light:var(--color-secondary-50);--color-tertiary-50:oklch(98.5% 0 0);--color-tertiary-950:oklch(14.5% 0 0);--color-tertiary-contrast-dark:var(--color-tertiary-950);--color-tertiary-contrast-light:var(--color-tertiary-50);--color-success-50:oklch(98.5% 0 0);--color-success-500:oklch(55.6% 0 0);--color-success-950:oklch(14.5% 0 0);--color-success-contrast-dark:var(--color-success-950);--color-success-contrast-light:var(--color-success-50);--color-success-contrast-500:var(--color-success-contrast-light);--color-warning-50:oklch(98.5% 0 0);--color-warning-500:oklch(55.6% 0 0);--color-warning-950:oklch(14.5% 0 0);--color-warning-contrast-dark:var(--color-warning-950);--color-warning-contrast-light:var(--color-warning-50);--color-warning-contrast-500:var(--color-warning-contrast-light);--color-error-50:oklch(98.5% 0 0);--color-error-500:oklch(55.6% 0 0);--color-error-950:oklch(14.5% 0 0);--color-error-contrast-dark:var(--color-error-950);--color-error-contrast-light:var(--color-error-50);--color-error-contrast-500:var(--color-error-contrast-light);--color-surface-50:oklch(98.5% 0 0);--color-surface-100:oklch(97% 0 0);--color-surface-200:oklch(92.2% 0 0);--color-surface-300:oklch(87% 0 0);--color-surface-400:oklch(70.8% 0 0);--color-surface-500:oklch(55.6% 0 0);--color-surface-600:oklch(43.9% 0 0);--color-surface-700:oklch(37.1% 0 0);--color-surface-800:oklch(26.9% 0 0);--color-surface-900:oklch(20.5% 0 0);--color-surface-950:oklch(14.5% 0 0);--color-surface-contrast-dark:var(--color-surface-950);--color-surface-contrast-light:var(--color-surface-50);--color-surface-contrast-50:var(--color-surface-contrast-dark);--color-surface-contrast-200:var(--color-surface-contrast-dark);--color-surface-contrast-800:var(--color-surface-contrast-light);--color-surface-contrast-950:var(--color-surface-contrast-light);--body-background-color:var(--color-surface-50);--body-background-color-dark:var(--color-surface-950);--color-primary-50-950:var(--lightningcss-light,var(--color-primary-50))var(--lightningcss-dark,var(--color-primary-950));--color-primary-950-50:var(--lightningcss-light,var(--color-primary-950))var(--lightningcss-dark,var(--color-primary-50));--color-success-50-950:var(--lightningcss-light,var(--color-success-50))var(--lightningcss-dark,var(--color-success-950));--color-success-950-50:var(--lightningcss-light,var(--color-success-950))var(--lightningcss-dark,var(--color-success-50));--color-error-50-950:var(--lightningcss-light,var(--color-error-50))var(--lightningcss-dark,var(--color-error-950));--color-error-950-50:var(--lightningcss-light,var(--color-error-950))var(--lightningcss-dark,var(--color-error-50));--color-surface-50-950:var(--lightningcss-light,var(--color-surface-50))var(--lightningcss-dark,var(--color-surface-950));--color-surface-contrast-50-950:var(--lightningcss-light,var(--color-surface-contrast-50))var(--lightningcss-dark,var(--color-surface-contrast-950));--color-surface-100-900:var(--lightningcss-light,var(--color-surface-100))var(--lightningcss-dark,var(--color-surface-900));--color-surface-200-800:var(--lightningcss-light,var(--color-surface-200))var(--lightningcss-dark,var(--color-surface-800));--color-surface-contrast-200-800:var(--lightningcss-light,var(--color-surface-contrast-200))var(--lightningcss-dark,var(--color-surface-contrast-800));--color-surface-300-700:var(--lightningcss-light,var(--color-surface-300))var(--lightningcss-dark,var(--color-surface-700));--color-surface-400-600:var(--lightningcss-light,var(--color-surface-400))var(--lightningcss-dark,var(--color-surface-600));--color-surface-600-400:var(--lightningcss-light,var(--color-surface-600))var(--lightningcss-dark,var(--color-surface-400));--color-surface-700-300:var(--lightningcss-light,var(--color-surface-700))var(--lightningcss-dark,var(--color-surface-300));--color-surface-950-50:var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))}}@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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root{scrollbar-color:var(--color-surface-300-700)var(--color-surface-100-900);scrollbar-width:thin}html{-webkit-tap-highlight-color:color-mix(in srgb,var(--lightningcss-light,var(--color-surface-50))var(--lightningcss-dark,var(--color-surface-950))30%,transparent)}@supports (color:color-mix(in lab, red, red)){html{-webkit-tap-highlight-color:color-mix(in oklab,var(--color-surface-50-950)30%,transparent)}}body{background-color:var(--body-background-color)}@media (prefers-color-scheme:dark){body{background-color:var(--body-background-color-dark)}}body{color:var(--base-font-color);font-family:var(--base-font-family);font-size:var(--base-font-size);line-height:var(--base-line-height);font-weight:var(--base-font-weight);font-style:var(--base-font-style);letter-spacing:var(--base-letter-spacing)}@media (prefers-color-scheme:dark){body{color:var(--base-font-color-dark)}}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}.input::placeholder,.textarea::placeholder,.ig-input::placeholder,.ig-textarea::placeholder{color:var(--color-surface-700-300)}::selection{background-color:#73737380}@supports (color:color-mix(in lab, red, red)){::selection{background-color:color-mix(in srgb,var(--color-primary-500)50%,transparent)}}:disabled,.disabled{opacity:.5}:is(:disabled,.disabled)>*{pointer-events:none}[data-scope=accordion][data-part=root]{gap:calc(var(--spacing)*2);width:100%;display:flex}[data-scope=accordion][data-part=root][data-orientation=vertical]{flex-direction:column}[data-scope=accordion][data-part=root][data-orientation=horizontal]{flex-direction:row}[data-scope=accordion][data-part=item]{gap:calc(var(--spacing)*2);display:flex}[data-scope=accordion][data-part=item][data-orientation=vertical]{flex-direction:column}[data-scope=accordion][data-part=item][data-orientation=horizontal]{flex-direction:row}[data-scope=accordion][data-part=item-trigger]{padding:calc(var(--spacing)*2)calc(var(--spacing)*4);border-radius:var(--radius-base);text-align:start;width:100%}@media (hover:hover){[data-scope=accordion][data-part=item-trigger]:hover{background-color:var(--color-primary-50-950);color:var(--color-primary-950-50)}}[data-scope=accordion][data-part=item-content]{padding:calc(var(--spacing)*2)calc(var(--spacing)*4)}[data-scope=app-bar][data-part=root]{background:var(--color-surface-100-900);width:100%;padding:calc(var(--spacing)*4);gap:calc(var(--spacing)*4);flex-direction:column;display:flex}[data-scope=app-bar][data-part=toolbar]{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*4);display:grid}[data-scope=app-bar][data-part=trail]{gap:calc(var(--spacing)*2);display:flex}[data-scope=avatar][data-part=root]{isolation:isolate;background:var(--color-surface-400-600);width:calc(var(--spacing)*16);height:calc(var(--spacing)*16);border-radius:3.40282e38px;overflow:hidden}[data-scope=avatar][data-part=image]{object-fit:cover;width:100%}[data-scope=avatar][data-part=fallback]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}:has(>[data-orientation=horizontal]) [data-scope=carousel][data-part=root]{width:100%}:has(>[data-orientation=vertical]) [data-scope=carousel][data-part=root]{height:100%}[data-scope=carousel][data-part=item-group]{gap:calc(var(--spacing)*4);display:flex}:has(>[data-orientation=horizontal]) [data-scope=carousel][data-part=item-group]{flex-direction:row}:has(>[data-orientation=vertical]) [data-scope=carousel][data-part=item-group]{flex-direction:column}[data-scope=carousel][data-part=indicator-group]{justify-content:center;gap:calc(var(--spacing)*2);margin-top:calc(var(--spacing)*4);display:flex}[data-scope=carousel][data-part=indicator]{border:1px solid var(--color-surface-500);width:calc(var(--spacing)*4);aspect-ratio:1;border-radius:100%;display:block}[data-scope=carousel][data-part=indicator][data-current]{background-color:var(--color-surface-950-50)}[data-scope=collapsible][data-part=root]{flex-direction:column;align-items:center;width:100%;display:flex}[data-scope=collapsible][data-part=root][data-state=open]{gap:calc(var(--spacing)*2)}[data-scope=collapsible][data-part=trigger][data-disabled]{opacity:.5;pointer-events:none}[data-scope=combobox][data-part=root]{gap:calc(var(--spacing)*2);flex-direction:column;width:100%;display:flex}[data-scope=combobox][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=combobox][data-part=control]{position:relative}[data-scope=combobox][data-part=input]{border-radius:var(--radius-base);width:100%;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);--tw-ring-inset:inset;--tw-ring-color:var(--color-surface-200-800);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 var(--default-ring-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);background-color:#0000;border-width:0;outline-color:#0000;display:block}[data-scope=combobox][data-part=input]:active,[data-scope=combobox][data-part=input]:focus,[data-scope=combobox][data-part=input]:focus-within{--tw-ring-color:var(--color-primary-500)}[data-scope=combobox][data-part=input][type=file]::file-selector-button{cursor:pointer;border-radius:var(--radius-base);background-color:var(--color-surface-950-50);color:var(--color-surface-50-950);transform:translateY(calc(var(--spacing)*-.5));margin-right:calc(var(--spacing)*2);text-transform:capitalize;font-size:var(--text-xs);height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*0);padding-inline:calc(var(--spacing)*3)}[data-scope=combobox][data-part=input][type=range]{accent-color:var(--color-surface-950-50);box-shadow:none;padding-inline:initial}[data-scope=combobox][data-part=input][type=color]{border-radius:var(--radius-base);width:calc(var(--spacing)*8.5);height:calc(var(--spacing)*8.5);-webkit-appearance:none;border:none;outline:none;padding:0}[data-scope=combobox][data-part=input][type=color]::-webkit-color-swatch-wrapper{padding:0}[data-scope=combobox][data-part=input][type=color]::-webkit-color-swatch{border-radius:var(--radius-base);border:none}[data-scope=combobox][data-part=input][type=color]::-moz-color-swatch{border:none}[data-scope=combobox][data-part=trigger]{box-sizing:content-box;border-radius:var(--radius-base);white-space:nowrap;font-size:var(--text-base);width:var(--text-base);height:var(--text-base);padding:calc(var(--spacing)*2);inset-inline-end:calc(var(--spacing)*1.5);justify-content:center;align-items:center;text-decoration-line:none;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}@media (hover:hover){[data-scope=combobox][data-part=trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=combobox][data-part=trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=combobox][data-part=trigger]{font-size:var(--text-xs);width:var(--text-xs);height:var(--text-xs);padding:calc(var(--spacing)*1.5);background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=combobox][data-part=trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=combobox][data-part=trigger]{color:var(--color-primary-950-50)}[data-scope=combobox][data-part=clear-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;width:fit-content;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=combobox][data-part=clear-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=combobox][data-part=clear-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=combobox][data-part=clear-trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}@media (hover:hover){[data-scope=combobox][data-part=clear-trigger]:hover{background-color:var(--color-error-500);color:var(--color-error-contrast-500)}}[data-scope=combobox][data-part=content]{padding:calc(var(--spacing)*2);gap:calc(var(--spacing)*2);background:var(--color-surface-50-950);border:1px solid var(--color-surface-200-800);border-radius:var(--radius-container);flex-direction:column;display:flex}a[data-scope=combobox][data-part=content]{transition-property:all;transition-timing-function:var(--default-transition-timing-function);transition-duration:var(--default-transition-duration)}@media (hover:hover){a[data-scope=combobox][data-part=content]:hover{filter:brightness(95%)}@media (prefers-color-scheme:dark){a[data-scope=combobox][data-part=content]:hover{filter:brightness(110%)}}}[data-scope=combobox][data-part=item-group-label]{color:var(--color-surface-600-400);font-size:var(--text-xs);padding:calc(var(--spacing)*1)calc(var(--spacing)*2)}[data-scope=combobox][data-part=item]{padding:calc(var(--spacing)*1)calc(var(--spacing)*2);border-radius:var(--radius-base);cursor:pointer;justify-content:space-between;align-items:center;display:flex}[data-scope=combobox][data-part=item][data-state=checked]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=combobox][data-part=item][data-highlighted]{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=combobox][data-part=item][data-highlighted]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=combobox][data-part=item][data-highlighted]{color:var(--color-primary-950-50)}[data-scope=combobox][data-part=item][data-disabled]{pointer-events:none;opacity:.5}[data-scope=date-picker][data-part=root]{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}[data-scope=date-picker][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=date-picker][data-part=control]{gap:calc(var(--spacing)*2);flex-direction:column;display:flex;position:relative}[data-scope=date-picker][data-part=input]{border-radius:var(--radius-base);width:100%;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);--tw-ring-inset:inset;--tw-ring-color:var(--color-surface-200-800);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 var(--default-ring-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);background-color:#0000;border-width:0;outline-color:#0000;display:block}[data-scope=date-picker][data-part=input]:active,[data-scope=date-picker][data-part=input]:focus,[data-scope=date-picker][data-part=input]:focus-within{--tw-ring-color:var(--color-primary-500)}[data-scope=date-picker][data-part=input][type=file]::file-selector-button{cursor:pointer;border-radius:var(--radius-base);background-color:var(--color-surface-950-50);color:var(--color-surface-50-950);transform:translateY(calc(var(--spacing)*-.5));margin-right:calc(var(--spacing)*2);text-transform:capitalize;font-size:var(--text-xs);height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*0);padding-inline:calc(var(--spacing)*3)}[data-scope=date-picker][data-part=input][type=range]{accent-color:var(--color-surface-950-50);box-shadow:none;padding-inline:initial}[data-scope=date-picker][data-part=input][type=color]{border-radius:var(--radius-base);width:calc(var(--spacing)*8.5);height:calc(var(--spacing)*8.5);-webkit-appearance:none;border:none;outline:none;padding:0}[data-scope=date-picker][data-part=input][type=color]::-webkit-color-swatch-wrapper{padding:0}[data-scope=date-picker][data-part=input][type=color]::-webkit-color-swatch{border-radius:var(--radius-base);border:none}[data-scope=date-picker][data-part=input][type=color]::-moz-color-swatch{border:none}[data-scope=date-picker][data-part=trigger]{inset-inline-end:calc(var(--spacing)*1.5);top:calc(var(--spacing)*1.25);box-sizing:content-box;border-radius:var(--radius-base);white-space:nowrap;font-size:var(--text-base);width:var(--text-base);height:var(--text-base);padding:calc(var(--spacing)*2);justify-content:center;align-items:center;text-decoration-line:none;display:inline-flex;position:absolute}@media (hover:hover){[data-scope=date-picker][data-part=trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=date-picker][data-part=trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=date-picker][data-part=trigger]{font-size:var(--text-xs);width:var(--text-xs);height:var(--text-xs);padding:calc(var(--spacing)*1.5);background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=date-picker][data-part=trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=date-picker][data-part=trigger]{color:var(--color-primary-950-50)}[data-scope=date-picker][data-part=preset-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=date-picker][data-part=preset-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=date-picker][data-part=preset-trigger]:not(:disabled):hover{filter:brightness(75%)}}[data-scope=date-picker][data-part=preset-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=date-picker][data-part=preset-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=date-picker][data-part=preset-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=date-picker][data-part=content]{padding:calc(var(--spacing)*2);gap:calc(var(--spacing)*2);background:var(--color-surface-50-950);border:1px solid var(--color-surface-200-800);border-radius:var(--radius-container);flex-direction:column;display:flex}a[data-scope=date-picker][data-part=content]{transition-property:all;transition-timing-function:var(--default-transition-timing-function);transition-duration:var(--default-transition-duration)}@media (hover:hover){a[data-scope=date-picker][data-part=content]:hover{filter:brightness(95%)}@media (prefers-color-scheme:dark){a[data-scope=date-picker][data-part=content]:hover{filter:brightness(110%)}}}[data-scope=date-picker][data-part=year-select]{border-radius:var(--radius-base);width:100%;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);--tw-ring-inset:inset;--tw-ring-color:var(--color-surface-200-800);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 var(--default-ring-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);background-color:#0000;border-width:0;outline-color:#0000;display:block}[data-scope=date-picker][data-part=year-select]:active,[data-scope=date-picker][data-part=year-select]:focus,[data-scope=date-picker][data-part=year-select]:focus-within{--tw-ring-color:var(--color-primary-500)}[data-scope=date-picker][data-part=year-select]>*+*{margin-top:calc(var(--spacing)*2)}[data-scope=date-picker][data-part=year-select][multiple]{border-radius:var(--radius-container);padding:calc(var(--spacing)*1)}[data-scope=date-picker][data-part=year-select][multiple] optgroup,[data-scope=date-picker][data-part=year-select][multiple] option{background-color:#0000}[data-scope=date-picker][data-part=year-select][size]{border-radius:var(--radius-container);padding:calc(var(--spacing)*1)}[data-scope=date-picker][data-part=year-select][size] optgroup,[data-scope=date-picker][data-part=year-select][size] option{background-color:#0000}[data-scope=date-picker][data-part=year-select] optgroup{background-color:var(--color-surface-50-950);color:var(--color-surface-950-50)}[data-scope=date-picker][data-part=year-select] optgroup>*+*,[data-scope=date-picker][data-part=year-select] optgroup option:first-of-type{margin-top:calc(var(--spacing)*2)}[data-scope=date-picker][data-part=year-select] optgroup option:last-child{margin-bottom:calc(var(--spacing)*2)!important}[data-scope=date-picker][data-part=year-select] option{background-color:var(--color-surface-50-950);color:var(--color-surface-950-50)}[data-scope=date-picker][data-part=month-select]{border-radius:var(--radius-base);width:100%;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);--tw-ring-inset:inset;--tw-ring-color:var(--color-surface-200-800);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 var(--default-ring-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);background-color:#0000;border-width:0;outline-color:#0000;display:block}[data-scope=date-picker][data-part=month-select]:active,[data-scope=date-picker][data-part=month-select]:focus,[data-scope=date-picker][data-part=month-select]:focus-within{--tw-ring-color:var(--color-primary-500)}[data-scope=date-picker][data-part=month-select]>*+*{margin-top:calc(var(--spacing)*2)}[data-scope=date-picker][data-part=month-select][multiple]{border-radius:var(--radius-container);padding:calc(var(--spacing)*1)}[data-scope=date-picker][data-part=month-select][multiple] optgroup,[data-scope=date-picker][data-part=month-select][multiple] option{background-color:#0000}[data-scope=date-picker][data-part=month-select][size]{border-radius:var(--radius-container);padding:calc(var(--spacing)*1)}[data-scope=date-picker][data-part=month-select][size] optgroup,[data-scope=date-picker][data-part=month-select][size] option{background-color:#0000}[data-scope=date-picker][data-part=month-select] optgroup{background-color:var(--color-surface-50-950);color:var(--color-surface-950-50)}[data-scope=date-picker][data-part=month-select] optgroup>*+*,[data-scope=date-picker][data-part=month-select] optgroup option:first-of-type{margin-top:calc(var(--spacing)*2)}[data-scope=date-picker][data-part=month-select] optgroup option:last-child{margin-bottom:calc(var(--spacing)*2)!important}[data-scope=date-picker][data-part=month-select] option{background-color:var(--color-surface-50-950);color:var(--color-surface-950-50)}[data-scope=date-picker][data-part=view]{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}[data-scope=date-picker][data-part=view-control]{gap:calc(var(--spacing)*2);justify-content:space-between;display:flex}[data-scope=date-picker][data-part=prev-trigger]{box-sizing:content-box;border-radius:var(--radius-base);white-space:nowrap;font-size:var(--text-base);width:var(--text-base);height:var(--text-base);padding:calc(var(--spacing)*2);justify-content:center;align-items:center;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=date-picker][data-part=prev-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=date-picker][data-part=prev-trigger]:not(:disabled):hover{filter:brightness(75%)}}[data-scope=date-picker][data-part=prev-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=date-picker][data-part=prev-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=date-picker][data-part=prev-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=date-picker][data-part=view-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=date-picker][data-part=view-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=date-picker][data-part=view-trigger]:not(:disabled):hover{filter:brightness(75%)}}[data-scope=date-picker][data-part=view-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=date-picker][data-part=view-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=date-picker][data-part=view-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=date-picker][data-part=next-trigger]{box-sizing:content-box;border-radius:var(--radius-base);white-space:nowrap;font-size:var(--text-base);width:var(--text-base);height:var(--text-base);padding:calc(var(--spacing)*2);justify-content:center;align-items:center;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=date-picker][data-part=next-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=date-picker][data-part=next-trigger]:not(:disabled):hover{filter:brightness(75%)}}[data-scope=date-picker][data-part=next-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=date-picker][data-part=next-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=date-picker][data-part=next-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=date-picker][data-part=table]{border-collapse:separate;border-spacing:calc(var(--spacing)*2)}[data-scope=date-picker][data-part=table-header]{font-size:var(--text-sm);width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}[data-scope=date-picker][data-part=table-cell]{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}[data-scope=date-picker][data-part=table-cell-trigger]{font-size:var(--text-sm);width:100%;height:100%;padding:calc(var(--spacing)*1);border-radius:var(--radius-base);justify-content:center;align-items:center;display:flex}@media (hover:hover){[data-scope=date-picker][data-part=table-cell-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=date-picker][data-part=table-cell-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=date-picker][data-part=table-cell-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=date-picker][data-part=table-cell-trigger][data-focus-visible]{outline:2px solid var(--color-surface-950-50);outline-offset:1px}[data-scope=date-picker][data-part=table-cell-trigger][data-selected],[data-scope=date-picker][data-part=table-cell-trigger][data-in-range]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=date-picker][data-part=table-cell-trigger][data-today]{text-underline-offset:calc(var(--spacing)*1);text-decoration:underline}[data-scope=date-picker][data-part=table-cell-trigger][data-disabled]{pointer-events:none;opacity:.5}[data-scope=file-upload][data-part=root]{gap:calc(var(--spacing)*2);flex-direction:column;width:100%;display:flex}[data-scope=file-upload][data-part=root][data-disabled]{opacity:.5;pointer-events:none}[data-scope=file-upload][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=file-upload][data-part=dropzone]{padding:calc(var(--spacing)*10)calc(var(--spacing)*4);border:1px dashed var(--color-surface-200-800);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);border-radius:var(--radius-container);flex-direction:column;display:flex}a[data-scope=file-upload][data-part=dropzone]{transition-property:all;transition-timing-function:var(--default-transition-timing-function);transition-duration:var(--default-transition-duration)}@media (hover:hover){a[data-scope=file-upload][data-part=dropzone]:hover{filter:brightness(95%)}@media (prefers-color-scheme:dark){a[data-scope=file-upload][data-part=dropzone]:hover{filter:brightness(110%)}}}[data-scope=file-upload][data-part=dropzone][data-dragging]{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=file-upload][data-part=dropzone][data-dragging]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=file-upload][data-part=dropzone][data-dragging]{color:var(--color-primary-950-50)}[data-scope=file-upload][data-part=trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=file-upload][data-part=trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=file-upload][data-part=trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=file-upload][data-part=trigger]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=file-upload][data-part=clear-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;width:fit-content;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=file-upload][data-part=clear-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=file-upload][data-part=clear-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=file-upload][data-part=clear-trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}@media (hover:hover){[data-scope=file-upload][data-part=clear-trigger]:hover{background-color:var(--color-error-500);color:var(--color-error-contrast-500)}}[data-scope=file-upload][data-part=item-group]{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}[data-scope=file-upload][data-part=item]{gap:calc(var(--spacing)*4);padding:calc(var(--spacing)*2)calc(var(--spacing)*4);border-radius:var(--radius-base);background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d);grid-template-columns:auto 1fr auto;align-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){[data-scope=file-upload][data-part=item]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=file-upload][data-part=item]{color:var(--color-primary-950-50)}[data-scope=file-upload][data-part=item-name]{font-size:var(--text-sm)}[data-scope=file-upload][data-part=item-size-text]{font-size:var(--text-xs);opacity:.6}[data-scope=file-upload][data-part=item-delete-trigger]{box-sizing:content-box;border-radius:var(--radius-base);white-space:nowrap;font-size:var(--text-base);width:var(--text-base);height:var(--text-base);padding:calc(var(--spacing)*2);justify-content:center;align-items:center;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=file-upload][data-part=item-delete-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=file-upload][data-part=item-delete-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=floating-panel][data-part=content]{border:1px solid var(--color-surface-300-700);border-radius:var(--radius-container);overflow:hidden}a[data-scope=floating-panel][data-part=content]{transition-property:all;transition-timing-function:var(--default-transition-timing-function);transition-duration:var(--default-transition-duration)}@media (hover:hover){a[data-scope=floating-panel][data-part=content]:hover{filter:brightness(95%)}@media (prefers-color-scheme:dark){a[data-scope=floating-panel][data-part=content]:hover{filter:brightness(110%)}}}[data-scope=floating-panel][data-part=content]{--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)}[data-scope=floating-panel][data-part=header]{padding:calc(var(--spacing)*2)calc(var(--spacing)*4);gap:calc(var(--spacing)*2);background:var(--color-surface-200-800);grid-template-columns:1fr auto;align-items:center;display:grid;overflow-y:hidden}[data-scope=floating-panel][data-part=title]{justify-content:flex-start;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;display:flex}[data-scope=floating-panel][data-part=control]{gap:calc(var(--spacing)*1);display:flex}[data-scope=floating-panel][data-part=stage-trigger]{box-sizing:content-box;border-radius:var(--radius-base);white-space:nowrap;font-size:var(--text-base);width:var(--text-base);height:var(--text-base);padding:calc(var(--spacing)*2);justify-content:center;align-items:center;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=floating-panel][data-part=stage-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=floating-panel][data-part=stage-trigger]:not(:disabled):hover{filter:brightness(75%)}}[data-scope=floating-panel][data-part=stage-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=floating-panel][data-part=stage-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=floating-panel][data-part=stage-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=floating-panel][data-part=close-trigger]{box-sizing:content-box;border-radius:var(--radius-base);white-space:nowrap;font-size:var(--text-base);width:var(--text-base);height:var(--text-base);padding:calc(var(--spacing)*2);justify-content:center;align-items:center;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=floating-panel][data-part=close-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=floating-panel][data-part=close-trigger]:not(:disabled):hover{filter:brightness(75%)}}[data-scope=floating-panel][data-part=close-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=floating-panel][data-part=close-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=floating-panel][data-part=close-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=floating-panel][data-part=body]{background:var(--color-surface-100-900);height:100%;padding:calc(var(--spacing)*4);overflow-y:auto}[data-scope=floating-panel][data-part=resize-trigger][data-axis*=n],[data-scope=floating-panel][data-part=resize-trigger][data-axis*=s]{height:calc(var(--spacing)*2)}[data-scope=floating-panel][data-part=resize-trigger][data-axis*=e],[data-scope=floating-panel][data-part=resize-trigger][data-axis*=w]{width:calc(var(--spacing)*2)}[data-scope=listbox][data-part=root]{align-items:stretch;gap:calc(var(--spacing)*2);flex-direction:column;display:flex}[data-scope=listbox][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=listbox][data-part=input]{border-radius:var(--radius-base);width:100%;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);--tw-ring-inset:inset;--tw-ring-color:var(--color-surface-200-800);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 var(--default-ring-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);background-color:#0000;border-width:0;outline-color:#0000;display:block}[data-scope=listbox][data-part=input]:active,[data-scope=listbox][data-part=input]:focus,[data-scope=listbox][data-part=input]:focus-within{--tw-ring-color:var(--color-primary-500)}[data-scope=listbox][data-part=input][type=file]::file-selector-button{cursor:pointer;border-radius:var(--radius-base);background-color:var(--color-surface-950-50);color:var(--color-surface-50-950);transform:translateY(calc(var(--spacing)*-.5));margin-right:calc(var(--spacing)*2);text-transform:capitalize;font-size:var(--text-xs);height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*0);padding-inline:calc(var(--spacing)*3)}[data-scope=listbox][data-part=input][type=range]{accent-color:var(--color-surface-950-50);box-shadow:none;padding-inline:initial}[data-scope=listbox][data-part=input][type=color]{border-radius:var(--radius-base);width:calc(var(--spacing)*8.5);height:calc(var(--spacing)*8.5);-webkit-appearance:none;border:none;outline:none;padding:0}[data-scope=listbox][data-part=input][type=color]::-webkit-color-swatch-wrapper{padding:0}[data-scope=listbox][data-part=input][type=color]::-webkit-color-swatch{border-radius:var(--radius-base);border:none}[data-scope=listbox][data-part=input][type=color]::-moz-color-swatch{border:none}[data-scope=listbox][data-part=content]{padding:calc(var(--spacing)*2);gap:calc(var(--spacing)*2);background:var(--color-surface-50-950);border:1px solid var(--color-surface-200-800);border-radius:var(--radius-container);flex-direction:column;display:flex}a[data-scope=listbox][data-part=content]{transition-property:all;transition-timing-function:var(--default-transition-timing-function);transition-duration:var(--default-transition-duration)}@media (hover:hover){a[data-scope=listbox][data-part=content]:hover{filter:brightness(95%)}@media (prefers-color-scheme:dark){a[data-scope=listbox][data-part=content]:hover{filter:brightness(110%)}}}[data-scope=listbox][data-part=item-group-label]{color:var(--color-surface-600-400);font-size:var(--text-xs);padding:calc(var(--spacing)*1)calc(var(--spacing)*2)}[data-scope=listbox][data-part=item]{padding:calc(var(--spacing)*1)calc(var(--spacing)*2);border-radius:var(--radius-base);cursor:pointer;justify-content:space-between;align-items:center;display:flex}@media (hover:hover){[data-scope=listbox][data-part=item]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=listbox][data-part=item]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=listbox][data-part=item]:hover{color:var(--color-primary-950-50)}}[data-scope=listbox][data-part=item][data-selected]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=listbox][data-part=item][data-highlighted]{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=listbox][data-part=item][data-highlighted]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=listbox][data-part=item][data-highlighted]{color:var(--color-primary-950-50)}[data-scope=listbox][data-part=item][data-disabled]{pointer-events:none;opacity:.5}[data-scope=menu][data-part=content]{padding:calc(var(--spacing)*2);align-items:stretch;gap:calc(var(--spacing)*2);min-width:calc(var(--spacing)*48);background:var(--color-surface-50-950);border:1px solid var(--color-surface-200-800);border-radius:var(--radius-container);flex-direction:column;display:flex}a[data-scope=menu][data-part=content]{transition-property:all;transition-timing-function:var(--default-transition-timing-function);transition-duration:var(--default-transition-duration)}@media (hover:hover){a[data-scope=menu][data-part=content]:hover{filter:brightness(95%)}@media (prefers-color-scheme:dark){a[data-scope=menu][data-part=content]:hover{filter:brightness(110%)}}}[data-scope=menu][data-part=content]{--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)}[data-scope=menu][data-part=arrow]{--arrow-size:calc(var(--spacing)*2);--arrow-background:var(--color-surface-50-950)}[data-scope=menu][data-part=item-group-label]{color:var(--color-surface-600-400);font-size:var(--text-xs);padding:calc(var(--spacing)*1)calc(var(--spacing)*2)}[data-scope=menu][data-part=item],[data-scope=menu][data-part=trigger-item]{padding:calc(var(--spacing)*1)calc(var(--spacing)*2);border-radius:var(--radius-base);cursor:pointer;justify-content:space-between;align-items:center;display:flex}:is([data-scope=menu][data-part=item],[data-scope=menu][data-part=trigger-item])[data-highlighted]{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){:is([data-scope=menu][data-part=item],[data-scope=menu][data-part=trigger-item])[data-highlighted]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}:is([data-scope=menu][data-part=item],[data-scope=menu][data-part=trigger-item])[data-highlighted]{color:var(--color-primary-950-50)}[data-scope=menu][data-part=separator]{border-color:var(--color-surface-200-800);border-top-width:1px;width:100%;display:block}[data-scope=menu][data-disabled]{pointer-events:none;opacity:.5}[data-scope=navigation][data-part=root]{background:var(--color-surface-100-900);transition:width .2s;overflow-x:hidden}[data-scope=navigation][data-part=root][data-layout=bar]{width:100%;padding:calc(var(--spacing)*2)}[data-scope=navigation][data-part=root][data-layout=rail]{width:calc(var(--spacing)*25);height:100%;padding:calc(var(--spacing)*2);gap:calc(var(--spacing)*4);flex-direction:column;display:flex;overflow-y:hidden}[data-scope=navigation][data-part=root][data-layout=sidebar]{width:calc(var(--spacing)*70);height:100%;padding:calc(var(--spacing)*4);overflow-y:auto}[data-scope=navigation][data-part=content][data-layout=rail]{display:contents}[data-scope=navigation][data-part=content][data-layout=sidebar]{align-items:start;gap:calc(var(--spacing)*4);flex-direction:column;display:flex}[data-scope=navigation][data-part=group][data-layout=rail]{display:contents}[data-scope=navigation][data-part=group][data-layout=sidebar]{gap:calc(var(--spacing)*2);flex-direction:column;width:100%;display:flex}[data-scope=navigation][data-part=label]{font-size:var(--text-xs);color:var(--color-surface-700-300)}[data-scope=navigation][data-part=menu]{gap:calc(var(--spacing)*2);flex:1;display:flex}[data-scope=navigation][data-part=menu][data-layout=bar]{align-items:stretch}[data-scope=navigation][data-part=menu][data-layout=rail]{flex-direction:column;justify-content:center}[data-scope=navigation][data-part=menu][data-layout=sidebar]{flex-direction:column;align-items:stretch;width:100%}[data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){:is([data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor]):not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){:is([data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor]):not(:disabled):hover{filter:brightness(75%)}}:is([data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor]):hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){:is([data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor]):hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}:is([data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor]):hover{color:var(--color-primary-950-50)}}:is([data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor])[data-layout=bar]{align-items:center;gap:calc(var(--spacing)*1);flex-direction:column}:is([data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor])[data-layout=rail]{aspect-ratio:1;flex-direction:column;align-items:center;gap:.5px;width:100%;max-width:84px;display:flex}:is([data-scope=navigation][data-part=trigger],[data-scope=navigation][data-part=trigger-anchor])[data-layout=sidebar]{padding-inline:calc(var(--spacing)*2);justify-content:start;width:100%}[data-scope=navigation][data-part=trigger-text][data-layout=bar],[data-scope=navigation][data-part=trigger-text][data-layout=rail]{font-size:calc(var(--spacing)*2.5)}[data-scope=navigation][data-part=trigger-text][data-layout=sidebar]{font-size:var(--text-base)}[data-scope=pagination][data-part=root]{gap:calc(var(--spacing)*2);padding:calc(var(--spacing)*2);border-radius:var(--radius-container);border-width:1px;border-color:var(--color-surface-200-800);width:fit-content;display:inline-flex}[data-scope=pagination][data-part=first-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=pagination][data-part=first-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=pagination][data-part=first-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=pagination][data-part=first-trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}[data-scope=pagination][data-part=prev-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=pagination][data-part=prev-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=pagination][data-part=prev-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=pagination][data-part=prev-trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}[data-scope=pagination][data-part=item]{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=pagination][data-part=item]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=pagination][data-part=item]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=pagination][data-part=item]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}[data-scope=pagination][data-part=item][data-selected]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=pagination][data-part=ellipsis]{pointer-events:none;border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=pagination][data-part=ellipsis]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=pagination][data-part=ellipsis]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=pagination][data-part=ellipsis]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}[data-scope=pagination][data-part=next-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=pagination][data-part=next-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=pagination][data-part=next-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=pagination][data-part=next-trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}[data-scope=pagination][data-part=last-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=pagination][data-part=last-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=pagination][data-part=last-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=pagination][data-part=last-trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}[data-scope=progress][data-part=root]{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}[data-scope=progress][data-part=root][data-orientation=horizontal]{width:100%}[data-scope=progress][data-part=root][data-orientation=vertical]{align-items:center}[data-scope=progress][data-part=label]{white-space:nowrap}[data-scope=progress][data-part=track]{background:var(--color-surface-200-800);border-radius:var(--radius-base);overflow:hidden}[data-scope=progress][data-part=track][data-orientation=horizontal]{width:100%;height:calc(var(--spacing)*2)}[data-scope=progress][data-part=track][data-orientation=vertical]{width:calc(var(--spacing)*2);height:calc(var(--spacing)*25);flex-direction:column-reverse;display:flex}[data-scope=progress][data-part=range]{background:var(--color-surface-950-50);border-radius:var(--radius-base);height:100%}[data-scope=progress][data-part=range][data-orientation=horizontal]{transition:width .2s}[data-scope=progress][data-part=range][data-orientation=horizontal][data-state=indeterminate]{animation:1.5s linear infinite progress-linear-indeterminate-horizontal}[data-scope=progress][data-part=range][data-orientation=vertical]{transition:height .2s}[data-scope=progress][data-part=range][data-orientation=vertical][data-state=indeterminate]{animation:1.5s linear infinite progress-linear-indeterminate-vertical}[data-scope=progress][data-part=circle]{--size:calc(var(--spacing)*24);--thickness:calc(var(--size)/12)}[data-scope=progress][data-part=circle-track]{stroke:var(--color-surface-200-800)}[data-scope=progress][data-part=circle-range]{stroke:var(--color-primary-500);transition:stroke-dashoffset .2s ease-in-out}[data-scope=progress][data-part=circle-range][data-state=indeterminate]{animation:1.5s linear infinite progress-circular-indeterminate}[data-scope=rating-group][data-part=root]{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}[data-scope=rating-group][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=rating-group][data-part=control]{gap:calc(var(--spacing)*2);display:flex}[data-scope=rating-group][data-part=control][data-disabled]{cursor:not-allowed;opacity:.5}[data-scope=radio-group][data-part=root]{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}[data-scope=radio-group][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=radio-group][data-part=control]{padding:calc(var(--spacing)*2);gap:calc(var(--spacing)*2);border-radius:var(--radius-base);border-width:1px;border-color:var(--color-surface-200-800);display:inline-flex}:has(>[data-orientation=horizontal]) [data-scope=radio-group][data-part=control]{flex-direction:row}:has(>[data-orientation=vertical]) [data-scope=radio-group][data-part=control]{flex-direction:column}[data-scope=radio-group][data-part=indicator]{top:var(--top);left:var(--left);width:var(--width);height:var(--height);border-radius:var(--radius-base);background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=radio-group][data-part=indicator][data-disabled]{opacity:.5}[data-scope=radio-group][data-part=item]{cursor:pointer;z-index:10;border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;flex:1;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=radio-group][data-part=item]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=radio-group][data-part=item]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=radio-group][data-part=item][data-focus-visible]{outline:2px solid var(--color-surface-950-50);outline-offset:1px}[data-scope=radio-group][data-part=item][data-readonly]{pointer-events:none}[data-scope=radio-group][data-part=item][data-disabled]{pointer-events:none;opacity:.5}[data-scope=radio-group][data-part=item-text]{color:var(--color-surface-contrast-50);transition:color .15s}[data-scope=radio-group][data-part=item-text][data-state=checked]{color:var(--color-surface-contrast-950)}@media (prefers-color-scheme:dark){[data-scope=radio-group][data-part=item-text]{color:var(--color-surface-contrast-950)}[data-scope=radio-group][data-part=item-text][data-state=checked]{color:var(--color-surface-contrast-50)}}[data-scope=slider][data-part=root]{gap:calc(var(--spacing)*2);flex-direction:column;width:100%;display:flex}[data-scope=slider][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=slider][data-part=control]{align-items:center;display:flex}[data-scope=slider][data-part=control][data-disabled]{opacity:.5}[data-scope=slider][data-part=track]{background:var(--color-surface-200-800);border-radius:var(--radius-base);height:calc(var(--spacing)*2);flex:1;overflow:hidden}[data-scope=slider][data-part=range]{background:var(--color-surface-950-50);height:100%}[data-scope=slider][data-part=thumb]{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);background:var(--color-surface-50-950);box-shadow:inset 0 0 0 2px var(--color-surface-950-50);border-radius:3.40282e38px}[data-scope=slider][data-part=thumb]:focus-visible{outline:2px solid var(--color-surface-950-50);outline-offset:1px}[data-scope=slider][data-part=marker]{font-size:var(--text-xs);color:var(--color-surface-600-400)}[data-scope=steps][data-part=root][data-orientation=horizontal]{gap:calc(var(--spacing)*4);flex-direction:column;display:flex}[data-scope=steps][data-part=root][data-orientation=vertical]{gap:calc(var(--spacing)*4);display:flex}[data-scope=steps][data-part=list]{gap:calc(var(--spacing)*2);display:flex}[data-scope=steps][data-part=list][data-orientation=horizontal]{align-items:center}[data-scope=steps][data-part=list][data-orientation=vertical]{flex-direction:column;align-items:flex-start}[data-scope=steps][data-part=item]{gap:calc(var(--spacing)*2);flex-grow:1;display:flex}[data-scope=steps][data-part=item]:last-child{flex-grow:0}[data-scope=steps][data-part=item][data-orientation=horizontal]{align-items:center}[data-scope=steps][data-part=item][data-orientation=vertical]{flex-direction:column;align-items:flex-start}[data-scope=steps][data-part=trigger]{align-items:center;gap:calc(var(--spacing)*1);display:flex}[data-scope=steps][data-part=indicator]{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8);border-radius:3.40282e38px;place-content:center;display:grid}[data-scope=steps][data-part=indicator]:not([data-complete]):not([data-current]){border-width:1px;border-color:var(--color-surface-200-800)}[data-scope=steps][data-part=indicator][data-complete]{background-color:var(--color-primary-500);color:var(--color-primary-contrast-500)}[data-scope=steps][data-part=indicator][data-current]{border-width:1px;border-color:var(--color-primary-500)}[data-scope=steps][data-part=separator]{border-color:var(--color-surface-200-800);flex-grow:1;height:0}[data-scope=steps][data-part=separator][data-complete]{border-color:var(--color-primary-500)}[data-scope=steps][data-part=separator][data-orientation=horizontal]{border-top-width:1px}[data-scope=steps][data-part=separator][data-orientation=vertical]{min-height:calc(var(--spacing)*4);border-inline-start-width:1px;margin-inline-start:calc(var(--spacing)*4)}[data-scope=switch][data-part=root]{cursor:pointer;gap:calc(var(--spacing)*2);border-radius:var(--radius-base);align-items:center;display:inline-flex}[data-scope=switch][data-part=root][data-disabled]{cursor:not-allowed;opacity:.5}[data-scope=switch][data-part=root][data-focus-visible]{outline:2px solid var(--color-surface-950-50);outline-offset:1px}[data-scope=switch][data-part=control]{height:calc(var(--spacing)*6);width:calc(var(--spacing)*10);padding:calc(var(--spacing)*.5);background-color:var(--color-surface-200-800);color:var(--color-surface-contrast-200-800);border-radius:3.40282e38px;justify-content:flex-start;display:flex}[data-scope=switch][data-part=control][data-state=checked]{background-color:var(--color-primary-500);color:var(--color-primary-contrast-500)}[data-scope=switch][data-part=thumb]{aspect-ratio:1;background:var(--color-surface-50);height:100%;color:var(--color-surface-contrast-50);fill:var(--color-surface-contrast-50);border-radius:3.40282e38px;justify-content:center;align-items:center;transition:transform .1s;display:grid}[data-scope=switch][data-part=thumb][data-state=checked]{transform:translateX(calc(var(--spacing)*4))}[dir=rtl] [data-scope=switch][data-part=thumb][data-state=checked]{transform:translateX(calc(-1*calc(var(--spacing)*4)))}[data-scope=switch][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=tabs][data-part=root]{width:100%;display:flex}[data-scope=tabs][data-part=root][data-orientation=horizontal]{flex-direction:column}[data-scope=tabs][data-part=root][data-orientation=vertical]{flex-direction:row}[data-scope=tabs][data-part=list]{gap:calc(var(--spacing)*2);border-color:var(--color-surface-200-800);display:flex;position:relative}[data-scope=tabs][data-part=list][data-orientation=horizontal]{padding-bottom:calc(var(--spacing)*2);margin-bottom:calc(var(--spacing)*4);border-bottom-width:1px;flex-direction:row}[data-scope=tabs][data-part=list][data-orientation=vertical]{border-inline-end-width:1px;flex-direction:column;margin-inline-end:calc(var(--spacing)*4);padding-inline-end:calc(var(--spacing)*2)}[data-scope=tabs][data-part=trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=tabs][data-part=trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=tabs][data-part=trigger]:not(:disabled):hover{filter:brightness(75%)}}[data-scope=tabs][data-part=trigger]:hover{background-color:var(--color-primary-50-950);color:var(--color-primary-950-50)}}[data-scope=tabs][data-part=trigger][data-disabled]{opacity:.5}[data-scope=tabs][data-part=indicator]{background:var(--color-surface-950-50)}[data-scope=tabs][data-part=indicator][data-orientation=horizontal]{width:var(--width);height:calc(var(--spacing)*.5);bottom:0}[data-scope=tabs][data-part=indicator][data-orientation=vertical]{width:calc(var(--spacing)*.5);height:var(--height);inset-inline-end:0}[data-scope=tags-input][data-part=root]{gap:calc(var(--spacing)*2);flex-direction:column;width:100%;display:flex}[data-scope=tags-input][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=tags-input][data-part=control]{border-radius:var(--radius-base);width:100%;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);--tw-ring-inset:inset;--tw-ring-color:var(--color-surface-200-800);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 var(--default-ring-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);background-color:#0000;border-width:0;outline-color:#0000;display:block}[data-scope=tags-input][data-part=control]:active,[data-scope=tags-input][data-part=control]:focus,[data-scope=tags-input][data-part=control]:focus-within{--tw-ring-color:var(--color-primary-500)}[data-scope=tags-input][data-part=control][type=file]::file-selector-button{cursor:pointer;border-radius:var(--radius-base);background-color:var(--color-surface-950-50);color:var(--color-surface-50-950);transform:translateY(calc(var(--spacing)*-.5));margin-right:calc(var(--spacing)*2);text-transform:capitalize;font-size:var(--text-xs);height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*0);padding-inline:calc(var(--spacing)*3)}[data-scope=tags-input][data-part=control][type=range]{accent-color:var(--color-surface-950-50);box-shadow:none;padding-inline:initial}[data-scope=tags-input][data-part=control][type=color]{border-radius:var(--radius-base);width:calc(var(--spacing)*8.5);height:calc(var(--spacing)*8.5);-webkit-appearance:none;border:none;outline:none;padding:0}[data-scope=tags-input][data-part=control][type=color]::-webkit-color-swatch-wrapper{padding:0}[data-scope=tags-input][data-part=control][type=color]::-webkit-color-swatch{border-radius:var(--radius-base);border:none}[data-scope=tags-input][data-part=control][type=color]::-moz-color-swatch{border:none}[data-scope=tags-input][data-part=control]{gap:calc(var(--spacing)*2);padding:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}[data-scope=tags-input][data-part=item-preview]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950);font-size:var(--text-xs);line-height:var(--text-xs--line-height);border-radius:var(--radius-base);align-items:center;display:flex}[data-scope=tags-input][data-part=item-preview][data-highlighted]{outline:2px solid var(--color-surface-950-50);outline-offset:1px}[data-scope=tags-input][data-part=item-text]{padding:calc(var(--spacing)*1)calc(var(--spacing)*2);line-height:1}[data-scope=tags-input][data-part=item-delete-trigger]{padding:calc(var(--spacing)*1)calc(var(--spacing)*2)}@media (hover:hover){[data-scope=tags-input][data-part=item-delete-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=tags-input][data-part=item-delete-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=tags-input][data-part=item-delete-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=tags-input][data-part=item-input]{border-radius:var(--radius-base);width:100%;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);--tw-ring-inset:inset;--tw-ring-color:var(--color-surface-200-800);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 var(--default-ring-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);background-color:#0000;border-width:0;outline-color:#0000;display:block}[data-scope=tags-input][data-part=item-input]:active,[data-scope=tags-input][data-part=item-input]:focus,[data-scope=tags-input][data-part=item-input]:focus-within{--tw-ring-color:var(--color-primary-500)}[data-scope=tags-input][data-part=item-input][type=file]::file-selector-button{cursor:pointer;border-radius:var(--radius-base);background-color:var(--color-surface-950-50);color:var(--color-surface-50-950);transform:translateY(calc(var(--spacing)*-.5));margin-right:calc(var(--spacing)*2);text-transform:capitalize;font-size:var(--text-xs);height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*0);padding-inline:calc(var(--spacing)*3)}[data-scope=tags-input][data-part=item-input][type=range]{accent-color:var(--color-surface-950-50);box-shadow:none;padding-inline:initial}[data-scope=tags-input][data-part=item-input][type=color]{border-radius:var(--radius-base);width:calc(var(--spacing)*8.5);height:calc(var(--spacing)*8.5);-webkit-appearance:none;border:none;outline:none;padding:0}[data-scope=tags-input][data-part=item-input][type=color]::-webkit-color-swatch-wrapper{padding:0}[data-scope=tags-input][data-part=item-input][type=color]::-webkit-color-swatch{border-radius:var(--radius-base);border:none}[data-scope=tags-input][data-part=item-input][type=color]::-moz-color-swatch{border:none}[data-scope=tags-input][data-part=item-input]{padding-inline:calc(var(--spacing)*2);font-size:var(--text-xs);line-height:var(--text-xs--line-height)}[data-scope=tags-input][data-part=input]{--tw-ring-color:transparent!important;background-color:#0000!important;border-color:#0000!important;outline-color:#0000!important;padding:0!important}[data-scope=tags-input][data-part=input]:active,[data-scope=tags-input][data-part=input]:focus,[data-scope=tags-input][data-part=input]:focus-within{border-color:#0000!important}[data-scope=tags-input][data-part=input]{width:auto!important}[data-scope=tags-input][data-part=clear-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=tags-input][data-part=clear-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=tags-input][data-part=clear-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=tags-input][data-part=clear-trigger]{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent);color:var(--color-primary-950-50);font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);width:fit-content}@media (hover:hover){[data-scope=tags-input][data-part=clear-trigger]:hover{background-color:var(--color-error-500);color:var(--color-error-contrast-500)}}[data-scope=toast][data-part=root]{translate:var(--x)var(--y);scale:var(--scale);z-index:var(--z-index);height:var(--height);opacity:var(--opacity);will-change:translate,opacity,scale;padding:calc(var(--spacing)*3);width:100%;max-width:calc(var(--spacing)*96);align-items:center;gap:calc(var(--spacing)*2);border:1px solid var(--color-surface-200-800);border-radius:var(--radius-container);transition:translate .4s cubic-bezier(.21,1.02,.73,1),scale .4s cubic-bezier(.21,1.02,.73,1),opacity .4s cubic-bezier(.21,1.02,.73,1);display:flex}a[data-scope=toast][data-part=root]{transition-property:all;transition-timing-function:var(--default-transition-timing-function);transition-duration:var(--default-transition-duration)}@media (hover:hover){a[data-scope=toast][data-part=root]:hover{filter:brightness(95%)}@media (prefers-color-scheme:dark){a[data-scope=toast][data-part=root]:hover{filter:brightness(110%)}}}[data-scope=toast][data-part=root]{background-color:var(--color-surface-50-950);color:var(--color-surface-contrast-50-950)}[data-scope=toast][data-part=root][data-state=closed]{transition:translate .4s cubic-bezier(.06,.71,.55,1),scale .4s cubic-bezier(.06,.71,.55,1),opacity .2s cubic-bezier(.06,.71,.55,1)}[data-scope=toast][data-part=root][data-type=success]{background-color:var(--color-success-500);color:var(--color-success-contrast-500)}[data-scope=toast][data-part=root][data-type=warning]{background-color:var(--color-warning-500);color:var(--color-warning-contrast-500)}[data-scope=toast][data-part=root][data-type=error]{background-color:var(--color-error-500);color:var(--color-error-contrast-500)}[data-scope=toast][data-part=group]{width:calc(100% - (var(--viewport-offset-left) + var(--viewport-offset-right)))}[data-scope=toast][data-part=message]{flex:1}[data-scope=toast][data-part=title]{font-weight:500;font-size:var(--text-sm)}[data-scope=toast][data-part=description]{font-size:var(--text-sm)}[data-scope=toast][data-part=action-trigger]{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=toast][data-part=action-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=toast][data-part=action-trigger]:not(:disabled):hover{filter:brightness(75%)}}}[data-scope=toast][data-part=action-trigger]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=toast][data-part=close-trigger]{box-sizing:content-box;border-radius:var(--radius-base);white-space:nowrap;font-size:var(--text-base);width:var(--text-base);height:var(--text-base);padding:calc(var(--spacing)*2);justify-content:center;align-items:center;text-decoration-line:none;display:inline-flex}@media (hover:hover){[data-scope=toast][data-part=close-trigger]:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){[data-scope=toast][data-part=close-trigger]:not(:disabled):hover{filter:brightness(75%)}}[data-scope=toast][data-part=close-trigger]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=toast][data-part=close-trigger]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=toast][data-part=close-trigger]:hover{color:var(--color-primary-950-50)}}[data-scope=toggle-group][data-part=root]{border-radius:var(--radius-base);border-width:1px;border-color:var(--color-surface-200-800);display:inline-flex;overflow:hidden}[data-scope=toggle-group][data-part=root][data-orientation=horizontal]{flex-direction:row}[data-scope=toggle-group][data-part=root][data-orientation=horizontal]>:not(:last-child){border-inline-end:1px solid var(--color-surface-200-800)}[data-scope=toggle-group][data-part=root][data-orientation=vertical]{flex-direction:column}[data-scope=toggle-group][data-part=root][data-orientation=vertical]>:not(:last-child){border-block-end:1px solid var(--color-surface-200-800)}[data-scope=toggle-group][data-part=item]{width:calc(var(--spacing)*9);aspect-ratio:1;justify-content:center;align-items:center;display:flex}@media (hover:hover){[data-scope=toggle-group][data-part=item]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=toggle-group][data-part=item]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=toggle-group][data-part=item]:hover{color:var(--color-primary-950-50)}}[data-scope=toggle-group][data-part=item][data-state=on]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=toggle-group][data-part=item][data-focus-visible]{outline:2px solid var(--color-surface-950-50);outline-offset:1px}[data-scope=toggle-group][data-part=item][data-readonly]{pointer-events:none}[data-scope=toggle-group][data-part=item][data-disabled]{pointer-events:none;opacity:.5}[data-scope=tree-view][data-part=root]{gap:calc(var(--spacing)*2);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-start;width:100%;display:flex}[data-scope=tree-view][data-part=tree]{gap:calc(var(--spacing)*1);flex-direction:column;display:flex}[data-scope=tree-view][data-part=label]{font-size:var(--text-xs);line-height:var(--text-xs--line-height);font-weight:var(--font-weight-medium);text-decoration-line:none;display:block}[data-scope=tree-view][data-part=item]{align-items:center;gap:calc(var(--spacing)*2);padding-inline-end:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);border-radius:var(--radius-base);padding-inline-start:calc(var(--depth)*var(--spacing)*6 + var(--spacing)*4);display:flex}@media (hover:hover){[data-scope=tree-view][data-part=item]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=tree-view][data-part=item]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=tree-view][data-part=item]:hover{color:var(--color-primary-950-50)}}[data-scope=tree-view][data-part=item][data-selected]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=tree-view][data-part=branch]{gap:calc(var(--spacing)*1);flex-direction:column;display:flex}[data-scope=tree-view][data-part=branch-control]{align-items:center;gap:calc(var(--spacing)*2);padding-inline-end:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);border-radius:var(--radius-base);padding-inline-start:calc(var(--depth)*var(--spacing)*6 - var(--spacing)*2);display:flex}@media (hover:hover){[data-scope=tree-view][data-part=branch-control]:hover{background-color:var(--lightningcss-light,#0a0a0a0d)var(--lightningcss-dark,#fafafa0d)}@supports (color:color-mix(in lab, red, red)){[data-scope=tree-view][data-part=branch-control]:hover{background-color:color-mix(in oklab,var(--lightningcss-light,var(--color-surface-950))var(--lightningcss-dark,var(--color-surface-50))5%,transparent)}}[data-scope=tree-view][data-part=branch-control]:hover{color:var(--color-primary-950-50)}}[data-scope=tree-view][data-part=branch-control][data-selected]{background-color:var(--color-surface-950-50);color:var(--color-surface-50-950)}[data-scope=tree-view][data-part=branch-indicator][data-state=open]{transform:rotate(90deg)}[data-scope=tree-view][data-part=branch-text]{align-items:center;gap:calc(var(--spacing)*2);display:flex}[data-scope=tree-view][data-part=branch-content]{gap:calc(var(--spacing)*1);flex-direction:column;display:flex;position:relative}[data-scope=tree-view][data-part=branch-indent-guide]{background:#73737380;position:absolute}@supports (color:color-mix(in lab, red, red)){[data-scope=tree-view][data-part=branch-indent-guide]{background:color-mix(in oklab,var(--color-surface-500)50%,transparent)}}[data-scope=tree-view][data-part=branch-indent-guide]{width:calc(var(--spacing)*.5);border-radius:var(--radius-base);height:100%;left:calc(var(--depth)*var(--spacing)*6);transform:translate(-50%)}}@layer components;@layer utilities{.static{position:static}.mx-auto{margin-inline:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.btn{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-base);line-height:var(--text-base--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*4);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(--default-transition-timing-function);transition-duration:var(--default-transition-duration);flex-direction:row;text-decoration-line:none;display:inline-flex}@media (hover:hover){.btn:not(:disabled):hover{filter:brightness(125%)}@media (prefers-color-scheme:dark){.btn:not(:disabled):hover{filter:brightness(75%)}}}.badge{border-radius:var(--radius-base);justify-content:center;align-items:center;gap:calc(var(--spacing)*2);white-space:nowrap;font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);flex-direction:row;text-decoration-line:none;display:inline-flex}.btn-group{border-radius:var(--radius-container);align-items:center;gap:calc(var(--spacing)*2);padding:calc(var(--spacing)*2);display:inline-flex;overflow:hidden}.scrollbar-none{scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}.flex{display:flex}.grid{display:grid}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.h-dvh{height:100dvh}.min-h-0{min-height:calc(var(--spacing)*0)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.animate-spin{animation:var(--animate-spin)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(260px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.card{border-radius:var(--radius-container)}a.card{transition-property:all;transition-timing-function:var(--default-transition-timing-function);transition-duration:var(--default-transition-duration)}@media (hover:hover){a.card:hover{filter:brightness(95%)}@media (prefers-color-scheme:dark){a.card:hover{filter:brightness(110%)}}}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-surface-700\/30{border-color:#4040404d}@supports (color:color-mix(in lab, red, red)){.border-surface-700\/30{border-color:color-mix(in oklab,var(--color-surface-700)30%,transparent)}}.border-surface-700\/40{border-color:#40404066}@supports (color:color-mix(in lab, red, red)){.border-surface-700\/40{border-color:color-mix(in oklab,var(--color-surface-700)40%,transparent)}}.preset-filled-primary-500{background-color:var(--color-primary-500);color:var(--color-primary-contrast-500)}.preset-tonal-error{background-color:var(--color-error-50-950);color:var(--color-error-950-50)}.preset-tonal-success{background-color:var(--color-success-50-950);color:var(--color-success-950-50)}.preset-tonal-surface{background-color:var(--color-surface-50-950);color:var(--color-surface-950-50)}.bg-surface-900\/60{background-color:#17171799}@supports (color:color-mix(in lab, red, red)){.bg-surface-900\/60{background-color:color-mix(in oklab,var(--color-surface-900)60%,transparent)}}.bg-surface-950{background-color:var(--color-surface-950)}.p-3{padding:calc(var(--spacing)*3)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-12{padding:calc(var(--spacing)*12)}.btn-sm{font-size:var(--text-xs);line-height:var(--text-xs--line-height);padding-block:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-24{padding-block:calc(var(--spacing)*24)}.text-center{text-align:center}.text-lg{font-size:calc(1.125rem*var(--text-scaling));line-height:var(--tw-leading,calc(calc(1.75/1.125)*var(--text-scaling)))}.text-sm{font-size:calc(.875rem*var(--text-scaling));line-height:var(--tw-leading,calc(calc(1.25/.875)*var(--text-scaling)))}.text-xs{font-size:calc(.75rem*var(--text-scaling));line-height:var(--tw-leading,calc(calc(1/.75)*var(--text-scaling)))}.text-\[10px\]{font-size:10px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.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-surface-50{color:var(--color-surface-50)}.text-surface-400{color:var(--color-surface-400)}.text-surface-500{color:var(--color-surface-500)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.opacity-70{opacity:.7}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-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))}@media (hover:hover){.hover\:text-surface-300:hover{color:var(--color-surface-300)}}}@keyframes progress-circular-indeterminate{0%{stroke-dasharray:1 var(--circumference);stroke-dashoffset:0}50%{stroke-dasharray:calc(var(--circumference)*.75)var(--circumference);stroke-dashoffset:calc(-1*var(--circumference)*.5)}to{stroke-dasharray:1 var(--circumference);stroke-dashoffset:calc(-1*var(--circumference))}}@keyframes progress-linear-indeterminate-horizontal{0%{transform:translate(-200%)}to{transform:translate(200%)}}@keyframes progress-linear-indeterminate-vertical{0%{transform:translateY(-200%)}to{transform:translateY(200%)}}[data-theme=wintry]{--text-scaling:1.067;--base-font-color:var(--color-surface-950);--base-font-color-dark:var(--color-surface-50);--base-font-family:system-ui,sans-serif;--base-font-size:inherit;--base-line-height:inherit;--base-font-weight:normal;--base-font-style:normal;--base-letter-spacing:0em;--heading-font-color:inherit;--heading-font-color-dark:inherit;--heading-font-family:Inter,Roboto,"Helvetica Neue","Arial Nova","Nimbus Sans",Arial,sans-serif;--heading-font-weight:bold;--heading-font-style:normal;--heading-letter-spacing:inherit;--anchor-font-color:var(--color-primary-500);--anchor-font-color-dark:var(--color-primary-500);--anchor-font-family:inherit;--anchor-font-size:inherit;--anchor-line-height:inherit;--anchor-font-weight:inherit;--anchor-font-style:inherit;--anchor-letter-spacing:inherit;--anchor-text-decoration:none;--anchor-text-decoration-hover:underline;--anchor-text-decoration-active:none;--anchor-text-decoration-focus:none;--spacing:.25rem;--radius-base:.375rem;--radius-container:.75rem;--default-border-width:1px;--default-divide-width:1px;--default-ring-width:1px;--body-background-color:oklch(100% 0 0);--body-background-color-dark:var(--color-surface-950);--color-primary-50:oklch(96.19% .04 201.62);--color-primary-100:oklch(89.29% .06 230.4);--color-primary-200:oklch(82.2% .09 245.96);--color-primary-300:oklch(75.45% .12 253.41);--color-primary-400:oklch(68.61% .15 257.7);--color-primary-500:oklch(62.31% .19 259.81);--color-primary-600:oklch(56.01% .18 260.79);--color-primary-700:oklch(49.59% .18 261.77);--color-primary-800:oklch(43.07% .17 262.89);--color-primary-900:oklch(36.42% .16 263.66);--color-primary-950:oklch(29.67% .16 263.4);--color-primary-contrast-dark:var(--color-primary-950);--color-primary-contrast-light:var(--color-primary-50);--color-primary-contrast-50:var(--color-primary-contrast-dark);--color-primary-contrast-100:var(--color-primary-contrast-dark);--color-primary-contrast-200:var(--color-primary-contrast-dark);--color-primary-contrast-300:var(--color-primary-contrast-dark);--color-primary-contrast-400:var(--color-primary-contrast-dark);--color-primary-contrast-500:var(--color-primary-contrast-light);--color-primary-contrast-600:var(--color-primary-contrast-light);--color-primary-contrast-700:var(--color-primary-contrast-light);--color-primary-contrast-800:var(--color-primary-contrast-light);--color-primary-contrast-900:var(--color-primary-contrast-light);--color-primary-contrast-950:var(--color-primary-contrast-light);--color-secondary-50:oklch(95.68% .06 196.1);--color-secondary-100:oklch(89.83% .08 209.36);--color-secondary-200:oklch(84.09% .1 217.66);--color-secondary-300:oklch(78.56% .12 224.65);--color-secondary-400:oklch(73.31% .13 230.6);--color-secondary-500:oklch(68.47% .15 237.31);--color-secondary-600:oklch(62% .14 240.02);--color-secondary-700:oklch(55.31% .13 242.76);--color-secondary-800:oklch(48.5% .12 246.43);--color-secondary-900:oklch(41.38% .12 250.13);--color-secondary-950:oklch(34.06% .11 254.48);--color-secondary-contrast-dark:var(--color-secondary-950);--color-secondary-contrast-light:var(--color-secondary-50);--color-secondary-contrast-50:var(--color-secondary-contrast-dark);--color-secondary-contrast-100:var(--color-secondary-contrast-dark);--color-secondary-contrast-200:var(--color-secondary-contrast-dark);--color-secondary-contrast-300:var(--color-secondary-contrast-dark);--color-secondary-contrast-400:var(--color-secondary-contrast-dark);--color-secondary-contrast-500:var(--color-secondary-contrast-dark);--color-secondary-contrast-600:var(--color-secondary-contrast-light);--color-secondary-contrast-700:var(--color-secondary-contrast-light);--color-secondary-contrast-800:var(--color-secondary-contrast-light);--color-secondary-contrast-900:var(--color-secondary-contrast-light);--color-secondary-contrast-950:var(--color-secondary-contrast-light);--color-tertiary-50:oklch(92.26% .05 306.01);--color-tertiary-100:oklch(86.96% .07 296.34);--color-tertiary-200:oklch(81.6% .1 290.49);--color-tertiary-300:oklch(76.55% .13 286.63);--color-tertiary-400:oklch(71.31% .15 283.43);--color-tertiary-500:oklch(66.28% .18 280.87);--color-tertiary-600:oklch(58.39% .18 282.35);--color-tertiary-700:oklch(50.63% .18 283.21);--color-tertiary-800:oklch(42.59% .18 283.85);--color-tertiary-900:oklch(34.95% .18 283.03);--color-tertiary-950:oklch(27.57% .17 280.45);--color-tertiary-contrast-dark:var(--color-tertiary-950);--color-tertiary-contrast-light:var(--color-tertiary-50);--color-tertiary-contrast-50:var(--color-tertiary-contrast-dark);--color-tertiary-contrast-100:var(--color-tertiary-contrast-dark);--color-tertiary-contrast-200:var(--color-tertiary-contrast-dark);--color-tertiary-contrast-300:var(--color-tertiary-contrast-dark);--color-tertiary-contrast-400:var(--color-tertiary-contrast-dark);--color-tertiary-contrast-500:var(--color-tertiary-contrast-dark);--color-tertiary-contrast-600:var(--color-tertiary-contrast-dark);--color-tertiary-contrast-700:var(--color-tertiary-contrast-light);--color-tertiary-contrast-800:var(--color-tertiary-contrast-light);--color-tertiary-contrast-900:var(--color-tertiary-contrast-light);--color-tertiary-contrast-950:var(--color-tertiary-contrast-light);--color-success-50:oklch(97.96% .12 108.35);--color-success-100:oklch(93.56% .14 115.38);--color-success-200:oklch(89.31% .16 120.22);--color-success-300:oklch(84.86% .18 124.21);--color-success-400:oklch(80.8% .19 127.53);--color-success-500:oklch(76.81% .2 130.85);--color-success-600:oklch(69.44% .19 133.05);--color-success-700:oklch(61.88% .18 135.65);--color-success-800:oklch(54.52% .17 138.28);--color-success-900:oklch(46.76% .15 140.76);--color-success-950:oklch(38.95% .13 142.5);--color-success-contrast-dark:var(--color-success-950);--color-success-contrast-light:var(--color-success-50);--color-success-contrast-50:var(--color-success-contrast-dark);--color-success-contrast-100:var(--color-success-contrast-dark);--color-success-contrast-200:var(--color-success-contrast-dark);--color-success-contrast-300:var(--color-success-contrast-dark);--color-success-contrast-400:var(--color-success-contrast-dark);--color-success-contrast-500:var(--color-success-contrast-dark);--color-success-contrast-600:var(--color-success-contrast-dark);--color-success-contrast-700:var(--color-success-contrast-light);--color-success-contrast-800:var(--color-success-contrast-light);--color-success-contrast-900:var(--color-success-contrast-light);--color-success-contrast-950:var(--color-success-contrast-light);--color-warning-50:oklch(97.87% .12 108.45);--color-warning-100:oklch(94.1% .14 103.73);--color-warning-200:oklch(90.39% .15 99.65);--color-warning-300:oklch(86.48% .16 95.56);--color-warning-400:oklch(82.95% .16 91.25);--color-warning-500:oklch(79.53% .16 86.04);--color-warning-600:oklch(70.68% .14 85.14);--color-warning-700:oklch(61.76% .12 84.62);--color-warning-800:oklch(52.18% .1 83.48);--color-warning-900:oklch(42.49% .08 81.81);--color-warning-950:oklch(31.98% .06 75.91);--color-warning-contrast-dark:var(--color-warning-950);--color-warning-contrast-light:var(--color-warning-50);--color-warning-contrast-50:var(--color-warning-contrast-dark);--color-warning-contrast-100:var(--color-warning-contrast-dark);--color-warning-contrast-200:var(--color-warning-contrast-dark);--color-warning-contrast-300:var(--color-warning-contrast-dark);--color-warning-contrast-400:var(--color-warning-contrast-dark);--color-warning-contrast-500:var(--color-warning-contrast-dark);--color-warning-contrast-600:var(--color-warning-contrast-dark);--color-warning-contrast-700:var(--color-warning-contrast-light);--color-warning-contrast-800:var(--color-warning-contrast-light);--color-warning-contrast-900:var(--color-warning-contrast-light);--color-warning-contrast-950:var(--color-warning-contrast-light);--color-error-50:oklch(91.14% .07 332.14);--color-error-100:oklch(82.94% .11 339.91);--color-error-200:oklch(75.2% .14 345.21);--color-error-300:oklch(68.13% .18 348.96);--color-error-400:oklch(62.02% .21 353.41);--color-error-500:oklch(57.22% .22 358.61);--color-error-600:oklch(51.7% .2 358.74);--color-error-700:oklch(46.21% .18 358.64);--color-error-800:oklch(40.37% .16 358.83);--color-error-900:oklch(34.48% .13 358.66);--color-error-950:oklch(28.04% .11 358.71);--color-error-contrast-dark:var(--color-error-950);--color-error-contrast-light:var(--color-error-50);--color-error-contrast-50:var(--color-error-contrast-dark);--color-error-contrast-100:var(--color-error-contrast-dark);--color-error-contrast-200:var(--color-error-contrast-dark);--color-error-contrast-300:var(--color-error-contrast-dark);--color-error-contrast-400:var(--color-error-contrast-dark);--color-error-contrast-500:var(--color-error-contrast-light);--color-error-contrast-600:var(--color-error-contrast-light);--color-error-contrast-700:var(--color-error-contrast-light);--color-error-contrast-800:var(--color-error-contrast-light);--color-error-contrast-900:var(--color-error-contrast-light);--color-error-contrast-950:var(--color-error-contrast-light);--color-surface-50:oklch(97.59% 0 264.7);--color-surface-100:oklch(88.12% .01 261.81);--color-surface-200:oklch(78.51% .02 265.97);--color-surface-300:oklch(68.49% .03 264.38);--color-surface-400:oklch(58.25% .04 265.77);--color-surface-500:oklch(47.47% .05 264.53);--color-surface-600:oklch(42.05% .05 264.5);--color-surface-700:oklch(36.45% .05 264.44);--color-surface-800:oklch(31.02% .04 264.35);--color-surface-900:oklch(24.95% .04 264.15);--color-surface-950:oklch(18.53% .04 263.67);--color-surface-contrast-dark:var(--color-surface-950);--color-surface-contrast-light:var(--color-surface-50);--color-surface-contrast-50:var(--color-surface-contrast-dark);--color-surface-contrast-100:var(--color-surface-contrast-dark);--color-surface-contrast-200:var(--color-surface-contrast-dark);--color-surface-contrast-300:var(--color-surface-contrast-dark);--color-surface-contrast-400:var(--color-surface-contrast-dark);--color-surface-contrast-500:var(--color-surface-contrast-light);--color-surface-contrast-600:var(--color-surface-contrast-light);--color-surface-contrast-700:var(--color-surface-contrast-light);--color-surface-contrast-800:var(--color-surface-contrast-light);--color-surface-contrast-900:var(--color-surface-contrast-light);--color-surface-contrast-950:var(--color-surface-contrast-light)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-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-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}@keyframes spin{to{transform:rotate(360deg)}}
@@ -0,0 +1,14 @@
1
+ <!doctype html>
2
+ <html lang="en" data-theme="wintry">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>PM2 Dashboard</title>
8
+ <script type="module" crossorigin src="/assets/index-C6GPPKyt.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-CCRTqaDd.css">
10
+ </head>
11
+ <body>
12
+ <div id="app"></div>
13
+ </body>
14
+ </html>
package/package.json CHANGED
@@ -1,24 +1,47 @@
1
1
  {
2
2
  "name": "pm2-dashboard",
3
- "version": "0.0.2",
4
- "description": "Self-hosted web dashboard for PM2. Monitor processes, view logs, manage restarts.",
3
+ "version": "0.1.0",
4
+ "description": "Self-hosted web dashboard for PM2",
5
5
  "keywords": [
6
6
  "pm2",
7
7
  "dashboard",
8
- "monitor",
9
- "web ui",
10
- "process manager",
8
+ "monitoring",
11
9
  "self-hosted",
12
10
  "logs",
13
- "nodejs"
11
+ "metrics"
14
12
  ],
15
- "license": "MIT",
16
- "main": "index.js",
13
+ "homepage": "https://github.com/orchidfiles/pm2-dashboard#readme",
17
14
  "repository": {
18
15
  "type": "git",
19
16
  "url": "https://github.com/orchidfiles/pm2-dashboard"
20
17
  },
18
+ "bugs": {
19
+ "url": "https://github.com/orchidfiles/pm2-dashboard/issues"
20
+ },
21
+ "license": "MIT",
22
+ "author": {
23
+ "name": "orchidfiles",
24
+ "email": "orchid@orchidfiles.com",
25
+ "url": "https://orchidfiles.com"
26
+ },
27
+ "preferGlobal": true,
28
+ "type": "module",
29
+ "bin": {
30
+ "pm2-dashboard": "./bin/pm2-dashboard.js"
31
+ },
32
+ "files": [
33
+ "bin/",
34
+ "dist/"
35
+ ],
36
+ "scripts": {
37
+ "publish": "npm publish --access public"
38
+ },
21
39
  "engines": {
22
40
  "node": ">=22.0.0"
41
+ },
42
+ "dependencies": {
43
+ "commander": "14.0.3",
44
+ "express": "5.1.0",
45
+ "pm2": "6.0.14"
23
46
  }
24
47
  }
package/index.js DELETED
@@ -1 +0,0 @@
1
- // pm2-dashboard — coming soon