:root{--color-background: #f7f7ff;--color-surface: #ffffff;--color-surface-low: #f3f3fb;--color-surface-mid: #ededf5;--color-surface-high: #e7e7ef;--color-primary: #5b34e9;--color-primary-hover: #4a2ac4;--color-primary-container: #e5deff;--color-on-primary-container: #4300d1;--color-text: #1a1b21;--color-text-secondary: #484556;--color-text-muted: #797587;--color-hairline: rgba(35, 16, 82, .15);--color-hairline-solid: #d4d0e0;--color-accent: #745b00;--color-accent-container: #ffe08b;--color-error: #ba1a1a;--color-error-container: #ffdad6;--color-success: #2e7d32;--color-code-bg: #1a1b26;--color-code-bg-header: #15161e;--color-code-border: #292e42;--color-code-text: #a9b1d6;--color-code-keyword: #bb9af7;--color-code-string: #9ece6a;--color-code-function: #7aa2f7;--color-code-comment: #565f89;--color-code-type: #2ac3de;--color-code-number: #ff9e64;--color-code-prompt: #e9c34f;--font-headline: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-code: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--text-headline-xl: 3rem;--text-headline-lg: 2rem;--text-headline-md: 1.5rem;--text-headline-sm: 1.125rem;--text-body-lg: 1rem;--text-body-md: .875rem;--text-body-sm: .8125rem;--text-code: .8125rem;--text-code-sm: .6875rem;--text-label: .6875rem;--leading-headline: 1.1;--leading-headline-md: 1.3;--leading-body: 1.6;--leading-body-sm: 1.5;--leading-code: 1.7;--tracking-headline: -.02em;--tracking-headline-md: -.01em;--tracking-label: .08em;--weight-bold: 700;--weight-semibold: 600;--weight-regular: 400;--weight-code: 450;--space-unit: .25rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-gutter: 1.5rem;--space-margin: 3rem;--border-hairline: 1px solid var(--color-hairline);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-none: 0;--shadow-block: 4px 4px 0 rgba(35, 16, 82, .1);--shadow-block-sm: 2px 2px 0 rgba(35, 16, 82, .08);--transition-fast: .15s ease;--transition-normal: .2s ease;--max-width: 1440px;--header-height: 4rem;--sidebar-width: 16rem;--grid-pattern-color: rgba(35, 16, 82, .04);--grid-pattern-size: 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-body-lg);font-weight:var(--weight-regular);line-height:var(--leading-body);color:var(--color-text);background-color:var(--color-background);min-height:100vh;display:flex;flex-direction:column}h1,.headline-xl{font-family:var(--font-headline);font-size:var(--text-headline-xl);font-weight:var(--weight-bold);line-height:var(--leading-headline);letter-spacing:var(--tracking-headline);color:var(--color-text)}h2,.headline-md{font-family:var(--font-headline);font-size:var(--text-headline-md);font-weight:var(--weight-semibold);line-height:var(--leading-headline-md);letter-spacing:var(--tracking-headline-md);color:var(--color-text)}h3,.headline-sm{font-family:var(--font-headline);font-size:var(--text-headline-sm);font-weight:var(--weight-semibold);line-height:1.4;color:var(--color-text)}.label-caps{font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--weight-bold);line-height:1;letter-spacing:var(--tracking-label);text-transform:uppercase}.body-lg{font-family:var(--font-body);font-size:var(--text-body-lg);font-weight:var(--weight-regular);line-height:var(--leading-body)}.body-md{font-family:var(--font-body);font-size:var(--text-body-md);font-weight:var(--weight-regular);line-height:var(--leading-body-sm)}.code-text{font-family:var(--font-code);font-size:var(--text-code);font-weight:var(--weight-code);line-height:var(--leading-code)}.code-text-sm{font-family:var(--font-code);font-size:var(--text-code-sm);font-weight:var(--weight-regular);line-height:1.4}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-body);font-weight:var(--weight-bold);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;line-height:1}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:.625rem}.btn-md{padding:var(--space-sm) var(--space-lg)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-hairline)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{color:var(--color-primary);background:var(--color-surface-low)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary-container);color:var(--color-on-primary-container)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-hairline-solid);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.schematic-grid{background-image:linear-gradient(to right,var(--grid-pattern-color) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-pattern-color) 1px,transparent 1px);background-size:var(--grid-pattern-size) var(--grid-pattern-size)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){:root{--text-headline-xl: 2.25rem;--text-headline-lg: 1.75rem;--text-headline-md: 1.375rem;--space-margin: 1.5rem;--space-gutter: 1rem}}@media(max-width:640px){:root{--text-headline-xl: 1.875rem;--text-headline-lg: 1.5rem;--text-headline-md: 1.25rem;--space-margin: 1rem}}.header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:var(--color-surface);border-bottom:var(--border-hairline);height:var(--header-height)}.header-inner[data-astro-cid-3ef6ksr2]{max-width:var(--max-width);margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-margin);position:relative}.header-left[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-xl);height:100%}.header-brand[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.625rem;text-decoration:none;color:var(--color-primary);flex-shrink:0}.header-brand-logo[data-astro-cid-3ef6ksr2]{display:block;width:auto;height:1.125rem;flex-shrink:0}.header-nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:stretch;height:100%;gap:var(--space-md)}.header-nav-link[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;padding:0 var(--space-xs);font-family:var(--font-body);font-size:var(--text-body-md);color:var(--color-text-secondary);text-decoration:none;border-bottom:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast);height:100%}.header-nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-primary)}.header-nav-link--active[data-astro-cid-3ef6ksr2]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.header-right[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-md)}.header-icon-btn[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);color:var(--color-text-muted);transition:color var(--transition-fast),background var(--transition-fast)}.header-icon-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--color-primary);background:var(--color-surface-low)}@media(max-width:768px){.header[data-astro-cid-3ef6ksr2]{height:auto}.header-inner[data-astro-cid-3ef6ksr2]{padding:0 var(--space-md);align-items:flex-start}.header-left[data-astro-cid-3ef6ksr2]{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0}.header-brand[data-astro-cid-3ef6ksr2]{min-height:var(--header-height);padding-right:3rem}.header-nav[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-lg);height:auto;overflow-x:auto;padding:0 0 var(--space-xs);scrollbar-width:none}.header-nav[data-astro-cid-3ef6ksr2]::-webkit-scrollbar{display:none}.header-nav-link[data-astro-cid-3ef6ksr2]{height:auto;padding:var(--space-xs) 0;white-space:nowrap}.header-right[data-astro-cid-3ef6ksr2]{position:absolute;top:0;right:var(--space-md);height:var(--header-height)}}.footer[data-astro-cid-sz7xmlte]{background:var(--color-surface);border-top:var(--border-hairline);padding:var(--space-md) 0;margin-top:auto}.footer-inner[data-astro-cid-sz7xmlte]{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-margin);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.footer-brand[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-2xs);align-items:flex-start}.footer-brand-link[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;width:fit-content}.footer-brand-logo[data-astro-cid-sz7xmlte]{display:block;width:auto;height:1rem}.footer-product[data-astro-cid-sz7xmlte]{font-family:var(--font-headline);font-size:var(--text-body-md);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.footer-links[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-lg)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-family:var(--font-body);font-size:var(--text-body-md);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-primary)}.footer-copy[data-astro-cid-sz7xmlte]{font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-text-muted)}.footer-copy[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:inherit;text-decoration:underline;text-underline-offset:2px}.footer-copy[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-primary)}@media(max-width:640px){.footer-inner[data-astro-cid-sz7xmlte]{flex-direction:column;text-align:center;gap:var(--space-sm);padding:0 var(--space-md)}.footer-brand[data-astro-cid-sz7xmlte]{align-items:center}.footer-links[data-astro-cid-sz7xmlte]{gap:var(--space-md)}}
