.chroma:not([class*=mermaid]){background-color:var(--bg-code);border:1px solid var(--border-strong);border-radius:0;margin:2rem 0;overflow-x:auto;overflow-y:auto;box-shadow:none;position:relative;width:100%;max-width:100%;scrollbar-width:thin;scrollbar-color:var(--accent-purple)transparent}.chroma:not([class*=mermaid]):hover,.chroma:not([class*=mermaid]):focus-within{background-color:var(--bg-code);border-color:var(--border-strong);box-shadow:4px 4px 0 var(--border-subtle)}.chroma:not([class*=mermaid])::-webkit-scrollbar{height:8px}.chroma:not([class*=mermaid])::-webkit-scrollbar-track{background:var(--bg-terminal-alt);border-radius:0}.chroma:not([class*=mermaid])::-webkit-scrollbar-thumb{background:var(--accent-purple);border-radius:0}.chroma:not([class*=mermaid])::-webkit-scrollbar-thumb:hover{background:var(--accent-purple-hover)}pre.chroma{overflow-x:auto!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:var(--accent-purple)transparent}pre.chroma::-webkit-scrollbar{height:8px}pre.chroma::-webkit-scrollbar-track{background:var(--bg-terminal-alt);border-radius:0}pre.chroma::-webkit-scrollbar-thumb{background:var(--accent-purple);border-radius:0}pre.chroma::-webkit-scrollbar-thumb:hover{background:var(--accent-purple-hover)}.highlight:not([class*=mermaid]){background:0 0;border:none;margin:0;padding:0}.chroma:not([class*=mermaid]) pre{background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;box-shadow:none!important}.chroma:not([class*=mermaid]) .lntable{border-spacing:0;padding:0;margin:0;border:none!important;width:100%;border-collapse:separate;background:0 0!important}.chroma:not([class*=mermaid]) .lntable tr{border:none!important;background:0 0!important}.chroma:not([class*=mermaid]) .lntd{vertical-align:top;padding:0;margin:0;border:none!important;background:0 0!important}.chroma:not([class*=mermaid]) .lnt,.chroma:not([class*=mermaid]) .ln{margin-right:0;padding:1.2rem .8rem;color:var(--text-muted);user-select:none;font-family:var(--font-mono);font-size:.85rem;line-height:1.5;text-decoration:none!important;border:none!important;background:0 0!important}.chroma:not([class*=mermaid]) .lntd:first-child{width:4rem;background:rgba(155,135,245,.12);border-right:2px solid rgba(155,135,245,.18)!important;border-bottom:none!important;border-top:none!important;border-left:none!important}[data-theme=dark] .chroma:not([class*=mermaid]) .lntd:first-child{background:linear-gradient(180deg,rgba(88,28,135,.18) 0%,rgba(45,51,83,.22) 100%);border-right:1px solid rgba(148,163,184,.22)!important}.chroma:not([class*=mermaid]) .lntd:last-child{padding:0;background:0 0;border:none!important}.chroma:not([class*=mermaid]) .lntd:last-child pre{padding:1.2rem 1.5rem;margin:0;background:0 0!important;border:none!important;border-radius:0!important;overflow-x:auto;box-shadow:none!important}[data-theme=dark] .chroma:not([class*=mermaid]) .lntd:last-child pre{color:rgba(226,232,240,.92);text-shadow:0 1px 0 rgba(2,6,23,.55)}.chroma:not([class*=mermaid]) .lntd:last-child code{background:0 0!important;padding:0;border:none!important;font-family:var(--font-mono);font-size:.9rem;line-height:1.5}@media(max-width:768px){.chroma:not([class*=mermaid]){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.chroma:not([class*=mermaid]) .lntd:first-child{width:2.5rem;min-width:2.5rem}.chroma:not([class*=mermaid]) .lnt,.chroma:not([class*=mermaid]) .ln{padding:.8rem .4rem;font-size:.75rem}.chroma:not([class*=mermaid]) .lntd:last-child{width:100%}.chroma:not([class*=mermaid]) .lntd:last-child pre{padding:.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre;word-wrap:normal;word-break:normal}.chroma:not([class*=mermaid]) .lntd:last-child code{font-size:.8rem;white-space:pre;word-wrap:normal;word-break:normal}.chroma:not([class*=mermaid]) .lntable{table-layout:fixed;width:100%}}@media(max-width:480px){.chroma:not([class*=mermaid]) .lntd:first-child{width:2rem;min-width:2rem}.chroma:not([class*=mermaid]) .lnt,.chroma:not([class*=mermaid]) .ln{padding:.6rem .3rem;font-size:.7rem}.chroma:not([class*=mermaid]) .lntd:last-child pre{padding:.6rem}.chroma:not([class*=mermaid]) .lntd:last-child code{font-size:.75rem}}.mermaid,[class*=mermaid],div[class*=mermaid],pre[class*=mermaid],code[class*=mermaid]{all:revert}.chroma:not([class*=mermaid]) a,.chroma:not([class*=mermaid]) a:focus,.chroma:not([class*=mermaid]) a:hover,.chroma:not([class*=mermaid]) a:active{text-decoration:none!important;border:none!important;outline:none!important;color:inherit!important}[data-theme=dark] .chroma:not([class*=mermaid]) .lnt,[data-theme=dark] .chroma:not([class*=mermaid]) .ln{color:rgba(209,213,224,.55)}.heading-anchor{color:var(--text-muted,#64748b);text-decoration:none;margin-left:.5rem;opacity:0;transition:opacity .2s ease,color .2s ease;font-weight:400;font-size:.8em;vertical-align:middle;user-select:none}h1:hover .heading-anchor,h2:hover .heading-anchor,h3:hover .heading-anchor,h4:hover .heading-anchor{opacity:1}.heading-anchor:hover{color:var(--accent,#9b59b6);text-decoration:none}.heading-anchor:focus{opacity:1;outline:2px solid var(--accent,#9b59b6);outline-offset:2px;border-radius:0}.code-copy-button{position:absolute;top:.75rem;right:.75rem;background:var(--bg-secondary,rgba(255,255,255,.95));background:color-mix(in srgb,var(--surface-elevated,#ffffff) 92%,transparent 8%);border:1px solid var(--border-subtle,rgba(15,23,42,.15));border-radius:0;padding:9px;cursor:pointer;transition:all .2s ease;z-index:10;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;gap:0;line-height:1;color:var(--text-primary,#0f172a);backdrop-filter:blur(8px);box-shadow:0 4px 12px rgba(15,23,42,8%)}[data-theme=dark] .code-copy-button{background-color:color-mix(in srgb,rgba(36,45,70,.94) 75%,rgba(129,140,248,.35) 25%);border-color:rgba(148,163,184,.45);border-color:color-mix(in srgb,rgba(148,163,184,.55) 70%,rgba(129,140,248,.55) 30%);color:var(--text-primary,#f8fafc);box-shadow:0 16px 32px rgba(2,6,23,.65),0 0 0 1px rgba(148,163,184,.3),0 1px rgba(255,255,255,6%)inset}[data-theme=dark] .code-copy-button:hover{background-color:color-mix(in srgb,rgba(129,140,248,.6) 45%,rgba(17,24,39,.92) 55%);border-color:rgba(167,139,250,.55);border-color:color-mix(in srgb,rgba(167,139,250,.65) 65%,rgba(148,163,184,.45) 35%);box-shadow:0 20px 40px rgba(14,0,35,.55),0 0 0 1px rgba(167,139,250,.55),0 1px rgba(255,255,255,8%)inset;color:var(--accent,#c4b5fd)}[data-theme=dark] .code-copy-button:focus{outline-color:rgba(138,92,246,.6);outline-color:color-mix(in srgb,var(--accent,#9b87f5) 60%,rgba(148,163,184,.5) 40%)}[data-theme=dark] .code-copy-button.copied{background-color:color-mix(in srgb,rgba(34,197,94,.45) 70%,rgba(6,95,70,.75) 30%);border-color:rgba(74,222,128,.6);color:rgba(240,253,244,.95);box-shadow:0 16px 36px rgba(5,46,22,.55),0 0 0 1px rgba(74,222,128,.45)}[data-theme=dark] .code-copy-button.copy-error{background-color:color-mix(in srgb,rgba(248,113,113,.45) 70%,rgba(127,29,29,.75) 30%);border-color:rgba(248,113,113,.6);color:rgba(254,242,242,.95);box-shadow:0 16px 36px rgba(69,10,10,.55),0 0 0 1px rgba(248,113,113,.45)}.code-copy-button:hover{background:var(--bg-hover,rgba(155,135,245,.1));border-color:var(--accent,#9b87f5);transform:translateY(-1px);color:var(--accent,#7c3aed);box-shadow:0 4px 8px rgba(0,0,0,.1)}.code-copy-button:focus{outline:2px solid var(--accent,#9b87f5);outline-offset:2px;color:var(--accent,#7c3aed)}.code-copy-button:focus:not(:focus-visible){outline:none;color:inherit}.code-copy-button:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1)}.code-copy-button.copied{background:var(--success-bg,rgba(34,197,94,.12));border-color:var(--success,#22c55e);color:var(--success,#15803d)}.code-copy-button.copy-error{background:var(--error-bg,rgba(239,68,68,.1));border-color:var(--error,#ef4444);color:var(--error,#ef4444);animation:shake .3s ease-in-out}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@media(prefers-reduced-motion:reduce){.code-copy-button,.code-copy-button .copy-icon,.code-copy-button .check-icon{transition:none!important}.code-copy-button:hover,.code-copy-button:active{transform:none!important}.code-copy-button.copy-error{animation:none!important}}.code-copy-button .copy-icon,.code-copy-button .check-icon{width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:transform .2s ease,opacity .2s ease}.code-copy-button svg{width:100%;height:100%;display:block}.code-copy-button .check-icon{display:none}.code-copy-button.copied .copy-icon{display:none}.code-copy-button.copied .check-icon{display:inline-flex}@media(max-width:640px){.code-copy-button{top:.6rem;right:.6rem;padding:7px 8px;min-width:36px;min-height:36px}.code-copy-button .copy-icon,.code-copy-button .check-icon{width:1rem;height:1rem}}.chroma:not([class*=mermaid]),.highlight{position:relative}.chroma:not([class*=mermaid]) pre,.chroma:not([class*=mermaid]) .lntd:last-child pre,.highlight pre,.highlight .lntd:last-child pre,pre.chroma{padding-right:calc(1.5rem + 2.75rem)!important}pre:has(code):not(.chroma pre){position:relative;padding-right:2.75rem}@media(max-width:640px){.chroma:not([class*=mermaid]) pre,.chroma:not([class*=mermaid]) .lntd:last-child pre,.highlight pre,.highlight .lntd:last-child pre,pre.chroma{padding-right:calc(1rem + 2.5rem)!important}pre:has(code):not(.chroma pre){padding-right:2.5rem}}