:root{--code-bg:light-dark(#f5f5f5, #282c34);--code-divider:light-dark(rgba(0, 0, 0, 0.09), rgba(255, 255, 255, 0.11));--error:var(--punctuation);--error-bg:transparent;--line-highlight:light-dark(#e5e5e5, #6e7681);--line-numbers-table:light-dark(#7f7f7f, #737679);--line-numbers:light-dark(#7f7f7f, #6e7681);--keyword:light-dark(#cf222e, rgb(255, 123, 114));--keyword-constant:light-dark(#cf222e, #79c0ff);--keyword-declaration:var(--keyword);--keyword-namespace:var(--keyword);--keyword-pseudo:light-dark(#cf222e, #79c0ff);--keyword-reserved:var(--keyword);--keyword-type:var(--keyword);--name-attribute:rgb(224, 108, 117);--name-class:light-dark(#1f2328, #f0883e);--name-constant:light-dark(#0550ae, #79c0ff);--name-decorator:light-dark(#0550ae, #d2a8ff);--name-entity:light-dark(#6639ba, #ffa657);--name-label:light-dark(#900, #79c0ff);--name-namespace:light-dark(#24292e, #ff7b72);--name-other:light-dark(#1f2328, currentColor);--name-tag:rgb(224, 108, 117);--name-builtin:light-dark(#6639ba, rgb(210, 168, 255));--name-builtin-pseudo:light-dark(#6a737d, #f0883e);--name-variable:light-dark(#953800, #79c0ff);--name-variable-class:var(--name-variable);--name-variable-global:var(--name-variable);--name-variable-instance:var(--name-variable);--name-variable-magic:var(--name-variable);--name-function:light-dark(#6639ba, #d2a8ff);--name-function-magic:light-dark(#6639ba, #d2a8ff);--literal-string:light-dark(rgb(113, 140, 0), rgb(152, 195, 121));--literal-string-affix:var(--literal-string);--literal-string-backtick:var(--literal-string);--literal-string-char:var(--literal-string);--literal-string-delimiter:var(--literal-string);--literal-string-double:var(--literal-string);--literal-string-escape:var(--literal-string);--literal-string-heredoc:var(--literal-string);--literal-string-interpol:var(--literal-string);--literal-string-other:var(--literal-string);--literal-string-regex:var(--literal-string);--literal-string-single:var(--literal-string);--literal-string-symbol:var(--literal-string);--literal-number:light-dark(rgb(245, 135, 31), rgb(165, 214, 255));--literal-number-bin:var(--literal-number);--literal-number-float:var(--literal-number);--literal-number-hex:var(--literal-number);--literal-number-integer:var(--literal-number);--literal-number-integer-long:var(--literal-number);--literal-number-oct:var(--literal-number);--operator:light-dark(rgb(62, 153, 159), rgb(86, 182, 194));--operator-word:light-dark(#0550ae, #ff7b72);--punctuation:light-dark(rgb(118, 118, 118), rgb(171, 178, 191));--comment:light-dark(#57606a, #8b949e);--comment-hashbang:var(--comment);--comment-multiline:var(--comment);--comment-single:var(--comment);--comment-special:var(--comment);--comment-preproc:var(--comment);--comment-preproc-file:var(--comment);--generic-deleted:light-dark(#82071e, #ffa198);--generic-deleted-bg:light-dark(#ffebe9, #490202);--generic-emph:light-dark(#1f2328, currentColor);--generic-inserted:light-dark(#116329, #56d364);--generic-inserted-bg:light-dark(#dafbe1, #0f5323);--generic-output:light-dark(#1f2328, #8b949e);--text-whitespace:light-dark(#fff, #6e7681)}.highlight{position:relative;background-color:var(--code-bg);border-radius:var(--radius-md)}.highlight pre{margin:0;padding:.6em .9em;white-space:pre}.copy-button{position:absolute;top:var(--space-xs);right:var(--space-xs);display:flex;align-items:center;gap:.3em;padding:.25em .5em;font-family:var(--font-sans);font-size:.8em;color:var(--color-muted);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity var(--transition-base),background var(--transition-fast),color var(--transition-fast);z-index:10}.highlight:hover .copy-button,.copy-button:focus-visible{opacity:1}@media(hover:none){.copy-button{opacity:1}}.copy-button:hover,.copy-button:focus-visible{color:var(--color-accent);border-color:var(--color-accent)}.copy-button.copied::after{content:"Copied!";position:absolute;top:0;right:110%;padding:.25em .5em;font-size:.9em;white-space:nowrap;color:var(--color-muted);background:var(--color-surface-elevated);border-radius:var(--radius-sm);animation:fade-out 1.5s forwards}@keyframes fade-out{0%,70%{opacity:1}100%{opacity:0}}.bg{background-color:var(--code-bg)}.chroma{background-color:var(--code-bg)}.chroma .err{color:var(--error);background-color:var(--error-bg)}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:var(--line-highlight)}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:var(--line-numbers-table)}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:var(--line-numbers)}.chroma .line{display:flex}.chroma .k{color:var(--keyword)}.chroma .kc{color:var(--keyword-constant)}.chroma .kd{color:var(--keyword-declaration)}.chroma .kn{color:var(--keyword-namespace)}.chroma .kp{color:var(--keyword-pseudo)}.chroma .kr{color:var(--keyword-reserved)}.chroma .kt{color:var(--keyword-type)}.chroma .na{color:var(--name-attribute)}.chroma .nc{color:var(--name-class)}.chroma .no{color:var(--name-constant)}.chroma .nd{color:var(--name-decorator)}.chroma .ni{color:var(--name-entity)}.chroma .nl{color:var(--name-label);font-weight:700}.chroma .nn{color:var(--name-namespace)}.chroma .nx{color:var(--name-other)}.chroma .nt{color:var(--name-tag)}.chroma .nb{color:var(--name-builtin)}.chroma .bp{color:var(--name-builtin-pseudo)}.chroma .nv{color:var(--name-variable)}.chroma .vc{color:var(--name-variable-class)}.chroma .vg{color:var(--name-variable-global)}.chroma .vi{color:var(--name-variable-instance)}.chroma .vm{color:var(--name-variable-magic)}.chroma .nf{color:var(--name-function)}.chroma .fm{color:var(--name-function-magic)}.chroma .s{color:var(--literal-string)}.chroma .sa{color:var(--literal-string-affix)}.chroma .sb{color:var(--literal-string-backtick)}.chroma .sc{color:var(--literal-string-char)}.chroma .dl{color:var(--literal-string-delimiter)}.chroma .sd{color:var(--comment);font-style:italic}.chroma .s2{color:var(--literal-string-double)}.chroma .se{color:var(--literal-string-escape)}.chroma .sh{color:var(--literal-string-heredoc)}.chroma .si{color:var(--literal-string-interpol)}.chroma .sx{color:var(--literal-string-other)}.chroma .sr{color:var(--literal-string-regex)}.chroma .s1{color:var(--literal-string-single)}.chroma .ss{color:var(--literal-string-symbol)}.chroma .m{color:var(--literal-number)}.chroma .mb{color:var(--literal-number-bin)}.chroma .mf{color:var(--literal-number-float)}.chroma .mh{color:var(--literal-number-hex)}.chroma .mi{color:var(--literal-number-integer)}.chroma .il{color:var(--literal-number-integer-long)}.chroma .mo{color:var(--literal-number-oct)}.chroma .o{color:var(--operator)}.chroma .ow{color:var(--operator-word)}.chroma .p{color:var(--punctuation)}.chroma .c{color:var(--comment);font-style:italic}.chroma .ch{color:var(--comment-hashbang);font-style:italic}.chroma .cm{color:var(--comment-multiline);font-style:italic}.chroma .c1{color:var(--comment-single);font-style:italic}.chroma .cs{color:var(--comment-special);font-style:italic}.chroma .cp{color:var(--comment-preproc)}.chroma .cpf{color:var(--comment-preproc-file)}.chroma .gd{color:var(--generic-deleted);background-color:var(--generic-deleted-bg)}.chroma .ge{color:var(--generic-emph)}.chroma .gi{color:var(--generic-inserted);background-color:var(--generic-inserted-bg)}.chroma .go{color:var(--generic-output)}.chroma .gl{text-decoration:underline}.chroma .w{color:var(--text-whitespace)}.highlight,.chroma{position:relative}.code-details{margin-block:var(--space-lg);border-radius:var(--radius-md)}.code-summary{display:flex;align-items:center;gap:.5em;padding:.6em .9em;font-family:var(--font-mono);font-size:.85em;font-weight:500;letter-spacing:.01em;color:var(--color-muted);background:var(--code-bg);border-bottom:1px solid var(--code-divider);border-radius:var(--radius-md)var(--radius-md)0 0;cursor:pointer;user-select:none;list-style:none;transition:color var(--transition-fast)}.code-summary:focus-visible{color:var(--color-fg)}@media(hover:hover){.code-summary:hover{color:var(--color-fg)}}.code-summary::-webkit-details-marker{display:none}.code-summary::marker{content:""}.code-summary::before{content:"\25B8";display:inline-block;font-size:1em;line-height:1;color:currentColor;flex-shrink:0;transition:transform var(--transition-base)}.code-details[open] .code-summary::before{transform:rotate(90deg)}.code-summary-text{display:inline-flex;align-items:center;gap:.4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-summary[data-has-filename] .code-summary-text::before{content:"\1F4C4";font-size:.9em;opacity:.7;flex-shrink:0}.code-details:not([open]) .code-summary{border-radius:var(--radius-md);border-bottom:none}.code-details .highlight{margin:0;padding:0;background:0 0;border-radius:0}.code-details .highlight pre{margin:0;padding:.6em .9em;border-radius:0 0 var(--radius-md)var(--radius-md);background-color:var(--code-bg)}.code-details:not([open]) .copy-button{display:none}.code-details[open] .highlight:hover .copy-button{opacity:1}.chroma .line{border-radius:.25em;padding:0 .25em;margin:0 -.25em;transition:background var(--transition-fast)}@media(hover:hover){.chroma .line:hover{background:rgba(200,220,255,.35)}}