agent-canvas 0.1.45 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -82,6 +82,20 @@ Agent Canvas supports light and dark themes, automatically matching your system
82
82
 
83
83
  ## Development
84
84
 
85
+ ### Reusable packages
86
+
87
+ | Package | Use without the Agent Canvas shell |
88
+ | --- | --- |
89
+ | [`@fabrika/daemon-kit`](https://github.com/contember/fabrika-platform/tree/main/packages/daemon-kit) | Bun daemon lifecycle, HTTP routing, WebSocket channels and CLI waiters |
90
+ | [`@fabrika/annotations`](https://github.com/contember/fabrika-platform/tree/main/packages/annotations) | Annotation state, editors and text/block/region locators |
91
+ | [`@fabrika/canvas-kernel`](https://github.com/contember/fabrika-platform/tree/main/packages/canvas-kernel) | JSX compiler, revisions, renderer and interactive canvas components |
92
+
93
+ The kernel depends on the other two; neither depends on the kernel. All ship as
94
+ TypeScript sources from the [`fabrika-platform`](https://github.com/contember/fabrika-platform)
95
+ repository. See the kernel README for the breaking 0.2 import migration.
96
+
97
+ ### Local commands
98
+
85
99
  ```bash
86
100
  bun install
87
101
  bun run build # build client assets
@@ -4,7 +4,7 @@ import {
4
4
  createDaemonLifecycle,
5
5
  DaemonStartError,
6
6
  type DaemonEvent,
7
- } from "@fabrika/canvas-kernel/server";
7
+ } from "@fabrika/daemon-kit";
8
8
  import { PACKAGE_ROOT, TEMP_DIR, BASE_URL, PID_FILE, CLI_AUTH_FILE, VERSION } from "./config.ts";
9
9
 
10
10
  interface CanvasHealth {
@@ -1,6 +1,6 @@
1
1
  import { spawn } from "child_process";
2
2
  import { randomUUID } from "crypto";
3
- import { waitForEvent, type WaiterSocket, type WaitVerdict } from "@fabrika/canvas-kernel/server";
3
+ import { waitForEvent, type WaiterSocket, type WaitVerdict } from "@fabrika/daemon-kit";
4
4
  import { BASE_URL, WS_URL, TIMEOUT_MS } from "./config.ts";
5
5
 
6
6
  export function getSessionId(session?: string): string {
package/daemon/build.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  import { mkdirSync, cpSync, writeFileSync, readFileSync, existsSync, watch as fsWatch } from "fs";
2
2
  import { join, dirname } from "path";
3
+ import { fileURLToPath } from "url";
3
4
  import { $ } from "bun";
4
5
 
5
6
  const ROOT = dirname(import.meta.path);
6
7
  const DIST = join(ROOT, "dist");
7
8
  /** The kernel ships the runtime, the component library and the base stylesheet. */
8
- const KERNEL_CLIENT = join(ROOT, "..", "packages", "canvas-kernel", "src", "client");
9
+ const KERNEL_CLIENT = dirname(fileURLToPath(import.meta.resolve("@fabrika/canvas-kernel/runtime")));
10
+ const ANNOTATIONS_RUNTIME = fileURLToPath(import.meta.resolve("@fabrika/annotations/runtime"));
9
11
 
10
12
  async function build() {
11
13
  console.log("Building canvas client...");
@@ -13,6 +15,20 @@ async function build() {
13
15
  mkdirSync(DIST, { recursive: true });
14
16
 
15
17
  const REACT_EXTERNALS = ["react", "react-dom", "react-dom/client", "react/jsx-runtime", "react/jsx-dev-runtime"];
18
+ const ANNOTATION_EXTERNALS = [...REACT_EXTERNALS, "@fabrika/annotations/runtime"];
19
+
20
+ const annotationResult = await Bun.build({
21
+ entrypoints: [ANNOTATIONS_RUNTIME],
22
+ outdir: DIST,
23
+ format: "esm",
24
+ external: REACT_EXTERNALS,
25
+ naming: "annotations-runtime.js",
26
+ minify: true,
27
+ });
28
+ if (!annotationResult.success) {
29
+ console.error("Annotation runtime build failed:", annotationResult.logs);
30
+ process.exit(1);
31
+ }
16
32
 
17
33
  // 0. Build preact-compat bundle
18
34
  console.log(" Building preact-compat...");
@@ -40,7 +56,7 @@ async function build() {
40
56
  entrypoints: [join(KERNEL_CLIENT, "runtime.ts")],
41
57
  outdir: DIST,
42
58
  format: "esm",
43
- external: [...REACT_EXTERNALS],
59
+ external: ANNOTATION_EXTERNALS,
44
60
  naming: "runtime.js",
45
61
  minify: true,
46
62
  });
@@ -56,7 +72,7 @@ async function build() {
56
72
  entrypoints: [join(ROOT, "client/components/index.ts")],
57
73
  outdir: DIST,
58
74
  format: "esm",
59
- external: [...REACT_EXTERNALS, "#canvas/runtime"],
75
+ external: [...ANNOTATION_EXTERNALS, "#canvas/runtime"],
60
76
  naming: "components.js",
61
77
  minify: true,
62
78
  });
@@ -72,7 +88,7 @@ async function build() {
72
88
  entrypoints: [join(ROOT, "client/App.tsx")],
73
89
  outdir: DIST,
74
90
  format: "esm",
75
- external: [...REACT_EXTERNALS, "#canvas/components", "#canvas/runtime"],
91
+ external: [...ANNOTATION_EXTERNALS, "#canvas/components", "#canvas/runtime"],
76
92
  naming: "client.js",
77
93
  minify: true,
78
94
  });
@@ -120,6 +136,7 @@ ${themeCss}
120
136
  "react/jsx-runtime": "/assets/jsx-runtime.js",
121
137
  "react/jsx-dev-runtime": "/assets/jsx-runtime.js",
122
138
  "#canvas/components": "/assets/components.js",
139
+ "@fabrika/annotations/runtime": "/assets/annotations-runtime.js",
123
140
  "#canvas/runtime": "/assets/runtime.js"
124
141
  }
125
142
  }
@@ -144,6 +161,7 @@ ${themeCss}
144
161
  "preact-compat.js",
145
162
  "jsx-runtime.js",
146
163
  "runtime.js",
164
+ "annotations-runtime.js",
147
165
  "components.js",
148
166
  "client.js",
149
167
  "client.css",
@@ -159,7 +177,7 @@ build().then(() => {
159
177
  if (process.argv.includes("--watch")) {
160
178
  let timeout: ReturnType<typeof setTimeout> | null = null;
161
179
  console.log("Watching for changes in client/ and the kernel client...");
162
- for (const dir of [join(ROOT, "client"), KERNEL_CLIENT]) {
180
+ for (const dir of [join(ROOT, "client"), KERNEL_CLIENT, dirname(ANNOTATIONS_RUNTIME)]) {
163
181
  fsWatch(dir, { recursive: true }, (_event: string, filename: string | null) => {
164
182
  if (!filename || filename.endsWith("~")) return;
165
183
  if (timeout) clearTimeout(timeout);
@@ -4,8 +4,6 @@ import { marked } from "marked";
4
4
  import { SessionContext, ActiveViewCtx } from "#canvas/runtime";
5
5
  import {
6
6
  ActiveViewContext,
7
- AnnotationCreatePopover,
8
- AnnotationEditPopover,
9
7
  AnnotationProvider,
10
8
  AnnotationSidebar,
11
9
  CanvasHostContext,
@@ -13,23 +11,20 @@ import {
13
11
  PlanRenderer,
14
12
  RenderErrorContext,
15
13
  RevisionContext,
16
- RESPONSE_ANNOTATION_PATH,
17
14
  carryUnsubmittedDraft,
18
15
  clearPersistedDraft,
19
- extractContext,
20
- generateAnnotationId,
21
- renameMarkId,
22
- restoreMarks,
23
- unwrapMarks,
24
- updateAllMarkStates,
25
16
  useAnnotations,
26
- wrapRangeWithMark,
27
17
  type ActiveView,
28
18
  type AnnotationDraftPhase,
29
19
  type CanvasFileInfo,
30
20
  type CanvasRenderError,
31
21
  type RevisionInfo,
32
22
  } from "@fabrika/canvas-kernel/client";
23
+ import {
24
+ AnnotationCreatePopover, AnnotationEditPopover, RESPONSE_ANNOTATION_PATH,
25
+ extractContext, generateAnnotationId, renameMarkId, restoreMarks,
26
+ unwrapMarks, updateAllMarkStates, wrapRangeWithMark,
27
+ } from "@fabrika/annotations";
33
28
  import { FileBrowser } from "./FileBrowser";
34
29
  import { FileViewer } from "./FileViewer";
35
30
  import { SessionSwitcher } from "./SessionSwitcher";
@@ -4,8 +4,8 @@ import { RevisionContext, type RevisionInfo, type CanvasFileInfo } from "@fabrik
4
4
  import { runDomDiff } from "./domDiff";
5
5
  import { extractBlockTree, matchBlocks, buildUnifiedDom } from "./unifiedDiff";
6
6
  import { useAnnotations } from "@fabrika/canvas-kernel/client";
7
- import { useTextAnnotation } from "@fabrika/canvas-kernel/client";
8
- import { extractContext } from "@fabrika/canvas-kernel/client";
7
+ import { useTextAnnotation } from "@fabrika/annotations";
8
+ import { extractContext } from "@fabrika/annotations";
9
9
 
10
10
  interface CompareViewProps {
11
11
  initialLeft: number;
@@ -3,7 +3,7 @@ import { SessionContext } from "#canvas/runtime";
3
3
  import { useAnnotations } from "@fabrika/canvas-kernel/client";
4
4
  import { ActiveViewContext } from "@fabrika/canvas-kernel/client";
5
5
  import { FileIcon } from "@fabrika/canvas-kernel/client";
6
- import { RESPONSE_ANNOTATION_PATH } from "@fabrika/canvas-kernel/client";
6
+ import { RESPONSE_ANNOTATION_PATH } from "@fabrika/annotations";
7
7
  import { FS_AVAILABLE } from "./clientApi";
8
8
 
9
9
  interface TreeEntry { name: string; type: "file" | "dir"; }
@@ -2,10 +2,10 @@ import React, { useEffect, useState, useContext, useCallback, useRef, useMemo }
2
2
  import { SessionContext } from "#canvas/runtime";
3
3
  import type { AnnotationContext } from "#canvas/runtime";
4
4
  import { useAnnotations } from "@fabrika/canvas-kernel/client";
5
- import { wrapRangeWithMark } from "@fabrika/canvas-kernel/client";
5
+ import { wrapRangeWithMark } from "@fabrika/annotations";
6
6
  import { LANG_MAP } from "../langMap";
7
- import { generateAnnotationId } from "@fabrika/canvas-kernel/client";
8
- import { useTextAnnotation } from "@fabrika/canvas-kernel/client";
7
+ import { generateAnnotationId } from "@fabrika/annotations";
8
+ import { useTextAnnotation } from "@fabrika/annotations";
9
9
  import { FS_AVAILABLE } from "./clientApi";
10
10
 
11
11
  /** Walk up from a node to find the parent line div with data-line-num */
@@ -0,0 +1 @@
1
+ export * from "@fabrika/canvas-kernel/runtime";
@@ -0,0 +1 @@
1
+ import{createContext as t,useContext as o}from"react";var i=t(null),r=t(""),e=t({sessionId:"",isShared:!1,fsAvailable:!1,uploadUrl:null});function s(){let n=o(i);if(!n)throw Error("useAnnotations requires an AnnotationProvider");return n}function l(){return o(e)}export{i as AnnotationCtx,e as AnnotationHostContext,r as SessionContext,l as useAnnotationHost,s as useAnnotations};
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
- @import "https://fonts.googleapis.com/css2?family=Instrument+Serif&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";@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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--color-green-500:oklch(72.3% .219 149.579);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--tracking-widest:.1em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-base:#1a1915;--color-bg-surface:#1f1e18;--color-bg-elevated:#25241d;--color-bg-code:#1c1b16;--color-bg-input:#fff8dc08;--color-bg-elevated-half:#25241d80;--color-text-primary:#e8e4df;--color-text-secondary:#a09a92;--color-text-tertiary:#847d75;--color-text-code:#c4beb7;--color-text-disabled:#3a3530;--color-text-inverse:#1a1a1a;--color-border-subtle:#fff8f00f;--color-border-medium:#fff8f014;--color-border-hover:#fff8f01f;--color-border-strong:#fff8f026;--color-accent-green:#4a9e6d;--color-accent-green-muted:#4a9e6d1f;--color-accent-amber:#c49a3a;--color-accent-amber-muted:#c49a3a1f;--color-accent-red:#c45a5a;--color-accent-red-muted:#c45a5a1f;--color-accent-blue:#5a8ec4;--color-accent-blue-muted:#5a8ec41a;--color-highlight-bg:#ffdc6426;--color-highlight-border:#ffdc6459;--color-highlight-annotation:#ffdc642e;--color-highlight-active:#ffdc6459;--color-highlight-selected:#ffdc641a;--color-badge-bg:#c49a3a33;--color-btn-primary:#e8e4df;--color-btn-primary-text:#1a1a1a;--font-heading:"Instrument Serif", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-section:1.75rem;--text-section--line-height:1.25;--text-section--letter-spacing:-.01em;--text-task-label:.9375rem;--text-task-label--line-height:1.4;--text-body:.875rem;--text-body--line-height:1.65;--text-code:.8125rem;--text-code--line-height:1.6;--text-meta:.75rem;--text-meta--line-height:1.4;--text-meta--letter-spacing:.02em;--text-tiny:.6875rem;--text-tiny--line-height:1.4}}@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;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}body{background-color:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.right-12{right:calc(var(--spacing) * 12)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-8{left:calc(var(--spacing) * -8)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.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-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[7px\]{margin-top:7px}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.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-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.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}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-24{height:calc(var(--spacing) * 24)}.h-64{height:calc(var(--spacing) * 64)}.h-\[2px\]{height:2px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[20px\]{min-height:20px}.min-h-\[40px\]{min-height:40px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[85vw\]{max-width:85vw}.max-w-\[600px\]{max-width:600px}.max-w-\[720px\]{max-width:720px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[16px\]{min-width:16px}.min-w-\[18px\]{min-width:18px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-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-full{--tw-translate-x:100%;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)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{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-2\.5{gap:calc(var(--spacing) * 2.5)}.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-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-accent-amber{border-color:var(--color-accent-amber)}.border-accent-amber\/20{border-color:#c49a3a33}@supports (color:color-mix(in lab, red, red)){.border-accent-amber\/20{border-color:color-mix(in oklab, var(--color-accent-amber) 20%, transparent)}}.border-accent-blue\/20{border-color:#5a8ec433}@supports (color:color-mix(in lab, red, red)){.border-accent-blue\/20{border-color:color-mix(in oklab, var(--color-accent-blue) 20%, transparent)}}.border-accent-green\/20{border-color:#4a9e6d33}@supports (color:color-mix(in lab, red, red)){.border-accent-green\/20{border-color:color-mix(in oklab, var(--color-accent-green) 20%, transparent)}}.border-accent-red\/20{border-color:#c45a5a33}@supports (color:color-mix(in lab, red, red)){.border-accent-red\/20{border-color:color-mix(in oklab, var(--color-accent-red) 20%, transparent)}}.border-border-hover{border-color:var(--color-border-hover)}.border-border-medium{border-color:var(--color-border-medium)}.border-border-strong{border-color:var(--color-border-strong)}.border-border-subtle{border-color:var(--color-border-subtle)}.border-highlight-border{border-color:var(--color-highlight-border)}.\!bg-transparent{background-color:#0000!important}.bg-accent-amber{background-color:var(--color-accent-amber)}.bg-accent-amber-muted{background-color:var(--color-accent-amber-muted)}.bg-accent-amber\/10{background-color:#c49a3a1a}@supports (color:color-mix(in lab, red, red)){.bg-accent-amber\/10{background-color:color-mix(in oklab, var(--color-accent-amber) 10%, transparent)}}.bg-accent-blue{background-color:var(--color-accent-blue)}.bg-accent-blue-muted{background-color:var(--color-accent-blue-muted)}.bg-accent-blue\/5{background-color:#5a8ec40d}@supports (color:color-mix(in lab, red, red)){.bg-accent-blue\/5{background-color:color-mix(in oklab, var(--color-accent-blue) 5%, transparent)}}.bg-accent-blue\/10{background-color:#5a8ec41a}@supports (color:color-mix(in lab, red, red)){.bg-accent-blue\/10{background-color:color-mix(in oklab, var(--color-accent-blue) 10%, transparent)}}.bg-accent-green{background-color:var(--color-accent-green)}.bg-accent-green-muted{background-color:var(--color-accent-green-muted)}.bg-accent-green\/10{background-color:#4a9e6d1a}@supports (color:color-mix(in lab, red, red)){.bg-accent-green\/10{background-color:color-mix(in oklab, var(--color-accent-green) 10%, transparent)}}.bg-accent-red{background-color:var(--color-accent-red)}.bg-accent-red-muted{background-color:var(--color-accent-red-muted)}.bg-accent-red\/10{background-color:#c45a5a1a}@supports (color:color-mix(in lab, red, red)){.bg-accent-red\/10{background-color:color-mix(in oklab, var(--color-accent-red) 10%, transparent)}}.bg-badge-bg{background-color:var(--color-badge-bg)}.bg-bg-base{background-color:var(--color-bg-base)}.bg-bg-code{background-color:var(--color-bg-code)}.bg-bg-elevated{background-color:var(--color-bg-elevated)}.bg-bg-input{background-color:var(--color-bg-input)}.bg-bg-surface{background-color:var(--color-bg-surface)}.bg-bg-surface\/30{background-color:#1f1e184d}@supports (color:color-mix(in lab, red, red)){.bg-bg-surface\/30{background-color:color-mix(in oklab, var(--color-bg-surface) 30%, transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, 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-border-hover{background-color:var(--color-border-hover)}.bg-border-medium{background-color:var(--color-border-medium)}.bg-border-subtle{background-color:var(--color-border-subtle)}.bg-btn-primary{background-color:var(--color-btn-primary)}.bg-highlight-bg{background-color:var(--color-highlight-bg)}.bg-highlight-selected{background-color:var(--color-highlight-selected)}.bg-text-inverse{background-color:var(--color-text-inverse)}.bg-text-primary{background-color:var(--color-text-primary)}.bg-transparent{background-color:#0000}.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-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:calc(var(--spacing) * 0)}.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)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-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-8{padding-block:calc(var(--spacing) * 8)}.py-\[3px\]{padding-block:3px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-body{font-family:var(--font-body)}.font-heading{font-family:var(--font-heading)}.font-mono{font-family:var(--font-mono)}.text-meta{font-size:var(--text-meta);line-height:var(--tw-leading,var(--text-meta--line-height));letter-spacing:var(--tw-tracking,var(--text-meta--letter-spacing))}.text-section{font-size:var(--text-section);line-height:var(--tw-leading,var(--text-section--line-height));letter-spacing:var(--tw-tracking,var(--text-section--letter-spacing))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-code{font-size:var(--text-code);line-height:var(--tw-leading,var(--text-code--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-task-label{font-size:var(--text-task-label);line-height:var(--tw-leading,var(--text-task-label--line-height))}.text-tiny{font-size:var(--text-tiny);line-height:var(--tw-leading,var(--text-tiny--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-amber{color:var(--color-accent-amber)}.text-accent-blue{color:var(--color-accent-blue)}.text-accent-green{color:var(--color-accent-green)}.text-accent-red{color:var(--color-accent-red)}.text-btn-primary-text{color:var(--color-btn-primary-text)}.text-green-500{color:var(--color-green-500)}.text-text-code{color:var(--color-text-code)}.text-text-disabled{color:var(--color-text-disabled)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-text-tertiary{color:var(--color-text-tertiary)}.text-white{color:var(--color-white)}.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,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-border-hover{-webkit-text-decoration-color:var(--color-border-hover);-webkit-text-decoration-color:var(--color-border-hover);text-decoration-color:var(--color-border-hover)}.accent-accent-amber{accent-color:var(--color-accent-amber)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 8px 24px var(--tw-shadow-color,var(--color-shadow));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 12px var(--tw-shadow-color,var(--color-shadow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;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 2px var(--tw-shadow-color,var(--color-shadow));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-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{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-\[margin\]{transition-property:margin;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}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}@media (hover:hover){.group-hover\/ann\:opacity-100:is(:where(.group\/ann):hover *){opacity:1}.group-hover\/code\:opacity-60:is(:where(.group\/code):hover *),.group-hover\/diff\:opacity-60:is(:where(.group\/diff):hover *){opacity:.6}.group-hover\/item\:opacity-100:is(:where(.group\/item):hover *){opacity:1}.group-hover\/section\:opacity-20:is(:where(.group\/section):hover *){opacity:.2}.group-hover\/section\:opacity-50:is(:where(.group\/section):hover *){opacity:.5}.group-hover\/task\:opacity-100:is(:where(.group\/task):hover *){opacity:1}}.group-\[\[data-copied\=true\]\]\:block:is(:where(.group)[data-copied=true] *){display:block}.group-\[\[data-copied\=true\]\]\:hidden:is(:where(.group)[data-copied=true] *){display:none}.placeholder\:text-text-disabled::placeholder{color:var(--color-text-disabled)}.placeholder\:text-text-tertiary::placeholder{color:var(--color-text-tertiary)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.odd\:bg-bg-elevated-half:nth-child(odd){background-color:var(--color-bg-elevated-half)}@media (hover:hover){.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-border-hover:hover{border-color:var(--color-border-hover)}.hover\:bg-accent-blue-muted:hover{background-color:var(--color-accent-blue-muted)}.hover\:bg-accent-blue\/30:hover{background-color:#5a8ec44d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent-blue\/30:hover{background-color:color-mix(in oklab, var(--color-accent-blue) 30%, transparent)}}.hover\:bg-accent-red-muted:hover{background-color:var(--color-accent-red-muted)}.hover\:bg-bg-elevated:hover{background-color:var(--color-bg-elevated)}.hover\:bg-bg-elevated-half:hover{background-color:var(--color-bg-elevated-half)}.hover\:bg-bg-input:hover{background-color:var(--color-bg-input)}.hover\:bg-bg-surface:hover{background-color:var(--color-bg-surface)}.hover\:bg-bg-surface\/50:hover{background-color:#1f1e1880}@supports (color:color-mix(in lab, red, red)){.hover\:bg-bg-surface\/50:hover{background-color:color-mix(in oklab, var(--color-bg-surface) 50%, transparent)}}.hover\:bg-border-medium:hover{background-color:var(--color-border-medium)}.hover\:bg-border-subtle:hover{background-color:var(--color-border-subtle)}.hover\:text-accent-blue:hover{color:var(--color-accent-blue)}.hover\:text-accent-blue\/80:hover{color:#5a8ec4cc}@supports (color:color-mix(in lab, red, red)){.hover\:text-accent-blue\/80:hover{color:color-mix(in oklab, var(--color-accent-blue) 80%, transparent)}}.hover\:text-accent-red:hover{color:var(--color-accent-red)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\:text-text-tertiary:hover{color:var(--color-text-tertiary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:\!opacity-80:hover{opacity:.8!important}.hover\:\!opacity-100:hover{opacity:1!important}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-none:focus{--tw-border-style:none;border-style:none}.focus\:border-accent-blue:focus{border-color:var(--color-accent-blue)}.focus\:border-border-hover:focus{border-color:var(--color-border-hover)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:64rem){.lg\:mr-0{margin-right:calc(var(--spacing) * 0)}.lg\:mr-\[var\(--sidebar-width\,320px\)\]{margin-right:var(--sidebar-width,320px)}.lg\:ml-0{margin-left:calc(var(--spacing) * 0)}.lg\:ml-60{margin-left:calc(var(--spacing) * 60)}.lg\:flex{display:flex}.lg\:hidden{display:none}}}:root{--color-shadow:#00000040;--color-scrollbar:#fff8f00f;--color-scrollbar-hover:#fff8f01f;--color-folder-fill:#c49a3a26;--color-folder-fill-active:#c49a3a40;--color-folder-stroke:#c49a3a80;--color-folder-stroke-active:#c49a3a;--color-hljs-base:#c4beb7;--color-hljs-keyword:#d2a6ff;--color-hljs-string:#a8cc8c;--color-hljs-comment:#847d75;--color-hljs-number:#e8a87c;--color-hljs-variable:#7ec8e3;--color-hljs-function:#dbc074;--color-hljs-punctuation:#a09a92}[data-theme=light]{--color-bg-base:#faf5e6;--color-bg-surface:#f3edd8;--color-bg-elevated:#ebe4ce;--color-bg-code:#f0ebd5;--color-bg-input:#503c0a0d;--color-bg-elevated-half:#ebe4ce80;--color-text-primary:#2a2520;--color-text-secondary:#5a5550;--color-text-tertiary:#9a9390;--color-text-code:#4a4540;--color-text-disabled:#c5c0b8;--color-text-inverse:#faf6ef;--color-border-subtle:#503c1e14;--color-border-medium:#503c1e1a;--color-border-hover:#503c1e26;--color-border-strong:#503c1e33;--color-accent-green:#3a8a5a;--color-accent-green-muted:#3a8a5a1a;--color-accent-amber:#a07820;--color-accent-amber-muted:#a078201a;--color-accent-red:#b84a4a;--color-accent-red-muted:#b84a4a14;--color-accent-blue:#4a7eb4;--color-accent-blue-muted:#4a7eb414;--color-highlight-bg:#c8a01e26;--color-highlight-border:#c8a01e66;--color-highlight-annotation:#c8a01e2e;--color-highlight-active:#c8a01e59;--color-highlight-selected:#c8a01e1a;--color-badge-bg:#a0782026;--color-btn-primary:#2a2520;--color-btn-primary-text:#faf6ef;--color-shadow:#503c1e1a;--color-scrollbar:#503c1e14;--color-scrollbar-hover:#503c1e26;--color-folder-fill:#a078201f;--color-folder-fill-active:#a0782038;--color-folder-stroke:#a0782066;--color-folder-stroke-active:#a07820;--color-hljs-base:#4a4540;--color-hljs-keyword:#7c3aed;--color-hljs-string:#2e7d32;--color-hljs-comment:#9a9390;--color-hljs-number:#c45a20;--color-hljs-variable:#1976d2;--color-hljs-function:#8a6d00;--color-hljs-punctuation:#6b6560}code,pre,.font-mono{font-family:JetBrains Mono,Fira Code,Consolas,monospace}mark[data-annotation-id]{background:var(--color-highlight-annotation);border-bottom:1.5px solid var(--color-highlight-bg);cursor:pointer;color:inherit;border-radius:2px;padding:1px 0;transition:background .15s,box-shadow .15s}mark[data-annotation-id].mark-active{background:var(--color-highlight-active);border-bottom:2px solid var(--color-highlight-border);box-shadow:0 0 0 1px var(--color-highlight-border)}@keyframes ann-flash{0%,to{background:var(--color-highlight-annotation)}25%,75%{background:var(--color-highlight-active)}}.ann-flash{animation:.6s 2 ann-flash}[data-annotation-image]{cursor:crosshair;touch-action:none;position:relative}.ann-region{background:var(--color-highlight-annotation);border:2px solid var(--color-highlight-bg);cursor:pointer;border-radius:2px;transition:background .15s,box-shadow .15s;position:absolute}.ann-region[data-annotation-region=ellipse]{border-radius:50%}.ann-region.mark-active{background:var(--color-highlight-active);border-color:var(--color-highlight-border);box-shadow:0 0 0 1px var(--color-highlight-border)}.ann-region-draft{pointer-events:none;border-style:dashed;border-color:var(--color-highlight-border)}.annotation-highlight{background:var(--color-highlight-bg);border-bottom:2px solid var(--color-highlight-border);cursor:pointer;border-radius:2px;transition:background .15s}.annotation-highlight:hover,.annotation-highlight.active{background:var(--color-highlight-active)}::selection{background-color:var(--color-highlight-active);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px;border-radius:4px}textarea:focus-visible{outline:none}button,a,[role=button]{transition:all .15s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.diff-added{background-color:#4a9e6d40}@supports (color:color-mix(in lab, red, red)){.diff-added{background-color:color-mix(in srgb, var(--color-accent-green) 25%, transparent)}}.diff-added{border-radius:2px;padding-block:1px;padding-inline:1px}.diff-removed{background-color:#c45a5a40}@supports (color:color-mix(in lab, red, red)){.diff-removed{background-color:color-mix(in srgb, var(--color-accent-red) 25%, transparent)}}.diff-removed{text-decoration:line-through;-webkit-text-decoration-color:var(--color-accent-red);-webkit-text-decoration-color:var(--color-accent-red);text-decoration-color:var(--color-accent-red);border-radius:2px;padding-block:1px;padding-inline:1px}.diff-block-removed{background:#c45a5a14}@supports (color:color-mix(in lab, red, red)){.diff-block-removed{background:color-mix(in srgb, var(--color-accent-red) 8%, transparent)}}.diff-block-removed{border-left:3px solid var(--color-accent-red);opacity:.7}.diff-block-added{background:#4a9e6d14}@supports (color:color-mix(in lab, red, red)){.diff-block-added{background:color-mix(in srgb, var(--color-accent-green) 8%, transparent)}}.diff-block-added{border-left:3px solid var(--color-accent-green)}.diff-row-removed td{background:#c45a5a1a}@supports (color:color-mix(in lab, red, red)){.diff-row-removed td{background:color-mix(in srgb, var(--color-accent-red) 10%, transparent)}}.diff-row-removed td{text-decoration:line-through;-webkit-text-decoration-color:var(--color-accent-red);-webkit-text-decoration-color:var(--color-accent-red);text-decoration-color:var(--color-accent-red);opacity:.6}.diff-row-added td{background:#4a9e6d1a}@supports (color:color-mix(in lab, red, red)){.diff-row-added td{background:color-mix(in srgb, var(--color-accent-green) 10%, transparent)}}.diff-item-removed{background:#c45a5a1a}@supports (color:color-mix(in lab, red, red)){.diff-item-removed{background:color-mix(in srgb, var(--color-accent-red) 10%, transparent)}}.diff-item-removed{text-decoration:line-through;-webkit-text-decoration-color:var(--color-accent-red);-webkit-text-decoration-color:var(--color-accent-red);text-decoration-color:var(--color-accent-red);opacity:.6}.diff-item-added{background:#4a9e6d1a}@supports (color:color-mix(in lab, red, red)){.diff-item-added{background:color-mix(in srgb, var(--color-accent-green) 10%, transparent)}}.diff-block-label{text-transform:uppercase;pointer-events:none;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:500;position:absolute;top:4px;right:8px}@keyframes plan-refresh{0%{opacity:.6}to{opacity:1}}.plan-updated{animation:.3s plan-refresh}input[type=range]{appearance:none;background:0 0;height:20px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-accent-amber);cursor:pointer;border:2px solid var(--color-bg-base);border-radius:50%;width:14px;height:14px;margin-top:-5px}input[type=range]::-moz-range-thumb{background:var(--color-accent-amber);cursor:pointer;border:2px solid var(--color-bg-base);border-radius:50%;width:14px;height:14px}input[type=range]::-webkit-slider-runnable-track{background:0 0;border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:0 0;border-radius:2px;height:4px}.prose-canvas{color:var(--color-text-secondary);font-size:.875rem;line-height:1.7}.prose-canvas h1,.prose-canvas h2,.prose-canvas h3,.prose-canvas h4,.prose-canvas h5,.prose-canvas h6{color:var(--color-text-primary);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.prose-canvas h1{font-size:1.5rem}.prose-canvas h2{font-size:1.25rem}.prose-canvas h3{font-size:1.1rem}.prose-canvas h1:first-child,.prose-canvas h2:first-child,.prose-canvas h3:first-child{margin-top:0}.prose-canvas p{margin-top:.75em;margin-bottom:.75em}.prose-canvas p:first-child{margin-top:0}.prose-canvas a{color:var(--color-accent-blue);-webkit-text-decoration:underline #5a8ec466;text-decoration:underline #5a8ec466}@supports (color:color-mix(in lab, red, red)){.prose-canvas a{-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent-blue) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent-blue) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent-blue) 40%, transparent)}}.prose-canvas a{text-underline-offset:2px}.prose-canvas a:hover{-webkit-text-decoration-color:var(--color-accent-blue);-webkit-text-decoration-color:var(--color-accent-blue);text-decoration-color:var(--color-accent-blue)}.prose-canvas strong{color:var(--color-text-primary);font-weight:600}.prose-canvas code{background:var(--color-bg-code);color:var(--color-text-code);border-radius:4px;padding:.15em .4em;font-size:.8em}.prose-canvas pre{background:var(--color-bg-code);border-radius:8px;margin-top:.75em;margin-bottom:.75em;padding:1em;overflow-x:auto}.prose-canvas pre code{background:0 0;padding:0;font-size:.8rem}.prose-canvas ul,.prose-canvas ol{margin-top:.5em;margin-bottom:.5em;padding-left:1.5em}.prose-canvas ul{list-style-type:disc}.prose-canvas ol{list-style-type:decimal}.prose-canvas li{margin-top:.25em}.prose-canvas li>ul,.prose-canvas li>ol{margin-top:.25em;margin-bottom:0}.prose-canvas blockquote{border-left:3px solid var(--color-border-strong);color:var(--color-text-tertiary);margin-top:.75em;margin-bottom:.75em;margin-left:0;padding-left:1em}.prose-canvas hr{border:none;border-top:1px solid var(--color-border-subtle);margin:1.5em 0}.prose-canvas table{border-collapse:collapse;width:100%;margin-top:.75em;margin-bottom:.75em;font-size:.8rem}.prose-canvas th,.prose-canvas td{border:1px solid var(--color-border-subtle);text-align:left;padding:.5em .75em}.prose-canvas th{background:var(--color-bg-elevated);color:var(--color-text-primary);font-weight:600}.prose-canvas img{border-radius:8px;max-width:100%;margin-top:.75em;margin-bottom:.75em}.hljs{color:var(--color-hljs-base)!important;background:0 0!important}pre code.hljs{padding:0!important}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-name,.hljs-tag{color:var(--color-hljs-keyword)!important}.hljs-string,.hljs-title,.hljs-section,.hljs-attribute,.hljs-literal,.hljs-template-tag,.hljs-template-variable,.hljs-type{color:var(--color-hljs-string)!important}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:var(--color-hljs-comment)!important}.hljs-number,.hljs-regexp,.hljs-addition{color:var(--color-hljs-number)!important}.hljs-variable,.hljs-attr{color:var(--color-hljs-variable)!important}.hljs-function .hljs-title,.hljs-title.function_{color:var(--color-hljs-function)!important}.hljs-params{color:var(--color-hljs-base)!important}.hljs-property{color:var(--color-hljs-variable)!important}.hljs-punctuation{color:var(--color-hljs-punctuation)!important}@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 pulse{50%{opacity:.5}}
2
+ @import "https://fonts.googleapis.com/css2?family=Instrument+Serif&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";@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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--color-green-500:oklch(72.3% .219 149.579);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--tracking-widest:.1em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-base:#1a1915;--color-bg-surface:#1f1e18;--color-bg-elevated:#25241d;--color-bg-code:#1c1b16;--color-bg-input:#fff8dc08;--color-bg-elevated-half:#25241d80;--color-text-primary:#e8e4df;--color-text-secondary:#a09a92;--color-text-tertiary:#847d75;--color-text-code:#c4beb7;--color-text-disabled:#3a3530;--color-text-inverse:#1a1a1a;--color-border-subtle:#fff8f00f;--color-border-medium:#fff8f014;--color-border-hover:#fff8f01f;--color-border-strong:#fff8f026;--color-accent-green:#4a9e6d;--color-accent-green-muted:#4a9e6d1f;--color-accent-amber:#c49a3a;--color-accent-amber-muted:#c49a3a1f;--color-accent-red:#c45a5a;--color-accent-red-muted:#c45a5a1f;--color-accent-blue:#5a8ec4;--color-accent-blue-muted:#5a8ec41a;--color-highlight-bg:#ffdc6426;--color-highlight-border:#ffdc6459;--color-highlight-annotation:#ffdc642e;--color-highlight-active:#ffdc6459;--color-highlight-selected:#ffdc641a;--color-badge-bg:#c49a3a33;--color-btn-primary:#e8e4df;--color-btn-primary-text:#1a1a1a;--font-heading:"Instrument Serif", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-section:1.75rem;--text-section--line-height:1.25;--text-section--letter-spacing:-.01em;--text-task-label:.9375rem;--text-task-label--line-height:1.4;--text-body:.875rem;--text-body--line-height:1.65;--text-code:.8125rem;--text-code--line-height:1.6;--text-meta:.75rem;--text-meta--line-height:1.4;--text-meta--letter-spacing:.02em;--text-tiny:.6875rem;--text-tiny--line-height:1.4}}@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;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}body{background-color:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.right-12{right:calc(var(--spacing) * 12)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-8{left:calc(var(--spacing) * -8)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.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-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-\[7px\]{margin-top:7px}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.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-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.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}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-24{height:calc(var(--spacing) * 24)}.h-64{height:calc(var(--spacing) * 64)}.h-\[2px\]{height:2px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[20px\]{min-height:20px}.min-h-\[40px\]{min-height:40px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[85vw\]{max-width:85vw}.max-w-\[600px\]{max-width:600px}.max-w-\[720px\]{max-width:720px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[16px\]{min-width:16px}.min-w-\[18px\]{min-width:18px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-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-full{--tw-translate-x:100%;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)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{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-2\.5{gap:calc(var(--spacing) * 2.5)}.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-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-accent-amber{border-color:var(--color-accent-amber)}.border-accent-amber\/20{border-color:#c49a3a33}@supports (color:color-mix(in lab, red, red)){.border-accent-amber\/20{border-color:color-mix(in oklab, var(--color-accent-amber) 20%, transparent)}}.border-accent-blue\/20{border-color:#5a8ec433}@supports (color:color-mix(in lab, red, red)){.border-accent-blue\/20{border-color:color-mix(in oklab, var(--color-accent-blue) 20%, transparent)}}.border-accent-green\/20{border-color:#4a9e6d33}@supports (color:color-mix(in lab, red, red)){.border-accent-green\/20{border-color:color-mix(in oklab, var(--color-accent-green) 20%, transparent)}}.border-accent-red\/20{border-color:#c45a5a33}@supports (color:color-mix(in lab, red, red)){.border-accent-red\/20{border-color:color-mix(in oklab, var(--color-accent-red) 20%, transparent)}}.border-border-hover{border-color:var(--color-border-hover)}.border-border-medium{border-color:var(--color-border-medium)}.border-border-strong{border-color:var(--color-border-strong)}.border-border-subtle{border-color:var(--color-border-subtle)}.border-highlight-border{border-color:var(--color-highlight-border)}.\!bg-transparent{background-color:#0000!important}.bg-accent-amber{background-color:var(--color-accent-amber)}.bg-accent-amber-muted{background-color:var(--color-accent-amber-muted)}.bg-accent-amber\/10{background-color:#c49a3a1a}@supports (color:color-mix(in lab, red, red)){.bg-accent-amber\/10{background-color:color-mix(in oklab, var(--color-accent-amber) 10%, transparent)}}.bg-accent-blue{background-color:var(--color-accent-blue)}.bg-accent-blue-muted{background-color:var(--color-accent-blue-muted)}.bg-accent-blue\/5{background-color:#5a8ec40d}@supports (color:color-mix(in lab, red, red)){.bg-accent-blue\/5{background-color:color-mix(in oklab, var(--color-accent-blue) 5%, transparent)}}.bg-accent-blue\/10{background-color:#5a8ec41a}@supports (color:color-mix(in lab, red, red)){.bg-accent-blue\/10{background-color:color-mix(in oklab, var(--color-accent-blue) 10%, transparent)}}.bg-accent-green{background-color:var(--color-accent-green)}.bg-accent-green-muted{background-color:var(--color-accent-green-muted)}.bg-accent-green\/10{background-color:#4a9e6d1a}@supports (color:color-mix(in lab, red, red)){.bg-accent-green\/10{background-color:color-mix(in oklab, var(--color-accent-green) 10%, transparent)}}.bg-accent-red{background-color:var(--color-accent-red)}.bg-accent-red-muted{background-color:var(--color-accent-red-muted)}.bg-accent-red\/10{background-color:#c45a5a1a}@supports (color:color-mix(in lab, red, red)){.bg-accent-red\/10{background-color:color-mix(in oklab, var(--color-accent-red) 10%, transparent)}}.bg-badge-bg{background-color:var(--color-badge-bg)}.bg-bg-base{background-color:var(--color-bg-base)}.bg-bg-code{background-color:var(--color-bg-code)}.bg-bg-elevated{background-color:var(--color-bg-elevated)}.bg-bg-input{background-color:var(--color-bg-input)}.bg-bg-surface{background-color:var(--color-bg-surface)}.bg-bg-surface\/30{background-color:#1f1e184d}@supports (color:color-mix(in lab, red, red)){.bg-bg-surface\/30{background-color:color-mix(in oklab, var(--color-bg-surface) 30%, transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, 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-border-hover{background-color:var(--color-border-hover)}.bg-border-medium{background-color:var(--color-border-medium)}.bg-border-subtle{background-color:var(--color-border-subtle)}.bg-btn-primary{background-color:var(--color-btn-primary)}.bg-highlight-bg{background-color:var(--color-highlight-bg)}.bg-highlight-selected{background-color:var(--color-highlight-selected)}.bg-text-inverse{background-color:var(--color-text-inverse)}.bg-text-primary{background-color:var(--color-text-primary)}.bg-transparent{background-color:#0000}.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-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:calc(var(--spacing) * 0)}.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)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-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-8{padding-block:calc(var(--spacing) * 8)}.py-\[3px\]{padding-block:3px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-body{font-family:var(--font-body)}.font-heading{font-family:var(--font-heading)}.font-mono{font-family:var(--font-mono)}.text-meta{font-size:var(--text-meta);line-height:var(--tw-leading,var(--text-meta--line-height));letter-spacing:var(--tw-tracking,var(--text-meta--letter-spacing))}.text-section{font-size:var(--text-section);line-height:var(--tw-leading,var(--text-section--line-height));letter-spacing:var(--tw-tracking,var(--text-section--letter-spacing))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-code{font-size:var(--text-code);line-height:var(--tw-leading,var(--text-code--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-task-label{font-size:var(--text-task-label);line-height:var(--tw-leading,var(--text-task-label--line-height))}.text-tiny{font-size:var(--text-tiny);line-height:var(--tw-leading,var(--text-tiny--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-amber{color:var(--color-accent-amber)}.text-accent-blue{color:var(--color-accent-blue)}.text-accent-green{color:var(--color-accent-green)}.text-accent-red{color:var(--color-accent-red)}.text-btn-primary-text{color:var(--color-btn-primary-text)}.text-green-500{color:var(--color-green-500)}.text-text-code{color:var(--color-text-code)}.text-text-disabled{color:var(--color-text-disabled)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-text-tertiary{color:var(--color-text-tertiary)}.text-white{color:var(--color-white)}.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,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-border-hover{-webkit-text-decoration-color:var(--color-border-hover);-webkit-text-decoration-color:var(--color-border-hover);text-decoration-color:var(--color-border-hover)}.accent-accent-amber{accent-color:var(--color-accent-amber)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 8px 24px var(--tw-shadow-color,var(--color-shadow));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 12px var(--tw-shadow-color,var(--color-shadow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;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 2px var(--tw-shadow-color,var(--color-shadow));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-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{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-\[margin\]{transition-property:margin;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}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}@media (hover:hover){.group-hover\/ann\:opacity-100:is(:where(.group\/ann):hover *){opacity:1}.group-hover\/code\:opacity-60:is(:where(.group\/code):hover *),.group-hover\/diff\:opacity-60:is(:where(.group\/diff):hover *){opacity:.6}.group-hover\/item\:opacity-100:is(:where(.group\/item):hover *){opacity:1}.group-hover\/section\:opacity-20:is(:where(.group\/section):hover *){opacity:.2}.group-hover\/section\:opacity-50:is(:where(.group\/section):hover *){opacity:.5}.group-hover\/task\:opacity-100:is(:where(.group\/task):hover *){opacity:1}}.group-\[\[data-copied\=true\]\]\:block:is(:where(.group)[data-copied=true] *){display:block}.group-\[\[data-copied\=true\]\]\:hidden:is(:where(.group)[data-copied=true] *){display:none}.placeholder\:text-text-disabled::placeholder{color:var(--color-text-disabled)}.placeholder\:text-text-tertiary::placeholder{color:var(--color-text-tertiary)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.odd\:bg-bg-elevated-half:nth-child(odd){background-color:var(--color-bg-elevated-half)}@media (hover:hover){.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-border-hover:hover{border-color:var(--color-border-hover)}.hover\:bg-accent-blue-muted:hover{background-color:var(--color-accent-blue-muted)}.hover\:bg-accent-blue\/30:hover{background-color:#5a8ec44d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent-blue\/30:hover{background-color:color-mix(in oklab, var(--color-accent-blue) 30%, transparent)}}.hover\:bg-accent-red-muted:hover{background-color:var(--color-accent-red-muted)}.hover\:bg-bg-elevated:hover{background-color:var(--color-bg-elevated)}.hover\:bg-bg-elevated-half:hover{background-color:var(--color-bg-elevated-half)}.hover\:bg-bg-input:hover{background-color:var(--color-bg-input)}.hover\:bg-bg-surface:hover{background-color:var(--color-bg-surface)}.hover\:bg-bg-surface\/50:hover{background-color:#1f1e1880}@supports (color:color-mix(in lab, red, red)){.hover\:bg-bg-surface\/50:hover{background-color:color-mix(in oklab, var(--color-bg-surface) 50%, transparent)}}.hover\:bg-border-medium:hover{background-color:var(--color-border-medium)}.hover\:bg-border-subtle:hover{background-color:var(--color-border-subtle)}.hover\:text-accent-blue:hover{color:var(--color-accent-blue)}.hover\:text-accent-blue\/80:hover{color:#5a8ec4cc}@supports (color:color-mix(in lab, red, red)){.hover\:text-accent-blue\/80:hover{color:color-mix(in oklab, var(--color-accent-blue) 80%, transparent)}}.hover\:text-accent-red:hover{color:var(--color-accent-red)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\:text-text-tertiary:hover{color:var(--color-text-tertiary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:\!opacity-80:hover{opacity:.8!important}.hover\:\!opacity-100:hover{opacity:1!important}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}}.focus\:border-none:focus{--tw-border-style:none;border-style:none}.focus\:border-accent-blue:focus{border-color:var(--color-accent-blue)}.focus\:border-border-hover:focus{border-color:var(--color-border-hover)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:64rem){.lg\:mr-0{margin-right:calc(var(--spacing) * 0)}.lg\:mr-\[var\(--sidebar-width\,320px\)\]{margin-right:var(--sidebar-width,320px)}.lg\:ml-0{margin-left:calc(var(--spacing) * 0)}.lg\:ml-60{margin-left:calc(var(--spacing) * 60)}.lg\:flex{display:flex}.lg\:hidden{display:none}}}mark[data-annotation-id]{background:var(--color-highlight-annotation);border-bottom:1.5px solid var(--color-highlight-bg);cursor:pointer;color:inherit;border-radius:2px;padding:1px 0;transition:background .15s,box-shadow .15s}mark[data-annotation-id].mark-active{background:var(--color-highlight-active);border-bottom:2px solid var(--color-highlight-border);box-shadow:0 0 0 1px var(--color-highlight-border)}@keyframes ann-flash{0%,to{background:var(--color-highlight-annotation)}25%,75%{background:var(--color-highlight-active)}}.ann-flash{animation:.6s 2 ann-flash}[data-annotation-image]{cursor:crosshair;touch-action:none;position:relative}.ann-region{background:var(--color-highlight-annotation);border:2px solid var(--color-highlight-bg);cursor:pointer;border-radius:2px;transition:background .15s,box-shadow .15s;position:absolute}.ann-region[data-annotation-region=ellipse]{border-radius:50%}.ann-region.mark-active{background:var(--color-highlight-active);border-color:var(--color-highlight-border);box-shadow:0 0 0 1px var(--color-highlight-border)}.ann-region-draft{pointer-events:none;border-style:dashed;border-color:var(--color-highlight-border)}.annotation-highlight{background:var(--color-highlight-bg);border-bottom:2px solid var(--color-highlight-border);cursor:pointer;border-radius:2px;transition:background .15s}.annotation-highlight:hover,.annotation-highlight.active{background:var(--color-highlight-active)}:root{--color-shadow:#00000040;--color-scrollbar:#fff8f00f;--color-scrollbar-hover:#fff8f01f;--color-folder-fill:#c49a3a26;--color-folder-fill-active:#c49a3a40;--color-folder-stroke:#c49a3a80;--color-folder-stroke-active:#c49a3a;--color-hljs-base:#c4beb7;--color-hljs-keyword:#d2a6ff;--color-hljs-string:#a8cc8c;--color-hljs-comment:#847d75;--color-hljs-number:#e8a87c;--color-hljs-variable:#7ec8e3;--color-hljs-function:#dbc074;--color-hljs-punctuation:#a09a92}[data-theme=light]{--color-bg-base:#faf5e6;--color-bg-surface:#f3edd8;--color-bg-elevated:#ebe4ce;--color-bg-code:#f0ebd5;--color-bg-input:#503c0a0d;--color-bg-elevated-half:#ebe4ce80;--color-text-primary:#2a2520;--color-text-secondary:#5a5550;--color-text-tertiary:#9a9390;--color-text-code:#4a4540;--color-text-disabled:#c5c0b8;--color-text-inverse:#faf6ef;--color-border-subtle:#503c1e14;--color-border-medium:#503c1e1a;--color-border-hover:#503c1e26;--color-border-strong:#503c1e33;--color-accent-green:#3a8a5a;--color-accent-green-muted:#3a8a5a1a;--color-accent-amber:#a07820;--color-accent-amber-muted:#a078201a;--color-accent-red:#b84a4a;--color-accent-red-muted:#b84a4a14;--color-accent-blue:#4a7eb4;--color-accent-blue-muted:#4a7eb414;--color-highlight-bg:#c8a01e26;--color-highlight-border:#c8a01e66;--color-highlight-annotation:#c8a01e2e;--color-highlight-active:#c8a01e59;--color-highlight-selected:#c8a01e1a;--color-badge-bg:#a0782026;--color-btn-primary:#2a2520;--color-btn-primary-text:#faf6ef;--color-shadow:#503c1e1a;--color-scrollbar:#503c1e14;--color-scrollbar-hover:#503c1e26;--color-folder-fill:#a078201f;--color-folder-fill-active:#a0782038;--color-folder-stroke:#a0782066;--color-folder-stroke-active:#a07820;--color-hljs-base:#4a4540;--color-hljs-keyword:#7c3aed;--color-hljs-string:#2e7d32;--color-hljs-comment:#9a9390;--color-hljs-number:#c45a20;--color-hljs-variable:#1976d2;--color-hljs-function:#8a6d00;--color-hljs-punctuation:#6b6560}code,pre,.font-mono{font-family:JetBrains Mono,Fira Code,Consolas,monospace}::selection{background-color:var(--color-highlight-active);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px;border-radius:4px}textarea:focus-visible{outline:none}button,a,[role=button]{transition:all .15s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.diff-added{background-color:#4a9e6d40}@supports (color:color-mix(in lab, red, red)){.diff-added{background-color:color-mix(in srgb, var(--color-accent-green) 25%, transparent)}}.diff-added{border-radius:2px;padding-block:1px;padding-inline:1px}.diff-removed{background-color:#c45a5a40}@supports (color:color-mix(in lab, red, red)){.diff-removed{background-color:color-mix(in srgb, var(--color-accent-red) 25%, transparent)}}.diff-removed{text-decoration:line-through;-webkit-text-decoration-color:var(--color-accent-red);-webkit-text-decoration-color:var(--color-accent-red);text-decoration-color:var(--color-accent-red);border-radius:2px;padding-block:1px;padding-inline:1px}.diff-block-removed{background:#c45a5a14}@supports (color:color-mix(in lab, red, red)){.diff-block-removed{background:color-mix(in srgb, var(--color-accent-red) 8%, transparent)}}.diff-block-removed{border-left:3px solid var(--color-accent-red);opacity:.7}.diff-block-added{background:#4a9e6d14}@supports (color:color-mix(in lab, red, red)){.diff-block-added{background:color-mix(in srgb, var(--color-accent-green) 8%, transparent)}}.diff-block-added{border-left:3px solid var(--color-accent-green)}.diff-row-removed td{background:#c45a5a1a}@supports (color:color-mix(in lab, red, red)){.diff-row-removed td{background:color-mix(in srgb, var(--color-accent-red) 10%, transparent)}}.diff-row-removed td{text-decoration:line-through;-webkit-text-decoration-color:var(--color-accent-red);-webkit-text-decoration-color:var(--color-accent-red);text-decoration-color:var(--color-accent-red);opacity:.6}.diff-row-added td{background:#4a9e6d1a}@supports (color:color-mix(in lab, red, red)){.diff-row-added td{background:color-mix(in srgb, var(--color-accent-green) 10%, transparent)}}.diff-item-removed{background:#c45a5a1a}@supports (color:color-mix(in lab, red, red)){.diff-item-removed{background:color-mix(in srgb, var(--color-accent-red) 10%, transparent)}}.diff-item-removed{text-decoration:line-through;-webkit-text-decoration-color:var(--color-accent-red);-webkit-text-decoration-color:var(--color-accent-red);text-decoration-color:var(--color-accent-red);opacity:.6}.diff-item-added{background:#4a9e6d1a}@supports (color:color-mix(in lab, red, red)){.diff-item-added{background:color-mix(in srgb, var(--color-accent-green) 10%, transparent)}}.diff-block-label{text-transform:uppercase;pointer-events:none;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:500;position:absolute;top:4px;right:8px}@keyframes plan-refresh{0%{opacity:.6}to{opacity:1}}.plan-updated{animation:.3s plan-refresh}input[type=range]{appearance:none;background:0 0;height:20px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-accent-amber);cursor:pointer;border:2px solid var(--color-bg-base);border-radius:50%;width:14px;height:14px;margin-top:-5px}input[type=range]::-moz-range-thumb{background:var(--color-accent-amber);cursor:pointer;border:2px solid var(--color-bg-base);border-radius:50%;width:14px;height:14px}input[type=range]::-webkit-slider-runnable-track{background:0 0;border-radius:2px;height:4px}input[type=range]::-moz-range-track{background:0 0;border-radius:2px;height:4px}.prose-canvas{color:var(--color-text-secondary);font-size:.875rem;line-height:1.7}.prose-canvas h1,.prose-canvas h2,.prose-canvas h3,.prose-canvas h4,.prose-canvas h5,.prose-canvas h6{color:var(--color-text-primary);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.prose-canvas h1{font-size:1.5rem}.prose-canvas h2{font-size:1.25rem}.prose-canvas h3{font-size:1.1rem}.prose-canvas h1:first-child,.prose-canvas h2:first-child,.prose-canvas h3:first-child{margin-top:0}.prose-canvas p{margin-top:.75em;margin-bottom:.75em}.prose-canvas p:first-child{margin-top:0}.prose-canvas a{color:var(--color-accent-blue);-webkit-text-decoration:underline #5a8ec466;text-decoration:underline #5a8ec466}@supports (color:color-mix(in lab, red, red)){.prose-canvas a{-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent-blue) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent-blue) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent-blue) 40%, transparent)}}.prose-canvas a{text-underline-offset:2px}.prose-canvas a:hover{-webkit-text-decoration-color:var(--color-accent-blue);-webkit-text-decoration-color:var(--color-accent-blue);text-decoration-color:var(--color-accent-blue)}.prose-canvas strong{color:var(--color-text-primary);font-weight:600}.prose-canvas code{background:var(--color-bg-code);color:var(--color-text-code);border-radius:4px;padding:.15em .4em;font-size:.8em}.prose-canvas pre{background:var(--color-bg-code);border-radius:8px;margin-top:.75em;margin-bottom:.75em;padding:1em;overflow-x:auto}.prose-canvas pre code{background:0 0;padding:0;font-size:.8rem}.prose-canvas ul,.prose-canvas ol{margin-top:.5em;margin-bottom:.5em;padding-left:1.5em}.prose-canvas ul{list-style-type:disc}.prose-canvas ol{list-style-type:decimal}.prose-canvas li{margin-top:.25em}.prose-canvas li>ul,.prose-canvas li>ol{margin-top:.25em;margin-bottom:0}.prose-canvas blockquote{border-left:3px solid var(--color-border-strong);color:var(--color-text-tertiary);margin-top:.75em;margin-bottom:.75em;margin-left:0;padding-left:1em}.prose-canvas hr{border:none;border-top:1px solid var(--color-border-subtle);margin:1.5em 0}.prose-canvas table{border-collapse:collapse;width:100%;margin-top:.75em;margin-bottom:.75em;font-size:.8rem}.prose-canvas th,.prose-canvas td{border:1px solid var(--color-border-subtle);text-align:left;padding:.5em .75em}.prose-canvas th{background:var(--color-bg-elevated);color:var(--color-text-primary);font-weight:600}.prose-canvas img{border-radius:8px;max-width:100%;margin-top:.75em;margin-bottom:.75em}.hljs{color:var(--color-hljs-base)!important;background:0 0!important}pre code.hljs{padding:0!important}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-name,.hljs-tag{color:var(--color-hljs-keyword)!important}.hljs-string,.hljs-title,.hljs-section,.hljs-attribute,.hljs-literal,.hljs-template-tag,.hljs-template-variable,.hljs-type{color:var(--color-hljs-string)!important}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:var(--color-hljs-comment)!important}.hljs-number,.hljs-regexp,.hljs-addition{color:var(--color-hljs-number)!important}.hljs-variable,.hljs-attr{color:var(--color-hljs-variable)!important}.hljs-function .hljs-title,.hljs-title.function_{color:var(--color-hljs-function)!important}.hljs-params{color:var(--color-hljs-base)!important}.hljs-property{color:var(--color-hljs-variable)!important}.hljs-punctuation{color:var(--color-hljs-punctuation)!important}@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 pulse{50%{opacity:.5}}