.theme-toggle[data-astro-cid-x3pjskd3]{background:none;border:none;padding:var(--space-4);cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:center;line-height:1;transition:color var(--transition-fast)}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--accent);background:none}.icon-moon[data-astro-cid-x3pjskd3]{display:none}.icon-sun[data-astro-cid-x3pjskd3]{display:block}[data-theme=light] .icon-sun[data-astro-cid-x3pjskd3]{display:none}[data-theme=light] .icon-moon[data-astro-cid-x3pjskd3]{display:block}header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;width:100%;z-index:99;background-color:var(--bg)}.header-container[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 0;width:var(--section-width);margin:0 auto}.nav[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-xl)}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:var(--font-body);font-weight:500;color:var(--text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.logo-link[data-astro-cid-3ef6ksr2]{text-decoration:none}.pipe-icon[data-astro-cid-3ef6ksr2]{width:var(--space-xl);height:auto}footer[data-astro-cid-sz7xmlte]{background-color:var(--bg);border-top:var(--border);padding:var(--space-xl) var(--space-md)}.footer-inner[data-astro-cid-sz7xmlte]{width:var(--section-width);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md)}.footer-credits[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;font-size:var(--font-caption);color:var(--text-secondary)}.footer-credits[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text-secondary)}.footer-credits[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.sep[data-astro-cid-sz7xmlte]{color:var(--text-muted)}.styleguide-link[data-astro-cid-sz7xmlte]{font-size:var(--font-caption);color:var(--text-secondary)}.styleguide-link[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono/JetBrainsMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono/JetBrainsMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono/JetBrainsMono-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}.markdown{max-width:70ch;margin-inline:auto;line-height:1.5}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:700;line-height:1.5;margin-top:var(--space-3xl);margin-bottom:var(--space-md)}.markdown h1{font-size:var(--font-h1)}.markdown h2{font-size:1.5rem}.markdown h3{font-size:1.25rem}.markdown h4{font-size:1.125rem}.markdown h5{font-size:1rem}.markdown h6{font-size:.875rem;color:var(--text-secondary)}.markdown>h1:first-child,.markdown>h2:first-child,.markdown>h3:first-child,.markdown>h4:first-child,.markdown>h5:first-child,.markdown>h6:first-child{margin-top:0}.markdown p{margin-bottom:var(--space-md)}.markdown p:last-child{margin-bottom:0}.markdown a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;color:var(--text);font-weight:500;transition:color var(--transition-fast)}.markdown a:hover{color:var(--accent)}.markdown ul,.markdown ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.markdown li{margin-bottom:var(--space-sm)}.markdown li:last-child{margin-bottom:0}.markdown ul ul,.markdown ul ol,.markdown ol ul,.markdown ol ol{margin-top:var(--space-sm);margin-bottom:0}.markdown dl{margin-bottom:var(--space-md)}.markdown dt{font-weight:700;margin-top:var(--space-md)}.markdown dt:first-child{margin-top:0}.markdown dd{margin-left:var(--space-lg);color:var(--text-secondary)}.markdown blockquote{margin:var(--space-lg) 0;padding:var(--space-md) var(--space-lg);border-left:4px solid var(--border-outline);background-color:var(--bg-surface);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-secondary);font-style:italic}.markdown blockquote p{margin-bottom:0}.markdown blockquote p+p{margin-top:var(--space-md)}.markdown code{font-family:var(--ff);font-size:.875em;background-color:var(--bg-surface);padding:.125em .375em;border-radius:var(--radius);border:var(--border)}.markdown pre{margin:var(--space-lg) 0;padding:var(--space-md);background-color:var(--bg-surface);border-radius:var(--radius);border:var(--border);overflow-x:auto;line-height:1.6}.markdown pre code{background:none;padding:0;border:none;font-size:var(--font-caption)}.markdown hr{margin:var(--space-2xl) 0;border:none;border-top:var(--border)}.markdown table{width:100%;margin:var(--space-lg) 0;border-collapse:collapse;font-size:var(--font-caption)}.markdown th,.markdown td{padding:var(--space-sm) var(--space-md);text-align:left;border:var(--border)}.markdown th{font-weight:700;background-color:var(--bg-surface)}.markdown tr:nth-child(2n){background-color:var(--bg-surface)}.markdown img{max-width:100%;height:auto;margin:var(--space-lg) 0;border-radius:var(--radius);display:block}.markdown strong,.markdown b{font-weight:700}.markdown em,.markdown i{font-style:italic}.markdown del,.markdown s{text-decoration:line-through;color:var(--text-secondary)}.markdown ins{text-decoration:underline;text-decoration-style:dashed}.markdown kbd{font-family:var(--ff);font-size:.875em;background-color:var(--bg-surface);padding:.125em .5em;border-radius:var(--radius);border:1px solid var(--border-outline);box-shadow:inset 0 -1px 0 var(--border-outline)}.markdown samp{font-family:var(--ff);font-size:.875em;color:var(--text-secondary)}.markdown var{font-style:italic;color:var(--accent)}.markdown small{font-size:var(--font-caption);color:var(--text-secondary)}.markdown mark{background:var(--accent);color:#fdfcfc;padding:0 .2em;border-radius:var(--radius)}.markdown sub,.markdown sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}.markdown sup{top:-.5em}.markdown sub{bottom:-.25em}.markdown abbr,.markdown acronym{text-decoration:underline dotted;text-underline-offset:2px;cursor:help}.markdown cite{font-style:italic;color:var(--text-secondary)}.markdown data{font-variant-numeric:tabular-nums}.markdown dfn{font-style:italic;font-weight:500}.markdown q{quotes:'"' '"' "" " " ""}.markdown q:before{content:open-quote}.markdown q:after{content:close-quote}.markdown time{font-variant-numeric:tabular-nums}.markdown u{text-decoration:underline;text-decoration-style:wavy;text-underline-offset:2px}@media(max-width:640px){.markdown{max-width:100%}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin-top:var(--space-2xl)}.markdown pre{padding:var(--space-sm);font-size:.8125rem}.markdown table{display:block;overflow-x:auto;white-space:nowrap}.markdown th,.markdown td{padding:var(--space-xs) var(--space-sm)}}:root{--bg: #201d1d;--bg-surface: #302c2c;--bg-light: #f1eeee;--text: #fdfcfc;--text-secondary: #9a9898;--text-muted: #6e6e73;--text-dark: #424245;--accent: #007aff;--accent-hover: #0056b3;--accent-active: #004085;--danger: #ff3b30;--danger-hover: #d70015;--danger-active: #a50011;--success: #30d158;--warning: #ff9f0a;--warning-hover: #cc7f08;--warning-active: #995f06;--input-bg: #f8f7f7;--border-color: rgba(15, 0, 0, .12);--border: 1px solid var(--border-color);--border-tab: #9a9898;--border-outline: #646262;color-scheme:dark;--ff: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-h1: 2.375rem;--font-body: 1rem;--font-caption: .875rem;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-64: 64px;--space-80: 80px;--space-96: 96px;--space-xs: var(--space-4);--space-sm: var(--space-8);--space-md: var(--space-16);--space-lg: var(--space-24);--space-xl: var(--space-32);--space-2xl: var(--space-48);--space-3xl: var(--space-64);--space-4xl: var(--space-96);--radius: 4px;--radius-input: 6px;--section-width: min(900px, 80vw);--icon-lg: 2em;--icon-md: 1.5em;--icon-sm: 1em;--transition-fast: .15s ease;--transition-ease: .15s ease}[data-theme=light]{--bg: #f1eeee;--bg-surface: #e4e0e0;--bg-light: #f1eeee;--text: #201d1d;--text-secondary: #5a5858;--text-muted: #6e6e73;--text-dark: #424245;--accent: #0062cc;--accent-hover: #004999;--accent-active: #003366;--input-bg: #ffffff;--border-color: rgba(15, 0, 0, .15);--border-tab: #6e6e73;--border-outline: #9a9898;color-scheme:light}*,*:before,*:after{box-sizing:border-box}:where(body){margin:0}html{scroll-behavior:smooth;font-size:16px}@media(max-width:640px){:root{--section-width: 90vw;--font-h1: 1.5rem}}@media(min-width:641px)and (max-width:1024px){:root{--section-width: 85vw;--font-h1: 1.75rem}}body{color:var(--text);font-family:var(--ff);font-size:var(--font-body);font-weight:400;line-height:1.5;background-color:var(--bg)}button{background:var(--bg);padding:var(--space-4) var(--space-20);color:var(--text);font-family:var(--ff);font-size:var(--font-body);font-weight:500;line-height:2;border-radius:var(--radius);border:1px solid var(--border-outline);cursor:pointer;text-decoration:none;transition:background-color var(--transition-fast)}button:hover{background:var(--bg-surface)}img{box-shadow:none}.container-center{display:flex;align-items:center;justify-content:center}.interactive{fill:var(--text);transition:fill var(--transition-fast),stroke var(--transition-fast),color var(--transition-fast)}.interactive:hover{fill:var(--accent);color:var(--accent)}mark{background:var(--accent);color:#fdfcfc;padding:0 .2em;border-radius:var(--radius)}a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;color:var(--text);font-weight:500;transition:color var(--transition-fast)}a:hover{color:var(--accent)}p,h1,h2,h3,h4,h5,h6{margin:0;padding:0}body{margin:0;display:flex;flex-direction:column;min-height:100vh}main[data-astro-cid-sckkx6r4]{flex:1}
