.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)}@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{font-family:var(--ff);color:var(--text);line-height:1.5;font-size:var(--font-body);max-width:70ch;margin-inline:auto}.markdown h1{font-size:var(--font-h1);font-weight:700;line-height:1.5;margin-bottom:var(--space-lg)}.markdown h2{font-size:var(--font-body);font-weight:700;line-height:1.5;margin-bottom:var(--space-md)}.markdown h3{font-size:var(--font-body);font-weight:700;line-height:1.5;margin-bottom:var(--space-sm)}.markdown h4,.markdown h5,.markdown h6{font-size:var(--font-body);font-weight:700;margin-bottom:var(--space-sm)}.markdown p{margin-bottom:var(--space-md)}.markdown ul,.markdown ol{margin:var(--space-md) 0;padding-left:var(--space-lg);line-height:1.5}.markdown li{margin-bottom:var(--space-xs)}.markdown blockquote{border-left:4px solid var(--accent);padding-left:var(--space-md);color:var(--text-secondary);margin:var(--space-lg) 0;background:var(--bg-surface);padding:var(--space-sm) var(--space-md);border-radius:var(--radius)}.markdown code{background:var(--bg-surface);padding:.15em .4em;border-radius:var(--radius);font-size:.9em}.markdown pre{background:var(--bg-surface);padding:var(--space-md);border-radius:var(--radius);overflow-x:auto;border:var(--border);margin:var(--space-lg) 0}.markdown pre code{background:none;padding:0}.markdown img{max-width:100%;height:auto;margin:var(--space-md) auto;display:block;border-radius:var(--radius)}.markdown hr{border:none;border-top:var(--border);margin:var(--space-lg) 0}.markdown table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0;font-size:var(--font-body)}.markdown th,.markdown td{border:var(--border);padding:var(--space-xs) var(--space-sm)}.markdown th{background:var(--bg-surface);font-weight:700}: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}
