@import"https://api.fontshare.com/v2/css?f[]=clash-display@200,300,400,500,600,700&f[]=satoshi@300,400,500,700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500&display=swap";.nav[data-astro-cid-dmqpwcec]{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-bg-translucent);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));border-bottom:var(--border-hairline)}.nav-left[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:var(--space-3)}.nav-back[data-astro-cid-dmqpwcec]{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--color-text-muted);transition:color var(--dur-base) var(--ease-standard)}.nav-back[data-astro-cid-dmqpwcec]:hover{color:var(--color-text)}html.back-fits .nav-back[data-astro-cid-dmqpwcec]{display:none}.nav-brand[data-astro-cid-dmqpwcec]{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-body-medium);color:var(--color-text);letter-spacing:var(--ls-wide);transition:color var(--dur-base) var(--ease-standard)}.nav-brand[data-astro-cid-dmqpwcec]:hover{color:var(--color-primary)}.nav-links[data-astro-cid-dmqpwcec]{display:flex;gap:var(--space-4)}.nav-link[data-astro-cid-dmqpwcec]{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-text-muted);letter-spacing:var(--ls-wide);transition:color var(--dur-base) var(--ease-standard)}.nav-link[data-astro-cid-dmqpwcec]:hover,.nav-link--active[data-astro-cid-dmqpwcec]{color:var(--color-text)}.nav-toggle[data-astro-cid-dmqpwcec]{display:none;flex-direction:column;gap:var(--space-1);background:none;border:none;cursor:pointer;padding:var(--space-1)}.nav-toggle-bar[data-astro-cid-dmqpwcec]{display:block;width:18px;height:1.5px;background:var(--color-text-muted);transition:transform var(--dur-base) var(--ease-standard),opacity var(--dur-base) var(--ease-standard)}.nav-toggle[data-astro-cid-dmqpwcec][aria-expanded=true] .nav-toggle-bar[data-astro-cid-dmqpwcec]:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.nav-toggle[data-astro-cid-dmqpwcec][aria-expanded=true] .nav-toggle-bar[data-astro-cid-dmqpwcec]:nth-child(2){opacity:0}.nav-toggle[data-astro-cid-dmqpwcec][aria-expanded=true] .nav-toggle-bar[data-astro-cid-dmqpwcec]:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.nav-dropdown[data-astro-cid-dmqpwcec]{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg-translucent);backdrop-filter:blur(var(--blur));-webkit-backdrop-filter:blur(var(--blur));border-bottom:var(--border-hairline);padding:var(--space-3) var(--space-4);transform:translateY(calc(-1 * var(--space-2)));opacity:0;transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out);pointer-events:none}.nav-dropdown[data-astro-cid-dmqpwcec].open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-dropdown-links[data-astro-cid-dmqpwcec]{display:flex;flex-direction:column;gap:var(--space-3)}.nav-dropdown-link[data-astro-cid-dmqpwcec]{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--color-text-muted);letter-spacing:var(--ls-wide);transition:color var(--dur-base) var(--ease-standard)}.nav-dropdown-link[data-astro-cid-dmqpwcec]:hover,.nav-dropdown-link--active[data-astro-cid-dmqpwcec]{color:var(--color-text)}@media(max-width:640px){.nav-links[data-astro-cid-dmqpwcec]{display:none}.nav-toggle[data-astro-cid-dmqpwcec]{display:flex}.nav-dropdown[data-astro-cid-dmqpwcec]{display:block}}:root{--color-primary: #e88868;--color-primary-hover: #f09878;--color-secondary: #c86058;--color-secondary-hover: #d87068;--color-accent: #4868a8;--color-bg: #080a10;--color-bg-translucent: rgba(10,10,15,.92);--color-surface: #0e1218;--color-surface-2: #141a22;--color-line: #1a2030;--color-line-strong: #222838;--color-text: #e8e4e0;--color-text-muted: #92a2b4;--color-text-subtle: #485060;--color-on-primary: #3a2018;--font-display: "Clash Display", "Inter", sans-serif;--font-body: "Satoshi", "Inter", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--fs-xs: 12px;--fs-sm: 14px;--fs-base: 16px;--fs-md: 18px;--fs-lg: 22px;--fs-xl: 28px;--fs-2xl: 36px;--fs-3xl: 48px;--fs-4xl: 128px;--fw-display-light: 300;--fw-display: 500;--fw-display-bold: 600;--fw-body: 400;--fw-body-medium: 500;--fw-body-bold: 700;--fw-mono: 400;--fw-mono-medium: 500;--lh-tight: 1.05;--lh-snug: 1.2;--lh-normal: 1.6;--lh-relaxed: 1.75;--ls-tight: -.02em;--ls-snug: -.01em;--ls-normal: 0;--ls-wide: .02em;--ls-mono: 0;--ls-caps: .08em;--space-px: 1px;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 32px;--space-5: 64px;--space-6: 128px;--radius-0: 0;--radius-1: 4px;--radius-2: 12px;--border-hairline: 1px solid var(--color-line);--border-strong: 1px solid var(--color-line-strong);--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 8px 24px rgba(0,0,0,.5);--shadow-glow-primary: 0 0 24px rgba(232,136,104,.15);--shadow-glow-primary-strong:0 0 28px rgba(232,136,104,.35);--shadow-glow-secondary: 0 0 24px rgba(72,104,168,.06);--layout-1: 120px;--layout-2: 240px;--layout-3: 480px;--layout-4: 800px;--layout-5: 980px;--layout-6: 1200px;--blur: 12px;--opacity-dim: .85;--ease-standard: cubic-bezier(.2,0,0,1);--ease-out: cubic-bezier(.16,1,.3,1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .4s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:var(--lh-normal);overflow-x:hidden}a{color:inherit;text-decoration:none}ul,ol{list-style:none}::selection{background-color:var(--color-accent);color:var(--color-text)}.h-display,.h1,h1{font-family:var(--font-display);font-weight:var(--fw-display);font-size:clamp(var(--fs-3xl),8vw,var(--fs-4xl));line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--color-primary)}.h2,h2{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-2xl);line-height:var(--lh-snug);letter-spacing:var(--ls-snug);color:var(--color-text)}.h3,h3{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-xl);line-height:var(--lh-snug);color:var(--color-text)}.h4,h4{font-family:var(--font-body);font-weight:var(--fw-body-medium);font-size:var(--fs-lg);line-height:var(--lh-snug);color:var(--color-text)}.body,p{font-family:var(--font-body);font-weight:var(--fw-body);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text)}.body-lg{font-size:var(--fs-md);line-height:var(--lh-relaxed)}.caption,small{font-family:var(--font-mono);font-weight:var(--fw-mono);font-size:var(--fs-xs);color:var(--color-text-muted);letter-spacing:var(--ls-wide)}.mono,code,kbd,samp,pre{font-family:var(--font-mono);font-weight:var(--fw-mono);font-size:.95em}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--color-text-muted)}.link,a.link{color:var(--color-secondary);border-bottom:1px solid transparent;transition:border-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}.link:hover{border-bottom-color:currentColor}.btn{font-family:var(--font-body);font-weight:var(--fw-body-medium);font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-2);border:var(--border-hairline);cursor:pointer;background:var(--color-surface);color:var(--color-text);letter-spacing:var(--ls-normal);transition:all var(--dur-base) var(--ease-standard)}.btn:hover{background:var(--color-surface-2);border-color:var(--color-text-muted);color:var(--color-text);box-shadow:var(--shadow-glow-secondary)}.btn:active{opacity:var(--opacity-dim)}.btn.filled{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);font-weight:var(--fw-display-bold)}.btn.filled:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-glow-primary-strong)}.btn.filled-secondary{background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text);font-weight:var(--fw-display-bold)}.btn.filled-secondary:hover{background:var(--color-secondary-hover);border-color:var(--color-secondary-hover);box-shadow:var(--shadow-glow-primary-strong)}.btn.ghost{background:transparent;border-color:transparent;color:var(--color-text-muted)}.btn.ghost:hover{color:var(--color-text);border-color:transparent;box-shadow:none}.btn.mono{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-wide)}.btn.sm{font-size:var(--fs-xs);padding:var(--space-1) var(--space-2)}.code-inline code,:not(pre)>code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--color-surface);border:var(--border-hairline);padding:var(--space-px) var(--space-2);border-radius:var(--radius-1);color:var(--color-primary)}.code-block,pre:not([class*=astro-code]){background:var(--color-surface);border:var(--border-hairline);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--color-text);border-radius:var(--radius-1);overflow-x:auto}.page-section{padding:var(--space-6) var(--space-5) var(--space-5);max-width:var(--layout-6);margin:0 auto;container-type:inline-size}.page-header{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.page-title{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-display);color:var(--color-primary);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}@container (max-width: 500px){.page-section{padding:var(--space-6) var(--space-3) var(--space-4)}}.prose{display:flex;flex-direction:column;gap:var(--space-3)}.prose p{font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--color-text)}.prose h2{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-2xl);line-height:var(--lh-snug);letter-spacing:var(--ls-snug);color:var(--color-text);margin-top:var(--space-4)}.prose h3{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-xl);line-height:var(--lh-snug);color:var(--color-text);margin-top:var(--space-3)}.prose a{color:var(--color-secondary);border-bottom:1px solid transparent;transition:border-color var(--dur-base) var(--ease-standard)}.prose a:hover{border-bottom-color:currentColor}.prose ul,.prose ol{padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-text)}.prose blockquote{border-left:2px solid var(--color-line);padding-left:var(--space-3);color:var(--color-text-muted);font-style:italic}.prose hr{border:none;border-top:var(--border-hairline);margin:var(--space-3) 0}.prose img{max-width:100%;height:auto;border-radius:var(--radius-1);border:var(--border-hairline)}.prose pre{background:var(--color-bg);border:var(--border-hairline);border-radius:var(--radius-1);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--lh-normal);overflow-x:auto;position:relative}.prose pre[data-title]:before{content:attr(data-title);display:block;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-text-muted);letter-spacing:var(--ls-wide);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:var(--border-hairline)}.prose pre[data-line-numbers] code{counter-reset:line}.prose pre[data-line-numbers] code .line:before{counter-increment:line;content:counter(line);display:inline-block;width:2ch;margin-right:var(--space-3);text-align:right;color:var(--color-text-subtle)}.prose pre .copy-btn{position:absolute;top:var(--space-2);right:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-text-muted);background:var(--color-surface);border:var(--border-hairline);border-radius:var(--radius-1);padding:var(--space-1) var(--space-2);cursor:pointer;opacity:0;transition:opacity var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}.prose pre:hover .copy-btn{opacity:1}.prose pre .copy-btn:hover{color:var(--color-text)}.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.prose th,.prose td{min-width:120px;padding:var(--space-2) var(--space-3);border:var(--border-hairline);text-align:left;vertical-align:top}.prose th{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-heading);color:var(--color-text-muted);letter-spacing:var(--ls-wide);background:var(--color-surface)}.prose td{color:var(--color-text)}.prose :not(pre)>code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--color-surface);border:var(--border-hairline);padding:var(--space-px) var(--space-2);border-radius:var(--radius-1);color:var(--color-primary)}
