.site-footer[data-astro-cid-jo6i4kqk]{z-index:1;border-top:1px solid var(--border);background:var(--bg-soft);margin-block-start:var(--section-gap);padding-block:3rem 2rem;position:relative}.site-footer__inner[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:1.75rem;display:grid}.site-footer__name[data-astro-cid-jo6i4kqk]{font-weight:600}.site-footer__note[data-astro-cid-jo6i4kqk]{color:var(--text-faint);margin-block-start:.35rem;font-size:.875rem}.site-footer[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-muted);font-size:.9375rem;text-decoration:none}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.site-footer__legal[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);grid-column:1/-1;padding-block-start:1.5rem}@media (width<=640px){.site-footer__inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.site-footer__brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid #0000;transition:border-color .2s;position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs][data-scrolled]{border-bottom-color:var(--border)}.site-header__inner[data-astro-cid-nen7h5rs]{align-items:center;gap:1rem;min-height:4.25rem;display:flex}.brand[data-astro-cid-nen7h5rs]{letter-spacing:-.01em;align-items:center;gap:.6rem;margin-inline-end:auto;font-weight:600;text-decoration:none;display:inline-flex}.brand__mark[data-astro-cid-nen7h5rs]{border:1px solid var(--border-strong);width:2rem;height:2rem;font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;font-size:.7rem;display:grid}.brand__name[data-astro-cid-nen7h5rs]{white-space:nowrap}.site-nav__list[data-astro-cid-nen7h5rs]{align-items:center;gap:1.6rem;margin:0;padding:0;list-style:none;display:flex}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text-muted);font-size:.9375rem;text-decoration:none;transition:color .18s}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text)}.site-header__actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.4rem;display:flex}.lang-switch[data-astro-cid-nen7h5rs],.icon-btn[data-astro-cid-nen7h5rs]{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;background:0 0;border-radius:999px;place-items:center;font-size:.72rem;text-decoration:none;transition:color .18s,border-color .18s;display:grid}.lang-switch[data-astro-cid-nen7h5rs]:hover,.icon-btn[data-astro-cid-nen7h5rs]:hover{color:var(--accent);border-color:var(--accent)}.icon-btn__moon[data-astro-cid-nen7h5rs],[data-theme=light] .icon-btn__sun[data-astro-cid-nen7h5rs]{display:none}[data-theme=light] .icon-btn__moon[data-astro-cid-nen7h5rs]{display:block}.menu-btn[data-astro-cid-nen7h5rs]{flex-direction:column;gap:4px;display:none}.menu-btn__bar[data-astro-cid-nen7h5rs]{background:currentColor;width:15px;height:1.5px;transition:transform .2s}.menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] .menu-btn__bar[data-astro-cid-nen7h5rs]:first-child{transform:translateY(2.75px)rotate(45deg)}.menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] .menu-btn__bar[data-astro-cid-nen7h5rs]:last-child{transform:translateY(-2.75px)rotate(-45deg)}@media (width<=860px){.menu-btn[data-astro-cid-nen7h5rs]{display:flex}.brand__name[data-astro-cid-nen7h5rs]{display:none}.site-nav[data-astro-cid-nen7h5rs]{background:var(--bg-soft);border-block:1px solid var(--border);padding:.5rem var(--gutter) 1.25rem;display:none;position:fixed;inset:4.25rem 0 auto}.site-nav[data-astro-cid-nen7h5rs][data-open]{display:block}.site-nav__list[data-astro-cid-nen7h5rs]{flex-direction:column;align-items:stretch;gap:0}.site-nav__list[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs]+li[data-astro-cid-nen7h5rs]{border-top:1px solid var(--border)}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text);padding:.85rem 0;font-size:1rem;display:block}}:root{color-scheme:dark;--bg:#0a0c10;--bg-soft:#0f1218;--surface:#13171f;--surface-hover:#1a1f29;--border:#232a36;--border-strong:#303a4a;--text:#e7ecf3;--text-muted:#9aa5b4;--text-faint:#6b7686;--accent:#d9b47a;--accent-strong:#eccb96;--accent-dim:#d9b47a24;--accent-contrast:#0a0c10;--success:#5fbf8f;--danger:#e06c6c;--radius-sm:8px;--radius:14px;--radius-lg:22px;--shadow:0 1px 2px #0006, 0 12px 32px -12px #0009;--container:68rem;--container-narrow:46rem;--gutter:1.25rem;--section-gap:clamp(4.5rem, 10vw, 8rem);--font-heading:var(--font-sans);--font-body:var(--font-sans)}:root[data-theme=light]{color-scheme:light;--bg:#fbfaf8;--bg-soft:#f4f2ee;--surface:#fff;--surface-hover:#f6f4f0;--border:#e4e0d8;--border-strong:#cfc9bd;--text:#16181d;--text-muted:#5c6472;--text-faint:#858d9b;--accent:#8a6a2f;--accent-strong:#6f5323;--accent-dim:#8a6a2f1a;--accent-contrast:#fff;--success:#2f7d55;--danger:#b4423f;--shadow:0 1px 2px #1414140d, 0 12px 28px -16px #14141433}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background-color:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1rem;line-height:1.65;overflow-x:hidden}body:before{content:"";background:radial-gradient(60% 60% at 50% 0%, var(--accent-dim), transparent 70%);pointer-events:none;z-index:0;height:70vh;position:fixed;inset:-20vh 0 auto}img,svg,video{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.15}p,li{text-wrap:pretty}a{color:inherit;text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:.2em}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:var(--accent-contrast)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:var(--container-narrow)}.section{z-index:1;padding-block:var(--section-gap);scroll-margin-top:5rem;position:relative}.section+.section{padding-block-start:0}.section__head{max-width:44rem;margin-block-end:clamp(2rem,5vw,3.25rem)}.kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.55rem;margin-block-end:.9rem;font-size:.75rem;font-weight:500;display:inline-flex}.kicker:before{content:"";opacity:.6;background:currentColor;width:1.75rem;height:1px}.section__title{font-size:clamp(1.75rem,4vw,2.5rem)}.section__intro{color:var(--text-muted);margin-block-start:1rem;font-size:1.0625rem}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}@media (width<=900px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.card-grid{grid-template-columns:1fr}}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-muted);padding:clamp(2rem,6vw,3rem)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);padding:.6rem 1rem;font-weight:600;text-decoration:none;transition:transform .18s;position:absolute;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--primary:hover{background:var(--accent-strong)}.btn--ghost{border-color:var(--border-strong);color:var(--text);background:0 0}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:clamp(1.25rem,3vw,1.75rem);transition:border-color .2s,background-color .2s,transform .2s;display:flex;position:relative}.card:hover{border-color:var(--border-strong);background:var(--surface-hover)}.tag{border:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);border-radius:999px;padding:.2rem .6rem;font-size:.7rem;text-decoration:none;display:inline-block}.meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-faint);font-size:.75rem}.prose{color:var(--text);font-size:1.0625rem;line-height:1.75}.prose>*+*{margin-block-start:1.25em}.prose h2{margin-block-start:2.5em;font-size:1.5rem}.prose h3{margin-block-start:2em;font-size:1.2rem}.prose a{color:var(--accent)}.prose ul,.prose ol{padding-inline-start:1.35em}.prose li+li{margin-block-start:.4em}.prose blockquote{border-inline-start:2px solid var(--accent);color:var(--text-muted);padding-inline-start:1.25rem;font-style:italic}.prose code:not(pre code){background:var(--bg-soft);border:1px solid var(--border);font-family:var(--font-mono);border-radius:6px;padding:.15em .4em;font-size:.875em}.prose pre{border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;font-size:.875rem;overflow-x:auto}.prose img{border-radius:var(--radius);border:1px solid var(--border)}.prose hr{border:0;border-top:1px solid var(--border);margin-block:2.5em}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:start;padding:.6rem .75rem}
