@gui-chat-plugin/markdown 0.0.3 → 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.
@@ -14,6 +14,10 @@ export declare const TOOL_DEFINITION: {
14
14
  type: string;
15
15
  description: string;
16
16
  };
17
+ filenameHint: {
18
+ type: string;
19
+ description: string;
20
+ };
17
21
  };
18
22
  required: string[];
19
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/core/definition.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAE3C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;CAmB3B,CAAC"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/core/definition.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAE3C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;CAwB3B,CAAC"}
@@ -2,10 +2,12 @@ import type { ToolResult } from "gui-chat-protocol";
2
2
  export interface MarkdownToolData {
3
3
  markdown: string;
4
4
  pdfPath?: string;
5
+ filenameHint?: string;
5
6
  }
6
7
  export interface MarkdownArgs {
7
8
  title: string;
8
9
  markdown: string;
10
+ filenameHint?: string;
9
11
  }
10
12
  export type MarkdownResult = ToolResult<MarkdownToolData>;
11
13
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC"}
package/dist/core.cjs CHANGED
@@ -1,24 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _="presentDocument",w={type:"function",name:_,description:"Display a document in markdown format.",parameters:{type:"object",properties:{title:{type:"string",description:"Title for the document"},markdown:{type:"string",description:"The markdown content to display. Describe embedded images in the following format: ![Detailed image prompt](__too_be_replaced_image_path__). IMPORTANT: For embedded images, you MUST use the EXACT placeholder path '__too_be_replaced_image_path__'."}},required:["title","markdown"]}},d=async(e,c)=>{let{markdown:a}=c;const{title:s}=c;if(!a||a.trim()==="")throw new Error("Markdown content is required but was not provided");const l=/!\[([^\]]+)\]\(\/?__too_be_replaced_image_path__\)/g,g=[...a.matchAll(l)];if(g.length>0&&e.app?.generateImageWithBackend&&e.app?.saveImages){const p=crypto.randomUUID(),r={},u=e.app.loadBlankImageBase64?await e.app.loadBlankImageBase64():"",k=g.map(async(o,i)=>{const n=`${o[1]}. Use the last image as the output dimension.`,m=`image_${i}`;try{const t=await e.app.generateImageWithBackend(n,u?[u]:[],e);t.success&&t.imageData&&(r[m]=`data:image/png;base64,${t.imageData}`)}catch(t){console.error(`Failed to generate image for prompt: ${n}`,t)}});if(await Promise.all(k),Object.keys(r).length>0)try{const o=await e.app.saveImages({uuid:p,images:r});if(o.imageUrls){const i=o.imageUrls;let n=0;a=a.replace(l,(m,t)=>{const b=`image_${n}`,h=i[b];return n++,h?`![${t}](${h})`:m})}}catch(o){console.error("Failed to save images:",o)}return{message:`Created markdown document: ${s}`,title:s,data:{markdown:a},uuid:p,instructions:"Acknowledge that the document has been created and is displayed to the user."}}return{message:`Created markdown document: ${s}`,title:s,data:{markdown:a},instructions:"Acknowledge that the document has been created and is displayed to the user."}},I={toolDefinition:w,execute:d,generatingMessage:"Creating document...",waitingMessage:"Tell the user that the document was created, will be presented to the user shortly.",isEnabled:()=>!0,backends:["imageGen"]},y=d,T=[{name:"Basic Markdown",args:{title:"Sample Document",markdown:`# Hello World
2
-
3
- This is a **bold** text and this is *italic*.
4
-
5
- ## Features
6
- - Item 1
7
- - Item 2
8
- - Item 3
9
-
10
- ### Code Example
11
- \`\`\`javascript
12
- const greeting = "Hello!";
13
- console.log(greeting);
14
- \`\`\`
15
- `}},{name:"Table Example",args:{title:"Data Table",markdown:`# Product List
16
-
17
- | Name | Price | Stock |
18
- |------|-------|-------|
19
- | Apple | $1.00 | 50 |
20
- | Banana | $0.50 | 100 |
21
- | Orange | $0.75 | 30 |
22
-
23
- > Note: Prices are subject to change.
24
- `}}];exports.TOOL_DEFINITION=w;exports.TOOL_NAME=_;exports.executeMarkdown=y;exports.pluginCore=I;exports.presentDocument=d;exports.samples=T;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./samples-VFLn2WS7.cjs`);exports.TOOL_DEFINITION=e.a,exports.TOOL_NAME=e.o,exports.executeMarkdown=e.n,exports.pluginCore=e.r,exports.presentDocument=e.i,exports.samples=e.t;
package/dist/core.js CHANGED
@@ -1,120 +1,2 @@
1
- const k = "presentDocument", b = {
2
- type: "function",
3
- name: k,
4
- description: "Display a document in markdown format.",
5
- parameters: {
6
- type: "object",
7
- properties: {
8
- title: {
9
- type: "string",
10
- description: "Title for the document"
11
- },
12
- markdown: {
13
- type: "string",
14
- description: "The markdown content to display. Describe embedded images in the following format: ![Detailed image prompt](__too_be_replaced_image_path__). IMPORTANT: For embedded images, you MUST use the EXACT placeholder path '__too_be_replaced_image_path__'."
15
- }
16
- },
17
- required: ["title", "markdown"]
18
- }
19
- }, h = async (e, d) => {
20
- let { markdown: a } = d;
21
- const { title: s } = d;
22
- if (!a || a.trim() === "")
23
- throw new Error("Markdown content is required but was not provided");
24
- const c = /!\[([^\]]+)\]\(\/?__too_be_replaced_image_path__\)/g, l = [...a.matchAll(c)];
25
- if (l.length > 0 && e.app?.generateImageWithBackend && e.app?.saveImages) {
26
- const g = crypto.randomUUID(), r = {}, p = e.app.loadBlankImageBase64 ? await e.app.loadBlankImageBase64() : "", _ = l.map(async (o, i) => {
27
- const n = `${o[1]}. Use the last image as the output dimension.`, m = `image_${i}`;
28
- try {
29
- const t = await e.app.generateImageWithBackend(
30
- n,
31
- p ? [p] : [],
32
- e
33
- );
34
- t.success && t.imageData && (r[m] = `data:image/png;base64,${t.imageData}`);
35
- } catch (t) {
36
- console.error(`Failed to generate image for prompt: ${n}`, t);
37
- }
38
- });
39
- if (await Promise.all(_), Object.keys(r).length > 0)
40
- try {
41
- const o = await e.app.saveImages({ uuid: g, images: r });
42
- if (o.imageUrls) {
43
- const i = o.imageUrls;
44
- let n = 0;
45
- a = a.replace(c, (m, t) => {
46
- const w = `image_${n}`, u = i[w];
47
- return n++, u ? `![${t}](${u})` : m;
48
- });
49
- }
50
- } catch (o) {
51
- console.error("Failed to save images:", o);
52
- }
53
- return {
54
- message: `Created markdown document: ${s}`,
55
- title: s,
56
- data: { markdown: a },
57
- uuid: g,
58
- instructions: "Acknowledge that the document has been created and is displayed to the user."
59
- };
60
- }
61
- return {
62
- message: `Created markdown document: ${s}`,
63
- title: s,
64
- data: { markdown: a },
65
- instructions: "Acknowledge that the document has been created and is displayed to the user."
66
- };
67
- }, I = {
68
- toolDefinition: b,
69
- execute: h,
70
- generatingMessage: "Creating document...",
71
- waitingMessage: "Tell the user that the document was created, will be presented to the user shortly.",
72
- isEnabled: () => !0,
73
- backends: ["imageGen"]
74
- }, y = h, T = [
75
- {
76
- name: "Basic Markdown",
77
- args: {
78
- title: "Sample Document",
79
- markdown: `# Hello World
80
-
81
- This is a **bold** text and this is *italic*.
82
-
83
- ## Features
84
- - Item 1
85
- - Item 2
86
- - Item 3
87
-
88
- ### Code Example
89
- \`\`\`javascript
90
- const greeting = "Hello!";
91
- console.log(greeting);
92
- \`\`\`
93
- `
94
- }
95
- },
96
- {
97
- name: "Table Example",
98
- args: {
99
- title: "Data Table",
100
- markdown: `# Product List
101
-
102
- | Name | Price | Stock |
103
- |------|-------|-------|
104
- | Apple | $1.00 | 50 |
105
- | Banana | $0.50 | 100 |
106
- | Orange | $0.75 | 30 |
107
-
108
- > Note: Prices are subject to change.
109
- `
110
- }
111
- }
112
- ];
113
- export {
114
- b as TOOL_DEFINITION,
115
- k as TOOL_NAME,
116
- y as executeMarkdown,
117
- I as pluginCore,
118
- h as presentDocument,
119
- T as samples
120
- };
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "./samples-Cjla_vcD.js";
2
+ export { e as TOOL_DEFINITION, r as TOOL_NAME, n as executeMarkdown, i as pluginCore, t as presentDocument, a as samples };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./core.cjs");exports.TOOL_DEFINITION=e.TOOL_DEFINITION;exports.TOOL_NAME=e.TOOL_NAME;exports.executeMarkdown=e.executeMarkdown;exports.pluginCore=e.pluginCore;exports.presentDocument=e.presentDocument;exports.samples=e.samples;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./samples-VFLn2WS7.cjs`);require(`./core.cjs`),exports.TOOL_DEFINITION=e.a,exports.TOOL_NAME=e.o,exports.executeMarkdown=e.n,exports.pluginCore=e.r,exports.presentDocument=e.i,exports.samples=e.t;
package/dist/index.js CHANGED
@@ -1,9 +1,3 @@
1
- import { TOOL_DEFINITION as r, TOOL_NAME as O, executeMarkdown as n, pluginCore as p, presentDocument as t, samples as m } from "./core.js";
2
- export {
3
- r as TOOL_DEFINITION,
4
- O as TOOL_NAME,
5
- n as executeMarkdown,
6
- p as pluginCore,
7
- t as presentDocument,
8
- m as samples
9
- };
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "./samples-Cjla_vcD.js";
2
+ import "./core.js";
3
+ export { e as TOOL_DEFINITION, r as TOOL_NAME, n as executeMarkdown, i as pluginCore, t as presentDocument, a as samples };
@@ -0,0 +1,94 @@
1
+ //#region src/core/definition.ts
2
+ var e = "presentDocument", t = {
3
+ type: "function",
4
+ name: e,
5
+ description: "Display a document in markdown format.",
6
+ parameters: {
7
+ type: "object",
8
+ properties: {
9
+ title: {
10
+ type: "string",
11
+ description: "Title for the document"
12
+ },
13
+ markdown: {
14
+ type: "string",
15
+ description: "The markdown content to display. Describe embedded images in the following format: ![Detailed image prompt](__too_be_replaced_image_path__). IMPORTANT: For embedded images, you MUST use the EXACT placeholder path '__too_be_replaced_image_path__'."
16
+ },
17
+ filenameHint: {
18
+ type: "string",
19
+ description: "Short English filename for download (without extension). Use lowercase with hyphens, e.g. 'project-summary'. Required when the title is not in ASCII."
20
+ }
21
+ },
22
+ required: ["title", "markdown"]
23
+ }
24
+ }, n = async (e, t) => {
25
+ let { markdown: n } = t, { title: r, filenameHint: i } = t;
26
+ if (!n || n.trim() === "") throw Error("Markdown content is required but was not provided");
27
+ let a = /!\[([^\]]+)\]\(\/?__too_be_replaced_image_path__\)/g, o = [...n.matchAll(a)];
28
+ if (o.length > 0 && e.app?.generateImageWithBackend && e.app?.saveImages) {
29
+ let t = crypto.randomUUID(), s = {}, c = e.app.loadBlankImageBase64 ? await e.app.loadBlankImageBase64() : "", l = o.map(async (t, n) => {
30
+ let r = `${t[1]}. Use the last image as the output dimension.`, i = `image_${n}`;
31
+ try {
32
+ let t = await e.app.generateImageWithBackend(r, c ? [c] : [], e);
33
+ t.success && t.imageData && (s[i] = `data:image/png;base64,${t.imageData}`);
34
+ } catch (e) {
35
+ console.error(`Failed to generate image for prompt: ${r}`, e);
36
+ }
37
+ });
38
+ if (await Promise.all(l), Object.keys(s).length > 0) try {
39
+ let r = await e.app.saveImages({
40
+ uuid: t,
41
+ images: s
42
+ });
43
+ if (r.imageUrls) {
44
+ let e = r.imageUrls, t = 0;
45
+ n = n.replace(a, (n, r) => {
46
+ let i = e[`image_${t}`];
47
+ return t++, i ? `![${r}](${i})` : n;
48
+ });
49
+ }
50
+ } catch (e) {
51
+ console.error("Failed to save images:", e);
52
+ }
53
+ return {
54
+ message: `Created markdown document: ${r}`,
55
+ title: r,
56
+ data: {
57
+ markdown: n,
58
+ filenameHint: i
59
+ },
60
+ uuid: t,
61
+ instructions: "Acknowledge that the document has been created and is displayed to the user."
62
+ };
63
+ }
64
+ return {
65
+ message: `Created markdown document: ${r}`,
66
+ title: r,
67
+ data: {
68
+ markdown: n,
69
+ filenameHint: i
70
+ },
71
+ instructions: "Acknowledge that the document has been created and is displayed to the user."
72
+ };
73
+ }, r = {
74
+ toolDefinition: t,
75
+ execute: n,
76
+ generatingMessage: "Creating document...",
77
+ waitingMessage: "Tell the user that the document was created, will be presented to the user shortly.",
78
+ isEnabled: () => !0,
79
+ backends: ["imageGen"]
80
+ }, i = n, a = [{
81
+ name: "Basic Markdown",
82
+ args: {
83
+ title: "Sample Document",
84
+ markdown: "# Hello World\n\nThis is a **bold** text and this is *italic*.\n\n## Features\n- Item 1\n- Item 2\n- Item 3\n\n### Code Example\n```javascript\nconst greeting = \"Hello!\";\nconsole.log(greeting);\n```\n"
85
+ }
86
+ }, {
87
+ name: "Table Example",
88
+ args: {
89
+ title: "Data Table",
90
+ markdown: "# Product List\n\n| Name | Price | Stock |\n|------|-------|-------|\n| Apple | $1.00 | 50 |\n| Banana | $0.50 | 100 |\n| Orange | $0.75 | 30 |\n\n> Note: Prices are subject to change.\n"
91
+ }
92
+ }];
93
+ //#endregion
94
+ export { t as a, n as i, i as n, e as o, r, a as t };
@@ -0,0 +1,24 @@
1
+ var e=`presentDocument`,t={type:`function`,name:e,description:`Display a document in markdown format.`,parameters:{type:`object`,properties:{title:{type:`string`,description:`Title for the document`},markdown:{type:`string`,description:`The markdown content to display. Describe embedded images in the following format: ![Detailed image prompt](__too_be_replaced_image_path__). IMPORTANT: For embedded images, you MUST use the EXACT placeholder path '__too_be_replaced_image_path__'.`},filenameHint:{type:`string`,description:`Short English filename for download (without extension). Use lowercase with hyphens, e.g. 'project-summary'. Required when the title is not in ASCII.`}},required:[`title`,`markdown`]}},n=async(e,t)=>{let{markdown:n}=t,{title:r,filenameHint:i}=t;if(!n||n.trim()===``)throw Error(`Markdown content is required but was not provided`);let a=/!\[([^\]]+)\]\(\/?__too_be_replaced_image_path__\)/g,o=[...n.matchAll(a)];if(o.length>0&&e.app?.generateImageWithBackend&&e.app?.saveImages){let t=crypto.randomUUID(),s={},c=e.app.loadBlankImageBase64?await e.app.loadBlankImageBase64():``,l=o.map(async(t,n)=>{let r=`${t[1]}. Use the last image as the output dimension.`,i=`image_${n}`;try{let t=await e.app.generateImageWithBackend(r,c?[c]:[],e);t.success&&t.imageData&&(s[i]=`data:image/png;base64,${t.imageData}`)}catch(e){console.error(`Failed to generate image for prompt: ${r}`,e)}});if(await Promise.all(l),Object.keys(s).length>0)try{let r=await e.app.saveImages({uuid:t,images:s});if(r.imageUrls){let e=r.imageUrls,t=0;n=n.replace(a,(n,r)=>{let i=e[`image_${t}`];return t++,i?`![${r}](${i})`:n})}}catch(e){console.error(`Failed to save images:`,e)}return{message:`Created markdown document: ${r}`,title:r,data:{markdown:n,filenameHint:i},uuid:t,instructions:`Acknowledge that the document has been created and is displayed to the user.`}}return{message:`Created markdown document: ${r}`,title:r,data:{markdown:n,filenameHint:i},instructions:`Acknowledge that the document has been created and is displayed to the user.`}},r={toolDefinition:t,execute:n,generatingMessage:`Creating document...`,waitingMessage:`Tell the user that the document was created, will be presented to the user shortly.`,isEnabled:()=>!0,backends:[`imageGen`]},i=n,a=[{name:`Basic Markdown`,args:{title:`Sample Document`,markdown:`# Hello World
2
+
3
+ This is a **bold** text and this is *italic*.
4
+
5
+ ## Features
6
+ - Item 1
7
+ - Item 2
8
+ - Item 3
9
+
10
+ ### Code Example
11
+ \`\`\`javascript
12
+ const greeting = "Hello!";
13
+ console.log(greeting);
14
+ \`\`\`
15
+ `}},{name:`Table Example`,args:{title:`Data Table`,markdown:`# Product List
16
+
17
+ | Name | Price | Stock |
18
+ |------|-------|-------|
19
+ | Apple | $1.00 | 50 |
20
+ | Banana | $0.50 | 100 |
21
+ | Orange | $0.75 | 30 |
22
+
23
+ > Note: Prices are subject to change.
24
+ `}}];Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
package/dist/style.css CHANGED
@@ -1 +1,3 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-800:oklch(43.2% .095 166.913);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;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}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.contents{display:contents}.flex{display:flex}.inline{display:inline}.min-h-full{min-height:100%}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[200px\]{max-width:200px}.max-w-none{max-width:none}.flex-shrink{flex-shrink:1}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-indigo-200{border-color:var(--color-indigo-200)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-white{background-color:var(--color-white)}.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-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-pre-wrap{white-space:pre-wrap}.text-emerald-800{color:var(--color-emerald-800)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-purple-600{color:var(--color-purple-600)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-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))}@media(hover:hover){.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:bg-indigo-200:hover{background-color:var(--color-indigo-200)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:ring-\[3px\]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-indigo-500\/10:focus{--tw-ring-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.focus\:ring-indigo-500\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-indigo-500) 10%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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}.markdown-container[data-v-7bea9557]{width:100%;height:100%;display:flex;flex-direction:column;background:#fff}.markdown-content-wrapper[data-v-7bea9557]{flex:1;overflow-y:auto;min-height:0}.header-row[data-v-7bea9557]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1em}.document-title[data-v-7bea9557]{font-size:2em;margin:0}.button-group[data-v-7bea9557]{display:flex;gap:.5em}.download-btn[data-v-7bea9557]{padding:.5em 1em;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;display:flex;align-items:center;gap:.5em}.download-btn-green[data-v-7bea9557]{background-color:#4caf50}.download-btn .material-icons[data-v-7bea9557]{font-size:1.2em}.markdown-content[data-v-7bea9557] h1{font-size:2rem;font-weight:700;margin-top:1em;margin-bottom:.5em}.markdown-content[data-v-7bea9557] h2{font-size:1.75rem;font-weight:700;margin-top:1em;margin-bottom:.5em}.markdown-content[data-v-7bea9557] h3{font-size:1.5rem;font-weight:700;margin-top:1em;margin-bottom:.5em}.markdown-content[data-v-7bea9557] h4{font-size:1.25rem;font-weight:700;margin-top:1em;margin-bottom:.5em}.markdown-content[data-v-7bea9557] h5{font-size:1.125rem;font-weight:700;margin-top:1em;margin-bottom:.5em}.markdown-content[data-v-7bea9557] h6{font-size:1rem;font-weight:700;margin-top:1em;margin-bottom:.5em}.markdown-source[data-v-7bea9557]{padding:.5rem;background:#f5f5f5;border-top:1px solid #e0e0e0;font-family:monospace;font-size:.85rem;flex-shrink:0}.markdown-source summary[data-v-7bea9557]{cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem;background:#e8e8e8;border-radius:4px;font-weight:500;color:#333}.markdown-source[open] summary[data-v-7bea9557]{margin-bottom:.5rem}.markdown-source summary[data-v-7bea9557]:hover{background:#d8d8d8}.markdown-editor[data-v-7bea9557]{width:100%;height:40vh;padding:1rem;background:#fff;border:1px solid #ccc;border-radius:4px;color:#333;font-family:Courier New,monospace;font-size:.9rem;resize:vertical;margin-bottom:.5rem;line-height:1.5}.markdown-editor[data-v-7bea9557]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a}.apply-btn[data-v-7bea9557]{padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s;font-weight:500}.apply-btn[data-v-7bea9557]:hover{background:#45a049}.apply-btn[data-v-7bea9557]:active{background:#3d8b40}.apply-btn[data-v-7bea9557]:disabled{background:#ccc;color:#666;cursor:not-allowed;opacity:.6}.apply-btn[data-v-7bea9557]:disabled:hover{background:#ccc}
1
+ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight: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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-800:oklch(43.2% .095 166.913);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-600:oklch(55.8% .288 302.321);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.contents{display:contents}.flex{display:flex}.inline{display:inline}.min-h-full{min-height:100%}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[200px\]{max-width:200px}.max-w-none{max-width:none}.flex-shrink{flex-shrink:1}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-indigo-200{border-color:var(--color-indigo-200)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-white{background-color:var(--color-white)}.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-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-pre-wrap{white-space:pre-wrap}.text-emerald-800{color:var(--color-emerald-800)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-purple-600{color:var(--color-purple-600)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-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))}@media (hover:hover){.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:bg-indigo-200:hover{background-color:var(--color-indigo-200)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:ring-\[3px\]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-indigo-500\/10:focus{--tw-ring-color:#625fff1a}@supports (color:color-mix(in lab, red, red)){.focus\:ring-indigo-500\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-indigo-500) 10%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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}.markdown-container[data-v-3606105b]{background:#fff;flex-direction:column;width:100%;height:100%;display:flex}.markdown-content-wrapper[data-v-3606105b]{flex:1;min-height:0;overflow-y:auto}.header-row[data-v-3606105b]{justify-content:space-between;align-items:center;margin-bottom:1em;display:flex}.document-title[data-v-3606105b]{margin:0;font-size:2em}.button-group[data-v-3606105b]{gap:.5em;display:flex}.download-btn[data-v-3606105b]{color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:.5em;padding:.5em 1em;font-size:.9em;display:flex}.download-btn-green[data-v-3606105b]{background-color:#4caf50}.download-btn .material-icons[data-v-3606105b]{font-size:1.2em}.markdown-content[data-v-3606105b] h1{margin-top:1em;margin-bottom:.5em;font-size:2rem;font-weight:700}.markdown-content[data-v-3606105b] h2{margin-top:1em;margin-bottom:.5em;font-size:1.75rem;font-weight:700}.markdown-content[data-v-3606105b] h3{margin-top:1em;margin-bottom:.5em;font-size:1.5rem;font-weight:700}.markdown-content[data-v-3606105b] h4{margin-top:1em;margin-bottom:.5em;font-size:1.25rem;font-weight:700}.markdown-content[data-v-3606105b] h5{margin-top:1em;margin-bottom:.5em;font-size:1.125rem;font-weight:700}.markdown-content[data-v-3606105b] h6{margin-top:1em;margin-bottom:.5em;font-size:1rem;font-weight:700}.markdown-source[data-v-3606105b]{background:#f5f5f5;border-top:1px solid #e0e0e0;flex-shrink:0;padding:.5rem;font-family:monospace;font-size:.85rem}.markdown-source summary[data-v-3606105b]{cursor:pointer;-webkit-user-select:none;user-select:none;color:#333;background:#e8e8e8;border-radius:4px;padding:.5rem;font-weight:500}.markdown-source[open] summary[data-v-3606105b]{margin-bottom:.5rem}.markdown-source summary[data-v-3606105b]:hover{background:#d8d8d8}.markdown-editor[data-v-3606105b]{color:#333;resize:vertical;background:#fff;border:1px solid #ccc;border-radius:4px;width:100%;height:40vh;margin-bottom:.5rem;padding:1rem;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5}.markdown-editor[data-v-3606105b]:focus{border-color:#4caf50;outline:none;box-shadow:0 0 0 2px #4caf501a}.apply-btn[data-v-3606105b]{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .2s}.apply-btn[data-v-3606105b]:hover{background:#45a049}.apply-btn[data-v-3606105b]:active{background:#3d8b40}.apply-btn[data-v-3606105b]:disabled{color:#666;cursor:not-allowed;opacity:.6;background:#ccc}.apply-btn[data-v-3606105b]:disabled:hover{background:#ccc}
3
+ /*$vite$:1*/
@@ -1 +1 @@
1
- {"version":3,"file":"View.vue.d.ts","sourceRoot":"","sources":["../../src/vue/View.vue"],"names":[],"mappings":"AA4TA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAsNF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"View.vue.d.ts","sourceRoot":"","sources":["../../src/vue/View.vue"],"names":[],"mappings":"AA+TA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAyNF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}