openspec-mcp 0.2.4 → 0.2.5
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/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[calc\(100vh-120px\)\]{height:calc(100vh - 120px)}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-full{height:100%}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-28{width:7rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-full{width:100%}.min-w-\[100px\]{min-width:100px}.min-w-full{min-width:100%}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .5s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(249 250 251 / var(--tw-divide-opacity, 1))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-indigo-100{--tw-border-opacity: 1;border-color:rgb(224 231 255 / var(--tw-border-opacity, 1))}.border-indigo-300{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity, 1))}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.border-indigo-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-100{--tw-text-opacity: 1;color:rgb(224 231 255 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-amber-100{--tw-ring-opacity: 1;--tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity, 1))}.ring-offset-1{--tw-ring-offset-width: 1px}.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)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}body{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.progress-bar{height:.5rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.progress-bar-fill{height:100%;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.status-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500}.status-draft{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.status-pending{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.status-approved{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.status-rejected{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.status-implementing{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.status-completed{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.task-pending{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.task-in-progress{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.task-done{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-amber-200:hover{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.hover\:border-blue-200:hover{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-emerald-200:hover{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-indigo-100:hover{--tw-border-opacity: 1;border-color:rgb(224 231 255 / var(--tw-border-opacity, 1))}.hover\:border-indigo-200:hover{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.hover\:border-indigo-300:hover{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-green-700:hover{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.hover\:text-indigo-800:hover{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-indigo-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.prose-headings\:font-bold :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:700}.prose-h1\:text-xl :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.25rem;line-height:1.75rem}.prose-h2\:text-lg :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.125rem;line-height:1.75rem}.prose-h3\:text-base :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1rem;line-height:1.5rem}.prose-code\:rounded :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.25rem}.prose-code\:bg-gray-100 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.prose-code\:px-1 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-left:.25rem;padding-right:.25rem}.prose-pre\:bg-gray-50 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}@media (min-width: 640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[calc\(100vh-120px\)\]{height:calc(100vh - 120px)}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-full{height:100%}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-28{width:7rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-full{width:100%}.min-w-\[100px\]{min-width:100px}.min-w-full{min-width:100%}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .5s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(249 250 251 / var(--tw-divide-opacity, 1))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-indigo-100{--tw-border-opacity: 1;border-color:rgb(224 231 255 / var(--tw-border-opacity, 1))}.border-indigo-300{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity, 1))}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.border-indigo-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-100{--tw-text-opacity: 1;color:rgb(224 231 255 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-amber-100{--tw-ring-opacity: 1;--tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity, 1))}.ring-offset-1{--tw-ring-offset-width: 1px}.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)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}body{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.progress-bar{height:.5rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.progress-bar-fill{height:100%;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.status-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500}.status-draft{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.status-pending{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.status-approved{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.status-rejected{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.status-implementing{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.status-completed{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.task-pending{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.task-in-progress{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.task-done{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-amber-200:hover{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.hover\:border-blue-200:hover{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-emerald-200:hover{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-indigo-100:hover{--tw-border-opacity: 1;border-color:rgb(224 231 255 / var(--tw-border-opacity, 1))}.hover\:border-indigo-200:hover{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.hover\:border-indigo-300:hover{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-green-700:hover{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.hover\:text-indigo-800:hover{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-indigo-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.prose-headings\:font-bold :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:700}.prose-h1\:text-xl :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.25rem;line-height:1.75rem}.prose-h2\:text-lg :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1.125rem;line-height:1.75rem}.prose-h3\:text-base :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:1rem;line-height:1.5rem}.prose-p\:my-1 :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-code\:break-all :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){word-break:break-all}.prose-code\:rounded :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.25rem}.prose-code\:bg-gray-100 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.prose-code\:px-1 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-left:.25rem;padding-right:.25rem}.prose-code\:text-xs :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){font-size:.75rem;line-height:1rem}.prose-pre\:bg-gray-50 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.prose-ul\:my-1 :is(:where(ul):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:.25rem;margin-bottom:.25rem}.prose-li\:my-0 :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){margin-top:0;margin-bottom:0}@media (min-width: 640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}
|
|
@@ -96,4 +96,4 @@ Error generating stack: `+l.message+`
|
|
|
96
96
|
`))+1))}const o="#".repeat(i),s=n.enter("headingAtx"),a=n.enter("phrasing");l.move(o+" ");let u=n.containerPhrasing(e,{before:"# ",after:`
|
|
97
97
|
`,...l.current()});return/^[\t ]/.test(u)&&(u=yi(u.charCodeAt(0))+u.slice(1)),u=u?o+" "+u:o,n.options.closeAtx&&(u+=" "+o),a(),s(),u}lm.peek=GS;function lm(e){return e.value||""}function GS(){return"<"}om.peek=JS;function om(e,t,n,r){const i=Cu(n),l=i==='"'?"Quote":"Apostrophe",o=n.enter("image");let s=n.enter("label");const a=n.createTracker(r);let u=a.move("![");return u+=a.move(n.safe(e.alt,{before:u,after:"]",...a.current()})),u+=a.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter("destinationLiteral"),u+=a.move("<"),u+=a.move(n.safe(e.url,{before:u,after:">",...a.current()})),u+=a.move(">")):(s=n.enter("destinationRaw"),u+=a.move(n.safe(e.url,{before:u,after:e.title?" ":")",...a.current()}))),s(),e.title&&(s=n.enter(`title${l}`),u+=a.move(" "+i),u+=a.move(n.safe(e.title,{before:u,after:i,...a.current()})),u+=a.move(i),s()),u+=a.move(")"),o(),u}function JS(){return"!"}sm.peek=ZS;function sm(e,t,n,r){const i=e.referenceType,l=n.enter("imageReference");let o=n.enter("label");const s=n.createTracker(r);let a=s.move("![");const u=n.safe(e.alt,{before:a,after:"]",...s.current()});a+=s.move(u+"]["),o();const f=n.stack;n.stack=[],o=n.enter("reference");const c=n.safe(n.associationId(e),{before:a,after:"]",...s.current()});return o(),n.stack=f,l(),i==="full"||!u||u!==c?a+=s.move(c+"]"):i==="shortcut"?a=a.slice(0,-1):a+=s.move("]"),a}function ZS(){return"!"}am.peek=eC;function am(e,t,n){let r=e.value||"",i="`",l=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++l<n.unsafe.length;){const o=n.unsafe[l],s=n.compilePattern(o);let a;if(o.atBreak)for(;a=s.exec(r);){let u=a.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(a.index+1)}}return i+r+i}function eC(){return"`"}function um(e,t){const n=hu(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}cm.peek=tC;function cm(e,t,n,r){const i=Cu(n),l=i==='"'?"Quote":"Apostrophe",o=n.createTracker(r);let s,a;if(um(e,n)){const f=n.stack;n.stack=[],s=n.enter("autolink");let c=o.move("<");return c+=o.move(n.containerPhrasing(e,{before:c,after:">",...o.current()})),c+=o.move(">"),s(),n.stack=f,c}s=n.enter("link"),a=n.enter("label");let u=o.move("[");return u+=o.move(n.containerPhrasing(e,{before:u,after:"](",...o.current()})),u+=o.move("]("),a(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(a=n.enter("destinationLiteral"),u+=o.move("<"),u+=o.move(n.safe(e.url,{before:u,after:">",...o.current()})),u+=o.move(">")):(a=n.enter("destinationRaw"),u+=o.move(n.safe(e.url,{before:u,after:e.title?" ":")",...o.current()}))),a(),e.title&&(a=n.enter(`title${l}`),u+=o.move(" "+i),u+=o.move(n.safe(e.title,{before:u,after:i,...o.current()})),u+=o.move(i),a()),u+=o.move(")"),s(),u}function tC(e,t,n){return um(e,n)?"<":"["}fm.peek=nC;function fm(e,t,n,r){const i=e.referenceType,l=n.enter("linkReference");let o=n.enter("label");const s=n.createTracker(r);let a=s.move("[");const u=n.containerPhrasing(e,{before:a,after:"]",...s.current()});a+=s.move(u+"]["),o();const f=n.stack;n.stack=[],o=n.enter("reference");const c=n.safe(n.associationId(e),{before:a,after:"]",...s.current()});return o(),n.stack=f,l(),i==="full"||!u||u!==c?a+=s.move(c+"]"):i==="shortcut"?a=a.slice(0,-1):a+=s.move("]"),a}function nC(){return"["}function Eu(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function rC(e){const t=Eu(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function iC(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function dm(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function lC(e,t,n,r){const i=n.enter("list"),l=n.bulletCurrent;let o=e.ordered?iC(n):Eu(n);const s=e.ordered?o==="."?")":".":rC(n);let a=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){const f=e.children?e.children[0]:void 0;if((o==="*"||o==="-")&&f&&(!f.children||!f.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(a=!0),dm(n)===o&&f){let c=-1;for(;++c<e.children.length;){const d=e.children[c];if(d&&d.type==="listItem"&&d.children&&d.children[0]&&d.children[0].type==="thematicBreak"){a=!0;break}}}}a&&(o=s),n.bulletCurrent=o;const u=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=l,i(),u}function oC(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function sC(e,t,n,r){const i=oC(n);let l=n.bulletCurrent||Eu(n);t&&t.type==="list"&&t.ordered&&(l=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+l);let o=l.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);const s=n.createTracker(r);s.move(l+" ".repeat(o-l.length)),s.shift(o);const a=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,s.current()),f);return a(),u;function f(c,d,p){return d?(p?"":" ".repeat(o))+c:(p?l:l+" ".repeat(o-l.length))+c}}function aC(e,t,n,r){const i=n.enter("paragraph"),l=n.enter("phrasing"),o=n.containerPhrasing(e,r);return l(),i(),o}const uC=co(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function cC(e,t,n,r){return(e.children.some(function(o){return uC(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function fC(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}pm.peek=dC;function pm(e,t,n,r){const i=fC(n),l=n.enter("strong"),o=n.createTracker(r),s=o.move(i+i);let a=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()}));const u=a.charCodeAt(0),f=$l(r.before.charCodeAt(r.before.length-1),u,i);f.inside&&(a=yi(u)+a.slice(1));const c=a.charCodeAt(a.length-1),d=$l(r.after.charCodeAt(0),c,i);d.inside&&(a=a.slice(0,-1)+yi(c));const p=o.move(i+i);return l(),n.attentionEncodeSurroundingInfo={after:d.outside,before:f.outside},s+a+p}function dC(e,t,n){return n.options.strong||"*"}function pC(e,t,n,r){return n.safe(e.value,r)}function hC(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function mC(e,t,n){const r=(dm(n)+(n.options.ruleSpaces?" ":"")).repeat(hC(n));return n.options.ruleSpaces?r.slice(0,-1):r}const hm={blockquote:FS,break:$f,code:HS,definition:QS,emphasis:im,hardBreak:$f,heading:XS,html:lm,image:om,imageReference:sm,inlineCode:am,link:cm,linkReference:fm,list:lC,listItem:sC,paragraph:aC,root:cC,strong:pm,text:pC,thematicBreak:mC};function gC(){return{enter:{table:yC,tableData:Vf,tableHeader:Vf,tableRow:vC},exit:{codeText:kC,table:xC,tableData:es,tableHeader:es,tableRow:es}}}function yC(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function xC(e){this.exit(e),this.data.inTable=void 0}function vC(e){this.enter({type:"tableRow",children:[]},e)}function es(e){this.exit(e)}function Vf(e){this.enter({type:"tableCell",children:[]},e)}function kC(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,wC));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function wC(e,t){return t==="|"?t:e}function SC(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,l=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
98
98
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:d,table:o,tableCell:a,tableRow:s}};function o(p,g,v,E){return u(f(p,v,E),p.align)}function s(p,g,v,E){const m=c(p,v,E),y=u([m]);return y.slice(0,y.indexOf(`
|
|
99
|
-
`))}function a(p,g,v,E){const m=v.enter("tableCell"),y=v.enter("phrasing"),x=v.containerPhrasing(p,{...E,before:l,after:l});return y(),m(),x}function u(p,g){return OS(p,{align:g,alignDelimiters:r,padding:n,stringLength:i})}function f(p,g,v){const E=p.children;let m=-1;const y=[],x=g.enter("table");for(;++m<E.length;)y[m]=c(E[m],g,v);return x(),y}function c(p,g,v){const E=p.children;let m=-1;const y=[],x=g.enter("tableRow");for(;++m<E.length;)y[m]=a(E[m],p,g,v);return x(),y}function d(p,g,v){let E=hm.inlineCode(p,g,v);return v.stack.includes("tableCell")&&(E=E.replace(/\|/g,"\\$&")),E}}function CC(){return{exit:{taskListCheckValueChecked:Hf,taskListCheckValueUnchecked:Hf,paragraph:NC}}}function EC(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:bC}}}function Hf(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function NC(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let l=-1,o;for(;++l<i.length;){const s=i[l];if(s.type==="paragraph"){o=s;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function bC(e,t,n,r){const i=e.children[0],l=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",s=n.createTracker(r);l&&s.move(o);let a=hm.listItem(e,t,n,{...r,...s.current()});return l&&(a=a.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),a;function u(f){return f+o}}function PC(){return[lS(),bS(),IS(),gC(),CC()]}function jC(e){return{extensions:[oS(),PS(e),_S(),SC(e),EC()]}}const TC={tokenize:AC,partial:!0},mm={tokenize:OC,partial:!0},gm={tokenize:DC,partial:!0},ym={tokenize:FC,partial:!0},IC={tokenize:MC,partial:!0},xm={name:"wwwAutolink",tokenize:RC,previous:km},vm={name:"protocolAutolink",tokenize:zC,previous:wm},Dt={name:"emailAutolink",tokenize:LC,previous:Sm},Et={};function _C(){return{text:Et}}let pn=48;for(;pn<123;)Et[pn]=Dt,pn++,pn===58?pn=65:pn===91&&(pn=97);Et[43]=Dt;Et[45]=Dt;Et[46]=Dt;Et[95]=Dt;Et[72]=[Dt,vm];Et[104]=[Dt,vm];Et[87]=[Dt,xm];Et[119]=[Dt,xm];function LC(e,t,n){const r=this;let i,l;return o;function o(c){return!aa(c)||!Sm.call(r,r.previous)||Nu(r.events)?n(c):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(c))}function s(c){return aa(c)?(e.consume(c),s):c===64?(e.consume(c),a):n(c)}function a(c){return c===46?e.check(IC,f,u)(c):c===45||c===95||Ie(c)?(l=!0,e.consume(c),a):f(c)}function u(c){return e.consume(c),i=!0,a}function f(c){return l&&i&&ze(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(c)):n(c)}}function RC(e,t,n){const r=this;return i;function i(o){return o!==87&&o!==119||!km.call(r,r.previous)||Nu(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(TC,e.attempt(mm,e.attempt(gm,l),n),n)(o))}function l(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function zC(e,t,n){const r=this;let i="",l=!1;return o;function o(c){return(c===72||c===104)&&wm.call(r,r.previous)&&!Nu(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(c),e.consume(c),s):n(c)}function s(c){if(ze(c)&&i.length<5)return i+=String.fromCodePoint(c),e.consume(c),s;if(c===58){const d=i.toLowerCase();if(d==="http"||d==="https")return e.consume(c),a}return n(c)}function a(c){return c===47?(e.consume(c),l?u:(l=!0,a)):n(c)}function u(c){return c===null||Ml(c)||te(c)||Tn(c)||so(c)?n(c):e.attempt(mm,e.attempt(gm,f),n)(c)}function f(c){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(c)}}function AC(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),l):n(o)}function l(o){return o===null?n(o):t(o)}}function OC(e,t,n){let r,i,l;return o;function o(u){return u===46||u===95?e.check(ym,a,s)(u):u===null||te(u)||Tn(u)||u!==45&&so(u)?a(u):(l=!0,e.consume(u),o)}function s(u){return u===95?r=!0:(i=r,r=void 0),e.consume(u),o}function a(u){return i||r||!l?n(u):t(u)}}function DC(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?l(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(ym,t,l)(o):o===null||te(o)||Tn(o)?t(o):(e.consume(o),i)}function l(o){return o===41&&r++,e.consume(o),i}}function FC(e,t,n){return r;function r(s){return s===33||s===34||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===63||s===95||s===126?(e.consume(s),r):s===38?(e.consume(s),l):s===93?(e.consume(s),i):s===60||s===null||te(s)||Tn(s)?t(s):n(s)}function i(s){return s===null||s===40||s===91||te(s)||Tn(s)?t(s):r(s)}function l(s){return ze(s)?o(s):n(s)}function o(s){return s===59?(e.consume(s),r):ze(s)?(e.consume(s),o):n(s)}}function MC(e,t,n){return r;function r(l){return e.consume(l),i}function i(l){return Ie(l)?n(l):t(l)}}function km(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||te(e)}function wm(e){return!ze(e)}function Sm(e){return!(e===47||aa(e))}function aa(e){return e===43||e===45||e===46||e===95||Ie(e)}function Nu(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const BC={tokenize:KC,partial:!0};function UC(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:WC,continuation:{tokenize:QC},exit:qC}},text:{91:{name:"gfmFootnoteCall",tokenize:HC},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:$C,resolveTo:VC}}}}function $C(e,t,n){const r=this;let i=r.events.length;const l=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;i--;){const a=r.events[i][1];if(a.type==="labelImage"){o=a;break}if(a.type==="gfmFootnoteCall"||a.type==="labelLink"||a.type==="label"||a.type==="image"||a.type==="link")break}return s;function s(a){if(!o||!o._balanced)return n(a);const u=mt(r.sliceSerialize({start:o.end,end:r.now()}));return u.codePointAt(0)!==94||!l.includes(u.slice(1))?n(a):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(a),e.exit("gfmFootnoteCallLabelMarker"),t(a))}}function VC(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const l={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},l.start),end:Object.assign({},l.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",l,t],["enter",o,t],["exit",o,t],["exit",l,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...s),e}function HC(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l=0,o;return s;function s(c){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),a}function a(c){return c!==94?n(c):(e.enter("gfmFootnoteCallMarker"),e.consume(c),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(c){if(l>999||c===93&&!o||c===null||c===91||te(c))return n(c);if(c===93){e.exit("chunkString");const d=e.exit("gfmFootnoteCallString");return i.includes(mt(r.sliceSerialize(d)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(c)}return te(c)||(o=!0),l++,e.consume(c),c===92?f:u}function f(c){return c===91||c===92||c===93?(e.consume(c),l++,u):u(c)}}function WC(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l,o=0,s;return a;function a(g){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(g){return g===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):n(g)}function f(g){if(o>999||g===93&&!s||g===null||g===91||te(g))return n(g);if(g===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return l=mt(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d}return te(g)||(s=!0),o++,e.consume(g),g===92?c:f}function c(g){return g===91||g===92||g===93?(e.consume(g),o++,f):f(g)}function d(g){return g===58?(e.enter("definitionMarker"),e.consume(g),e.exit("definitionMarker"),i.includes(l)||i.push(l),Y(e,p,"gfmFootnoteDefinitionWhitespace")):n(g)}function p(g){return t(g)}}function QC(e,t,n){return e.check(bi,t,e.attempt(BC,t,n))}function qC(e){e.exit("gfmFootnoteDefinition")}function KC(e,t,n){const r=this;return Y(e,i,"gfmFootnoteDefinitionIndent",5);function i(l){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(l):n(l)}}function YC(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:l,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,s){let a=-1;for(;++a<o.length;)if(o[a][0]==="enter"&&o[a][1].type==="strikethroughSequenceTemporary"&&o[a][1]._close){let u=a;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[a][1].end.offset-o[a][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[a][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";const f={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[a][1].end)},c={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[a][1].start)},d=[["enter",f,s],["enter",o[u][1],s],["exit",o[u][1],s],["enter",c,s]],p=s.parser.constructs.insideSpan.null;p&&Xe(d,d.length,0,ao(p,o.slice(u+1,a),s)),Xe(d,d.length,0,[["exit",c,s],["enter",o[a][1],s],["exit",o[a][1],s],["exit",f,s]]),Xe(o,u-1,a-u+3,d),a=u+d.length-2;break}}for(a=-1;++a<o.length;)o[a][1].type==="strikethroughSequenceTemporary"&&(o[a][1].type="data");return o}function l(o,s,a){const u=this.previous,f=this.events;let c=0;return d;function d(g){return u===126&&f[f.length-1][1].type!=="characterEscape"?a(g):(o.enter("strikethroughSequenceTemporary"),p(g))}function p(g){const v=pr(u);if(g===126)return c>1?a(g):(o.consume(g),c++,p);if(c<2&&!n)return a(g);const E=o.exit("strikethroughSequenceTemporary"),m=pr(g);return E._open=!m||m===2&&!!v,E._close=!v||v===2&&!!m,s(g)}}}class XC{constructor(){this.map=[]}add(t,n,r){GC(this,t,n,r)}consume(t){if(this.map.sort(function(l,o){return l[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const l of i)t.push(l);i=r.pop()}this.map.length=0}}function GC(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function JC(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const l=r.length-1;r[l]=r[l]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function ZC(){return{flow:{null:{name:"table",tokenize:eE,resolveAll:tE}}}}function eE(e,t,n){const r=this;let i=0,l=0,o;return s;function s(S){let z=r.events.length-1;for(;z>-1;){const G=r.events[z][1].type;if(G==="lineEnding"||G==="linePrefix")z--;else break}const D=z>-1?r.events[z][1].type:null,W=D==="tableHead"||D==="tableRow"?C:a;return W===C&&r.parser.lazy[r.now().line]?n(S):W(S)}function a(S){return e.enter("tableHead"),e.enter("tableRow"),u(S)}function u(S){return S===124||(o=!0,l+=1),f(S)}function f(S){return S===null?n(S):B(S)?l>1?(l=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),p):n(S):V(S)?Y(e,f,"whitespace")(S):(l+=1,o&&(o=!1,i+=1),S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),o=!0,f):(e.enter("data"),c(S)))}function c(S){return S===null||S===124||te(S)?(e.exit("data"),f(S)):(e.consume(S),S===92?d:c)}function d(S){return S===92||S===124?(e.consume(S),c):c(S)}function p(S){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(S):(e.enter("tableDelimiterRow"),o=!1,V(S)?Y(e,g,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(S):g(S))}function g(S){return S===45||S===58?E(S):S===124?(o=!0,e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),v):T(S)}function v(S){return V(S)?Y(e,E,"whitespace")(S):E(S)}function E(S){return S===58?(l+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),m):S===45?(l+=1,m(S)):S===null||B(S)?P(S):T(S)}function m(S){return S===45?(e.enter("tableDelimiterFiller"),y(S)):T(S)}function y(S){return S===45?(e.consume(S),y):S===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(S))}function x(S){return V(S)?Y(e,P,"whitespace")(S):P(S)}function P(S){return S===124?g(S):S===null||B(S)?!o||i!==l?T(S):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(S)):T(S)}function T(S){return n(S)}function C(S){return e.enter("tableRow"),N(S)}function N(S){return S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),N):S===null||B(S)?(e.exit("tableRow"),t(S)):V(S)?Y(e,N,"whitespace")(S):(e.enter("data"),I(S))}function I(S){return S===null||S===124||te(S)?(e.exit("data"),N(S)):(e.consume(S),S===92?b:I)}function b(S){return S===92||S===124?(e.consume(S),I):I(S)}}function tE(e,t){let n=-1,r=!0,i=0,l=[0,0,0,0],o=[0,0,0,0],s=!1,a=0,u,f,c;const d=new XC;for(;++n<e.length;){const p=e[n],g=p[1];p[0]==="enter"?g.type==="tableHead"?(s=!1,a!==0&&(Wf(d,t,a,u,f),f=void 0,a=0),u={type:"table",start:Object.assign({},g.start),end:Object.assign({},g.end)},d.add(n,0,[["enter",u,t]])):g.type==="tableRow"||g.type==="tableDelimiterRow"?(r=!0,c=void 0,l=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,f={type:"tableBody",start:Object.assign({},g.start),end:Object.assign({},g.end)},d.add(n,0,[["enter",f,t]])),i=g.type==="tableDelimiterRow"?2:f?3:1):i&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(l[1]!==0&&(o[0]=o[1],c=Xi(d,t,l,i,void 0,c),l=[0,0,0,0]),o[2]=n)):g.type==="tableCellDivider"&&(r?r=!1:(l[1]!==0&&(o[0]=o[1],c=Xi(d,t,l,i,void 0,c)),l=o,o=[l[1],n,0,0])):g.type==="tableHead"?(s=!0,a=n):g.type==="tableRow"||g.type==="tableDelimiterRow"?(a=n,l[1]!==0?(o[0]=o[1],c=Xi(d,t,l,i,n,c)):o[1]!==0&&(c=Xi(d,t,o,i,n,c)),i=0):i&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")&&(o[3]=n)}for(a!==0&&Wf(d,t,a,u,f),d.consume(t.events),n=-1;++n<t.events.length;){const p=t.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=JC(t.events,n))}return e}function Xi(e,t,n,r,i,l){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",s="tableContent";n[0]!==0&&(l.end=Object.assign({},Bn(t.events,n[0])),e.add(n[0],0,[["exit",l,t]]));const a=Bn(t.events,n[1]);if(l={type:o,start:Object.assign({},a),end:Object.assign({},a)},e.add(n[1],0,[["enter",l,t]]),n[2]!==0){const u=Bn(t.events,n[2]),f=Bn(t.events,n[3]),c={type:s,start:Object.assign({},u),end:Object.assign({},f)};if(e.add(n[2],0,[["enter",c,t]]),r!==2){const d=t.events[n[2]],p=t.events[n[3]];if(d[1].end=Object.assign({},p[1].end),d[1].type="chunkText",d[1].contentType="text",n[3]>n[2]+1){const g=n[2]+1,v=n[3]-n[2]-1;e.add(g,v,[])}}e.add(n[3]+1,0,[["exit",c,t]])}return i!==void 0&&(l.end=Object.assign({},Bn(t.events,i)),e.add(i,0,[["exit",l,t]]),l=void 0),l}function Wf(e,t,n,r,i){const l=[],o=Bn(t.events,n);i&&(i.end=Object.assign({},o),l.push(["exit",i,t])),r.end=Object.assign({},o),l.push(["exit",r,t]),e.add(n+1,0,l)}function Bn(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const nE={name:"tasklistCheck",tokenize:iE};function rE(){return{text:{91:nE}}}function iE(e,t,n){const r=this;return i;function i(a){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(a):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),l)}function l(a){return te(a)?(e.enter("taskListCheckValueUnchecked"),e.consume(a),e.exit("taskListCheckValueUnchecked"),o):a===88||a===120?(e.enter("taskListCheckValueChecked"),e.consume(a),e.exit("taskListCheckValueChecked"),o):n(a)}function o(a){return a===93?(e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):n(a)}function s(a){return B(a)?t(a):V(a)?e.check({tokenize:lE},t,n)(a):n(a)}}function lE(e,t,n){return Y(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function oE(e){return Lh([_C(),UC(),YC(e),ZC(),rE()])}const sE={};function dl(e){const t=this,n=e||sE,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),l=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(oE(n)),l.push(PC()),o.push(jC(n))}const aE={comment:"💬",suggestion:"💡",question:"❓",issue:"🚨"},uE={low:"bg-gray-100 text-gray-600",medium:"bg-yellow-100 text-yellow-700",high:"bg-red-100 text-red-700"};function cE(){var C;const{id:e}=Dx(),{lastMessage:t}=xr(),[n,r]=_.useState(null),[i,l]=_.useState([]),[o,s]=_.useState(null),[a,u]=_.useState(!0),[f,c]=_.useState("proposal"),[d,p]=_.useState(!1),[g,v]=_.useState({proposal:[],design:[],tasks:[],summary:null});_.useEffect(()=>{async function N(){if(e)try{const[I,b,S]=await Promise.all([yn.get(e),Dr.get(e),yn.getReviews(e)]);r(I.change),l(b.tasks),s(b.progress),v(S)}catch(I){console.error("Failed to fetch change:",I)}finally{u(!1)}}N()},[e]),_.useEffect(()=>{if(!t||!e)return;const{event:N,data:I}=t;if(N==="review:added"&&I.changeId===e){const b=I.targetType;b&&I.review&&v(S=>({...S,[b]:[...S[b],I.review]}))}if(N==="review:resolved"&&I.changeId===e){const b=I.targetType;b&&I.reviewId&&v(S=>({...S,[b]:S[b].map(z=>z.id===I.reviewId?{...z,status:I.status||"resolved"}:z)}))}N==="reviews:updated"&&I.changeId===e&&yn.getReviews(e).then(b=>{v(b)}).catch(b=>{console.error("Failed to refresh reviews:",b)}),N==="tasks:updated"&&I.changeId===e&&Dr.get(e).then(b=>{l(b.tasks),s(b.progress)}).catch(b=>{console.error("Failed to refresh tasks:",b)}),N==="task:updated"&&I.changeId===e&&l(b=>b.map(S=>S.id===I.taskId?{...S,status:I.status}:S)),N==="change:content_updated"&&I.changeId===e&&yn.get(e).then(b=>{r(b.change)}).catch(b=>{console.error("Failed to refresh change:",b)})},[t,e]);const E=async(N,I)=>{if(e)try{await Dr.update(e,N,I);const b=await Dr.get(e);l(b.tasks),s(b.progress)}catch(b){console.error("Failed to update task:",b)}},m=async(N,I)=>{if(e)try{await yn.resolveReview(e,N,I),v(b=>({...b,[I]:b[I].map(S=>S.id===N?{...S,status:"resolved"}:S)}))}catch(b){console.error("Failed to resolve review:",b)}};if(a)return h.jsx("div",{className:"flex justify-center items-center h-64",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"})});if(!n)return h.jsxs("div",{className:"text-center py-12",children:[h.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Change not found"}),h.jsx(rn,{to:"/changes",className:"text-blue-500 hover:text-blue-700 mt-2 inline-block",children:"← Back to changes"})]});const y=g[f].filter(N=>N.status==="open"),x=g[f].filter(N=>N.status!=="open"),P=d?x:y,T=((C=g.summary)==null?void 0:C.hasBlockingIssues)||!1;return h.jsxs("div",{className:"space-y-6",children:[h.jsxs("div",{className:"flex justify-between items-start",children:[h.jsxs("div",{children:[h.jsx(rn,{to:"/changes",className:"text-blue-500 hover:text-blue-700 text-sm",children:"← Back to changes"}),h.jsx("h2",{className:"text-2xl font-bold text-gray-900 mt-2",children:n.title}),h.jsx("p",{className:"text-gray-500",children:n.id})]}),h.jsxs("div",{className:"flex items-center space-x-2",children:[T&&h.jsx("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium",children:"🚨 Blocking Issues"}),g.summary&&g.summary.open>0&&h.jsxs("span",{className:"px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm font-medium",children:[g.summary.open," open reviews"]}),h.jsx("span",{className:`status-badge ${n.status==="active"?"status-implementing":"status-completed"}`,children:n.status})]})]}),o&&h.jsxs("div",{className:"bg-white rounded-lg shadow p-4",children:[h.jsxs("div",{className:"flex justify-between items-center mb-2",children:[h.jsx("span",{className:"text-sm font-medium text-gray-700",children:"Progress"}),h.jsxs("span",{className:"text-sm text-gray-500",children:[o.completed,"/",o.total," tasks (",o.percentage,"%)"]})]}),h.jsx("div",{className:"w-full h-3 bg-gray-200 rounded-full",children:h.jsx("div",{className:"h-full bg-blue-500 rounded-full transition-all duration-300",style:{width:`${o.percentage}%`}})}),h.jsxs("div",{className:"flex justify-between mt-2 text-xs text-gray-500",children:[h.jsxs("span",{children:["✅ ",o.completed," done"]}),h.jsxs("span",{children:["🔄 ",o.inProgress," in progress"]}),h.jsxs("span",{children:["⏳ ",o.pending," pending"]})]})]}),h.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-4 gap-6",children:[h.jsxs("div",{className:"lg:col-span-3",children:[h.jsx("div",{className:"border-b border-gray-200",children:h.jsx("nav",{className:"flex space-x-8",children:["proposal","tasks","design"].map(N=>{const I=g[N].filter(b=>b.status==="open");return h.jsxs("button",{onClick:()=>c(N),className:`py-4 px-1 border-b-2 font-medium text-sm flex items-center ${f===N?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"}`,children:[N.charAt(0).toUpperCase()+N.slice(1),I.length>0&&h.jsx("span",{className:"ml-2 bg-blue-100 text-blue-600 px-2 py-0.5 rounded-full text-xs",children:I.length})]},N)})})}),h.jsxs("div",{className:"bg-white rounded-lg shadow mt-4",children:[f==="proposal"&&h.jsx("div",{className:"p-6 prose prose-sm max-w-none",children:n.proposal?h.jsx(fl,{remarkPlugins:[dl],children:n.proposal}):h.jsx("p",{className:"text-gray-500",children:"No proposal content."})}),f==="tasks"&&h.jsx("div",{className:"p-6",children:i.length===0?h.jsx("p",{className:"text-gray-500",children:"No tasks defined."}):h.jsx("div",{className:"space-y-2",children:i.map(N=>h.jsxs("div",{className:"flex items-center justify-between p-3 rounded border hover:bg-gray-50",children:[h.jsxs("div",{className:"flex items-center space-x-3",children:[h.jsxs("button",{onClick:()=>{const I=N.status==="pending"?"in_progress":N.status==="in_progress"?"done":"pending";E(N.id,I)},className:`w-6 h-6 rounded-full border-2 flex items-center justify-center ${N.status==="done"?"bg-green-500 border-green-500 text-white":N.status==="in_progress"?"bg-blue-500 border-blue-500 text-white":"border-gray-300"}`,children:[N.status==="done"&&"✓",N.status==="in_progress"&&"●"]}),h.jsxs("div",{children:[h.jsxs("span",{className:"font-mono text-sm text-gray-500",children:["[",N.id,"]"]}),h.jsx("span",{className:"ml-2",children:N.title})]})]}),h.jsx("span",{className:`text-xs ${N.status==="done"?"text-green-600":N.status==="in_progress"?"text-blue-600":"text-gray-400"}`,children:N.status})]},N.id))})}),f==="design"&&h.jsx("div",{className:"p-6 prose prose-sm max-w-none",children:n.design?h.jsx(fl,{remarkPlugins:[dl],children:n.design}):h.jsx("p",{className:"text-gray-500",children:"No design document."})})]})]}),h.jsx("div",{className:"lg:col-span-1 h-[calc(100vh-200px)]",children:h.jsxs("div",{className:"bg-white rounded-lg shadow h-full flex flex-col",children:[h.jsxs("div",{className:"p-4 border-b border-gray-200",children:[h.jsxs("h3",{className:"font-semibold text-gray-700 mb-2",children:["Reviews ",h.jsxs("span",{className:"text-xs text-gray-400",children:["for ",f]})]}),h.jsxs("div",{className:"flex space-x-1",children:[h.jsxs("button",{onClick:()=>p(!1),className:`px-3 py-1 text-xs rounded-full transition-colors ${d?"bg-gray-100 text-gray-500 hover:bg-gray-200":"bg-blue-100 text-blue-700"}`,children:["Open (",y.length,")"]}),h.jsxs("button",{onClick:()=>p(!0),className:`px-3 py-1 text-xs rounded-full transition-colors ${d?"bg-green-100 text-green-700":"bg-gray-100 text-gray-500 hover:bg-gray-200"}`,children:["Resolved (",x.length,")"]})]})]}),h.jsx("div",{className:"flex-1 p-4 space-y-3 overflow-y-auto",children:P.length===0?h.jsxs("div",{className:"text-center py-8",children:[h.jsx("p",{className:"text-sm text-gray-400",children:d?"No resolved reviews":"No open reviews"}),!d&&h.jsxs("p",{className:"text-xs text-gray-400 mt-1",children:["Use ",h.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"openspec_add_review"})]})]}):P.map(N=>h.jsxs("div",{className:"p-3 bg-gray-50 rounded-lg border border-gray-200 group hover:border-blue-300 transition-colors",children:[h.jsxs("div",{className:"flex justify-between items-start mb-2",children:[h.jsxs("div",{className:"flex items-center space-x-1",children:[h.jsx("span",{className:"text-lg",children:aE[N.type]}),N.severity&&h.jsx("span",{className:`px-1.5 py-0.5 rounded text-xs ${uE[N.severity]}`,children:N.severity}),N.lineNumber&&h.jsxs("span",{className:"text-xs text-gray-400",children:["L",N.lineNumber]})]}),N.status==="open"?h.jsx("button",{onClick:()=>m(N.id,f),className:"text-green-500 hover:text-green-700 opacity-0 group-hover:opacity-100 transition-opacity",title:"Resolve",children:"✓"}):h.jsx("span",{className:`text-xs px-2 py-0.5 rounded ${N.status==="resolved"?"bg-green-100 text-green-600":"bg-gray-100 text-gray-500"}`,children:N.status==="resolved"?"✓ resolved":"⏭️ won't fix"})]}),h.jsx("div",{className:"prose prose-xs max-w-none text-gray-700",children:h.jsx(fl,{remarkPlugins:[dl],children:N.body})}),h.jsxs("div",{className:"text-xs text-gray-400 mt-2",children:["by ",N.author," • ",new Date(N.createdAt).toLocaleDateString()]})]},N.id))})]})})]})]})}const Qf={comment:"💬",suggestion:"💡",question:"❓",issue:"🚨"},qf={low:"bg-gray-100 text-gray-600",medium:"bg-yellow-100 text-yellow-700",high:"bg-red-100 text-red-700"};function fE(){const{lastMessage:e}=xr(),[t,n]=_.useState([]),[r,i]=_.useState(!0),[l,o]=_.useState(null),[s,a]=_.useState([]),[u,f]=_.useState(null),[c,d]=_.useState(""),[p,g]=_.useState("comment"),[v,E]=_.useState("medium"),m=_.useRef(null),y=async()=>{try{const b=await gn.list();n(b.specs)}catch(b){console.error("Failed to fetch specs:",b)}};_.useEffect(()=>{y().finally(()=>i(!1))},[]),_.useEffect(()=>{if(!e)return;const{event:b,data:S}=e;(b==="file:changed"||b==="reviews:updated")&&(y(),l&&b==="reviews:updated"&&(S==null?void 0:S.targetType)==="spec"&&gn.listReviews(l.id).then(z=>{a(z.reviews)}).catch(console.error))},[e,l]);const x=async b=>{try{const S=await gn.get(b);o(S.spec),f(null),d("");const z=await gn.listReviews(b);a(z.reviews)}catch(S){console.error("Failed to fetch spec:",S)}},P=()=>{const b=window.getSelection(),S=m.current;if(!b||b.isCollapsed||!S){f(null);return}const z=b.getRangeAt(0),D=k=>{var q;return k.nodeType===Node.ELEMENT_NODE?!!k.closest("[data-review-overlay]"):!!((q=k==null?void 0:k.parentElement)!=null&&q.closest("[data-review-overlay]"))};if(!S.contains(z.startContainer)||!S.contains(z.endContainer)||D(z.startContainer)||D(z.endContainer)){f(null);return}const W=b.toString();if(!W.trim()){f(null);return}const G=z.cloneRange();G.selectNodeContents(S),G.setEnd(z.startContainer,z.startOffset);const pe=(G.toString().match(/\n/g)||[]).length+1,ue=S.getBoundingClientRect(),O=z.getBoundingClientRect(),M=Math.max(O.top-ue.top+S.scrollTop-180,12);f({text:W,lineNumber:pe,popupTop:M})},T=async()=>{const b=c.trim();if(!(!u||!b||!l))try{const S=await gn.addReview(l.id,b,p,{lineNumber:u.lineNumber,severity:p==="issue"?v:void 0});a(z=>[...z,S.review]),f(null),d("")}catch(S){console.error("Failed to add review:",S),alert("Failed to save review")}},C=async(b,S="resolved")=>{if(l)try{await gn.resolveReview(l.id,b,S),a(z=>z.map(D=>D.id===b?{...D,status:S,resolvedAt:new Date().toISOString()}:D))}catch(z){console.error("Failed to resolve review:",z)}};if(r)return h.jsx("div",{className:"flex justify-center items-center h-64",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-indigo-500"})});const N=s.filter(b=>b.status==="open"),I=N.some(b=>b.type==="issue"&&b.severity==="high");return h.jsxs("div",{className:"space-y-6 h-[calc(100vh-120px)] flex flex-col",children:[h.jsxs("div",{className:"flex justify-between items-center",children:[h.jsx("h2",{className:"text-2xl font-bold text-gray-900",children:"Specifications"}),l&&N.length>0&&h.jsxs("div",{className:"flex items-center space-x-2",children:[I&&h.jsx("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium",children:"🚨 Blocking Issues"}),h.jsxs("span",{className:"text-sm text-gray-500",children:[N.length," open review",N.length!==1?"s":""]})]})]}),h.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-6 flex-1 min-h-0",children:[h.jsx("div",{className:"lg:col-span-3 bg-white rounded-xl shadow-sm border border-gray-100 overflow-y-auto",children:t.length===0?h.jsx("div",{className:"p-8 text-center text-gray-500",children:"No specs found."}):h.jsx("div",{className:"divide-y divide-gray-50",children:t.map(b=>h.jsxs("button",{onClick:()=>x(b.id),className:`w-full text-left p-4 hover:bg-gray-50 transition-colors ${(l==null?void 0:l.id)===b.id?"bg-indigo-50 border-l-4 border-indigo-500":"border-l-4 border-transparent"}`,children:[h.jsx("div",{className:"font-semibold text-gray-900",children:b.title}),h.jsx("div",{className:"text-xs text-gray-500 mt-1 font-mono",children:b.id})]},b.id))})}),h.jsx("div",{className:"lg:col-span-6 bg-white rounded-xl shadow-sm border border-gray-100 flex flex-col min-h-0",children:l?h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"p-4 border-b border-gray-100 bg-gray-50/50 rounded-t-xl flex justify-between items-center",children:h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-bold text-gray-900",children:l.title}),h.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:"Select text to add review comment"})]})}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-6 relative",ref:m,onMouseUp:P,children:[h.jsx("div",{className:"prose prose-sm max-w-none prose-headings:font-bold prose-h1:text-xl prose-h2:text-lg prose-h3:text-base prose-code:bg-gray-100 prose-code:px-1 prose-code:rounded prose-pre:bg-gray-50",children:h.jsx(fl,{remarkPlugins:[dl],children:l.content})}),u&&h.jsxs("div",{className:"absolute z-10 bg-white rounded-lg shadow-xl border border-gray-200 p-4 w-80 animate-fade-in","data-review-overlay":!0,style:{top:u.popupTop,right:20},children:[h.jsx("div",{className:"text-xs font-semibold text-gray-500 mb-2 uppercase tracking-wider flex justify-between items-center",children:h.jsxs("span",{children:["Add Review (Line ",u.lineNumber,")"]})}),h.jsxs("div",{className:"mb-2 p-2 bg-indigo-50 rounded text-xs text-indigo-800 border-l-2 border-indigo-300 italic truncate",children:['"',u.text.trim().substring(0,60),u.text.length>60?"...":"",'"']}),h.jsx("div",{className:"flex space-x-1 mb-2",children:["comment","suggestion","question","issue"].map(b=>h.jsxs("button",{onClick:()=>g(b),className:`px-2 py-1 text-xs rounded ${p===b?"bg-indigo-600 text-white":"bg-gray-100 text-gray-600 hover:bg-gray-200"}`,children:[Qf[b]," ",b]},b))}),p==="issue"&&h.jsx("div",{className:"flex space-x-1 mb-2",children:["low","medium","high"].map(b=>h.jsx("button",{onClick:()=>E(b),className:`px-2 py-1 text-xs rounded ${v===b?qf[b]+" ring-2 ring-offset-1":"bg-gray-100 text-gray-600"}`,children:b},b))}),h.jsx("textarea",{autoFocus:!0,className:"w-full text-sm border-gray-300 rounded-md focus:ring-indigo-500 focus:border-indigo-500 mb-2",rows:3,placeholder:"Your review comment...",value:c,onChange:b=>d(b.target.value)}),h.jsxs("div",{className:"flex justify-end space-x-2",children:[h.jsx("button",{onClick:()=>f(null),className:"px-3 py-1 text-xs text-gray-600 hover:bg-gray-100 rounded",children:"Cancel"}),h.jsx("button",{onClick:T,className:"px-3 py-1 text-xs bg-indigo-600 text-white rounded hover:bg-indigo-700 font-medium",children:"Add Review"})]})]})]})]}):h.jsxs("div",{className:"flex-1 flex flex-col justify-center items-center text-gray-400 p-8",children:[h.jsx("svg",{className:"w-16 h-16 mb-4 opacity-20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})}),h.jsx("p",{children:"Select a specification to view and review"})]})}),h.jsxs("div",{className:"lg:col-span-3 bg-gray-50 rounded-xl border border-gray-200 flex flex-col min-h-0",children:[h.jsx("div",{className:"p-4 border-b border-gray-200 bg-white rounded-t-xl",children:h.jsxs("h3",{className:"font-semibold text-gray-700 flex items-center",children:[h.jsx("span",{children:"Reviews"}),h.jsx("span",{className:"ml-2 bg-gray-200 text-gray-600 px-2 py-0.5 rounded-full text-xs",children:N.length})]})}),h.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-4",children:N.length===0?h.jsxs("div",{className:"text-center py-10",children:[h.jsx("p",{className:"text-sm text-gray-400",children:"No reviews yet."}),h.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Select text in the spec to add one."})]}):N.map(b=>h.jsxs("div",{className:"bg-white p-3 rounded-lg shadow-sm border border-gray-200 group hover:border-indigo-300 transition-colors",children:[h.jsxs("div",{className:"flex justify-between items-start mb-2",children:[h.jsxs("div",{className:"flex items-center space-x-2",children:[h.jsx("span",{className:"text-lg",children:Qf[b.type]}),b.severity&&h.jsx("span",{className:`px-1.5 py-0.5 rounded text-xs ${qf[b.severity]}`,children:b.severity}),b.lineNumber&&h.jsxs("span",{className:"text-xs text-gray-400",children:["L",b.lineNumber]})]}),h.jsxs("div",{className:"flex space-x-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[h.jsx("button",{className:"text-green-500 hover:text-green-700 text-xs",onClick:()=>C(b.id,"resolved"),title:"Resolve",children:"✓"}),h.jsx("button",{className:"text-gray-400 hover:text-gray-600 text-xs",onClick:()=>C(b.id,"wont_fix"),title:"Won't fix",children:"×"})]})]}),h.jsx("div",{className:"text-sm text-gray-800",children:b.body}),b.replies.length>0&&h.jsxs("div",{className:"mt-2 pt-2 border-t border-gray-100 text-xs text-gray-500",children:["💭 ",b.replies.length," replies"]})]},b.id))})]})]})]})}function dE(){const{lastMessage:e}=xr(),[t,n]=_.useState([]),[r,i]=_.useState(!0),[l,o]=_.useState(!1),[s,a]=_.useState({type:null,changeId:""}),[u,f]=_.useState({name:"",comment:""});async function c(){try{const v=l?await Fr.list():await Fr.listPending();n(v.approvals)}catch(v){console.error("Failed to fetch approvals:",v)}}_.useEffect(()=>{i(!0),c().finally(()=>i(!1))},[l]),_.useEffect(()=>{if(!e)return;const{event:v}=e;["approval:requested","approval:approved","approval:rejected"].includes(v)&&c()},[e]);const d=async()=>{if(u.name)try{await Fr.approve(s.changeId,u.name,u.comment||void 0),a({type:null,changeId:""}),f({name:"",comment:""}),c()}catch(v){console.error("Failed to approve:",v)}},p=async()=>{if(!(!u.name||!u.comment))try{await Fr.reject(s.changeId,u.name,u.comment),a({type:null,changeId:""}),f({name:"",comment:""}),c()}catch(v){console.error("Failed to reject:",v)}},g=v=>({draft:"status-draft",pending_approval:"status-pending",approved:"status-approved",rejected:"status-rejected",implementing:"status-implementing",completed:"status-completed"})[v]||"status-draft";return r?h.jsx("div",{className:"flex justify-center items-center h-64",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"})}):h.jsxs("div",{className:"space-y-6",children:[h.jsxs("div",{className:"flex justify-between items-center",children:[h.jsx("h2",{className:"text-2xl font-bold text-gray-900",children:"Approval Queue"}),h.jsxs("label",{className:"flex items-center space-x-2 text-sm",children:[h.jsx("input",{type:"checkbox",checked:l,onChange:v=>o(v.target.checked),className:"rounded border-gray-300"}),h.jsx("span",{children:"Show all"})]})]}),t.length===0?h.jsx("div",{className:"bg-white rounded-lg shadow p-8 text-center text-gray-500",children:l?"No approval records found.":"No pending approvals."}):h.jsx("div",{className:"bg-white rounded-lg shadow overflow-hidden",children:h.jsxs("table",{className:"min-w-full divide-y divide-gray-200",children:[h.jsx("thead",{className:"bg-gray-50",children:h.jsxs("tr",{children:[h.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Change"}),h.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Status"}),h.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Requested"}),h.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Actions"})]})}),h.jsx("tbody",{className:"bg-white divide-y divide-gray-200",children:t.map(v=>h.jsxs("tr",{className:"hover:bg-gray-50",children:[h.jsxs("td",{className:"px-6 py-4",children:[h.jsx("div",{className:"font-medium text-gray-900",children:v.changeId}),v.requestedBy&&h.jsxs("div",{className:"text-sm text-gray-500",children:["by ",v.requestedBy]})]}),h.jsx("td",{className:"px-6 py-4",children:h.jsx("span",{className:`status-badge ${g(v.status)}`,children:v.status.replace("_"," ")})}),h.jsx("td",{className:"px-6 py-4 text-sm text-gray-500",children:v.requestedAt?new Date(v.requestedAt).toLocaleString():"-"}),h.jsx("td",{className:"px-6 py-4",children:v.status==="pending_approval"&&h.jsxs("div",{className:"flex space-x-2",children:[h.jsx("button",{onClick:()=>a({type:"approve",changeId:v.changeId}),className:"px-3 py-1 bg-green-500 text-white text-sm rounded hover:bg-green-600",children:"Approve"}),h.jsx("button",{onClick:()=>a({type:"reject",changeId:v.changeId}),className:"px-3 py-1 bg-red-500 text-white text-sm rounded hover:bg-red-600",children:"Reject"})]})})]},v.changeId))})]})}),s.type&&h.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:h.jsxs("div",{className:"bg-white rounded-lg shadow-xl p-6 w-full max-w-md",children:[h.jsx("h3",{className:"text-lg font-semibold mb-4",children:s.type==="approve"?"Approve Change":"Reject Change"}),h.jsxs("div",{className:"space-y-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Your Name"}),h.jsx("input",{type:"text",value:u.name,onChange:v=>f({...u,name:v.target.value}),className:"w-full border rounded-md px-3 py-2",placeholder:"Enter your name"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:s.type==="approve"?"Comment (optional)":"Reason (required)"}),h.jsx("textarea",{value:u.comment,onChange:v=>f({...u,comment:v.target.value}),className:"w-full border rounded-md px-3 py-2",rows:3,placeholder:s.type==="approve"?"Optional comment...":"Explain why this is rejected..."})]})]}),h.jsxs("div",{className:"flex justify-end space-x-3 mt-6",children:[h.jsx("button",{onClick:()=>{a({type:null,changeId:""}),f({name:"",comment:""})},className:"px-4 py-2 border rounded-md hover:bg-gray-50",children:"Cancel"}),h.jsx("button",{onClick:s.type==="approve"?d:p,className:`px-4 py-2 text-white rounded-md ${s.type==="approve"?"bg-green-500 hover:bg-green-600":"bg-red-500 hover:bg-red-600"}`,children:s.type==="approve"?"Approve":"Reject"})]})]})})]})}function pE(){const e=Ei(),{connected:t}=xr(),[n,r]=_.useState(null);_.useEffect(()=>{let l=!0;return f0.get().then(({project:o})=>{l&&r(o.name)}).catch(()=>{}),()=>{l=!1}},[]);const i=[{path:"/",label:"Dashboard"},{path:"/changes",label:"Changes"},{path:"/specs",label:"Specs"},{path:"/approvals",label:"Approvals"}];return h.jsxs("div",{className:"min-h-screen bg-gray-50",children:[h.jsx("header",{className:"bg-white shadow-sm",children:h.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:h.jsxs("div",{className:"flex justify-between items-center py-4",children:[h.jsxs("div",{className:"flex items-center space-x-4",children:[h.jsx("h1",{className:"text-xl font-bold text-gray-900",children:"OpenSpec MCP"}),n?h.jsx("span",{className:"text-sm text-gray-500",title:n,children:n}):null,h.jsx("span",{className:`inline-flex items-center px-2 py-1 rounded text-xs ${t?"bg-green-100 text-green-800":"bg-red-100 text-red-800"}`,children:t?"● Connected":"○ Disconnected"})]}),h.jsx("nav",{className:"flex space-x-4",children:i.map(l=>h.jsx(rn,{to:l.path,className:`px-3 py-2 rounded-md text-sm font-medium ${e.pathname===l.path?"bg-gray-100 text-gray-900":"text-gray-500 hover:text-gray-900 hover:bg-gray-50"}`,children:l.label},l.path))})]})})}),h.jsx("main",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:h.jsxs(Zx,{children:[h.jsx(Mn,{path:"/",element:h.jsx(d0,{})}),h.jsx(Mn,{path:"/changes",element:h.jsx(x0,{})}),h.jsx(Mn,{path:"/changes/:id",element:h.jsx(cE,{})}),h.jsx(Mn,{path:"/specs",element:h.jsx(fE,{})}),h.jsx(Mn,{path:"/approvals",element:h.jsx(dE,{})})]})})]})}ts.createRoot(document.getElementById("root")).render(h.jsx(id.StrictMode,{children:h.jsx(o0,{children:h.jsx(pE,{})})}));
|
|
99
|
+
`))}function a(p,g,v,E){const m=v.enter("tableCell"),y=v.enter("phrasing"),x=v.containerPhrasing(p,{...E,before:l,after:l});return y(),m(),x}function u(p,g){return OS(p,{align:g,alignDelimiters:r,padding:n,stringLength:i})}function f(p,g,v){const E=p.children;let m=-1;const y=[],x=g.enter("table");for(;++m<E.length;)y[m]=c(E[m],g,v);return x(),y}function c(p,g,v){const E=p.children;let m=-1;const y=[],x=g.enter("tableRow");for(;++m<E.length;)y[m]=a(E[m],p,g,v);return x(),y}function d(p,g,v){let E=hm.inlineCode(p,g,v);return v.stack.includes("tableCell")&&(E=E.replace(/\|/g,"\\$&")),E}}function CC(){return{exit:{taskListCheckValueChecked:Hf,taskListCheckValueUnchecked:Hf,paragraph:NC}}}function EC(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:bC}}}function Hf(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function NC(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let l=-1,o;for(;++l<i.length;){const s=i[l];if(s.type==="paragraph"){o=s;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function bC(e,t,n,r){const i=e.children[0],l=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",s=n.createTracker(r);l&&s.move(o);let a=hm.listItem(e,t,n,{...r,...s.current()});return l&&(a=a.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),a;function u(f){return f+o}}function PC(){return[lS(),bS(),IS(),gC(),CC()]}function jC(e){return{extensions:[oS(),PS(e),_S(),SC(e),EC()]}}const TC={tokenize:AC,partial:!0},mm={tokenize:OC,partial:!0},gm={tokenize:DC,partial:!0},ym={tokenize:FC,partial:!0},IC={tokenize:MC,partial:!0},xm={name:"wwwAutolink",tokenize:RC,previous:km},vm={name:"protocolAutolink",tokenize:zC,previous:wm},Dt={name:"emailAutolink",tokenize:LC,previous:Sm},Et={};function _C(){return{text:Et}}let pn=48;for(;pn<123;)Et[pn]=Dt,pn++,pn===58?pn=65:pn===91&&(pn=97);Et[43]=Dt;Et[45]=Dt;Et[46]=Dt;Et[95]=Dt;Et[72]=[Dt,vm];Et[104]=[Dt,vm];Et[87]=[Dt,xm];Et[119]=[Dt,xm];function LC(e,t,n){const r=this;let i,l;return o;function o(c){return!aa(c)||!Sm.call(r,r.previous)||Nu(r.events)?n(c):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(c))}function s(c){return aa(c)?(e.consume(c),s):c===64?(e.consume(c),a):n(c)}function a(c){return c===46?e.check(IC,f,u)(c):c===45||c===95||Ie(c)?(l=!0,e.consume(c),a):f(c)}function u(c){return e.consume(c),i=!0,a}function f(c){return l&&i&&ze(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(c)):n(c)}}function RC(e,t,n){const r=this;return i;function i(o){return o!==87&&o!==119||!km.call(r,r.previous)||Nu(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(TC,e.attempt(mm,e.attempt(gm,l),n),n)(o))}function l(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function zC(e,t,n){const r=this;let i="",l=!1;return o;function o(c){return(c===72||c===104)&&wm.call(r,r.previous)&&!Nu(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(c),e.consume(c),s):n(c)}function s(c){if(ze(c)&&i.length<5)return i+=String.fromCodePoint(c),e.consume(c),s;if(c===58){const d=i.toLowerCase();if(d==="http"||d==="https")return e.consume(c),a}return n(c)}function a(c){return c===47?(e.consume(c),l?u:(l=!0,a)):n(c)}function u(c){return c===null||Ml(c)||te(c)||Tn(c)||so(c)?n(c):e.attempt(mm,e.attempt(gm,f),n)(c)}function f(c){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(c)}}function AC(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),l):n(o)}function l(o){return o===null?n(o):t(o)}}function OC(e,t,n){let r,i,l;return o;function o(u){return u===46||u===95?e.check(ym,a,s)(u):u===null||te(u)||Tn(u)||u!==45&&so(u)?a(u):(l=!0,e.consume(u),o)}function s(u){return u===95?r=!0:(i=r,r=void 0),e.consume(u),o}function a(u){return i||r||!l?n(u):t(u)}}function DC(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?l(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(ym,t,l)(o):o===null||te(o)||Tn(o)?t(o):(e.consume(o),i)}function l(o){return o===41&&r++,e.consume(o),i}}function FC(e,t,n){return r;function r(s){return s===33||s===34||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===63||s===95||s===126?(e.consume(s),r):s===38?(e.consume(s),l):s===93?(e.consume(s),i):s===60||s===null||te(s)||Tn(s)?t(s):n(s)}function i(s){return s===null||s===40||s===91||te(s)||Tn(s)?t(s):r(s)}function l(s){return ze(s)?o(s):n(s)}function o(s){return s===59?(e.consume(s),r):ze(s)?(e.consume(s),o):n(s)}}function MC(e,t,n){return r;function r(l){return e.consume(l),i}function i(l){return Ie(l)?n(l):t(l)}}function km(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||te(e)}function wm(e){return!ze(e)}function Sm(e){return!(e===47||aa(e))}function aa(e){return e===43||e===45||e===46||e===95||Ie(e)}function Nu(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const BC={tokenize:KC,partial:!0};function UC(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:WC,continuation:{tokenize:QC},exit:qC}},text:{91:{name:"gfmFootnoteCall",tokenize:HC},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:$C,resolveTo:VC}}}}function $C(e,t,n){const r=this;let i=r.events.length;const l=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;i--;){const a=r.events[i][1];if(a.type==="labelImage"){o=a;break}if(a.type==="gfmFootnoteCall"||a.type==="labelLink"||a.type==="label"||a.type==="image"||a.type==="link")break}return s;function s(a){if(!o||!o._balanced)return n(a);const u=mt(r.sliceSerialize({start:o.end,end:r.now()}));return u.codePointAt(0)!==94||!l.includes(u.slice(1))?n(a):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(a),e.exit("gfmFootnoteCallLabelMarker"),t(a))}}function VC(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const l={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},l.start),end:Object.assign({},l.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",l,t],["enter",o,t],["exit",o,t],["exit",l,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...s),e}function HC(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l=0,o;return s;function s(c){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),a}function a(c){return c!==94?n(c):(e.enter("gfmFootnoteCallMarker"),e.consume(c),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(c){if(l>999||c===93&&!o||c===null||c===91||te(c))return n(c);if(c===93){e.exit("chunkString");const d=e.exit("gfmFootnoteCallString");return i.includes(mt(r.sliceSerialize(d)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(c)}return te(c)||(o=!0),l++,e.consume(c),c===92?f:u}function f(c){return c===91||c===92||c===93?(e.consume(c),l++,u):u(c)}}function WC(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l,o=0,s;return a;function a(g){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(g){return g===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):n(g)}function f(g){if(o>999||g===93&&!s||g===null||g===91||te(g))return n(g);if(g===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return l=mt(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d}return te(g)||(s=!0),o++,e.consume(g),g===92?c:f}function c(g){return g===91||g===92||g===93?(e.consume(g),o++,f):f(g)}function d(g){return g===58?(e.enter("definitionMarker"),e.consume(g),e.exit("definitionMarker"),i.includes(l)||i.push(l),Y(e,p,"gfmFootnoteDefinitionWhitespace")):n(g)}function p(g){return t(g)}}function QC(e,t,n){return e.check(bi,t,e.attempt(BC,t,n))}function qC(e){e.exit("gfmFootnoteDefinition")}function KC(e,t,n){const r=this;return Y(e,i,"gfmFootnoteDefinitionIndent",5);function i(l){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(l):n(l)}}function YC(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:l,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,s){let a=-1;for(;++a<o.length;)if(o[a][0]==="enter"&&o[a][1].type==="strikethroughSequenceTemporary"&&o[a][1]._close){let u=a;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[a][1].end.offset-o[a][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[a][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";const f={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[a][1].end)},c={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[a][1].start)},d=[["enter",f,s],["enter",o[u][1],s],["exit",o[u][1],s],["enter",c,s]],p=s.parser.constructs.insideSpan.null;p&&Xe(d,d.length,0,ao(p,o.slice(u+1,a),s)),Xe(d,d.length,0,[["exit",c,s],["enter",o[a][1],s],["exit",o[a][1],s],["exit",f,s]]),Xe(o,u-1,a-u+3,d),a=u+d.length-2;break}}for(a=-1;++a<o.length;)o[a][1].type==="strikethroughSequenceTemporary"&&(o[a][1].type="data");return o}function l(o,s,a){const u=this.previous,f=this.events;let c=0;return d;function d(g){return u===126&&f[f.length-1][1].type!=="characterEscape"?a(g):(o.enter("strikethroughSequenceTemporary"),p(g))}function p(g){const v=pr(u);if(g===126)return c>1?a(g):(o.consume(g),c++,p);if(c<2&&!n)return a(g);const E=o.exit("strikethroughSequenceTemporary"),m=pr(g);return E._open=!m||m===2&&!!v,E._close=!v||v===2&&!!m,s(g)}}}class XC{constructor(){this.map=[]}add(t,n,r){GC(this,t,n,r)}consume(t){if(this.map.sort(function(l,o){return l[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const l of i)t.push(l);i=r.pop()}this.map.length=0}}function GC(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function JC(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const l=r.length-1;r[l]=r[l]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function ZC(){return{flow:{null:{name:"table",tokenize:eE,resolveAll:tE}}}}function eE(e,t,n){const r=this;let i=0,l=0,o;return s;function s(S){let z=r.events.length-1;for(;z>-1;){const G=r.events[z][1].type;if(G==="lineEnding"||G==="linePrefix")z--;else break}const D=z>-1?r.events[z][1].type:null,W=D==="tableHead"||D==="tableRow"?C:a;return W===C&&r.parser.lazy[r.now().line]?n(S):W(S)}function a(S){return e.enter("tableHead"),e.enter("tableRow"),u(S)}function u(S){return S===124||(o=!0,l+=1),f(S)}function f(S){return S===null?n(S):B(S)?l>1?(l=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),p):n(S):V(S)?Y(e,f,"whitespace")(S):(l+=1,o&&(o=!1,i+=1),S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),o=!0,f):(e.enter("data"),c(S)))}function c(S){return S===null||S===124||te(S)?(e.exit("data"),f(S)):(e.consume(S),S===92?d:c)}function d(S){return S===92||S===124?(e.consume(S),c):c(S)}function p(S){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(S):(e.enter("tableDelimiterRow"),o=!1,V(S)?Y(e,g,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(S):g(S))}function g(S){return S===45||S===58?E(S):S===124?(o=!0,e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),v):T(S)}function v(S){return V(S)?Y(e,E,"whitespace")(S):E(S)}function E(S){return S===58?(l+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),m):S===45?(l+=1,m(S)):S===null||B(S)?P(S):T(S)}function m(S){return S===45?(e.enter("tableDelimiterFiller"),y(S)):T(S)}function y(S){return S===45?(e.consume(S),y):S===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(S))}function x(S){return V(S)?Y(e,P,"whitespace")(S):P(S)}function P(S){return S===124?g(S):S===null||B(S)?!o||i!==l?T(S):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(S)):T(S)}function T(S){return n(S)}function C(S){return e.enter("tableRow"),N(S)}function N(S){return S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),N):S===null||B(S)?(e.exit("tableRow"),t(S)):V(S)?Y(e,N,"whitespace")(S):(e.enter("data"),I(S))}function I(S){return S===null||S===124||te(S)?(e.exit("data"),N(S)):(e.consume(S),S===92?b:I)}function b(S){return S===92||S===124?(e.consume(S),I):I(S)}}function tE(e,t){let n=-1,r=!0,i=0,l=[0,0,0,0],o=[0,0,0,0],s=!1,a=0,u,f,c;const d=new XC;for(;++n<e.length;){const p=e[n],g=p[1];p[0]==="enter"?g.type==="tableHead"?(s=!1,a!==0&&(Wf(d,t,a,u,f),f=void 0,a=0),u={type:"table",start:Object.assign({},g.start),end:Object.assign({},g.end)},d.add(n,0,[["enter",u,t]])):g.type==="tableRow"||g.type==="tableDelimiterRow"?(r=!0,c=void 0,l=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,f={type:"tableBody",start:Object.assign({},g.start),end:Object.assign({},g.end)},d.add(n,0,[["enter",f,t]])),i=g.type==="tableDelimiterRow"?2:f?3:1):i&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(l[1]!==0&&(o[0]=o[1],c=Xi(d,t,l,i,void 0,c),l=[0,0,0,0]),o[2]=n)):g.type==="tableCellDivider"&&(r?r=!1:(l[1]!==0&&(o[0]=o[1],c=Xi(d,t,l,i,void 0,c)),l=o,o=[l[1],n,0,0])):g.type==="tableHead"?(s=!0,a=n):g.type==="tableRow"||g.type==="tableDelimiterRow"?(a=n,l[1]!==0?(o[0]=o[1],c=Xi(d,t,l,i,n,c)):o[1]!==0&&(c=Xi(d,t,o,i,n,c)),i=0):i&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")&&(o[3]=n)}for(a!==0&&Wf(d,t,a,u,f),d.consume(t.events),n=-1;++n<t.events.length;){const p=t.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=JC(t.events,n))}return e}function Xi(e,t,n,r,i,l){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",s="tableContent";n[0]!==0&&(l.end=Object.assign({},Bn(t.events,n[0])),e.add(n[0],0,[["exit",l,t]]));const a=Bn(t.events,n[1]);if(l={type:o,start:Object.assign({},a),end:Object.assign({},a)},e.add(n[1],0,[["enter",l,t]]),n[2]!==0){const u=Bn(t.events,n[2]),f=Bn(t.events,n[3]),c={type:s,start:Object.assign({},u),end:Object.assign({},f)};if(e.add(n[2],0,[["enter",c,t]]),r!==2){const d=t.events[n[2]],p=t.events[n[3]];if(d[1].end=Object.assign({},p[1].end),d[1].type="chunkText",d[1].contentType="text",n[3]>n[2]+1){const g=n[2]+1,v=n[3]-n[2]-1;e.add(g,v,[])}}e.add(n[3]+1,0,[["exit",c,t]])}return i!==void 0&&(l.end=Object.assign({},Bn(t.events,i)),e.add(i,0,[["exit",l,t]]),l=void 0),l}function Wf(e,t,n,r,i){const l=[],o=Bn(t.events,n);i&&(i.end=Object.assign({},o),l.push(["exit",i,t])),r.end=Object.assign({},o),l.push(["exit",r,t]),e.add(n+1,0,l)}function Bn(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const nE={name:"tasklistCheck",tokenize:iE};function rE(){return{text:{91:nE}}}function iE(e,t,n){const r=this;return i;function i(a){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(a):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),l)}function l(a){return te(a)?(e.enter("taskListCheckValueUnchecked"),e.consume(a),e.exit("taskListCheckValueUnchecked"),o):a===88||a===120?(e.enter("taskListCheckValueChecked"),e.consume(a),e.exit("taskListCheckValueChecked"),o):n(a)}function o(a){return a===93?(e.enter("taskListCheckMarker"),e.consume(a),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),s):n(a)}function s(a){return B(a)?t(a):V(a)?e.check({tokenize:lE},t,n)(a):n(a)}}function lE(e,t,n){return Y(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function oE(e){return Lh([_C(),UC(),YC(e),ZC(),rE()])}const sE={};function dl(e){const t=this,n=e||sE,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),l=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(oE(n)),l.push(PC()),o.push(jC(n))}const aE={comment:"💬",suggestion:"💡",question:"❓",issue:"🚨"},uE={low:"bg-gray-100 text-gray-600",medium:"bg-yellow-100 text-yellow-700",high:"bg-red-100 text-red-700"};function cE(){var C;const{id:e}=Dx(),{lastMessage:t}=xr(),[n,r]=_.useState(null),[i,l]=_.useState([]),[o,s]=_.useState(null),[a,u]=_.useState(!0),[f,c]=_.useState("proposal"),[d,p]=_.useState(!1),[g,v]=_.useState({proposal:[],design:[],tasks:[],summary:null});_.useEffect(()=>{async function N(){if(e)try{const[I,b,S]=await Promise.all([yn.get(e),Dr.get(e),yn.getReviews(e)]);r(I.change),l(b.tasks),s(b.progress),v(S)}catch(I){console.error("Failed to fetch change:",I)}finally{u(!1)}}N()},[e]),_.useEffect(()=>{if(!t||!e)return;const{event:N,data:I}=t;if(N==="review:added"&&I.changeId===e){const b=I.targetType;b&&I.review&&v(S=>({...S,[b]:[...S[b],I.review]}))}if(N==="review:resolved"&&I.changeId===e){const b=I.targetType;b&&I.reviewId&&v(S=>({...S,[b]:S[b].map(z=>z.id===I.reviewId?{...z,status:I.status||"resolved"}:z)}))}N==="reviews:updated"&&I.changeId===e&&yn.getReviews(e).then(b=>{v(b)}).catch(b=>{console.error("Failed to refresh reviews:",b)}),N==="tasks:updated"&&I.changeId===e&&Dr.get(e).then(b=>{l(b.tasks),s(b.progress)}).catch(b=>{console.error("Failed to refresh tasks:",b)}),N==="task:updated"&&I.changeId===e&&l(b=>b.map(S=>S.id===I.taskId?{...S,status:I.status}:S)),N==="change:content_updated"&&I.changeId===e&&yn.get(e).then(b=>{r(b.change)}).catch(b=>{console.error("Failed to refresh change:",b)})},[t,e]);const E=async(N,I)=>{if(e)try{await Dr.update(e,N,I);const b=await Dr.get(e);l(b.tasks),s(b.progress)}catch(b){console.error("Failed to update task:",b)}},m=async(N,I)=>{if(e)try{await yn.resolveReview(e,N,I),v(b=>({...b,[I]:b[I].map(S=>S.id===N?{...S,status:"resolved"}:S)}))}catch(b){console.error("Failed to resolve review:",b)}};if(a)return h.jsx("div",{className:"flex justify-center items-center h-64",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"})});if(!n)return h.jsxs("div",{className:"text-center py-12",children:[h.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Change not found"}),h.jsx(rn,{to:"/changes",className:"text-blue-500 hover:text-blue-700 mt-2 inline-block",children:"← Back to changes"})]});const y=g[f].filter(N=>N.status==="open"),x=g[f].filter(N=>N.status!=="open"),P=d?x:y,T=((C=g.summary)==null?void 0:C.hasBlockingIssues)||!1;return h.jsxs("div",{className:"space-y-6",children:[h.jsxs("div",{className:"flex justify-between items-start",children:[h.jsxs("div",{children:[h.jsx(rn,{to:"/changes",className:"text-blue-500 hover:text-blue-700 text-sm",children:"← Back to changes"}),h.jsx("h2",{className:"text-2xl font-bold text-gray-900 mt-2",children:n.title}),h.jsx("p",{className:"text-gray-500",children:n.id})]}),h.jsxs("div",{className:"flex items-center space-x-2",children:[T&&h.jsx("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium",children:"🚨 Blocking Issues"}),g.summary&&g.summary.open>0&&h.jsxs("span",{className:"px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm font-medium",children:[g.summary.open," open reviews"]}),h.jsx("span",{className:`status-badge ${n.status==="active"?"status-implementing":"status-completed"}`,children:n.status})]})]}),o&&h.jsxs("div",{className:"bg-white rounded-lg shadow p-4",children:[h.jsxs("div",{className:"flex justify-between items-center mb-2",children:[h.jsx("span",{className:"text-sm font-medium text-gray-700",children:"Progress"}),h.jsxs("span",{className:"text-sm text-gray-500",children:[o.completed,"/",o.total," tasks (",o.percentage,"%)"]})]}),h.jsx("div",{className:"w-full h-3 bg-gray-200 rounded-full",children:h.jsx("div",{className:"h-full bg-blue-500 rounded-full transition-all duration-300",style:{width:`${o.percentage}%`}})}),h.jsxs("div",{className:"flex justify-between mt-2 text-xs text-gray-500",children:[h.jsxs("span",{children:["✅ ",o.completed," done"]}),h.jsxs("span",{children:["🔄 ",o.inProgress," in progress"]}),h.jsxs("span",{children:["⏳ ",o.pending," pending"]})]})]}),h.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-4 gap-6",children:[h.jsxs("div",{className:"lg:col-span-3",children:[h.jsx("div",{className:"border-b border-gray-200",children:h.jsx("nav",{className:"flex space-x-8",children:["proposal","tasks","design"].map(N=>{const I=g[N].filter(b=>b.status==="open");return h.jsxs("button",{onClick:()=>c(N),className:`py-4 px-1 border-b-2 font-medium text-sm flex items-center ${f===N?"border-blue-500 text-blue-600":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"}`,children:[N.charAt(0).toUpperCase()+N.slice(1),I.length>0&&h.jsx("span",{className:"ml-2 bg-blue-100 text-blue-600 px-2 py-0.5 rounded-full text-xs",children:I.length})]},N)})})}),h.jsxs("div",{className:"bg-white rounded-lg shadow mt-4",children:[f==="proposal"&&h.jsx("div",{className:"p-6 prose prose-sm max-w-none",children:n.proposal?h.jsx(fl,{remarkPlugins:[dl],children:n.proposal}):h.jsx("p",{className:"text-gray-500",children:"No proposal content."})}),f==="tasks"&&h.jsx("div",{className:"p-6",children:i.length===0?h.jsx("p",{className:"text-gray-500",children:"No tasks defined."}):h.jsx("div",{className:"space-y-2",children:i.map(N=>h.jsxs("div",{className:"flex items-center justify-between p-3 rounded border hover:bg-gray-50",children:[h.jsxs("div",{className:"flex items-center space-x-3",children:[h.jsxs("button",{onClick:()=>{const I=N.status==="pending"?"in_progress":N.status==="in_progress"?"done":"pending";E(N.id,I)},className:`w-6 h-6 rounded-full border-2 flex items-center justify-center ${N.status==="done"?"bg-green-500 border-green-500 text-white":N.status==="in_progress"?"bg-blue-500 border-blue-500 text-white":"border-gray-300"}`,children:[N.status==="done"&&"✓",N.status==="in_progress"&&"●"]}),h.jsxs("div",{children:[h.jsxs("span",{className:"font-mono text-sm text-gray-500",children:["[",N.id,"]"]}),h.jsx("span",{className:"ml-2",children:N.title})]})]}),h.jsx("span",{className:`text-xs ${N.status==="done"?"text-green-600":N.status==="in_progress"?"text-blue-600":"text-gray-400"}`,children:N.status})]},N.id))})}),f==="design"&&h.jsx("div",{className:"p-6 prose prose-sm max-w-none",children:n.design?h.jsx(fl,{remarkPlugins:[dl],children:n.design}):h.jsx("p",{className:"text-gray-500",children:"No design document."})})]})]}),h.jsx("div",{className:"lg:col-span-1 h-[calc(100vh-200px)]",children:h.jsxs("div",{className:"bg-white rounded-lg shadow h-full flex flex-col",children:[h.jsxs("div",{className:"p-4 border-b border-gray-200",children:[h.jsxs("h3",{className:"font-semibold text-gray-700 mb-2",children:["Reviews ",h.jsxs("span",{className:"text-xs text-gray-400",children:["for ",f]})]}),h.jsxs("div",{className:"flex space-x-1",children:[h.jsxs("button",{onClick:()=>p(!1),className:`px-3 py-1 text-xs rounded-full transition-colors ${d?"bg-gray-100 text-gray-500 hover:bg-gray-200":"bg-blue-100 text-blue-700"}`,children:["Open (",y.length,")"]}),h.jsxs("button",{onClick:()=>p(!0),className:`px-3 py-1 text-xs rounded-full transition-colors ${d?"bg-green-100 text-green-700":"bg-gray-100 text-gray-500 hover:bg-gray-200"}`,children:["Resolved (",x.length,")"]})]})]}),h.jsx("div",{className:"flex-1 p-4 space-y-3 overflow-y-auto",children:P.length===0?h.jsxs("div",{className:"text-center py-8",children:[h.jsx("p",{className:"text-sm text-gray-400",children:d?"No resolved reviews":"No open reviews"}),!d&&h.jsxs("p",{className:"text-xs text-gray-400 mt-1",children:["Use ",h.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"openspec_add_review"})]})]}):P.map(N=>h.jsxs("div",{className:"p-3 bg-gray-50 rounded-lg border border-gray-200 group hover:border-blue-300 transition-colors",children:[h.jsxs("div",{className:"flex justify-between items-start mb-2",children:[h.jsxs("div",{className:"flex items-center space-x-1",children:[h.jsx("span",{className:"text-lg",children:aE[N.type]}),N.severity&&h.jsx("span",{className:`px-1.5 py-0.5 rounded text-xs ${uE[N.severity]}`,children:N.severity}),N.lineNumber&&h.jsxs("span",{className:"text-xs text-gray-400",children:["L",N.lineNumber]})]}),N.status==="open"?h.jsx("button",{onClick:()=>m(N.id,f),className:"text-green-500 hover:text-green-700 opacity-0 group-hover:opacity-100 transition-opacity",title:"Resolve",children:"✓"}):h.jsx("span",{className:`text-xs px-2 py-0.5 rounded ${N.status==="resolved"?"bg-green-100 text-green-600":"bg-gray-100 text-gray-500"}`,children:N.status==="resolved"?"✓ resolved":"⏭️ won't fix"})]}),h.jsx("div",{className:"prose prose-xs max-w-none text-gray-700 break-words overflow-hidden prose-p:my-1 prose-ul:my-1 prose-li:my-0 prose-code:break-all prose-code:text-xs",children:h.jsx(fl,{remarkPlugins:[dl],children:N.body})}),h.jsxs("div",{className:"text-xs text-gray-400 mt-2",children:["by ",N.author," • ",new Date(N.createdAt).toLocaleDateString()]})]},N.id))})]})})]})]})}const Qf={comment:"💬",suggestion:"💡",question:"❓",issue:"🚨"},qf={low:"bg-gray-100 text-gray-600",medium:"bg-yellow-100 text-yellow-700",high:"bg-red-100 text-red-700"};function fE(){const{lastMessage:e}=xr(),[t,n]=_.useState([]),[r,i]=_.useState(!0),[l,o]=_.useState(null),[s,a]=_.useState([]),[u,f]=_.useState(null),[c,d]=_.useState(""),[p,g]=_.useState("comment"),[v,E]=_.useState("medium"),m=_.useRef(null),y=async()=>{try{const b=await gn.list();n(b.specs)}catch(b){console.error("Failed to fetch specs:",b)}};_.useEffect(()=>{y().finally(()=>i(!1))},[]),_.useEffect(()=>{if(!e)return;const{event:b,data:S}=e;(b==="file:changed"||b==="reviews:updated")&&(y(),l&&b==="reviews:updated"&&(S==null?void 0:S.targetType)==="spec"&&gn.listReviews(l.id).then(z=>{a(z.reviews)}).catch(console.error))},[e,l]);const x=async b=>{try{const S=await gn.get(b);o(S.spec),f(null),d("");const z=await gn.listReviews(b);a(z.reviews)}catch(S){console.error("Failed to fetch spec:",S)}},P=()=>{const b=window.getSelection(),S=m.current;if(!b||b.isCollapsed||!S){f(null);return}const z=b.getRangeAt(0),D=k=>{var q;return k.nodeType===Node.ELEMENT_NODE?!!k.closest("[data-review-overlay]"):!!((q=k==null?void 0:k.parentElement)!=null&&q.closest("[data-review-overlay]"))};if(!S.contains(z.startContainer)||!S.contains(z.endContainer)||D(z.startContainer)||D(z.endContainer)){f(null);return}const W=b.toString();if(!W.trim()){f(null);return}const G=z.cloneRange();G.selectNodeContents(S),G.setEnd(z.startContainer,z.startOffset);const pe=(G.toString().match(/\n/g)||[]).length+1,ue=S.getBoundingClientRect(),O=z.getBoundingClientRect(),M=Math.max(O.top-ue.top+S.scrollTop-180,12);f({text:W,lineNumber:pe,popupTop:M})},T=async()=>{const b=c.trim();if(!(!u||!b||!l))try{const S=await gn.addReview(l.id,b,p,{lineNumber:u.lineNumber,severity:p==="issue"?v:void 0});a(z=>[...z,S.review]),f(null),d("")}catch(S){console.error("Failed to add review:",S),alert("Failed to save review")}},C=async(b,S="resolved")=>{if(l)try{await gn.resolveReview(l.id,b,S),a(z=>z.map(D=>D.id===b?{...D,status:S,resolvedAt:new Date().toISOString()}:D))}catch(z){console.error("Failed to resolve review:",z)}};if(r)return h.jsx("div",{className:"flex justify-center items-center h-64",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-indigo-500"})});const N=s.filter(b=>b.status==="open"),I=N.some(b=>b.type==="issue"&&b.severity==="high");return h.jsxs("div",{className:"space-y-6 h-[calc(100vh-120px)] flex flex-col",children:[h.jsxs("div",{className:"flex justify-between items-center",children:[h.jsx("h2",{className:"text-2xl font-bold text-gray-900",children:"Specifications"}),l&&N.length>0&&h.jsxs("div",{className:"flex items-center space-x-2",children:[I&&h.jsx("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium",children:"🚨 Blocking Issues"}),h.jsxs("span",{className:"text-sm text-gray-500",children:[N.length," open review",N.length!==1?"s":""]})]})]}),h.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-6 flex-1 min-h-0",children:[h.jsx("div",{className:"lg:col-span-3 bg-white rounded-xl shadow-sm border border-gray-100 overflow-y-auto",children:t.length===0?h.jsx("div",{className:"p-8 text-center text-gray-500",children:"No specs found."}):h.jsx("div",{className:"divide-y divide-gray-50",children:t.map(b=>h.jsxs("button",{onClick:()=>x(b.id),className:`w-full text-left p-4 hover:bg-gray-50 transition-colors ${(l==null?void 0:l.id)===b.id?"bg-indigo-50 border-l-4 border-indigo-500":"border-l-4 border-transparent"}`,children:[h.jsx("div",{className:"font-semibold text-gray-900",children:b.title}),h.jsx("div",{className:"text-xs text-gray-500 mt-1 font-mono",children:b.id})]},b.id))})}),h.jsx("div",{className:"lg:col-span-6 bg-white rounded-xl shadow-sm border border-gray-100 flex flex-col min-h-0",children:l?h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"p-4 border-b border-gray-100 bg-gray-50/50 rounded-t-xl flex justify-between items-center",children:h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-bold text-gray-900",children:l.title}),h.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:"Select text to add review comment"})]})}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-6 relative",ref:m,onMouseUp:P,children:[h.jsx("div",{className:"prose prose-sm max-w-none prose-headings:font-bold prose-h1:text-xl prose-h2:text-lg prose-h3:text-base prose-code:bg-gray-100 prose-code:px-1 prose-code:rounded prose-pre:bg-gray-50",children:h.jsx(fl,{remarkPlugins:[dl],children:l.content})}),u&&h.jsxs("div",{className:"absolute z-10 bg-white rounded-lg shadow-xl border border-gray-200 p-4 w-80 animate-fade-in","data-review-overlay":!0,style:{top:u.popupTop,right:20},children:[h.jsx("div",{className:"text-xs font-semibold text-gray-500 mb-2 uppercase tracking-wider flex justify-between items-center",children:h.jsxs("span",{children:["Add Review (Line ",u.lineNumber,")"]})}),h.jsxs("div",{className:"mb-2 p-2 bg-indigo-50 rounded text-xs text-indigo-800 border-l-2 border-indigo-300 italic truncate",children:['"',u.text.trim().substring(0,60),u.text.length>60?"...":"",'"']}),h.jsx("div",{className:"flex space-x-1 mb-2",children:["comment","suggestion","question","issue"].map(b=>h.jsxs("button",{onClick:()=>g(b),className:`px-2 py-1 text-xs rounded ${p===b?"bg-indigo-600 text-white":"bg-gray-100 text-gray-600 hover:bg-gray-200"}`,children:[Qf[b]," ",b]},b))}),p==="issue"&&h.jsx("div",{className:"flex space-x-1 mb-2",children:["low","medium","high"].map(b=>h.jsx("button",{onClick:()=>E(b),className:`px-2 py-1 text-xs rounded ${v===b?qf[b]+" ring-2 ring-offset-1":"bg-gray-100 text-gray-600"}`,children:b},b))}),h.jsx("textarea",{autoFocus:!0,className:"w-full text-sm border-gray-300 rounded-md focus:ring-indigo-500 focus:border-indigo-500 mb-2",rows:3,placeholder:"Your review comment...",value:c,onChange:b=>d(b.target.value)}),h.jsxs("div",{className:"flex justify-end space-x-2",children:[h.jsx("button",{onClick:()=>f(null),className:"px-3 py-1 text-xs text-gray-600 hover:bg-gray-100 rounded",children:"Cancel"}),h.jsx("button",{onClick:T,className:"px-3 py-1 text-xs bg-indigo-600 text-white rounded hover:bg-indigo-700 font-medium",children:"Add Review"})]})]})]})]}):h.jsxs("div",{className:"flex-1 flex flex-col justify-center items-center text-gray-400 p-8",children:[h.jsx("svg",{className:"w-16 h-16 mb-4 opacity-20",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})}),h.jsx("p",{children:"Select a specification to view and review"})]})}),h.jsxs("div",{className:"lg:col-span-3 bg-gray-50 rounded-xl border border-gray-200 flex flex-col min-h-0",children:[h.jsx("div",{className:"p-4 border-b border-gray-200 bg-white rounded-t-xl",children:h.jsxs("h3",{className:"font-semibold text-gray-700 flex items-center",children:[h.jsx("span",{children:"Reviews"}),h.jsx("span",{className:"ml-2 bg-gray-200 text-gray-600 px-2 py-0.5 rounded-full text-xs",children:N.length})]})}),h.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-4",children:N.length===0?h.jsxs("div",{className:"text-center py-10",children:[h.jsx("p",{className:"text-sm text-gray-400",children:"No reviews yet."}),h.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Select text in the spec to add one."})]}):N.map(b=>h.jsxs("div",{className:"bg-white p-3 rounded-lg shadow-sm border border-gray-200 group hover:border-indigo-300 transition-colors",children:[h.jsxs("div",{className:"flex justify-between items-start mb-2",children:[h.jsxs("div",{className:"flex items-center space-x-2",children:[h.jsx("span",{className:"text-lg",children:Qf[b.type]}),b.severity&&h.jsx("span",{className:`px-1.5 py-0.5 rounded text-xs ${qf[b.severity]}`,children:b.severity}),b.lineNumber&&h.jsxs("span",{className:"text-xs text-gray-400",children:["L",b.lineNumber]})]}),h.jsxs("div",{className:"flex space-x-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[h.jsx("button",{className:"text-green-500 hover:text-green-700 text-xs",onClick:()=>C(b.id,"resolved"),title:"Resolve",children:"✓"}),h.jsx("button",{className:"text-gray-400 hover:text-gray-600 text-xs",onClick:()=>C(b.id,"wont_fix"),title:"Won't fix",children:"×"})]})]}),h.jsx("div",{className:"text-sm text-gray-800",children:b.body}),b.replies.length>0&&h.jsxs("div",{className:"mt-2 pt-2 border-t border-gray-100 text-xs text-gray-500",children:["💭 ",b.replies.length," replies"]})]},b.id))})]})]})]})}function dE(){const{lastMessage:e}=xr(),[t,n]=_.useState([]),[r,i]=_.useState(!0),[l,o]=_.useState(!1),[s,a]=_.useState({type:null,changeId:""}),[u,f]=_.useState({name:"",comment:""});async function c(){try{const v=l?await Fr.list():await Fr.listPending();n(v.approvals)}catch(v){console.error("Failed to fetch approvals:",v)}}_.useEffect(()=>{i(!0),c().finally(()=>i(!1))},[l]),_.useEffect(()=>{if(!e)return;const{event:v}=e;["approval:requested","approval:approved","approval:rejected"].includes(v)&&c()},[e]);const d=async()=>{if(u.name)try{await Fr.approve(s.changeId,u.name,u.comment||void 0),a({type:null,changeId:""}),f({name:"",comment:""}),c()}catch(v){console.error("Failed to approve:",v)}},p=async()=>{if(!(!u.name||!u.comment))try{await Fr.reject(s.changeId,u.name,u.comment),a({type:null,changeId:""}),f({name:"",comment:""}),c()}catch(v){console.error("Failed to reject:",v)}},g=v=>({draft:"status-draft",pending_approval:"status-pending",approved:"status-approved",rejected:"status-rejected",implementing:"status-implementing",completed:"status-completed"})[v]||"status-draft";return r?h.jsx("div",{className:"flex justify-center items-center h-64",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"})}):h.jsxs("div",{className:"space-y-6",children:[h.jsxs("div",{className:"flex justify-between items-center",children:[h.jsx("h2",{className:"text-2xl font-bold text-gray-900",children:"Approval Queue"}),h.jsxs("label",{className:"flex items-center space-x-2 text-sm",children:[h.jsx("input",{type:"checkbox",checked:l,onChange:v=>o(v.target.checked),className:"rounded border-gray-300"}),h.jsx("span",{children:"Show all"})]})]}),t.length===0?h.jsx("div",{className:"bg-white rounded-lg shadow p-8 text-center text-gray-500",children:l?"No approval records found.":"No pending approvals."}):h.jsx("div",{className:"bg-white rounded-lg shadow overflow-hidden",children:h.jsxs("table",{className:"min-w-full divide-y divide-gray-200",children:[h.jsx("thead",{className:"bg-gray-50",children:h.jsxs("tr",{children:[h.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Change"}),h.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Status"}),h.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Requested"}),h.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase",children:"Actions"})]})}),h.jsx("tbody",{className:"bg-white divide-y divide-gray-200",children:t.map(v=>h.jsxs("tr",{className:"hover:bg-gray-50",children:[h.jsxs("td",{className:"px-6 py-4",children:[h.jsx("div",{className:"font-medium text-gray-900",children:v.changeId}),v.requestedBy&&h.jsxs("div",{className:"text-sm text-gray-500",children:["by ",v.requestedBy]})]}),h.jsx("td",{className:"px-6 py-4",children:h.jsx("span",{className:`status-badge ${g(v.status)}`,children:v.status.replace("_"," ")})}),h.jsx("td",{className:"px-6 py-4 text-sm text-gray-500",children:v.requestedAt?new Date(v.requestedAt).toLocaleString():"-"}),h.jsx("td",{className:"px-6 py-4",children:v.status==="pending_approval"&&h.jsxs("div",{className:"flex space-x-2",children:[h.jsx("button",{onClick:()=>a({type:"approve",changeId:v.changeId}),className:"px-3 py-1 bg-green-500 text-white text-sm rounded hover:bg-green-600",children:"Approve"}),h.jsx("button",{onClick:()=>a({type:"reject",changeId:v.changeId}),className:"px-3 py-1 bg-red-500 text-white text-sm rounded hover:bg-red-600",children:"Reject"})]})})]},v.changeId))})]})}),s.type&&h.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:h.jsxs("div",{className:"bg-white rounded-lg shadow-xl p-6 w-full max-w-md",children:[h.jsx("h3",{className:"text-lg font-semibold mb-4",children:s.type==="approve"?"Approve Change":"Reject Change"}),h.jsxs("div",{className:"space-y-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Your Name"}),h.jsx("input",{type:"text",value:u.name,onChange:v=>f({...u,name:v.target.value}),className:"w-full border rounded-md px-3 py-2",placeholder:"Enter your name"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:s.type==="approve"?"Comment (optional)":"Reason (required)"}),h.jsx("textarea",{value:u.comment,onChange:v=>f({...u,comment:v.target.value}),className:"w-full border rounded-md px-3 py-2",rows:3,placeholder:s.type==="approve"?"Optional comment...":"Explain why this is rejected..."})]})]}),h.jsxs("div",{className:"flex justify-end space-x-3 mt-6",children:[h.jsx("button",{onClick:()=>{a({type:null,changeId:""}),f({name:"",comment:""})},className:"px-4 py-2 border rounded-md hover:bg-gray-50",children:"Cancel"}),h.jsx("button",{onClick:s.type==="approve"?d:p,className:`px-4 py-2 text-white rounded-md ${s.type==="approve"?"bg-green-500 hover:bg-green-600":"bg-red-500 hover:bg-red-600"}`,children:s.type==="approve"?"Approve":"Reject"})]})]})})]})}function pE(){const e=Ei(),{connected:t}=xr(),[n,r]=_.useState(null);_.useEffect(()=>{let l=!0;return f0.get().then(({project:o})=>{l&&r(o.name)}).catch(()=>{}),()=>{l=!1}},[]);const i=[{path:"/",label:"Dashboard"},{path:"/changes",label:"Changes"},{path:"/specs",label:"Specs"},{path:"/approvals",label:"Approvals"}];return h.jsxs("div",{className:"min-h-screen bg-gray-50",children:[h.jsx("header",{className:"bg-white shadow-sm",children:h.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:h.jsxs("div",{className:"flex justify-between items-center py-4",children:[h.jsxs("div",{className:"flex items-center space-x-4",children:[h.jsx("h1",{className:"text-xl font-bold text-gray-900",children:"OpenSpec MCP"}),n?h.jsx("span",{className:"text-sm text-gray-500",title:n,children:n}):null,h.jsx("span",{className:`inline-flex items-center px-2 py-1 rounded text-xs ${t?"bg-green-100 text-green-800":"bg-red-100 text-red-800"}`,children:t?"● Connected":"○ Disconnected"})]}),h.jsx("nav",{className:"flex space-x-4",children:i.map(l=>h.jsx(rn,{to:l.path,className:`px-3 py-2 rounded-md text-sm font-medium ${e.pathname===l.path?"bg-gray-100 text-gray-900":"text-gray-500 hover:text-gray-900 hover:bg-gray-50"}`,children:l.label},l.path))})]})})}),h.jsx("main",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:h.jsxs(Zx,{children:[h.jsx(Mn,{path:"/",element:h.jsx(d0,{})}),h.jsx(Mn,{path:"/changes",element:h.jsx(x0,{})}),h.jsx(Mn,{path:"/changes/:id",element:h.jsx(cE,{})}),h.jsx(Mn,{path:"/specs",element:h.jsx(fE,{})}),h.jsx(Mn,{path:"/approvals",element:h.jsx(dE,{})})]})})]})}ts.createRoot(document.getElementById("root")).render(h.jsx(id.StrictMode,{children:h.jsx(o0,{children:h.jsx(pE,{})})}));
|
package/web/dist/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>OpenSpec MCP Dashboard</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-CAdALZvl.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-5xUEKC-c.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|