markstream-react 0.0.53 → 0.0.55

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.
@@ -1 +1 @@
1
- :where(.markstream-react) button{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:transparent;border:0;font:inherit;color:inherit}.markstream-react .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.markstream-react .pointer-events-none{pointer-events:none}.markstream-react .visible{visibility:visible}.markstream-react .collapse{visibility:collapse}.markstream-react .fixed{position:fixed}.markstream-react .absolute{position:absolute}.markstream-react .relative{position:relative}.markstream-react .inset-0{top:0;right:0;bottom:0;left:0}.markstream-react .right-2{right:.5rem}.markstream-react .right-6{right:1.5rem}.markstream-react .top-2{top:.5rem}.markstream-react .top-6{top:1.5rem}.markstream-react .z-10{z-index:10}.markstream-react .z-50{z-index:50}.markstream-react .z-\[9999\]{z-index:9999}.markstream-react .m-0{margin:0}.markstream-react .mx-0\.5{margin-left:.125rem;margin-right:.125rem}.markstream-react .my-2{margin-top:.5rem;margin-bottom:.5rem}.markstream-react .my-4{margin-top:1rem;margin-bottom:1rem}.markstream-react .my-5{margin-top:1.25rem;margin-bottom:1.25rem}.markstream-react .my-8{margin-top:2rem;margin-bottom:2rem}.markstream-react .mb-4{margin-bottom:1rem}.markstream-react .ml-4{margin-left:1rem}.markstream-react .mt-2{margin-top:.5rem}.markstream-react .block{display:block}.markstream-react .inline-block{display:inline-block}.markstream-react .inline{display:inline}.markstream-react .flex{display:flex}.markstream-react .inline-flex{display:inline-flex}.markstream-react .table{display:table}.markstream-react .grid{display:grid}.markstream-react .contents{display:contents}.markstream-react .list-item{display:list-item}.markstream-react .hidden{display:none}.markstream-react .h-3{height:.75rem}.markstream-react .h-4{height:1rem}.markstream-react .h-full{height:100%}.markstream-react .max-h-full{max-height:100%}.markstream-react .min-h-\[360px\]{min-height:360px}.markstream-react .min-h-\[40px\]{min-height:40px}.markstream-react .min-h-full{min-height:100%}.markstream-react .w-2\/3{width:66.666667%}.markstream-react .w-3{width:.75rem}.markstream-react .w-4{width:1rem}.markstream-react .w-4\/5{width:80%}.markstream-react .w-full{width:100%}.markstream-react .max-w-full{max-width:100%}.markstream-react .flex-1{flex:1 1 0%}.markstream-react .flex-shrink-0{flex-shrink:0}.markstream-react .border-collapse{border-collapse:collapse}.markstream-react .transform{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))}.markstream-react .cursor-grab{cursor:grab}.markstream-react .cursor-grabbing{cursor:grabbing}.markstream-react .cursor-not-allowed{cursor:not-allowed}.markstream-react .cursor-pointer{cursor:pointer}.markstream-react .list-decimal{list-style-type:decimal}.markstream-react .list-disc{list-style-type:disc}.markstream-react .items-center{align-items:center}.markstream-react .items-baseline{align-items:baseline}.markstream-react .justify-center{justify-content:center}.markstream-react .justify-between{justify-content:space-between}.markstream-react .gap-1\.5{gap:.375rem}.markstream-react .gap-2{gap:.5rem}.markstream-react .gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.markstream-react .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.markstream-react :is(.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)))}.markstream-react :is(.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)))}.markstream-react .overflow-hidden{overflow:hidden}.markstream-react .overflow-x-auto{overflow-x:auto}.markstream-react .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.markstream-react .whitespace-normal{white-space:normal}.markstream-react .whitespace-nowrap{white-space:nowrap}.markstream-react .whitespace-pre-wrap{white-space:pre-wrap}.markstream-react .break-words{overflow-wrap:break-word}.markstream-react .rounded{border-radius:calc(var(--ms-radius) * .5)}.markstream-react .rounded-lg{border-radius:var(--ms-radius)}.markstream-react .rounded-md{border-radius:calc(var(--ms-radius) * .75)}.markstream-react .border{border-width:1px}.markstream-react .border-b{border-bottom-width:1px}.markstream-react .border-t{border-top-width:1px}.markstream-react .border-\[var\(--footnote-border\,\#eaecef\)\]{border-color:var(--footnote-border,#eaecef)}.markstream-react .border-\[var\(--table-border\,\#cbd5e1\)\]{border-color:var(--table-border,#cbd5e1)}.markstream-react .border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.markstream-react .border-gray-400\/5{border-color:#9ca3af0d}.markstream-react .border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.markstream-react .border-gray-700\/30{border-color:#3741514d}.markstream-react .bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.markstream-react .bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.markstream-react .bg-black\/70{background-color:#000000b3}.markstream-react .bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.markstream-react .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.markstream-react .p-0\.5{padding:.125rem}.markstream-react .p-2{padding:.5rem}.markstream-react .p-4{padding:1rem}.markstream-react .p-\[calc\(4\/7\*1em\)\]{padding:calc(4 / 7 * 1em)}.markstream-react .px-1{padding-left:.25rem;padding-right:.25rem}.markstream-react .px-1\.5{padding-left:.375rem;padding-right:.375rem}.markstream-react .px-2{padding-left:.5rem;padding-right:.5rem}.markstream-react .px-2\.5{padding-left:.625rem;padding-right:.625rem}.markstream-react .px-3{padding-left:.75rem;padding-right:.75rem}.markstream-react .px-4{padding-left:1rem;padding-right:1rem}.markstream-react .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.markstream-react .py-1{padding-top:.25rem;padding-bottom:.25rem}.markstream-react .py-2{padding-top:.5rem;padding-bottom:.5rem}.markstream-react .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.markstream-react .py-4{padding-top:1rem;padding-bottom:1rem}.markstream-react .pb-3{padding-bottom:.75rem}.markstream-react .pl-1\.5{padding-left:.375rem}.markstream-react .pl-\[calc\(13\/8\*1em\)\]{padding-left:1.625em}.markstream-react .pt-2{padding-top:.5rem}.markstream-react .text-left{text-align:left}.markstream-react .text-center{text-align:center}.markstream-react .text-right{text-align:right}.markstream-react .font-mono{font-family:var(--ms-font-mono)}.markstream-react .text-\[85\%\]{font-size:85%}.markstream-react .text-base{font-size:1rem;line-height:1.5rem}.markstream-react .text-sm{font-size:.875rem;line-height:1.25rem}.markstream-react .text-xs{font-size:.75rem;line-height:1rem}.markstream-react .font-medium{font-weight:500}.markstream-react .font-semibold{font-weight:600}.markstream-react .uppercase{text-transform:uppercase}.markstream-react .italic{font-style:italic}.markstream-react .leading-\[normal\]{line-height:normal}.markstream-react .leading-relaxed{line-height:1.625}.markstream-react .text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.markstream-react .text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.markstream-react .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.markstream-react .underline{text-decoration-line:underline}.markstream-react .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.markstream-react .opacity-50{opacity:.5}.markstream-react .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)}.markstream-react .shadow-md{--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)}.markstream-react .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)}.markstream-react .outline{outline-style:solid}.markstream-react .blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.markstream-react .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)}.markstream-react .backdrop-blur{--tw-backdrop-blur: blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.markstream-react .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.markstream-react .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.markstream-react .transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.markstream-react .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.markstream-react .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}.markstream-react .duration-100{transition-duration:.1s}.markstream-react .duration-150{transition-duration:.15s}.markstream-react .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-react .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.markstream-react{--border: 214.3 31.8% 91.4%;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--secondary: 210 40% 96%;--muted: 210 40% 96%;--muted-foreground: 215.4 16.3% 46.9%}.dark .markstream-react,.markstream-react.dark{--border: 217.2 32.6% 17.5%;--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--secondary: 217.2 32.6% 17.5%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%}:where(.markstream-react).markdown-renderer{position:relative;contain:layout;content-visibility:auto;contain-intrinsic-size:800px 600px}:where(.markstream-react).markdown-renderer.virtualized{content-visibility:visible;contain-intrinsic-size:auto}:where(.markstream-react) .node-slot,:where(.markstream-react) .node-content{width:100%}:where(.markstream-react) .node-placeholder{width:100%;min-height:1rem;margin:.25rem 0;border-radius:.5rem;background-image:linear-gradient(90deg,#94a3b82e,#94a3b80d,#94a3b82e);background-size:200% 100%;animation:markstream-react-node-placeholder-shimmer 1.1s ease-in-out infinite}:where(.markstream-react) .node-placeholder:first-child{margin-top:0}:where(.markstream-react) .node-spacer{width:100%}:where(.markstream-react) .fade-node,:where(.markstream-react) .typewriter-node{opacity:0;animation:markstream-react-node-enter-fade var(--fade-duration, var(--typewriter-fade-duration, .28s)) var(--fade-ease, var(--typewriter-fade-ease, cubic-bezier(.33, 0, .67, 1))) forwards}:where(.markstream-react) .unknown-node{color:#6a737d;font-style:italic;margin:1rem 0}:where(.markstream-react) .text-node{display:inline;font-weight:inherit;vertical-align:baseline;white-space:pre-wrap;word-break:break-word}:where(.markstream-react) .text-node.text-node-center{display:inline-flex;justify-content:center;width:100%}:where(.markstream-react) .text-node-stream-delta{animation-duration:var(--stream-update-fade-duration, var(--fade-duration, var(--typewriter-fade-duration, .28s)));animation-timing-function:var(--stream-update-fade-ease, var(--fade-ease, var(--typewriter-fade-ease, cubic-bezier(.33, 0, .67, 1))));animation-fill-mode:both;will-change:opacity}:where(.markstream-react) .text-node-stream-delta--a{animation-name:markstream-react-text-node-stream-update-fade-a}:where(.markstream-react) .text-node-stream-delta--b{animation-name:markstream-react-text-node-stream-update-fade-b}:where(.markstream-react) .paragraph-node{margin:1.25em 0;line-height:1.625}:where(.markstream-react) li .paragraph-node{margin:0}:where(.markstream-react) .blockquote-node{font-weight:500;font-style:italic;border-left:.25rem solid var(--blockquote-border-color,#e2e8f0);quotes:"“" "”" "‘" "’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}:where(.markstream-react) .blockquote-node .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}:where(.markstream-react) .heading-node{font-weight:600}:where(.markstream-react) .heading-1{margin-top:0;margin-bottom:calc(8 / 9 * 1em);font-size:2.25rem;line-height:calc(10 / 9 * 1);font-weight:800}:where(.markstream-react) .heading-2{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;line-height:calc(4 / 3 * 1)}:where(.markstream-react) .heading-3{margin-top:1.6em;margin-bottom:calc(3 / 5 * 1em);font-size:1.25rem;line-height:calc(5 / 3 * 1)}:where(.markstream-react) .heading-4,:where(.markstream-react) .heading-5,:where(.markstream-react) .heading-6{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem}:where(.markstream-react) .heading-5,:where(.markstream-react) .heading-6{margin-top:0;margin-bottom:0}:where(.markstream-react) .link-node{color:var(--link-color, #0366d6);text-decoration:none}:where(.markstream-react) .link-node:hover{text-decoration:underline;text-underline-offset:.2rem}:where(.markstream-react) .link-loading{color:var(--link-color, #0366d6)}:where(.markstream-react) .link-loading .link-text-wrapper{position:relative}:where(.markstream-react) .link-loading .link-text{position:relative;z-index:2}:where(.markstream-react) .link-loading-indicator{position:absolute;left:0;right:0;height:var(--underline-height, 2px);bottom:var(--underline-bottom, -3px);background:currentColor;border-radius:999px;will-change:opacity;opacity:var(--underline-rest-opacity, .18);animation:markstream-react-link-loading-pulse var(--underline-duration, 1.6s) var(--underline-timing, ease-in-out) var(--underline-iteration, infinite)}@keyframes markstream-react-link-loading-pulse{0%,to{opacity:var(--underline-rest-opacity, .18)}50%{opacity:var(--underline-opacity, .35)}}@keyframes markstream-react-text-node-stream-update-fade-a{0%{opacity:0}to{opacity:1}}@keyframes markstream-react-text-node-stream-update-fade-b{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){:where(.markstream-react) .link-loading-indicator{animation:none!important;opacity:var(--underline-rest-opacity, .18)}:where(.markstream-react) .text-node-stream-delta{animation:none!important}:where(.markstream-react) .fade-node,:where(.markstream-react) .typewriter-node{animation:none!important;opacity:1}:where(.markstream-react) .typewriter-cursor{animation:none!important;opacity:1}}:where(.markstream-react) .inline-code{padding:.125rem .375rem;border-radius:.375rem;background:#f3f4f6;font-size:.875rem}:where(.markstream-react) .image-node__img{display:inline-block;max-width:none;width:auto;height:auto;min-height:0;vertical-align:middle;border-radius:.75rem;opacity:0;transition:opacity .2s ease}:where(.markstream-react) .image-node__img.is-loaded{opacity:1}:where(.markstream-react) .image-node__placeholder,:where(.markstream-react) .image-node__error{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:auto;padding:1.5rem;border-radius:.75rem;vertical-align:middle}:where(.markstream-react) .image-node__placeholder{background:linear-gradient(120deg,#94a3b833,#e2e8f059);color:#475569;box-shadow:inset 0 0 0 1px #94a3b833}:where(.markstream-react) .image-node__error{color:#dc2626;background:#f8717114}:where(.markstream-react) .image-node__spinner{width:1rem;height:1rem;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:markstream-react-spin 1s linear infinite}:where(.markstream-react) .image-node__placeholder-text{font-size:.875rem;color:currentColor}@keyframes markstream-react-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:where(.markstream-react) .footnote-node{display:flex;margin-top:var(--ms-flow-footnote-y, .5em);margin-bottom:var(--ms-flow-footnote-y, .5em);padding-top:.5rem;border-top:1px solid var(--footnote-border, hsl(var(--border)));font-size:.875rem;line-height:1.625}:where(.markstream-react) .footnote-reference{font-size:.75em;line-height:0}:where(.markstream-react) .footnote-link{color:var(--link-color, #0366d6);text-decoration:none}:where(.markstream-react) .footnote-link:hover{text-decoration:underline}:where(.markstream-react) .footnote-anchor{margin-left:.5rem;color:var(--link-color, #0366d6);text-decoration:none;cursor:pointer}:where(.markstream-react) .footnote-anchor:hover{text-decoration:underline}:where(.markstream-react) .admonition-node{border-left:4px solid #e5e7eb;border-radius:.5rem;padding:.75rem 1rem;margin:1.5rem 0;background:#f9fafbe6}:where(.markstream-react) .admonition-node__title{font-weight:600;margin-bottom:.5rem}:where(.markstream-react) .table-node-wrapper{position:relative;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable}:where(.markstream-react) .table-node{width:100%;border-collapse:collapse}:where(.markstream-react) .table-node th,:where(.markstream-react) .table-node td{white-space:normal;overflow-wrap:break-word;word-break:normal}:where(.markstream-react) .table-node thead th{position:relative}:where(.markstream-react) .table-node__resize-handle{position:absolute;top:0;right:-4px;bottom:0;z-index:1;width:8px;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none}:where(.markstream-react) .table-node__resize-handle:after{content:"";position:absolute;top:.35em;bottom:.35em;left:50%;width:2px;border-radius:9999px;background:#5e68798c;opacity:0;transform:translate(-50%);transition:opacity .12s ease}:where(.markstream-react) .table-node__resize-handle:hover:after,:where(.markstream-react) .table-node__resize-handle:focus-visible:after{opacity:1}:where(.markstream-react) .table-node .text-node,:where(.markstream-react) .table-node code{white-space:inherit;overflow-wrap:inherit;word-break:inherit;max-width:none}:where(.markstream-react) .table-node--loading tbody td{position:relative;overflow:hidden}:where(.markstream-react) .table-node--loading tbody td>*{visibility:hidden}:where(.markstream-react) .table-node--loading tbody td:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.25rem;background:linear-gradient(90deg,#94a3b829 25%,#94a3b847,#94a3b829 75%);background-size:200% 100%;animation:markstream-react-table-node-shimmer 1.2s linear infinite;will-change:background-position}:where(.markstream-react) .table-node__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}:where(.markstream-react) .table-node__spinner{width:2.5rem;height:2.5rem;border-radius:999px;border:2px solid rgba(94,104,121,.25);border-top-color:#5e6879cc;animation:markstream-react-spin 1s linear infinite;will-change:transform}:where(.markstream-react) .table-node .markdown-renderer{display:contents;content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}:where(.markstream-react) .table-node .markdown-renderer .node-slot,:where(.markstream-react) .table-node .markdown-renderer .node-content,:where(.markstream-react) .table-node .markdown-renderer .node-space{display:contents}:where(.markstream-react).markdown-renderer .markdown-renderer{content-visibility:visible;contain-intrinsic-size:auto}@keyframes markstream-react-table-node-shimmer{0%{background-position:0% 0%}50%{background-position:100% 0%}to{background-position:200% 0%}}:where(.markstream-react) .hr+.table-node-wrapper{margin-top:0}:where(.markstream-react) .hr+.table-node-wrapper .table-node{margin-top:0}:where(.markstream-react) .code-block-node{background:#0f172a;color:#fff;border-radius:.75rem;padding:1rem;margin:1.25rem 0;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}:where(.markstream-react) .code-block{border-radius:.75rem;background:#0f172a;color:#e2e8f0;margin:1.25rem 0;overflow:hidden;position:relative}:where(.markstream-react) .code-block--expanded{max-height:none}:where(.markstream-react) .code-block-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;background:#0f172ad9;border-bottom:1px solid rgba(148,163,184,.2)}:where(.markstream-react) .code-block-meta{display:flex;align-items:center;gap:.5rem}:where(.markstream-react) .code-block-language{font-size:.825rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0d9}:where(.markstream-react) .code-block-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:9999px;background:#3b82f633;color:#bfdbfe}:where(.markstream-react) .code-block-actions{display:flex;gap:.35rem}:where(.markstream-react) .code-block-btn{border:1px solid rgba(148,163,184,.4);background:#0f172a99;color:#f8fafc;font-size:.75rem;padding:.25rem .65rem;border-radius:.35rem;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}:where(.markstream-react) .code-block-btn:hover{background:#3b82f6cc;border-color:#3b82f699}:where(.markstream-react) .code-block-body{position:relative}:where(.markstream-react) .code-block-body--expanded{max-height:none}:where(.markstream-react) .code-block-body--collapsed{min-height:0;height:0;overflow:hidden}:where(.markstream-react) .code-block-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a99;backdrop-filter:blur(2px)}:where(.markstream-react) .code-block-spinner{width:2rem;height:2rem;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffffe6;border-radius:9999px;animation:markstream-react-spin 1s linear infinite}:where(.markstream-react) .code-block-footer{padding:.35rem .9rem .7rem;border-top:1px solid rgba(148,163,184,.2);font-size:.75rem;color:#e2e8f0cc}:where(.markstream-react) .mermaid-block{border:1px solid rgba(148,163,184,.3);border-radius:1rem;background:#fff;color:#0f172a;margin:1.25rem 0;overflow:hidden}.dark :where(.markstream-react) .mermaid-block,:where(.markstream-react).dark .mermaid-block{background:#0f172a;color:#e2e8f0;border-color:#94a3b866}:where(.markstream-react).mermaid-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;background:#0009}:where(.markstream-react) .mermaid-modal-panel{position:relative;width:min(64rem,calc(100% - 2rem));margin:2rem auto;border-radius:.75rem;overflow:hidden;background:#fff;color:#0f172a;box-shadow:0 24px 60px #00000038}:where(.markstream-react) .mermaid-modal-panel.is-dark{background:#0f172a;color:#e2e8f0}:where(.markstream-react) .mermaid-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid rgba(148,163,184,.25)}:where(.markstream-react) .mermaid-modal-panel.is-dark .mermaid-modal-header{border-bottom-color:#94a3b840}:where(.markstream-react) .mermaid-modal-title{font-size:.875rem;font-weight:600}:where(.markstream-react) .mermaid-modal-close{font-size:.875rem;padding:.25rem .5rem;border-radius:.375rem;cursor:pointer;opacity:.9}:where(.markstream-react) .mermaid-modal-close:hover{opacity:1;background:#94a3b829}:where(.markstream-react) .mermaid-modal-body{padding:1rem;max-height:80vh;overflow:auto}:where(.markstream-react) .mermaid-modal-content{width:100%;height:100%;display:flex;justify-content:center}:where(.markstream-react) .fullscreen{width:100%;max-height:100%!important;height:100%!important}:where(.markstream-react) .mermaid-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;border-bottom:1px solid rgba(148,163,184,.3);background:#f8fafcd9}.dark :where(.markstream-react) .mermaid-header,:where(.markstream-react).dark .mermaid-header{background:#0f172ad9;border-color:#47556999}:where(.markstream-react) .mermaid-title__text{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:inherit}:where(.markstream-react) .mermaid-actions{display:flex;align-items:center;gap:.35rem}:where(.markstream-react) .mermaid-btn{border:1px solid rgba(148,163,184,.4);background:transparent;color:inherit;font-size:.75rem;padding:.2rem .65rem;border-radius:.35rem;cursor:pointer;transition:background .2s ease,color .2s ease}:where(.markstream-react) .mermaid-btn:hover{background:#3b82f626;color:#1d4ed8}.dark :where(.markstream-react) .mermaid-btn:hover,:where(.markstream-react).dark .mermaid-btn:hover{background:#3b82f64d;color:#bfdbfe}:where(.markstream-react) .mermaid-toggle{display:inline-flex;border-radius:9999px;border:1px solid rgba(148,163,184,.3);overflow:hidden}:where(.markstream-react) .mermaid-toggle-btn{border:none;background:transparent;color:inherit;font-size:.75rem;padding:.2rem .65rem;cursor:pointer;transition:background .2s ease}:where(.markstream-react) .mermaid-toggle-btn--active{background:#3b82f62e;color:#1d4ed8}.dark :where(.markstream-react) .mermaid-toggle-btn--active,:where(.markstream-react).dark .mermaid-toggle-btn--active{background:#3b82f64d;color:#bfdbfe}:where(.markstream-react) .mermaid-body{position:relative;padding:1rem}:where(.markstream-react) .mermaid-preview{width:100%;min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center}:where(.markstream-react) .mermaid-preview svg{width:100%;height:auto}:where(.markstream-react) .mermaid-source{background:#0f172af2;color:#e2e8f0;border-radius:.5rem;padding:1rem;overflow-x:auto}:where(.markstream-react) .mermaid-error{padding:.85rem 1rem;color:#b91c1c;background:#f8717126;border-top:1px solid rgba(248,113,113,.25)}:where(.markstream-react) .mermaid-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem 1rem;font-size:.85rem;color:#0f172a99}.dark :where(.markstream-react) .mermaid-loading,:where(.markstream-react).dark .mermaid-loading{color:#e2e8f0b3}:where(.markstream-react) .mermaid-spinner{width:1.2rem;height:1.2rem;border:2px solid rgba(59,130,246,.4);border-top-color:#3b82f6e6;border-radius:9999px;animation:markstream-react-spin .9s linear infinite}:where(.markstream-react) .math-block-node{margin:1rem 0}:where(.markstream-react) .math-inline-wrapper{position:relative;display:inline-block}:where(.markstream-react) .math-inline{display:inline-block;vertical-align:middle}:where(.markstream-react) .math-inline--hidden{visibility:hidden}:where(.markstream-react) .math-inline__loading{display:inline-flex;align-items:center;justify-content:center;pointer-events:none}:where(.markstream-react) .math-inline__spinner{width:1rem;height:1rem;border-radius:9999px;border:2px solid rgba(94,104,121,.25);border-top-color:#5e6879cc;animation:markstream-react-spin 1s linear infinite}:where(.markstream-react) .math-block{position:relative;text-align:center;overflow-x:auto;min-height:40px;padding:.5rem}:where(.markstream-react) .math-rendering{opacity:.3;transition:opacity .2s ease}:where(.markstream-react) .thematic-break{margin:3rem 0;border-top:1px solid #e2e8f0}:where(.markstream-react) .hr-node{margin:3rem 0;border-top:1px solid var(--hr-border-color, #e2e8f0)}:where(.markstream-react) .hard-break{display:block}:where(.markstream-react) .checkbox-node{margin-right:.5rem;vertical-align:middle}:where(.markstream-react) .checkbox-input{margin:0;cursor:default}:where(.markstream-react) .html-inline-node{display:inline}:where(.markstream-react) .html-inline-node--loading{opacity:.85}:where(.markstream-react) .html-block-node__placeholder{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0}:where(.markstream-react) .html-block-node__placeholder-bar{display:block;height:.8rem;border-radius:9999px;background-image:linear-gradient(90deg,#94a3b859,#94a3b81a,#94a3b859);background-size:200% 100%;animation:markstream-react-html-block-node-shimmer 1.2s ease infinite}@keyframes markstream-react-html-block-node-shimmer{0%{background-position:0% 0%}to{background-position:200% 0%}}:where(.markstream-react) .vmr-container{border-radius:.5rem;border:1px solid rgba(148,163,184,.35);padding:1rem;margin:1rem 0;border-left-width:4px}:where(.markstream-react) .admonition{--admonition-bg: #f8f8f8;--admonition-border: #eaecef;--admonition-header-bg: rgba(0, 0, 0, .03);--admonition-text: #111827;--admonition-muted: #374151;--admonition-note-color: #448aff;--admonition-tip-color: #00bfa5;--admonition-warning-color: #ff9100;--admonition-danger-color: #ff5252;margin:1rem 0;padding:0;border-radius:4px;border-left:4px solid var(--admonition-border);background-color:var(--admonition-bg);color:var(--admonition-text);overflow:hidden}:where(.markstream-react) .admonition-header{padding:.5rem 1rem;font-weight:600;display:flex;align-items:center;background-color:var(--admonition-header-bg);color:var(--admonition-muted)}:where(.markstream-react) .admonition-icon{margin-right:.5rem;color:inherit}:where(.markstream-react) .admonition-content{padding:.5rem 1rem 1rem;color:var(--admonition-text)}:where(.markstream-react) .admonition-note{border-left-color:var(--admonition-note-color)}:where(.markstream-react) .admonition-note .admonition-header{background-color:#448aff0f;color:var(--admonition-note-color)}:where(.markstream-react) .admonition-info{border-left-color:var(--admonition-note-color)}:where(.markstream-react) .admonition-info .admonition-header{background-color:#448aff0f;color:var(--admonition-note-color)}:where(.markstream-react) .admonition-tip{border-left-color:var(--admonition-tip-color)}:where(.markstream-react) .admonition-tip .admonition-header{background-color:#00bfa50f;color:var(--admonition-tip-color)}:where(.markstream-react) .admonition-warning{border-left-color:var(--admonition-warning-color)}:where(.markstream-react) .admonition-warning .admonition-header{background-color:#ff91000f;color:var(--admonition-warning-color)}:where(.markstream-react) .admonition-danger{border-left-color:var(--admonition-danger-color)}:where(.markstream-react) .admonition-danger .admonition-header{background-color:#ff52520f;color:var(--admonition-danger-color)}:where(.markstream-react) .admonition-error{border-left-color:var(--admonition-danger-color)}:where(.markstream-react) .admonition-error .admonition-header{background-color:#ff52520f;color:var(--admonition-danger-color)}:where(.markstream-react) .admonition-caution{border-left-color:var(--admonition-warning-color)}:where(.markstream-react) .admonition-caution .admonition-header{background-color:#ff91000f;color:var(--admonition-warning-color)}:where(.markstream-react) .admonition-toggle{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}:where(.markstream-react) .admonition-toggle:focus{outline:2px solid rgba(0,0,0,.08);outline-offset:2px}:where(.markstream-react) .admonition.is-dark{--admonition-bg: #0b1220;--admonition-border: rgba(255, 255, 255, .06);--admonition-header-bg: rgba(255, 255, 255, .03);--admonition-text: #e6eef8;--admonition-muted: #cbd5e1}:where(.markstream-react) .code-block-container{contain:content;content-visibility:auto;contain-intrinsic-size:320px 180px;container-type:inline-size;--markstream-code-fallback-bg: #ffffff;--markstream-code-fallback-fg: #111827;--markstream-code-border-color: rgb(229 231 235);--markstream-code-fallback-selection-bg: rgba(0, 0, 0, .06);--vscode-editor-selectionBackground: var(--markstream-code-fallback-selection-bg);--markstream-diff-frame-border: rgb(203 213 225 / .56);--markstream-diff-frame-shadow: 0 16px 40px -32px rgb(15 23 42 / .18);--markstream-diff-shell-fg: #0f172a;--markstream-diff-shell-muted: #64748b;--markstream-diff-shell-border: rgb(148 163 184 / .18);--markstream-diff-shell-shadow: 0 30px 70px -48px rgb(15 23 42 / .42);--markstream-diff-shell-bg: radial-gradient( circle at top center, rgb(255 255 255 / .9), transparent 55% ), linear-gradient(180deg, #fffdfa 0%, #fbfcfe 100%);--markstream-diff-header-border: rgb(226 232 240 / .92);--markstream-diff-stage-bg: radial-gradient( circle at top center, rgb(255 255 255 / .95), transparent 60% ), linear-gradient(180deg, #fcfdff 0%, #f6f8fb 100%);--markstream-diff-editor-bg: #ffffff;--markstream-diff-editor-fg: #435266;--markstream-diff-unchanged-fg: lab(36.247 .0071872 -.000424832);--markstream-diff-unchanged-bg: lab(95.9989 .0180531 -.0010643);--markstream-diff-unchanged-divider: rgb(255 255 255 / .94);--markstream-diff-focus: rgb(14 165 233 / .42);--markstream-diff-widget-shadow: rgb(15 23 42 / .26);--markstream-diff-action-hover: rgb(15 23 42 / .06);--markstream-diff-panel-bg: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);--markstream-diff-panel-bg-soft: #ffffff;--markstream-diff-panel-bg-strong: #ffffff;--markstream-diff-panel-border: rgb(226 232 240 / .3);--markstream-diff-pane-divider: rgb(226 232 240 / .42);--markstream-diff-gutter-bg: transparent;--markstream-diff-gutter-guide: transparent;--markstream-diff-gutter-gap: 16px;--markstream-diff-line-number: rgb(82 82 82 / .88);--markstream-diff-line-number-active: rgb(82 82 82 / .88);--markstream-diff-added-fg: #14b8a6;--markstream-diff-removed-fg: #ff3658;--markstream-diff-added-line: rgb(232 249 245 / .98);--markstream-diff-removed-line: rgb(255 241 241 / .98);--markstream-diff-added-inline: rgb(197 245 219 / .96);--markstream-diff-removed-inline: rgb(255 215 217 / .92);--markstream-diff-added-inline-border: transparent;--markstream-diff-removed-inline-border: transparent;--markstream-diff-added-gutter: linear-gradient( 90deg, var(--markstream-diff-added-fg) 0 var(--stream-monaco-gutter-marker-width, 4px), rgb(20 184 166 / .08) var(--stream-monaco-gutter-marker-width, 4px) 100% );--markstream-diff-removed-gutter: repeating-linear-gradient( 180deg, var(--markstream-diff-removed-fg) 0 2px, transparent 2px 4px ) left / var(--stream-monaco-gutter-marker-width, 4px) 100% no-repeat, linear-gradient(90deg, rgb(255 54 88 / .08) 0 100%);--markstream-diff-added-line-fill: rgb(231 248 244 / .96);--markstream-diff-removed-line-fill: rgb(255 241 241 / .98)}:where(.markstream-react) .code-block-container.is-dark{--markstream-code-fallback-bg: #111827;--markstream-code-fallback-fg: #e5e7eb;--markstream-code-border-color: rgb(55 65 81 / .3);--markstream-code-fallback-selection-bg: rgba(255, 255, 255, .08);--markstream-diff-frame-border: rgb(82 82 91 / .56);--markstream-diff-frame-shadow: 0 18px 40px -30px rgb(0 0 0 / .84);--markstream-diff-shell-fg: #e2e8f0;--markstream-diff-shell-muted: #94a3b8;--markstream-diff-shell-border: rgb(82 82 91 / .56);--markstream-diff-shell-shadow: 0 34px 80px -52px rgb(0 0 0 / .72);--markstream-diff-shell-bg: rgb(10 10 11 / .99);--markstream-diff-header-border: rgb(63 63 70 / .82);--markstream-diff-stage-bg: rgb(10 10 11 / .99);--markstream-diff-editor-bg: rgb(12 12 14 / .99);--markstream-diff-editor-fg: #b6c2d3;--markstream-diff-unchanged-fg: #cbd5e1;--markstream-diff-unchanged-bg: rgb(24 24 27 / .92);--markstream-diff-unchanged-divider: rgb(255 255 255 / .18);--markstream-diff-focus: rgb(96 165 250 / .42);--markstream-diff-widget-shadow: rgb(0 0 0 / .72);--markstream-diff-action-hover: rgb(255 255 255 / .08);--markstream-diff-panel-bg: rgb(10 10 11 / .99);--markstream-diff-panel-bg-soft: rgb(10 10 11 / .99);--markstream-diff-panel-bg-strong: rgb(10 10 11 / .99);--markstream-diff-panel-border: rgb(82 82 91 / .3);--markstream-diff-pane-divider: rgb(82 82 91 / .34);--markstream-diff-gutter-bg: linear-gradient( 180deg, rgb(13 13 15 / .94) 0%, rgb(9 9 10 / .98) 100% );--markstream-diff-gutter-guide: rgb(161 161 170 / .08);--markstream-diff-gutter-gap: 16px;--markstream-diff-line-number: rgb(161 161 170 / .68);--markstream-diff-line-number-active: rgb(228 228 231 / .82);--markstream-diff-added-fg: #5eead4;--markstream-diff-removed-fg: #fda4af;--markstream-diff-added-line: rgb(13 148 136 / .18);--markstream-diff-removed-line: rgb(225 29 72 / .18);--markstream-diff-added-inline: rgb(45 212 191 / .24);--markstream-diff-removed-inline: rgb(251 113 133 / .24);--markstream-diff-added-inline-border: transparent;--markstream-diff-removed-inline-border: transparent;--markstream-diff-added-gutter: linear-gradient( 90deg, var(--markstream-diff-added-fg) 0 var(--stream-monaco-gutter-marker-width, 4px), rgb(94 234 212 / .2) var(--stream-monaco-gutter-marker-width, 4px) 100% );--markstream-diff-removed-gutter: repeating-linear-gradient( 180deg, var(--markstream-diff-removed-fg) 0 2px, transparent 2px 4px ) left / var(--stream-monaco-gutter-marker-width, 4px) 100% no-repeat, linear-gradient(90deg, rgb(253 164 175 / .18) 0 100%);--markstream-diff-added-line-fill: linear-gradient( 90deg, rgb(15 118 110 / .38) 0%, rgb(13 148 136 / .28) 100% );--markstream-diff-removed-line-fill: linear-gradient( 90deg, rgb(159 18 57 / .38) 0%, rgb(225 29 72 / .28) 100% )}:where(.markstream-react) .code-editor-container{transition:height .18s ease,max-height .18s ease}:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .monaco-editor-background,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .margin,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .lines-content{background:var(--vscode-editor-background, var(--markstream-code-fallback-bg))!important}:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .margin,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .view-lines,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .view-line,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .view-line span,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .line-numbers{color:var(--vscode-editor-foreground, var(--markstream-code-fallback-fg))!important}:where(.markstream-react) .code-action-btn{cursor:pointer;opacity:.7;transition:opacity .2s}:where(.markstream-react) .code-action-btn:hover{opacity:1}:where(.markstream-react) .code-action-btn:disabled{opacity:.5;cursor:not-allowed}:where(.markstream-react) .code-action-btn:disabled:hover{background-color:transparent}:where(.markstream-react) .icon-slot{display:inline-flex;align-items:center;justify-content:center}:where(.markstream-react) .icon-slot svg,:where(.markstream-react) .icon-slot img{display:block;width:100%;height:100%}:where(.markstream-react) .code-editor-layer{display:grid;min-width:0}:where(.markstream-react) .code-editor-layer>.code-editor-container,:where(.markstream-react) .code-editor-layer>.code-editor-fallback-surface{grid-area:1 / 1}:where(.markstream-react) .code-editor-fallback-surface{overflow:auto;padding:1rem}:where(.markstream-react) .code-block-container.is-diff .code-editor-fallback-surface{padding:0;background:var(--markstream-diff-editor-bg)}:where(.markstream-react) .code-block-container.is-diff{background:var(--markstream-diff-shell-bg);box-shadow:var(--markstream-diff-shell-shadow);border-color:var(--markstream-diff-shell-border);--vscode-editor-selectionBackground: var(--markstream-diff-action-hover)}:where(.markstream-react) .code-block-container.is-diff .code-block-header{padding:18px 20px 14px;color:var(--markstream-diff-shell-fg);background:transparent;border-bottom-color:var(--markstream-diff-header-border)}:where(.markstream-react) .code-block-container.is-diff .code-editor-layer{padding:4px 4px 8px;background:var(--markstream-diff-stage-bg);--vscode-editor-background: var(--markstream-diff-editor-bg);--vscode-editor-foreground: var(--markstream-diff-editor-fg);--vscode-diffEditor-unchangedRegionForeground: var(--markstream-diff-unchanged-fg);--vscode-diffEditor-unchangedRegionBackground: var(--markstream-diff-unchanged-bg);--vscode-focusBorder: var(--markstream-diff-focus);--vscode-widget-shadow: var(--markstream-diff-widget-shadow)}:where(.markstream-react) .code-block-container .monaco-diff-editor .diffOverview{background-color:var(--vscode-editor-background, #111827)}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-diff-editor .diffOverview,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .decorationsOverviewRuler{display:none!important;width:0!important;min-width:0!important;max-width:0!important;border:0!important;background:transparent!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-diff-editor{border:0!important;border-radius:0!important;box-shadow:none!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center:not(.stream-monaco-clickable)>*:not(a){visibility:hidden!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines-compact .text{opacity:0!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root{--stream-monaco-gutter-gap: var(--markstream-diff-gutter-gap) !important;--stream-monaco-line-number: var(--markstream-diff-line-number) !important;--stream-monaco-line-number-active: var(--markstream-diff-line-number-active) !important;--stream-monaco-added-fg: var(--markstream-diff-added-fg) !important;--stream-monaco-removed-fg: var(--markstream-diff-removed-fg) !important;--stream-monaco-added-line: var(--markstream-diff-added-line) !important;--stream-monaco-removed-line: var(--markstream-diff-removed-line) !important;--stream-monaco-added-inline: var(--markstream-diff-added-inline) !important;--stream-monaco-removed-inline: var(--markstream-diff-removed-inline) !important;--stream-monaco-added-inline-border: var(--markstream-diff-added-inline-border) !important;--stream-monaco-removed-inline-border: var(--markstream-diff-removed-inline-border) !important;--stream-monaco-added-line-fill: var(--markstream-diff-added-line-fill) !important;--stream-monaco-removed-line-fill: var(--markstream-diff-removed-line-fill) !important;--stream-monaco-added-gutter: var(--markstream-diff-added-gutter) !important;--stream-monaco-removed-gutter: var(--markstream-diff-removed-gutter) !important;--stream-monaco-added-line-shadow: none !important;--stream-monaco-removed-line-shadow: none !important;--stream-monaco-unchanged-bg: var(--markstream-diff-unchanged-bg) !important;--stream-monaco-unchanged-fg: var(--markstream-diff-unchanged-fg) !important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center:not(.stream-monaco-unchanged-bridge-source),:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge{--stream-monaco-unchanged-bg: var(--markstream-diff-unchanged-bg) !important;--stream-monaco-unchanged-fg: var(--markstream-diff-unchanged-fg) !important;background:var(--stream-monaco-unchanged-bg)!important;color:var(--stream-monaco-unchanged-fg)!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge{right:calc(var(--stream-monaco-gutter-marker-width) - var(--stream-monaco-unchanged-rail-width) / 2 + (var(--stream-monaco-gutter-gap) * 2))!important;width:auto!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary:hover,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary:focus-visible,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary.stream-monaco-focus-visible{background:var(--stream-monaco-unchanged-bg)!important;color:var(--markstream-diff-unchanged-fg)!important;padding-left:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2))!important;padding-right:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2))!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge.stream-monaco-diff-unchanged-bridge-line-info .stream-monaco-unchanged-rail,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:hover,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:focus-visible,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal.stream-monaco-focus-visible{background:var(--stream-monaco-unchanged-bg)!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail{border-right-color:var(--markstream-diff-unchanged-divider)!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal{border-bottom-color:transparent!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-both .stream-monaco-unchanged-reveal:first-child{border-bottom-color:var(--markstream-diff-unchanged-divider)!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-top-only .stream-monaco-unchanged-reveal,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-bottom-only .stream-monaco-unchanged-reveal{border-bottom:0!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center .stream-monaco-unchanged-meta,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center .stream-monaco-unchanged-count,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center .stream-monaco-unchanged-metadata-label,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-meta,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-count,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-metadata-label,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:hover,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:focus-visible,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal.stream-monaco-focus-visible{color:var(--markstream-diff-unchanged-fg)!important}:where(.markstream-react) .code-block-content{display:grid;max-height:min(70vh,500px);overflow:auto;transition:max-height .3s ease;font-family:var(--vscode-editor-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);line-height:var(--vscode-editor-line-height, 1.5)}:where(.markstream-react) .code-block-render,:where(.markstream-react) .code-fallback-plain{grid-area:1 / 1;min-width:0}:where(.markstream-react) .code-block-render{min-height:1px}:where(.markstream-react) .code-block-render pre,:where(.markstream-react) .code-block-content .shiki{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}:where(.markstream-react) .code-block-content .shiki-fallback{margin:0;padding:1rem;background:inherit;color:inherit;white-space:pre;font-family:inherit;font-size:inherit;line-height:inherit}:where(.markstream-react) .code-fallback-plain{position:relative;z-index:1;white-space:pre;overflow:auto;background:var(--vscode-editor-background, var(--markstream-code-fallback-bg));color:var(--vscode-editor-foreground, var(--markstream-code-fallback-fg));font-size:inherit;line-height:inherit;font-family:inherit;font-weight:var(--vscode-editor-font-weight, 400)}:where(.markstream-react) .code-fallback-plain>code{font-size:inherit;line-height:inherit;font-family:inherit;font-weight:inherit}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview{box-sizing:border-box;width:100%;padding-left:0;padding-right:0;color:var(--markstream-diff-editor-fg, var(--vscode-editor-foreground, inherit));background:var(--markstream-diff-editor-bg, var(--vscode-editor-background, transparent));font-variant-ligatures:none;-moz-tab-size:var(--markstream-pre-tab-size, 4);-o-tab-size:var(--markstream-pre-tab-size, 4);tab-size:var(--markstream-pre-tab-size, 4);--markstream-pre-diff-gutter-marker-width: var(--stream-monaco-gutter-marker-width, 4px);--markstream-pre-diff-gutter-gap: var(--stream-monaco-gutter-gap, 8px);--markstream-pre-diff-line-number-width: var(--stream-monaco-line-number-width, 28px);--markstream-pre-diff-scrollable-left: var( --stream-monaco-original-scrollable-left, calc( var(--markstream-pre-diff-gutter-marker-width) + (var(--markstream-pre-diff-gutter-gap) * 2) + var(--markstream-pre-diff-line-number-width) ) );--markstream-pre-diff-line-number-gap-to-code: var( --stream-monaco-original-line-number-gap-to-code, var(--stream-monaco-line-number-gap-to-code, var(--markstream-pre-diff-gutter-gap)) );--markstream-pre-diff-line-number-left: calc( var(--markstream-pre-diff-scrollable-left) - var(--markstream-pre-diff-line-number-gap-to-code) - var(--markstream-pre-diff-line-number-width) );--markstream-pre-diff-line-number-align: var(--markstream-diff-line-number-align, right)}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline{--markstream-pre-diff-scrollable-left: var( --stream-monaco-modified-scrollable-left, var(--stream-monaco-original-scrollable-left) );--markstream-pre-diff-line-number-gap-to-code: var( --stream-monaco-modified-line-number-gap-to-code, var(--stream-monaco-line-number-gap-to-code, var(--markstream-pre-diff-gutter-gap)) );--markstream-pre-diff-line-number-left: calc( var(--markstream-pre-diff-scrollable-left) - var(--markstream-pre-diff-line-number-gap-to-code) - var(--markstream-pre-diff-line-number-width) )}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview>.markstream-pre__diff-code{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-width:100%;font:inherit;line-height:inherit}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline>.markstream-pre__diff-code{grid-template-columns:max-content;width:-moz-max-content;width:max-content}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-pane{min-width:0;overflow:hidden}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview:not(.markstream-pre--diff-inline) .markstream-pre__diff-pane{overflow-x:auto;overflow-y:hidden}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-pane{min-width:-moz-max-content;min-width:max-content;overflow:visible}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-pane--modified{--markstream-pre-diff-scrollable-left: var( --stream-monaco-modified-scrollable-left, var(--stream-monaco-original-scrollable-left) );--markstream-pre-diff-line-number-gap-to-code: var( --stream-monaco-modified-line-number-gap-to-code, var(--stream-monaco-line-number-gap-to-code, var(--markstream-pre-diff-gutter-gap)) );--markstream-pre-diff-line-number-left: calc( var(--markstream-pre-diff-scrollable-left) - var(--markstream-pre-diff-line-number-gap-to-code) - var(--markstream-pre-diff-line-number-width) );box-shadow:inset 1px 0 var(--markstream-diff-pane-divider, rgb(148 163 184 / .18))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-pane--modified{box-shadow:none}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line{position:relative;display:block;box-sizing:border-box;min-height:var(--markstream-pre-diff-line-height, 18px);padding-left:var(--markstream-pre-diff-scrollable-left);line-height:var(--markstream-pre-diff-line-height, 18px)}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line:before{content:"";position:absolute;inset-inline:0;top:0;height:var(--markstream-pre-diff-line-height, 18px);z-index:0;pointer-events:none;background:transparent}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-line:after{content:"";position:absolute;top:0;left:var(--markstream-pre-diff-scrollable-left);width:1px;height:var(--markstream-pre-diff-line-height, 18px);z-index:1;pointer-events:none;background:var(--stream-monaco-pane-divider, var(--markstream-diff-pane-divider, rgb(148 163 184 / .18)))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-rail{position:absolute;z-index:2;top:0;left:0;width:var(--markstream-pre-diff-gutter-marker-width, 4px);min-width:var(--markstream-pre-diff-gutter-marker-width, 4px);height:var(--markstream-pre-diff-line-height, 18px)}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-number{position:absolute;z-index:1;top:0;left:var(--markstream-pre-diff-line-number-left);width:var(--markstream-pre-diff-line-number-width);color:var(--stream-monaco-line-number, var(--markstream-diff-line-number, #6b7280));font-variant-numeric:tabular-nums;line-height:var(--markstream-pre-diff-line-height, 18px);text-align:var(--markstream-pre-diff-line-number-align, right);-webkit-user-select:none;-moz-user-select:none;user-select:none}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-content{position:relative;z-index:1;display:block;min-width:-moz-max-content;min-width:max-content;line-height:var(--markstream-pre-diff-line-height, 18px);white-space:inherit;overflow-wrap:normal;word-break:normal;line-break:auto}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-content-inner{white-space:inherit;overflow-wrap:inherit;word-break:inherit;line-break:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added{color:var(--stream-monaco-added-fg, var(--markstream-diff-added-fg, inherit))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed{color:var(--stream-monaco-removed-fg, var(--markstream-diff-removed-fg, inherit))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--hunk{color:var(--stream-monaco-unchanged-fg, var(--markstream-diff-unchanged-fg, var(--markstream-diff-line-number, currentColor)))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--hunk:before{background:var(--stream-monaco-unchanged-bg, var(--markstream-diff-unchanged-bg, transparent))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added:before{background:var(--stream-monaco-added-line-fill, var(--markstream-diff-added-line-fill, transparent))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed:before{background:var(--stream-monaco-removed-line-fill, var(--markstream-diff-removed-line-fill, transparent))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added>.markstream-pre__diff-rail{background:var(--stream-monaco-added-gutter, var(--markstream-diff-added-gutter, currentColor))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed>.markstream-pre__diff-rail{background:var(--stream-monaco-removed-gutter, var(--markstream-diff-removed-gutter, currentColor))}:where(.markstream-react) .code-loading-placeholder{padding:1rem;min-height:120px}:where(.markstream-react) .loading-skeleton{display:flex;flex-direction:column;gap:.75rem}:where(.markstream-react) .skeleton-line{height:1rem;background:linear-gradient(90deg,#0000000f 25%,#0000001f 37%,#0000000f 63%);background-size:400% 100%;animation:markstream-react-code-skeleton-shimmer 1.2s ease-in-out infinite;border-radius:.25rem}:where(.markstream-react) .code-block-container.is-dark .skeleton-line{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%);background-size:400% 100%}:where(.markstream-react) .skeleton-line.short{width:60%}@keyframes markstream-react-code-skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.markstream-react pre[class^=language-],.markstream-react pre[class*=" language-"]{white-space:pre;overflow:auto;-moz-tab-size:2;-o-tab-size:2;tab-size:2;font-variant-ligatures:none;contain:content;backface-visibility:hidden;transform:translateZ(0);-webkit-font-smoothing:antialiased}.markstream-react pre[class^=language-]>code,.markstream-react pre[class*=" language-"]>code{display:block}.markstream-react pre[class^=language-]:focus,.markstream-react pre[class*=" language-"]:focus{outline:2px solid var(--vmdr-focus, #3b82f6);outline-offset:2px}:where(.markstream-react).html-preview-frame__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}:where(.markstream-react).html-preview-frame__backdrop--dark{background-color:#0f172acc}:where(.markstream-react) .html-preview-frame{width:80vw;max-width:960px;height:70vh;background-color:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 10px 40px #00000040;display:flex;flex-direction:column}:where(.markstream-react) .html-preview-frame--dark{background-color:#020617;color:#e5e7eb;box-shadow:0 10px 40px #0009}:where(.markstream-react) .html-preview-frame__header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;border-bottom:1px solid rgba(0,0,0,.06)}:where(.markstream-react) .html-preview-frame--dark .html-preview-frame__header{border-bottom-color:#94a3b859}:where(.markstream-react) .html-preview-frame__title{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;opacity:.85}:where(.markstream-react) .html-preview-frame__dot{width:.5rem;height:.5rem;border-radius:999px;background-color:#22c55e}:where(.markstream-react) .html-preview-frame--dark .html-preview-frame__dot{background-color:#4ade80}:where(.markstream-react) .html-preview-frame__label{white-space:nowrap}:where(.markstream-react) .html-preview-frame__close{border:none;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer}:where(.markstream-react) .html-preview-frame__close--dark{color:#e5e7eb}:where(.markstream-react) .html-preview-frame__iframe{width:100%;height:100%;border:none;display:block}@media(max-width:640px){:where(.markstream-react) .html-preview-frame{width:100vw;height:80vh;border-radius:0}}:where(.markstream-react).ms-tooltip{position:fixed;padding:.4rem .65rem;font-size:.875rem;border-radius:.375rem;border-width:1px;border-style:solid;box-shadow:0 10px 15px #00000014;pointer-events:none;z-index:9999;opacity:0;transition:opacity .12s linear,transform .22s cubic-bezier(.16,1,.3,1)}:where(.markstream-react).ms-tooltip[data-visible=true]{opacity:1}:where(.markstream-react).ms-tooltip[data-dark=true]{background-color:#111827;color:#f9fafb;border-color:#374151}:where(.markstream-react).ms-tooltip[data-dark=false],:where(.markstream-react).ms-tooltip:not([data-dark=true]){background-color:#fff;color:#111827;border-color:#e5e7eb}@keyframes markstream-react-node-placeholder-shimmer{0%{background-position:200% 0%}to{background-position:-200% 0%}}@keyframes markstream-react-node-enter-fade{0%{opacity:0}to{opacity:1}}@keyframes markstream-react-typewriter-fade{0%{opacity:0}to{opacity:1}}:where(.markstream-react) .typewriter-cursor{position:absolute;left:0;top:0;display:inline-block;width:.55em;height:1em;margin-left:.08em;vertical-align:-.12em;border-right:2px solid currentColor;pointer-events:none;animation:markstream-react-typewriter-cursor-blink 1s steps(1,end) infinite}@keyframes markstream-react-typewriter-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.markstream-react .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(.markstream-react) .d2-block-body{position:relative}:where(.markstream-react) .d2-source{font-family:var(--vscode-editor-font-family, "Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)}:where(.markstream-react) .d2-code{white-space:pre;font-size:.875rem;line-height:1.5}:where(.markstream-react) .d2-render{overflow:auto}:where(.markstream-react) .d2-svg svg.markstream-d2-root-svg{width:100%;max-width:100%;height:auto;display:block}:where(.markstream-react) .mode-btn{opacity:.7;transition:opacity .2s}:where(.markstream-react) .mode-btn.is-active{opacity:1;font-weight:600}:where(.markstream-react) .d2-action-btn{opacity:.7;transition:opacity .2s}:where(.markstream-react) .d2-action-btn:hover{opacity:1}:where(.markstream-react) .d2-action-btn:disabled{opacity:.3;cursor:not-allowed}:where(.markstream-react) .d2-error{color:#dc2626}body>div[id^=dmermaid-]{position:fixed;top:-10000px;left:0;width:100%;visibility:hidden;pointer-events:none}.markstream-react .hover\:bg-\[hsl\(var\(--secondary\)\)\]:hover{background-color:hsl(var(--secondary))}.markstream-react .hover\:bg-\[var\(--vscode-editor-selectionBackground\)\]:hover{background-color:var(--vscode-editor-selectionBackground)}.markstream-react .hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.markstream-react .hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.markstream-react .hover\:text-gray-200:hover{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.markstream-react .hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.markstream-react .hover\:underline:hover{text-decoration-line:underline}@media not all and (min-width:1024px){.markstream-react .max-lg\:my-\[calc\(4\/3\*1em\)\]{margin-top:calc(4 / 3 * 1em);margin-bottom:calc(4 / 3 * 1em)}.markstream-react .max-lg\:pl-\[calc\(14\/9\*1em\)\]{padding-left:calc(14 / 9 * 1em)}}
1
+ :where(.markstream-react) button{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:transparent;border:0;font:inherit;color:inherit}.markstream-react .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.markstream-react .pointer-events-none{pointer-events:none}.markstream-react .visible{visibility:visible}.markstream-react .collapse{visibility:collapse}.markstream-react .fixed{position:fixed}.markstream-react .absolute{position:absolute}.markstream-react .relative{position:relative}.markstream-react .inset-0{top:0;right:0;bottom:0;left:0}.markstream-react .right-2{right:.5rem}.markstream-react .right-6{right:1.5rem}.markstream-react .top-2{top:.5rem}.markstream-react .top-6{top:1.5rem}.markstream-react .z-10{z-index:10}.markstream-react .z-50{z-index:50}.markstream-react .z-\[9999\]{z-index:9999}.markstream-react .m-0{margin:0}.markstream-react .mx-0\.5{margin-left:.125rem;margin-right:.125rem}.markstream-react .my-2{margin-top:.5rem;margin-bottom:.5rem}.markstream-react .my-4{margin-top:1rem;margin-bottom:1rem}.markstream-react .my-5{margin-top:1.25rem;margin-bottom:1.25rem}.markstream-react .my-8{margin-top:2rem;margin-bottom:2rem}.markstream-react .mb-4{margin-bottom:1rem}.markstream-react .ml-4{margin-left:1rem}.markstream-react .mt-2{margin-top:.5rem}.markstream-react .block{display:block}.markstream-react .inline-block{display:inline-block}.markstream-react .inline{display:inline}.markstream-react .flex{display:flex}.markstream-react .inline-flex{display:inline-flex}.markstream-react .table{display:table}.markstream-react .grid{display:grid}.markstream-react .contents{display:contents}.markstream-react .list-item{display:list-item}.markstream-react .hidden{display:none}.markstream-react .h-3{height:.75rem}.markstream-react .h-4{height:1rem}.markstream-react .h-full{height:100%}.markstream-react .max-h-full{max-height:100%}.markstream-react .min-h-\[360px\]{min-height:360px}.markstream-react .min-h-\[40px\]{min-height:40px}.markstream-react .min-h-full{min-height:100%}.markstream-react .w-2\/3{width:66.666667%}.markstream-react .w-3{width:.75rem}.markstream-react .w-4{width:1rem}.markstream-react .w-4\/5{width:80%}.markstream-react .w-full{width:100%}.markstream-react .max-w-full{max-width:100%}.markstream-react .flex-1{flex:1 1 0%}.markstream-react .flex-shrink-0{flex-shrink:0}.markstream-react .border-collapse{border-collapse:collapse}.markstream-react .transform{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))}.markstream-react .cursor-grab{cursor:grab}.markstream-react .cursor-grabbing{cursor:grabbing}.markstream-react .cursor-not-allowed{cursor:not-allowed}.markstream-react .cursor-pointer{cursor:pointer}.markstream-react .list-decimal{list-style-type:decimal}.markstream-react .list-disc{list-style-type:disc}.markstream-react .items-center{align-items:center}.markstream-react .items-baseline{align-items:baseline}.markstream-react .justify-center{justify-content:center}.markstream-react .justify-between{justify-content:space-between}.markstream-react .gap-1\.5{gap:.375rem}.markstream-react .gap-2{gap:.5rem}.markstream-react .gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.markstream-react .gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.markstream-react :is(.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)))}.markstream-react :is(.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)))}.markstream-react .overflow-hidden{overflow:hidden}.markstream-react .overflow-x-auto{overflow-x:auto}.markstream-react .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.markstream-react .whitespace-normal{white-space:normal}.markstream-react .whitespace-nowrap{white-space:nowrap}.markstream-react .whitespace-pre-wrap{white-space:pre-wrap}.markstream-react .break-words{overflow-wrap:break-word}.markstream-react .rounded{border-radius:calc(var(--ms-radius) * .5)}.markstream-react .rounded-lg{border-radius:var(--ms-radius)}.markstream-react .rounded-md{border-radius:calc(var(--ms-radius) * .75)}.markstream-react .border{border-width:1px}.markstream-react .border-b{border-bottom-width:1px}.markstream-react .border-t{border-top-width:1px}.markstream-react .border-\[var\(--footnote-border\,\#eaecef\)\]{border-color:var(--footnote-border,#eaecef)}.markstream-react .border-\[var\(--table-border\,\#cbd5e1\)\]{border-color:var(--table-border,#cbd5e1)}.markstream-react .border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.markstream-react .border-gray-400\/5{border-color:#9ca3af0d}.markstream-react .border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.markstream-react .border-gray-700\/30{border-color:#3741514d}.markstream-react .bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.markstream-react .bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.markstream-react .bg-black\/70{background-color:#000000b3}.markstream-react .bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.markstream-react .bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.markstream-react .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.markstream-react .p-0\.5{padding:.125rem}.markstream-react .p-2{padding:.5rem}.markstream-react .p-4{padding:1rem}.markstream-react .p-\[calc\(4\/7\*1em\)\]{padding:calc(4 / 7 * 1em)}.markstream-react .px-1{padding-left:.25rem;padding-right:.25rem}.markstream-react .px-1\.5{padding-left:.375rem;padding-right:.375rem}.markstream-react .px-2{padding-left:.5rem;padding-right:.5rem}.markstream-react .px-2\.5{padding-left:.625rem;padding-right:.625rem}.markstream-react .px-3{padding-left:.75rem;padding-right:.75rem}.markstream-react .px-4{padding-left:1rem;padding-right:1rem}.markstream-react .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.markstream-react .py-1{padding-top:.25rem;padding-bottom:.25rem}.markstream-react .py-2{padding-top:.5rem;padding-bottom:.5rem}.markstream-react .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.markstream-react .py-4{padding-top:1rem;padding-bottom:1rem}.markstream-react .pb-3{padding-bottom:.75rem}.markstream-react .pl-1\.5{padding-left:.375rem}.markstream-react .pl-\[calc\(13\/8\*1em\)\]{padding-left:1.625em}.markstream-react .pt-2{padding-top:.5rem}.markstream-react .text-left{text-align:left}.markstream-react .text-center{text-align:center}.markstream-react .text-right{text-align:right}.markstream-react .font-mono{font-family:var(--ms-font-mono)}.markstream-react .text-\[85\%\]{font-size:85%}.markstream-react .text-base{font-size:1rem;line-height:1.5rem}.markstream-react .text-sm{font-size:.875rem;line-height:1.25rem}.markstream-react .text-xs{font-size:.75rem;line-height:1rem}.markstream-react .font-medium{font-weight:500}.markstream-react .font-semibold{font-weight:600}.markstream-react .uppercase{text-transform:uppercase}.markstream-react .italic{font-style:italic}.markstream-react .leading-\[normal\]{line-height:normal}.markstream-react .leading-relaxed{line-height:1.625}.markstream-react .text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.markstream-react .text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.markstream-react .text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.markstream-react .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.markstream-react .underline{text-decoration-line:underline}.markstream-react .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.markstream-react .opacity-50{opacity:.5}.markstream-react .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)}.markstream-react .shadow-md{--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)}.markstream-react .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)}.markstream-react .outline{outline-style:solid}.markstream-react .blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.markstream-react .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)}.markstream-react .backdrop-blur{--tw-backdrop-blur: blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.markstream-react .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.markstream-react .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.markstream-react .transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.markstream-react .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.markstream-react .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}.markstream-react .duration-100{transition-duration:.1s}.markstream-react .duration-150{transition-duration:.15s}.markstream-react .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-react .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.markstream-react{--border: 214.3 31.8% 91.4%;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--secondary: 210 40% 96%;--muted: 210 40% 96%;--muted-foreground: 215.4 16.3% 46.9%}.dark .markstream-react,.markstream-react.dark{--border: 217.2 32.6% 17.5%;--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--secondary: 217.2 32.6% 17.5%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%}:where(.markstream-react).markdown-renderer{position:relative;contain:layout;content-visibility:auto;contain-intrinsic-size:800px 600px}:where(.markstream-react).markdown-renderer.virtualized{content-visibility:visible;contain-intrinsic-size:auto}:where(.markstream-react) .node-slot,:where(.markstream-react) .node-content{width:100%}:where(.markstream-react) .node-placeholder{width:100%;min-height:1rem;margin:.25rem 0;border-radius:.5rem;background-image:linear-gradient(90deg,#94a3b82e,#94a3b80d,#94a3b82e);background-size:200% 100%;animation:markstream-react-node-placeholder-shimmer 1.1s ease-in-out infinite}:where(.markstream-react) .node-placeholder:first-child{margin-top:0}:where(.markstream-react) .node-spacer{width:100%}:where(.markstream-react) .fade-node,:where(.markstream-react) .typewriter-node{opacity:0;animation:markstream-react-node-enter-fade var(--fade-duration, var(--typewriter-fade-duration, .28s)) var(--fade-ease, var(--typewriter-fade-ease, cubic-bezier(.33, 0, .67, 1))) forwards}:where(.markstream-react) .unknown-node{color:#6a737d;font-style:italic;margin:1rem 0}:where(.markstream-react) .text-node{display:inline;font-weight:inherit;vertical-align:baseline;white-space:pre-wrap;word-break:break-word}:where(.markstream-react) .text-node.text-node-center{display:inline-flex;justify-content:center;width:100%}:where(.markstream-react) .text-node-stream-delta{animation-duration:var(--stream-update-fade-duration, var(--fade-duration, var(--typewriter-fade-duration, .28s)));animation-timing-function:var(--stream-update-fade-ease, var(--fade-ease, var(--typewriter-fade-ease, cubic-bezier(.33, 0, .67, 1))));animation-fill-mode:both;will-change:opacity}:where(.markstream-react) .text-node-stream-delta--a{animation-name:markstream-react-text-node-stream-update-fade-a}:where(.markstream-react) .text-node-stream-delta--b{animation-name:markstream-react-text-node-stream-update-fade-b}:where(.markstream-react) .paragraph-node{margin:1.25em 0;line-height:1.625}:where(.markstream-react) li .paragraph-node{margin:0}:where(.markstream-react) .blockquote-node{font-weight:500;font-style:italic;border-left:.25rem solid var(--blockquote-border-color,#e2e8f0);quotes:"“" "”" "‘" "’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}:where(.markstream-react) .blockquote-node .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}:where(.markstream-react) .heading-node{font-weight:600}:where(.markstream-react) .heading-1{margin-top:0;margin-bottom:calc(8 / 9 * 1em);font-size:2.25rem;line-height:calc(10 / 9 * 1);font-weight:800}:where(.markstream-react) .heading-2{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;line-height:calc(4 / 3 * 1)}:where(.markstream-react) .heading-3{margin-top:1.6em;margin-bottom:calc(3 / 5 * 1em);font-size:1.25rem;line-height:calc(5 / 3 * 1)}:where(.markstream-react) .heading-4,:where(.markstream-react) .heading-5,:where(.markstream-react) .heading-6{margin-top:1.5rem;margin-bottom:.5rem;font-size:1rem}:where(.markstream-react) .heading-5,:where(.markstream-react) .heading-6{margin-top:0;margin-bottom:0}:where(.markstream-react) .link-node{color:var(--link-color, #0366d6);text-decoration:none}:where(.markstream-react) .link-node:hover{text-decoration:underline;text-underline-offset:.2rem}:where(.markstream-react) .link-loading{color:var(--link-color, #0366d6)}:where(.markstream-react) .link-loading .link-text-wrapper{position:relative}:where(.markstream-react) .link-loading .link-text{position:relative;z-index:2}:where(.markstream-react) .link-loading-indicator{position:absolute;left:0;right:0;height:var(--underline-height, 2px);bottom:var(--underline-bottom, -3px);background:currentColor;border-radius:999px;will-change:opacity;opacity:var(--underline-rest-opacity, .18);animation:markstream-react-link-loading-pulse var(--underline-duration, 1.6s) var(--underline-timing, ease-in-out) var(--underline-iteration, infinite)}@keyframes markstream-react-link-loading-pulse{0%,to{opacity:var(--underline-rest-opacity, .18)}50%{opacity:var(--underline-opacity, .35)}}@keyframes markstream-react-text-node-stream-update-fade-a{0%{opacity:0}to{opacity:1}}@keyframes markstream-react-text-node-stream-update-fade-b{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){:where(.markstream-react) .link-loading-indicator{animation:none!important;opacity:var(--underline-rest-opacity, .18)}:where(.markstream-react) .text-node-stream-delta{animation:none!important}:where(.markstream-react) .fade-node,:where(.markstream-react) .typewriter-node{animation:none!important;opacity:1}:where(.markstream-react) .typewriter-cursor{animation:none!important;opacity:1}}:where(.markstream-react) .inline-code{padding:.125rem .375rem;border-radius:.375rem;background:#f3f4f6;font-size:.875rem}:where(.markstream-react) .image-node__img{display:inline-block;max-width:none;width:auto;height:auto;min-height:0;vertical-align:middle;border-radius:.75rem;opacity:0;transition:opacity .2s ease}:where(.markstream-react) .image-node__img.is-loaded{opacity:1}:where(.markstream-react) .image-node__placeholder,:where(.markstream-react) .image-node__error{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:auto;padding:1.5rem;border-radius:.75rem;vertical-align:middle}:where(.markstream-react) .image-node__placeholder{background:linear-gradient(120deg,#94a3b833,#e2e8f059);color:#475569;box-shadow:inset 0 0 0 1px #94a3b833}:where(.markstream-react) .image-node__error{color:#dc2626;background:#f8717114}:where(.markstream-react) .image-node__spinner{width:1rem;height:1rem;border-radius:999px;border:2px solid currentColor;border-top-color:transparent;animation:markstream-react-spin 1s linear infinite}:where(.markstream-react) .image-node__placeholder-text{font-size:.875rem;color:currentColor}@keyframes markstream-react-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:where(.markstream-react) .footnote-node{display:flex;margin-top:var(--ms-flow-footnote-y, .5em);margin-bottom:var(--ms-flow-footnote-y, .5em);padding-top:.5rem;border-top:1px solid var(--footnote-border, hsl(var(--border)));font-size:.875rem;line-height:1.625}:where(.markstream-react) .footnote-reference{font-size:.75em;line-height:0}:where(.markstream-react) .footnote-link{color:var(--link-color, #0366d6);text-decoration:none}:where(.markstream-react) .footnote-link:hover{text-decoration:underline}:where(.markstream-react) .footnote-anchor{margin-left:.5rem;color:var(--link-color, #0366d6);text-decoration:none;cursor:pointer}:where(.markstream-react) .footnote-anchor:hover{text-decoration:underline}:where(.markstream-react) .admonition-node{border-left:4px solid #e5e7eb;border-radius:.5rem;padding:.75rem 1rem;margin:1.5rem 0;background:#f9fafbe6}:where(.markstream-react) .admonition-node__title{font-weight:600;margin-bottom:.5rem}:where(.markstream-react) .table-node-wrapper{position:relative;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable}:where(.markstream-react) .table-node{width:100%;border-collapse:collapse}:where(.markstream-react) .table-node th,:where(.markstream-react) .table-node td{white-space:normal;overflow-wrap:break-word;word-break:normal}:where(.markstream-react) .table-node thead th{position:relative}:where(.markstream-react) .table-node__resize-handle{position:absolute;top:0;right:-4px;bottom:0;z-index:1;width:8px;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none}:where(.markstream-react) .table-node__resize-handle:after{content:"";position:absolute;top:.35em;bottom:.35em;left:50%;width:2px;border-radius:9999px;background:#5e68798c;opacity:0;transform:translate(-50%);transition:opacity .12s ease}:where(.markstream-react) .table-node__resize-handle:hover:after,:where(.markstream-react) .table-node__resize-handle:focus-visible:after{opacity:1}:where(.markstream-react) .table-node .text-node,:where(.markstream-react) .table-node code{white-space:inherit;overflow-wrap:inherit;word-break:inherit;max-width:none}:where(.markstream-react) .table-node--loading tbody td{position:relative;overflow:hidden}:where(.markstream-react) .table-node--loading tbody td>*{visibility:hidden}:where(.markstream-react) .table-node--loading tbody td:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.25rem;background:linear-gradient(90deg,#94a3b829 25%,#94a3b847,#94a3b829 75%);background-size:200% 100%;animation:markstream-react-table-node-shimmer 1.2s linear infinite;will-change:background-position}:where(.markstream-react) .table-node__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}:where(.markstream-react) .table-node__spinner{width:2.5rem;height:2.5rem;border-radius:999px;border:2px solid rgba(94,104,121,.25);border-top-color:#5e6879cc;animation:markstream-react-spin 1s linear infinite;will-change:transform}:where(.markstream-react) .table-node .markdown-renderer{display:contents;content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}:where(.markstream-react) .table-node .markdown-renderer .node-slot,:where(.markstream-react) .table-node .markdown-renderer .node-content,:where(.markstream-react) .table-node .markdown-renderer .node-space{display:contents}:where(.markstream-react).markdown-renderer .markdown-renderer{content-visibility:visible;contain-intrinsic-size:auto}@keyframes markstream-react-table-node-shimmer{0%{background-position:0% 0%}50%{background-position:100% 0%}to{background-position:200% 0%}}:where(.markstream-react) .hr+.table-node-wrapper{margin-top:0}:where(.markstream-react) .hr+.table-node-wrapper .table-node{margin-top:0}:where(.markstream-react) .code-block-node{background:#0f172a;color:#fff;border-radius:.75rem;padding:1rem;margin:1.25rem 0;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}:where(.markstream-react) .code-block{border-radius:.75rem;background:#0f172a;color:#e2e8f0;margin:1.25rem 0;overflow:hidden;position:relative}:where(.markstream-react) .code-block--expanded{max-height:none}:where(.markstream-react) .code-block-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;background:#0f172ad9;border-bottom:1px solid rgba(148,163,184,.2)}:where(.markstream-react) .code-block-meta{display:flex;align-items:center;gap:.5rem}:where(.markstream-react) .code-block-language{font-size:.825rem;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0d9}:where(.markstream-react) .code-block-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:9999px;background:#3b82f633;color:#bfdbfe}:where(.markstream-react) .code-block-actions{display:flex;gap:.35rem}:where(.markstream-react) .code-block-btn{border:1px solid rgba(148,163,184,.4);background:#0f172a99;color:#f8fafc;font-size:.75rem;padding:.25rem .65rem;border-radius:.35rem;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}:where(.markstream-react) .code-block-btn:hover{background:#3b82f6cc;border-color:#3b82f699}:where(.markstream-react) .code-block-body{position:relative}:where(.markstream-react) .code-block-body--expanded{max-height:none}:where(.markstream-react) .code-block-body--collapsed{min-height:0;height:0;overflow:hidden}:where(.markstream-react) .code-block-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a99;backdrop-filter:blur(2px)}:where(.markstream-react) .code-block-spinner{width:2rem;height:2rem;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffffe6;border-radius:9999px;animation:markstream-react-spin 1s linear infinite}:where(.markstream-react) .code-block-footer{padding:.35rem .9rem .7rem;border-top:1px solid rgba(148,163,184,.2);font-size:.75rem;color:#e2e8f0cc}:where(.markstream-react) .mermaid-block{border:1px solid rgba(148,163,184,.3);border-radius:1rem;background:#fff;color:#0f172a;margin:1.25rem 0;overflow:hidden}.dark :where(.markstream-react) .mermaid-block,:where(.markstream-react).dark .mermaid-block{background:#0f172a;color:#e2e8f0;border-color:#94a3b866}:where(.markstream-react).mermaid-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;background:#0009}:where(.markstream-react) .mermaid-modal-panel{position:relative;width:min(64rem,calc(100% - 2rem));margin:2rem auto;border-radius:.75rem;overflow:hidden;background:#fff;color:#0f172a;box-shadow:0 24px 60px #00000038}:where(.markstream-react) .mermaid-modal-panel.is-dark{background:#0f172a;color:#e2e8f0}:where(.markstream-react) .mermaid-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid rgba(148,163,184,.25)}:where(.markstream-react) .mermaid-modal-panel.is-dark .mermaid-modal-header{border-bottom-color:#94a3b840}:where(.markstream-react) .mermaid-modal-title{font-size:.875rem;font-weight:600}:where(.markstream-react) .mermaid-modal-close{font-size:.875rem;padding:.25rem .5rem;border-radius:.375rem;cursor:pointer;opacity:.9}:where(.markstream-react) .mermaid-modal-close:hover{opacity:1;background:#94a3b829}:where(.markstream-react) .mermaid-modal-body{padding:1rem;max-height:80vh;overflow:auto}:where(.markstream-react) .mermaid-modal-content{width:100%;height:100%;display:flex;justify-content:center}:where(.markstream-react) .fullscreen{width:100%;max-height:100%!important;height:100%!important}:where(.markstream-react) .mermaid-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .9rem;border-bottom:1px solid rgba(148,163,184,.3);background:#f8fafcd9}.dark :where(.markstream-react) .mermaid-header,:where(.markstream-react).dark .mermaid-header{background:#0f172ad9;border-color:#47556999}:where(.markstream-react) .mermaid-title__text{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:inherit}:where(.markstream-react) .mermaid-actions{display:flex;align-items:center;gap:.35rem}:where(.markstream-react) .mermaid-btn{border:1px solid rgba(148,163,184,.4);background:transparent;color:inherit;font-size:.75rem;padding:.2rem .65rem;border-radius:.35rem;cursor:pointer;transition:background .2s ease,color .2s ease}:where(.markstream-react) .mermaid-btn:hover{background:#3b82f626;color:#1d4ed8}.dark :where(.markstream-react) .mermaid-btn:hover,:where(.markstream-react).dark .mermaid-btn:hover{background:#3b82f64d;color:#bfdbfe}:where(.markstream-react) .mermaid-toggle{display:inline-flex;border-radius:9999px;border:1px solid rgba(148,163,184,.3);overflow:hidden}:where(.markstream-react) .mermaid-toggle-btn{border:none;background:transparent;color:inherit;font-size:.75rem;padding:.2rem .65rem;cursor:pointer;transition:background .2s ease}:where(.markstream-react) .mermaid-toggle-btn--active{background:#3b82f62e;color:#1d4ed8}.dark :where(.markstream-react) .mermaid-toggle-btn--active,:where(.markstream-react).dark .mermaid-toggle-btn--active{background:#3b82f64d;color:#bfdbfe}:where(.markstream-react) .mermaid-body{position:relative;padding:1rem}:where(.markstream-react) .mermaid-preview{width:100%;min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center}:where(.markstream-react) .mermaid-preview svg{width:100%;height:auto}:where(.markstream-react) .mermaid-source{background:#0f172af2;color:#e2e8f0;border-radius:.5rem;padding:1rem;overflow-x:auto}:where(.markstream-react) .mermaid-error{padding:.85rem 1rem;color:#b91c1c;background:#f8717126;border-top:1px solid rgba(248,113,113,.25)}:where(.markstream-react) .mermaid-loading{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem 1rem;font-size:.85rem;color:#0f172a99}.dark :where(.markstream-react) .mermaid-loading,:where(.markstream-react).dark .mermaid-loading{color:#e2e8f0b3}:where(.markstream-react) .mermaid-spinner{width:1.2rem;height:1.2rem;border:2px solid rgba(59,130,246,.4);border-top-color:#3b82f6e6;border-radius:9999px;animation:markstream-react-spin .9s linear infinite}:where(.markstream-react) .math-block-node{margin:1rem 0}:where(.markstream-react) .math-inline-wrapper{position:relative;display:inline-block}:where(.markstream-react) .math-inline{display:inline-block;vertical-align:middle}:where(.markstream-react) .math-inline--hidden{visibility:hidden}:where(.markstream-react) .math-inline__loading{display:inline-flex;align-items:center;justify-content:center;pointer-events:none}:where(.markstream-react) .math-inline__spinner{width:1rem;height:1rem;border-radius:9999px;border:2px solid rgba(94,104,121,.25);border-top-color:#5e6879cc;animation:markstream-react-spin 1s linear infinite}:where(.markstream-react) .math-block{position:relative;text-align:center;overflow-x:auto;min-height:40px;padding:.5rem}:where(.markstream-react) .math-rendering{opacity:.3;transition:opacity .2s ease}:where(.markstream-react) .thematic-break{margin:3rem 0;border-top:1px solid #e2e8f0}:where(.markstream-react) .hr-node{margin:3rem 0;border-top:1px solid var(--hr-border-color, #e2e8f0)}:where(.markstream-react) .hard-break{display:block}:where(.markstream-react) .checkbox-node{margin-right:.5rem;vertical-align:middle}:where(.markstream-react) .checkbox-input{margin:0;cursor:default}:where(.markstream-react) .html-inline-node{display:inline}:where(.markstream-react) .html-inline-node--loading{opacity:.85}:where(.markstream-react) .html-block-node__placeholder{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0}:where(.markstream-react) .html-block-node__placeholder-bar{display:block;height:.8rem;border-radius:9999px;background-image:linear-gradient(90deg,#94a3b859,#94a3b81a,#94a3b859);background-size:200% 100%;animation:markstream-react-html-block-node-shimmer 1.2s ease infinite}@keyframes markstream-react-html-block-node-shimmer{0%{background-position:0% 0%}to{background-position:200% 0%}}:where(.markstream-react) .vmr-container{border-radius:.5rem;border:1px solid rgba(148,163,184,.35);padding:1rem;margin:1rem 0;border-left-width:4px}:where(.markstream-react) .admonition{--admonition-bg: #f8f8f8;--admonition-border: #eaecef;--admonition-header-bg: rgba(0, 0, 0, .03);--admonition-text: #111827;--admonition-muted: #374151;--admonition-note-color: #448aff;--admonition-tip-color: #00bfa5;--admonition-warning-color: #ff9100;--admonition-danger-color: #ff5252;margin:1rem 0;padding:0;border-radius:4px;border-left:4px solid var(--admonition-border);background-color:var(--admonition-bg);color:var(--admonition-text);overflow:hidden}:where(.markstream-react) .admonition-header{padding:.5rem 1rem;font-weight:600;display:flex;align-items:center;background-color:var(--admonition-header-bg);color:var(--admonition-muted)}:where(.markstream-react) .admonition-icon{margin-right:.5rem;color:inherit}:where(.markstream-react) .admonition-content{padding:.5rem 1rem 1rem;color:var(--admonition-text)}:where(.markstream-react) .admonition-note{border-left-color:var(--admonition-note-color)}:where(.markstream-react) .admonition-note .admonition-header{background-color:#448aff0f;color:var(--admonition-note-color)}:where(.markstream-react) .admonition-info{border-left-color:var(--admonition-note-color)}:where(.markstream-react) .admonition-info .admonition-header{background-color:#448aff0f;color:var(--admonition-note-color)}:where(.markstream-react) .admonition-tip{border-left-color:var(--admonition-tip-color)}:where(.markstream-react) .admonition-tip .admonition-header{background-color:#00bfa50f;color:var(--admonition-tip-color)}:where(.markstream-react) .admonition-warning{border-left-color:var(--admonition-warning-color)}:where(.markstream-react) .admonition-warning .admonition-header{background-color:#ff91000f;color:var(--admonition-warning-color)}:where(.markstream-react) .admonition-danger{border-left-color:var(--admonition-danger-color)}:where(.markstream-react) .admonition-danger .admonition-header{background-color:#ff52520f;color:var(--admonition-danger-color)}:where(.markstream-react) .admonition-error{border-left-color:var(--admonition-danger-color)}:where(.markstream-react) .admonition-error .admonition-header{background-color:#ff52520f;color:var(--admonition-danger-color)}:where(.markstream-react) .admonition-caution{border-left-color:var(--admonition-warning-color)}:where(.markstream-react) .admonition-caution .admonition-header{background-color:#ff91000f;color:var(--admonition-warning-color)}:where(.markstream-react) .admonition-toggle{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;padding:.25rem .5rem;border-radius:4px;font-size:.9rem}:where(.markstream-react) .admonition-toggle:focus{outline:2px solid rgba(0,0,0,.08);outline-offset:2px}:where(.markstream-react) .admonition.is-dark{--admonition-bg: #0b1220;--admonition-border: rgba(255, 255, 255, .06);--admonition-header-bg: rgba(255, 255, 255, .03);--admonition-text: #e6eef8;--admonition-muted: #cbd5e1}:where(.markstream-react) .code-block-container{contain:content;content-visibility:auto;contain-intrinsic-size:320px 180px;container-type:inline-size;--markstream-code-fallback-bg: #ffffff;--markstream-code-fallback-fg: #111827;--markstream-code-border-color: rgb(229 231 235);--markstream-code-fallback-selection-bg: rgba(0, 0, 0, .06);--vscode-editor-selectionBackground: var(--markstream-code-fallback-selection-bg);--markstream-diff-frame-border: rgb(203 213 225 / .56);--markstream-diff-frame-shadow: 0 16px 40px -32px rgb(15 23 42 / .18);--markstream-diff-shell-fg: #0f172a;--markstream-diff-shell-muted: #64748b;--markstream-diff-shell-border: rgb(148 163 184 / .18);--markstream-diff-shell-shadow: 0 30px 70px -48px rgb(15 23 42 / .42);--markstream-diff-shell-bg: radial-gradient( circle at top center, rgb(255 255 255 / .9), transparent 55% ), linear-gradient(180deg, #fffdfa 0%, #fbfcfe 100%);--markstream-diff-header-border: rgb(226 232 240 / .92);--markstream-diff-stage-bg: radial-gradient( circle at top center, rgb(255 255 255 / .95), transparent 60% ), linear-gradient(180deg, #fcfdff 0%, #f6f8fb 100%);--markstream-diff-editor-bg: #ffffff;--markstream-diff-editor-fg: #435266;--markstream-diff-unchanged-fg: lab(36.247 .0071872 -.000424832);--markstream-diff-unchanged-bg: lab(95.9989 .0180531 -.0010643);--markstream-diff-unchanged-divider: rgb(255 255 255 / .94);--markstream-diff-focus: rgb(14 165 233 / .42);--markstream-diff-widget-shadow: rgb(15 23 42 / .26);--markstream-diff-action-hover: rgb(15 23 42 / .06);--markstream-diff-panel-bg: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);--markstream-diff-panel-bg-soft: #ffffff;--markstream-diff-panel-bg-strong: #ffffff;--markstream-diff-panel-border: rgb(226 232 240 / .3);--markstream-diff-pane-divider: rgb(226 232 240 / .42);--markstream-diff-gutter-bg: transparent;--markstream-diff-gutter-guide: transparent;--markstream-diff-gutter-gap: 16px;--markstream-diff-line-number: rgb(82 82 82 / .88);--markstream-diff-line-number-active: rgb(82 82 82 / .88);--markstream-diff-added-fg: #14b8a6;--markstream-diff-removed-fg: #ff3658;--markstream-diff-added-line: rgb(232 249 245 / .98);--markstream-diff-removed-line: rgb(255 241 241 / .98);--markstream-diff-added-inline: rgb(197 245 219 / .96);--markstream-diff-removed-inline: rgb(255 215 217 / .92);--markstream-diff-added-inline-border: transparent;--markstream-diff-removed-inline-border: transparent;--markstream-diff-added-gutter: linear-gradient( 90deg, var(--markstream-diff-added-fg) 0 var(--stream-monaco-gutter-marker-width, 4px), rgb(20 184 166 / .08) var(--stream-monaco-gutter-marker-width, 4px) 100% );--markstream-diff-removed-gutter: repeating-linear-gradient( 180deg, var(--markstream-diff-removed-fg) 0 2px, transparent 2px 4px ) left / var(--stream-monaco-gutter-marker-width, 4px) 100% no-repeat, linear-gradient(90deg, rgb(255 54 88 / .08) 0 100%);--markstream-diff-added-line-fill: rgb(231 248 244 / .96);--markstream-diff-removed-line-fill: rgb(255 241 241 / .98)}:where(.markstream-react) .code-block-container.is-dark{--markstream-code-fallback-bg: #111827;--markstream-code-fallback-fg: #e5e7eb;--markstream-code-border-color: rgb(55 65 81 / .3);--markstream-code-fallback-selection-bg: rgba(255, 255, 255, .08);--markstream-diff-frame-border: rgb(82 82 91 / .56);--markstream-diff-frame-shadow: 0 18px 40px -30px rgb(0 0 0 / .84);--markstream-diff-shell-fg: #e2e8f0;--markstream-diff-shell-muted: #94a3b8;--markstream-diff-shell-border: rgb(82 82 91 / .56);--markstream-diff-shell-shadow: 0 34px 80px -52px rgb(0 0 0 / .72);--markstream-diff-shell-bg: rgb(10 10 11 / .99);--markstream-diff-header-border: rgb(63 63 70 / .82);--markstream-diff-stage-bg: rgb(10 10 11 / .99);--markstream-diff-editor-bg: rgb(12 12 14 / .99);--markstream-diff-editor-fg: #b6c2d3;--markstream-diff-unchanged-fg: #cbd5e1;--markstream-diff-unchanged-bg: rgb(24 24 27 / .92);--markstream-diff-unchanged-divider: rgb(255 255 255 / .18);--markstream-diff-focus: rgb(96 165 250 / .42);--markstream-diff-widget-shadow: rgb(0 0 0 / .72);--markstream-diff-action-hover: rgb(255 255 255 / .08);--markstream-diff-panel-bg: rgb(10 10 11 / .99);--markstream-diff-panel-bg-soft: rgb(10 10 11 / .99);--markstream-diff-panel-bg-strong: rgb(10 10 11 / .99);--markstream-diff-panel-border: rgb(82 82 91 / .3);--markstream-diff-pane-divider: rgb(82 82 91 / .34);--markstream-diff-gutter-bg: linear-gradient( 180deg, rgb(13 13 15 / .94) 0%, rgb(9 9 10 / .98) 100% );--markstream-diff-gutter-guide: rgb(161 161 170 / .08);--markstream-diff-gutter-gap: 16px;--markstream-diff-line-number: rgb(161 161 170 / .68);--markstream-diff-line-number-active: rgb(228 228 231 / .82);--markstream-diff-added-fg: #5eead4;--markstream-diff-removed-fg: #fda4af;--markstream-diff-added-line: rgb(13 148 136 / .18);--markstream-diff-removed-line: rgb(225 29 72 / .18);--markstream-diff-added-inline: rgb(45 212 191 / .24);--markstream-diff-removed-inline: rgb(251 113 133 / .24);--markstream-diff-added-inline-border: transparent;--markstream-diff-removed-inline-border: transparent;--markstream-diff-added-gutter: linear-gradient( 90deg, var(--markstream-diff-added-fg) 0 var(--stream-monaco-gutter-marker-width, 4px), rgb(94 234 212 / .2) var(--stream-monaco-gutter-marker-width, 4px) 100% );--markstream-diff-removed-gutter: repeating-linear-gradient( 180deg, var(--markstream-diff-removed-fg) 0 2px, transparent 2px 4px ) left / var(--stream-monaco-gutter-marker-width, 4px) 100% no-repeat, linear-gradient(90deg, rgb(253 164 175 / .18) 0 100%);--markstream-diff-added-line-fill: linear-gradient( 90deg, rgb(15 118 110 / .38) 0%, rgb(13 148 136 / .28) 100% );--markstream-diff-removed-line-fill: linear-gradient( 90deg, rgb(159 18 57 / .38) 0%, rgb(225 29 72 / .28) 100% )}:where(.markstream-react) .code-editor-container{transition:height .18s ease,max-height .18s ease}:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .monaco-editor-background,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .margin,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .lines-content{background:var(--vscode-editor-background, var(--markstream-code-fallback-bg))!important}:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .margin,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .view-lines,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .view-line,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .view-line span,:where(.markstream-react) .code-block-container.is-plain-text:not(.is-diff) .monaco-editor .line-numbers{color:var(--vscode-editor-foreground, var(--markstream-code-fallback-fg))!important}:where(.markstream-react) .code-action-btn{cursor:pointer;opacity:.7;transition:opacity .2s}:where(.markstream-react) .code-action-btn:hover{opacity:1}:where(.markstream-react) .code-action-btn:disabled{opacity:.5;cursor:not-allowed}:where(.markstream-react) .code-action-btn:disabled:hover{background-color:transparent}:where(.markstream-react) .icon-slot{display:inline-flex;align-items:center;justify-content:center}:where(.markstream-react) .icon-slot svg,:where(.markstream-react) .icon-slot img{display:block;width:100%;height:100%}:where(.markstream-react) .code-editor-layer{display:grid;min-width:0}:where(.markstream-react) .code-editor-layer>.code-editor-container,:where(.markstream-react) .code-editor-layer>.code-editor-fallback-surface{grid-area:1 / 1}:where(.markstream-react) .code-editor-fallback-surface{overflow:auto;padding:1rem}:where(.markstream-react) .code-block-container.is-diff .code-editor-fallback-surface{padding:0;background:var(--markstream-diff-editor-bg)}:where(.markstream-react) .code-block-container.is-diff{background:var(--markstream-diff-shell-bg);box-shadow:var(--markstream-diff-shell-shadow);border-color:var(--markstream-diff-shell-border);--vscode-editor-selectionBackground: var(--markstream-diff-action-hover)}:where(.markstream-react) .code-block-container.is-diff .code-block-header{padding:18px 20px 14px;color:var(--markstream-diff-shell-fg);background:transparent;border-bottom-color:var(--markstream-diff-header-border)}:where(.markstream-react) .code-block-container.is-diff .code-editor-layer{padding:4px 4px 8px;background:var(--markstream-diff-stage-bg);--vscode-editor-background: var(--markstream-diff-editor-bg);--vscode-editor-foreground: var(--markstream-diff-editor-fg);--vscode-diffEditor-unchangedRegionForeground: var(--markstream-diff-unchanged-fg);--vscode-diffEditor-unchangedRegionBackground: var(--markstream-diff-unchanged-bg);--vscode-focusBorder: var(--markstream-diff-focus);--vscode-widget-shadow: var(--markstream-diff-widget-shadow)}:where(.markstream-react) .code-block-container .monaco-diff-editor .diffOverview{background-color:var(--vscode-editor-background, #111827)}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-diff-editor .diffOverview,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .decorationsOverviewRuler{display:none!important;width:0!important;min-width:0!important;max-width:0!important;border:0!important;background:transparent!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-diff-editor{border:0!important;border-radius:0!important;box-shadow:none!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center:not(.stream-monaco-clickable)>*:not(a){visibility:hidden!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines-compact .text{opacity:0!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root{--stream-monaco-gutter-gap: var(--markstream-diff-gutter-gap) !important;--stream-monaco-line-number: var(--markstream-diff-line-number) !important;--stream-monaco-line-number-active: var(--markstream-diff-line-number-active) !important;--stream-monaco-added-fg: var(--markstream-diff-added-fg) !important;--stream-monaco-removed-fg: var(--markstream-diff-removed-fg) !important;--stream-monaco-added-line: var(--markstream-diff-added-line) !important;--stream-monaco-removed-line: var(--markstream-diff-removed-line) !important;--stream-monaco-added-inline: var(--markstream-diff-added-inline) !important;--stream-monaco-removed-inline: var(--markstream-diff-removed-inline) !important;--stream-monaco-added-inline-border: var(--markstream-diff-added-inline-border) !important;--stream-monaco-removed-inline-border: var(--markstream-diff-removed-inline-border) !important;--stream-monaco-added-line-fill: var(--markstream-diff-added-line-fill) !important;--stream-monaco-removed-line-fill: var(--markstream-diff-removed-line-fill) !important;--stream-monaco-added-gutter: var(--markstream-diff-added-gutter) !important;--stream-monaco-removed-gutter: var(--markstream-diff-removed-gutter) !important;--stream-monaco-added-line-shadow: none !important;--stream-monaco-removed-line-shadow: none !important;--stream-monaco-unchanged-bg: var(--markstream-diff-unchanged-bg) !important;--stream-monaco-unchanged-fg: var(--markstream-diff-unchanged-fg) !important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center:not(.stream-monaco-unchanged-bridge-source),:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge{--stream-monaco-unchanged-bg: var(--markstream-diff-unchanged-bg) !important;--stream-monaco-unchanged-fg: var(--markstream-diff-unchanged-fg) !important;background:var(--stream-monaco-unchanged-bg)!important;color:var(--stream-monaco-unchanged-fg)!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge{right:calc(var(--stream-monaco-gutter-marker-width) - var(--stream-monaco-unchanged-rail-width) / 2 + (var(--stream-monaco-gutter-gap) * 2))!important;width:auto!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary:hover,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary:focus-visible,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-summary.stream-monaco-focus-visible{background:var(--stream-monaco-unchanged-bg)!important;color:var(--markstream-diff-unchanged-fg)!important;padding-left:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2))!important;padding-right:calc(var(--stream-monaco-gutter-marker-width) + (var(--stream-monaco-gutter-gap) * 2))!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge.stream-monaco-diff-unchanged-bridge-line-info .stream-monaco-unchanged-rail,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:hover,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:focus-visible,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal.stream-monaco-focus-visible{background:var(--stream-monaco-unchanged-bg)!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail{border-right-color:var(--markstream-diff-unchanged-divider)!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal{border-bottom-color:transparent!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-both .stream-monaco-unchanged-reveal:first-child{border-bottom-color:var(--markstream-diff-unchanged-divider)!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-top-only .stream-monaco-unchanged-reveal,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-rail.stream-monaco-unchanged-rail-bottom-only .stream-monaco-unchanged-reveal{border-bottom:0!important}:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center .stream-monaco-unchanged-meta,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center .stream-monaco-unchanged-count,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .monaco-editor .diff-hidden-lines .center .stream-monaco-unchanged-metadata-label,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-meta,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-count,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-metadata-label,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:hover,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal:focus-visible,:where(.markstream-react) .code-block-container .stream-monaco-diff-root .stream-monaco-diff-unchanged-bridge .stream-monaco-unchanged-reveal.stream-monaco-focus-visible{color:var(--markstream-diff-unchanged-fg)!important}:where(.markstream-react) .code-block-content{display:grid;max-height:min(70vh,500px);overflow:auto;transition:max-height .3s ease;font-family:var(--vscode-editor-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);line-height:var(--vscode-editor-line-height, 1.5)}:where(.markstream-react) .code-block-render,:where(.markstream-react) .code-fallback-plain{grid-area:1 / 1;min-width:0}:where(.markstream-react) .code-block-render{min-height:1px}:where(.markstream-react) .code-block-render pre,:where(.markstream-react) .code-block-content .shiki{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}:where(.markstream-react) .code-block-content .shiki-fallback{margin:0;padding:1rem;background:inherit;color:inherit;white-space:pre;font-family:inherit;font-size:inherit;line-height:inherit}:where(.markstream-react) .code-fallback-plain{position:relative;z-index:1;white-space:pre;overflow:auto;background:var(--vscode-editor-background, var(--markstream-code-fallback-bg));color:var(--vscode-editor-foreground, var(--markstream-code-fallback-fg));font-size:inherit;line-height:inherit;font-family:inherit;font-weight:var(--vscode-editor-font-weight, 400)}:where(.markstream-react) .code-fallback-plain>code{font-size:inherit;line-height:inherit;font-family:inherit;font-weight:inherit}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview{box-sizing:border-box;width:100%;padding-left:0;padding-right:0;color:var(--markstream-diff-editor-fg, var(--vscode-editor-foreground, inherit));background:var(--markstream-diff-editor-bg, var(--vscode-editor-background, transparent));font-variant-ligatures:none;-moz-tab-size:var(--markstream-pre-tab-size, 4);-o-tab-size:var(--markstream-pre-tab-size, 4);tab-size:var(--markstream-pre-tab-size, 4);--markstream-pre-diff-gutter-marker-width: var(--stream-monaco-gutter-marker-width, 4px);--markstream-pre-diff-gutter-gap: var(--stream-monaco-gutter-gap, 8px);--markstream-pre-diff-code-gap: var(--stream-monaco-diff-code-gap, 7.8px);--markstream-pre-diff-code-padding: var(--stream-monaco-diff-code-padding, 0px);--markstream-diff-added-fg: var(--diff-added-fg, #2f8f68);--markstream-diff-removed-fg: var(--diff-removed-fg, #c24141);--markstream-diff-added-line-fill: var(--diff-added-bg, rgb(47 143 104 / 12%));--markstream-diff-removed-line-fill: var(--diff-removed-bg, rgb(194 65 65 / 12%));--markstream-diff-added-gutter: linear-gradient( 90deg, var(--markstream-diff-added-fg) 0 var(--markstream-pre-diff-gutter-marker-width), transparent var(--markstream-pre-diff-gutter-marker-width) 100% );--markstream-diff-removed-gutter: linear-gradient( 90deg, var(--markstream-diff-removed-fg) 0 var(--markstream-pre-diff-gutter-marker-width), transparent var(--markstream-pre-diff-gutter-marker-width) 100% );--markstream-pre-diff-line-number-width: var( --stream-monaco-line-number-width, 39px );--markstream-pre-diff-line-number-padding-left: var(--stream-monaco-line-number-padding-left, 15.6px);--markstream-pre-diff-line-number-padding-right: var(--stream-monaco-line-number-padding-right, 7.8px);--markstream-pre-diff-line-number-gap-to-code: var( --stream-monaco-original-line-number-gap-to-code, var(--stream-monaco-line-number-gap-to-code, var(--markstream-pre-diff-code-gap)) );--markstream-pre-diff-line-number-left: var( --stream-monaco-line-number-left, var(--markstream-pre-diff-gutter-marker-width) );--markstream-pre-diff-line-number-border: var( --stream-monaco-gutter-guide, var(--markstream-diff-gutter-guide, hsl(var(--ms-border, 214 32% 91%) / .72)) );--markstream-pre-diff-line-number-align: var(--markstream-diff-line-number-align, right);--markstream-pre-diff-code-fill-left: calc( var(--markstream-pre-diff-line-number-left) + var(--markstream-pre-diff-line-number-width) );--markstream-pre-diff-code-left: calc( var(--markstream-pre-diff-code-fill-left) + var(--markstream-pre-diff-line-number-gap-to-code) + var(--markstream-pre-diff-code-padding) )}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline{--markstream-pre-diff-line-number-gap-to-code: var( --stream-monaco-modified-line-number-gap-to-code, var(--stream-monaco-line-number-gap-to-code, var(--markstream-pre-diff-code-gap)) );--markstream-pre-diff-line-number-left: var( --stream-monaco-line-number-left, var(--markstream-pre-diff-gutter-marker-width) )}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview>.markstream-pre__diff-code{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-width:100%;font:inherit;line-height:inherit}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline>.markstream-pre__diff-code{grid-template-columns:minmax(100%,max-content);width:100%;min-width:-moz-max-content;min-width:max-content}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-pane{min-width:0;overflow:hidden}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview:not(.markstream-pre--diff-inline) .markstream-pre__diff-pane{overflow-x:auto;overflow-y:hidden}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-pane{min-width:-moz-max-content;min-width:max-content;overflow:visible}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-pane--modified{--markstream-pre-diff-line-number-gap-to-code: var( --stream-monaco-modified-line-number-gap-to-code, var(--stream-monaco-line-number-gap-to-code, var(--markstream-pre-diff-code-gap)) );--markstream-pre-diff-line-number-left: var( --stream-monaco-line-number-left, var(--markstream-pre-diff-gutter-marker-width) );box-shadow:inset 1px 0 var(--markstream-diff-pane-divider, rgb(148 163 184 / .18))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-pane--modified{box-shadow:none}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line{position:relative;display:block;box-sizing:border-box;min-height:var(--markstream-pre-diff-line-height, 18px);padding-left:var(--markstream-pre-diff-code-left);line-height:var(--markstream-pre-diff-line-height, 18px)}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line:before{content:"";position:absolute;left:var(--markstream-pre-diff-code-fill-left);right:0;top:0;height:var(--markstream-pre-diff-line-height, 18px);z-index:0;pointer-events:none;border-radius:0;background:transparent}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-rail{position:absolute;z-index:2;top:0;left:0;width:var(--markstream-pre-diff-gutter-marker-width, 4px);min-width:var(--markstream-pre-diff-gutter-marker-width, 4px);height:var(--markstream-pre-diff-line-height, 18px)}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-number{position:absolute;z-index:1;top:0;left:var(--markstream-pre-diff-line-number-left);width:var(--markstream-pre-diff-line-number-width);height:var( --markstream-pre-diff-content-height, var(--markstream-pre-diff-line-height, 18px) );box-sizing:border-box;box-shadow:inset -1px 0 var(--markstream-pre-diff-line-number-border);padding-left:var(--markstream-pre-diff-line-number-padding-left, 15.6px);padding-right:var(--markstream-pre-diff-line-number-padding-right, 7.8px);color:var(--stream-monaco-line-number, var(--markstream-diff-line-number, #6b7280));font-variant-numeric:tabular-nums;line-height:var(--markstream-pre-diff-line-height, 18px);text-align:var(--markstream-pre-diff-line-number-align, right);-webkit-user-select:none;-moz-user-select:none;user-select:none}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added>.markstream-pre__diff-number{background:var(--stream-monaco-added-line-fill, var(--markstream-diff-added-line-fill, transparent));color:var(--stream-monaco-added-fg, var(--markstream-diff-added-fg, var(--markstream-diff-line-number, #6b7280)))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed>.markstream-pre__diff-number{background:var(--stream-monaco-removed-line-fill, var(--markstream-diff-removed-line-fill, transparent));color:var(--stream-monaco-removed-fg, var(--markstream-diff-removed-fg, var(--markstream-diff-line-number, #6b7280)))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-content{position:relative;z-index:1;display:block;min-width:-moz-max-content;min-width:max-content;line-height:var(--markstream-pre-diff-line-height, 18px);white-space:inherit;overflow-wrap:normal;word-break:normal;line-break:auto}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-content-inner{white-space:inherit;overflow-wrap:inherit;word-break:inherit;line-break:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--hunk{color:var(--stream-monaco-unchanged-fg, var(--markstream-diff-unchanged-fg, var(--markstream-diff-line-number, currentColor)))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--hunk:before{background:var(--stream-monaco-unchanged-bg, var(--markstream-diff-unchanged-bg, transparent))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added:before{background:var(--stream-monaco-added-line-fill, var(--markstream-diff-added-line-fill, transparent))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed:before{background:var(--stream-monaco-removed-line-fill, var(--markstream-diff-removed-line-fill, transparent))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added>.markstream-pre__diff-rail{background:var(--stream-monaco-added-gutter, var(--markstream-diff-added-gutter, currentColor))}:where(.markstream-react) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed>.markstream-pre__diff-rail{background:var(--stream-monaco-removed-gutter, var(--markstream-diff-removed-gutter, currentColor))}:where(.markstream-react) .code-loading-placeholder{padding:1rem;min-height:120px}:where(.markstream-react) .loading-skeleton{display:flex;flex-direction:column;gap:.75rem}:where(.markstream-react) .skeleton-line{height:1rem;background:linear-gradient(90deg,#0000000f 25%,#0000001f 37%,#0000000f 63%);background-size:400% 100%;animation:markstream-react-code-skeleton-shimmer 1.2s ease-in-out infinite;border-radius:.25rem}:where(.markstream-react) .code-block-container.is-dark .skeleton-line{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%);background-size:400% 100%}:where(.markstream-react) .skeleton-line.short{width:60%}@keyframes markstream-react-code-skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.markstream-react pre[class^=language-],.markstream-react pre[class*=" language-"]{white-space:pre;overflow:auto;-moz-tab-size:2;-o-tab-size:2;tab-size:2;font-variant-ligatures:none;contain:content;backface-visibility:hidden;transform:translateZ(0);-webkit-font-smoothing:antialiased}.markstream-react pre[class^=language-]>code,.markstream-react pre[class*=" language-"]>code{display:block}.markstream-react pre[class^=language-]:focus,.markstream-react pre[class*=" language-"]:focus{outline:2px solid var(--vmdr-focus, #3b82f6);outline-offset:2px}:where(.markstream-react).html-preview-frame__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}:where(.markstream-react).html-preview-frame__backdrop--dark{background-color:#0f172acc}:where(.markstream-react) .html-preview-frame{width:80vw;max-width:960px;height:70vh;background-color:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 10px 40px #00000040;display:flex;flex-direction:column}:where(.markstream-react) .html-preview-frame--dark{background-color:#020617;color:#e5e7eb;box-shadow:0 10px 40px #0009}:where(.markstream-react) .html-preview-frame__header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;border-bottom:1px solid rgba(0,0,0,.06)}:where(.markstream-react) .html-preview-frame--dark .html-preview-frame__header{border-bottom-color:#94a3b859}:where(.markstream-react) .html-preview-frame__title{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;opacity:.85}:where(.markstream-react) .html-preview-frame__dot{width:.5rem;height:.5rem;border-radius:999px;background-color:#22c55e}:where(.markstream-react) .html-preview-frame--dark .html-preview-frame__dot{background-color:#4ade80}:where(.markstream-react) .html-preview-frame__label{white-space:nowrap}:where(.markstream-react) .html-preview-frame__close{border:none;background:transparent;font-size:1.25rem;line-height:1;cursor:pointer}:where(.markstream-react) .html-preview-frame__close--dark{color:#e5e7eb}:where(.markstream-react) .html-preview-frame__iframe{width:100%;height:100%;border:none;display:block}@media(max-width:640px){:where(.markstream-react) .html-preview-frame{width:100vw;height:80vh;border-radius:0}}:where(.markstream-react).ms-tooltip{position:fixed;padding:.4rem .65rem;font-size:.875rem;border-radius:.375rem;border-width:1px;border-style:solid;box-shadow:0 10px 15px #00000014;pointer-events:none;z-index:9999;opacity:0;transition:opacity .12s linear,transform .22s cubic-bezier(.16,1,.3,1)}:where(.markstream-react).ms-tooltip[data-visible=true]{opacity:1}:where(.markstream-react).ms-tooltip[data-dark=true]{background-color:#111827;color:#f9fafb;border-color:#374151}:where(.markstream-react).ms-tooltip[data-dark=false],:where(.markstream-react).ms-tooltip:not([data-dark=true]){background-color:#fff;color:#111827;border-color:#e5e7eb}@keyframes markstream-react-node-placeholder-shimmer{0%{background-position:200% 0%}to{background-position:-200% 0%}}@keyframes markstream-react-node-enter-fade{0%{opacity:0}to{opacity:1}}@keyframes markstream-react-typewriter-fade{0%{opacity:0}to{opacity:1}}:where(.markstream-react) .typewriter-cursor{position:absolute;left:0;top:0;display:inline-block;width:.55em;height:1em;margin-left:.08em;vertical-align:-.12em;border-right:2px solid currentColor;pointer-events:none;animation:markstream-react-typewriter-cursor-blink 1s steps(1,end) infinite}@keyframes markstream-react-typewriter-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.markstream-react .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(.markstream-react) .d2-block-body{position:relative}:where(.markstream-react) .d2-source{font-family:var(--vscode-editor-font-family, "Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)}:where(.markstream-react) .d2-code{white-space:pre;font-size:.875rem;line-height:1.5}:where(.markstream-react) .d2-render{overflow:auto}:where(.markstream-react) .d2-svg svg.markstream-d2-root-svg{width:100%;max-width:100%;height:auto;display:block}:where(.markstream-react) .mode-btn{opacity:.7;transition:opacity .2s}:where(.markstream-react) .mode-btn.is-active{opacity:1;font-weight:600}:where(.markstream-react) .d2-action-btn{opacity:.7;transition:opacity .2s}:where(.markstream-react) .d2-action-btn:hover{opacity:1}:where(.markstream-react) .d2-action-btn:disabled{opacity:.3;cursor:not-allowed}:where(.markstream-react) .d2-error{color:#dc2626}body>div[id^=dmermaid-]{position:fixed;top:-10000px;left:0;width:100%;visibility:hidden;pointer-events:none}.markstream-react .hover\:bg-\[hsl\(var\(--secondary\)\)\]:hover{background-color:hsl(var(--secondary))}.markstream-react .hover\:bg-\[var\(--vscode-editor-selectionBackground\)\]:hover{background-color:var(--vscode-editor-selectionBackground)}.markstream-react .hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.markstream-react .hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.markstream-react .hover\:text-gray-200:hover{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.markstream-react .hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.markstream-react .hover\:underline:hover{text-decoration-line:underline}@media not all and (min-width:1024px){.markstream-react .max-lg\:my-\[calc\(4\/3\*1em\)\]{margin-top:calc(4 / 3 * 1em);margin-bottom:calc(4 / 3 * 1em)}.markstream-react .max-lg\:pl-\[calc\(14\/9\*1em\)\]{padding-left:calc(14 / 9 * 1em)}}
package/dist/next.js CHANGED
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import a,{useState as s,useEffect as e}from"react";import{A as r,B as o,C as t,a as n,D as i,b as m,E as l,c as d,F as c,d as u,e as p,f,H as g,g as C,h as T,i as k,j as D,k as E,I as K,l as M,m as W,n as I,L as _,o as L,p as R,q as X,r as b,s as S,t as x,N as y,P as B,u as h,R as A,S as N,v,w as j,x as O,T as P,y as w,z,G as F,V as H}from"./Tooltip-DSM4ImfZ.js";import{M as Y,W as q,J as G,K as U,O as V,Q as J,U as $,X as Q,Y as Z,Z as aa,_ as sa,$ as ea,a0 as ra,a1 as oa,a2 as ta,a3 as na,a4 as ia,a5 as ma,a6 as la,a7 as da,a8 as ca,a9 as ua,aa as pa,ab as fa,ac as ga,ad as Ca,ae as Ta,af as ka,ah as Da}from"./Tooltip-DSM4ImfZ.js";import{b as Ea,d as Ka,e as Ma,k as Wa,l as Ia,q as _a,u as La,y as Ra,z as Xa,E as ba,G as Sa,H as xa,J as ya}from"./codeBlockExtraProps-RaPzFq78.js";import{A as Ba,B as ha,C as Aa,a as Na,D as va,b as ja,E as Oa,c as Pa,F as wa,d as za,e as Fa,f as Ha,H as Ya,g as qa,h as Ga,i as Ua,j as Va,k as Ja,I as $a,l as Qa,m as Za,n as as,L as ss,o as es,p as rs,M as os,q as ts,r as ns,s as is,N as ms,P as ls,t as ds,R as cs,S as us,u as ps,v as fs,w as gs,T as Cs,x as Ts,y as ks,z as Ds,V as Es}from"./index-D0DspXy9.js";function Ks(r,o){function t(t){const[n,i]=s(!1);return e(()=>{i(!0)},[]),n?a.createElement(r,t):function(a){const s="__MARKSTREAM_REACT_DISABLE_SYNC_KATEX__",e=globalThis,r=e[s];e[s]=!0;try{return o(a)}finally{void 0===r?delete e[s]:e[s]=r}}(t)}return t.displayName=`MarkstreamNextEntry(${r.displayName||r.name||"Component"})`,t}const Ms=Ks(r,Ba),Ws=Ks(o,ha),Is=Ks(t,Aa),_s=Ks(n,Na),Ls=_s,Rs=Ks(E,Ja),Xs=Ks(i,va),bs=Ks(m,ja),Ss=Ks(l,Oa),xs=Ks(d,Pa),ys=Ks(u,za),Bs=Ks(p,Fa),hs=Ks(f,Ha),As=Ks(g,Ya),Ns=Ks(C,qa),vs=Ks(T,Ga),js=Ks(k,Ua),Os=Ks(D,Va),Ps=Ks(K,$a),ws=Ks(M,Qa),zs=Ks(W,Za),Fs=Ks(I,as),Hs=Ks(_,ss),Ys=Ks(L,es),qs=Ks(R,rs),Gs=Ks(X,os),Us=Ks(b,ts),Vs=Ks(S,ns),Js=Ks(x,is),$s=Ks(y,ms),Qs=Ks(c,wa),Zs=Ks(B,ls),ae=Ks(h,ds),se=Ks(A,cs),ee=Ks(N,us),re=Ks(v,ps),oe=Ks(j,fs),te=Ks(O,gs),ne=Ks(P,Cs),ie=Ks(w,Ts),me=Ks(z,ks),le=Ks(F,Ds),de=Ks(H,Es);export{Ms as AdmonitionNode,Ws as BlockquoteNode,Is as CheckboxNode,_s as CodeBlockNode,Xs as D2BlockNode,bs as DefinitionListNode,Ss as EmojiNode,xs as EmphasisNode,Qs as FallbackComponent,ys as FootnoteAnchorNode,Bs as FootnoteNode,hs as FootnoteReferenceNode,As as HardBreakNode,Ns as HeadingNode,vs as HighlightNode,js as HtmlBlockNode,Os as HtmlInlineNode,Rs as HtmlPreviewFrame,Ps as ImageNode,ws as InfographicBlockNode,zs as InlineCodeNode,Fs as InsertNode,Hs as LinkNode,Ys as ListItemNode,qs as ListNode,Y as MERMAID_WORKER_BUSY_CODE,Gs as MarkdownCodeBlockNode,Us as MathBlockNode,Vs as MathInlineNode,Js as MermaidBlockNode,$s as NodeRenderer,Zs as ParagraphNode,ae as PreCodeNode,Ls as ReactCodeBlockNode,se as ReferenceNode,ee as StrikethroughNode,re as StrongNode,oe as SubscriptNode,te as SuperscriptNode,ne as TableNode,ie as TextNode,me as ThematicBreakNode,le as Tooltip,de as VmrContainerNode,q as WORKER_BUSY_CODE,G as canParseOffthread,Ea as clearGlobalCustomComponents,U as clearKaTeXCache,V as clearKaTeXWorker,J as clearMermaidWorker,$s as default,Ka as defineHtmlComponents,Ma as defineStreamingComponents,$ as disableD2,Q as enableD2,Z as findPrefixOffthread,Wa as getCustomNodeComponents,aa as getD2,sa as getKaTeXBackpressureDefaults,Ia as getLanguageIcon,ea as getMermaidWorkerLoad,ra as isD2Enabled,_a as languageMap,La as normalizeLanguageIdentifier,Ra as preloadExtendedLanguageIcons,Xa as removeCustomComponents,oa as renderKaTeXInWorker,ta as renderKaTeXWithBackpressure,na as renderNode,ba as resolveMonacoLanguageId,Sa as setCustomComponents,ia as setD2Loader,ma as setDefaultI18nMap,la as setKaTeXBackpressureDefaults,da as setKaTeXCache,ca as setKaTeXConcurrencyLimit,ua as setKaTeXWorker,pa as setKaTeXWorkerDebug,xa as setLanguageIconResolver,fa as setMermaidWorker,ga as setMermaidWorkerClientDebug,Ca as setMermaidWorkerMaxConcurrency,ya as subscribeLanguageIconsRevision,Ta as terminateWorker,ka as useSafeI18n,Da as waitForKaTeXWorkerSlot};
2
+ import a,{useState as s,useEffect as e}from"react";import{A as r,B as o,C as t,a as n,D as i,b as m,E as l,c as d,F as c,d as u,e as p,f,H as g,g as C,h as T,i as k,j as D,k as E,I as K,l as M,m as W,n as I,L as _,o as L,p as R,q as X,r as b,s as S,t as x,N as y,P as B,u as h,R as A,S as N,v,w as j,x as O,T as P,y as w,z,G as F,V as H}from"./Tooltip-Bx_S1cbE.js";import{M as Y,W as q,J as G,K as U,O as V,Q as J,U as $,X as Q,Y as Z,Z as aa,_ as sa,$ as ea,a0 as ra,a1 as oa,a2 as ta,a3 as na,a4 as ia,a5 as ma,a6 as la,a7 as da,a8 as ca,a9 as ua,aa as pa,ab as fa,ac as ga,ad as Ca,ae as Ta,af as ka,ah as Da}from"./Tooltip-Bx_S1cbE.js";import{b as Ea,d as Ka,e as Ma,k as Wa,l as Ia,q as _a,u as La,y as Ra,z as Xa,E as ba,G as Sa,H as xa,J as ya}from"./codeBlockExtraProps-RaPzFq78.js";import{A as Ba,B as ha,C as Aa,a as Na,D as va,b as ja,E as Oa,c as Pa,F as wa,d as za,e as Fa,f as Ha,H as Ya,g as qa,h as Ga,i as Ua,j as Va,k as Ja,I as $a,l as Qa,m as Za,n as as,L as ss,o as es,p as rs,M as os,q as ts,r as ns,s as is,N as ms,P as ls,t as ds,R as cs,S as us,u as ps,v as fs,w as gs,T as Cs,x as Ts,y as ks,z as Ds,V as Es}from"./index-D0DspXy9.js";function Ks(r,o){function t(t){const[n,i]=s(!1);return e(()=>{i(!0)},[]),n?a.createElement(r,t):function(a){const s="__MARKSTREAM_REACT_DISABLE_SYNC_KATEX__",e=globalThis,r=e[s];e[s]=!0;try{return o(a)}finally{void 0===r?delete e[s]:e[s]=r}}(t)}return t.displayName=`MarkstreamNextEntry(${r.displayName||r.name||"Component"})`,t}const Ms=Ks(r,Ba),Ws=Ks(o,ha),Is=Ks(t,Aa),_s=Ks(n,Na),Ls=_s,Rs=Ks(E,Ja),Xs=Ks(i,va),bs=Ks(m,ja),Ss=Ks(l,Oa),xs=Ks(d,Pa),ys=Ks(u,za),Bs=Ks(p,Fa),hs=Ks(f,Ha),As=Ks(g,Ya),Ns=Ks(C,qa),vs=Ks(T,Ga),js=Ks(k,Ua),Os=Ks(D,Va),Ps=Ks(K,$a),ws=Ks(M,Qa),zs=Ks(W,Za),Fs=Ks(I,as),Hs=Ks(_,ss),Ys=Ks(L,es),qs=Ks(R,rs),Gs=Ks(X,os),Us=Ks(b,ts),Vs=Ks(S,ns),Js=Ks(x,is),$s=Ks(y,ms),Qs=Ks(c,wa),Zs=Ks(B,ls),ae=Ks(h,ds),se=Ks(A,cs),ee=Ks(N,us),re=Ks(v,ps),oe=Ks(j,fs),te=Ks(O,gs),ne=Ks(P,Cs),ie=Ks(w,Ts),me=Ks(z,ks),le=Ks(F,Ds),de=Ks(H,Es);export{Ms as AdmonitionNode,Ws as BlockquoteNode,Is as CheckboxNode,_s as CodeBlockNode,Xs as D2BlockNode,bs as DefinitionListNode,Ss as EmojiNode,xs as EmphasisNode,Qs as FallbackComponent,ys as FootnoteAnchorNode,Bs as FootnoteNode,hs as FootnoteReferenceNode,As as HardBreakNode,Ns as HeadingNode,vs as HighlightNode,js as HtmlBlockNode,Os as HtmlInlineNode,Rs as HtmlPreviewFrame,Ps as ImageNode,ws as InfographicBlockNode,zs as InlineCodeNode,Fs as InsertNode,Hs as LinkNode,Ys as ListItemNode,qs as ListNode,Y as MERMAID_WORKER_BUSY_CODE,Gs as MarkdownCodeBlockNode,Us as MathBlockNode,Vs as MathInlineNode,Js as MermaidBlockNode,$s as NodeRenderer,Zs as ParagraphNode,ae as PreCodeNode,Ls as ReactCodeBlockNode,se as ReferenceNode,ee as StrikethroughNode,re as StrongNode,oe as SubscriptNode,te as SuperscriptNode,ne as TableNode,ie as TextNode,me as ThematicBreakNode,le as Tooltip,de as VmrContainerNode,q as WORKER_BUSY_CODE,G as canParseOffthread,Ea as clearGlobalCustomComponents,U as clearKaTeXCache,V as clearKaTeXWorker,J as clearMermaidWorker,$s as default,Ka as defineHtmlComponents,Ma as defineStreamingComponents,$ as disableD2,Q as enableD2,Z as findPrefixOffthread,Wa as getCustomNodeComponents,aa as getD2,sa as getKaTeXBackpressureDefaults,Ia as getLanguageIcon,ea as getMermaidWorkerLoad,ra as isD2Enabled,_a as languageMap,La as normalizeLanguageIdentifier,Ra as preloadExtendedLanguageIcons,Xa as removeCustomComponents,oa as renderKaTeXInWorker,ta as renderKaTeXWithBackpressure,na as renderNode,ba as resolveMonacoLanguageId,Sa as setCustomComponents,ia as setD2Loader,ma as setDefaultI18nMap,la as setKaTeXBackpressureDefaults,da as setKaTeXCache,ca as setKaTeXConcurrencyLimit,ua as setKaTeXWorker,pa as setKaTeXWorkerDebug,xa as setLanguageIconResolver,fa as setMermaidWorker,ga as setMermaidWorkerClientDebug,Ca as setMermaidWorkerMaxConcurrency,ya as subscribeLanguageIconsRevision,Ta as terminateWorker,ka as useSafeI18n,Da as waitForKaTeXWorkerSlot};
package/dist/tailwind.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const safeList = `use client react stream-markdown-parser string cannot delete global call clearGlobalCustomComponents checkbox-node checkbox checkbox-input note is-dark data-index-key headerId admonition-header admonition-icon admonition-title admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby blockquote-node auto code_block next.type typeof window.requestIdleCallback [data-node-index] node-spacer dark virtualized data-custom-id node-slot data-node-index data-node-type fade-node typewriter-node node-placeholder typewriterCursorRef typewriter-cursor admonition math_block html_block image object [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-react][perf] mermaid theme name markdown-renderer boolean safe smooth footnote-reference handleScroll footnote-link cursor-pointer mark highlight-node footnote-node flex text-sm leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2 flex-1 emphasis-node dl definition-list indexKey mb-4 dt definition-term font-semibold ctx renderNode ?? definition dd definition-desc ml-4 dependency is not install it to enable hard-break emoji-node footnote-anchor hover:underline ↩︎ clsx heading-node html-block-node escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 setHostEl shouldRender useDynamic reactNodes href xlink:href markstream-d2-root-svg number window.requestAnimationFrame instance.render instance missing render returned empty top d2-block my-4 rounded-lg border overflow-hidden shadow-sm border-gray-700/30 bg-gray-900 text-gray-100 border-gray-200 bg-white text-gray-900 d2-block-header justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 font-medium font-mono gap-x-1 rounded-md p-0.5 bg-gray-700 bg-gray-100 mode-btn px-2 py-1 text-xs rounded !showSource is-active showSource d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] copying w-3 h-3 none currentColor round aria-pressed m9 bodyRef d2-block-body bodyStyle !hasPreview d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 style.visibility hidden line-info legacy off never background night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato light latte dawn lotus plaintext diff important max-height visible height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver childList record.type attributes class explicit fontSize lineHeight paddingBottom paddingTop tabSize on same helpers.cleanupEditor canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-fallback-plain m-0 code-block-container is-rendering is-diff is-plain-text code-block-header space-x-2 icon-slot h-4 w-4 flex-shrink-0 truncate code-action-btn copied m14 evenodd code-block-body--collapsed code-block-body--expanded code-editor-layer code-height-placeholder aria-hidden code-editor-fallback-surface code-loading-placeholder loading-skeleton skeleton-line short sr-only polite status list-item pl-1.5 my-2 valueAttr children primary fallback failed is-loaded lazy eager async image-node__placeholder image-node__spinner image-node__placeholder-text image… placeholder image-node__error load ease-in-out infinite node.title link-loading inline-flex items-baseline gap-1.5 link-text-wrapper relative leading-[normal] link-text text link-loading-indicator link-node aria-label noopener noreferrer markstream-core inline-code inline text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words max-w-full text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b insert-node list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] list react-dom library text-red-500 p-4">Failed instanceof error.message error keydown transform ease center fullscreen touches text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 source hasPreview preview pending bg-gray-800 bg-gray-50 px-2.5 bg-gray-600 text-gray-200 text-gray-700 text-gray-500 m16 isCollapsed opacity-50 cursor-not-allowed m7 whitespace-pre-wrap text-gray-300 baseCode absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 block inset-0 cursor-grab isDragging containerRef w-full text-center justify-center min-h-full markstream-react fixed z-50 bg-black/70 p-4 closeModal dialog h-full max-h-full shadow-lg top-6 right-6 !isDragging cursor-grabbing hr-node thematic-break strikethrough-node vitesse-dark vitesse-light shiki shiki-fallback [MarkdownCodeBlockNode] dispose stream-markdown stream-markdown.createShikiStreamRenderer available stale ready requires with ignoring and using default language register configured retrying without code-block-content rendererTargetRef code-block-render containerClass vmr-container window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 tooltip superscript-node unknown-node italic node strong-node paragraph-node paragraph child.type html_inline reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 hover:bg-[hsl(var(--secondary))] event.key right text-right text-left pointermove pointerup pointercancel table-node-wrapper my-8 table-node table-node--loading aria-busy colgroup border-[var(--table-border,#cbd5e1)] p-[calc(4/7*1em)] table-node__resize-handle table-node__loading table-node__spinner subscript-node text-node text-node-center [mermaidWorkerClient] messageerror cleared worker inject via busy timed out canParse findPrefix in zoom loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode common.zoomIn common.zoomOut common.resetZoom transition-[height] duration-150 ease-out data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-1 common.preview common.source common.export mermaid-error hasRenderedOnce mermaid-block modeContainerRef mermaid-modal-overlay mermaid-modal-panel mermaid-modal-header mermaid-modal-title mermaid-modal-close mermaid-modal-body modalContentRef mermaid-modal-content abort javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin node.type infographic d2lang langs text_special node.content heading list_item definition_list footnote footnote_reference footnote_anchor hardbreak inline_code emphasis strikethrough highlight insert subscript superscript checkbox_input emoji thematic_break math_inline reference vmr_container label_open label_close stream-monaco thinking htmlFor className data-ssr-fallback normalizedLanguage data-language no renderNodeProp classAttr node.cite value void rowIdx bodyRows.length isOpen thematic-break-node cssVars image-node__img code-block-node code-block markdown-code-block-node markdown-code-block mermaid-block-node d2-block-node infographic-block-node math-block overflow-x-auto min-h-[40px] $$ math-inline-wrapper math-inline data-reference-id customComponents html-inline server-renderer node-content [markstream-react] htmlPreviewSandbox contains both allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__backdrop--dark html-preview-frame--dark html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label html-preview-frame__close--dark html-preview-frame__iframe no-referrer about:blank document child key ref ms-html self_closing tag_open token.type tag_close parse dynamic template html-inline-node html-inline-node--loading role aria-describedby hunk !options.preserveBlankKind context removed added markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified markstream-pre--line-numbers markstream-pre--diff-preview markstream-pre--diff-inline showLineNumbers markstream-pre__diff-code line.empty markstream-pre__diff-line--empty markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner mathRef math-inline--hidden math-inline__loading math-inline__spinner rendering math-rendering npm development process normalizedType [katexWorkerClient] init cache-hit timeout waiting slot sequencediagram classdiagram kind statediagram erdiagram flowchart graph globalThis.requestAnimationFrame globalThis.cancelAnimationFrame module did expected existingEnv.getWorkerUrl prototype constructor katex °C`;
1
+ const safeList = `use client react stream-markdown-parser string cannot delete global call clearGlobalCustomComponents checkbox-node checkbox checkbox-input note is-dark data-index-key headerId admonition-header admonition-icon admonition-title admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby blockquote-node auto object typeof next code_block next.type window.requestIdleCallback [data-node-index] node-spacer dark virtualized data-custom-id node-slot data-node-index data-node-type fade-node typewriter-node node-placeholder typewriterCursorRef typewriter-cursor admonition math_block html_block image [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-react][perf] mermaid theme name markdown-renderer boolean safe emphasis-node hard-break clsx heading-node font-semibold dependency is not install it to enable smooth footnote-reference handleScroll footnote-link cursor-pointer footnote-node flex text-sm leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2 flex-1 href xlink:href markstream-d2-root-svg number window.requestAnimationFrame instance.render instance missing render returned empty top d2-block my-4 rounded-lg border overflow-hidden shadow-sm border-gray-700/30 bg-gray-900 text-gray-100 border-gray-200 bg-white text-gray-900 d2-block-header justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 font-medium font-mono gap-x-1 rounded-md p-0.5 bg-gray-700 bg-gray-100 mode-btn px-2 py-1 text-xs rounded !showSource is-active showSource d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] copying w-3 h-3 none currentColor round aria-pressed m9 bodyRef d2-block-body bodyStyle !hasPreview d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 footnote-anchor hover:underline ↩︎ dl definition-list indexKey mb-4 dt definition-term ctx renderNode ?? definition dd definition-desc ml-4 mark highlight-node emoji-node html-block-node escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 setHostEl shouldRender useDynamic reactNodes insert-node inline-code inline text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words max-w-full text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] list list-item pl-1.5 my-2 valueAttr children style.visibility hidden line-info legacy off never background night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato light latte dawn lotus plaintext diff important max-height visible height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver childList record.type attributes class explicit fontSize lineHeight paddingBottom paddingTop tabSize on same helpers.cleanupEditor canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-fallback-plain m-0 code-block-container is-rendering is-diff is-plain-text code-block-header space-x-2 icon-slot h-4 w-4 flex-shrink-0 truncate code-action-btn copied m14 evenodd code-block-body--collapsed code-block-body--expanded code-editor-layer code-height-placeholder aria-hidden code-editor-fallback-surface code-loading-placeholder loading-skeleton skeleton-line short sr-only polite status react-dom library failed text-red-500 p-4">Failed instanceof error.message error keydown transform ease center fullscreen touches text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 source hasPreview preview pending bg-gray-800 bg-gray-50 px-2.5 bg-gray-600 text-gray-200 text-gray-700 text-gray-500 m16 isCollapsed opacity-50 cursor-not-allowed m7 whitespace-pre-wrap text-gray-300 baseCode relative absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 block inset-0 cursor-grab isDragging containerRef w-full text-center justify-center min-h-full markstream-react fixed z-50 bg-black/70 p-4 closeModal dialog h-full max-h-full shadow-lg top-6 right-6 !isDragging cursor-grabbing markstream-core vitesse-dark vitesse-light shiki shiki-fallback [MarkdownCodeBlockNode] dispose stream-markdown stream-markdown.createShikiStreamRenderer available stale ready requires with ignoring and using default language register configured retrying without code-block-content rendererTargetRef code-block-render ease-in-out infinite node.title link-loading inline-flex items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text text link-loading-indicator link-node aria-label noopener noreferrer unknown-node italic node paragraph-node paragraph child.type html_inline loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode common.zoomIn common.zoomOut common.resetZoom transition-[height] duration-150 ease-out data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-1 common.preview common.source common.export mermaid-error hasRenderedOnce mermaid-block modeContainerRef mermaid-modal-overlay mermaid-modal-panel mermaid-modal-header mermaid-modal-title mermaid-modal-close mermaid-modal-body modalContentRef mermaid-modal-content abort timed out strong-node superscript-node strikethrough-node subscript-node reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 hover:bg-[hsl(var(--secondary))] event.key text-node text-node-center primary fallback is-loaded lazy eager async image-node__placeholder image-node__spinner image-node__placeholder-text image… placeholder image-node__error load containerClass vmr-container right text-right text-left pointermove pointerup pointercancel table-node-wrapper my-8 table-node table-node--loading aria-busy colgroup border-[var(--table-border,#cbd5e1)] p-[calc(4/7*1em)] table-node__resize-handle table-node__loading table-node__spinner window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 tooltip [mermaidWorkerClient] messageerror cleared worker inject via busy canParse findPrefix javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin hr-node thematic-break list_item definition_list footnote footnote_reference footnote_anchor thematic_break thinking vmr_container htmlFor className label_open label_close in zoom [markstream-react] htmlPreviewSandbox contains both allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__backdrop--dark html-preview-frame--dark html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label html-preview-frame__close--dark html-preview-frame__iframe no-referrer about:blank node.type infographic d2lang langs text_special node.content heading hardbreak inline_code emphasis strikethrough highlight insert subscript superscript checkbox_input emoji math_inline reference stream-monaco data-ssr-fallback normalizedLanguage data-language no renderNodeProp classAttr node.cite value void rowIdx bodyRows.length isOpen thematic-break-node cssVars image-node__img code-block-node code-block markdown-code-block-node markdown-code-block mermaid-block-node d2-block-node infographic-block-node math-block overflow-x-auto min-h-[40px] $$ math-inline-wrapper math-inline data-reference-id customComponents html-inline server-renderer node-content role aria-describedby document child key ref ms-html self_closing tag_open token.type tag_close parse dynamic template html-inline-node html-inline-node--loading mathRef math-inline--hidden math-inline__loading math-inline__spinner hunk !options.preserveBlankKind context removed added markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified markstream-pre--line-numbers markstream-pre--diff-preview markstream-pre--diff-inline showLineNumbers markstream-pre__diff-code line.empty markstream-pre__diff-line--empty markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner rendering math-rendering normalizedType globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph npm development process module did expected existingEnv.getWorkerUrl [katexWorkerClient] init cache-hit timeout waiting slot prototype constructor katex °C`;
2
2
  module.exports = safeList;
3
3
  module.exports.safeList = safeList;
4
4
  module.exports.default = safeList;
package/dist/tailwind.js CHANGED
@@ -1,2 +1,2 @@
1
- export const safeList = `use client react stream-markdown-parser string cannot delete global call clearGlobalCustomComponents checkbox-node checkbox checkbox-input note is-dark data-index-key headerId admonition-header admonition-icon admonition-title admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby blockquote-node auto code_block next.type typeof window.requestIdleCallback [data-node-index] node-spacer dark virtualized data-custom-id node-slot data-node-index data-node-type fade-node typewriter-node node-placeholder typewriterCursorRef typewriter-cursor admonition math_block html_block image object [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-react][perf] mermaid theme name markdown-renderer boolean safe smooth footnote-reference handleScroll footnote-link cursor-pointer mark highlight-node footnote-node flex text-sm leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2 flex-1 emphasis-node dl definition-list indexKey mb-4 dt definition-term font-semibold ctx renderNode ?? definition dd definition-desc ml-4 dependency is not install it to enable hard-break emoji-node footnote-anchor hover:underline ↩︎ clsx heading-node html-block-node escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 setHostEl shouldRender useDynamic reactNodes href xlink:href markstream-d2-root-svg number window.requestAnimationFrame instance.render instance missing render returned empty top d2-block my-4 rounded-lg border overflow-hidden shadow-sm border-gray-700/30 bg-gray-900 text-gray-100 border-gray-200 bg-white text-gray-900 d2-block-header justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 font-medium font-mono gap-x-1 rounded-md p-0.5 bg-gray-700 bg-gray-100 mode-btn px-2 py-1 text-xs rounded !showSource is-active showSource d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] copying w-3 h-3 none currentColor round aria-pressed m9 bodyRef d2-block-body bodyStyle !hasPreview d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 style.visibility hidden line-info legacy off never background night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato light latte dawn lotus plaintext diff important max-height visible height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver childList record.type attributes class explicit fontSize lineHeight paddingBottom paddingTop tabSize on same helpers.cleanupEditor canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-fallback-plain m-0 code-block-container is-rendering is-diff is-plain-text code-block-header space-x-2 icon-slot h-4 w-4 flex-shrink-0 truncate code-action-btn copied m14 evenodd code-block-body--collapsed code-block-body--expanded code-editor-layer code-height-placeholder aria-hidden code-editor-fallback-surface code-loading-placeholder loading-skeleton skeleton-line short sr-only polite status list-item pl-1.5 my-2 valueAttr children primary fallback failed is-loaded lazy eager async image-node__placeholder image-node__spinner image-node__placeholder-text image… placeholder image-node__error load ease-in-out infinite node.title link-loading inline-flex items-baseline gap-1.5 link-text-wrapper relative leading-[normal] link-text text link-loading-indicator link-node aria-label noopener noreferrer markstream-core inline-code inline text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words max-w-full text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b insert-node list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] list react-dom library text-red-500 p-4">Failed instanceof error.message error keydown transform ease center fullscreen touches text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 source hasPreview preview pending bg-gray-800 bg-gray-50 px-2.5 bg-gray-600 text-gray-200 text-gray-700 text-gray-500 m16 isCollapsed opacity-50 cursor-not-allowed m7 whitespace-pre-wrap text-gray-300 baseCode absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 block inset-0 cursor-grab isDragging containerRef w-full text-center justify-center min-h-full markstream-react fixed z-50 bg-black/70 p-4 closeModal dialog h-full max-h-full shadow-lg top-6 right-6 !isDragging cursor-grabbing hr-node thematic-break strikethrough-node vitesse-dark vitesse-light shiki shiki-fallback [MarkdownCodeBlockNode] dispose stream-markdown stream-markdown.createShikiStreamRenderer available stale ready requires with ignoring and using default language register configured retrying without code-block-content rendererTargetRef code-block-render containerClass vmr-container window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 tooltip superscript-node unknown-node italic node strong-node paragraph-node paragraph child.type html_inline reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 hover:bg-[hsl(var(--secondary))] event.key right text-right text-left pointermove pointerup pointercancel table-node-wrapper my-8 table-node table-node--loading aria-busy colgroup border-[var(--table-border,#cbd5e1)] p-[calc(4/7*1em)] table-node__resize-handle table-node__loading table-node__spinner subscript-node text-node text-node-center [mermaidWorkerClient] messageerror cleared worker inject via busy timed out canParse findPrefix in zoom loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode common.zoomIn common.zoomOut common.resetZoom transition-[height] duration-150 ease-out data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-1 common.preview common.source common.export mermaid-error hasRenderedOnce mermaid-block modeContainerRef mermaid-modal-overlay mermaid-modal-panel mermaid-modal-header mermaid-modal-title mermaid-modal-close mermaid-modal-body modalContentRef mermaid-modal-content abort javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin node.type infographic d2lang langs text_special node.content heading list_item definition_list footnote footnote_reference footnote_anchor hardbreak inline_code emphasis strikethrough highlight insert subscript superscript checkbox_input emoji thematic_break math_inline reference vmr_container label_open label_close stream-monaco thinking htmlFor className data-ssr-fallback normalizedLanguage data-language no renderNodeProp classAttr node.cite value void rowIdx bodyRows.length isOpen thematic-break-node cssVars image-node__img code-block-node code-block markdown-code-block-node markdown-code-block mermaid-block-node d2-block-node infographic-block-node math-block overflow-x-auto min-h-[40px] $$ math-inline-wrapper math-inline data-reference-id customComponents html-inline server-renderer node-content [markstream-react] htmlPreviewSandbox contains both allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__backdrop--dark html-preview-frame--dark html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label html-preview-frame__close--dark html-preview-frame__iframe no-referrer about:blank document child key ref ms-html self_closing tag_open token.type tag_close parse dynamic template html-inline-node html-inline-node--loading role aria-describedby hunk !options.preserveBlankKind context removed added markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified markstream-pre--line-numbers markstream-pre--diff-preview markstream-pre--diff-inline showLineNumbers markstream-pre__diff-code line.empty markstream-pre__diff-line--empty markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner mathRef math-inline--hidden math-inline__loading math-inline__spinner rendering math-rendering npm development process normalizedType [katexWorkerClient] init cache-hit timeout waiting slot sequencediagram classdiagram kind statediagram erdiagram flowchart graph globalThis.requestAnimationFrame globalThis.cancelAnimationFrame module did expected existingEnv.getWorkerUrl prototype constructor katex °C`;
1
+ export const safeList = `use client react stream-markdown-parser string cannot delete global call clearGlobalCustomComponents checkbox-node checkbox checkbox-input note is-dark data-index-key headerId admonition-header admonition-icon admonition-title admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby blockquote-node auto object typeof next code_block next.type window.requestIdleCallback [data-node-index] node-spacer dark virtualized data-custom-id node-slot data-node-index data-node-type fade-node typewriter-node node-placeholder typewriterCursorRef typewriter-cursor admonition math_block html_block image [data-node-type="code_block"] [data-node-type="admonition"] [data-node-type="table"] [data-node-type="math_block"] [data-node-type="html_block"] [data-node-type="image"] performance [markstream-react][perf] mermaid theme name markdown-renderer boolean safe emphasis-node hard-break clsx heading-node font-semibold dependency is not install it to enable smooth footnote-reference handleScroll footnote-link cursor-pointer footnote-node flex text-sm leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2 flex-1 href xlink:href markstream-d2-root-svg number window.requestAnimationFrame instance.render instance missing render returned empty top d2-block my-4 rounded-lg border overflow-hidden shadow-sm border-gray-700/30 bg-gray-900 text-gray-100 border-gray-200 bg-white text-gray-900 d2-block-header justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 font-medium font-mono gap-x-1 rounded-md p-0.5 bg-gray-700 bg-gray-100 mode-btn px-2 py-1 text-xs rounded !showSource is-active showSource d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] copying w-3 h-3 none currentColor round aria-pressed m9 bodyRef d2-block-body bodyStyle !hasPreview d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 footnote-anchor hover:underline ↩︎ dl definition-list indexKey mb-4 dt definition-term ctx renderNode ?? definition dd definition-desc ml-4 mark highlight-node emoji-node html-block-node escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 setHostEl shouldRender useDynamic reactNodes insert-node inline-code inline text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words max-w-full text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b list-node my-5 pl-[calc(13/8*1em)] list-decimal list-disc max-lg:my-[calc(4/3*1em)] max-lg:pl-[calc(14/9*1em)] list list-item pl-1.5 my-2 valueAttr children style.visibility hidden line-info legacy off never background night moon black dracula mocha frappe macchiato palenight ocean poimandres monokai laserwave tokyo slack-dark rose-pine github-dark material-theme one-dark catppuccin-mocha catppuccin-frappe catppuccin-macchiato light latte dawn lotus plaintext diff important max-height visible height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver childList record.type attributes class explicit fontSize lineHeight paddingBottom paddingTop tabSize on same helpers.cleanupEditor canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-fallback-plain m-0 code-block-container is-rendering is-diff is-plain-text code-block-header space-x-2 icon-slot h-4 w-4 flex-shrink-0 truncate code-action-btn copied m14 evenodd code-block-body--collapsed code-block-body--expanded code-editor-layer code-height-placeholder aria-hidden code-editor-fallback-surface code-loading-placeholder loading-skeleton skeleton-line short sr-only polite status react-dom library failed text-red-500 p-4">Failed instanceof error.message error keydown transform ease center fullscreen touches text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 source hasPreview preview pending bg-gray-800 bg-gray-50 px-2.5 bg-gray-600 text-gray-200 text-gray-700 text-gray-500 m16 isCollapsed opacity-50 cursor-not-allowed m7 whitespace-pre-wrap text-gray-300 baseCode relative absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 block inset-0 cursor-grab isDragging containerRef w-full text-center justify-center min-h-full markstream-react fixed z-50 bg-black/70 p-4 closeModal dialog h-full max-h-full shadow-lg top-6 right-6 !isDragging cursor-grabbing markstream-core vitesse-dark vitesse-light shiki shiki-fallback [MarkdownCodeBlockNode] dispose stream-markdown stream-markdown.createShikiStreamRenderer available stale ready requires with ignoring and using default language register configured retrying without code-block-content rendererTargetRef code-block-render ease-in-out infinite node.title link-loading inline-flex items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text text link-loading-indicator link-node aria-label noopener noreferrer unknown-node italic node paragraph-node paragraph child.type html_inline loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode common.zoomIn common.zoomOut common.resetZoom transition-[height] duration-150 ease-out data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-1 common.preview common.source common.export mermaid-error hasRenderedOnce mermaid-block modeContainerRef mermaid-modal-overlay mermaid-modal-panel mermaid-modal-header mermaid-modal-title mermaid-modal-close mermaid-modal-body modalContentRef mermaid-modal-content abort timed out strong-node superscript-node strikethrough-node subscript-node reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 hover:bg-[hsl(var(--secondary))] event.key text-node text-node-center primary fallback is-loaded lazy eager async image-node__placeholder image-node__spinner image-node__placeholder-text image… placeholder image-node__error load containerClass vmr-container right text-right text-left pointermove pointerup pointercancel table-node-wrapper my-8 table-node table-node--loading aria-busy colgroup border-[var(--table-border,#cbd5e1)] p-[calc(4/7*1em)] table-node__resize-handle table-node__loading table-node__spinner window.matchMedia ms-tooltip z-[9999] inline-block text-base py-2 px-3 shadow-md whitespace-nowrap pointer-events-none tooltip-element text-white border-gray-700 tooltip [mermaidWorkerClient] messageerror cleared worker inject via busy canParse findPrefix javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin hr-node thematic-break list_item definition_list footnote footnote_reference footnote_anchor thematic_break thinking vmr_container htmlFor className label_open label_close in zoom [markstream-react] htmlPreviewSandbox contains both allow-scripts this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__backdrop--dark html-preview-frame--dark html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label html-preview-frame__close--dark html-preview-frame__iframe no-referrer about:blank node.type infographic d2lang langs text_special node.content heading hardbreak inline_code emphasis strikethrough highlight insert subscript superscript checkbox_input emoji math_inline reference stream-monaco data-ssr-fallback normalizedLanguage data-language no renderNodeProp classAttr node.cite value void rowIdx bodyRows.length isOpen thematic-break-node cssVars image-node__img code-block-node code-block markdown-code-block-node markdown-code-block mermaid-block-node d2-block-node infographic-block-node math-block overflow-x-auto min-h-[40px] $$ math-inline-wrapper math-inline data-reference-id customComponents html-inline server-renderer node-content role aria-describedby document child key ref ms-html self_closing tag_open token.type tag_close parse dynamic template html-inline-node html-inline-node--loading mathRef math-inline--hidden math-inline__loading math-inline__spinner hunk !options.preserveBlankKind context removed added markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified markstream-pre--line-numbers markstream-pre--diff-preview markstream-pre--diff-inline showLineNumbers markstream-pre__diff-code line.empty markstream-pre__diff-line--empty markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner rendering math-rendering normalizedType globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph npm development process module did expected existingEnv.getWorkerUrl [katexWorkerClient] init cache-hit timeout waiting slot prototype constructor katex °C`;
2
2
  export default safeList;
@@ -1,20 +1,3 @@
1
1
  import { SmoothMarkdownStreamOptions, SmoothMarkdownStreamSnapshot } from 'markstream-core';
2
2
  export type { SmoothMarkdownStreamOptions, SmoothMarkdownStreamSnapshot };
3
- export declare function useSmoothMarkdownStream(options?: SmoothMarkdownStreamOptions): {
4
- enqueue: (chunk: string) => void;
5
- finish: (options?: {
6
- flush?: boolean;
7
- }) => void;
8
- flush: () => void;
9
- reset: (initialMarkdown?: string) => void;
10
- pause: () => void;
11
- resume: () => void;
12
- getSnapshot: () => SmoothMarkdownStreamSnapshot;
13
- source: string;
14
- visible: string;
15
- done: boolean;
16
- paused: boolean;
17
- pendingChars: number;
18
- caughtUp: boolean;
19
- final: boolean;
20
- };
3
+ export declare function useSmoothMarkdownStream(options?: SmoothMarkdownStreamOptions): any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markstream-react",
3
3
  "type": "module",
4
- "version": "0.0.53",
4
+ "version": "0.0.55",
5
5
  "description": "React/Next.js streaming Markdown renderer for AI chat, LLM token streams, SSE/WebSocket output, incomplete Markdown, long documents, Mermaid, KaTeX, Shiki, Monaco, and custom React components.",
6
6
  "author": "Simon He",
7
7
  "license": "MIT",
@@ -89,7 +89,7 @@
89
89
  "react": ">=18",
90
90
  "react-dom": ">=18",
91
91
  "stream-markdown": ">=0.0.16",
92
- "stream-monaco": ">=0.0.45"
92
+ "stream-monaco": ">=0.0.48"
93
93
  },
94
94
  "peerDependenciesMeta": {
95
95
  "@antv/infographic": {
@@ -112,22 +112,22 @@
112
112
  }
113
113
  },
114
114
  "dependencies": {
115
- "@floating-ui/dom": "^1.7.6",
115
+ "@floating-ui/dom": "^1.8.0",
116
116
  "clsx": "^2.1.1",
117
117
  "markstream-core": "1.0.3",
118
- "stream-markdown-parser": "1.0.8"
118
+ "stream-markdown-parser": "1.1.4"
119
119
  },
120
120
  "devDependencies": {
121
121
  "@types/react": "^18.3.31",
122
122
  "@types/react-dom": "^18.3.7",
123
123
  "@vitejs/plugin-react-swc": "^3.11.0",
124
- "autoprefixer": "^10.5.1",
124
+ "autoprefixer": "^10.5.2",
125
125
  "rollup": "^3.30.0",
126
126
  "rollup-plugin-dts": "^5.3.1",
127
127
  "rollup-plugin-visualizer": "^6.0.11",
128
128
  "tailwindcss": "^3.4.19",
129
129
  "typescript": "^5.9.3",
130
- "vite": "^7.3.5",
130
+ "vite": "^7.3.6",
131
131
  "vite-plugin-dts": "^4.5.4"
132
132
  },
133
133
  "scripts": {