.logo[data-astro-cid-f7espo7c]{letter-spacing:-.025em;color:var(--ink);align-items:center;gap:.5rem;font-weight:600;text-decoration:none;display:flex}.logo[data-astro-cid-f7espo7c]:hover{color:var(--ink)}.mark[data-astro-cid-f7espo7c]{background:var(--brand);width:2rem;height:2rem;color:var(--brand-foreground);letter-spacing:0;box-shadow:0 1px 2px color-mix(in oklch, var(--brand) 30%, transparent);border-radius:.5rem;place-items:center;font-size:.875rem;font-weight:700;display:grid}.name[data-astro-cid-f7espo7c]{font-size:1.125rem}.sub[data-astro-cid-f7espo7c]{border-left:1px solid var(--border);letter-spacing:0;color:var(--muted-foreground);margin-left:.125rem;padding-left:.625rem;font-size:.875rem;font-weight:500}@media (width<=420px){.sub[data-astro-cid-f7espo7c]{display:none}}:root{--font-sans-stack:var(--font-sans), ui-sans-serif, system-ui, sans-serif;--font-display-stack:ui-serif, Georgia, "Times New Roman", serif;--measure:70ch;--gutter:clamp(16px, 3vw, 24px);--radius:24px;--radius-md:16px;--radius-sm:10px;--background:oklch(100% 0 0);--foreground:oklch(21% .04 266);--surface:oklch(98.4% .003 248);--muted:oklch(96.8% .007 248);--muted-foreground:oklch(45% .04 257);--border:oklch(92.9% .013 256);--ring:oklch(21% .04 266/.1);--prose:oklch(32% .04 262);--header-bg:oklch(100% 0 0/.8);--header-border:oklch(21% .04 266/.05);--ink:oklch(21% .04 266);--ink-foreground:oklch(98.4% .003 248);--ink-muted:oklch(71% .035 257);--brand:oklch(55% .215 263);--brand-hover:oklch(49% .22 264);--brand-foreground:oklch(99% .005 255);--brand-soft:oklch(97% .014 255);--brand-ring:oklch(81% .1 252);--accent-warm:oklch(83% .15 80);--accent-warm-foreground:oklch(47% .12 60);--accent-warm-soft:oklch(97% .04 90);--success:oklch(60% .13 163);--grid-line:oklch(92.9% .013 256/.5);--grid-line-dark:oklch(100% 0 0/.07);--band-glow:oklch(62% .19 260/.45);--shadow:0 1px 2px oklch(21% .04 266/.05);--shadow-hover:0 12px 32px oklch(21% .04 266/.08);color-scheme:light}*,:before,:after{box-sizing:border-box;border-color:var(--border)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--background);color:var(--foreground);font:400 1.0625rem/1.75 var(--font-sans-stack);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:var(--brand);text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--brand) 30%, transparent);text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}a:hover{color:var(--brand-hover);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}h1,h2,h3{color:var(--ink);letter-spacing:-.025em;text-wrap:balance;font-weight:600;line-height:1.15}h1{margin:0 0 .4em;font-size:clamp(2.25rem,5vw,3rem)}h2{margin:2.2em 0 .6em;font-size:clamp(1.5rem,3vw,1.875rem)}h3{letter-spacing:-.015em;margin:1.8em 0 .4em;font-size:1.2rem}p{text-wrap:pretty}.skip{z-index:50;background:var(--background);border-radius:var(--radius-sm);padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip:focus{left:16px}.wrap{width:min(100% - 2 * var(--gutter), 72rem);margin-inline:auto}.narrow{width:min(100% - 2 * var(--gutter), var(--measure));margin-inline:auto}.accent{font-family:var(--font-display-stack);letter-spacing:-.01em;color:var(--brand);font-style:italic;font-weight:400}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--brand);margin:0 0 .75rem;font-size:.75rem;font-weight:700;line-height:1.4}.muted{color:var(--muted-foreground)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button{white-space:nowrap;background:var(--brand);height:2.5rem;color:var(--brand-foreground);box-shadow:0 1px 2px color-mix(in oklch, var(--brand) 20%, transparent);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 1rem;font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.button:hover{background:var(--brand-hover);color:var(--brand-foreground)}.button--lg{height:3rem;padding:0 1.5rem;font-size:1rem}.button--outline{background:var(--background);color:var(--ink);box-shadow:0 0 0 1px var(--ring)}.button--outline:hover{background:var(--muted);color:var(--ink)}.button--light{background:var(--background);color:var(--ink)}.button--light:hover{background:var(--brand-soft);color:var(--ink)}.site-header{z-index:20;border-bottom:1px solid var(--header-border);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;height:4rem;display:flex}.site-nav{gap:1.5rem;font-size:.875rem;font-weight:500;display:flex}.site-nav a{color:var(--muted-foreground);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-footer{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:5rem;font-size:.875rem;line-height:1.5}.site-footer>.wrap{grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;padding-block:3rem;display:grid}.site-footer h2{letter-spacing:0;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.site-footer ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--ink)}.site-footer .about{align-content:start;gap:.75rem;display:grid}.site-footer .about p{max-width:24rem;margin:0}.site-footer .legal{border-top:1px solid var(--border)}.site-footer .legal p{margin-block:0;padding-block:1.5rem;font-size:.75rem}.page-hero{padding-block:clamp(3rem,6vw,4rem);position:relative;overflow:hidden}.page-hero:before,.page-hero:after{content:"";pointer-events:none;position:absolute;inset:0}.page-hero:before{background-image:linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(var(--grid-line) 1px, transparent 1px);background-size:40px 40px}.page-hero:after{background:radial-gradient(ellipse at center, transparent, var(--background) 75%)}.page-hero .glow{background:color-mix(in oklch, var(--brand) 10%, transparent);filter:blur(64px);pointer-events:none;border-radius:999px;width:900px;height:500px;position:absolute;top:2.5rem;left:50%;translate:-50%}.page-hero>.wrap,.page-hero>.narrow{z-index:1;position:relative}.page-hero h1{max-width:48rem;margin:1.5rem 0 0}.page-hero .lede{max-width:42rem;color:var(--muted-foreground);margin:1rem 0 0;font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.75}.page-hero .meta{margin-top:1.25rem}@media (prefers-reduced-motion:no-preference){.page-hero>.wrap,.page-hero>.narrow{animation:.6s ease-out both fade-up}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.breadcrumbs ol{color:var(--muted-foreground);flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.875rem;line-height:1.4;list-style:none;display:flex}.breadcrumbs li+li:not(.visually-hidden):before{content:"/";margin-right:6px}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover{color:var(--ink)}.breadcrumbs [aria-current=page]{color:var(--ink);font-weight:500}.section{padding-block:clamp(3.5rem,7vw,5rem)}.section--surface{background:var(--surface)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 3rem;margin-bottom:2.5rem;display:flex}.section-head h2{margin:0;font-size:clamp(1.875rem,4vw,2.25rem)}.section-head>p,.section-head>a{max-width:28rem;color:var(--muted-foreground);margin:0}.section-head>a{color:var(--brand);font-size:.875rem;font-weight:600;text-decoration:none}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-auto-rows:1fr;gap:1.5rem;display:grid}.card{background:var(--background);border-radius:var(--radius);box-shadow:0 0 0 1px var(--ring), var(--shadow);flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:0 0 0 1px var(--ring), var(--shadow-hover);transform:translateY(-2px)}.card img{aspect-ratio:3/2;object-fit:cover;background:var(--muted);width:100%;height:auto;display:block}.card-body{align-content:start;gap:.5rem;padding:1.25rem 1.5rem 1.5rem;display:grid}.card h3,.card p{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card h3{-webkit-line-clamp:2;line-clamp:2;min-height:2lh;margin:0;font-size:1.125rem;line-height:1.35}.card h3 a{color:var(--ink);text-decoration:none}.card:hover h3 a{color:var(--brand)}.card h3 a:after{content:"";position:absolute;inset:0}.card p{-webkit-line-clamp:3;line-clamp:3;color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.6}.meta{flex-wrap:wrap;gap:6px;font-size:.75rem;font-weight:500;line-height:1;display:flex}.meta>*{background:var(--muted);color:var(--muted-foreground);border-radius:999px;padding:5px 9px}.meta>:first-child{background:var(--brand-soft);color:var(--brand)}.tile{border-radius:var(--radius-md);background:var(--background);height:100%;box-shadow:0 0 0 1px var(--ring);color:var(--ink);align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;transition:box-shadow .2s;display:flex}.tile:hover{color:var(--ink);box-shadow:0 0 0 1px var(--brand-ring), var(--shadow-hover)}.tile .code{background:var(--brand-soft);width:2.75rem;height:2.75rem;color:var(--brand);border-radius:999px;flex:none;place-items:center;font-size:.75rem;font-weight:600;display:grid}.tile .name{font-weight:600;line-height:1.3;display:block}.tile .line{-webkit-line-clamp:2;line-clamp:2;color:var(--muted-foreground);-webkit-box-orient:vertical;font-size:.875rem;line-height:1.45;display:-webkit-box;overflow:hidden}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.prose{color:var(--prose)}.prose>:first-child{margin-top:0}.prose h2{scroll-margin-top:5rem}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-block:.35em}.prose li::marker{color:var(--brand)}.prose strong{color:var(--ink);font-weight:600}.prose blockquote{border-radius:var(--radius-md);background:var(--brand-soft);border-left:3px solid var(--brand);color:var(--ink);margin:1.8em 0;padding:1rem 1.25rem}.prose blockquote p{margin:0}.table-scroll{border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--ring);margin:1.6em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.5}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem 1rem}.prose tr:last-child>*{border-bottom:0}.prose th{color:var(--ink);background:var(--surface);font-weight:600}.prose td:last-child,.prose th:last-child{text-align:right;white-space:nowrap}.note{border-radius:var(--radius-md);background:var(--accent-warm-soft);color:var(--accent-warm-foreground);margin:1.6em 0;padding:.875rem 1.25rem;font-weight:500}.note p{margin:0}.updated{color:var(--muted-foreground);font-size:.875rem}.box{background:var(--surface);border-radius:var(--radius);box-shadow:0 0 0 1px var(--ring);margin:2em 0;padding:1.5rem}.box h2,.box h3{margin-top:0}.box p{margin:0}.faq-list{border-radius:var(--radius);box-shadow:0 0 0 1px var(--ring);overflow:hidden}.faq-list details{padding:1.25rem 1.5rem;transition:background-color .2s}.faq-list details+details{border-top:1px solid var(--border)}.faq-list details[open]{background:var(--surface)}.faq-list summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:1rem;font-weight:500;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:hover{color:var(--brand)}.faq-list summary:after{content:"+";background:var(--muted);width:1.75rem;height:1.75rem;color:var(--muted-foreground);border-radius:999px;flex:none;place-items:center;transition:transform .2s;display:grid}.faq-list details[open] summary:after{background:var(--brand);color:var(--brand-foreground);transform:rotate(45deg)}.faq-list details p{color:var(--muted-foreground);margin:.75rem 0 0;padding-right:2.5rem;font-size:.9375rem;line-height:1.65}.band{isolation:isolate;border-radius:var(--radius);background:var(--ink);color:var(--ink-muted);text-align:center;padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,5vw,3rem);position:relative;overflow:hidden}.band:before{content:"";z-index:-1;background-image:linear-gradient(90deg, var(--grid-line-dark) 1px, transparent 1px), linear-gradient(var(--grid-line-dark) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0}.band:after{content:"";z-index:-1;background:var(--band-glow);filter:blur(64px);border-radius:999px;width:700px;height:20rem;position:absolute;top:-10rem;left:50%;translate:-50%}.band h2{max-width:40rem;color:var(--ink-foreground);margin:0 auto}.band .accent{color:inherit}.band p{max-width:36rem;margin:1rem auto 0}.band .actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;display:flex}.band .actions a:not(.button){color:var(--ink-foreground);font-size:.875rem;font-weight:500;text-decoration:none}.band .actions a:not(.button):hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=860px){.site-footer>.wrap{grid-template-columns:1fr 1fr 1fr}.site-footer .about{grid-column:1/-1}}@media (width<=640px){.site-header .button{display:none}.site-nav{gap:1rem}.site-footer>.wrap{grid-template-columns:1fr 1fr}.page-hero .glow{display:none}}
