markstream-octane 2.0.23 → 2.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.px.css CHANGED
@@ -1,2 +1,2 @@
1
- :where(.markstream-octane) button{appearance:none;font:inherit;color:inherit;background:0 0;border:0}.markstream-octane .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markstream-octane .pointer-events-none{pointer-events:none}.markstream-octane .visible{visibility:visible}.markstream-octane .collapse{visibility:collapse}.markstream-octane .fixed{position:fixed}.markstream-octane .absolute{position:absolute}.markstream-octane .relative{position:relative}.markstream-octane .inset-0{inset:0}.markstream-octane .right-2{right:8px}.markstream-octane .right-6{right:24px}.markstream-octane .top-2{top:8px}.markstream-octane .top-6{top:24px}.markstream-octane .z-10{z-index:10}.markstream-octane .z-50{z-index:50}.markstream-octane .z-\[9999\]{z-index:9999}.markstream-octane .m-0{margin:0}.markstream-octane .mx-0\.5{margin-left:2px;margin-right:2px}.markstream-octane .my-2{margin-top:8px;margin-bottom:8px}.markstream-octane .my-4{margin-top:16px;margin-bottom:16px}.markstream-octane .my-5{margin-top:20px;margin-bottom:20px}.markstream-octane .my-8{margin-top:32px;margin-bottom:32px}.markstream-octane .mb-4{margin-bottom:16px}.markstream-octane .ml-4{margin-left:16px}.markstream-octane .mt-2{margin-top:8px}.markstream-octane .block{display:block}.markstream-octane .inline-block{display:inline-block}.markstream-octane .inline{display:inline}.markstream-octane .flex{display:flex}.markstream-octane .inline-flex{display:inline-flex}.markstream-octane .table{display:table}.markstream-octane .grid{display:grid}.markstream-octane .contents{display:contents}.markstream-octane .list-item{display:list-item}.markstream-octane .hidden{display:none}.markstream-octane .h-3{height:12px}.markstream-octane .h-4{height:16px}.markstream-octane .h-full{height:100%}.markstream-octane .max-h-full{max-height:100%}.markstream-octane .min-h-\[360px\]{min-height:360px}.markstream-octane .min-h-\[40px\]{min-height:40px}.markstream-octane .min-h-full{min-height:100%}.markstream-octane .w-2\/3{width:66.6667%}.markstream-octane .w-3{width:12px}.markstream-octane .w-4{width:16px}.markstream-octane .w-4\/5{width:80%}.markstream-octane .w-full{width:100%}.markstream-octane .max-w-full{max-width:100%}.markstream-octane .flex-1{flex:1}.markstream-octane .flex-shrink-0{flex-shrink:0}.markstream-octane .border-collapse{border-collapse:collapse}.markstream-octane .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.markstream-octane .cursor-grab{cursor:grab}.markstream-octane .cursor-grabbing{cursor:grabbing}.markstream-octane .cursor-not-allowed{cursor:not-allowed}.markstream-octane .cursor-pointer{cursor:pointer}.markstream-octane .list-decimal{list-style-type:decimal}.markstream-octane .list-disc{list-style-type:disc}.markstream-octane .items-center{align-items:center}.markstream-octane .items-baseline{align-items:baseline}.markstream-octane .justify-center{justify-content:center}.markstream-octane .justify-between{justify-content:space-between}.markstream-octane .gap-1\.5{gap:6px}.markstream-octane .gap-2{gap:8px}.markstream-octane .gap-x-1{-moz-column-gap:4px;column-gap:4px}.markstream-octane .gap-x-2{-moz-column-gap:8px;column-gap:8px}.markstream-octane :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(4px * var(--tw-space-x-reverse));margin-left:calc(4px * calc(1 - var(--tw-space-x-reverse)))}.markstream-octane :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(8px * var(--tw-space-x-reverse));margin-left:calc(8px * calc(1 - var(--tw-space-x-reverse)))}.markstream-octane .overflow-auto{overflow:auto}.markstream-octane .overflow-hidden{overflow:hidden}.markstream-octane .overflow-x-auto{overflow-x:auto}.markstream-octane .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.markstream-octane .whitespace-normal{white-space:normal}.markstream-octane .whitespace-nowrap{white-space:nowrap}.markstream-octane .whitespace-pre-wrap{white-space:pre-wrap}.markstream-octane .break-words{overflow-wrap:break-word}.markstream-octane .rounded{border-radius:calc(var(--ms-radius) * .5)}.markstream-octane .rounded-lg{border-radius:var(--ms-radius)}.markstream-octane .rounded-md{border-radius:calc(var(--ms-radius) * .75)}.markstream-octane .border{border-width:1px}.markstream-octane .border-b{border-bottom-width:1px}.markstream-octane .border-t{border-top-width:1px}.markstream-octane .border-\[var\(--footnote-border\,\#eaecef\)\]{border-color:var(--footnote-border,#eaecef)}.markstream-octane .border-\[var\(--table-border\,\#cbd5e1\)\]{border-color:var(--table-border,#cbd5e1)}.markstream-octane .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.markstream-octane .border-gray-400\/5{border-color:#9ca3af0d}.markstream-octane .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.markstream-octane .border-gray-700\/30{border-color:#3741514d}.markstream-octane .bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.markstream-octane .bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.markstream-octane .bg-black\/70{background-color:#000000b3}.markstream-octane .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.markstream-octane .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.markstream-octane .p-0\.5{padding:2px}.markstream-octane .p-2{padding:8px}.markstream-octane .p-4{padding:16px}.markstream-octane .p-\[calc\(4\/7\*1em\)\]{padding:.571429em}.markstream-octane .px-1{padding-left:4px;padding-right:4px}.markstream-octane .px-1\.5{padding-left:6px;padding-right:6px}.markstream-octane .px-2{padding-left:8px;padding-right:8px}.markstream-octane .px-2\.5{padding-left:10px;padding-right:10px}.markstream-octane .px-3{padding-left:12px;padding-right:12px}.markstream-octane .px-4{padding-left:16px;padding-right:16px}.markstream-octane .py-0\.5{padding-top:2px;padding-bottom:2px}.markstream-octane .py-1{padding-top:4px;padding-bottom:4px}.markstream-octane .py-2{padding-top:8px;padding-bottom:8px}.markstream-octane .py-2\.5{padding-top:10px;padding-bottom:10px}.markstream-octane .py-4{padding-top:16px;padding-bottom:16px}.markstream-octane .pb-3{padding-bottom:12px}.markstream-octane .pl-1\.5{padding-left:6px}.markstream-octane .pl-\[calc\(13\/8\*1em\)\]{padding-left:1.625em}.markstream-octane .pt-2{padding-top:8px}.markstream-octane .text-left{text-align:left}.markstream-octane .text-center{text-align:center}.markstream-octane .text-right{text-align:right}.markstream-octane .font-mono{font-family:var(--ms-font-mono)}.markstream-octane .text-\[85\%\]{font-size:85%}.markstream-octane .text-base{font-size:16px;line-height:24px}.markstream-octane .text-sm{font-size:14px;line-height:20px}.markstream-octane .text-xs{font-size:12px;line-height:16px}.markstream-octane .font-medium{font-weight:500}.markstream-octane .font-semibold{font-weight:600}.markstream-octane .uppercase{text-transform:uppercase}.markstream-octane .italic{font-style:italic}.markstream-octane .leading-\[normal\]{line-height:normal}.markstream-octane .leading-relaxed{line-height:1.625}.markstream-octane .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.markstream-octane .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.markstream-octane .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.markstream-octane .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.markstream-octane .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.markstream-octane .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.markstream-octane .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.markstream-octane .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.markstream-octane .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.markstream-octane .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.markstream-octane .underline{text-decoration-line:underline}.markstream-octane .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.markstream-octane .opacity-50{opacity:.5}.markstream-octane .shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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-octane .shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--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-octane .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--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-octane .outline{outline-style:solid}.markstream-octane .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-octane .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-octane .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-octane .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-octane .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .transition-\[height\]{transition-property:height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .duration-100{transition-duration:.1s}.markstream-octane .duration-150{transition-duration:.15s}.markstream-octane .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.markstream-octane{--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%;--ms-size-code-max-height:500px;--code-bg:#fff;--code-fg:#1a1a1a}.dark .markstream-octane,.markstream-octane.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%;--code-bg:#111827;--code-fg:#ededed}:where(.markstream-octane).markdown-renderer{contain:layout;content-visibility:auto;contain-intrinsic-size:800px 600px;position:relative}:where(.markstream-octane).markdown-renderer.virtualized{content-visibility:visible;contain-intrinsic-size:auto}:where(.markstream-octane) .node-slot,:where(.markstream-octane) .node-content{width:100%}:where(.markstream-octane) .node-placeholder{background:#94a3b82e;border-radius:8px;width:100%;min-height:16px;margin:4px 0;position:relative;overflow:hidden}:where(.markstream-octane) .node-placeholder:before{content:"";inset-block:0;background:linear-gradient(90deg,#94a3b82e,#94a3b80d,#94a3b82e) 0 0/40% 100%;width:500%;animation:1.1s ease-in-out infinite markstream-octane-node-placeholder-shimmer;position:absolute;left:-200%}:where(.markstream-octane) .node-placeholder:first-child{margin-top:0}:where(.markstream-octane) .node-spacer{width:100%}:where(.markstream-octane) .fade-node,:where(.markstream-octane) .typewriter-node{opacity:0;animation:markstream-octane-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-octane) .unknown-node{color:#6a737d;margin:16px 0;font-style:italic}:where(.markstream-octane) .text-node{font-weight:inherit;vertical-align:baseline;white-space:pre-wrap;word-break:break-word;display:inline}:where(.markstream-octane) .text-node.text-node-center{justify-content:center;width:100%;display:inline-flex}:where(.markstream-octane) .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}:where(.markstream-octane) .text-node-stream-delta--a{animation-name:markstream-octane-text-node-stream-update-fade-a}:where(.markstream-octane) .text-node-stream-delta--b{animation-name:markstream-octane-text-node-stream-update-fade-b}:where(.markstream-octane) .paragraph-node{margin:1.25em 0;line-height:1.625}:where(.markstream-octane) li .paragraph-node{margin:0}:where(.markstream-octane) .blockquote-node{border-left:4px solid var(--blockquote-border-color,#e2e8f0);quotes:"“" "”" "‘" "’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;font-style:italic;font-weight:500}:where(.markstream-octane) .blockquote-node .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}:where(.markstream-octane) .heading-node{font-weight:600}:where(.markstream-octane) .heading-1{margin-top:0;margin-bottom:.888889em;font-size:36px;font-weight:800;line-height:1.11111}:where(.markstream-octane) .heading-2{margin-top:32px;margin-bottom:16px;font-size:24px;line-height:1.33333}:where(.markstream-octane) .heading-3{margin-top:1.6em;margin-bottom:.6em;font-size:20px;line-height:1.66667}:where(.markstream-octane) .heading-4,:where(.markstream-octane) .heading-5,:where(.markstream-octane) .heading-6{margin-top:24px;margin-bottom:8px;font-size:16px}:where(.markstream-octane) .heading-5,:where(.markstream-octane) .heading-6{margin-top:0;margin-bottom:0}:where(.markstream-octane) .link-node{color:var(--link-color,#0366d6);text-decoration:none}:where(.markstream-octane) .link-node:hover{text-underline-offset:3.2px;text-decoration:underline}:where(.markstream-octane) .link-loading{color:var(--link-color,#0366d6)}:where(.markstream-octane) .link-loading .link-text-wrapper{position:relative}:where(.markstream-octane) .link-loading .link-text{z-index:2;position:relative}:where(.markstream-octane) .link-loading-indicator{height:var(--underline-height,2px);left:0;right:0;bottom:var(--underline-bottom,-3px);opacity:var(--underline-rest-opacity,.18);animation:markstream-octane-link-loading-pulse var(--underline-duration,1.6s) var(--underline-timing,ease-in-out) var(--underline-iteration,infinite);background:currentColor;border-radius:999px;position:absolute}@keyframes markstream-octane-link-loading-pulse{0%,to{opacity:var(--underline-rest-opacity,.18)}50%{opacity:var(--underline-opacity,.35)}}@keyframes markstream-octane-text-node-stream-update-fade-a{0%{opacity:0}to{opacity:1}}@keyframes markstream-octane-text-node-stream-update-fade-b{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){:where(.markstream-octane) .link-loading-indicator{opacity:var(--underline-rest-opacity,.18);animation:none!important}:where(.markstream-octane) .text-node-stream-delta{animation:none!important}:where(.markstream-octane) .fade-node,:where(.markstream-octane) .typewriter-node,:where(.markstream-octane) .typewriter-cursor{opacity:1;animation:none!important}:where(.markstream-octane) .node-placeholder:before,:where(.markstream-octane) .table-node--loading tbody td:after,:where(.markstream-octane) .html-block-node__placeholder-bar:before,:where(.markstream-octane) .skeleton-line:before{animation:none!important}}:where(.markstream-octane) .inline-code{background:#f3f4f6;border-radius:6px;padding:2px 6px;font-size:14px}:where(.markstream-octane) .image-node__img{vertical-align:middle;opacity:0;border-radius:12px;width:auto;max-width:none;height:auto;min-height:0;transition:opacity .2s;display:inline-block}:where(.markstream-octane) .image-node__img.is-loaded{opacity:1}:where(.markstream-octane) .image-node__placeholder,:where(.markstream-octane) .image-node__error{vertical-align:middle;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:auto;padding:24px;display:inline-flex}:where(.markstream-octane) .image-node__placeholder{color:#475569;background:linear-gradient(120deg,#94a3b833,#e2e8f059);box-shadow:inset 0 0 0 1px #94a3b833}:where(.markstream-octane) .image-node__error{color:#dc2626;background:#f8717114}:where(.markstream-octane) .image-node__spinner{border:2px solid;border-top-color:#0000;border-radius:999px;width:16px;height:16px;animation:1s linear infinite markstream-octane-spin}:where(.markstream-octane) .image-node__placeholder-text{color:currentColor;font-size:14px}@keyframes markstream-octane-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:where(.markstream-octane) .footnote-node{margin-top:var(--ms-flow-footnote-y,.5em);margin-bottom:var(--ms-flow-footnote-y,.5em);border-top:1px solid var(--footnote-border,hsl(var(--border)));padding-top:8px;font-size:14px;line-height:1.625;display:flex}:where(.markstream-octane) .footnote-reference{font-size:.75em;line-height:0}:where(.markstream-octane) .footnote-link{color:var(--link-color,#0366d6);text-decoration:none}:where(.markstream-octane) .footnote-link:hover{text-decoration:underline}:where(.markstream-octane) .footnote-anchor{color:var(--link-color,#0366d6);cursor:pointer;margin-left:8px;text-decoration:none}:where(.markstream-octane) .footnote-anchor:hover{text-decoration:underline}:where(.markstream-octane) .admonition-node{background:#f9fafbe6;border-left:4px solid #e5e7eb;border-radius:8px;margin:24px 0;padding:12px 16px}:where(.markstream-octane) .admonition-node__title{margin-bottom:8px;font-weight:600}:where(.markstream-octane) .table-node-wrapper{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable;max-width:100%;position:relative;overflow-x:auto}:where(.markstream-octane) .table-node{border-collapse:collapse;width:100%}:where(.markstream-octane) .table-node th,:where(.markstream-octane) .table-node td{white-space:normal;overflow-wrap:break-word;word-break:normal}:where(.markstream-octane) .table-node thead th{position:relative}:where(.markstream-octane) .table-node__resize-handle{z-index:1;cursor:col-resize;touch-action:none;background:0 0;border:0;width:8px;padding:0;position:absolute;top:0;bottom:0;right:-4px}:where(.markstream-octane) .table-node__resize-handle:after{content:"";opacity:0;background:#5e68798c;border-radius:9999px;width:2px;transition:opacity .12s;position:absolute;top:.35em;bottom:.35em;left:50%;transform:translate(-50%)}:where(.markstream-octane) .table-node__resize-handle:hover:after,:where(.markstream-octane) .table-node__resize-handle:focus-visible:after{opacity:1}:where(.markstream-octane) .table-node .text-node,:where(.markstream-octane) .table-node code{white-space:inherit;overflow-wrap:inherit;word-break:inherit;max-width:none}:where(.markstream-octane) .table-node--loading tbody td{border-radius:4px;position:relative;overflow:hidden}:where(.markstream-octane) .table-node--loading tbody td>*{visibility:hidden}:where(.markstream-octane) .table-node--loading tbody td:after{content:"";inset-block:0;background:linear-gradient(90deg,#94a3b829 25%,#94a3b847 50%,#94a3b829 75%) 0 0/66.6667% 100%;border-radius:4px;width:300%;animation:1.2s linear infinite markstream-octane-table-node-shimmer;position:absolute;left:0}:where(.markstream-octane) .table-node__loading{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}:where(.markstream-octane) .table-node__spinner{will-change:transform;border:2px solid #5e687940;border-top-color:#5e6879cc;border-radius:999px;width:40px;height:40px;animation:1s linear infinite markstream-octane-spin}:where(.markstream-octane) .table-node .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px;display:contents}:where(.markstream-octane) .table-node .markdown-renderer .node-slot,:where(.markstream-octane) .table-node .markdown-renderer .node-content,:where(.markstream-octane) .table-node .markdown-renderer .node-space{display:contents}:where(.markstream-octane).markdown-renderer .markdown-renderer{content-visibility:visible;contain-intrinsic-size:auto}@keyframes markstream-octane-table-node-shimmer{0%{transform:translate(0)}to{transform:translate(-66.6667%)}}:where(.markstream-octane) .hr+.table-node-wrapper,:where(.markstream-octane) .hr+.table-node-wrapper .table-node{margin-top:0}:where(.markstream-octane) .code-block-node{color:#fff;background:#0f172a;border-radius:12px;margin:20px 0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow-x:auto}:where(.markstream-octane) .code-block{color:#e2e8f0;background:#0f172a;border-radius:12px;margin:20px 0;position:relative;overflow:hidden}:where(.markstream-octane) .code-block--expanded{max-height:none}:where(.markstream-octane) .code-block-header{background:#0f172ad9;border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;padding:10.4px 14.4px;display:flex}:where(.markstream-octane) .code-block-meta{align-items:center;gap:8px;display:flex}:where(.markstream-octane) .code-block-language{letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0d9;font-size:13.2px}:where(.markstream-octane) .code-block-badge{color:#bfdbfe;background:#3b82f633;border-radius:9999px;padding:1.6px 6.4px;font-size:11.2px}:where(.markstream-octane) .code-block-actions{gap:5.6px;display:flex}:where(.markstream-octane) .code-block-btn{color:#f8fafc;cursor:pointer;background:#0f172a99;border:1px solid #94a3b866;border-radius:5.6px;padding:4px 10.4px;font-size:12px;transition:background .2s,color .2s,border-color .2s}:where(.markstream-octane) .code-block-btn:hover{background:#3b82f6cc;border-color:#3b82f699}:where(.markstream-octane) .code-block-body{position:relative}:where(.markstream-octane) .code-block-body--expanded{max-height:none}:where(.markstream-octane) .code-block-body--collapsed{height:0;min-height:0;overflow:hidden}:where(.markstream-octane) .code-block-overlay{backdrop-filter:blur(2px);background:#0f172a99;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}:where(.markstream-octane) .code-block-spinner{border:2px solid #ffffff4d;border-top-color:#ffffffe6;border-radius:9999px;width:32px;height:32px;animation:1s linear infinite markstream-octane-spin}:where(.markstream-octane) .code-block-footer{color:#e2e8f0cc;border-top:1px solid #94a3b833;padding:5.6px 14.4px 11.2px;font-size:12px}:where(.markstream-octane) .mermaid-block{color:#0f172a;background:#fff;border:1px solid #94a3b84d;border-radius:16px;margin:20px 0;overflow:hidden}.dark :where(.markstream-octane) .mermaid-block,:where(.markstream-octane).dark .mermaid-block{color:#e2e8f0;background:#0f172a;border-color:#94a3b866}:where(.markstream-octane).mermaid-modal-overlay{z-index:9999;background:#0009;flex-direction:column;display:flex;position:fixed;inset:0}:where(.markstream-octane) .mermaid-modal-panel{color:#0f172a;background:#fff;border-radius:12px;width:min(1024px,100% - 32px);margin:32px auto;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000038}:where(.markstream-octane) .mermaid-modal-panel.is-dark{color:#e2e8f0;background:#0f172a}:where(.markstream-octane) .mermaid-modal-header{border-bottom:1px solid #94a3b840;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}:where(.markstream-octane) .mermaid-modal-panel.is-dark .mermaid-modal-header{border-bottom-color:#94a3b840}:where(.markstream-octane) .mermaid-modal-title{font-size:14px;font-weight:600}:where(.markstream-octane) .mermaid-modal-close{cursor:pointer;opacity:.9;border-radius:6px;padding:4px 8px;font-size:14px}:where(.markstream-octane) .mermaid-modal-close:hover{opacity:1;background:#94a3b829}:where(.markstream-octane) .mermaid-modal-body{max-height:80vh;padding:16px;overflow:auto}:where(.markstream-octane) .mermaid-modal-content{justify-content:center;width:100%;height:100%;display:flex}:where(.markstream-octane) .fullscreen{width:100%;height:100%!important;max-height:100%!important}:where(.markstream-octane) .mermaid-header{background:#f8fafcd9;border-bottom:1px solid #94a3b84d;justify-content:space-between;align-items:center;padding:10.4px 14.4px;display:flex}.dark :where(.markstream-octane) .mermaid-header,:where(.markstream-octane).dark .mermaid-header{background:#0f172ad9;border-color:#47556999}:where(.markstream-octane) .mermaid-title__text{letter-spacing:.08em;text-transform:uppercase;color:inherit;font-size:13.6px}:where(.markstream-octane) .mermaid-actions{align-items:center;gap:5.6px;display:flex}:where(.markstream-octane) .mermaid-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:5.6px;padding:3.2px 10.4px;font-size:12px;transition:background .2s,color .2s}:where(.markstream-octane) .mermaid-btn:hover{color:#1d4ed8;background:#3b82f626}.dark :where(.markstream-octane) .mermaid-btn:hover,:where(.markstream-octane).dark .mermaid-btn:hover{color:#bfdbfe;background:#3b82f64d}:where(.markstream-octane) .mermaid-toggle{border:1px solid #94a3b84d;border-radius:9999px;display:inline-flex;overflow:hidden}:where(.markstream-octane) .mermaid-toggle-btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:3.2px 10.4px;font-size:12px;transition:background .2s}:where(.markstream-octane) .mermaid-toggle-btn--active{color:#1d4ed8;background:#3b82f62e}.dark :where(.markstream-octane) .mermaid-toggle-btn--active,:where(.markstream-octane).dark .mermaid-toggle-btn--active{color:#bfdbfe;background:#3b82f64d}:where(.markstream-octane) .mermaid-body{padding:16px;position:relative}:where(.markstream-octane) .mermaid-preview{text-align:center;justify-content:center;align-items:center;width:100%;min-height:180px;display:flex}:where(.markstream-octane) .mermaid-pan-touch,:where(.markstream-octane) .infographic-pan-touch{touch-action:none}:where(.markstream-octane) .mermaid-preview svg{width:100%;height:auto}:where(.markstream-octane) .mermaid-source{color:#e2e8f0;background:#0f172af2;border-radius:8px;padding:16px;overflow-x:auto}:where(.markstream-octane) .mermaid-error{color:#b91c1c;background:#f8717126;border-top:1px solid #f8717140;padding:13.6px 16px}:where(.markstream-octane) .mermaid-loading{color:#0f172a99;align-items:center;gap:8px;padding:12px 16px 16px;font-size:13.6px;display:flex}.dark :where(.markstream-octane) .mermaid-loading,:where(.markstream-octane).dark .mermaid-loading{color:#e2e8f0b3}:where(.markstream-octane) .mermaid-spinner{border:2px solid #3b82f666;border-top-color:#3b82f6e6;border-radius:9999px;width:19.2px;height:19.2px;animation:.9s linear infinite markstream-octane-spin}:where(.markstream-octane) .math-block-node{margin:16px 0}:where(.markstream-octane) .math-inline-wrapper{display:inline-block;position:relative}:where(.markstream-octane) .math-inline{vertical-align:middle;display:inline-block}:where(.markstream-octane) .math-inline--hidden{visibility:hidden}:where(.markstream-octane) .math-inline__loading{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}:where(.markstream-octane) .math-inline__spinner{border:2px solid #5e687940;border-top-color:#5e6879cc;border-radius:9999px;width:16px;height:16px;animation:1s linear infinite markstream-octane-spin}:where(.markstream-octane) .math-block{text-align:center;min-height:40px;padding:8px;position:relative;overflow-x:auto}:where(.markstream-octane) .math-rendering{opacity:.3;transition:opacity .2s}:where(.markstream-octane) .thematic-break{border-top:1px solid #e2e8f0;margin:48px 0}:where(.markstream-octane) .hr-node{border-top:1px solid var(--hr-border-color,#e2e8f0);margin:48px 0}:where(.markstream-octane) .hard-break{display:block}:where(.markstream-octane) .checkbox-node{vertical-align:middle;margin-right:8px}:where(.markstream-octane) .checkbox-input{cursor:default;margin:0}:where(.markstream-octane) .html-inline-node{display:inline}:where(.markstream-octane) .html-inline-node--loading{opacity:.85}:where(.markstream-octane) .html-block-node__placeholder{flex-direction:column;gap:5.6px;padding:8px 0;display:flex}:where(.markstream-octane) .html-block-node__placeholder-bar{background:#94a3b859;border-radius:9999px;height:12.8px;display:block;position:relative;overflow:hidden}:where(.markstream-octane) .html-block-node__placeholder-bar:before{content:"";inset-block:0;background:linear-gradient(90deg,#94a3b859,#94a3b81a,#94a3b859) 0 0/66.6667% 100%;width:300%;animation:1.2s infinite markstream-octane-html-block-node-shimmer;position:absolute;left:0}@keyframes markstream-octane-html-block-node-shimmer{0%{transform:translate(0)}to{transform:translate(-66.6667%)}}:where(.markstream-octane) .vmr-container{border:1px solid #94a3b859;border-left-width:4px;border-radius:8px;margin:16px 0;padding:16px}:where(.markstream-octane) .admonition{--admonition-bg:#f8f8f8;--admonition-border:#eaecef;--admonition-header-bg:#00000008;--admonition-text:#111827;--admonition-muted:#374151;--admonition-note-color:#448aff;--admonition-tip-color:#00bfa5;--admonition-warning-color:#ff9100;--admonition-danger-color:#ff5252;border-left:4px solid var(--admonition-border);background-color:var(--admonition-bg);color:var(--admonition-text);border-radius:4px;margin:16px 0;padding:0;overflow:hidden}:where(.markstream-octane) .admonition-header{background-color:var(--admonition-header-bg);color:var(--admonition-muted);align-items:center;padding:8px 16px;font-weight:600;display:flex}:where(.markstream-octane) .admonition-icon{color:inherit;margin-right:8px}:where(.markstream-octane) .admonition-content{color:var(--admonition-text);padding:8px 16px 16px}:where(.markstream-octane) .admonition-note{border-left-color:var(--admonition-note-color)}:where(.markstream-octane) .admonition-note .admonition-header{color:var(--admonition-note-color);background-color:#448aff0f}:where(.markstream-octane) .admonition-info{border-left-color:var(--admonition-note-color)}:where(.markstream-octane) .admonition-info .admonition-header{color:var(--admonition-note-color);background-color:#448aff0f}:where(.markstream-octane) .admonition-tip{border-left-color:var(--admonition-tip-color)}:where(.markstream-octane) .admonition-tip .admonition-header{color:var(--admonition-tip-color);background-color:#00bfa50f}:where(.markstream-octane) .admonition-warning{border-left-color:var(--admonition-warning-color)}:where(.markstream-octane) .admonition-warning .admonition-header{color:var(--admonition-warning-color);background-color:#ff91000f}:where(.markstream-octane) .admonition-danger{border-left-color:var(--admonition-danger-color)}:where(.markstream-octane) .admonition-danger .admonition-header{color:var(--admonition-danger-color);background-color:#ff52520f}:where(.markstream-octane) .admonition-error{border-left-color:var(--admonition-danger-color)}:where(.markstream-octane) .admonition-error .admonition-header{color:var(--admonition-danger-color);background-color:#ff52520f}:where(.markstream-octane) .admonition-caution{border-left-color:var(--admonition-warning-color)}:where(.markstream-octane) .admonition-caution .admonition-header{color:var(--admonition-warning-color);background-color:#ff91000f}:where(.markstream-octane) .admonition-toggle{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:4px 8px;font-size:14.4px}:where(.markstream-octane) .admonition-toggle:focus{outline-offset:2px;outline:2px solid #00000014}:where(.markstream-octane) .admonition.is-dark{--admonition-bg:#0b1220;--admonition-border:#ffffff0f;--admonition-header-bg:#ffffff08;--admonition-text:#e6eef8;--admonition-muted:#cbd5e1}:where(.markstream-octane) .code-block-container{contain:content;content-visibility:visible;contain-intrinsic-size:auto;--markstream-code-fallback-bg:var(--code-bg);--markstream-code-fallback-fg:var(--code-fg);--markstream-code-border-color:#e5e7eb;--markstream-code-fallback-selection-bg:#0000000f;--vscode-editor-selectionBackground:var(--markstream-code-fallback-selection-bg);--markstream-diff-frame-border:#cbd5e18f;--markstream-diff-frame-shadow:0 16px 40px -32px #0f172a2e;--markstream-diff-shell-fg:#0f172a;--markstream-diff-shell-muted:#64748b;--markstream-diff-shell-border:#94a3b82e;--markstream-diff-shell-shadow:0 30px 70px -48px #0f172a6b;--markstream-diff-shell-bg:radial-gradient(circle at top center, #ffffffe6, transparent 55%), linear-gradient(180deg, #fffdfa 0%, #fbfcfe 100%);--markstream-diff-header-border:#e2e8f0eb;--markstream-diff-stage-bg:radial-gradient(circle at top center, #fffffff2, transparent 60%), linear-gradient(180deg, #fcfdff 0%, #f6f8fb 100%);--markstream-diff-editor-bg:#fff;--markstream-diff-editor-fg:#435266;--markstream-diff-unchanged-fg:#555;--markstream-diff-unchanged-bg:#f3f3f3;--markstream-diff-unchanged-divider:#fffffff0;--markstream-diff-focus:#0ea5e96b;--markstream-diff-widget-shadow:#0f172a42;--markstream-diff-action-hover:#0f172a0f;--markstream-diff-panel-bg:linear-gradient(180deg, #fff 0%, #fbfcfe 100%);--markstream-diff-panel-bg-soft:#fff;--markstream-diff-panel-bg-strong:#fff;--markstream-diff-panel-border:#e2e8f04d;--markstream-diff-pane-divider:#e2e8f06b;--markstream-diff-gutter-bg:transparent;--markstream-diff-gutter-guide:transparent;--markstream-diff-gutter-gap:16px;--markstream-diff-line-number:#525252e0;--markstream-diff-line-number-active:#525252e0;--markstream-diff-added-fg:#14b8a6;--markstream-diff-removed-fg:#ff3658;--markstream-diff-added-line:#e8f9f5fa;--markstream-diff-removed-line:#fff1f1fa;--markstream-diff-added-inline:#c5f5dbf5;--markstream-diff-removed-inline:#ffd7d9eb;--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(--markstream-gutter-marker-width,4px), #14b8a614 var(--markstream-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(--markstream-gutter-marker-width,4px) 100% no-repeat, linear-gradient(90deg, #ff365814 0 100%);--markstream-diff-added-line-fill:#e7f8f4f5;--markstream-diff-removed-line-fill:#fff1f1fa;container-type:inline-size}@supports (color:lab(0% 0 0)){:where(.markstream-octane) .code-block-container{--markstream-diff-unchanged-fg:lab(36.247% .0071872 -.000424832);--markstream-diff-unchanged-bg:lab(95.9989% .0180531 -.0010643)}}:where(.markstream-octane) .code-block-container.is-dark{--markstream-code-fallback-bg:var(--code-bg);--markstream-code-fallback-fg:var(--code-fg);--markstream-code-border-color:#3741514d;--markstream-code-fallback-selection-bg:#ffffff14;--markstream-diff-frame-border:#52525b8f;--markstream-diff-frame-shadow:0 18px 40px -30px #000000d6;--markstream-diff-shell-fg:#e2e8f0;--markstream-diff-shell-muted:#94a3b8;--markstream-diff-shell-border:#52525b8f;--markstream-diff-shell-shadow:0 34px 80px -52px #000000b8;--markstream-diff-shell-bg:#0a0a0bfc;--markstream-diff-header-border:#3f3f46d1;--markstream-diff-stage-bg:#0a0a0bfc;--markstream-diff-editor-bg:#0c0c0efc;--markstream-diff-editor-fg:#b6c2d3;--markstream-diff-unchanged-fg:#cbd5e1;--markstream-diff-unchanged-bg:#18181beb;--markstream-diff-unchanged-divider:#ffffff2e;--markstream-diff-focus:#60a5fa6b;--markstream-diff-widget-shadow:#000000b8;--markstream-diff-action-hover:#ffffff14;--markstream-diff-panel-bg:#0a0a0bfc;--markstream-diff-panel-bg-soft:#0a0a0bfc;--markstream-diff-panel-bg-strong:#0a0a0bfc;--markstream-diff-panel-border:#52525b4d;--markstream-diff-pane-divider:#52525b57;--markstream-diff-gutter-bg:linear-gradient(180deg, #0d0d0ff0 0%, #09090afa 100%);--markstream-diff-gutter-guide:#a1a1aa14;--markstream-diff-gutter-gap:16px;--markstream-diff-line-number:#a1a1aaad;--markstream-diff-line-number-active:#e4e4e7d1;--markstream-diff-added-fg:#5eead4;--markstream-diff-removed-fg:#fda4af;--markstream-diff-added-line:#0d94882e;--markstream-diff-removed-line:#e11d482e;--markstream-diff-added-inline:#2dd4bf3d;--markstream-diff-removed-inline:#fb71853d;--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(--markstream-gutter-marker-width,4px), #5eead433 var(--markstream-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(--markstream-gutter-marker-width,4px) 100% no-repeat, linear-gradient(90deg, #fda4af2e 0 100%);--markstream-diff-added-line-fill:linear-gradient(90deg, #0f766e61 0%, #0d948847 100%);--markstream-diff-removed-line-fill:linear-gradient(90deg, #9f123961 0%, #e11d4847 100%)}:where(.markstream-octane) .code-editor-container{transition:height .18s,max-height .18s}:where(.markstream-octane) .code-action-btn{cursor:pointer;opacity:.7;transition:opacity .2s}:where(.markstream-octane) .code-action-btn:hover{opacity:1}:where(.markstream-octane) .code-action-btn:disabled{opacity:.5;cursor:not-allowed}:where(.markstream-octane) .code-action-btn:disabled:hover{background-color:#0000}:where(.markstream-octane) .icon-slot{justify-content:center;align-items:center;display:inline-flex}:where(.markstream-octane) .icon-slot svg,:where(.markstream-octane) .icon-slot img{width:100%;height:100%;display:block}:where(.markstream-octane) .code-editor-layer{min-width:0;display:grid}:where(.markstream-octane) .code-editor-layer>.code-editor-container,:where(.markstream-octane) .code-editor-layer>.code-editor-fallback-surface{grid-area:1/1}:where(.markstream-octane) .code-editor-fallback-surface{padding:0;overflow:auto}:where(.markstream-octane) .code-block-container.is-diff .code-editor-fallback-surface{background:var(--markstream-diff-editor-bg);padding:0}:where(.markstream-octane) .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-octane) .code-block-container.is-diff .code-block-header{color:var(--markstream-diff-shell-fg);border-bottom-color:var(--markstream-diff-header-border);background:0 0}:where(.markstream-octane) .code-block-container.is-diff .code-editor-layer{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);padding:4px 4px 8px}:where(.markstream-octane) .code-block-content{max-height:min(70vh,500px);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);transition:max-height .3s;display:grid;overflow:auto}:where(.markstream-octane) .code-block-render,:where(.markstream-octane) .code-fallback-plain{grid-area:1/1;min-width:0}:where(.markstream-octane) .code-block-render{min-height:1px}:where(.markstream-octane) .code-block-render pre,:where(.markstream-octane) .code-block-content .shiki{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}:where(.markstream-octane) .code-block-content .shiki-fallback{background:inherit;color:inherit;white-space:pre;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:16px}:where(.markstream-octane) .code-fallback-plain{z-index:1;white-space:pre;background:var(--markstream-code-fallback-bg,var(--code-bg,#fff));color:var(--markstream-code-fallback-fg,var(--code-fg,#1a1a1a));font-size:inherit;line-height:inherit;font-family:inherit;font-weight:var(--vscode-editor-font-weight,400);position:relative;overflow:auto}:where(.markstream-octane) .code-fallback-plain>code{font-size:inherit;line-height:inherit;font-family:inherit;font-weight:inherit}:where(.markstream-octane) pre.markstream-pre--line-numbers:not(.markstream-pre--diff-preview){position:relative}:where(.markstream-octane) pre.markstream-pre--line-numbers:not(.markstream-pre--diff-preview)>.markstream-pre__line-numbers{top:var(--markstream-pre-line-number-top,0);left:var(--markstream-pre-line-number-left,0);box-sizing:content-box;width:var(--markstream-pre-line-number-width,4ch);padding-left:var(--markstream-pre-line-number-padding-left,2ch);padding-right:var(--markstream-pre-line-number-padding-right,1ch);border-right:var(--markstream-pre-line-number-separator-width,2px) solid transparent;color:var(--vscode-editorLineNumber-foreground,#94a3b8);font:inherit;line-height:inherit;pointer-events:none;user-select:none;display:flex;position:absolute}:where(.markstream-octane) pre.markstream-pre--line-numbers:not(.markstream-pre--diff-preview)>.markstream-pre__line-numbers>.markstream-pre__line-numbers-text{text-align:right;white-space:pre;width:100%;min-height:1lh;display:block}:where(.markstream-octane) pre.markstream-pre--line-numbers:not(.markstream-pre--diff-preview)>.markstream-pre__code{box-sizing:border-box;min-width:100%;padding-left:var(--markstream-code-padding-left,52px);padding-right:var(--markstream-code-padding-x,12px);display:block}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview{box-sizing:border-box;width:100%;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(--markstream-gutter-marker-width,4px);--markstream-pre-diff-gutter-gap:var(--markstream-gutter-gap,8px);--markstream-pre-diff-code-gap:var(--markstream-diff-code-gap,7.8px);--markstream-pre-diff-code-padding:var(--markstream-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,#2f8f681f);--markstream-diff-removed-line-fill:var(--diff-removed-bg,#c241411f);--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(--markstream-line-number-width,39px);--markstream-pre-diff-line-number-padding-left:var(--markstream-line-number-padding-left,15.6px);--markstream-pre-diff-line-number-padding-right:var(--markstream-line-number-padding-right,7.8px);--markstream-pre-diff-line-number-gap-to-code:var(--markstream-original-line-number-gap-to-code,var(--markstream-line-number-gap-to-code,var(--markstream-pre-diff-code-gap)));--markstream-pre-diff-line-number-left:var(--markstream-line-number-left,var(--markstream-pre-diff-gutter-marker-width));--markstream-pre-diff-line-number-border:var(--markstream-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));padding-left:0;padding-right:0}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline{--markstream-pre-diff-line-number-gap-to-code:var(--markstream-modified-line-number-gap-to-code,var(--markstream-line-number-gap-to-code,var(--markstream-pre-diff-code-gap)));--markstream-pre-diff-line-number-left:var(--markstream-line-number-left,var(--markstream-pre-diff-gutter-marker-width))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview>.markstream-pre__diff-code{width:100%;min-width:100%;font:inherit;line-height:inherit;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}:where(.markstream-octane) .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:max-content}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-pane{min-width:0;overflow:hidden}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview:not(.markstream-pre--diff-inline) .markstream-pre__diff-pane{overflow:auto hidden}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-pane{min-width:max-content;overflow:visible}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-pane--modified{--markstream-pre-diff-line-number-gap-to-code:var(--markstream-modified-line-number-gap-to-code,var(--markstream-line-number-gap-to-code,var(--markstream-pre-diff-code-gap)));--markstream-pre-diff-line-number-left:var(--markstream-line-number-left,var(--markstream-pre-diff-gutter-marker-width));box-shadow:inset 1px 0 var(--markstream-diff-pane-divider,#94a3b82e)}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-pane--modified{box-shadow:none}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line{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);display:block;position:relative}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line:before{content:"";left:var(--markstream-pre-diff-code-fill-left);height:var(--markstream-pre-diff-line-height,18px);z-index:0;pointer-events:none;background:0 0;border-radius:0;position:absolute;top:0;right:0}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-rail{z-index:2;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);position:absolute;top:0;left:0}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-number{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(--markstream-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);user-select:none;position:absolute}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added>.markstream-pre__diff-number{background:var(--markstream-added-line-fill,var(--markstream-diff-added-line-fill,transparent));color:var(--markstream-added-fg,var(--markstream-diff-added-fg,var(--markstream-diff-line-number,#6b7280)))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed>.markstream-pre__diff-number{background:var(--markstream-removed-line-fill,var(--markstream-diff-removed-line-fill,transparent));color:var(--markstream-removed-fg,var(--markstream-diff-removed-fg,var(--markstream-diff-line-number,#6b7280)))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-content{z-index:1;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;display:block;position:relative}:where(.markstream-octane) .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-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--hunk{color:var(--markstream-unchanged-fg,var(--markstream-diff-unchanged-fg,var(--markstream-diff-line-number,currentColor)))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--hunk:before{background:var(--markstream-unchanged-bg,var(--markstream-diff-unchanged-bg,transparent))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added:before{background:var(--markstream-added-line-fill,var(--markstream-diff-added-line-fill,transparent))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed:before{background:var(--markstream-removed-line-fill,var(--markstream-diff-removed-line-fill,transparent))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added>.markstream-pre__diff-rail{background:var(--markstream-added-gutter,var(--markstream-diff-added-gutter,currentColor))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed>.markstream-pre__diff-rail{background:var(--markstream-removed-gutter,var(--markstream-diff-removed-gutter,currentColor))}:where(.markstream-octane) .code-loading-placeholder{min-height:120px;padding:16px}:where(.markstream-octane) .loading-skeleton{flex-direction:column;gap:12px;display:flex}:where(.markstream-octane) .skeleton-line{background:#0000000f;border-radius:4px;height:16px;position:relative;overflow:hidden}:where(.markstream-octane) .skeleton-line:before{content:"";inset-block:0;background:linear-gradient(90deg,#0000000f 25%,#0000001f 37%,#0000000f 63%);width:400%;animation:1.2s ease-in-out infinite markstream-octane-code-skeleton-shimmer;position:absolute;left:-300%}:where(.markstream-octane) .code-block-container.is-dark .skeleton-line{background:#ffffff0f}:where(.markstream-octane) .code-block-container.is-dark .skeleton-line:before{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%)}:where(.markstream-octane) .skeleton-line.short{width:60%}@keyframes markstream-octane-code-skeleton-shimmer{0%{transform:translate(0)}to{transform:translate(75%)}}.markstream-octane pre[class^=language-],.markstream-octane pre[class*=\ language-]{white-space:pre;tab-size:2;font-variant-ligatures:none;contain:content;backface-visibility:hidden;-webkit-font-smoothing:antialiased;overflow:auto;transform:translateZ(0)}.markstream-octane pre[data-markstream-pre="1"]:not(.code-fallback-plain):not(.markstream-pre--diff-preview){box-sizing:border-box;background:var(--code-bg,#fff);width:100%;color:var(--code-fg);box-shadow:none;border:0;border-radius:0;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:16px;font-weight:400;line-height:28px;overflow:auto}.markstream-octane pre[data-markstream-pre="1"]:not(.code-fallback-plain):not(.markstream-pre--diff-preview)>code{color:inherit;font:inherit;background:0 0}.markstream-octane pre[class^=language-]>code,.markstream-octane pre[class*=\ language-]>code{display:block}.markstream-octane pre[class^=language-]:focus,.markstream-octane pre[class*=\ language-]:focus{outline:2px solid var(--vmdr-focus,#3b82f6);outline-offset:2px}:where(.markstream-octane).html-preview-frame__backdrop{z-index:50;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}:where(.markstream-octane).html-preview-frame__backdrop--dark{background-color:#0f172acc}:where(.markstream-octane) .html-preview-frame{background-color:#fff;border-radius:8px;flex-direction:column;width:80vw;max-width:960px;height:70vh;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000040}:where(.markstream-octane) .html-preview-frame--dark{color:#e5e7eb;background-color:#020617;box-shadow:0 10px 40px #0009}:where(.markstream-octane) .html-preview-frame__header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:6.4px 12px;display:flex}:where(.markstream-octane) .html-preview-frame--dark .html-preview-frame__header{border-bottom-color:#94a3b859}:where(.markstream-octane) .html-preview-frame__title{letter-spacing:.02em;text-transform:uppercase;opacity:.85;align-items:center;gap:6.4px;font-size:12px;font-weight:500;display:inline-flex}:where(.markstream-octane) .html-preview-frame__dot{background-color:#22c55e;border-radius:999px;width:8px;height:8px}:where(.markstream-octane) .html-preview-frame--dark .html-preview-frame__dot{background-color:#4ade80}:where(.markstream-octane) .html-preview-frame__label{white-space:nowrap}:where(.markstream-octane) .html-preview-frame__close{cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}:where(.markstream-octane) .html-preview-frame__close--dark{color:#e5e7eb}:where(.markstream-octane) .html-preview-frame__iframe{border:none;width:100%;height:100%;display:block}@media (max-width:640px){:where(.markstream-octane) .html-preview-frame{border-radius:0;width:100vw;height:80vh}}:where(.markstream-octane).ms-tooltip{pointer-events:none;z-index:9999;opacity:0;border-style:solid;border-width:1px;border-radius:6px;padding:6.4px 10.4px;font-size:14px;transition:opacity .12s linear,transform .22s cubic-bezier(.16,1,.3,1);position:fixed;box-shadow:0 10px 15px #00000014}:where(.markstream-octane).ms-tooltip[data-visible=true]{opacity:1}:where(.markstream-octane).ms-tooltip[data-dark=true]{color:#f9fafb;background-color:#111827;border-color:#374151}:where(.markstream-octane).ms-tooltip[data-dark=false],:where(.markstream-octane).ms-tooltip:not([data-dark=true]){color:#111827;background-color:#fff;border-color:#e5e7eb}@keyframes markstream-octane-node-placeholder-shimmer{0%{transform:translate(0)}to{transform:translate(80%)}}@keyframes markstream-octane-node-enter-fade{0%{opacity:0}to{opacity:1}}@keyframes markstream-octane-typewriter-fade{0%{opacity:0}to{opacity:1}}:where(.markstream-octane) .typewriter-cursor{vertical-align:-.12em;pointer-events:none;border-right:2px solid;width:.55em;height:1em;margin-left:.08em;animation:1s step-end infinite markstream-octane-typewriter-cursor-blink;display:inline-block;position:absolute;top:0;left:0}@keyframes markstream-octane-typewriter-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.markstream-octane .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(.markstream-octane) .d2-block-body{position:relative}:where(.markstream-octane) .d2-source{font-family:var(--vscode-editor-font-family,"Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)}:where(.markstream-octane) .d2-code{white-space:pre;font-size:14px;line-height:1.5}:where(.markstream-octane) .d2-render{max-height:var(--ms-size-code-max-height);flex-direction:column;display:flex;overflow:auto}:where(.markstream-octane) .d2-svg{width:100%;margin:auto}:where(.markstream-octane) .d2-render .d2-error{margin-left:auto;margin-right:auto}:where(.markstream-octane) .d2-svg svg.markstream-d2-root-svg{width:100%;max-width:100%;height:auto;max-height:var(--ms-d2-render-max-height,var(--ms-size-code-max-height));display:block}:where(.markstream-octane) .mode-btn{opacity:.7;transition:opacity .2s}:where(.markstream-octane) .mode-btn.is-active{opacity:1;font-weight:600}:where(.markstream-octane) .d2-action-btn{opacity:.7;transition:opacity .2s}:where(.markstream-octane) .d2-action-btn:hover{opacity:1}:where(.markstream-octane) .d2-action-btn:disabled{opacity:.3;cursor:not-allowed}:where(.markstream-octane) .d2-error{color:#dc2626}body>div[id^=dmermaid-]{visibility:hidden;pointer-events:none;width:100%;position:fixed;top:-10000px;left:0}.markstream-octane .hover\:bg-\[hsl\(var\(--secondary\)\)\]:hover{background-color:hsl(var(--secondary))}.markstream-octane .hover\:bg-\[var\(--vscode-editor-selectionBackground\)\]:hover{background-color:var(--vscode-editor-selectionBackground)}.markstream-octane .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.markstream-octane .hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.markstream-octane .hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.markstream-octane .hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.markstream-octane .hover\:underline:hover{text-decoration-line:underline}@media not all and (min-width:1024px){.markstream-octane .max-lg\:my-\[calc\(4\/3\*1em\)\]{margin-top:1.33333em;margin-bottom:1.33333em}.markstream-octane .max-lg\:pl-\[calc\(14\/9\*1em\)\]{padding-left:1.55556em}}
1
+ :where(.markstream-octane) button{appearance:none;font:inherit;color:inherit;background:0 0;border:0}.markstream-octane .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markstream-octane .pointer-events-none{pointer-events:none}.markstream-octane .visible{visibility:visible}.markstream-octane .collapse{visibility:collapse}.markstream-octane .fixed{position:fixed}.markstream-octane .absolute{position:absolute}.markstream-octane .relative{position:relative}.markstream-octane .inset-0{inset:0}.markstream-octane .right-2{right:8px}.markstream-octane .right-6{right:24px}.markstream-octane .top-2{top:8px}.markstream-octane .top-6{top:24px}.markstream-octane .z-10{z-index:10}.markstream-octane .z-50{z-index:50}.markstream-octane .z-\[9999\]{z-index:9999}.markstream-octane .m-0{margin:0}.markstream-octane .mx-0\.5{margin-left:2px;margin-right:2px}.markstream-octane .my-2{margin-top:8px;margin-bottom:8px}.markstream-octane .my-4{margin-top:16px;margin-bottom:16px}.markstream-octane .my-5{margin-top:20px;margin-bottom:20px}.markstream-octane .my-8{margin-top:32px;margin-bottom:32px}.markstream-octane .mb-4{margin-bottom:16px}.markstream-octane .ml-4{margin-left:16px}.markstream-octane .mt-2{margin-top:8px}.markstream-octane .block{display:block}.markstream-octane .inline-block{display:inline-block}.markstream-octane .inline{display:inline}.markstream-octane .flex{display:flex}.markstream-octane .inline-flex{display:inline-flex}.markstream-octane .table{display:table}.markstream-octane .grid{display:grid}.markstream-octane .contents{display:contents}.markstream-octane .list-item{display:list-item}.markstream-octane .hidden{display:none}.markstream-octane .h-3{height:12px}.markstream-octane .h-4{height:16px}.markstream-octane .h-full{height:100%}.markstream-octane .max-h-full{max-height:100%}.markstream-octane .min-h-\[360px\]{min-height:360px}.markstream-octane .min-h-\[40px\]{min-height:40px}.markstream-octane .min-h-full{min-height:100%}.markstream-octane .w-2\/3{width:66.6667%}.markstream-octane .w-3{width:12px}.markstream-octane .w-4{width:16px}.markstream-octane .w-4\/5{width:80%}.markstream-octane .w-full{width:100%}.markstream-octane .max-w-full{max-width:100%}.markstream-octane .flex-1{flex:1}.markstream-octane .flex-shrink-0{flex-shrink:0}.markstream-octane .border-collapse{border-collapse:collapse}.markstream-octane .transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.markstream-octane .cursor-grab{cursor:grab}.markstream-octane .cursor-grabbing{cursor:grabbing}.markstream-octane .cursor-not-allowed{cursor:not-allowed}.markstream-octane .cursor-pointer{cursor:pointer}.markstream-octane .list-decimal{list-style-type:decimal}.markstream-octane .list-disc{list-style-type:disc}.markstream-octane .items-center{align-items:center}.markstream-octane .items-baseline{align-items:baseline}.markstream-octane .justify-center{justify-content:center}.markstream-octane .justify-between{justify-content:space-between}.markstream-octane .gap-1\.5{gap:6px}.markstream-octane .gap-2{gap:8px}.markstream-octane .gap-x-1{-moz-column-gap:4px;column-gap:4px}.markstream-octane .gap-x-2{-moz-column-gap:8px;column-gap:8px}.markstream-octane :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(4px * var(--tw-space-x-reverse));margin-left:calc(4px * calc(1 - var(--tw-space-x-reverse)))}.markstream-octane :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(8px * var(--tw-space-x-reverse));margin-left:calc(8px * calc(1 - var(--tw-space-x-reverse)))}.markstream-octane .overflow-auto{overflow:auto}.markstream-octane .overflow-hidden{overflow:hidden}.markstream-octane .overflow-x-auto{overflow-x:auto}.markstream-octane .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.markstream-octane .whitespace-normal{white-space:normal}.markstream-octane .whitespace-nowrap{white-space:nowrap}.markstream-octane .whitespace-pre-wrap{white-space:pre-wrap}.markstream-octane .break-words{overflow-wrap:break-word}.markstream-octane .rounded{border-radius:calc(var(--ms-radius) * .5)}.markstream-octane .rounded-lg{border-radius:var(--ms-radius)}.markstream-octane .rounded-md{border-radius:calc(var(--ms-radius) * .75)}.markstream-octane .border{border-width:1px}.markstream-octane .border-b{border-bottom-width:1px}.markstream-octane .border-t{border-top-width:1px}.markstream-octane .border-\[var\(--footnote-border\,\#eaecef\)\]{border-color:var(--footnote-border,#eaecef)}.markstream-octane .border-\[var\(--table-border\,\#cbd5e1\)\]{border-color:var(--table-border,#cbd5e1)}.markstream-octane .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.markstream-octane .border-gray-400\/5{border-color:#9ca3af0d}.markstream-octane .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.markstream-octane .border-gray-700\/30{border-color:#3741514d}.markstream-octane .bg-\[hsl\(var\(--muted\)\)\]{background-color:hsl(var(--muted))}.markstream-octane .bg-\[hsl\(var\(--secondary\)\)\]{background-color:hsl(var(--secondary))}.markstream-octane .bg-black\/70{background-color:#000000b3}.markstream-octane .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.markstream-octane .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.markstream-octane .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.markstream-octane .p-0\.5{padding:2px}.markstream-octane .p-2{padding:8px}.markstream-octane .p-4{padding:16px}.markstream-octane .p-\[calc\(4\/7\*1em\)\]{padding:.571429em}.markstream-octane .px-1{padding-left:4px;padding-right:4px}.markstream-octane .px-1\.5{padding-left:6px;padding-right:6px}.markstream-octane .px-2{padding-left:8px;padding-right:8px}.markstream-octane .px-2\.5{padding-left:10px;padding-right:10px}.markstream-octane .px-3{padding-left:12px;padding-right:12px}.markstream-octane .px-4{padding-left:16px;padding-right:16px}.markstream-octane .py-0\.5{padding-top:2px;padding-bottom:2px}.markstream-octane .py-1{padding-top:4px;padding-bottom:4px}.markstream-octane .py-2{padding-top:8px;padding-bottom:8px}.markstream-octane .py-2\.5{padding-top:10px;padding-bottom:10px}.markstream-octane .py-4{padding-top:16px;padding-bottom:16px}.markstream-octane .pb-3{padding-bottom:12px}.markstream-octane .pl-1\.5{padding-left:6px}.markstream-octane .pl-\[calc\(13\/8\*1em\)\]{padding-left:1.625em}.markstream-octane .pt-2{padding-top:8px}.markstream-octane .text-left{text-align:left}.markstream-octane .text-center{text-align:center}.markstream-octane .text-right{text-align:right}.markstream-octane .font-mono{font-family:var(--ms-font-mono)}.markstream-octane .text-\[85\%\]{font-size:85%}.markstream-octane .text-base{font-size:16px;line-height:24px}.markstream-octane .text-sm{font-size:14px;line-height:20px}.markstream-octane .text-xs{font-size:12px;line-height:16px}.markstream-octane .font-medium{font-weight:500}.markstream-octane .font-semibold{font-weight:600}.markstream-octane .uppercase{text-transform:uppercase}.markstream-octane .italic{font-style:italic}.markstream-octane .leading-\[normal\]{line-height:normal}.markstream-octane .leading-relaxed{line-height:1.625}.markstream-octane .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.markstream-octane .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.markstream-octane .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.markstream-octane .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.markstream-octane .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.markstream-octane .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.markstream-octane .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.markstream-octane .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.markstream-octane .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.markstream-octane .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.markstream-octane .underline{text-decoration-line:underline}.markstream-octane .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.markstream-octane .opacity-50{opacity:.5}.markstream-octane .shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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-octane .shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--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-octane .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--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-octane .outline{outline-style:solid}.markstream-octane .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-octane .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-octane .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-octane .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-octane .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .transition-\[height\]{transition-property:height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .duration-100{transition-duration:.1s}.markstream-octane .duration-150{transition-duration:.15s}.markstream-octane .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.markstream-octane .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.markstream-octane{--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%;--ms-size-code-max-height:500px;--code-bg:#fff;--code-fg:#1a1a1a}.dark .markstream-octane,.markstream-octane.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%;--code-bg:#111827;--code-fg:#ededed}:where(.markstream-octane).markdown-renderer{contain:layout;content-visibility:auto;contain-intrinsic-size:800px 600px;position:relative}:where(.markstream-octane).markdown-renderer.virtualized{content-visibility:visible;contain-intrinsic-size:auto}:where(.markstream-octane) .node-slot,:where(.markstream-octane) .node-content{width:100%}:where(.markstream-octane) .node-placeholder{background:#94a3b82e;border-radius:8px;width:100%;min-height:16px;margin:4px 0;position:relative;overflow:hidden}:where(.markstream-octane) .node-placeholder:before{content:"";inset-block:0;background:linear-gradient(90deg,#94a3b82e,#94a3b80d,#94a3b82e) 0 0/40% 100%;width:500%;animation:1.1s ease-in-out infinite markstream-octane-node-placeholder-shimmer;position:absolute;left:-200%}:where(.markstream-octane) .node-placeholder:first-child{margin-top:0}:where(.markstream-octane) .node-spacer{width:100%}:where(.markstream-octane) .fade-node,:where(.markstream-octane) .typewriter-node{opacity:0;animation:markstream-octane-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-octane) .unknown-node{color:#6a737d;margin:16px 0;font-style:italic}:where(.markstream-octane) .text-node{font-weight:inherit;vertical-align:baseline;white-space:pre-wrap;word-break:break-word;display:inline}:where(.markstream-octane) .text-node.text-node-center{justify-content:center;width:100%;display:inline-flex}:where(.markstream-octane) .paragraph-node{margin:1.25em 0;line-height:1.625}:where(.markstream-octane) li .paragraph-node{margin:0}:where(.markstream-octane) .blockquote-node{border-left:4px solid var(--blockquote-border-color,#e2e8f0);quotes:"“" "”" "‘" "’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;font-style:italic;font-weight:500}:where(.markstream-octane) .blockquote-node .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px}:where(.markstream-octane) .heading-node{font-weight:600}:where(.markstream-octane) .heading-1{margin-top:0;margin-bottom:.888889em;font-size:36px;font-weight:800;line-height:1.11111}:where(.markstream-octane) .heading-2{margin-top:32px;margin-bottom:16px;font-size:24px;line-height:1.33333}:where(.markstream-octane) .heading-3{margin-top:1.6em;margin-bottom:.6em;font-size:20px;line-height:1.66667}:where(.markstream-octane) .heading-4,:where(.markstream-octane) .heading-5,:where(.markstream-octane) .heading-6{margin-top:24px;margin-bottom:8px;font-size:16px}:where(.markstream-octane) .heading-5,:where(.markstream-octane) .heading-6{margin-top:0;margin-bottom:0}:where(.markstream-octane) .link-node{color:var(--link-color,#0366d6);text-decoration:none}:where(.markstream-octane) .link-node:hover{text-underline-offset:3.2px;text-decoration:underline}:where(.markstream-octane) .link-loading{color:var(--link-color,#0366d6)}:where(.markstream-octane) .link-loading .link-text-wrapper{position:relative}:where(.markstream-octane) .link-loading .link-text{z-index:2;position:relative}:where(.markstream-octane) .link-loading-indicator{height:var(--underline-height,2px);left:0;right:0;bottom:var(--underline-bottom,-3px);opacity:var(--underline-rest-opacity,.18);animation:markstream-octane-link-loading-pulse var(--underline-duration,1.6s) var(--underline-timing,ease-in-out) var(--underline-iteration,infinite);background:currentColor;border-radius:999px;position:absolute}@keyframes markstream-octane-link-loading-pulse{0%,to{opacity:var(--underline-rest-opacity,.18)}50%{opacity:var(--underline-opacity,.35)}}@media (prefers-reduced-motion:reduce){:where(.markstream-octane) .link-loading-indicator{opacity:var(--underline-rest-opacity,.18);animation:none!important}:where(.markstream-octane) .fade-node,:where(.markstream-octane) .typewriter-node,:where(.markstream-octane) .typewriter-cursor{opacity:1;animation:none!important}:where(.markstream-octane) .node-placeholder:before,:where(.markstream-octane) .table-node--loading tbody td:after,:where(.markstream-octane) .html-block-node__placeholder-bar:before,:where(.markstream-octane) .skeleton-line:before{animation:none!important}}:where(.markstream-octane) .inline-code{background:#f3f4f6;border-radius:6px;padding:2px 6px;font-size:14px}:where(.markstream-octane) .image-node__img{vertical-align:middle;opacity:0;border-radius:12px;width:auto;max-width:none;height:auto;min-height:0;transition:opacity .2s;display:inline-block}:where(.markstream-octane) .image-node__img.is-loaded{opacity:1}:where(.markstream-octane) .image-node__placeholder,:where(.markstream-octane) .image-node__error{vertical-align:middle;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:auto;padding:24px;display:inline-flex}:where(.markstream-octane) .image-node__placeholder{color:#475569;background:linear-gradient(120deg,#94a3b833,#e2e8f059);box-shadow:inset 0 0 0 1px #94a3b833}:where(.markstream-octane) .image-node__error{color:#dc2626;background:#f8717114}:where(.markstream-octane) .image-node__spinner{border:2px solid;border-top-color:#0000;border-radius:999px;width:16px;height:16px;animation:1s linear infinite markstream-octane-spin}:where(.markstream-octane) .image-node__placeholder-text{color:currentColor;font-size:14px}@keyframes markstream-octane-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:where(.markstream-octane) .footnote-node{margin-top:var(--ms-flow-footnote-y,.5em);margin-bottom:var(--ms-flow-footnote-y,.5em);border-top:1px solid var(--footnote-border,hsl(var(--border)));padding-top:8px;font-size:14px;line-height:1.625;display:flex}:where(.markstream-octane) .footnote-reference{font-size:.75em;line-height:0}:where(.markstream-octane) .footnote-link{color:var(--link-color,#0366d6);text-decoration:none}:where(.markstream-octane) .footnote-link:hover{text-decoration:underline}:where(.markstream-octane) .footnote-anchor{color:var(--link-color,#0366d6);cursor:pointer;margin-left:8px;text-decoration:none}:where(.markstream-octane) .footnote-anchor:hover{text-decoration:underline}:where(.markstream-octane) .admonition-node{background:#f9fafbe6;border-left:4px solid #e5e7eb;border-radius:8px;margin:24px 0;padding:12px 16px}:where(.markstream-octane) .admonition-node__title{margin-bottom:8px;font-weight:600}:where(.markstream-octane) .table-node-wrapper{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-gutter:stable;max-width:100%;position:relative;overflow-x:auto}:where(.markstream-octane) .table-node{border-collapse:collapse;width:100%}:where(.markstream-octane) .table-node th,:where(.markstream-octane) .table-node td{white-space:normal;overflow-wrap:break-word;word-break:normal}:where(.markstream-octane) .table-node thead th{position:relative}:where(.markstream-octane) .table-node__resize-handle{z-index:1;cursor:col-resize;touch-action:none;background:0 0;border:0;width:8px;padding:0;position:absolute;top:0;bottom:0;right:-4px}:where(.markstream-octane) .table-node__resize-handle:after{content:"";opacity:0;background:#5e68798c;border-radius:9999px;width:2px;transition:opacity .12s;position:absolute;top:.35em;bottom:.35em;left:50%;transform:translate(-50%)}:where(.markstream-octane) .table-node__resize-handle:hover:after,:where(.markstream-octane) .table-node__resize-handle:focus-visible:after{opacity:1}:where(.markstream-octane) .table-node .text-node,:where(.markstream-octane) .table-node code{white-space:inherit;overflow-wrap:inherit;word-break:inherit;max-width:none}:where(.markstream-octane) .table-node--loading tbody td{border-radius:4px;position:relative;overflow:hidden}:where(.markstream-octane) .table-node--loading tbody td>*{visibility:hidden}:where(.markstream-octane) .table-node--loading tbody td:after{content:"";inset-block:0;background:linear-gradient(90deg,#94a3b829 25%,#94a3b847 50%,#94a3b829 75%) 0 0/66.6667% 100%;border-radius:4px;width:300%;animation:1.2s linear infinite markstream-octane-table-node-shimmer;position:absolute;left:0}:where(.markstream-octane) .table-node__loading{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}:where(.markstream-octane) .table-node__spinner{will-change:transform;border:2px solid #5e687940;border-top-color:#5e6879cc;border-radius:999px;width:40px;height:40px;animation:1s linear infinite markstream-octane-spin}:where(.markstream-octane) .table-node .markdown-renderer{content-visibility:visible;contain:content;contain-intrinsic-size:0px 0px;display:contents}:where(.markstream-octane) .table-node .markdown-renderer .node-slot,:where(.markstream-octane) .table-node .markdown-renderer .node-content,:where(.markstream-octane) .table-node .markdown-renderer .node-space{display:contents}:where(.markstream-octane).markdown-renderer .markdown-renderer{content-visibility:visible;contain-intrinsic-size:auto}@keyframes markstream-octane-table-node-shimmer{0%{transform:translate(0)}to{transform:translate(-66.6667%)}}:where(.markstream-octane) .hr+.table-node-wrapper,:where(.markstream-octane) .hr+.table-node-wrapper .table-node{margin-top:0}:where(.markstream-octane) .code-block-node{color:#fff;background:#0f172a;border-radius:12px;margin:20px 0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;overflow-x:auto}:where(.markstream-octane) .code-block{color:#e2e8f0;background:#0f172a;border-radius:12px;margin:20px 0;position:relative;overflow:hidden}:where(.markstream-octane) .code-block--expanded{max-height:none}:where(.markstream-octane) .code-block-header{background:#0f172ad9;border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;padding:10.4px 14.4px;display:flex}:where(.markstream-octane) .code-block-meta{align-items:center;gap:8px;display:flex}:where(.markstream-octane) .code-block-language{letter-spacing:.08em;text-transform:uppercase;color:#e2e8f0d9;font-size:13.2px}:where(.markstream-octane) .code-block-badge{color:#bfdbfe;background:#3b82f633;border-radius:9999px;padding:1.6px 6.4px;font-size:11.2px}:where(.markstream-octane) .code-block-actions{gap:5.6px;display:flex}:where(.markstream-octane) .code-block-btn{color:#f8fafc;cursor:pointer;background:#0f172a99;border:1px solid #94a3b866;border-radius:5.6px;padding:4px 10.4px;font-size:12px;transition:background .2s,color .2s,border-color .2s}:where(.markstream-octane) .code-block-btn:hover{background:#3b82f6cc;border-color:#3b82f699}:where(.markstream-octane) .code-block-body{position:relative}:where(.markstream-octane) .code-block-body--expanded{max-height:none}:where(.markstream-octane) .code-block-body--collapsed{height:0;min-height:0;overflow:hidden}:where(.markstream-octane) .code-block-overlay{backdrop-filter:blur(2px);background:#0f172a99;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}:where(.markstream-octane) .code-block-spinner{border:2px solid #ffffff4d;border-top-color:#ffffffe6;border-radius:9999px;width:32px;height:32px;animation:1s linear infinite markstream-octane-spin}:where(.markstream-octane) .code-block-footer{color:#e2e8f0cc;border-top:1px solid #94a3b833;padding:5.6px 14.4px 11.2px;font-size:12px}:where(.markstream-octane) .mermaid-block{color:#0f172a;background:#fff;border:1px solid #94a3b84d;border-radius:16px;margin:20px 0;overflow:hidden}.dark :where(.markstream-octane) .mermaid-block,:where(.markstream-octane).dark .mermaid-block{color:#e2e8f0;background:#0f172a;border-color:#94a3b866}:where(.markstream-octane).mermaid-modal-overlay{z-index:9999;background:#0009;flex-direction:column;display:flex;position:fixed;inset:0}:where(.markstream-octane) .mermaid-modal-panel{color:#0f172a;background:#fff;border-radius:12px;width:min(1024px,100% - 32px);margin:32px auto;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000038}:where(.markstream-octane) .mermaid-modal-panel.is-dark{color:#e2e8f0;background:#0f172a}:where(.markstream-octane) .mermaid-modal-header{border-bottom:1px solid #94a3b840;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}:where(.markstream-octane) .mermaid-modal-panel.is-dark .mermaid-modal-header{border-bottom-color:#94a3b840}:where(.markstream-octane) .mermaid-modal-title{font-size:14px;font-weight:600}:where(.markstream-octane) .mermaid-modal-close{cursor:pointer;opacity:.9;border-radius:6px;padding:4px 8px;font-size:14px}:where(.markstream-octane) .mermaid-modal-close:hover{opacity:1;background:#94a3b829}:where(.markstream-octane) .mermaid-modal-body{max-height:80vh;padding:16px;overflow:auto}:where(.markstream-octane) .mermaid-modal-content{justify-content:center;width:100%;height:100%;display:flex}:where(.markstream-octane) .fullscreen{width:100%;height:100%!important;max-height:100%!important}:where(.markstream-octane) .mermaid-header{background:#f8fafcd9;border-bottom:1px solid #94a3b84d;justify-content:space-between;align-items:center;padding:10.4px 14.4px;display:flex}.dark :where(.markstream-octane) .mermaid-header,:where(.markstream-octane).dark .mermaid-header{background:#0f172ad9;border-color:#47556999}:where(.markstream-octane) .mermaid-title__text{letter-spacing:.08em;text-transform:uppercase;color:inherit;font-size:13.6px}:where(.markstream-octane) .mermaid-actions{align-items:center;gap:5.6px;display:flex}:where(.markstream-octane) .mermaid-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #94a3b866;border-radius:5.6px;padding:3.2px 10.4px;font-size:12px;transition:background .2s,color .2s}:where(.markstream-octane) .mermaid-btn:hover{color:#1d4ed8;background:#3b82f626}.dark :where(.markstream-octane) .mermaid-btn:hover,:where(.markstream-octane).dark .mermaid-btn:hover{color:#bfdbfe;background:#3b82f64d}:where(.markstream-octane) .mermaid-toggle{border:1px solid #94a3b84d;border-radius:9999px;display:inline-flex;overflow:hidden}:where(.markstream-octane) .mermaid-toggle-btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:3.2px 10.4px;font-size:12px;transition:background .2s}:where(.markstream-octane) .mermaid-toggle-btn--active{color:#1d4ed8;background:#3b82f62e}.dark :where(.markstream-octane) .mermaid-toggle-btn--active,:where(.markstream-octane).dark .mermaid-toggle-btn--active{color:#bfdbfe;background:#3b82f64d}:where(.markstream-octane) .mermaid-body{padding:16px;position:relative}:where(.markstream-octane) .mermaid-preview{text-align:center;justify-content:center;align-items:center;width:100%;min-height:180px;display:flex}:where(.markstream-octane) .mermaid-pan-touch,:where(.markstream-octane) .infographic-pan-touch{touch-action:none}:where(.markstream-octane) .mermaid-preview svg{width:100%;height:auto}:where(.markstream-octane) .mermaid-source{color:#e2e8f0;background:#0f172af2;border-radius:8px;padding:16px;overflow-x:auto}:where(.markstream-octane) .mermaid-error{color:#b91c1c;background:#f8717126;border-top:1px solid #f8717140;padding:13.6px 16px}:where(.markstream-octane) .mermaid-loading{color:#0f172a99;align-items:center;gap:8px;padding:12px 16px 16px;font-size:13.6px;display:flex}.dark :where(.markstream-octane) .mermaid-loading,:where(.markstream-octane).dark .mermaid-loading{color:#e2e8f0b3}:where(.markstream-octane) .mermaid-spinner{border:2px solid #3b82f666;border-top-color:#3b82f6e6;border-radius:9999px;width:19.2px;height:19.2px;animation:.9s linear infinite markstream-octane-spin}:where(.markstream-octane) .math-block-node{margin:16px 0}:where(.markstream-octane) .math-inline-wrapper{display:inline-block;position:relative}:where(.markstream-octane) .math-inline{vertical-align:middle;display:inline-block}:where(.markstream-octane) .math-inline--hidden{visibility:hidden}:where(.markstream-octane) .math-inline__loading{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}:where(.markstream-octane) .math-inline__spinner{border:2px solid #5e687940;border-top-color:#5e6879cc;border-radius:9999px;width:16px;height:16px;animation:1s linear infinite markstream-octane-spin}:where(.markstream-octane) .math-block{text-align:center;min-height:40px;padding:8px;position:relative;overflow-x:auto}:where(.markstream-octane) .math-rendering{opacity:.3;transition:opacity .2s}:where(.markstream-octane) .thematic-break{border-top:1px solid #e2e8f0;margin:48px 0}:where(.markstream-octane) .hr-node{border-top:1px solid var(--hr-border-color,#e2e8f0);margin:48px 0}:where(.markstream-octane) .hard-break{display:block}:where(.markstream-octane) .checkbox-node{vertical-align:middle;margin-right:8px}:where(.markstream-octane) .checkbox-input{cursor:default;margin:0}:where(.markstream-octane) .html-inline-node{display:inline}:where(.markstream-octane) .html-inline-node--loading{opacity:.85}:where(.markstream-octane) .html-block-node__placeholder{flex-direction:column;gap:5.6px;padding:8px 0;display:flex}:where(.markstream-octane) .html-block-node__placeholder-bar{background:#94a3b859;border-radius:9999px;height:12.8px;display:block;position:relative;overflow:hidden}:where(.markstream-octane) .html-block-node__placeholder-bar:before{content:"";inset-block:0;background:linear-gradient(90deg,#94a3b859,#94a3b81a,#94a3b859) 0 0/66.6667% 100%;width:300%;animation:1.2s infinite markstream-octane-html-block-node-shimmer;position:absolute;left:0}@keyframes markstream-octane-html-block-node-shimmer{0%{transform:translate(0)}to{transform:translate(-66.6667%)}}:where(.markstream-octane) .vmr-container{border:1px solid #94a3b859;border-left-width:4px;border-radius:8px;margin:16px 0;padding:16px}:where(.markstream-octane) .admonition{--admonition-bg:#f8f8f8;--admonition-border:#eaecef;--admonition-header-bg:#00000008;--admonition-text:#111827;--admonition-muted:#374151;--admonition-note-color:#448aff;--admonition-tip-color:#00bfa5;--admonition-warning-color:#ff9100;--admonition-danger-color:#ff5252;border-left:4px solid var(--admonition-border);background-color:var(--admonition-bg);color:var(--admonition-text);border-radius:4px;margin:16px 0;padding:0;overflow:hidden}:where(.markstream-octane) .admonition-header{background-color:var(--admonition-header-bg);color:var(--admonition-muted);align-items:center;padding:8px 16px;font-weight:600;display:flex}:where(.markstream-octane) .admonition-icon{color:inherit;margin-right:8px}:where(.markstream-octane) .admonition-content{color:var(--admonition-text);padding:8px 16px 16px}:where(.markstream-octane) .admonition-note{border-left-color:var(--admonition-note-color)}:where(.markstream-octane) .admonition-note .admonition-header{color:var(--admonition-note-color);background-color:#448aff0f}:where(.markstream-octane) .admonition-info{border-left-color:var(--admonition-note-color)}:where(.markstream-octane) .admonition-info .admonition-header{color:var(--admonition-note-color);background-color:#448aff0f}:where(.markstream-octane) .admonition-tip{border-left-color:var(--admonition-tip-color)}:where(.markstream-octane) .admonition-tip .admonition-header{color:var(--admonition-tip-color);background-color:#00bfa50f}:where(.markstream-octane) .admonition-warning{border-left-color:var(--admonition-warning-color)}:where(.markstream-octane) .admonition-warning .admonition-header{color:var(--admonition-warning-color);background-color:#ff91000f}:where(.markstream-octane) .admonition-danger{border-left-color:var(--admonition-danger-color)}:where(.markstream-octane) .admonition-danger .admonition-header{color:var(--admonition-danger-color);background-color:#ff52520f}:where(.markstream-octane) .admonition-error{border-left-color:var(--admonition-danger-color)}:where(.markstream-octane) .admonition-error .admonition-header{color:var(--admonition-danger-color);background-color:#ff52520f}:where(.markstream-octane) .admonition-caution{border-left-color:var(--admonition-warning-color)}:where(.markstream-octane) .admonition-caution .admonition-header{color:var(--admonition-warning-color);background-color:#ff91000f}:where(.markstream-octane) .admonition-toggle{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:4px 8px;font-size:14.4px}:where(.markstream-octane) .admonition-toggle:focus{outline-offset:2px;outline:2px solid #00000014}:where(.markstream-octane) .admonition.is-dark{--admonition-bg:#0b1220;--admonition-border:#ffffff0f;--admonition-header-bg:#ffffff08;--admonition-text:#e6eef8;--admonition-muted:#cbd5e1}:where(.markstream-octane) .code-block-container{contain:content;content-visibility:visible;contain-intrinsic-size:auto;--markstream-code-fallback-bg:var(--code-bg);--markstream-code-fallback-fg:var(--code-fg);--markstream-code-border-color:#e5e7eb;--markstream-code-fallback-selection-bg:#0000000f;--vscode-editor-selectionBackground:var(--markstream-code-fallback-selection-bg);--markstream-diff-frame-border:#cbd5e18f;--markstream-diff-frame-shadow:0 16px 40px -32px #0f172a2e;--markstream-diff-shell-fg:#0f172a;--markstream-diff-shell-muted:#64748b;--markstream-diff-shell-border:#94a3b82e;--markstream-diff-shell-shadow:0 30px 70px -48px #0f172a6b;--markstream-diff-shell-bg:radial-gradient(circle at top center, #ffffffe6, transparent 55%), linear-gradient(180deg, #fffdfa 0%, #fbfcfe 100%);--markstream-diff-header-border:#e2e8f0eb;--markstream-diff-stage-bg:radial-gradient(circle at top center, #fffffff2, transparent 60%), linear-gradient(180deg, #fcfdff 0%, #f6f8fb 100%);--markstream-diff-editor-bg:#fff;--markstream-diff-editor-fg:#435266;--markstream-diff-unchanged-fg:#555;--markstream-diff-unchanged-bg:#f3f3f3;--markstream-diff-unchanged-divider:#fffffff0;--markstream-diff-focus:#0ea5e96b;--markstream-diff-widget-shadow:#0f172a42;--markstream-diff-action-hover:#0f172a0f;--markstream-diff-panel-bg:linear-gradient(180deg, #fff 0%, #fbfcfe 100%);--markstream-diff-panel-bg-soft:#fff;--markstream-diff-panel-bg-strong:#fff;--markstream-diff-panel-border:#e2e8f04d;--markstream-diff-pane-divider:#e2e8f06b;--markstream-diff-gutter-bg:transparent;--markstream-diff-gutter-guide:transparent;--markstream-diff-gutter-gap:16px;--markstream-diff-line-number:#525252e0;--markstream-diff-line-number-active:#525252e0;--markstream-diff-added-fg:#14b8a6;--markstream-diff-removed-fg:#ff3658;--markstream-diff-added-line:#e8f9f5fa;--markstream-diff-removed-line:#fff1f1fa;--markstream-diff-added-inline:#c5f5dbf5;--markstream-diff-removed-inline:#ffd7d9eb;--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(--markstream-gutter-marker-width,4px), #14b8a614 var(--markstream-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(--markstream-gutter-marker-width,4px) 100% no-repeat, linear-gradient(90deg, #ff365814 0 100%);--markstream-diff-added-line-fill:#e7f8f4f5;--markstream-diff-removed-line-fill:#fff1f1fa;container-type:inline-size}@supports (color:lab(0% 0 0)){:where(.markstream-octane) .code-block-container{--markstream-diff-unchanged-fg:lab(36.247% .0071872 -.000424832);--markstream-diff-unchanged-bg:lab(95.9989% .0180531 -.0010643)}}:where(.markstream-octane) .code-block-container.is-dark{--markstream-code-fallback-bg:var(--code-bg);--markstream-code-fallback-fg:var(--code-fg);--markstream-code-border-color:#3741514d;--markstream-code-fallback-selection-bg:#ffffff14;--markstream-diff-frame-border:#52525b8f;--markstream-diff-frame-shadow:0 18px 40px -30px #000000d6;--markstream-diff-shell-fg:#e2e8f0;--markstream-diff-shell-muted:#94a3b8;--markstream-diff-shell-border:#52525b8f;--markstream-diff-shell-shadow:0 34px 80px -52px #000000b8;--markstream-diff-shell-bg:#0a0a0bfc;--markstream-diff-header-border:#3f3f46d1;--markstream-diff-stage-bg:#0a0a0bfc;--markstream-diff-editor-bg:#0c0c0efc;--markstream-diff-editor-fg:#b6c2d3;--markstream-diff-unchanged-fg:#cbd5e1;--markstream-diff-unchanged-bg:#18181beb;--markstream-diff-unchanged-divider:#ffffff2e;--markstream-diff-focus:#60a5fa6b;--markstream-diff-widget-shadow:#000000b8;--markstream-diff-action-hover:#ffffff14;--markstream-diff-panel-bg:#0a0a0bfc;--markstream-diff-panel-bg-soft:#0a0a0bfc;--markstream-diff-panel-bg-strong:#0a0a0bfc;--markstream-diff-panel-border:#52525b4d;--markstream-diff-pane-divider:#52525b57;--markstream-diff-gutter-bg:linear-gradient(180deg, #0d0d0ff0 0%, #09090afa 100%);--markstream-diff-gutter-guide:#a1a1aa14;--markstream-diff-gutter-gap:16px;--markstream-diff-line-number:#a1a1aaad;--markstream-diff-line-number-active:#e4e4e7d1;--markstream-diff-added-fg:#5eead4;--markstream-diff-removed-fg:#fda4af;--markstream-diff-added-line:#0d94882e;--markstream-diff-removed-line:#e11d482e;--markstream-diff-added-inline:#2dd4bf3d;--markstream-diff-removed-inline:#fb71853d;--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(--markstream-gutter-marker-width,4px), #5eead433 var(--markstream-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(--markstream-gutter-marker-width,4px) 100% no-repeat, linear-gradient(90deg, #fda4af2e 0 100%);--markstream-diff-added-line-fill:linear-gradient(90deg, #0f766e61 0%, #0d948847 100%);--markstream-diff-removed-line-fill:linear-gradient(90deg, #9f123961 0%, #e11d4847 100%)}:where(.markstream-octane) .code-editor-container{transition:height .18s,max-height .18s}:where(.markstream-octane) .code-action-btn{cursor:pointer;opacity:.7;transition:opacity .2s}:where(.markstream-octane) .code-action-btn:hover{opacity:1}:where(.markstream-octane) .code-action-btn:disabled{opacity:.5;cursor:not-allowed}:where(.markstream-octane) .code-action-btn:disabled:hover{background-color:#0000}:where(.markstream-octane) .icon-slot{justify-content:center;align-items:center;display:inline-flex}:where(.markstream-octane) .icon-slot svg,:where(.markstream-octane) .icon-slot img{width:100%;height:100%;display:block}:where(.markstream-octane) .code-editor-layer{min-width:0;display:grid}:where(.markstream-octane) .code-editor-layer>.code-editor-container,:where(.markstream-octane) .code-editor-layer>.code-editor-fallback-surface{grid-area:1/1}:where(.markstream-octane) .code-editor-fallback-surface{padding:0;overflow:auto}:where(.markstream-octane) .code-block-container.is-diff .code-editor-fallback-surface{background:var(--markstream-diff-editor-bg);padding:0}:where(.markstream-octane) .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-octane) .code-block-container.is-diff .code-block-header{color:var(--markstream-diff-shell-fg);border-bottom-color:var(--markstream-diff-header-border);background:0 0}:where(.markstream-octane) .code-block-container.is-diff .code-editor-layer{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);padding:4px 4px 8px}:where(.markstream-octane) .code-block-content{max-height:min(70vh,500px);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);transition:max-height .3s;display:grid;overflow:auto}:where(.markstream-octane) .code-block-render,:where(.markstream-octane) .code-fallback-plain{grid-area:1/1;min-width:0}:where(.markstream-octane) .code-block-render{min-height:1px}:where(.markstream-octane) .code-block-render pre,:where(.markstream-octane) .code-block-content .shiki{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}:where(.markstream-octane) .code-block-content .shiki-fallback{background:inherit;color:inherit;white-space:pre;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:16px}:where(.markstream-octane) .code-fallback-plain{z-index:1;white-space:pre;background:var(--markstream-code-fallback-bg,var(--code-bg,#fff));color:var(--markstream-code-fallback-fg,var(--code-fg,#1a1a1a));font-size:inherit;line-height:inherit;font-family:inherit;font-weight:var(--vscode-editor-font-weight,400);position:relative;overflow:auto}:where(.markstream-octane) .code-fallback-plain>code{font-size:inherit;line-height:inherit;font-family:inherit;font-weight:inherit}:where(.markstream-octane) pre.markstream-pre--line-numbers:not(.markstream-pre--diff-preview){position:relative}:where(.markstream-octane) pre.markstream-pre--line-numbers:not(.markstream-pre--diff-preview)>.markstream-pre__line-numbers{top:var(--markstream-pre-line-number-top,0);left:var(--markstream-pre-line-number-left,0);box-sizing:content-box;width:var(--markstream-pre-line-number-width,4ch);padding-left:var(--markstream-pre-line-number-padding-left,2ch);padding-right:var(--markstream-pre-line-number-padding-right,1ch);border-right:var(--markstream-pre-line-number-separator-width,2px) solid transparent;color:var(--vscode-editorLineNumber-foreground,#94a3b8);font:inherit;line-height:inherit;pointer-events:none;user-select:none;display:flex;position:absolute}:where(.markstream-octane) pre.markstream-pre--line-numbers:not(.markstream-pre--diff-preview)>.markstream-pre__line-numbers>.markstream-pre__line-numbers-text{text-align:right;white-space:pre;width:100%;min-height:1lh;display:block}:where(.markstream-octane) pre.markstream-pre--line-numbers:not(.markstream-pre--diff-preview)>.markstream-pre__code{box-sizing:border-box;min-width:100%;padding-left:var(--markstream-code-padding-left,52px);padding-right:var(--markstream-code-padding-x,12px);display:block}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview{box-sizing:border-box;width:100%;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(--markstream-gutter-marker-width,4px);--markstream-pre-diff-gutter-gap:var(--markstream-gutter-gap,8px);--markstream-pre-diff-code-gap:var(--markstream-diff-code-gap,7.8px);--markstream-pre-diff-code-padding:var(--markstream-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,#2f8f681f);--markstream-diff-removed-line-fill:var(--diff-removed-bg,#c241411f);--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(--markstream-line-number-width,39px);--markstream-pre-diff-line-number-padding-left:var(--markstream-line-number-padding-left,15.6px);--markstream-pre-diff-line-number-padding-right:var(--markstream-line-number-padding-right,7.8px);--markstream-pre-diff-line-number-gap-to-code:var(--markstream-original-line-number-gap-to-code,var(--markstream-line-number-gap-to-code,var(--markstream-pre-diff-code-gap)));--markstream-pre-diff-line-number-left:var(--markstream-line-number-left,var(--markstream-pre-diff-gutter-marker-width));--markstream-pre-diff-line-number-border:var(--markstream-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));padding-left:0;padding-right:0}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline{--markstream-pre-diff-line-number-gap-to-code:var(--markstream-modified-line-number-gap-to-code,var(--markstream-line-number-gap-to-code,var(--markstream-pre-diff-code-gap)));--markstream-pre-diff-line-number-left:var(--markstream-line-number-left,var(--markstream-pre-diff-gutter-marker-width))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview>.markstream-pre__diff-code{width:100%;min-width:100%;font:inherit;line-height:inherit;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}:where(.markstream-octane) .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:max-content}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-pane{min-width:0;overflow:hidden}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview:not(.markstream-pre--diff-inline) .markstream-pre__diff-pane{overflow:auto hidden}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-pane{min-width:max-content;overflow:visible}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-pane--modified{--markstream-pre-diff-line-number-gap-to-code:var(--markstream-modified-line-number-gap-to-code,var(--markstream-line-number-gap-to-code,var(--markstream-pre-diff-code-gap)));--markstream-pre-diff-line-number-left:var(--markstream-line-number-left,var(--markstream-pre-diff-gutter-marker-width));box-shadow:inset 1px 0 var(--markstream-diff-pane-divider,#94a3b82e)}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview.markstream-pre--diff-inline .markstream-pre__diff-pane--modified{box-shadow:none}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line{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);display:block;position:relative}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line:before{content:"";left:var(--markstream-pre-diff-code-fill-left);height:var(--markstream-pre-diff-line-height,18px);z-index:0;pointer-events:none;background:0 0;border-radius:0;position:absolute;top:0;right:0}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-rail{z-index:2;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);position:absolute;top:0;left:0}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-number{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(--markstream-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);user-select:none;position:absolute}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added>.markstream-pre__diff-number{background:var(--markstream-added-line-fill,var(--markstream-diff-added-line-fill,transparent));color:var(--markstream-added-fg,var(--markstream-diff-added-fg,var(--markstream-diff-line-number,#6b7280)))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed>.markstream-pre__diff-number{background:var(--markstream-removed-line-fill,var(--markstream-diff-removed-line-fill,transparent));color:var(--markstream-removed-fg,var(--markstream-diff-removed-fg,var(--markstream-diff-line-number,#6b7280)))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-content{z-index:1;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;display:block;position:relative}:where(.markstream-octane) .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-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--hunk{color:var(--markstream-unchanged-fg,var(--markstream-diff-unchanged-fg,var(--markstream-diff-line-number,currentColor)))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--hunk:before{background:var(--markstream-unchanged-bg,var(--markstream-diff-unchanged-bg,transparent))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added:before{background:var(--markstream-added-line-fill,var(--markstream-diff-added-line-fill,transparent))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed:before{background:var(--markstream-removed-line-fill,var(--markstream-diff-removed-line-fill,transparent))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--added>.markstream-pre__diff-rail{background:var(--markstream-added-gutter,var(--markstream-diff-added-gutter,currentColor))}:where(.markstream-octane) .code-fallback-plain.markstream-pre--diff-preview .markstream-pre__diff-line--removed>.markstream-pre__diff-rail{background:var(--markstream-removed-gutter,var(--markstream-diff-removed-gutter,currentColor))}:where(.markstream-octane) .code-loading-placeholder{min-height:120px;padding:16px}:where(.markstream-octane) .loading-skeleton{flex-direction:column;gap:12px;display:flex}:where(.markstream-octane) .skeleton-line{background:#0000000f;border-radius:4px;height:16px;position:relative;overflow:hidden}:where(.markstream-octane) .skeleton-line:before{content:"";inset-block:0;background:linear-gradient(90deg,#0000000f 25%,#0000001f 37%,#0000000f 63%);width:400%;animation:1.2s ease-in-out infinite markstream-octane-code-skeleton-shimmer;position:absolute;left:-300%}:where(.markstream-octane) .code-block-container.is-dark .skeleton-line{background:#ffffff0f}:where(.markstream-octane) .code-block-container.is-dark .skeleton-line:before{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f 37%,#ffffff0f 63%)}:where(.markstream-octane) .skeleton-line.short{width:60%}@keyframes markstream-octane-code-skeleton-shimmer{0%{transform:translate(0)}to{transform:translate(75%)}}.markstream-octane pre[class^=language-],.markstream-octane pre[class*=\ language-]{white-space:pre;tab-size:2;font-variant-ligatures:none;contain:content;backface-visibility:hidden;-webkit-font-smoothing:antialiased;overflow:auto;transform:translateZ(0)}.markstream-octane pre[data-markstream-pre="1"]:not(.code-fallback-plain):not(.markstream-pre--diff-preview){box-sizing:border-box;background:var(--code-bg,#fff);width:100%;color:var(--code-fg);box-shadow:none;border:0;border-radius:0;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:16px;font-weight:400;line-height:28px;overflow:auto}.markstream-octane pre[data-markstream-pre="1"]:not(.code-fallback-plain):not(.markstream-pre--diff-preview)>code{color:inherit;font:inherit;background:0 0}.markstream-octane pre[class^=language-]>code,.markstream-octane pre[class*=\ language-]>code{display:block}.markstream-octane pre[class^=language-]:focus,.markstream-octane pre[class*=\ language-]:focus{outline:2px solid var(--vmdr-focus,#3b82f6);outline-offset:2px}:where(.markstream-octane).html-preview-frame__backdrop{z-index:50;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}:where(.markstream-octane).html-preview-frame__backdrop--dark{background-color:#0f172acc}:where(.markstream-octane) .html-preview-frame{background-color:#fff;border-radius:8px;flex-direction:column;width:80vw;max-width:960px;height:70vh;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000040}:where(.markstream-octane) .html-preview-frame--dark{color:#e5e7eb;background-color:#020617;box-shadow:0 10px 40px #0009}:where(.markstream-octane) .html-preview-frame__header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:6.4px 12px;display:flex}:where(.markstream-octane) .html-preview-frame--dark .html-preview-frame__header{border-bottom-color:#94a3b859}:where(.markstream-octane) .html-preview-frame__title{letter-spacing:.02em;text-transform:uppercase;opacity:.85;align-items:center;gap:6.4px;font-size:12px;font-weight:500;display:inline-flex}:where(.markstream-octane) .html-preview-frame__dot{background-color:#22c55e;border-radius:999px;width:8px;height:8px}:where(.markstream-octane) .html-preview-frame--dark .html-preview-frame__dot{background-color:#4ade80}:where(.markstream-octane) .html-preview-frame__label{white-space:nowrap}:where(.markstream-octane) .html-preview-frame__close{cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}:where(.markstream-octane) .html-preview-frame__close--dark{color:#e5e7eb}:where(.markstream-octane) .html-preview-frame__iframe{border:none;width:100%;height:100%;display:block}@media (max-width:640px){:where(.markstream-octane) .html-preview-frame{border-radius:0;width:100vw;height:80vh}}:where(.markstream-octane).ms-tooltip{pointer-events:none;z-index:9999;opacity:0;border-style:solid;border-width:1px;border-radius:6px;padding:6.4px 10.4px;font-size:14px;transition:opacity .12s linear,transform .22s cubic-bezier(.16,1,.3,1);position:fixed;box-shadow:0 10px 15px #00000014}:where(.markstream-octane).ms-tooltip[data-visible=true]{opacity:1}:where(.markstream-octane).ms-tooltip[data-dark=true]{color:#f9fafb;background-color:#111827;border-color:#374151}:where(.markstream-octane).ms-tooltip[data-dark=false],:where(.markstream-octane).ms-tooltip:not([data-dark=true]){color:#111827;background-color:#fff;border-color:#e5e7eb}@keyframes markstream-octane-node-placeholder-shimmer{0%{transform:translate(0)}to{transform:translate(80%)}}@keyframes markstream-octane-node-enter-fade{0%{opacity:0}to{opacity:1}}@keyframes markstream-octane-typewriter-fade{0%{opacity:0}to{opacity:1}}:where(.markstream-octane) .typewriter-cursor{vertical-align:-.12em;pointer-events:none;border-right:2px solid;width:.55em;height:1em;margin-left:.08em;animation:1s step-end infinite markstream-octane-typewriter-cursor-blink;display:inline-block;position:absolute;top:0;left:0}@keyframes markstream-octane-typewriter-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.markstream-octane .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(.markstream-octane) .d2-block-body{position:relative}:where(.markstream-octane) .d2-source{font-family:var(--vscode-editor-font-family,"Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)}:where(.markstream-octane) .d2-code{white-space:pre;font-size:14px;line-height:1.5}:where(.markstream-octane) .d2-render{max-height:var(--ms-size-code-max-height);flex-direction:column;display:flex;overflow:auto}:where(.markstream-octane) .d2-svg{width:100%;margin:auto}:where(.markstream-octane) .d2-render .d2-error{margin-left:auto;margin-right:auto}:where(.markstream-octane) .d2-svg svg.markstream-d2-root-svg{width:100%;max-width:100%;height:auto;max-height:var(--ms-d2-render-max-height,var(--ms-size-code-max-height));display:block}:where(.markstream-octane) .mode-btn{opacity:.7;transition:opacity .2s}:where(.markstream-octane) .mode-btn.is-active{opacity:1;font-weight:600}:where(.markstream-octane) .d2-action-btn{opacity:.7;transition:opacity .2s}:where(.markstream-octane) .d2-action-btn:hover{opacity:1}:where(.markstream-octane) .d2-action-btn:disabled{opacity:.3;cursor:not-allowed}:where(.markstream-octane) .d2-error{color:#dc2626}body>div[id^=dmermaid-]{visibility:hidden;pointer-events:none;width:100%;position:fixed;top:-10000px;left:0}:where(.markstream-octane) .text-node-stream-delta{animation:markstream-octane-word-fade var(--stream-update-fade-duration,var(--fade-duration,.7s)) var(--stream-update-fade-ease,var(--fade-ease,cubic-bezier(.37, .55, .86, .88))) both}:where(.markstream-octane) .text-node-stream-final{opacity:1;animation:none!important}@keyframes markstream-octane-word-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){:where(.markstream-octane) .text-node-stream-delta{animation-duration:0s!important}}:where(.markstream-octane)[data-stream-final] .fade-node,:where(.markstream-octane)[data-stream-final] .fade-enter-active,:where(.markstream-octane)[data-stream-final] .typewriter-enter-active{opacity:1;transition:none!important;animation:none!important}.markstream-octane .hover\:bg-\[hsl\(var\(--secondary\)\)\]:hover{background-color:hsl(var(--secondary))}.markstream-octane .hover\:bg-\[var\(--vscode-editor-selectionBackground\)\]:hover{background-color:var(--vscode-editor-selectionBackground)}.markstream-octane .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.markstream-octane .hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.markstream-octane .hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.markstream-octane .hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.markstream-octane .hover\:underline:hover{text-decoration-line:underline}@media not all and (min-width:1024px){.markstream-octane .max-lg\:my-\[calc\(4\/3\*1em\)\]{margin-top:1.33333em;margin-bottom:1.33333em}.markstream-octane .max-lg\:pl-\[calc\(14\/9\*1em\)\]{padding-left:1.55556em}}
2
2
  /*$vite$:1*/
@@ -116,19 +116,8 @@
116
116
  width: 100%;
117
117
  }
118
118
 
119
- :where(.markstream-octane) .text-node-stream-delta {
120
- animation-duration: var(--stream-update-fade-duration, var(--fade-duration, var(--typewriter-fade-duration, 280ms)));
121
- animation-timing-function: var(--stream-update-fade-ease, var(--fade-ease, var(--typewriter-fade-ease, cubic-bezier(0.33, 0, 0.67, 1))));
122
- animation-fill-mode: both;
123
- }
124
119
 
125
- :where(.markstream-octane) .text-node-stream-delta--a {
126
- animation-name: markstream-octane-text-node-stream-update-fade-a;
127
- }
128
120
 
129
- :where(.markstream-octane) .text-node-stream-delta--b {
130
- animation-name: markstream-octane-text-node-stream-update-fade-b;
131
- }
132
121
 
133
122
  :where(.markstream-octane) .paragraph-node {
134
123
  margin: 1.25em 0;
@@ -236,15 +225,7 @@
236
225
  50% { opacity: var(--underline-opacity, 0.35); }
237
226
  }
238
227
 
239
- @keyframes markstream-octane-text-node-stream-update-fade-a {
240
- from { opacity: 0; }
241
- to { opacity: 1; }
242
- }
243
228
 
244
- @keyframes markstream-octane-text-node-stream-update-fade-b {
245
- from { opacity: 0; }
246
- to { opacity: 1; }
247
- }
248
229
 
249
230
  @media (prefers-reduced-motion: reduce) {
250
231
  :where(.markstream-octane) .link-loading-indicator {
@@ -252,9 +233,6 @@
252
233
  opacity: var(--underline-rest-opacity, 0.18);
253
234
  }
254
235
 
255
- :where(.markstream-octane) .text-node-stream-delta {
256
- animation: none !important;
257
- }
258
236
 
259
237
  :where(.markstream-octane) .fade-node,
260
238
  :where(.markstream-octane) .typewriter-node {
@@ -1994,4 +1972,28 @@ body > div[id^="dmermaid-"] {
1994
1972
  visibility: hidden;
1995
1973
  pointer-events: none;
1996
1974
  }
1975
+
1976
+ /* Streaming words share timing and identity across framework adapters. */
1977
+ :where(.markstream-octane) .text-node-stream-delta {
1978
+ animation: markstream-octane-word-fade var(--stream-update-fade-duration, var(--fade-duration, 700ms)) var(--stream-update-fade-ease, var(--fade-ease, cubic-bezier(0.37, 0.55, 0.86, 0.88))) both;
1979
+ }
1980
+ :where(.markstream-octane) .text-node-stream-final {
1981
+ animation: none !important;
1982
+ opacity: 1;
1983
+ }
1984
+ @keyframes markstream-octane-word-fade {
1985
+ from { opacity: 0; }
1986
+ to { opacity: 1; }
1987
+ }
1988
+ @media (prefers-reduced-motion: reduce) {
1989
+ :where(.markstream-octane) .text-node-stream-delta { animation-duration: 0s !important; }
1990
+ }
1991
+
1992
+ :where(.markstream-octane)[data-stream-final] .fade-node,
1993
+ :where(.markstream-octane)[data-stream-final] .fade-enter-active,
1994
+ :where(.markstream-octane)[data-stream-final] .typewriter-enter-active {
1995
+ animation: none !important;
1996
+ transition: none !important;
1997
+ opacity: 1;
1998
+ }
1997
1999
  /*$vite$:1*/
package/dist/tailwind.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const safeList = `octane click class=\"footnote-reference\"><span>\n $$click footnote-link cursor-pointer className ref id typeof smooth class=\"admonition-header\"><!><span data-index-key note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby error [mermaidWorkerClient] messageerror cleared worker instance inject via busy call timed out canParse findPrefix class=\"checkbox-node\"><input class=\"list-item pl-1.5 value list-item [markstream-octane] htmlPreviewSandbox contains both allow-scripts and this only fully trusted content served an isolated string en utf-8 viewport content="width=device-width initial-scale=1 event.key html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank clsx 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 dependency is not install it to enable name markstream-d2-root-svg number window.requestAnimationFrame d2InstanceRef.current instance.render throw new missing object 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 flex justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 text-sm font-medium font-mono gap-x-1 rounded-md mode-btn px-2 py-1 text-xs !showSource showSource d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] aria-label aria-hidden w-3 h-3 none currentColor round aria-pressed m9 d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition mb-4 dt definition-term font-semibold dd definition-desc ml-4 markstream-core class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr p-[calc(4/7*1em)] table-node__resize-handle rowIdx bodyRows.length auto aria-busy text-left pointermove pointerup pointercancel my-8 isLoading table-node__loading status aria-live polite table-node__spinner sr-only animationend $$animationend text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b text-node whitespace-pre-wrap node.center in zoom failed load class=\"hr-node ?? boolean dark window.matchMedia fixed markstream-octane 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 is-dark tooltip stream-markdown-parser cannot delete global clearGlobalCustomComponents was provided streamingComponents entry will be used parser-backed mermaid loose strict hidden viewBox gantt open-modal keydown fullscreen [data-mermaid-wrapper] mermaid-action-btn rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 toggle-mode preview touch relative absolute top-2 right-2 z-10 gap-2 backdrop-blur common.zoomIn common.zoomOut −\n common.resetZoom min-h-[360px] block transition-[height] duration-150 data-mermaid-wrapper inset-0 w-full text-center justify-center min-h-full mermaid-loading mermaid-spinner diagram… mermaid-block-header bg-gray-800 bg-gray-50 space-x-2 icon-slot h-4 w-4 flex-shrink-0 space-x-1 px-2.5 bg-gray-600 text-gray-200 text-gray-700 text-gray-500 common.preview source common.source m16 opacity-50 common.export m7 m14 p-4 text-gray-300 mermaid-error data-markstream-mermaid hasRenderedOnce mermaid-modal-overlay dialog aria-modal mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content available abort node.type safe next.maxHeight infographic language code_block html_inline text paragraph text_special heading list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak image inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close heading-node javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin plaintext zsh objective-c objective-cpp diff java php sql token.type child ms-html self_closing tag_open tag_close parse escape html-inline dynamic template html-inline-node html-inline-node--loading inline [katexWorkerClient] init cache-hit timeout waiting slot class=\"inline-code text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words html-block-node html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 primary fallback async placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error class=\"unknown-node italic\">\n node type:\n class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n href class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div paragraph-node child.type renderNode ctx library rendered text-red-500 transform ease center data-markstream-infographic data-markstream-mode hasPreview cursor-not-allowed infographic-preview transition-all duration-100 overflow-auto isDragging z-50 bg-black/70 dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging mouseenter mouseleave class=\"reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown thinking class=\"math-block overflow-x-auto math-rendering module did expected $$ math-inline__loading math-inline__spinner globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph markstream-octane-d2 document °C role aria-describedby viteEnv.MODE development process class children key data-language data-markstream-line-numbers !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code indexKey prototype constructor normalizedType target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer katex class=\"code-editor-layer\"><div></div><div code-height-placeholder code-fallback-plain m-0 style.visibility theme themes themeType languages stream disableFileHeader onThemeChange renderCustomHeader renderHeaderMetadata renderHeaderPrefix wrap split line-info 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 transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type resolvedOptions.padding vitesse-dark vitesse-light monospace unified fontSize lineHeight maxHeight paddingBottom paddingTop tabSize resolvedOptions.overflow fontFamily nextOptions.unsafeCSS [data-file] [data-diff] canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-block-container code-block-header flex-1 truncate code-action-btn evenodd code-loading-placeholder loading-skeleton skeleton-line short next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [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-octane][perf] markdown-renderer value?.useMonaco stream-diffs/markstream stream-diffs runtime cite`;
1
+ const safeList = `octane class=\"admonition-header\"><!><span data-index-key id typeof note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby click class=\"footnote-reference\"><span>\n $$click footnote-link cursor-pointer className ref smooth clsx auto heading-node font-semibold object html-block-node stream-markdown-parser safe escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 token.type block child string name value ms-html text self_closing tag_open tag_close to parse html-inline dynamic template html-inline-node html-inline-node--loading inline primary fallback failed image async ?? placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error aria-hidden currentColor load markstream-core none w-4 h-4 flex-shrink-0 library error in rendered render returned empty text-red-500 p-4 hidden keydown transform ease center flex fullscreen touch p-2 text-xs rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 data-markstream-infographic data-markstream-mode source hasPreview my-4 rounded-lg border overflow-hidden justify-between items-center px-4 py-2.5 border-b bg-gray-800 border-gray-700/30 bg-gray-50 border-gray-200 gap-x-2 text-sm font-medium font-mono gap-x-1 rounded-md px-2.5 py-1 transition-colors bg-gray-600 text-gray-200 shadow-sm bg-white text-gray-700 text-gray-500 w-3 h-3 round m16 top m9 opacity-50 cursor-not-allowed m7 m14 relative absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 inset-0 overflow-auto text-left isDragging w-full text-center justify-center min-h-full markstream-octane fixed z-50 bg-black/70 dialog aria-modal dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging class=\"inline-code text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words class=\"list-item pl-1.5 list-item 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 mermaid loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode preview common.zoomIn common.zoomOut −\n common.resetZoom transition-[height] duration-150 data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-2 icon-slot space-x-1 common.preview common.source aria-pressed common.export bg-gray-900 text-gray-300 whitespace-pre-wrap mermaid-error data-markstream-mermaid showSource hasRenderedOnce mermaid-modal-overlay mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content not available abort timed out class=\"unknown-node italic\">\n node type:\n paragraph paragraph-node child.type renderNode ctx mouseenter mouseleave class=\"reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown event.key class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr p-[calc(4/7*1em)] table-node__resize-handle aria-label rowIdx bodyRows.length aria-busy pointermove pointerup pointercancel my-8 isLoading table-node__loading status aria-live polite table-node__spinner sr-only class=\"checkbox-node\"><input [mermaidWorkerClient] messageerror cleared worker instance inject via busy call canParse findPrefix text-node class=\"hr-node boolean dark 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 is-dark text-gray-900 tooltip dependency is install it enable [markstream-octane] htmlPreviewSandbox contains both allow-scripts and this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition mb-4 dt definition-term dd definition-desc ml-4 markstream-d2-root-svg number window.requestAnimationFrame d2InstanceRef.current instance.render throw new missing d2-block text-gray-100 d2-block-header border-gray-400/5 mode-btn px-2 !showSource d2-action-btn hover:bg-[var(--vscode-editor-selectionBackground)] d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin plaintext zsh objective-c objective-cpp diff java php sql node.type next.maxHeight infographic language code_block html_inline text_special heading list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close zoom [katexWorkerClient] init cache-hit timeout waiting slot cannot delete global clearGlobalCustomComponents was provided streamingComponents entry will be used parser-backed class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n href thinking $$ math-inline__loading math-inline__spinner class children key module did expected normalizedType class=\"math-block overflow-x-auto math-rendering data-language data-markstream-line-numbers !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code document viteEnv.MODE development process role aria-describedby °C globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph markstream-octane-d2 target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [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-octane][perf] markdown-renderer class=\"code-editor-layer\"><div></div><div code-height-placeholder code-fallback-plain m-0 style.visibility theme themes themeType languages stream disableFileHeader onThemeChange renderCustomHeader renderHeaderMetadata renderHeaderPrefix wrap split line-info 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 transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type resolvedOptions.padding vitesse-dark vitesse-light monospace unified fontSize lineHeight maxHeight paddingBottom paddingTop tabSize resolvedOptions.overflow fontFamily nextOptions.unsafeCSS [data-file] [data-diff] canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-block-container code-block-header flex-1 truncate code-action-btn evenodd code-loading-placeholder loading-skeleton skeleton-line short indexKey prototype constructor katex value?.useMonaco stream-diffs/markstream stream-diffs runtime cite`;
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 = `octane click class=\"footnote-reference\"><span>\n $$click footnote-link cursor-pointer className ref id typeof smooth class=\"admonition-header\"><!><span data-index-key note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby error [mermaidWorkerClient] messageerror cleared worker instance inject via busy call timed out canParse findPrefix class=\"checkbox-node\"><input class=\"list-item pl-1.5 value list-item [markstream-octane] htmlPreviewSandbox contains both allow-scripts and this only fully trusted content served an isolated string en utf-8 viewport content="width=device-width initial-scale=1 event.key html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank clsx 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 dependency is not install it to enable name markstream-d2-root-svg number window.requestAnimationFrame d2InstanceRef.current instance.render throw new missing object 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 flex justify-between items-center px-4 py-2.5 border-b border-gray-400/5 gap-x-2 text-sm font-medium font-mono gap-x-1 rounded-md mode-btn px-2 py-1 text-xs !showSource showSource d2-action-btn p-2 transition-colors hover:bg-[var(--vscode-editor-selectionBackground)] aria-label aria-hidden w-3 h-3 none currentColor round aria-pressed m9 d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition mb-4 dt definition-term font-semibold dd definition-desc ml-4 markstream-core class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr p-[calc(4/7*1em)] table-node__resize-handle rowIdx bodyRows.length auto aria-busy text-left pointermove pointerup pointercancel my-8 isLoading table-node__loading status aria-live polite table-node__spinner sr-only animationend $$animationend text-node-stream-delta text-node-stream-delta--a text-node-stream-delta--b text-node whitespace-pre-wrap node.center in zoom failed load class=\"hr-node ?? boolean dark window.matchMedia fixed markstream-octane 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 is-dark tooltip stream-markdown-parser cannot delete global clearGlobalCustomComponents was provided streamingComponents entry will be used parser-backed mermaid loose strict hidden viewBox gantt open-modal keydown fullscreen [data-mermaid-wrapper] mermaid-action-btn rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 toggle-mode preview touch relative absolute top-2 right-2 z-10 gap-2 backdrop-blur common.zoomIn common.zoomOut −\n common.resetZoom min-h-[360px] block transition-[height] duration-150 data-mermaid-wrapper inset-0 w-full text-center justify-center min-h-full mermaid-loading mermaid-spinner diagram… mermaid-block-header bg-gray-800 bg-gray-50 space-x-2 icon-slot h-4 w-4 flex-shrink-0 space-x-1 px-2.5 bg-gray-600 text-gray-200 text-gray-700 text-gray-500 common.preview source common.source m16 opacity-50 common.export m7 m14 p-4 text-gray-300 mermaid-error data-markstream-mermaid hasRenderedOnce mermaid-modal-overlay dialog aria-modal mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content available abort node.type safe next.maxHeight infographic language code_block html_inline text paragraph text_special heading list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak image inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close heading-node javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin plaintext zsh objective-c objective-cpp diff java php sql token.type child ms-html self_closing tag_open tag_close parse escape html-inline dynamic template html-inline-node html-inline-node--loading inline [katexWorkerClient] init cache-hit timeout waiting slot class=\"inline-code text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words html-block-node html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 primary fallback async placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error class=\"unknown-node italic\">\n node type:\n class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n href class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div paragraph-node child.type renderNode ctx library rendered text-red-500 transform ease center data-markstream-infographic data-markstream-mode hasPreview cursor-not-allowed infographic-preview transition-all duration-100 overflow-auto isDragging z-50 bg-black/70 dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging mouseenter mouseleave class=\"reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown thinking class=\"math-block overflow-x-auto math-rendering module did expected $$ math-inline__loading math-inline__spinner globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph markstream-octane-d2 document °C role aria-describedby viteEnv.MODE development process class children key data-language data-markstream-line-numbers !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code indexKey prototype constructor normalizedType target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer katex class=\"code-editor-layer\"><div></div><div code-height-placeholder code-fallback-plain m-0 style.visibility theme themes themeType languages stream disableFileHeader onThemeChange renderCustomHeader renderHeaderMetadata renderHeaderPrefix wrap split line-info 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 transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type resolvedOptions.padding vitesse-dark vitesse-light monospace unified fontSize lineHeight maxHeight paddingBottom paddingTop tabSize resolvedOptions.overflow fontFamily nextOptions.unsafeCSS [data-file] [data-diff] canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-block-container code-block-header flex-1 truncate code-action-btn evenodd code-loading-placeholder loading-skeleton skeleton-line short next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [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-octane][perf] markdown-renderer value?.useMonaco stream-diffs/markstream stream-diffs runtime cite`;
1
+ export const safeList = `octane class=\"admonition-header\"><!><span data-index-key id typeof note admonition-icon admonition-toggle aria-expanded aria-controls collapsed admonition-content aria-labelledby click class=\"footnote-reference\"><span>\n $$click footnote-link cursor-pointer className ref smooth clsx auto heading-node font-semibold object html-block-node stream-markdown-parser safe escape html-block html-block-node__placeholder html-block-node__placeholder-bar w-4/5 w-2/3 token.type block child string name value ms-html text self_closing tag_open tag_close to parse html-inline dynamic template html-inline-node html-inline-node--loading inline primary fallback failed image async ?? placeholder image-node__placeholder image-node__spinner image-node__placeholder-text image… image-node__error aria-hidden currentColor load markstream-core none w-4 h-4 flex-shrink-0 library error in rendered render returned empty text-red-500 p-4 hidden keydown transform ease center flex fullscreen touch p-2 text-xs rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200 text-gray-600 hover:bg-gray-200 hover:text-gray-700 data-markstream-infographic data-markstream-mode source hasPreview my-4 rounded-lg border overflow-hidden justify-between items-center px-4 py-2.5 border-b bg-gray-800 border-gray-700/30 bg-gray-50 border-gray-200 gap-x-2 text-sm font-medium font-mono gap-x-1 rounded-md px-2.5 py-1 transition-colors bg-gray-600 text-gray-200 shadow-sm bg-white text-gray-700 text-gray-500 w-3 h-3 round m16 top m9 opacity-50 cursor-not-allowed m7 m14 relative absolute top-2 right-2 z-10 gap-2 backdrop-blur infographic-preview min-h-[360px] transition-all duration-100 inset-0 overflow-auto text-left isDragging w-full text-center justify-center min-h-full markstream-octane fixed z-50 bg-black/70 dialog aria-modal dialog-panel h-full max-w-full max-h-full shadow-lg top-6 right-6 inline-flex !isDragging class=\"inline-code text-[85%] px-1 py-0.5 bg-[hsl(var(--secondary))] whitespace-normal break-words class=\"list-item pl-1.5 list-item 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 mermaid loose strict viewBox gantt open-modal [data-mermaid-wrapper] mermaid-action-btn toggle-mode preview common.zoomIn common.zoomOut −\n common.resetZoom transition-[height] duration-150 data-mermaid-wrapper mermaid-loading mermaid-spinner diagram… mermaid-block-header space-x-2 icon-slot space-x-1 common.preview common.source aria-pressed common.export bg-gray-900 text-gray-300 whitespace-pre-wrap mermaid-error data-markstream-mermaid showSource hasRenderedOnce mermaid-modal-overlay mermaid-modal-header mermaid-modal-title mermaid-modal-close common.close mermaid-modal-body mermaid-modal-content not available abort timed out class=\"unknown-node italic\">\n node type:\n paragraph paragraph-node child.type renderNode ctx mouseenter mouseleave class=\"reference-node bg-[hsl(var(--muted))] px-1.5 mx-0.5 $$mouseenter $$mouseleave $$keydown event.key class=\"footnote-node leading-relaxed border-t border-[var(--footnote-border,#eaecef)] pt-2\"><div class=\"table-node-wrapper\"><table><!><thead class=\"border-[var(--table-border,#cbd5e1)]\"><tr p-[calc(4/7*1em)] table-node__resize-handle aria-label rowIdx bodyRows.length aria-busy pointermove pointerup pointercancel my-8 isLoading table-node__loading status aria-live polite table-node__spinner sr-only class=\"checkbox-node\"><input [mermaidWorkerClient] messageerror cleared worker instance inject via busy call canParse findPrefix text-node class=\"hr-node boolean dark 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 is-dark text-gray-900 tooltip dependency is install it enable [markstream-octane] htmlPreviewSandbox contains both allow-scripts and this only fully trusted content served an isolated en utf-8 viewport content="width=device-width initial-scale=1 html-preview-frame__header html-preview-frame__title html-preview-frame__dot html-preview-frame__label ×\n html-preview-frame__iframe no-referrer about:blank class=\"mb-4\"><dt class=\"definition-term font-semibold\"></dt><dd class=\"definition-desc definition mb-4 dt definition-term dd definition-desc ml-4 markstream-d2-root-svg number window.requestAnimationFrame d2InstanceRef.current instance.render throw new missing d2-block text-gray-100 d2-block-header border-gray-400/5 mode-btn px-2 !showSource d2-action-btn hover:bg-[var(--vscode-editor-selectionBackground)] d2-block-body d2-source py-4 d2-code d2-error mt-2 d2-render d2-svg pb-3 javascript typescript go python ruby shell powershell d2 plain cpp csharp objectivec objectivecpp yaml markdown rust kotlin plaintext zsh objective-c objective-cpp diff java php sql node.type next.maxHeight infographic language code_block html_inline text_special heading list_item definition_list footnote footnote_reference footnote_anchor admonition hardbreak inline_code emphasis strikethrough highlight insert subscript superscript checkbox checkbox_input emoji thematic_break math_inline math_block reference html_block vmr_container label_open label_close zoom [katexWorkerClient] init cache-hit timeout waiting slot cannot delete global clearGlobalCustomComponents was provided streamingComponents entry will be used parser-backed class=\"footnote-anchor hover:underline cursor-pointer\">\n ↩︎\n href thinking $$ math-inline__loading math-inline__spinner class children key module did expected normalizedType class=\"math-block overflow-x-auto math-rendering data-language data-markstream-line-numbers !options.preserveBlankKind added context markstream-pre__diff-pane--inline original markstream-pre__diff-pane--original modified markstream-pre__diff-pane--modified removed no markstream-pre__diff-code markstream-pre__diff-line markstream-pre__diff-rail markstream-pre__diff-number markstream-pre__diff-content markstream-pre__diff-content-inner markstream-pre__line-numbers markstream-pre__line-numbers-text markstream-pre__code document viteEnv.MODE development process role aria-describedby °C globalThis.requestAnimationFrame globalThis.cancelAnimationFrame sequencediagram classdiagram kind statediagram erdiagram flowchart graph markstream-octane-d2 target rel infinite node.title link-loading items-baseline gap-1.5 link-text-wrapper leading-[normal] link-text link-loading-indicator noopener noreferrer next next.type window.requestIdleCallback [data-node-index] node-spacer data-custom-id node-slot data-node-index data-node-type fade-node node-placeholder typewriter-cursor [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-octane][perf] markdown-renderer class=\"code-editor-layer\"><div></div><div code-height-placeholder code-fallback-plain m-0 style.visibility theme themes themeType languages stream disableFileHeader onThemeChange renderCustomHeader renderHeaderMetadata renderHeaderPrefix wrap split line-info 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 transparent visible max-height height onDidUpdateDiff onDidContentSizeChange onDidLayoutChange window.MutationObserver record.type resolvedOptions.padding vitesse-dark vitesse-light monospace unified fontSize lineHeight maxHeight paddingBottom paddingTop tabSize resolvedOptions.overflow fontFamily nextOptions.unsafeCSS [data-file] [data-diff] canonicalLanguage single window.cancelAnimationFrame clientX navigator.clipboard navigator.clipboard.writeText code-block-container code-block-header flex-1 truncate code-action-btn evenodd code-loading-placeholder loading-skeleton skeleton-line short indexKey prototype constructor katex value?.useMonaco stream-diffs/markstream stream-diffs runtime cite`;
2
2
  export default safeList;
@@ -0,0 +1,3 @@
1
+ // Generated by scripts/generate-tsrx-types.mjs for the built package.
2
+ import type { StreamingTextScope } from 'markstream-core';
3
+ export declare const TextFinalContext: import("octane").Context<StreamingTextScope | undefined>;
@@ -6,8 +6,12 @@ export declare function useSmoothMarkdownStream(options?: SmoothMarkdownStreamOp
6
6
  finish: (options?: {
7
7
  flush?: boolean;
8
8
  }) => void;
9
- flush: () => void;
10
- reset: (initialMarkdown?: string) => void;
9
+ flush: (options?: {
10
+ maxChars?: number;
11
+ }) => void;
12
+ reset: (initialMarkdown?: string, options?: {
13
+ prefixKnown?: boolean;
14
+ }) => void;
11
15
  pause: () => void;
12
16
  resume: () => void;
13
17
  getSnapshot: () => SmoothMarkdownStreamSnapshot;
@@ -0,0 +1,7 @@
1
+ // Generated by scripts/generate-tsrx-types.mjs for the built package.
2
+ export declare function useStreamingText(content: string, fade: boolean, final: boolean | undefined, persisted: string | undefined, active?: boolean): {
3
+ host: {
4
+ current: HTMLElement | null;
5
+ };
6
+ initial: string;
7
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markstream-octane",
3
3
  "type": "module",
4
- "version": "2.0.23",
4
+ "version": "2.0.24",
5
5
  "description": "Octane streaming Markdown renderer for AI chat, LLM token streams, SSE/WebSocket output, incomplete Markdown, long documents, Mermaid, KaTeX, stream-diffs powered code blocks, and custom Octane components.",
6
6
  "author": "Simon He",
7
7
  "license": "MIT",
@@ -104,8 +104,8 @@
104
104
  "dependencies": {
105
105
  "@floating-ui/dom": "^1.8.0",
106
106
  "clsx": "^2.1.1",
107
- "markstream-core": "2.0.23",
108
- "stream-markdown-parser": "1.2.24"
107
+ "markstream-core": "2.0.24",
108
+ "stream-markdown-parser": "1.2.25"
109
109
  },
110
110
  "devDependencies": {
111
111
  "@octanejs/testing-library": "^0.1.18",