.reading-toc-rail,.reading-toc-toggle,.reading-toc-dialog{--toc-border:color-mix(in srgb, var(--foreground) 12%, var(--background));--toc-muted:color-mix(in srgb, var(--foreground) 68%, var(--background));color:var(--foreground);font-family:var(--font-app), monospace}.reading-toc-rail{display:none}.reading-toc-title{color:var(--toc-muted);margin:0;font-size:12px;font-weight:500}.reading-toc-nav{overscroll-behavior:contain;scrollbar-width:thin;position:relative;overflow-y:auto}.reading-toc-nav ol{margin:0;padding:0;list-style:none}.reading-toc-nav li{margin:0}.reading-toc-nav a{padding:6px 8px;color:var(--toc-muted);overflow-wrap:anywhere;border-inline-start:2px solid #0000;border-radius:0 4px 4px 0;padding-inline-start:calc(8px + var(--toc-indent));font-size:12px;line-height:1.65;text-decoration:none;display:block}.reading-toc-nav a:hover{color:var(--accent)}.reading-toc-nav a[aria-current=location]{border-inline-start-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent);color:var(--accent)}.reading-toc-nav a:focus-visible,.reading-toc-toggle:focus-visible,.reading-toc-header button:focus-visible{outline:2px dashed var(--accent);outline-offset:-2px}.reading-toc-toggle{z-index:40;inset-inline-start:16px;bottom:calc(24px + env(safe-area-inset-bottom));border:1px solid var(--toc-border);background:var(--background);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:10px 14px;font-size:12px;display:inline-flex;position:fixed;box-shadow:0 3px 14px #0001}.reading-toc-toggle:hover{color:var(--accent)}.reading-toc-dialog{inset:auto 0 calc(12px + env(safe-area-inset-bottom));border:1px solid var(--toc-border);background:var(--background);border-radius:12px;width:min(34rem,100vw - 24px);max-width:none;max-height:min(70dvh,36rem);margin:0 auto;padding:0;position:fixed;overflow:hidden;box-shadow:0 12px 48px #0003}.reading-toc-dialog[open]{flex-direction:column;display:flex}.reading-toc-dialog::backdrop{backdrop-filter:blur(3px);background:#10152266}.reading-toc-header{border-bottom:1px solid var(--toc-border);justify-content:space-between;align-items:center;padding:6px 10px 6px 16px;display:flex}.reading-toc-header button{width:40px;height:40px;color:var(--toc-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.reading-toc-header button:hover{color:var(--accent)}.reading-toc-dialog .reading-toc-nav{padding:8px}.reading-toc-dialog .reading-toc-nav a{min-height:44px;padding-block:10px;font-size:14px}#article :is(h2,h3,h4,h5,h6)[id]{scroll-margin-block-start:24px}#article :is(h2,h3,h4,h5,h6)[tabindex="-1"]:focus-visible{outline:2px dashed var(--accent);outline-offset:4px}.reading-toc-rail[hidden],.reading-toc-toggle[hidden]{display:none!important}@media (width>=1280px){.reading-toc-toggle{display:none}.reading-toc-rail{top:104px;border-inline-start:1px solid var(--toc-border);width:208px;max-height:calc(100dvh - 136px);padding-inline-start:12px;display:block;position:fixed;inset-inline-start:calc(50% + 25rem)}.reading-toc-rail .reading-toc-title{margin-bottom:10px;padding-inline-start:10px}.reading-toc-rail .reading-toc-nav{max-height:calc(100dvh - 170px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.reading-toc-rail,.reading-toc-toggle,.reading-toc-dialog{display:none!important}}.mermaid-panel{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:.5rem;margin-block:2rem;overflow:hidden}.mermaid-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;display:flex}.mermaid-toolbar>span{color:var(--muted-foreground);margin-inline-end:auto}.mermaid-toolbar button{min-height:2.25rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.25rem;justify-content:center;align-items:center;padding:.375rem .5rem;display:inline-flex}.mermaid-toolbar button[aria-pressed=true]{background:var(--muted);border-color:var(--accent)}.mermaid-toolbar button:focus-visible,.mermaid-panel pre:focus-visible{outline:2px dashed var(--accent);outline-offset:-2px}.mermaid-panel pre.mermaid,.mermaid-panel pre.mermaid-source{background:var(--background);color:var(--foreground);border-radius:0;margin:0;padding:1rem;overflow:auto}.mermaid-panel pre.mermaid-source{font:.875rem/1.6 var(--font-app), monospace;white-space:pre}.mermaid-panel [hidden]{display:none!important}.mermaid-panel pre.mermaid[data-processed]{background:var(--background)!important}.mermaid-source code{color:inherit;font:inherit;background:0 0;padding:0;display:block}.mermaid-status:not(:empty){color:var(--muted-foreground);margin:0;padding:.5rem 1rem;font-size:.875rem}.mermaid-panel,.mermaid-expanded,.code-panel{--diagram-frame:color-mix(in srgb, var(--foreground) 12%, var(--background));--diagram-muted:color-mix(in srgb, var(--foreground) 68%, var(--background))}.mermaid-panel,.code-panel{border-color:var(--diagram-frame);border-radius:10px;margin-block:1.25rem}.mermaid-panel .mermaid-toolbar,.code-panel .content-toolbar{background:0 0;border-bottom:0;gap:2px;min-height:40px;padding:4px 10px;line-height:1.5}.mermaid-panel .mermaid-toolbar>span,.code-panel .content-toolbar>span{color:var(--diagram-muted);letter-spacing:.02em;font-size:11px;font-weight:500}.mermaid-toolbar button,.content-toolbar button{color:var(--diagram-muted);border-radius:6px}.mermaid-panel .mermaid-toolbar>button{min-height:28px;font-size:12px}.mermaid-toolbar button:hover,.content-toolbar button:hover{background:color-mix(in srgb, var(--foreground) 6%, transparent);color:var(--accent)}.mermaid-toolbar .mermaid-copy,.content-toolbar .copy-code{white-space:nowrap;width:3.5rem}.mermaid-toolbar .mermaid-copy[data-copied=true],.content-toolbar .copy-code[data-copied=true]{color:var(--accent)}.mermaid-panel+:is(h2,h3),.code-panel+:is(h2,h3){margin-block-start:1.5rem}.code-panel{border:1px solid var(--diagram-frame);background:var(--background);overflow:hidden}.code-panel .content-toolbar{font-family:var(--font-app), monospace;align-items:center;display:flex}.code-panel .content-toolbar>span{margin-inline-end:auto}.code-panel .content-toolbar button{min-height:32px;font:12px/1.5 var(--font-app), monospace;cursor:pointer;background-color:#0000;border:0;justify-content:center;align-items:center;padding:6px 8px;display:inline-flex}.code-panel .content-toolbar button:hover{background:color-mix(in srgb, var(--foreground) 6%, transparent)}.code-panel .content-toolbar button:focus-visible{outline:2px dashed var(--accent);outline-offset:-2px}#article .code-panel>pre.astro-code{border:0;border-radius:0;margin:0;padding:12px 16px 16px}#article img{border:0}.mermaid-panel pre.mermaid.mermaid-zoom-viewport{height:min(var(--mermaid-preview-height), 40svh);white-space:normal;min-height:160px;margin:0;padding:0;display:block;position:relative;overflow:hidden}.mermaid-zoom-stage{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.mermaid-panel pre.mermaid .mermaid-zoom-stage>svg,.mermaid-expanded .mermaid-zoom-stage>svg{flex-shrink:0;max-height:none;display:block;overflow:visible;width:calc(100% - 24px)!important;max-width:none!important;height:calc(100% - 24px)!important}.mermaid-zoom-tools{flex-shrink:0;align-items:center;gap:0;display:inline-flex}.mermaid-toolbar .mermaid-zoom-tools button{width:32px;min-height:32px;padding:6px}.mermaid-zoom-amount{text-align:center;min-width:3.5ch;color:var(--diagram-muted);font-variant-numeric:tabular-nums;user-select:none;font-size:11px}.mermaid-toolbar button:disabled{opacity:.35;cursor:default}.mermaid-zoom-hint{color:var(--diagram-muted);font:11px/1.5 var(--font-app), monospace;text-align:center;margin:0;padding:2px 12px 8px}.mermaid-zoom-viewport.is-panning,.mermaid-expanded-canvas.is-panning{cursor:grabbing!important}.mermaid-expanded{border:1px solid var(--diagram-frame);background:var(--background);width:min(1200px,100vw - 32px);max-width:none;height:min(900px,100dvh - 48px);max-height:none;color:var(--foreground);font-family:var(--font-app), monospace;border-radius:12px;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 24px 100px #0004}.mermaid-expanded[open]{flex-direction:column;display:flex}.mermaid-expanded::backdrop{backdrop-filter:blur(4px);background:#10152299}.mermaid-expanded .mermaid-toolbar{border-color:var(--diagram-frame);flex-shrink:0;padding:6px 10px}.mermaid-expanded-canvas{flex:1;min-height:0;position:relative;overflow:hidden}.mermaid-expanded-canvas:focus-visible{outline:2px dashed var(--accent);outline-offset:-4px}.mermaid-expanded .mermaid-zoom-hint{border-top:1px solid var(--diagram-frame);padding:10px}@media (width<=480px){.mermaid-panel .mermaid-toolbar,.code-panel .content-toolbar{gap:0;padding:4px 6px}.mermaid-toolbar .mermaid-zoom-tools button{width:28px;min-height:36px;padding:5px}.mermaid-panel .mermaid-toolbar>span{font-size:11px}.mermaid-panel .mermaid-toolbar>button{padding-inline:5px;font-size:12px}.mermaid-expanded{width:calc(100vw - 16px);height:calc(100dvh - 24px)}}@media (pointer:coarse){.mermaid-toolbar .mermaid-zoom-tools button,.mermaid-toolbar>button,.code-panel .content-toolbar button{min-width:36px;min-height:40px}}@media (width<=380px){.mermaid-panel .mermaid-zoom-amount{display:none}}
