@pimote/pimote 0.5.0 → 0.5.1

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.
@@ -12,12 +12,12 @@
12
12
  <link rel="icon" type="image/png" sizes="192x192" href="/pwa/icon-192.png" />
13
13
  <link rel="icon" type="image/png" sizes="512x512" href="/pwa/icon-512.png" />
14
14
  <link rel="apple-touch-icon" href="/pwa/icon-192.png" />
15
- <link href="/_app/immutable/entry/start.BM_moFdK.js" rel="modulepreload">
16
- <link href="/_app/immutable/chunks/PPdWJgH7.js" rel="modulepreload">
17
- <link href="/_app/immutable/chunks/BXP6TSxB.js" rel="modulepreload">
15
+ <link href="/_app/immutable/entry/start.ClOWBB7j.js" rel="modulepreload">
16
+ <link href="/_app/immutable/chunks/TV35yyBT.js" rel="modulepreload">
17
+ <link href="/_app/immutable/chunks/gZLAQ0sf.js" rel="modulepreload">
18
18
  <link href="/_app/immutable/chunks/B8lQCytv.js" rel="modulepreload">
19
19
  <link href="/_app/immutable/chunks/5FogVG_p.js" rel="modulepreload">
20
- <link href="/_app/immutable/entry/app.Derzr8FP.js" rel="modulepreload">
20
+ <link href="/_app/immutable/entry/app.Di2WQBl6.js" rel="modulepreload">
21
21
  <link href="/_app/immutable/chunks/CHncfsjL.js" rel="modulepreload">
22
22
  <link href="/_app/immutable/chunks/D1hYfEew.js" rel="modulepreload">
23
23
 
@@ -26,15 +26,15 @@
26
26
  <div style="display: contents">
27
27
  <script>
28
28
  {
29
- __sveltekit_1537wkx = {
29
+ __sveltekit_1uxwppx = {
30
30
  base: ""
31
31
  };
32
32
 
33
33
  const element = document.currentScript.parentElement;
34
34
 
35
35
  Promise.all([
36
- import("/_app/immutable/entry/start.BM_moFdK.js"),
37
- import("/_app/immutable/entry/app.Derzr8FP.js")
36
+ import("/_app/immutable/entry/start.ClOWBB7j.js"),
37
+ import("/_app/immutable/entry/app.Di2WQBl6.js")
38
38
  ]).then(([kit, app]) => {
39
39
  kit.start(app, element);
40
40
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pimote/pimote",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Web client and embedded server for pi with multi-session browser access, streaming, and extension UI support",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Pure cost summation helper for the per-session lifetime dollar cost surfaced
3
+ * in the pimote StatusBar. No I/O, no SDK session coupling beyond a structural
4
+ * (duck-typed) view of the session branch entries.
5
+ *
6
+ * See docs/plans/cost-accumulation.md.
7
+ */
8
+ /**
9
+ * Sum usage.cost.total over assistant message entries in the branch.
10
+ * - Skips non-'message' entries (compaction, model-change, labels, etc.).
11
+ * - Skips non-assistant messages (user, toolResult).
12
+ * - Missing/undefined usage or cost contributes 0.
13
+ * - Returns a finite number >= 0. Empty branch => 0.
14
+ */
15
+ export function sumAssistantCostUsd(entries) {
16
+ let total = 0;
17
+ for (const entry of entries) {
18
+ if (entry.type !== 'message')
19
+ continue;
20
+ if (entry.message?.role !== 'assistant')
21
+ continue;
22
+ total += entry.message.usage?.cost?.total ?? 0;
23
+ }
24
+ return total;
25
+ }
@@ -8,6 +8,7 @@ import { createExtensionUIBridge } from './extension-ui-bridge.js';
8
8
  import { findExternalPiProcesses, killExternalPiProcesses } from './takeover.js';
9
9
  import { mapAgentMessages, extractMessageEntryIds, applyEntryIds } from './message-mapper.js';
10
10
  import { getGitBranch } from './git-branch.js';
11
+ import { sumAssistantCostUsd } from './session-cost.js';
11
12
  import { CallBindError } from './voice-orchestrator.js';
12
13
  /** Parse data-URL encoded images into the shape the pi SDK expects. */
13
14
  function parseDataUrlImages(images) {
@@ -836,6 +837,7 @@ export class WsHandler {
836
837
  const meta = {
837
838
  gitBranch: getGitBranch(slot.folderPath),
838
839
  contextUsage: contextUsage ? { percent: contextUsage.percent, contextWindow: contextUsage.contextWindow } : null,
840
+ lifetimeCostUsd: sumAssistantCostUsd(session.sessionManager.getBranch()),
839
841
  };
840
842
  this.sendResponse(id, true, { meta });
841
843
  break;
@@ -201,6 +201,8 @@ export interface SessionMeta {
201
201
  percent: number | null;
202
202
  contextWindow: number;
203
203
  } | null;
204
+ /** Total USD cost summed over the session branch; 0 when no spend / nothing to show. Always a number, never null. */
205
+ lifetimeCostUsd: number;
204
206
  }
205
207
  export interface GetCommandsCommand extends CommandBase {
206
208
  type: 'get_commands';
@@ -1,2 +0,0 @@
1
- /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-400:oklch(78.9% .154 211.53);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--radius-md:calc(var(--radius) * .8);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter Variable", sans-serif;--default-mono-font-family:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace}}@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}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:100%;font-family:Inter Variable,sans-serif;overflow:hidden}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;height:100%;overflow:hidden}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-auto{top:auto}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:calc(var(--spacing) * 0)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1\.5{bottom:calc(var(--spacing) * 1.5)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[80\]{z-index:80}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-auto{margin-block:auto}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mb-1{margin-bottom:calc(var(--spacing) * -1)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-32{width:calc(var(--spacing) * 32);height:calc(var(--spacing) * 32)}.size-full{width:100%;height:100%}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[85dvh\]{max-height:85dvh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-20{min-height:calc(var(--spacing) * 20)}.w-\(--bits-dropdown-menu-anchor-width\){width:var(--bits-dropdown-menu-anchor-width)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-70{width:calc(var(--spacing) * 70)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.max-w-3xl{max-width:var(--container-3xl)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-\[6rem\]{max-width:6rem}.max-w-\[8rem\]{max-width:8rem}.max-w-\[60\%\]{max-width:60%}.max-w-\[80px\]{max-width:80px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-2xl{border-top-left-radius:calc(var(--radius) * 1.8);border-top-right-radius:calc(var(--radius) * 1.8)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.border-amber-500\/60{border-color:#f99c0099}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/60{border-color:color-mix(in oklab, var(--color-amber-500) 60%, transparent)}}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.border-emerald-500\/70{border-color:#00bb7fb3}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/70{border-color:color-mix(in oklab, var(--color-emerald-500) 70%, transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\/30{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\/30{border-color:color-mix(in oklab, var(--muted-foreground) 30%, transparent)}}.border-primary,.border-primary\/40{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/40{border-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-rose-500\/40{border-color:#ff235766}@supports (color:color-mix(in lab, red, red)){.border-rose-500\/40{border-color:color-mix(in oklab, var(--color-rose-500) 40%, transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-warning\/30{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.border-warning\/30{border-color:color-mix(in oklab, var(--warning) 30%, transparent)}}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/30{border-color:color-mix(in oklab, var(--color-yellow-500) 30%, transparent)}}.border-l-green-500{border-left-color:var(--color-green-500)}.border-l-muted-foreground{border-left-color:var(--muted-foreground)}.border-l-primary{border-left-color:var(--primary)}.border-l-red-500{border-left-color:var(--color-red-500)}.border-l-yellow-500{border-left-color:var(--color-yellow-500)}.bg-accent{background-color:var(--accent)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-background,.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/80{background-color:color-mix(in oklab, var(--background) 80%, transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/95{background-color:color-mix(in oklab, var(--background) 95%, transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-cyan-400{background-color:var(--color-cyan-400)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/15{background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/20{background-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.bg-emerald-500\/90{background-color:#00bb7fe6}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/90{background-color:color-mix(in oklab, var(--color-emerald-500) 90%, transparent)}}.bg-gray-400{background-color:var(--color-gray-400)}.bg-muted,.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/15{background-color:color-mix(in oklab, var(--primary) 15%, transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-rose-500\/10{background-color:#ff23571a}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/10{background-color:color-mix(in oklab, var(--color-rose-500) 10%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-status-connected{background-color:var(--status-connected)}.bg-status-error{background-color:var(--status-error)}.bg-status-reconnecting{background-color:var(--status-reconnecting)}.bg-status-streaming{background-color:var(--status-streaming)}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/10{background-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--warning) 10%, transparent)}}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/10{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.bg-clip-padding{background-clip:padding-box}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-\[max\(env\(safe-area-inset-bottom\)\,8px\)\]{padding-bottom:max(env(safe-area-inset-bottom), 8px)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono Variable,ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.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-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab, red, red)){.text-amber-400\/90{color:color-mix(in oklab, var(--color-amber-400) 90%, transparent)}}.text-amber-600{color:var(--color-amber-600)}.text-blue-600{color:var(--color-blue-600)}.text-destructive{color:var(--destructive)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--foreground)}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/60{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground,.text-primary-foreground\/50{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-primary-foreground\/50{color:color-mix(in oklab, var(--primary-foreground) 50%, transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-rose-400\/90{color:#ff667fe6}@supports (color:color-mix(in lab, red, red)){.text-rose-400\/90{color:color-mix(in oklab, var(--color-rose-400) 90%, transparent)}}.text-secondary-foreground,.text-secondary-foreground\/50{color:var(--secondary-foreground)}@supports (color:color-mix(in lab, red, red)){.text-secondary-foreground\/50{color:color-mix(in oklab, var(--secondary-foreground) 50%, transparent)}}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-warning{color:var(--warning)}.text-warning-foreground{color:var(--warning-foreground)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-ring{--tw-ring-color:var(--ring)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-\[80ms\]{--tw-duration:80ms;transition-duration:80ms}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.slide-in-from-bottom{--tw-enter-translate-y:100%}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:border-muted-foreground\/50:hover{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:border-muted-foreground\/50:hover{border-color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.hover\:bg-accent\/60:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/60:hover{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.hover\:bg-destructive:hover,.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-emerald-500:hover{background-color:var(--color-emerald-500)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary-foreground\/20:hover{background-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary-foreground\/20:hover{background-color:color-mix(in oklab, var(--primary-foreground) 20%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-primary\/85:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/85:hover{background-color:color-mix(in oklab, var(--primary) 85%, transparent)}}.hover\:bg-secondary-foreground\/20:hover{background-color:var(--secondary-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary-foreground\/20:hover{background-color:color-mix(in oklab, var(--secondary-foreground) 20%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:bg-status-streaming\/80:hover{background-color:var(--status-streaming)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-status-streaming\/80:hover{background-color:color-mix(in oklab, var(--status-streaming) 80%, transparent)}}.hover\:bg-warning\/20:hover{background-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/20:hover{background-color:color-mix(in oklab, var(--warning) 20%, transparent)}}.hover\:bg-warning\/80:hover{background-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/80:hover{background-color:color-mix(in oklab, var(--warning) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary-foreground:hover{color:var(--primary-foreground)}.hover\:text-secondary-foreground:hover{color:var(--secondary-foreground)}.hover\:text-sidebar-foreground:hover{color:var(--sidebar-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:bg-destructive\/10:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus\:bg-destructive\/10:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.97\]:active{scale:.97}.active\:bg-accent:active,.active\:bg-accent\/70:active{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.active\:bg-accent\/70:active{background-color:color-mix(in oklab, var(--accent) 70%, transparent)}}.active\:bg-destructive\/10:active{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.active\:bg-destructive\/10:active{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.active\:bg-destructive\/70:active{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.active\:bg-destructive\/70:active{background-color:color-mix(in oklab, var(--destructive) 70%, transparent)}}.active\:bg-primary\/70:active{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-primary\/70:active{background-color:color-mix(in oklab, var(--primary) 70%, transparent)}}.active\:bg-sidebar-accent\/80:active{background-color:var(--sidebar-accent)}@supports (color:color-mix(in lab, red, red)){.active\:bg-sidebar-accent\/80:active{background-color:color-mix(in oklab, var(--sidebar-accent) 80%, transparent)}}.active\:bg-status-streaming\/70:active{background-color:var(--status-streaming)}@supports (color:color-mix(in lab, red, red)){.active\:bg-status-streaming\/70:active{background-color:color-mix(in oklab, var(--status-streaming) 70%, transparent)}}.active\:text-accent-foreground:active{color:var(--accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-end\]\:pr-3:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 3)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-3:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 3)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:ps-8[data-inset]{padding-inline-start:calc(var(--spacing) * 8)}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start],.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (width>=40rem){.sm\:top-1\/2{top:50%}.sm\:left-1\/2{left:50%}.sm\:line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-\[min\(92dvh\,960px\)\]{height:min(92dvh,960px)}.sm\:max-h-none{max-height:none}.sm\:w-\[min\(96vw\,1080px\)\]{width:min(96vw,1080px)}.sm\:w-\[min\(96vw\,1280px\)\]{width:min(96vw,1280px)}.sm\:w-auto{width:auto}.sm\:max-w-\[min\(96vw\,1080px\)\]{max-width:min(96vw,1080px)}.sm\:max-w-\[min\(96vw\,1280px\)\]{max-width:min(96vw,1280px)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:rounded-xl{border-radius:calc(var(--radius) * 1.4)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:px-0{padding-inline:calc(var(--spacing) * 0)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:py-0{padding-block:calc(var(--spacing) * 0)}}@media (width>=48rem){.md\:relative{position:relative}.md\:z-0{z-index:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}@media (hover:hover){.md\:group-hover\/chip\:opacity-100:is(:where(.group\/chip):hover *){opacity:1}}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-amber-400:is(.dark *){color:var(--color-amber-400)}.dark\:text-blue-400:is(.dark *){color:var(--color-blue-400)}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-yellow-400:is(.dark *){color:var(--color-yellow-400)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus\:bg-destructive\/20:is(.dark *):focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus\:bg-destructive\/20:is(.dark *):focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:disabled\:bg-input\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:bg-accent:where([data-state=open]),.data-open\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.data-open\:text-accent-foreground:where([data-state=open]),.data-open\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:overflow-hidden:where([data-state=closed]),.data-closed\:overflow-hidden:where([data-closed]:not([data-closed=false])){overflow:hidden}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-disabled\:pointer-events-none:where([data-disabled=true]),.data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-horizontal\:h-2\.5:where([data-orientation=horizontal]){height:calc(var(--spacing) * 2.5)}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.data-horizontal\:border-t:where([data-orientation=horizontal]){border-top-style:var(--tw-border-style);border-top-width:1px}.data-horizontal\:border-t-transparent:where([data-orientation=horizontal]){border-top-color:#0000}.data-vertical\:h-full:where([data-orientation=vertical]){height:100%}.data-vertical\:w-2\.5:where([data-orientation=vertical]){width:calc(var(--spacing) * 2.5)}.data-vertical\:border-l:where([data-orientation=vertical]){border-left-style:var(--tw-border-style);border-left-width:1px}.data-vertical\:border-l-transparent:where([data-orientation=vertical]){border-left-color:#0000}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--warning:oklch(75% .183 55.934);--warning-foreground:oklch(16% .02 55);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(80.9% .105 251.813);--chart-2:oklch(62.3% .214 259.815);--chart-3:oklch(54.6% .245 262.881);--chart-4:oklch(48.8% .243 264.376);--chart-5:oklch(42.4% .199 265.638);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(13.7% .036 258.5);--foreground:oklch(98.4% .003 247.9);--card:oklch(13.7% .036 258.5);--card-foreground:oklch(98.4% .003 247.9);--popover:oklch(13.7% .036 258.5);--popover-foreground:oklch(98.4% .003 247.9);--primary:oklch(98.4% .003 247.9);--primary-foreground:oklch(20.8% .04 265.7);--secondary:oklch(28% .037 260);--secondary-foreground:oklch(98.4% .003 247.9);--muted:oklch(28% .037 260);--muted-foreground:oklch(71.1% .035 256.8);--accent:oklch(28% .037 260);--accent-foreground:oklch(98.4% .003 247.9);--destructive:oklch(39.6% .133 25.7);--warning:oklch(72% .17 55.934);--warning-foreground:oklch(16% .02 55);--border:oklch(28% .037 260);--input:oklch(28% .037 260);--ring:oklch(86.9% .02 252.8);--chart-1:oklch(80.9% .105 251.813);--chart-2:oklch(62.3% .214 259.815);--chart-3:oklch(54.6% .245 262.881);--chart-4:oklch(48.8% .243 264.376);--chart-5:oklch(42.4% .199 265.638);--sidebar:oklch(20.8% .04 265.7);--sidebar-foreground:oklch(98.4% .003 247.9);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.4% .003 247.9);--sidebar-accent:oklch(28% .037 260);--sidebar-accent-foreground:oklch(98.4% .003 247.9);--sidebar-border:oklch(28% .037 260);--sidebar-ring:oklch(86.9% .02 252.8);--status-streaming:oklch(62.3% .169 149.2);--status-connected:oklch(62.3% .169 149.2);--status-error:oklch(39.6% .133 25.7);--status-reconnecting:oklch(77% .165 70.6)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}[data-scroll-area-viewport]{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}[data-scroll-area-viewport]::-webkit-scrollbar{display:none!important}:where([data-scroll-area-viewport]){flex-direction:column;align-items:stretch;display:flex}:where([data-scroll-area-content]){flex-grow:1}
@@ -1 +0,0 @@
1
- var e=`1780019278618`;export{e as t};
@@ -1 +0,0 @@
1
- import{c as e,o as t,s as n}from"./CXELzXua.js";export{t as openExistingSession,n as sessionRegistry,e as switchToSession};
@@ -1 +0,0 @@
1
- import{o as e,t}from"../chunks/PPdWJgH7.js";export{e as load_css,t as start};
@@ -1,10 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/uZO1iyJZ.js","../chunks/B8lQCytv.js","../chunks/5FogVG_p.js","../chunks/D1hYfEew.js","../chunks/CnTTbAN2.js","../chunks/BgJ-X-tf.js","../chunks/Ceqsvacl.js","../chunks/CXELzXua.js","../chunks/BXP6TSxB.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"../chunks/5FogVG_p.js";import{$ as t,A as n,B as r,C as i,E as a,I as o,K as s,L as c,M as l,N as u,O as d,P as f,Q as p,R as m,T as h,U as g,V as _,X as v,Y as y,Z as b,_ as x,a as S,b as C,bt as w,c as ee,d as T,et as E,f as te,g as D,h as O,it as k,mt as A,nt as j,o as M,ot as N,p as ne,pt as P,r as re,s as F,st as I,tt as L,u as ie,v as ae,vt as R,w as z,xt as B,y as V,yt as H,z as U}from"../chunks/B8lQCytv.js";import{t as W}from"../chunks/CHncfsjL.js";import"../chunks/D1hYfEew.js";import{$ as G,A as oe,B as se,D as ce,E as le,F as ue,G as de,H as fe,J as pe,K,M as me,N as q,O as he,P as ge,Q as _e,R as J,T as ve,U as ye,V as be,X as xe,Y as Se,Z as Ce,b as we,et as Y,g as Te,h as Ee,i as De,j as Oe,k as ke,n as Ae,nt as X,o as je,p as Me,q as Ne,r as Pe,rt as Fe,s as Ie,t as Le,tt as Re,u as Z,v as ze,w as Be,x as Ve,y as He,z as Ue}from"../chunks/DuL7Rx8p.js";import{_ as We,d as Q,l as Ge,s as $}from"../chunks/CXELzXua.js";var Ke=e({prerender:()=>!1,ssr:()=>!1}),qe=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t,this.handler=this.handler.bind(this),v(this.handler)}handler(){let e=0,t=this.#e();if(!t)return;let n=new ResizeObserver(()=>{cancelAnimationFrame(e),e=window.requestAnimationFrame(this.#t)});return n.observe(t),()=>{window.cancelAnimationFrame(e),n.unobserve(t)}}},Je=class{opts;present;#e;#t=N(!1);#n=!1;#r=N(void 0);#i=null;constructor(e){this.opts=e,this.present=this.opts.open,k(this.#t,e.open.current,!0),this.#e=new ye({ref:this.opts.ref,afterTick:this.opts.open}),Se(()=>this.#o()),Ce(()=>this.present.current,e=>{if(!this.#n){this.#n=!0;return}this.#o(),e&&k(this.#t,!0),k(this.#r,e?`starting`:`ending`,!0),e&&(this.#i=window.requestAnimationFrame(()=>{this.#i=null,this.present.current&&k(this.#r,void 0)})),this.#e.run(()=>{e===this.present.current&&(e||k(this.#t,!1),k(this.#r,void 0))})})}#a=I(()=>g(this.#t));get isPresent(){return g(this.#a)}set isPresent(e){k(this.#a,e)}get transitionStatus(){return g(this.#r)}#o(){this.#i!==null&&(window.cancelAnimationFrame(this.#i),this.#i=null)}};function Ye(e,t){A(t,!0);let n=new Je({open:X(()=>t.open),ref:t.ref});var r=u(),i=E(r),a=e=>{var r=u();z(E(r),()=>t.presence??w,()=>({present:n.isPresent,transitionStatus:n.transitionStatus})),l(e,r)};d(i,e=>{(t.forceMount||t.open||n.isPresent)&&e(a)}),l(e,r),P()}function Xe(e,t,n){return Math.min(n,Math.max(t,e))}var Ze=class{state;#e;constructor(e,t){this.state=Fe(e),this.#e=t,this.dispatch=this.dispatch.bind(this)}#t(e){return this.#e[this.state.current][e]??this.state.current}dispatch(e){this.state.current=this.#t(e)}},Qe=de({component:`scroll-area`,parts:[`root`,`viewport`,`corner`,`thumb`,`scrollbar`]}),$e=new G(`ScrollArea.Root`),et=new G(`ScrollArea.Scrollbar`),tt=new G(`ScrollArea.ScrollbarVisible`),nt=new G(`ScrollArea.ScrollbarAxis`),rt=new G(`ScrollArea.ScrollbarShared`),it=class e{static create(t){return $e.set(new e(t))}opts;attachment;#e=N(null);get scrollAreaNode(){return g(this.#e)}set scrollAreaNode(e){k(this.#e,e,!0)}#t=N(null);get viewportNode(){return g(this.#t)}set viewportNode(e){k(this.#t,e,!0)}#n=N(null);get contentNode(){return g(this.#n)}set contentNode(e){k(this.#n,e,!0)}#r=N(null);get scrollbarXNode(){return g(this.#r)}set scrollbarXNode(e){k(this.#r,e,!0)}#i=N(null);get scrollbarYNode(){return g(this.#i)}set scrollbarYNode(e){k(this.#i,e,!0)}#a=N(0);get cornerWidth(){return g(this.#a)}set cornerWidth(e){k(this.#a,e,!0)}#o=N(0);get cornerHeight(){return g(this.#o)}set cornerHeight(e){k(this.#o,e,!0)}#s=N(!1);get scrollbarXEnabled(){return g(this.#s)}set scrollbarXEnabled(e){k(this.#s,e,!0)}#c=N(!1);get scrollbarYEnabled(){return g(this.#c)}set scrollbarYEnabled(e){k(this.#c,e,!0)}domContext;constructor(e){this.opts=e,this.attachment=K(e.ref,e=>this.scrollAreaNode=e),this.domContext=new Ne(e.ref)}#l=I(()=>({id:this.opts.id.current,dir:this.opts.dir.current,style:{position:`relative`,"--bits-scroll-area-corner-height":`${this.cornerHeight}px`,"--bits-scroll-area-corner-width":`${this.cornerWidth}px`},[Qe.root]:``,...this.attachment}));get props(){return g(this.#l)}set props(e){k(this.#l,e)}},at=class e{static create(t){return new e(t,$e.get())}opts;root;attachment;#e=Fe(be());#t=Fe(null);contentAttachment=K(this.#t,e=>this.root.contentNode=e);constructor(e,t){this.opts=e,this.root=t,this.attachment=K(e.ref,e=>this.root.viewportNode=e)}#n=I(()=>({id:this.opts.id.current,style:{overflowX:this.root.scrollbarXEnabled?`scroll`:`hidden`,overflowY:this.root.scrollbarYEnabled?`scroll`:`hidden`},[Qe.viewport]:``,...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}#r=I(()=>({id:this.#e.current,"data-scroll-area-content":``,style:{minWidth:this.root.scrollbarXEnabled?`fit-content`:void 0},...this.contentAttachment}));get contentProps(){return g(this.#r)}set contentProps(e){k(this.#r,e)}},ot=class e{static create(t){return et.set(new e(t,$e.get()))}opts;root;#e=I(()=>this.opts.orientation.current===`horizontal`);get isHorizontal(){return g(this.#e)}set isHorizontal(e){k(this.#e,e)}#t=N(!1);get hasThumb(){return g(this.#t)}set hasThumb(e){k(this.#t,e,!0)}constructor(e,t){this.opts=e,this.root=t,Ce(()=>this.isHorizontal,e=>e?(this.root.scrollbarXEnabled=!0,()=>{this.root.scrollbarXEnabled=!1}):(this.root.scrollbarYEnabled=!0,()=>{this.root.scrollbarYEnabled=!1}))}},st=class e{static create(){return new e(et.get())}scrollbar;root;#e=N(!1);get isVisible(){return g(this.#e)}set isVisible(e){k(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,v(()=>{let e=this.root.scrollAreaNode,t=this.root.opts.scrollHideDelay.current,n=0;if(!e)return;let r=Re(_(e,`pointerenter`,()=>{this.root.domContext.clearTimeout(n),s(()=>this.isVisible=!0)}),_(e,`pointerleave`,()=>{n&&this.root.domContext.clearTimeout(n),n=this.root.domContext.setTimeout(()=>{s(()=>{this.scrollbar.hasThumb=!1,this.isVisible=!1})},t)}));return()=>{this.root.domContext.getWindow().clearTimeout(n),r()}})}#t=I(()=>({"data-state":this.isVisible?`visible`:`hidden`}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},ct=class e{static create(){return new e(et.get())}scrollbar;root;machine=new Ze(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});#e=I(()=>this.machine.state.current===`hidden`);get isHidden(){return g(this.#e)}set isHidden(e){k(this.#e,e)}constructor(e){this.scrollbar=e,this.root=e.root;let t=_e(()=>this.machine.dispatch(`SCROLL_END`),100);v(()=>{let e=this.machine.state.current,t=this.root.opts.scrollHideDelay.current;if(e===`idle`){let e=this.root.domContext.setTimeout(()=>this.machine.dispatch(`HIDE`),t);return()=>this.root.domContext.clearTimeout(e)}}),v(()=>{let e=this.root.viewportNode;if(!e)return;let n=this.scrollbar.isHorizontal?`scrollLeft`:`scrollTop`,r=e[n];return _(e,`scroll`,()=>{let i=e[n];r!==i&&(this.machine.dispatch(`SCROLL`),t()),r=i})}),this.onpointerenter=this.onpointerenter.bind(this),this.onpointerleave=this.onpointerleave.bind(this)}onpointerenter(e){this.machine.dispatch(`POINTER_ENTER`)}onpointerleave(e){this.machine.dispatch(`POINTER_LEAVE`)}#t=I(()=>({"data-state":this.machine.state.current===`hidden`?`hidden`:`visible`,onpointerenter:this.onpointerenter,onpointerleave:this.onpointerleave}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},lt=class e{static create(){return new e(et.get())}scrollbar;root;#e=N(!1);get isVisible(){return g(this.#e)}set isVisible(e){k(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root;let t=_e(()=>{let e=this.root.viewportNode;if(!e)return;let t=e.offsetWidth<e.scrollWidth,n=e.offsetHeight<e.scrollHeight;this.isVisible=this.scrollbar.isHorizontal?t:n},10);new qe(()=>this.root.viewportNode,t),new qe(()=>this.root.contentNode,t)}#t=I(()=>({"data-state":this.isVisible?`visible`:`hidden`}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},ut=class e{static create(){return tt.set(new e(et.get()))}scrollbar;root;#e=N(null);get thumbNode(){return g(this.#e)}set thumbNode(e){k(this.#e,e,!0)}#t=N(0);get pointerOffset(){return g(this.#t)}set pointerOffset(e){k(this.#t,e,!0)}#n=N({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}});get sizes(){return g(this.#n)}set sizes(e){k(this.#n,e)}#r=I(()=>_t(this.sizes.viewport,this.sizes.content));get thumbRatio(){return g(this.#r)}set thumbRatio(e){k(this.#r,e)}#i=I(()=>this.thumbRatio>0&&this.thumbRatio<1);get hasThumb(){return g(this.#i)}set hasThumb(e){k(this.#i,e)}#a=N(``);get prevTransformStyle(){return g(this.#a)}set prevTransformStyle(e){k(this.#a,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,v(()=>{this.scrollbar.hasThumb=this.hasThumb}),v(()=>{!this.scrollbar.hasThumb&&this.thumbNode&&(this.prevTransformStyle=this.thumbNode.style.transform)})}setSizes(e){this.sizes=e}getScrollPosition(e,t){return yt({pointerPos:e,pointerOffset:this.pointerOffset,sizes:this.sizes,dir:t})}onThumbPointerUp(){this.pointerOffset=0}onThumbPointerDown(e){this.pointerOffset=e}xOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;let e=this.root.viewportNode.scrollLeft,t=`translate3d(${bt({scrollPos:e,sizes:this.sizes,dir:this.root.opts.dir.current})}px, 0, 0)`;this.thumbNode.style.transform=t,this.prevTransformStyle=t}xOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=e)}xOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=this.getScrollPosition(e,this.root.opts.dir.current))}yOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;let e=this.root.viewportNode.scrollTop,t=`translate3d(0, ${bt({scrollPos:e,sizes:this.sizes})}px, 0)`;this.thumbNode.style.transform=t,this.prevTransformStyle=t}yOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=e)}yOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=this.getScrollPosition(e,this.root.opts.dir.current))}},dt=class e{static create(t){return nt.set(new e(t,tt.get()))}opts;scrollbarVis;root;scrollbar;attachment;#e=N();get computedStyle(){return g(this.#e)}set computedStyle(e){k(this.#e,e,!0)}constructor(e,t){this.opts=e,this.scrollbarVis=t,this.root=t.root,this.scrollbar=t.scrollbar,this.attachment=K(this.scrollbar.opts.ref,e=>this.root.scrollbarXNode=e),v(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),v(()=>{this.onResize()})}onThumbPointerDown=e=>{this.scrollbarVis.onThumbPointerDown(e.x)};onDragScroll=e=>{this.scrollbarVis.xOnDragScroll(e.x)};onThumbPointerUp=()=>{this.scrollbarVis.onThumbPointerUp()};onThumbPositionChange=()=>{this.scrollbarVis.xOnThumbPositionChange()};onWheelScroll=(e,t)=>{if(!this.root.viewportNode)return;let n=this.root.viewportNode.scrollLeft+e.deltaX;this.scrollbarVis.xOnWheelScroll(n),St(n,t)&&e.preventDefault()};onResize=()=>{this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollWidth,viewport:this.root.viewportNode.offsetWidth,scrollbar:{size:this.scrollbar.opts.ref.current.clientWidth,paddingStart:gt(this.computedStyle.paddingLeft),paddingEnd:gt(this.computedStyle.paddingRight)}})};#t=I(()=>vt(this.scrollbarVis.sizes));get thumbSize(){return g(this.#t)}set thumbSize(e){k(this.#t,e)}#n=I(()=>({id:this.scrollbar.opts.id.current,"data-orientation":`horizontal`,style:{bottom:0,left:this.root.opts.dir.current===`rtl`?`var(--bits-scroll-area-corner-width)`:0,right:this.root.opts.dir.current===`ltr`?`var(--bits-scroll-area-corner-width)`:0,"--bits-scroll-area-thumb-width":`${this.thumbSize}px`},...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}},ft=class e{static create(t){return nt.set(new e(t,tt.get()))}opts;scrollbarVis;root;scrollbar;attachment;#e=N();get computedStyle(){return g(this.#e)}set computedStyle(e){k(this.#e,e,!0)}constructor(e,t){this.opts=e,this.scrollbarVis=t,this.root=t.root,this.scrollbar=t.scrollbar,this.attachment=K(this.scrollbar.opts.ref,e=>this.root.scrollbarYNode=e),v(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),v(()=>{this.onResize()}),this.onThumbPointerDown=this.onThumbPointerDown.bind(this),this.onDragScroll=this.onDragScroll.bind(this),this.onThumbPointerUp=this.onThumbPointerUp.bind(this),this.onThumbPositionChange=this.onThumbPositionChange.bind(this),this.onWheelScroll=this.onWheelScroll.bind(this),this.onResize=this.onResize.bind(this)}onThumbPointerDown(e){this.scrollbarVis.onThumbPointerDown(e.y)}onDragScroll(e){this.scrollbarVis.yOnDragScroll(e.y)}onThumbPointerUp(){this.scrollbarVis.onThumbPointerUp()}onThumbPositionChange(){this.scrollbarVis.yOnThumbPositionChange()}onWheelScroll(e,t){if(!this.root.viewportNode)return;let n=this.root.viewportNode.scrollTop+e.deltaY;this.scrollbarVis.yOnWheelScroll(n),St(n,t)&&e.preventDefault()}onResize(){this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollHeight,viewport:this.root.viewportNode.offsetHeight,scrollbar:{size:this.scrollbar.opts.ref.current.clientHeight,paddingStart:gt(this.computedStyle.paddingTop),paddingEnd:gt(this.computedStyle.paddingBottom)}})}#t=I(()=>vt(this.scrollbarVis.sizes));get thumbSize(){return g(this.#t)}set thumbSize(e){k(this.#t,e)}#n=I(()=>({id:this.scrollbar.opts.id.current,"data-orientation":`vertical`,style:{top:0,right:this.root.opts.dir.current===`ltr`?0:void 0,left:this.root.opts.dir.current===`rtl`?0:void 0,bottom:`var(--bits-scroll-area-corner-height)`,"--bits-scroll-area-thumb-height":`${this.thumbSize}px`},...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}},pt=class e{static create(){return rt.set(new e(nt.get()))}scrollbarState;root;scrollbarVis;scrollbar;#e=N(null);get rect(){return g(this.#e)}set rect(e){k(this.#e,e)}#t=N(``);get prevWebkitUserSelect(){return g(this.#t)}set prevWebkitUserSelect(e){k(this.#t,e,!0)}handleResize;handleThumbPositionChange;handleWheelScroll;handleThumbPointerDown;handleThumbPointerUp;#n=I(()=>this.scrollbarVis.sizes.content-this.scrollbarVis.sizes.viewport);get maxScrollPos(){return g(this.#n)}set maxScrollPos(e){k(this.#n,e)}constructor(e){this.scrollbarState=e,this.root=e.root,this.scrollbarVis=e.scrollbarVis,this.scrollbar=e.scrollbarVis.scrollbar,this.handleResize=_e(()=>this.scrollbarState.onResize(),10),this.handleThumbPositionChange=this.scrollbarState.onThumbPositionChange,this.handleWheelScroll=this.scrollbarState.onWheelScroll,this.handleThumbPointerDown=this.scrollbarState.onThumbPointerDown,this.handleThumbPointerUp=this.scrollbarState.onThumbPointerUp,v(()=>{let e=this.maxScrollPos,t=this.scrollbar.opts.ref.current;return this.root.viewportNode,_(this.root.domContext.getDocument(),`wheel`,n=>{let r=n.target;t?.contains(r)&&this.handleWheelScroll(n,e)},{passive:!1})}),b(()=>{this.scrollbarVis.sizes,s(()=>this.handleThumbPositionChange())}),new qe(()=>this.scrollbar.opts.ref.current,this.handleResize),new qe(()=>this.root.contentNode,this.handleResize),this.onpointerdown=this.onpointerdown.bind(this),this.onpointermove=this.onpointermove.bind(this),this.onpointerup=this.onpointerup.bind(this),this.onlostpointercapture=this.onlostpointercapture.bind(this)}handleDragScroll(e){if(!this.rect)return;let t=e.clientX-this.rect.left,n=e.clientY-this.rect.top;this.scrollbarState.onDragScroll({x:t,y:n})}#r(){this.rect!==null&&(this.root.domContext.getDocument().body.style.webkitUserSelect=this.prevWebkitUserSelect,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=``),this.rect=null)}onpointerdown(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),this.rect=this.scrollbar.opts.ref.current?.getBoundingClientRect()??null,this.prevWebkitUserSelect=this.root.domContext.getDocument().body.style.webkitUserSelect,this.root.domContext.getDocument().body.style.webkitUserSelect=`none`,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=`auto`),this.handleDragScroll(e))}onpointermove(e){this.handleDragScroll(e)}onpointerup(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),this.#r()}onlostpointercapture(e){this.#r()}#i=I(()=>Y({...this.scrollbarState.props,style:{position:`absolute`,...this.scrollbarState.props.style},[Qe.scrollbar]:``,onpointerdown:this.onpointerdown,onpointermove:this.onpointermove,onpointerup:this.onpointerup,onlostpointercapture:this.onlostpointercapture}));get props(){return g(this.#i)}set props(e){k(this.#i,e)}},mt=class e{static create(t){return new e(t,rt.get())}opts;scrollbarState;attachment;#e;#t=N();#n=_e(()=>{g(this.#t)&&(g(this.#t)(),k(this.#t,void 0))},100);constructor(e,t){this.opts=e,this.scrollbarState=t,this.#e=t.root,this.attachment=K(this.opts.ref,e=>this.scrollbarState.scrollbarVis.thumbNode=e),v(()=>{let e=this.#e.viewportNode;return e?(s(()=>this.scrollbarState.handleThumbPositionChange()),_(e,`scroll`,()=>{if(this.#n(),!g(this.#t)){let t=Ct(e,this.scrollbarState.handleThumbPositionChange);k(this.#t,t,!0),this.scrollbarState.handleThumbPositionChange()}})):void 0}),this.onpointerdowncapture=this.onpointerdowncapture.bind(this),this.onpointerup=this.onpointerup.bind(this)}onpointerdowncapture(e){let t=e.target;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX-n.left,i=e.clientY-n.top;this.scrollbarState.handleThumbPointerDown({x:r,y:i})}onpointerup(e){this.scrollbarState.handleThumbPointerUp()}#r=I(()=>({id:this.opts.id.current,"data-state":this.scrollbarState.scrollbarVis.hasThumb?`visible`:`hidden`,style:{width:`var(--bits-scroll-area-thumb-width)`,height:`var(--bits-scroll-area-thumb-height)`,transform:this.scrollbarState.scrollbarVis.prevTransformStyle},onpointerdowncapture:this.onpointerdowncapture,onpointerup:this.onpointerup,[Qe.thumb]:``,...this.attachment}));get props(){return g(this.#r)}set props(e){k(this.#r,e)}},ht=class e{static create(t){return new e(t,$e.get())}opts;root;attachment;#e=N(0);#t=N(0);#n=I(()=>!!(g(this.#e)&&g(this.#t)));get hasSize(){return g(this.#n)}set hasSize(e){k(this.#n,e)}constructor(e,t){this.opts=e,this.root=t,this.attachment=K(this.opts.ref),new qe(()=>this.root.scrollbarXNode,()=>{let e=this.root.scrollbarXNode?.offsetHeight||0;this.root.cornerHeight=e,k(this.#t,e,!0)}),new qe(()=>this.root.scrollbarYNode,()=>{let e=this.root.scrollbarYNode?.offsetWidth||0;this.root.cornerWidth=e,k(this.#e,e,!0)})}#r=I(()=>({id:this.opts.id.current,style:{width:g(this.#e),height:g(this.#t),position:`absolute`,right:this.root.opts.dir.current===`ltr`?0:void 0,left:this.root.opts.dir.current===`rtl`?0:void 0,bottom:0},[Qe.corner]:``,...this.attachment}));get props(){return g(this.#r)}set props(e){k(this.#r,e)}};function gt(e){return e?Number.parseInt(e,10):0}function _t(e,t){let n=e/t;return Number.isNaN(n)?0:n}function vt(e){let t=_t(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function yt({pointerPos:e,pointerOffset:t,sizes:n,dir:r=`ltr`}){let i=vt(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return xt([c,l],d)(e)}function bt({scrollPos:e,sizes:t,dir:n=`ltr`}){let r=vt(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=Xe(e,c[0],c[1]);return xt([0,o],[0,s])(l)}function xt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function St(e,t){return e>0&&e<t}function Ct(e,t){let n={left:e.scrollLeft,top:e.scrollTop},r=0,i=pe(e);return(function a(){let o={left:e.scrollLeft,top:e.scrollTop},s=n.left!==o.left,c=n.top!==o.top;(s||c)&&t(),n=o,r=i.requestAnimationFrame(a)})(),()=>i.cancelAnimationFrame(r)}var wt=f(`<div><!></div>`);function Tt(e,n){let r=o();A(n,!0);let i=S(n,`ref`,15,null),a=S(n,`id`,19,()=>fe(r)),s=S(n,`type`,3,`hover`),c=S(n,`dir`,3,`ltr`),f=S(n,`scrollHideDelay`,3,600),p=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`type`,`dir`,`scrollHideDelay`,`children`,`child`]),m=it.create({type:X(()=>s()),dir:X(()=>c()),scrollHideDelay:X(()=>f()),id:X(()=>a()),ref:X(()=>i(),e=>i(e))}),h=I(()=>Y(p,m.props));var _=u(),v=E(_),y=e=>{var t=u();z(E(t),()=>n.child,()=>({props:g(h)})),l(e,t)},b=e=>{var r=wt();T(r,()=>({...g(h)})),z(t(r),()=>n.children??w),H(r),l(e,r)};d(v,e=>{n.child?e(y):e(b,-1)}),l(e,_),P()}var Et=f(`<div><div><!></div></div>`);function Dt(e,n){let r=o();A(n,!0);let i=S(n,`ref`,15,null),a=S(n,`id`,19,()=>fe(r)),s=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`children`]),c=at.create({id:X(()=>a()),ref:X(()=>i(),e=>i(e))}),u=I(()=>Y(s,c.props)),d=I(()=>Y({},c.contentProps));var f=Et();T(f,()=>({...g(u)}));var p=t(f);T(p,()=>({...g(d)})),z(t(p),()=>n.children??w),H(p),H(f),l(e,f),P()}var Ot=f(`<div><!></div>`);function kt(e,n){A(n,!0);let r=M(n,[`$$slots`,`$$events`,`$$legacy`,`child`,`children`]),i=pt.create(),a=I(()=>Y(r,i.props));var o=u(),s=E(o),c=e=>{var t=u();z(E(t),()=>n.child,()=>({props:g(a)})),l(e,t)},f=e=>{var r=Ot();T(r,()=>({...g(a)})),z(t(r),()=>n.children??w),H(r),l(e,r)};d(s,e=>{n.child?e(c):e(f,-1)}),l(e,o),P()}function At(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=new xe,i=dt.create({mounted:X(()=>r.current)}),a=I(()=>Y(n,i.props));kt(e,F(()=>g(a))),P()}function jt(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=new xe,i=ft.create({mounted:X(()=>r.current)}),a=I(()=>Y(n,i.props));kt(e,F(()=>g(a))),P()}function Mt(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=ut.create();var i=u(),a=E(i),o=e=>{At(e,F(()=>n))},s=e=>{jt(e,F(()=>n))};d(a,e=>{r.scrollbar.opts.orientation.current===`horizontal`?e(o):e(s,-1)}),l(e,i),P()}function Nt(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=lt.create(),a=I(()=>Y(r,i.props));{let t=e=>{Mt(e,F(()=>g(a)))},r=I(()=>n()||i.isVisible);Ye(e,{get open(){return g(r)},get ref(){return i.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}})}P()}function Pt(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=ct.create(),a=I(()=>Y(r,i.props));{let t=e=>{Mt(e,F(()=>g(a)))},r=I(()=>n()||!i.isHidden);Ye(e,F(()=>g(a),{get open(){return g(r)},get ref(){return i.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}}))}P()}function Ft(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=st.create(),a=lt.create(),o=I(()=>Y(r,i.props,a.props,{"data-state":i.isVisible?`visible`:`hidden`})),s=I(()=>n()||i.isVisible&&a.isVisible);Ye(e,{get open(){return g(s)},get ref(){return a.scrollbar.opts.ref},presence:e=>{Mt(e,F(()=>g(o)))},$$slots:{presence:!0}}),P()}function It(e,t){let n=o();A(t,!0);let r=S(t,`ref`,15,null),i=S(t,`id`,19,()=>fe(n)),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`orientation`]),s=ot.create({orientation:X(()=>t.orientation),id:X(()=>i()),ref:X(()=>r(),e=>r(e))}),c=I(()=>s.root.opts.type.current);var f=u(),p=E(f),m=e=>{Ft(e,F(()=>a,{get id(){return i()}}))},h=e=>{Pt(e,F(()=>a,{get id(){return i()}}))},_=e=>{Nt(e,F(()=>a,{get id(){return i()}}))},v=e=>{Mt(e,F(()=>a,{get id(){return i()}}))};d(p,e=>{g(c)===`hover`?e(m):g(c)===`scroll`?e(h,1):g(c)===`auto`?e(_,2):g(c)===`always`&&e(v,3)}),l(e,f),P()}var Lt=f(`<div><!></div>`);function Rt(e,n){A(n,!0);let r=S(n,`ref`,15,null),i=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`child`,`children`,`present`]),a=new xe,o=mt.create({id:X(()=>n.id),ref:X(()=>r(),e=>r(e)),mounted:X(()=>a.current)}),s=I(()=>Y(i,o.props,{style:{hidden:!n.present}}));var c=u(),f=E(c),p=e=>{var t=u();z(E(t),()=>n.child,()=>({props:g(s)})),l(e,t)},m=e=>{var r=Lt();T(r,()=>({...g(s)})),z(t(r),()=>n.children??w),H(r),l(e,r)};d(f,e=>{n.child?e(p):e(m,-1)}),l(e,c),P()}function zt(e,t){let n=o();A(t,!0);let r=S(t,`id`,19,()=>fe(n)),i=S(t,`ref`,15,null),a=S(t,`forceMount`,3,!1),s=M(t,[`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`forceMount`]),c=tt.get();{let t=(e,t)=>{let n=()=>t?.().present;Rt(e,F(()=>s,{get id(){return r()},get present(){return n()},get ref(){return i()},set ref(e){i(e)}}))},n=I(()=>a()||c.hasThumb);Ye(e,{get open(){return g(n)},get ref(){return c.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}})}P()}var Bt=f(`<div><!></div>`);function Vt(e,n){A(n,!0);let r=S(n,`ref`,15,null),i=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`children`,`child`]),a=ht.create({id:X(()=>n.id),ref:X(()=>r(),e=>r(e))}),o=I(()=>Y(i,a.props));var s=u(),c=E(s),f=e=>{var t=u();z(E(t),()=>n.child,()=>({props:g(o)})),l(e,t)},p=e=>{var r=Bt();T(r,()=>({...g(o)})),z(t(r),()=>n.children??w),H(r),l(e,r)};d(c,e=>{n.child?e(f):e(p,-1)}),l(e,s),P()}function Ht(e,t){let n=o();A(t,!0);let r=S(t,`ref`,15,null),i=S(t,`id`,19,()=>fe(n)),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`]),s=$e.get(),c=I(()=>!!(s.scrollbarXNode&&s.scrollbarYNode)),f=I(()=>s.opts.type.current!==`scroll`&&g(c));var p=u(),m=E(p),h=e=>{Vt(e,F(()=>a,{get id(){return i()},get ref(){return r()},set ref(e){r(e)}}))};d(m,e=>{g(f)&&e(h)}),l(e,p),P()}var Ut=f(`<!> <!>`,1);function Wt(e,t){A(t,!0);let n=S(t,`ref`,15,null),r=S(t,`orientation`,3,`vertical`),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`orientation`,`children`]);var o=u(),s=E(o);{let e=I(()=>se(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,t.class));i(s,()=>It,(o,s)=>{s(o,F({"data-slot":`scroll-area-scrollbar`,get"data-orientation"(){return r()},get orientation(){return r()},get class(){return g(e)}},()=>a,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var r=Ut(),a=E(r);z(a,()=>t.children??w),i(L(a,2),()=>zt,(e,t)=>{t(e,{"data-slot":`scroll-area-thumb`,class:`bg-border relative flex-1 rounded-full`})}),l(e,r)},$$slots:{default:!0}}))})}l(e,o),P()}var Gt=f(`<!> <!> <!> <!>`,1);function Kt(e,t){A(t,!0);let n=S(t,`ref`,15,null),r=S(t,`viewportRef`,15,null),a=S(t,`orientation`,3,`vertical`),o=S(t,`scrollbarXClasses`,3,``),s=S(t,`scrollbarYClasses`,3,``),c=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`viewportRef`,`class`,`orientation`,`scrollbarXClasses`,`scrollbarYClasses`,`children`]);var f=u(),p=E(f);{let e=I(()=>se(`relative overflow-hidden`,t.class));i(p,()=>Tt,(f,p)=>{p(f,F({"data-slot":`scroll-area`,get class(){return g(e)}},()=>c,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var c=Gt(),f=E(c);i(f,()=>Dt,(e,n)=>{n(e,{"data-slot":`scroll-area-viewport`,class:`cn-scroll-area-viewport focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1`,get ref(){return r()},set ref(e){r(e)},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})});var p=L(f,2),m=e=>{Wt(e,{orientation:`vertical`,get class(){return s()}})};d(p,e=>{(a()===`vertical`||a()===`both`)&&e(m)});var h=L(p,2),g=e=>{Wt(e,{orientation:`horizontal`,get class(){return o()}})};d(h,e=>{(a()===`horizontal`||a()===`both`)&&e(g)}),i(L(h,2),()=>Ht,(e,t)=>{t(e,{})}),l(e,c)},$$slots:{default:!0}}))})}l(e,f),P()}function qt(e){return!e||e.method===`input`?``:e.method===`editor`?e.prefill??``:``}var Jt=f(`<!> <!>`,1),Yt=f(`<!> <!>`,1),Xt=f(`<!> <form class="flex flex-col gap-4"><!> <!></form>`,1),Zt=f(`<div class="text-muted-foreground mt-1 text-sm"> </div>`),Qt=f(`<div class="flex h-full items-center justify-center"><span class="text-muted-foreground text-sm">Loading editor…</span></div>`),$t=f(`<form class="flex h-full min-h-0 flex-col"><header class="bg-background/95 sticky top-0 z-10 flex shrink-0 flex-col gap-2 border-b px-4 py-3 backdrop-blur sm:px-5" style="padding-top: max(0.75rem, env(safe-area-inset-top));"><div class="flex flex-col items-start gap-3 sm:flex-row sm:items-start sm:justify-between"><div class="w-full min-w-0 sm:w-auto"><div class="text-base font-semibold break-words"> </div> <!></div> <!></div></header> <div class="min-h-0 flex-1 overflow-hidden"><!></div> <div class="bg-background/95 sticky bottom-0 z-10 flex shrink-0 flex-col gap-2 border-t px-4 py-3 backdrop-blur sm:flex-row sm:items-center sm:justify-end sm:px-5" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));"><!> <!></div></form>`);function en(e,a){A(a,!0);let o=we(),s=N(!1),f=N(``),p=I(()=>{let e=$.viewedSessionId;return o.all.find(t=>!He.has(t.method)&&t.sessionId===e)??null}),m=N(null),h=N(null);v(()=>{if(g(p)?.method===`editor`){let e=g(p).title,t=g(p).prefill;Promise.all([W(()=>import(`../chunks/uZO1iyJZ.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),W(()=>import(`../chunks/CnTTbAN2.js`),__vite__mapDeps([4,5,2]),import.meta.url)]).then(([n,r])=>{k(m,n,!0),k(h,r.resolveEditorLanguage(e,t),!0)})}else k(m,null),k(h,null)}),v(()=>{g(p)?(k(f,qt(g(p)),!0),k(s,!0)):k(s,!1)});function _(e){g(p)&&o.sendResponse(g(p).requestId,g(p).sessionId,e)}function b(){_({cancelled:!0})}function x(e){!e&&g(p)&&b()}function S(){_({value:g(f)})}function C(){_({value:g(f)})}var w=u();i(E(w),()=>ue,(e,a)=>{a(e,{get open(){return g(s)},onOpenChange:x,children:(e,a)=>{var o=u(),s=E(o),_=e=>{var a=u();i(E(a),()=>ke,(e,a)=>{a(e,{class:`sm:max-w-md`,children:(e,a)=>{var o=Xt(),s=E(o);i(s,()=>Oe,(e,t)=>{t(e,{children:(e,t)=>{var r=Jt(),a=E(r);i(a,()=>ge,(e,t)=>{t(e,{children:(e,t)=>{R();var r=c();y(()=>n(r,g(p).title??`Extension`)),l(e,r)},$$slots:{default:!0}})});var o=L(a,2),s=e=>{var t=u();i(E(t),()=>he,(e,t)=>{t(e,{children:(e,t)=>{R();var r=c();y(()=>n(r,g(p).message)),l(e,r)},$$slots:{default:!0}})}),l(e,t)};d(o,e=>{g(p).message&&e(s)}),l(e,r)},$$slots:{default:!0}})});var m=L(s,2),h=t(m);{let e=I(()=>g(p).placeholder??``);le(h,{get placeholder(){return g(e)},autofocus:!0,get value(){return g(f)},set value(e){k(f,e,!0)}})}i(L(h,2),()=>me,(e,t)=>{t(e,{children:(e,t)=>{var n=Yt(),r=E(n);q(r,{variant:`outline`,type:`button`,onclick:b,children:(e,t)=>{R(),l(e,c(`Cancel`))},$$slots:{default:!0}}),q(L(r,2),{type:`submit`,children:(e,t)=>{R(),l(e,c(`Submit`))},$$slots:{default:!0}}),l(e,n)},$$slots:{default:!0}})}),H(m),r(`submit`,m,e=>{e.preventDefault(),S()}),l(e,o)},$$slots:{default:!0}})}),l(e,a)},v=e=>{var a=u();i(E(a),()=>ke,(e,a)=>{a(e,{showCloseButton:!1,class:`top-0 left-0 flex h-dvh w-screen max-w-none translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:top-1/2 sm:left-1/2 sm:h-[min(92dvh,960px)] sm:w-[min(96vw,1280px)] sm:max-w-[min(96vw,1280px)] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-xl`,children:(e,a)=>{var o=$t(),s=t(o),_=t(s),v=t(_),x=t(v),S=t(x,!0);H(x);var w=L(x,2),ee=e=>{var r=Zt(),i=t(r,!0);H(r),y(()=>n(i,g(p).message)),l(e,r)};d(w,e=>{g(p).message&&e(ee)}),H(v);var T=L(v,2),te=e=>{ze(e,{variant:`outline`,class:`max-w-full shrink-0 whitespace-nowrap`,children:(e,t)=>{R();var r=c();y(()=>n(r,g(h).label)),l(e,r)},$$slots:{default:!0}})};d(T,e=>{g(h)&&e(te)}),H(_),H(s);var D=L(s,2),O=t(D),A=e=>{var t=u(),n=E(t);{let e=I(()=>g(h)?.id??null);i(n,()=>g(m).default,(t,n)=>{n(t,{get language(){return g(e)},get value(){return g(f)},set value(e){k(f,e,!0)}})})}l(e,t)},j=e=>{l(e,Qt())};d(O,e=>{g(m)?e(A):e(j,-1)}),H(D);var M=L(D,2),N=t(M);q(N,{variant:`outline`,type:`button`,class:`w-full sm:w-auto`,onclick:b,children:(e,t)=>{R(),l(e,c(`Cancel`))},$$slots:{default:!0}}),q(L(N,2),{type:`submit`,class:`w-full sm:w-auto`,children:(e,t)=>{R(),l(e,c(`Save`))},$$slots:{default:!0}}),H(M),H(o),y(()=>n(S,g(p).title??`Editor`)),r(`submit`,o,e=>{e.preventDefault(),C()}),l(e,o)},$$slots:{default:!0}})}),l(e,a)};d(s,e=>{g(p)?.method===`input`?e(_):g(p)?.method===`editor`&&e(v,1)}),l(e,o)},$$slots:{default:!0}})}),l(e,w),P()}function tn(e,t){let n=t.map(e=>e.trimEnd()),r=n.find(e=>e.trim().length>0),i=r&&n.length>1?r.trim():e,a=(r&&n.length>1?n.slice(n.indexOf(r)+1):n).filter(e=>e.trim().length>0).map(e=>({content:e,style:`text`}));return{id:`widget:${e}`,header:{title:i},body:a}}function nn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]];J(e,F({name:`circle-alert`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),P()}function rn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]];J(e,F({name:`info`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),P()}var an=f(`<span class="truncate"> </span>`),on=f(`<div class="border-border bg-muted/50 text-muted-foreground flex items-center gap-3 border-t px-4 py-1.5 text-xs"></div>`),sn=f(`<button><!> <span> </span></button>`),cn=f(`<div class="pointer-events-none fixed top-4 left-1/2 z-50 flex -translate-x-1/2 flex-col items-center gap-2"></div>`),ln=f(`<!> <!>`,1);function un(e,r){A(r,!0);let i=new We,a=N(j([])),o=0;function s(e,t=`info`){let n=o++;k(a,[...g(a),{id:n,text:e,notificationType:t}],!0),setTimeout(()=>{k(a,g(a).filter(e=>e.id!==n),!0)},5e3)}function c(e){k(a,g(a).filter(t=>t.id!==e),!0)}re(()=>Q.onEvent(e=>{if(e.type!==`extension_ui_request`)return;let t=e;if(t.method===`setStatus`){let e=t.key,n=t.text;n?i.set(e,n):i.delete(e)}else if(t.method===`setWidget`){let e=t.key,n=t.lines,r=t.sessionId;if(r){let t=$.sessions[r];t&&(n&&n.length>0?t.widgetCards[e]=tn(e,n):delete t.widgetCards[e],r===$.viewedSessionId&&$.syncViewedPanelStore())}}else if(t.method===`notify`)s(t.text??t.message??``,t.notifyType??t.notificationType??`info`);else if(t.method===`setEditorText`){let e=t.text??``,n=t.sessionId;if(n){let t=$.sessions[n];t&&(t.draftText=e),Te(n,e)}}else if(t.method===`setTitle`){let e=t.title??``,n=t.sessionId;if(n){let t=$.sessions[n];t&&(t.extensionTitle=e||null)}}}));let u=I(()=>[...i.entries()]);var f=ln(),p=E(f),m=e=>{var r=on();h(r,21,()=>g(u),([e,t])=>e,(e,r)=>{var i=I(()=>B(g(r),2));let a=()=>g(i)[1];var o=an(),s=t(o,!0);H(o),y(()=>n(s,a())),l(e,o)}),H(r),l(e,r)};d(p,e=>{g(u).length>0&&e(m)});var _=L(p,2),v=e=>{var r=cn();h(r,21,()=>g(a),e=>e.id,(e,r)=>{var i=sn(),a=t(i),o=e=>{nn(e,{class:`size-4 shrink-0`})},s=e=>{Me(e,{class:`size-4 shrink-0`})},u=e=>{rn(e,{class:`size-4 shrink-0`})};d(a,e=>{g(r).notificationType===`error`?e(o):g(r).notificationType===`warning`?e(s,1):e(u,-1)});var f=L(a,2),p=t(f,!0);H(f),H(i),y(()=>{V(i,1,`pointer-events-auto flex items-center gap-2 rounded-lg border px-4 py-2.5 text-sm shadow-lg transition-opacity
3
- ${g(r).notificationType===`error`?`border-destructive/30 bg-destructive/10 text-destructive`:g(r).notificationType===`warning`?`border-yellow-500/30 bg-yellow-500/10 text-yellow-600 dark:text-yellow-400`:`border-border bg-background text-foreground`}`),n(p,g(r).text)}),U(`click`,i,()=>c(g(r).id)),l(e,i)}),H(r),l(e,r)};d(_,e=>{g(a).length>0&&e(v)}),l(e,f),P()}m([`click`]);function dn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 15V3`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}],[`path`,{d:`m7 10 5 5 5-5`}]];J(e,F({name:`download`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),P()}function fn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 2v13`}],[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}]];J(e,F({name:`share`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),P()}var pn=f(`<!> <span class="text-foreground flex-1 text-sm">Install Pimote: tap <strong>Share</strong> then <strong>Add to Home Screen</strong></span>`,1),mn=f(`<!> <span class="text-foreground flex-1 text-sm">Install Pimote for quick access</span> <button class="bg-primary text-primary-foreground hover:bg-primary/80 shrink-0 rounded-md px-3 py-1.5 text-xs font-medium">Install</button>`,1),hn=f(`<div class="animate-in slide-in-from-bottom fixed inset-x-0 bottom-0 z-50 duration-300 md:hidden"><div class="border-border bg-card mx-3 mb-3 flex items-center gap-3 rounded-xl border px-4 py-3 shadow-lg"><!> <button class="text-muted-foreground hover:text-foreground shrink-0 rounded-md p-1" title="Dismiss"><!></button></div></div>`);function gn(e,n){A(n,!0);let r=N(!1),i=N(!1),a=null;re(()=>{if(window.matchMedia(`(display-mode: standalone)`).matches||navigator.standalone===!0||localStorage.getItem(`pimote-install-dismissed`))return;let e=navigator.userAgent,t=/iPad|iPhone|iPod/.test(e)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1,n=/Safari/.test(e)&&!/CriOS|FxiOS|Chrome/.test(e);if(t&&n){k(i,!0),k(r,!0);return}let o=e=>{e.preventDefault(),a=e,k(r,!0)};return window.addEventListener(`beforeinstallprompt`,o),()=>{window.removeEventListener(`beforeinstallprompt`,o)}});async function o(){a&&=(a.prompt(),(await a.userChoice).outcome===`accepted`&&k(r,!1),null)}function s(){localStorage.setItem(`pimote-install-dismissed`,`true`),k(r,!1)}var c=u(),f=E(c),p=e=>{var n=hn(),r=t(n),a=t(r),c=e=>{var t=pn();fn(E(t),{class:`text-muted-foreground size-5 shrink-0`}),R(2),l(e,t)},u=e=>{var t=mn(),n=E(t);dn(n,{class:`text-muted-foreground size-5 shrink-0`}),U(`click`,L(n,4),o),l(e,t)};d(a,e=>{g(i)?e(c):e(u,-1)});var f=L(a,2);oe(t(f),{class:`size-4`}),H(f),H(r),H(n),U(`click`,f,s),l(e,n)};d(f,e=>{g(r)&&e(p)}),l(e,c),P()}m([`click`]);function _n(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]];J(e,F({name:`tag`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),P()}var vn=f(`<div class="text-muted-foreground px-3 py-6 text-sm">No tree nodes match the current filter.</div>`),yn=f(`<button class="text-muted-foreground hover:text-foreground mt-0.5 rounded p-0.5"><!></button>`),bn=f(`<span class="inline-block size-5"></span>`),xn=f(`<span class="text-muted-foreground shrink-0 text-[11px]"> </span>`),Sn=f(`<span class="bg-primary/15 text-primary rounded px-1.5 py-0.5 text-[10px] font-medium">active</span>`),Cn=f(`<span class="bg-secondary text-secondary-foreground inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px]"><!> </span>`),wn=f(`<div tabindex="0"><!> <div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-1.5"><span class="text-muted-foreground shrink-0 text-[11px] uppercase"> </span> <!> <!> <!></div> <div class="text-foreground mt-0.5 line-clamp-2 break-words sm:line-clamp-4"> </div> <div class="text-muted-foreground mt-0.5 hidden text-[11px] sm:block"> </div></div></div>`),Tn=f(`<div class="space-y-1"></div>`),En=f(`<textarea class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring min-h-20 w-full resize-y rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none" placeholder="Custom summarization instructions..."></textarea>`),Dn=f(`<div class="text-muted-foreground text-xs">Summarizing and navigating…</div>`),On=f(`<div class="fixed inset-0 z-[80]" tabindex="0"><form class="bg-background border-border fixed w-80 rounded-lg border p-3 shadow-xl"><label class="text-foreground mb-2 block text-xs font-medium" for="tree-label-input">Label</label> <input id="tree-label-input" class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring w-full rounded-md border px-2.5 py-2 text-sm focus:ring-1 focus:outline-none" type="text" placeholder="Set label (leave blank to clear)"/> <div class="mt-3 flex justify-end gap-2"><button type="button" class="border-border hover:bg-accent rounded-md border px-2.5 py-1.5 text-xs">Cancel</button> <button type="submit" class="bg-primary text-primary-foreground hover:bg-primary/85 rounded-md px-2.5 py-1.5 text-xs font-medium disabled:cursor-not-allowed disabled:opacity-50">Save</button></div></form></div>`),kn=f(`<div class="fixed inset-0 z-50 bg-black/60"><div class="bg-background fixed top-0 left-0 z-[60] flex h-dvh w-screen max-w-none flex-col rounded-none border shadow-xl sm:top-1/2 sm:left-1/2 sm:h-[min(92dvh,960px)] sm:w-[min(96vw,1080px)] sm:max-w-[min(96vw,1080px)] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-xl"><header class="border-border bg-background/95 flex shrink-0 flex-col gap-3 border-b px-4 py-3 backdrop-blur sm:px-5" style="padding-top: max(0.75rem, env(safe-area-inset-top));"><div class="flex items-center justify-between gap-3"><h2 class="text-foreground text-base font-semibold">Tree Navigation</h2> <button class="text-muted-foreground hover:text-foreground rounded-md px-2 py-1 text-sm">Close</button></div> <div class="flex flex-col gap-2 sm:flex-row"><input class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring w-full rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none" type="text" placeholder="Search previews..."/> <select class="border-border bg-secondary text-foreground focus:border-ring focus:ring-ring rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none"><option>Default</option><option>User only</option><option>All</option><option>Labeled only</option></select></div></header> <div class="min-h-0 flex-1 overflow-auto px-2 py-2 sm:px-3"><!></div> <footer class="border-border bg-background/95 flex shrink-0 flex-col gap-3 border-t px-4 py-3 backdrop-blur sm:px-5" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));"><div class="flex flex-wrap gap-2"><button>No summary</button> <button>Summarize</button> <button>Custom summary prompt</button></div> <!> <div class="flex items-center justify-between gap-2"><button class="border-border hover:bg-accent rounded-md border px-3 py-2 text-sm">Cancel</button> <button class="bg-primary text-primary-foreground hover:bg-primary/85 rounded-md px-3 py-2 text-sm font-medium disabled:cursor-not-allowed disabled:opacity-50">Navigate</button></div> <!></footer></div> <!></div>`);function An(e,i){A(i,!0);let a=new We,o=N(`none`),s=N(``),c=N(!1),f=null,m=null,_=N(null),b=N(!1),S=N(null),C=I(()=>{let e=Z.state.tree??[],t=Z.state.currentLeafId;return t?new Set(j(e,t)):new Set}),w=I(()=>M(Z.getFilteredTree(),Z.expandedNodeIds,g(C))),T=I(()=>Z.state.open&&!!Z.state.sessionId&&!!Z.selectedNodeId&&!Z.state.loading&&!g(c)&&Q.ready);v(()=>{if(!Z.state.open){k(c,!1),k(_,null),k(b,!1);return}k(o,`none`),k(s,``);let e=Z.state.sessionId;if(!e){Z.setLoading(!1);return}let t=a.get(e);Z.setLoading(!!t?.inProgress&&t.summarizing)}),v(()=>{if(!Z.state.open)return;let e=Z.state.sessionId;e&&$.viewedSessionId!==e&&Z.closeDialog()}),re(()=>{let e=Q.onEvent(e=>{z(e)}),t=e=>{if(Z.state.open&&e.key===`Escape`){if(e.preventDefault(),g(_)){G();return}Z.closeDialog()}};return window.addEventListener(`keydown`,t),()=>{e(),window.removeEventListener(`keydown`,t),B()}});function j(e,t){for(let n of e){if(n.id===t)return[n.id];let e=j(n.children,t);if(e.length>0)return[n.id,...e]}return[]}function M(e,t,n,r=0){let i=[],a=e.length>1;for(let o of e){let e=o.children.length>0,s=e&&(t.has(o.id)||n.has(o.id));if(i.push({node:o,depth:r,expanded:s,hasChildren:e}),s){let e=o.children.length>1||a?r+1:r;i.push(...M(o.children,t,n,e))}}return i}function F(e,t){a.set(e,t)}function R(e){let t=a.get(e);t&&F(e,{...t,inProgress:!1,summarizing:!1,closeOnResync:!1})}function z(e){if(!(`sessionId`in e)||typeof e.sessionId!=`string`)return;let t=e.sessionId;if(e.type===`tree_navigation_start`){F(t,{inProgress:!0,summarizing:e.summarizing,closeOnResync:!1}),Z.state.open&&Z.state.sessionId===t&&e.summarizing&&Z.setLoading(!0);return}if(e.type===`tree_navigation_end`){F(t,{inProgress:!1,summarizing:!1,closeOnResync:!0}),Z.state.open&&Z.state.sessionId===t&&Z.setLoading(!1);return}if(e.type===`full_resync`){let e=a.get(t);if(!e)return;e.closeOnResync?(a.delete(t),Z.state.open&&Z.state.sessionId===t&&Z.closeDialog()):Z.state.open&&Z.state.sessionId===t&&e.inProgress&&e.summarizing&&Z.setLoading(!0)}}function B(){f&&=(clearTimeout(f),null)}function W(e,t,n){let r=Math.max(8,Math.min(t,window.innerWidth-320-8)),i=Math.max(8,Math.min(n,window.innerHeight-180-8));k(_,{nodeId:e.id,value:e.label??``,x:r,y:i},!0),k(b,!1),queueMicrotask(()=>{g(S)?.focus(),g(S)?.select()})}function G(){k(_,null),k(b,!1)}function oe(e,t){e.preventDefault(),W(t,e.clientX,e.clientY)}function se(e,t){if(e.pointerType!==`touch`)return;let{clientX:n,clientY:r}=e;B(),f=setTimeout(()=>{m=t.id,W(t,n,r),B()},500)}function ce(){B()}function le(){B()}async function ue(){let e=Z.state.sessionId,t=g(_);if(!e||!t||g(b))return;k(b,!0);let n=t.value.trim(),r=n.length>0?n:void 0;try{(await Q.send({type:`set_tree_label`,sessionId:e,entryId:t.nodeId,label:r})).success&&(Z.setNodeLabel(t.nodeId,r),G())}catch(e){console.error(`Failed to set tree label:`,e)}finally{k(b,!1)}}function de(e){if(m===e){m=null;return}if(Z.selectedNodeId===e&&g(T)){K();return}Z.setSelectedNode(e)}function fe(e){Z.toggleExpanded(e)}function pe(e){Z.setFilterMode(e)}async function K(){let e=Z.state.sessionId,t=Z.selectedNodeId;if(!e||!t||Z.state.loading||g(c))return;let n=g(o)!==`none`;try{k(c,!0),Z.setLoading(n);let r=await Q.send({type:`navigate_tree`,sessionId:e,targetId:t,...n?{summarize:!0}:{},...g(o)===`custom`?{customInstructions:g(s)}:{},...g(o)===`custom`?{replaceInstructions:!1}:{}});if(Z.setLoading(!1),!r.success||!r.data){R(e);return}let i=r.data;if(i.cancelled){R(e);return}typeof i.editorText==`string`&&i.editorText.length>0&&Te(e,i.editorText),Z.closeDialog()}catch(t){R(e),Z.setLoading(!1),console.error(`Failed to navigate tree:`,t)}finally{k(c,!1)}}var me=u(),q=E(me),he=e=>{var i=kn(),a=t(i),c=t(a),u=t(c),f=L(t(u),2);H(u);var m=L(u,2),v=t(m);te(v);var E=L(v,2),A=t(E);A.value=A.__value=`default`;var j=L(A);j.value=j.__value=`user-only`;var M=L(j);M.value=M.__value=`all`;var N=L(M);N.value=N.__value=`labeled-only`,H(E);var P;D(E),H(m),H(c);var re=L(c,2),F=t(re),R=e=>{l(e,vn())},z=e=>{var i=Tn();h(i,21,()=>g(w),e=>e.node.id,(e,i)=>{var a=wn(),o=t(a),s=e=>{var n=yn(),r=t(n);{let e=I(()=>`size-4 transition-transform ${g(i).expanded?`rotate-90`:``}`);Be(r,{get class(){return g(e)}})}H(n),y(()=>ne(n,`title`,g(i).expanded?`Collapse`:`Expand`)),U(`click`,n,e=>{e.stopPropagation(),fe(g(i).node.id)}),l(e,n)},c=e=>{l(e,bn())};d(o,e=>{g(i).hasChildren?e(s):e(c,-1)});var u=L(o,2),f=t(u),p=t(f),m=t(p,!0);H(p);var h=L(p,2),_=e=>{var r=xn(),a=t(r,!0);H(r),y(()=>n(a,g(i).node.role)),l(e,r)};d(h,e=>{g(i).node.role&&e(_)});var v=L(h,2),b=e=>{l(e,Sn())};d(v,e=>{g(i).node.id===Z.state.currentLeafId&&e(b)});var x=L(v,2),S=e=>{var r=Cn(),a=t(r);_n(a,{class:`size-2.5`});var o=L(a);H(r),y(()=>n(o,` ${g(i).node.label??``}`)),l(e,r)};d(x,e=>{g(i).node.label&&e(S)}),H(f);var w=L(f,2),ee=t(w,!0);H(w);var T=L(w,2),E=t(T,!0);H(T),H(u),H(a),y((e,t)=>{V(a,1,`border-border/60 hover:bg-accent/60 flex items-start gap-2 rounded-md border px-2 py-1.5 text-sm transition-colors
4
- ${Z.selectedNodeId===g(i).node.id?`ring-ring bg-accent ring-1`:``}
5
- ${e??``}`),ae(a,`margin-left: ${g(i).depth*14}px`),n(m,g(i).node.type),n(ee,g(i).node.preview),ne(T,`title`,g(i).node.timestamp),n(E,t)},[()=>g(C).has(g(i).node.id)?`border-primary/40`:``,()=>Ue(g(i).node.timestamp)]),U(`click`,a,()=>de(g(i).node.id)),U(`keydown`,a,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),de(g(i).node.id))}),U(`contextmenu`,a,e=>oe(e,g(i).node)),U(`pointerdown`,a,e=>se(e,g(i).node)),U(`pointerup`,a,ce),r(`pointercancel`,a,le),r(`pointerleave`,a,le),l(e,a)}),H(i),l(e,i)};d(F,e=>{g(w).length===0?e(R):e(z,-1)}),H(re);var B=L(re,2),W=t(B),me=t(W),q=L(me,2),he=L(q,2);H(W);var ge=L(W,2),_e=e=>{var t=En();p(t),ie(t,()=>g(s),e=>k(s,e)),l(e,t)};d(ge,e=>{g(o)===`custom`&&e(_e)});var J=L(ge,2),ve=t(J),ye=L(ve,2);H(J);var be=L(J,2),xe=e=>{l(e,Dn())};d(be,e=>{Z.state.loading&&e(xe)}),H(B),H(a);var Se=L(a,2),Ce=e=>{var n=On(),i=t(n),a=L(t(i),2);te(a),ee(a,e=>k(S,e),()=>g(S));var o=L(a,2),s=t(o),c=L(s,2);H(o),H(i),H(n),y(()=>{ae(i,`left: ${g(_).x}px; top: ${g(_).y}px`),O(a,g(_).value),c.disabled=g(b)}),U(`click`,n,e=>{e.stopPropagation(),G()}),U(`keydown`,n,e=>{e.key===`Escape`&&(e.stopPropagation(),G())}),U(`click`,i,e=>e.stopPropagation()),r(`submit`,i,e=>{e.preventDefault(),ue()}),U(`input`,a,e=>{g(_)&&k(_,{...g(_),value:e.currentTarget.value},!0)}),U(`click`,s,G),l(e,n)};d(Se,e=>{g(_)&&e(Ce)}),H(i),y(()=>{O(v,Z.state.searchQuery),P!==(P=Z.state.filterMode)&&(E.value=(E.__value=Z.state.filterMode)??``,x(E,Z.state.filterMode)),V(me,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
6
- ${g(o)===`none`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),V(q,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
7
- ${g(o)===`summarize`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),V(he,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
8
- ${g(o)===`custom`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),ye.disabled=!g(T)}),U(`click`,i,()=>Z.closeDialog()),U(`keydown`,i,e=>e.key===`Escape`&&Z.closeDialog()),U(`click`,a,e=>e.stopPropagation()),U(`keydown`,a,e=>e.stopPropagation()),U(`click`,f,()=>Z.closeDialog()),U(`input`,v,e=>Z.setSearchQuery(e.currentTarget.value)),U(`change`,E,e=>pe(e.currentTarget.value)),U(`click`,me,()=>k(o,`none`)),U(`click`,q,()=>k(o,`summarize`)),U(`click`,he,()=>k(o,`custom`)),U(`click`,ve,()=>Z.closeDialog()),U(`click`,ye,K),l(e,i)};d(q,e=>{Z.state.open&&e(he)}),l(e,me),P()}m([`click`,`keydown`,`input`,`change`,`contextmenu`,`pointerdown`,`pointerup`]);var jn=f(`<span class="bg-muted text-muted-foreground ml-auto shrink-0 rounded px-1 text-xs"> </span>`),Mn=f(`<span class="bg-muted rounded px-1 font-mono text-xs break-words whitespace-pre-wrap"> </span>`),Nn=f(`<span class="text-muted-foreground text-xs break-words whitespace-pre-wrap"> </span>`),Pn=f(`<span class="text-foreground text-xs break-words whitespace-pre-wrap"> </span>`),Fn=f(`<div class="mt-1.5 flex flex-col gap-0.5"></div>`),In=f(`<div class="text-muted-foreground mt-1.5 text-xs"> </div>`),Ln=f(`<div class="flex items-center gap-1.5"><span class="truncate text-sm font-medium"> </span> <!></div> <!> <!>`,1),Rn=f(`<a><!></a>`),zn=f(`<div><!></div>`),Bn=f(`<div class="bg-sidebar flex h-full w-70 flex-col overflow-y-auto border-l p-2"><div class="flex flex-col gap-2"></div></div>`);function Vn(e,r){A(r,!0);let i={accent:`border-l-primary`,success:`border-l-green-500`,warning:`border-l-yellow-500`,error:`border-l-red-500`,muted:`border-l-muted-foreground`};var o=Bn(),s=t(o);h(s,21,()=>Ge.cards,e=>e.id,(e,r)=>{let o=e=>{var i=Ln(),o=E(i),s=t(o),c=t(s,!0);H(s);var f=L(s,2),p=e=>{var i=jn(),a=t(i,!0);H(i),y(()=>n(a,g(r).header.tag)),l(e,i)};d(f,e=>{g(r).header.tag&&e(p)}),H(o);var m=L(o,2),_=e=>{var i=Fn();h(i,21,()=>g(r).body,a,(e,r)=>{var i=u(),a=E(i),o=e=>{var i=Mn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)},s=e=>{var i=Nn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)},c=e=>{var i=Pn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)};d(a,e=>{g(r).style===`code`?e(o):g(r).style===`secondary`?e(s,1):e(c,-1)}),l(e,i)}),H(i),l(e,i)};d(m,e=>{g(r).body&&g(r).body.length>0&&e(_)});var v=L(m,2),b=e=>{var i=In(),a=t(i,!0);H(i),y(e=>n(a,e),[()=>g(r).footer.join(` · `)]),l(e,i)};d(v,e=>{g(r).footer&&g(r).footer.length>0&&e(b)}),y(()=>n(c,g(r).header.title)),l(e,i)},s=I(()=>`rounded border p-2 ${g(r).color?i[g(r).color]+` border-l-2`:``}`);var c=u(),f=E(c),p=e=>{var n=Rn();o(t(n)),H(n),y(()=>{ne(n,`href`,g(r).href),V(n,1,`${g(s)??``} text-foreground hover:bg-accent/50 block no-underline transition-colors`)}),l(e,n)},m=e=>{var n=zn();o(t(n)),H(n),y(()=>V(n,1,C(g(s)))),l(e,n)};d(f,e=>{g(r).href?e(p):e(m,-1)}),l(e,c)}),H(s),H(o),l(e,o),P()}function Hn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]];J(e,F({name:`sliders-horizontal`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),P()}var Un=f(`<!> <span class="sr-only">Open session settings</span>`,1),Wn=f(`<!> <span class="sr-only">Close session settings</span>`,1),Gn=f(`<div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Context</span> <span> </span></div>`),Kn=f(`<div class="border-border/60 flex items-start justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Git branch</span> <span class="max-w-[60%] min-w-0 truncate text-right font-medium"> </span></div>`),qn=f(`<span class="inline-flex items-center rounded-full border border-emerald-500/20 bg-emerald-500/10 px-2 py-0.5 font-medium text-emerald-600 dark:text-emerald-400">Streaming</span>`),Jn=f(`<span class="inline-flex items-center rounded-full border border-amber-500/20 bg-amber-500/10 px-2 py-0.5 font-medium text-amber-600 dark:text-amber-400">Compacting…</span>`),Yn=f(`<div class="border-border/60 flex items-start justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Runtime</span> <div class="flex flex-wrap justify-end gap-1.5 text-xs"><!> <!></div></div>`),Xn=f(`<div class="border-border flex items-center justify-between border-b px-4 py-3 sm:hidden"><div class="text-sm font-semibold">Session settings</div> <!></div> <div class="hidden sm:block"><!></div> <div class="overflow-y-auto px-4 py-4 sm:px-0 sm:py-0"><div class="rounded-xl border text-sm"><div class="flex items-center justify-between gap-3 px-3 py-3"><span class="text-muted-foreground">Model</span> <!></div> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Thinking</span> <!></div> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Voice call</span> <!></div> <!> <!> <!> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Connection</span> <div class="flex items-center gap-2 font-medium"><span></span> <span> </span></div></div></div></div>`,1),Zn=f(`<!> <!>`,1);function Qn(e,r){A(r,!0);let a=N(!1),o=I(()=>$.viewed),s=I(()=>Le(g(o))),f=I(()=>Ae(g(o)?.contextUsage?.percent)),p=I(()=>Q.phaseLabel),m=I(()=>Q.phase===`ready`?`bg-emerald-500`:Q.phase===`syncing`?`bg-blue-500`:Q.phase===`backoff`||Q.phase===`connecting`?`bg-amber-500`:`bg-red-500`),h=I(()=>g(f)===`critical`?`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`:g(f)===`warning`?`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`:`border-border bg-muted text-muted-foreground`);var _=u();i(E(_),()=>ue,(e,r)=>{r(e,{get open(){return g(a)},set open(e){k(a,e,!0)},children:(e,r)=>{var f=Zn(),_=E(f);{let e=(e,t)=>{q(e,F(()=>t?.().props,{variant:`ghost`,size:`icon-sm`,class:`text-muted-foreground hover:text-foreground`,title:`Session settings`,children:(e,t)=>{var n=Un();Hn(E(n),{class:`size-4`}),R(2),l(e,n)},$$slots:{default:!0}}))};i(_,()=>ce,(t,n)=>{n(t,{child:e,$$slots:{child:!0}})})}i(L(_,2),()=>ke,(e,r)=>{r(e,{showCloseButton:!1,class:`top-auto right-0 bottom-0 left-0 grid max-h-[85dvh] max-w-none translate-x-0 translate-y-0 gap-0 rounded-t-2xl rounded-b-none p-0 sm:top-1/2 sm:left-1/2 sm:max-h-none sm:max-w-md sm:-translate-x-1/2 sm:-translate-y-1/2 sm:gap-4 sm:rounded-xl sm:p-4`,children:(e,r)=>{var f=Xn(),_=E(f);q(L(t(_),2),{variant:`ghost`,size:`icon-sm`,onclick:()=>k(a,!1),title:`Close session settings`,children:(e,t)=>{var n=Wn();oe(E(n),{class:`size-4`}),R(2),l(e,n)},$$slots:{default:!0}}),H(_);var v=L(_,2);i(t(v),()=>Oe,(e,t)=>{t(e,{children:(e,t)=>{var n=u();i(E(n),()=>ge,(e,t)=>{t(e,{children:(e,t)=>{R(),l(e,c(`Session settings`))},$$slots:{default:!0}})}),l(e,n)},$$slots:{default:!0}})}),H(v);var b=L(v,2),x=t(b),S=t(x);Ie(L(t(S),2),{}),H(S);var C=L(S,2);je(L(t(C),2),{}),H(C);var w=L(C,2),ee=L(t(w),2);{let e=I(()=>g(o)?.sessionId);De(ee,{get sessionId(){return g(e)},variant:`dialog-row`,onAction:()=>k(a,!1)})}H(w);var T=L(w,2),te=e=>{var r=Gn(),i=L(t(r),2),a=t(i,!0);H(i),H(r),y(()=>{V(i,1,`inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium ${g(h)??``}`),n(a,g(s))}),l(e,r)};d(T,e=>{g(s)&&e(te)});var D=L(T,2),O=e=>{var r=Kn(),i=L(t(r),2),a=t(i,!0);H(i),H(r),y(()=>n(a,g(o).gitBranch)),l(e,r)};d(D,e=>{g(o)?.gitBranch&&e(O)});var A=L(D,2),j=e=>{var n=Yn(),r=L(t(n),2),i=t(r),a=e=>{l(e,qn())};d(i,e=>{g(o)?.isStreaming&&e(a)});var s=L(i,2),c=e=>{l(e,Jn())};d(s,e=>{g(o)?.isCompacting&&e(c)}),H(r),H(n),l(e,n)};d(A,e=>{(g(o)?.isStreaming||g(o)?.isCompacting)&&e(j)});var M=L(A,2),N=L(t(M),2),ne=t(N),P=L(ne,2),re=t(P,!0);H(P),H(N),H(M),H(x),H(b),y(()=>{V(ne,1,`inline-flex size-2 rounded-full ${g(m)??``}`),n(re,g(p))}),l(e,f)},$$slots:{default:!0}})}),l(e,f)},$$slots:{default:!0}})}),l(e,_),P()}function $n(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]];J(e,F({name:`menu`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),P()}function er(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]];J(e,F({name:`panel-right`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(E(r),()=>t.children??w),l(e,r)},$$slots:{default:!0}})),P()}function tr({innerHeight:e,visualViewport:t}){let n=t?.height;return`${Math.round(typeof n==`number`&&Number.isFinite(n)&&n>0?n:e)}px`}var nr=f(`<div class="fixed inset-0 z-30 bg-black/50 md:hidden"></div>`),rr=f(`<button type="button" class="text-foreground hover:text-foreground block w-full truncate text-left text-sm font-semibold select-none"> </button>`),ir=f(`<div class="text-foreground truncate text-sm font-semibold"> </div>`),ar=f(`<span title="Context window usage"> </span>`),or=f(`<button class="text-muted-foreground hover:text-foreground border-border bg-background relative inline-flex size-8 shrink-0 items-center justify-center rounded-lg border" title="Open panel"><!> <span class="bg-primary text-primary-foreground absolute -top-1 -right-1 min-w-4 rounded-full px-1 text-center text-[10px] leading-4 font-medium"> </span></button>`),sr=f(`<div class="hidden md:flex"><!></div>`),cr=f(`<div class="fixed inset-0 z-30 bg-black/50 md:hidden"></div> <div class="fixed inset-y-0 right-0 z-40 md:hidden"><!></div>`,1),lr=f(`<div class="bg-background flex overflow-hidden"><!> <aside><div class="border-sidebar-border flex h-12 shrink-0 items-center justify-between border-b px-4"><div class="flex items-center gap-2"><img src="/pwa/icon-192.png" alt="" class="size-5"/> <span class="text-sidebar-foreground text-sm font-semibold">Pimote</span></div> <div class="flex items-center gap-2"><span></span> <button class="text-muted-foreground hover:text-sidebar-foreground rounded-md p-1 md:hidden"><!></button></div></div> <!></aside> <div class="flex flex-1 flex-col overflow-hidden"><header class="border-border flex h-12 shrink-0 items-center gap-2 border-b px-3 md:hidden"><button class="text-muted-foreground hover:text-foreground rounded-md p-1" title="Open sidebar"><!></button> <div class="min-w-0 flex-1"><!></div> <!> <!> <!></header> <main class="flex flex-1 flex-col overflow-hidden"><!></main> <!></div> <!> <!> <!> <!> <!></div>`);function ur(e,r){A(r,!0);let i=N(!1),a=N(!1),o=N(`100dvh`);function s(){navigator.serviceWorker?.controller?.postMessage({type:`focus_state`,hasFocus:document.hasFocus()})}re(()=>{Q.connect();let e=null,t=()=>{k(o,tr(window),!0)},n=()=>{t(),requestAnimationFrame(t),e&&clearTimeout(e),e=setTimeout(t,100)};n();let r=window.visualViewport;r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n),window.addEventListener(`orientationchange`,n),window.addEventListener(`pageshow`,n),window.addEventListener(`focus`,n),window.addEventListener(`focusin`,n),window.addEventListener(`focusout`,n);let i=new URLSearchParams(window.location.search),a=i.get(`sessionId`),c=i.get(`folderPath`);return a&&c&&(window.history.replaceState({},``,window.location.pathname),Q.pendingAdopt={sessionId:a,folderPath:c}),i.get(`share`)===`pending`&&(window.history.replaceState({},``,window.location.pathname),caches.open(`pimote-share-target`).then(async e=>{let t=await e.match(`/_share/pending`);if(t){let n=await t.json();await e.delete(`/_share/pending`),n.length>0&&Ee(n)}})),`serviceWorker`in navigator&&(navigator.serviceWorker.register(`/sw.js`).then(e=>console.log(`[pimote] Service worker registered:`,e)).catch(e=>console.warn(`[pimote] Service worker registration failed:`,e)),window.addEventListener(`focus`,s),window.addEventListener(`blur`,s),document.addEventListener(`visibilitychange`,s),navigator.serviceWorker.ready.then(()=>s()),navigator.serviceWorker.addEventListener(`message`,async e=>{if(e.data?.type===`push_notification`){let t=e.data.sessionId;if(t){let e=$.sessions[t];e&&(e.needsAttention=!0)}}else if(e.data?.type===`share_images`){let t=e.data.images;t?.length>0&&Ee(t)}else if(e.data?.type===`notification_click`){let t=e.data.sessionId,n=e.data.folderPath;if(t){let{switchToSession:e,sessionRegistry:r,openExistingSession:i}=await W(async()=>{let{switchToSession:e,sessionRegistry:t,openExistingSession:n}=await import(`../chunks/Ceqsvacl.js`);return{switchToSession:e,sessionRegistry:t,openExistingSession:n}},__vite__mapDeps([6,7,8,1,2]),import.meta.url);r.sessions[t]?e(t):n&&i(t,n,{force:!0,switchTo:!0})}}})),()=>{Q.disconnect(),r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n),window.removeEventListener(`orientationchange`,n),window.removeEventListener(`pageshow`,n),window.removeEventListener(`focus`,n),window.removeEventListener(`focusin`,n),window.removeEventListener(`focusout`,n),e&&clearTimeout(e),window.removeEventListener(`focus`,s),window.removeEventListener(`blur`,s),document.removeEventListener(`visibilitychange`,s)}});function c(){k(i,!1)}let u=I(()=>{let e=$.viewed?.extensionTitle??null;return e?`Pimote — ${e}`:`Pimote`}),f=I(()=>Pe($.viewed)??`Pimote`),p=I(()=>Le($.viewed,{compact:!0})),m=I(()=>Ae($.viewed?.contextUsage?.percent)),h=I(()=>g(m)===`critical`?`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`:g(m)===`warning`?`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`:`border-border bg-muted text-muted-foreground`);v(()=>{document.title=g(u)}),v(()=>{!Ge.hasCards&&g(a)&&k(a,!1)});var _=lr(),b=t(_),x=e=>{var t=nr();U(`click`,t,c),U(`keydown`,t,e=>e.key===`Escape`&&c()),l(e,t)};d(b,e=>{g(i)&&e(x)});var S=L(b,2),C=t(S),w=L(t(C),2),ee=t(w),T=L(ee,2);oe(t(T),{class:`size-4`}),H(T),H(w),H(C),Kt(L(C,2),{class:`min-h-0 flex-1`,children:(e,t)=>{Ve(e,{onSessionSelect:c})},$$slots:{default:!0}}),H(S);var te=L(S,2),D=t(te),O=t(D);$n(t(O),{class:`size-5`}),H(O);var j=L(O,2),M=t(j),F=e=>{ve(e,{get sessionId(){return $.viewed.sessionId},get folderPath(){return $.viewed.folderPath},get sessionName(){return $.viewed.sessionName},get displayName(){return g(f)},children:(e,r)=>{let i=()=>r?.().openRenameDialog;var a=rr(),o=t(a,!0);H(a),y(()=>{ne(a,`title`,`Rename session: ${g(f)}`),n(o,g(f))}),U(`click`,a,function(...e){i()?.apply(this,e)}),l(e,a)},$$slots:{default:!0}})},ie=e=>{var r=ir(),i=t(r,!0);H(r),y(()=>n(i,g(f))),l(e,r)};d(M,e=>{$.viewedSessionId&&$.viewed?e(F):e(ie,-1)}),H(j);var R=L(j,2),B=e=>{var r=ar(),i=t(r,!0);H(r),y(()=>{V(r,1,`inline-flex shrink-0 items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${g(h)??``}`),n(i,g(p))}),l(e,r)};d(R,e=>{$.viewedSessionId&&g(p)&&e(B)});var G=L(R,2),se=e=>{var r=or(),i=t(r);er(i,{class:`size-4`});var o=L(i,2),s=t(o,!0);H(o),H(r),y(()=>n(s,Ge.cards.length)),U(`click`,r,()=>k(a,!0)),l(e,r)};d(G,e=>{Ge.hasCards&&e(se)});var ce=L(G,2),le=e=>{Qn(e,{})};d(ce,e=>{$.viewedSessionId&&e(le)}),H(D);var ue=L(D,2);z(t(ue),()=>r.children),H(ue),un(L(ue,2),{}),H(te);var de=L(te,2),fe=e=>{var n=sr();Vn(t(n),{}),H(n),l(e,n)};d(de,e=>{Ge.hasCards&&e(fe)});var pe=L(de,2),K=e=>{var n=cr(),r=E(n),i=L(r,2);Vn(t(i),{}),H(i),U(`click`,r,()=>k(a,!1)),U(`keydown`,r,e=>e.key===`Escape`&&k(a,!1)),l(e,n)};d(pe,e=>{Ge.hasCards&&g(a)&&e(K)});var me=L(pe,2);en(me,{});var q=L(me,2);An(q,{}),gn(L(q,2),{}),H(_),y(()=>{ae(_,`height: ${g(o)};`),V(S,1,`border-sidebar-border bg-sidebar fixed inset-y-0 left-0 z-40 flex w-72 flex-col border-r transition-transform duration-200
9
- ${g(i)?`translate-x-0`:`-translate-x-full`}
10
- md:relative md:z-0 md:translate-x-0`),V(ee,1,`size-2 rounded-full ${Q.phase===`ready`?`bg-status-connected`:Q.phase===`idle`?`bg-status-error`:`bg-status-reconnecting`}`),ne(ee,`title`,Q.phase===`ready`?`Connected`:Q.phase===`idle`?`Disconnected`:`Reconnecting`)}),U(`click`,T,c),U(`click`,O,()=>k(i,!0)),l(e,_),P()}m([`click`,`keydown`]);export{ur as component,Ke as universal};