:root{--phi: 1.618;--step--2: .6875rem;--step--1: .875rem;--step-0: clamp(1.0625rem, 1rem + .2vw, 1.125rem);--step-1: clamp(1.25rem, 1.15rem + .35vw, 1.4375rem);--step-2: clamp(1.5rem, 1.3rem + .8vw, 1.8125rem);--step-3: clamp(1.8125rem, 1.45rem + 1.5vw, 2.3125rem);--step-4: clamp(2.125rem, 1.6rem + 2.4vw, 2.9375rem);--step-5: clamp(2.5rem, 1.7rem + 3.6vw, 3.75rem);--step-6: clamp(2.75rem, 1.6rem + 5.2vw, 4.75rem);--lh-body: 1.618;--lh-snug: 1.382;--lh-tight: 1.1;--space-3xs: .236rem;--space-2xs: .382rem;--space-xs: .618rem;--space-s: 1rem;--space-m: 1.618rem;--space-l: 2.618rem;--space-xl: 4.236rem;--space-2xl: 6.854rem;--space-3xl: 11.09rem;--space-section: clamp(var(--space-xl), 8vw, var(--space-2xl));--space-section-lg: clamp(5.39rem, 10vw, 8.72rem);--container: 74rem;--container-prose: 44rem;--container-copy: calc(var(--container) / 1.272);--container-wide: 80rem;--gutter: clamp(1rem, 4vw, var(--space-l));--split-text: 1fr;--split-visual: 1.618fr;--header-h: 3.75rem;--ratio-golden: 1.618 / 1;--radius-s: .382rem;--radius-m: .618rem;--radius-l: 1rem;--radius-xl: 1.618rem;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--bg: light-dark(#fbfbfe, #080b1f);--bg-elevated: light-dark(#ffffff, #0d1230);--surface: light-dark(#f3f3fa, #10163a);--surface-2: light-dark(#ebebf5, #161d48);--border: light-dark(#e2e3ee, #222a5c);--border-strong: light-dark(#c9cbdd, #323b78);--text: light-dark(#0e1130, #eef0fb);--text-body: light-dark(#2c3052, #c9cde6);--text-muted: light-dark(#53587a, #9aa1c7);--accent: light-dark(#6d28d9, #a78bfa);--accent-hover: light-dark(#5b21b6, #c4b5fd);--accent-bg: light-dark(#6d28d9, #7c3aed);--accent-bg-hover: light-dark(#5b21b6, #6d28d9);--accent-ink: #ffffff;--accent-soft: light-dark(#f1ebff, #1d1747);--accent-ring: light-dark(rgb(109 40 217 / .35), rgb(167 139 250 / .45));--green: light-dark(#15803d, #4ade80);--green-soft: light-dark(#e9f8ee, #0f2a24);--red: light-dark(#b91c1c, #f87171);--amber: light-dark(#a16207, #fbbf24);--band: light-dark(#f2f2f8, #0b0f29);--card-on-band: light-dark(#ffffff, #121a42);--band-ink: #05071a;--engine-mono: light-dark(#0e1130, #eef0fb);--engine-postgresql: #4169e1;--engine-mysql: #4479a1;--engine-mariadb: light-dark(#003545, #eef0fb);--engine-sqlite: light-dark(#003b57, #eef0fb);--engine-duckdb: light-dark(#0e1130, #fff000);--engine-cloudflare: light-dark(#0e1130, #f38020);--engine-clickhouse: light-dark(#0e1130, #ffcc01);--engine-googlebigquery: light-dark(#0e1130, #669df6);--code-bg: light-dark(#f4f4fa, #0b1029);--code-border: light-dark(#e2e3ee, #1e2552);--shadow-s: 0 1px 2px light-dark(rgb(14 17 48 / .06), rgb(0 0 0 / .4));--shadow-m: 0 1px 2px light-dark(rgb(14 17 48 / .05), rgb(0 0 0 / .35)), 0 8px 24px -6px light-dark(rgb(14 17 48 / .1), rgb(0 0 0 / .5));--shot-shadow: drop-shadow(0 0 .5px light-dark(rgb(14 17 48 / .35), rgb(190 200 255 / .45))) drop-shadow(0 2px 3px light-dark(rgb(14 17 48 / .12), rgb(0 0 0 / .5))) drop-shadow(0 24px 48px light-dark(rgb(40 30 110 / .18), rgb(0 0 0 / .55)));--glow: radial-gradient( 50% 50% at 50% 50%, light-dark(rgb(139 92 246 / .14), rgb(139 92 246 / .22)), transparent 70% );--dur-fast: 162ms;--dur: 262ms;--dur-slow: 424ms;--dur-reveal: 686ms;--ease: cubic-bezier(.2, .7, .2, 1);--ease-out: cubic-bezier(.22, 1, .36, 1)}:root{color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms;--dur-reveal: 0ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-m));hanging-punctuation:first last}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text-body);font-family:var(--font-sans);font-size:var(--step-0);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}main{flex:1;overflow-x:clip}img,picture,svg{display:block;max-width:100%;height:auto}h1,h2,h3,h4{color:var(--text);font-family:var(--font-display);line-height:var(--lh-tight);letter-spacing:-.022em;text-wrap:balance;font-weight:700}p,li,dd{text-wrap:pretty}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);transition:color var(--dur-fast) var(--ease),text-decoration-color var(--dur-fast) var(--ease)}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}strong{color:var(--text);font-weight:600}code,kbd,pre{font-family:var(--font-mono)}:not(pre)>code,kbd,.keys{white-space:nowrap}code.is-long{white-space:normal;overflow-wrap:anywhere}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent-ring)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:var(--space-s);top:-100px;z-index:100;background:var(--accent-bg);color:var(--accent-ink);padding:var(--space-xs) var(--space-s);border-radius:var(--radius-m);font-weight:600}.skip-link:focus{top:var(--space-s)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important;scroll-behavior:auto!important}}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.container-prose{width:100%;max-width:calc(var(--container-prose) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space-section)}.section.is-lg{padding-block:var(--space-section-lg)}.band{background:var(--band)}.band .card,.band .shot.is-tray{background-color:var(--card-on-band)}.band-ink{color-scheme:dark;background:var(--band-ink);color:var(--text-body)}:root[data-theme=dark] .band-ink{background:radial-gradient(70% 90% at 50% 0%,rgb(139 92 246 / .08),transparent 70%),radial-gradient(40% 60% at 90% 100%,rgb(34 197 94 / .05),transparent 70%),#10163a;box-shadow:inset 0 1px #a78bfa24,inset 0 -1px #a78bfa24}.container-copy{width:100%;max-width:calc(var(--container-copy) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.stack>*+*{margin-top:var(--space-s)}.split{display:grid;gap:var(--space-l);align-items:center}@media(min-width:60rem){.split{grid-template-columns:var(--split-text) var(--split-visual);gap:var(--space-xl)}.split.is-flipped{grid-template-columns:var(--split-visual) var(--split-text)}.split.is-flipped>:first-child{order:2}}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--step--1);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.h-hero{font-size:var(--step-6);letter-spacing:-.035em;line-height:1.04}.h-section{font-size:var(--step-4);letter-spacing:-.03em}.h-display{font-size:var(--step-5);letter-spacing:-.032em;line-height:1.06}.lead-2{color:var(--text-muted)}.lead-2>strong:first-child{color:var(--text);font-weight:600}.h-page{font-size:var(--step-5);letter-spacing:-.032em}.h-card{font-size:var(--step-1);line-height:var(--lh-snug);letter-spacing:-.012em}.lead{font-size:var(--step-1);line-height:1.5;color:var(--text-muted)}.muted{color:var(--text-muted)}.small{font-size:var(--step--1)}.mono{font-family:var(--font-mono);font-size:.9em}.accent-text{background:linear-gradient(100deg,var(--accent) 0%,light-dark(#4338ca,#c4b5fd) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.section-head{max-width:46rem;margin-bottom:var(--space-l)}.section-head>*+*{margin-top:var(--space-s)}.section-head>.lead{margin-top:var(--space-m);max-width:60ch}.section-head.is-center>.lead{margin-inline:auto}.section-head.is-wide{max-width:var(--container-copy);margin-bottom:var(--space-xl)}.section-head.is-center{margin-inline:auto;text-align:center}kbd{display:inline-block;min-width:1.6em;padding:0 .35em;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:var(--radius-s);background:var(--bg-elevated);color:var(--text);font-size:.82em;line-height:1.5;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.75rem;padding:0 var(--space-m);border-radius:999px;border:1px solid transparent;font-weight:600;font-size:var(--step-0);line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn-primary{background:var(--accent-bg);color:var(--accent-ink);box-shadow:0 1px #ffffff26 inset,var(--shadow-s)}:is(a,button).btn-primary:is(:hover,:focus-visible){background:var(--accent-bg-hover);color:var(--accent-ink);box-shadow:0 1px #ffffff26 inset,0 10px 24px -8px light-dark(rgb(109 40 217 / .55),rgb(139 92 246 / .6))}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){:is(a,button).btn:hover{transform:translateY(-1px)}}.btn .btn-arrow{width:.9em;height:.9em;margin-right:-.2em;transition:transform var(--dur-fast) var(--ease)}.btn:is(:hover,:focus-visible) .btn-arrow{transform:translate(3px)}.store-chip{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:2.75rem;padding:var(--space-3xs) var(--space-m) var(--space-3xs) var(--space-s);border:1px dashed var(--border-strong);border-radius:999px;color:var(--text-muted);line-height:1.15;white-space:nowrap}.store-chip svg{width:1.4em;height:1.4em;flex:none}.store-chip-text{display:flex;flex-direction:column;font-weight:600;color:var(--text)}.store-chip-small{font-size:var(--step--2);font-weight:500;color:var(--text-muted);letter-spacing:.02em}.store-chip.is-sm{min-height:2.25rem;font-size:var(--step--1)}.btn-secondary{background:var(--bg-elevated);color:var(--text);border-color:var(--border-strong)}.btn-secondary:is(:hover,:focus-visible){color:var(--text);border-color:var(--accent);box-shadow:var(--shadow-m)}.btn-sm{min-height:2.25rem;padding:0 var(--space-s);font-size:var(--step--1)}.btn svg{width:1.1em;height:1.1em;flex:none}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-s)}.cta-note{margin-top:var(--space-xs);font-size:var(--step--1);color:var(--text-muted)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-l);padding:var(--space-m);box-shadow:var(--shadow-s)}.card>*+*{margin-top:var(--space-xs)}.card-link{display:block;text-decoration:none;color:inherit;transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.card-link{transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.card-link:is(:hover,:focus-visible){color:inherit;border-color:var(--accent);box-shadow:var(--shadow-m)}@media(prefers-reduced-motion:no-preference){.card-link:hover{transform:translateY(-2px)}}.card-link .card-title{color:var(--text);font-weight:650}.grid-cards{display:grid;gap:var(--space-s);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}.badge{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-xs);border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--step--1);font-weight:550;line-height:1.6;white-space:nowrap}.badge-soon{border-style:dashed;color:var(--text-muted);background:transparent}.dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--green);flex:none}.icon-tile{display:grid;place-items:center;width:2.618rem;height:2.618rem;border-radius:var(--radius-m);background:var(--accent-soft);color:var(--accent)}.icon-tile svg{width:1.3rem;height:1.3rem}.check-list{list-style:none;padding:0}.check-list li{position:relative;padding-left:var(--space-m)}.check-list li+li{margin-top:var(--space-xs)}.check-list li:before{content:"";position:absolute;left:0;top:.55em;width:.8rem;height:.45rem;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}.note{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius-m);padding:var(--space-s) var(--space-m);color:var(--text)}.note.is-soon{border-left-color:var(--amber);background:var(--surface)}.shot{position:relative}.shot picture{display:block}.shot img{display:block;width:100%;height:auto;filter:var(--shot-shadow)}.is-small .shot img{width:13.5rem;max-width:100%;margin-inline:auto}.shot.is-crop img{filter:none;border-radius:var(--radius-l);border:1px solid var(--border-strong);box-shadow:var(--shadow-m)}@media(max-width:40rem){.shot img.mobile-crop{filter:none;border-radius:var(--radius-l);border:1px solid var(--border-strong);box-shadow:var(--shadow-m)}}.shot.is-tray{padding:var(--space-m);border:1px solid var(--border);border-radius:var(--radius-xl);background-color:var(--surface);background-image:radial-gradient(80% 60% at 50% 0%,light-dark(rgb(139 92 246 / .07),rgb(139 92 246 / .12)),transparent 70%);box-shadow:inset 0 1px 0 light-dark(rgb(255 255 255 / .7),rgb(255 255 255 / .04)),0 1px 2px light-dark(rgb(14 17 48 / .04),rgb(0 0 0 / .3))}@media(max-width:40rem){.shot.is-tray{padding:var(--space-s);border-radius:var(--radius-l)}}.shot figcaption{margin-top:var(--space-s);font-size:var(--step--1);color:var(--text-muted);text-align:center}.shot-glow{position:relative;isolation:isolate}.shot-glow:before{content:"";position:absolute;inset:-10% -8%;z-index:-1;background:var(--glow);pointer-events:none}.prose{color:var(--text-body)}.prose>*+*{margin-top:var(--space-s)}.prose h2{font-size:var(--step-3);margin-top:var(--space-xl);letter-spacing:-.024em}.prose h3{font-size:var(--step-2);margin-top:var(--space-l)}.prose h2+*,.prose h3+*{margin-top:var(--space-s)}.prose ul,.prose ol{padding-left:var(--space-m)}.prose li+li{margin-top:var(--space-2xs)}.prose ol>li+li{margin-top:var(--space-xs)}.prose li::marker{color:var(--text-muted)}.prose ol>li::marker{font-family:var(--font-mono);font-size:.9em;color:var(--accent)}.prose li>pre,.prose li>.code-block{margin-top:var(--space-xs)}.prose :not(pre)>code{padding:.12em .38em;border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:.86em}.prose table{width:100%;border-collapse:collapse;font-size:var(--step--1);display:block;overflow-x:auto}@media(min-width:40rem){.prose table{display:table;font-size:.95em}}.prose th,.prose td{text-align:left;vertical-align:top;padding:var(--space-xs) var(--space-s) var(--space-xs) 0;border-bottom:1px solid var(--border)}.prose th{color:var(--text);font-weight:600;border-bottom-color:var(--border-strong)}.prose .anchor{margin-left:var(--space-2xs);color:var(--text-muted);text-decoration:none;font-weight:400;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.prose :is(h2,h3):hover .anchor,.prose .anchor:focus{opacity:1}.prose figure.shot{margin-block:var(--space-l)}pre.astro-code{position:relative;padding:var(--space-s) var(--space-m);border-radius:var(--radius-m);border:1px solid var(--code-border);background-color:var(--code-bg)!important;font-size:.85rem;line-height:1.7;overflow-x:auto;tab-size:2}pre.astro-code,pre.astro-code span{color:var(--shiki-light)}:root[data-theme=dark] pre.astro-code,:root[data-theme=dark] pre.astro-code span{color:var(--shiki-dark)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) pre.astro-code,:root:not([data-theme=light]) pre.astro-code span{color:var(--shiki-dark)}}.code-wrap{position:relative}.code-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s);min-height:2.236rem;padding:0 var(--space-2xs) 0 var(--space-m);border:1px solid var(--code-border);border-bottom:0;border-radius:var(--radius-m) var(--radius-m) 0 0;background:var(--surface);color:var(--text-muted);font:500 var(--step--2) / 1 var(--font-mono);letter-spacing:.04em;text-transform:lowercase}.code-wrap pre.astro-code{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.copy-btn{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-s);border:1px solid var(--code-border);background:var(--bg-elevated);color:var(--text-muted);font:500 var(--step--2) / 1.8 var(--font-sans);letter-spacing:.02em;text-transform:none;margin-left:auto;cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast)}.copy-btn:hover,.copy-btn:focus-visible{color:var(--text);border-color:var(--accent)}.copy-btn[data-copied]{color:var(--green);border-color:var(--green)}.faq{border-top:1px solid var(--border)}.faq details{border-bottom:1px solid var(--border)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s);padding:var(--space-s) 0;cursor:pointer;list-style:none;font-weight:600;color:var(--text);font-size:var(--step-0)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";flex:none;width:.55rem;height:.55rem;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg) translateY(-2px);transition:transform var(--dur) var(--ease)}.faq details[open] summary:after{transform:rotate(225deg) translateY(-2px)}.faq details>div{padding-bottom:var(--space-m);color:var(--text-body);max-width:44rem}.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-2xs);list-style:none;padding:0;font-size:var(--step--1);color:var(--text-muted)}.crumbs li+li:before{content:"/";margin-right:var(--space-2xs);color:var(--border-strong)}.crumbs a{color:var(--text-muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.tv{display:none}:root[data-theme=light] .tv[data-variant=light],:root[data-theme=dark] .tv[data-variant=dark]{display:revert}@media(prefers-color-scheme:dark){:root:not([data-theme]) .tv[data-variant=dark]{display:revert}}@media(prefers-color-scheme:light){:root:not([data-theme]) .tv[data-variant=light]{display:revert}}[data-shot-switch][data-show=dark] .tv[data-variant=light],[data-shot-switch][data-show=light] .tv[data-variant=dark]{display:none}[data-shot-switch][data-show=dark] .tv[data-variant=dark],[data-shot-switch][data-show=light] .tv[data-variant=light]{display:revert}.shot.is-portrait{max-width:26rem;margin-inline:auto}.prose th,.prose td{line-height:1.5}.prose :is(th,td):not(:first-child){min-width:7.5rem}.prose table.tool-index :is(th,td):not(:first-child){min-width:0}@keyframes gd-rise{0%{opacity:0;transform:translateY(1rem)}}@keyframes gd-tilt{0%{opacity:.4;transform:perspective(1600px) rotateX(8deg) translateY(1.618rem) scale(.97)}}@keyframes gd-fade{0%{opacity:0}}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){.reveal{animation:gd-rise linear both;animation-timeline:view();animation-range:entry 5% cover 28%}.reveal-tilt{transform-origin:50% 100%;animation:gd-tilt linear both;animation-timeline:view();animation-range:entry 0% cover 38%}}@supports not (animation-timeline: view()){.js .reveal,.js .reveal-tilt{opacity:0;transform:translateY(1rem);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}.js .reveal-tilt{transform:perspective(1600px) rotateX(6deg) translateY(1.618rem);transform-origin:50% 100%}.js .reveal.is-in,.js .reveal-tilt.is-in{opacity:1;transform:none}}}::view-transition-old(root){animation:var(--dur-fast) var(--ease-out) both gd-vt-out}::view-transition-new(root){animation:var(--dur) var(--ease-out) both gd-fade}@keyframes gd-vt-out{to{opacity:0}}.fn-ref{font-size:.68em;line-height:0;vertical-align:super;margin-left:.1em}.fn-ref a{text-decoration:none;font-weight:600;padding:0 .15em}.footnotes{font-size:var(--step--1);color:var(--text-muted)}.footnotes ol{padding-left:var(--space-m)}.footnotes li+li{margin-top:var(--space-2xs)}.footnotes li::marker{font-family:var(--font-mono);color:var(--text-muted)}.footnotes li:target{color:var(--text)}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.8) blur(18px);-webkit-backdrop-filter:saturate(1.8) blur(18px)}.site-header[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--border);pointer-events:none}@supports (animation-timeline: scroll()){@media(prefers-reduced-motion:no-preference){.site-header[data-astro-cid-3ef6ksr2]:after{animation:gd-fade linear both;animation-timeline:scroll(root);animation-range:0 1.5rem}}}.share-head[data-astro-cid-3ef6ksr2]{padding-inline:var(--space-s);transition:opacity var(--dur) var(--ease-out),background var(--dur-fast) var(--ease)}@starting-style{.share-head[data-astro-cid-3ef6ksr2]{opacity:0}}.share-head[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{width:1em;height:1em}.site-header[data-astro-cid-3ef6ksr2][data-hero-cta-visible] .share-head[data-astro-cid-3ef6ksr2]{display:none}.bar[data-astro-cid-3ef6ksr2]{height:var(--header-h);display:flex;align-items:center;gap:var(--space-m)}.brand[data-astro-cid-3ef6ksr2]{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--text);font-weight:700;letter-spacing:-.01em;text-decoration:none;font-size:1.0625rem}.brand[data-astro-cid-3ef6ksr2] img[data-astro-cid-3ef6ksr2]{width:28px;height:28px;border-radius:7px}.nav-desktop[data-astro-cid-3ef6ksr2]{display:none;margin-left:var(--space-s)}.nav-desktop[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2],.nav-mobile[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{list-style:none;padding:0;display:flex;gap:var(--space-m)}.nav-desktop[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],.nav-mobile[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--text-muted);text-decoration:none;font-size:var(--step--1);font-weight:550}.nav-desktop[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{position:relative;transition:color var(--dur-fast) var(--ease)}.nav-desktop[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,.nav-desktop[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--text)}.nav-desktop[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]:after{content:"";position:absolute;inset:auto 0 -.45rem;height:2px;border-radius:2px;background:var(--accent)}.actions[data-astro-cid-3ef6ksr2]{margin-left:auto;display:flex;align-items:center;gap:var(--space-xs)}.icon-btn[data-astro-cid-3ef6ksr2]{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-m);border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;list-style:none}.icon-btn[data-astro-cid-3ef6ksr2]::-webkit-details-marker{display:none}.icon-btn[data-astro-cid-3ef6ksr2]:hover{color:var(--text);background:var(--surface)}.icon-btn[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{width:1.2rem;height:1.2rem}.i-sun[data-astro-cid-3ef6ksr2]{display:none}:root[data-theme=dark] .i-sun[data-astro-cid-3ef6ksr2]{display:block}:root[data-theme=dark] .i-moon[data-astro-cid-3ef6ksr2]{display:none}.cta-head[data-astro-cid-3ef6ksr2]{display:none}.soon-chip[data-astro-cid-3ef6ksr2]{align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-s);border:1px solid var(--border);border-radius:999px;font-size:var(--step--1);font-weight:600;color:var(--text-muted);white-space:nowrap}.soon-chip[data-astro-cid-3ef6ksr2] .dot[data-astro-cid-3ef6ksr2]{width:.5rem;height:.5rem;border-radius:50%;background:var(--green)}.nav-mobile[data-astro-cid-3ef6ksr2]{position:relative}.nav-mobile[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2]{position:absolute;right:0;top:calc(100% + var(--space-xs));min-width:13rem;padding:var(--space-xs);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow-m)}.nav-mobile[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:0}.nav-mobile[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:var(--space-xs) var(--space-s);border-radius:var(--radius-m);font-size:var(--step-0);color:var(--text)}.nav-mobile[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{background:var(--surface)}@media(min-width:52rem){.nav-desktop[data-astro-cid-3ef6ksr2],.cta-head[data-astro-cid-3ef6ksr2]{display:block}.cta-head[data-astro-cid-3ef6ksr2]{display:inline-flex}.nav-mobile[data-astro-cid-3ef6ksr2],.share-head[data-astro-cid-3ef6ksr2]{display:none}}@media(max-width:30rem){.site-header[data-astro-cid-3ef6ksr2][data-home]:not([data-hero-cta-visible]) .brand[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:none}}@media(max-width:22rem){.share-head[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{display:none}}.site-footer[data-astro-cid-sz7xmlte]{margin-top:var(--space-2xl);border-top:1px solid var(--border);background:var(--band);padding-block:var(--space-xl) var(--space-l);font-size:var(--step--1)}main:has(>:last-child.is-flush)+.site-footer[data-astro-cid-sz7xmlte]{margin-top:0}.name[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--step-0);letter-spacing:-.01em}.name[data-astro-cid-sz7xmlte] img[data-astro-cid-sz7xmlte]{width:32px;height:32px;border-radius:8px}.grid[data-astro-cid-sz7xmlte]{display:grid;gap:var(--space-l) var(--space-m);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}@media(min-width:64rem){.grid[data-astro-cid-sz7xmlte]{grid-template-columns:1.618fr repeat(4,1fr)}}.name[data-astro-cid-sz7xmlte],.col-title[data-astro-cid-sz7xmlte]{color:var(--text);font-weight:650}.about[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]+p[data-astro-cid-sz7xmlte]{margin-top:var(--space-xs)}.about[data-astro-cid-sz7xmlte]{max-width:20rem}ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;margin-top:var(--space-xs)}li[data-astro-cid-sz7xmlte]+li[data-astro-cid-sz7xmlte]{margin-top:var(--space-2xs)}a[data-astro-cid-sz7xmlte]{color:var(--text-muted);text-decoration:none;overflow-wrap:anywhere}a[data-astro-cid-sz7xmlte]:hover,a[data-astro-cid-sz7xmlte]:focus-visible{color:var(--text)}.legal[data-astro-cid-sz7xmlte]{margin-top:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--border);color:var(--text-muted)}.crumbs-bar[data-astro-cid-5hce7sga]{padding-top:var(--space-m)}main[data-astro-cid-5hce7sga]:focus{outline:none}
