pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:#1118271a;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll :is(th,td){font-variant-numeric:tabular-nums}.table-scroll .num,.table-scroll [align=right]{text-align:right}.table-scroll [align=center]{text-align:center}.prose{overflow-wrap:break-word}.prose pre :is(code,code.hljs){background:0 0;padding:0}:root{--toc-marker-height:16px;--toc-edge-fade:1.5rem;--reading-measure:39rem;--reading-gap:4rem;--reading-rail:15rem}.report-frame{max-width:calc(var(--reading-measure) + var(--reading-gap) + var(--reading-rail));margin-inline:auto}.report-layout{grid-template-columns:minmax(0,1fr);margin-top:2rem;display:grid}.report-prose{--tw-prose-body:hsl(var(--prose));--tw-prose-headings:hsl(var(--foreground));--tw-prose-bold:hsl(var(--foreground));--tw-prose-links:hsl(var(--foreground));--tw-prose-code:hsl(var(--foreground));--tw-prose-quotes:hsl(var(--prose));--tw-prose-bullets:hsl(var(--muted-foreground) / .7);--tw-prose-counters:hsl(var(--muted-foreground));--tw-prose-hr:hsl(var(--border) / .6);--tw-prose-th-borders:hsl(var(--border));--tw-prose-td-borders:hsl(var(--border) / .5);max-width:39rem;color:hsl(var(--prose));font-size:1.125rem;line-height:1.6}.report-prose>:first-child{margin-top:0}:root{--prose-estimate-text:7rem;--prose-estimate-block:16rem}.report-prose>p{content-visibility:var(--cv,auto);contain-intrinsic-block-size:auto var(--prose-estimate-text)}.report-prose>pre,.report-prose>.table-scroll{content-visibility:var(--cv,auto);contain-intrinsic-block-size:auto var(--prose-estimate-block)}@media print{.report-prose>*{content-visibility:visible}}.report-prose h2{letter-spacing:-.02em;color:hsl(var(--foreground));margin-top:2.25em;margin-bottom:.7em;font-size:1.625rem;font-weight:580;line-height:1.25}.report-prose h3{letter-spacing:-.01em;color:hsl(var(--foreground));margin-top:2em;margin-bottom:.6em;font-size:1.125rem;font-weight:600;line-height:1.45}.report-prose :is(h4,h5,h6){color:hsl(var(--foreground));margin-top:1.75em;margin-bottom:.5em;font-size:1rem;font-weight:600;line-height:1.5}.report-prose a{color:hsl(var(--foreground));font-weight:inherit;text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:hsl(var(--foreground) / .35);text-decoration-color:hsl(var(--foreground) / .35);transition:text-decoration-color var(--duration-fast) var(--ease-standard)}.report-prose a:hover{-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}.report-prose :not(pre)>code{background-color:hsl(var(--muted));border-radius:.3rem;padding:.1em .35em;font-size:1rem;font-weight:400}.report-prose :is(h2,h3,h4,h5,h6,table,blockquote) code{font-size:inherit}.report-prose code:before,.report-prose code:after{content:none}.report-prose pre{background-color:hsl(var(--card));box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .06);border-radius:.625rem;padding:1rem 1.25rem;font-size:.875rem;line-height:1.6}.report-prose table{margin-block:0;font-size:.875rem;line-height:1.5}.report-prose .table-scroll{margin-block:1.75em}.report-prose thead th{background-color:hsl(var(--muted) / .6);color:hsl(var(--foreground));vertical-align:bottom;padding:.5rem .75rem;font-weight:600}.report-prose td{color:hsl(var(--prose));vertical-align:top;padding:.5rem .75rem}.report-prose tbody tr:nth-child(2n){background-color:hsl(var(--muted) / .2)}.report-prose blockquote{border-left:2px solid hsl(var(--border));background-color:hsl(var(--muted) / .3);color:hsl(var(--prose));quotes:none;border-radius:0 .5rem .5rem 0;margin-block:1.5em;padding:.75rem 1rem;font-size:1rem;font-style:normal;font-weight:400}.report-prose blockquote>:first-child{margin-top:0}.report-prose blockquote>:last-child{margin-bottom:0}.report-prose hr{margin-block:2.5em}.report-crumbs{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.875rem;display:flex}.report-crumbs li:not(:last-child):after{content:"/";color:hsl(var(--muted-foreground) / .5);margin-left:.375rem}.report-crumbs a{transition:color var(--duration-fast) var(--ease-standard)}.report-crumbs a:hover{color:hsl(var(--foreground))}.report-title{font-size:var(--type-heading-48);line-height:var(--leading-heading-48);letter-spacing:-.03em;color:hsl(var(--foreground));margin-top:1rem;font-weight:540}.report-dek{max-width:48rem;color:hsl(var(--muted-foreground));margin-top:.875rem;font-size:1.125rem;line-height:1.5}.report-meta{-moz-column-gap:.5rem;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .5rem;margin-top:1.25rem;font-size:.875rem;display:flex}.report-meta li+li:before{content:"·";color:hsl(var(--muted-foreground) / .6);margin-right:.5rem}.report-meta strong{color:hsl(var(--foreground));font-weight:600}.report-details{margin-top:.75rem;font-size:.875rem}.report-details>summary{cursor:pointer;color:hsl(var(--muted-foreground));transition:color var(--duration-fast) var(--ease-standard);align-items:center;gap:.375rem;list-style:none;display:inline-flex}.report-details>summary::-webkit-details-marker{display:none}.report-details>summary:hover{color:hsl(var(--foreground))}.report-details[open] .report-details-chevron{transform:rotate(90deg)}.report-details-panel{background-color:hsl(var(--card));max-width:52rem;box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .06);border-radius:.75rem;margin-top:.75rem;padding:1rem 1.25rem;line-height:1.5}.report-details-panel>p+p{margin-top:.25rem}.report-details-title{color:hsl(var(--foreground));font-size:1rem;font-weight:600}.report-details-panel dl{grid-template-columns:minmax(7rem,max-content) minmax(0,1fr);gap:.375rem 1.5rem;margin-top:.875rem;display:grid}.report-details-panel dt{color:hsl(var(--muted-foreground))}.report-details-panel dd{color:hsl(var(--prose));overflow-wrap:anywhere;margin:0}.report-details-panel :is(a){text-decoration-line:underline;-webkit-text-decoration-color:hsl(var(--foreground) / .35);text-decoration-color:hsl(var(--foreground) / .35);text-underline-offset:.2em}.report-details-panel code{font-size:inherit}.report-hero{max-width:var(--reading-measure);aspect-ratio:16/9;background-color:hsl(var(--card));background-image:radial-gradient(ellipse 60% 70% at 50% 58%, hsl(var(--primary) / .09), transparent 70%), linear-gradient(hsl(var(--foreground) / .035) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--foreground) / .035) 1px, transparent 1px);box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .06);background-position:50%;background-size:auto,1.5rem 1.5rem,1.5rem 1.5rem;border-radius:.625rem;margin-bottom:2.5rem;position:relative;overflow:hidden}.report-hero .rv{width:100%;height:100%}.report-toc{top:calc(var(--site-header-height) + 1.5rem);align-self:start;position:sticky}.report-toc-scroller{max-height:calc(100vh - var(--site-header-height) - 3rem);overscroll-behavior:contain;scrollbar-width:thin;overflow-y:auto}.report-toc-label{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:.875rem;font-size:.75rem;font-weight:500}.report-toc-list{font-size:.875rem;line-height:1.4}.report-toc-track{position:relative}.report-toc-track:before{content:"";inset-block:0;background-color:hsl(var(--border) / .8);width:1px;position:absolute;left:0}.report-toc-list a{color:hsl(var(--muted-foreground));transition:color var(--duration-fast) var(--ease-standard);padding:.3125rem 0 .3125rem .875rem;display:block}.report-toc-list a:hover,.report-toc-list a[aria-current=location]{color:hsl(var(--foreground))}.report-toc-marker{width:2px;height:var(--toc-marker-height);background-color:hsl(var(--primary));opacity:0;pointer-events:none;border-radius:1px;position:absolute;top:0;left:0}.report-toc-marker[data-placed]{opacity:1}html[data-motion=on] .report-toc-marker[data-placed]{transition:transform var(--duration-base) var(--ease-strong-out), opacity var(--duration-fast) var(--ease-standard)}.report-toc-mobile{background-color:hsl(var(--card));box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .06);border-radius:.75rem;margin-bottom:2rem;padding:.875rem 1rem}.report-toc-mobile>summary{cursor:pointer;font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;font-size:.75rem;font-weight:500;list-style:none;display:flex}.report-toc-mobile>summary::-webkit-details-marker{display:none}.report-toc-mobile>summary:after{content:"";width:.5rem;height:.5rem;transition:transform var(--duration-fast) var(--ease-standard);border-bottom:1.5px solid;border-right:1.5px solid;margin-right:.25rem;transform:translateY(-25%)rotate(45deg)}.report-toc-mobile[open]>summary:after{transform:translateY(25%)rotate(-135deg)}.report-toc-mobile .report-toc-list{margin-top:.75rem}.report-progress{inset-inline:0;top:var(--site-header-height);z-index:40;pointer-events:none;height:2px;position:fixed}.report-progress-bar{background-color:hsl(var(--primary));transform-origin:0;height:100%;transform:scaleX(0)}@keyframes report-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@property --toc-fade-top{syntax:"<length>";inherits:false;initial-value:0}@property --toc-fade-bottom{syntax:"<length>";inherits:false;initial-value:0}@keyframes toc-fade-top{0%{--toc-fade-top:0px}to{--toc-fade-top:var(--toc-edge-fade)}}@keyframes toc-fade-bottom{0%{--toc-fade-bottom:var(--toc-edge-fade)}to{--toc-fade-bottom:0px}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.report-progress-bar{animation:linear both report-progress;animation-timeline:scroll(root)}.report-toc-scroller{-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--toc-fade-top), #000 calc(100% - var(--toc-fade-bottom)), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--toc-fade-top), #000 calc(100% - var(--toc-fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--toc-fade-top), #000 calc(100% - var(--toc-fade-bottom)), transparent 100%);animation-name:toc-fade-top,toc-fade-bottom;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(self);animation-range:0 var(--toc-edge-fade), calc(100% - var(--toc-edge-fade)) 100%}}}.report-pager-label{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:flex}.report-pager-title{color:hsl(var(--foreground));transition:color var(--duration-fast) var(--ease-standard);margin-top:.5rem;font-size:1rem;font-weight:600;line-height:1.4}.report-pager a:hover .report-pager-title{color:hsl(var(--primary))}@media (min-width:768px){.report-dek{font-size:1.25rem}.report-layout{margin-top:2.5rem}}@media (min-width:1024px){.report-layout{grid-template-columns:minmax(0, var(--reading-measure)) var(--reading-rail);-moz-column-gap:var(--reading-gap);column-gap:var(--reading-gap)}}@media (prefers-reduced-motion:reduce){.report-toc-marker{transition:none!important}.report-progress{display:none}}.project-frame{max-width:76rem;margin-inline:auto}.project-demo{margin-top:3rem}.project-block-title{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:1rem;font-size:.8125rem;font-weight:500}.project-findings-block{margin-top:2.5rem}.project-frame .report-meta{-moz-column-gap:0;clip-path:inset(-.5rem -.5rem -.5rem 1rem);column-gap:0;margin-left:-1rem}.project-frame .report-meta li{padding-left:1rem;position:relative}.project-frame .report-meta li:before{content:"·";color:hsl(var(--muted-foreground) / .6);margin:0;position:absolute;left:.375rem}.project-meta-check{color:hsl(var(--foreground));align-items:center;gap:.25rem;display:inline-flex}.project-meta-check svg{color:hsl(var(--status-green))}.project-stack{color:hsl(var(--foreground) / .85);margin-top:.5rem;font-size:.875rem;line-height:1.5}.project-stack span{color:hsl(var(--muted-foreground))}.project-engineers{border-top:1px solid hsl(var(--border) / .6);margin-top:4rem;padding-top:2.5rem}.report-prose .project-engineers>h2{margin-top:0}.report-prose .project-engineers-lede{color:hsl(var(--muted-foreground))}.project-frame .report-prose :is(pre,pre code){white-space:pre-wrap;overflow-wrap:anywhere}.project-pager-all{text-align:center;color:hsl(var(--muted-foreground));transition:color var(--duration-fast) var(--ease-standard);margin-top:1rem;padding:.75rem;font-size:.875rem;display:block}.project-pager-all:hover{color:hsl(var(--primary))}.project-meta-link{color:hsl(var(--foreground));text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:hsl(var(--foreground) / .35);text-decoration-color:hsl(var(--foreground) / .35);transition:text-decoration-color var(--duration-fast) var(--ease-standard);align-items:center;gap:.25rem;display:inline-flex}.project-meta-link:hover{-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}.project-findings{gap:.75rem;display:grid}.project-finding{background-color:hsl(var(--card) / .7);border-radius:.75rem;flex-direction:column;padding:1.25rem;display:flex}.project-finding-value{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:hsl(var(--foreground));font-size:1.5rem;font-weight:600;line-height:2rem}.project-finding p{color:hsl(var(--muted-foreground));margin-top:.75rem;font-size:.875rem;line-height:1.6}@media (min-width:640px){.project-findings{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.project-layout{justify-content:space-between}}.demo-row{flex-wrap:wrap;gap:1rem 1.75rem;display:flex}.demo-segmented{border:0;min-width:0;margin:0;padding:0}.demo-segmented legend{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:.5rem;padding:0;font-size:.75rem;font-weight:500}.demo-segmented>div{background-color:hsl(var(--card));box-shadow:inset 0 0 0 1px hsl(var(--foreground) / .08);border-radius:1.25rem;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.demo-segmented label{font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);border-radius:9999px;align-items:baseline;gap:.375rem;padding:.375rem .875rem;font-size:.875rem;font-weight:500;display:inline-flex;position:relative}.demo-segmented label:hover{color:hsl(var(--foreground))}.demo-segmented label[data-checked]{background-color:hsl(var(--foreground) / .1);color:hsl(var(--foreground))}.demo-segmented label span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:400}.demo-segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.demo-segmented label:has(input:focus-visible){outline:2px solid hsl(var(--primary));outline-offset:2px}.demo-button,.demo-icon-button{border:1px solid hsl(var(--border));min-height:2.25rem;color:hsl(var(--foreground));cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);background-color:#0000;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.demo-button{padding:.375rem 1rem}.demo-icon-button{width:2.25rem;padding:0}.demo-button svg,.demo-icon-button svg{width:1rem;height:1rem}.demo-button:hover:not(:disabled),.demo-icon-button:hover:not(:disabled){border-color:hsl(var(--foreground) / .3);background-color:hsl(var(--foreground) / .05)}.demo-button:disabled,.demo-icon-button:disabled{opacity:.45;cursor:not-allowed}.demo-button:focus-visible,.demo-icon-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.demo-field{min-width:0;max-width:100%;color:hsl(var(--muted-foreground));flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.demo-field :is(input,select){border:1px solid hsl(var(--border));background-color:hsl(var(--background));width:100%;min-width:0;min-height:2.25rem;font:inherit;color:hsl(var(--foreground));border-radius:.5rem;padding:.375rem .625rem;font-size:.875rem}.demo-field :is(input,select):focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.demo-error{color:hsl(var(--status-red));font-size:.875rem;line-height:1.5}.demo-hint{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.5}.demo-lead{max-width:48rem;color:hsl(var(--foreground) / .85);font-size:.9375rem;line-height:1.6}.demo-icon-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (hover:none){.demo-icon-button:has(.demo-icon-label){width:auto;padding:0 .875rem}.demo-icon-label{clip-path:none;width:auto;height:auto;position:static;overflow:visible}}.demo-under-hood{border-top:1px solid hsl(var(--border) / .6);margin-top:1.5rem;padding-top:1rem}.demo-under-hood>summary{min-height:2.25rem;color:hsl(var(--muted-foreground));cursor:pointer;transition:color var(--duration-fast) var(--ease-standard);align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;list-style:none;display:inline-flex}.demo-under-hood>summary::-webkit-details-marker{display:none}.demo-under-hood>summary:hover,.demo-under-hood[open]>summary{color:hsl(var(--foreground))}.demo-under-hood>summary:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:.25rem}.demo-under-hood>summary svg{width:1rem;height:1rem;transition:transform var(--duration-fast) var(--ease-standard)}.demo-under-hood[open]>summary svg{transform:rotate(90deg)}.demo-under-hood>div{margin-top:1rem}@keyframes demo-revealed{0%{box-shadow:0 0 0 2px hsl(var(--primary) / .7)}to{box-shadow:0 0 0 2px hsl(var(--primary) / 0)}}.demo-revealed{animation:demo-revealed var(--duration-reveal) var(--ease-standard)}@media (prefers-reduced-motion:reduce){.demo-revealed{box-shadow:0 0 0 2px hsl(var(--primary) / .7);animation:none}}@media (max-width:639px){.demo-stack,.demo-stack tbody,.demo-stack tr,.demo-stack th,.demo-stack td{width:auto;min-width:0;display:block}.demo-stack{min-width:0!important}.demo-stack thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.demo-stack tbody tr{background-color:hsl(var(--card) / .7);border-radius:.75rem;padding:.75rem 1rem}.demo-stack tbody tr+tr{margin-top:.5rem}.demo-stack tbody :is(th,td){text-align:right;border:0;justify-content:space-between;align-items:baseline;gap:1rem;padding:.25rem 0;display:flex}.demo-stack tbody th{text-align:left;justify-content:flex-start;font-weight:600}.demo-stack tbody [data-label]:before{content:attr(data-label);content:attr(data-label) / "";text-align:left;max-width:50%;font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:normal;text-transform:none;color:hsl(var(--muted-foreground));flex:0 auto;font-size:.75rem;font-weight:400}}
