.nav[data-astro-cid-afdttjsk]{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg) 75%,transparent);border-bottom:1px solid var(--border)}.inner[data-astro-cid-afdttjsk]{max-width:1200px;margin:0 auto;padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.right[data-astro-cid-afdttjsk]{display:flex;align-items:center;gap:1rem}.brand[data-astro-cid-afdttjsk]{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.1rem;color:var(--purple);text-decoration:none}.logo[data-astro-cid-afdttjsk]{width:28px;height:28px;border-radius:6px}.links[data-astro-cid-afdttjsk]{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0}.links[data-astro-cid-afdttjsk] a[data-astro-cid-afdttjsk]{text-decoration:none;font-size:.95rem;color:var(--text-muted);transition:color .15s ease}.links[data-astro-cid-afdttjsk] a[data-astro-cid-afdttjsk]:hover{color:var(--purple)}.nav-toggle[data-astro-cid-afdttjsk]{display:none;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.nav-toggle[data-astro-cid-afdttjsk]:hover{color:var(--purple);border-color:color-mix(in srgb,var(--purple) 45%,transparent)}@media(max-width:640px){.nav-toggle[data-astro-cid-afdttjsk]{display:inline-flex;order:-1}.links[data-astro-cid-afdttjsk]{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:.5rem 0;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);display:flex;transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s ease,opacity .25s ease,visibility 0s linear .25s}.links[data-astro-cid-afdttjsk].open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .25s ease,opacity .25s ease,visibility 0s}.links[data-astro-cid-afdttjsk] li[data-astro-cid-afdttjsk]{width:100%}.links[data-astro-cid-afdttjsk] a[data-astro-cid-afdttjsk]{display:block;padding:.75rem 1.5rem;font-size:1rem}}.theme-toggle[data-astro-cid-afdttjsk]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.theme-toggle[data-astro-cid-afdttjsk]:hover{color:var(--purple);border-color:color-mix(in srgb,var(--purple) 45%,transparent)}.icon-link[data-astro-cid-afdttjsk]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.icon-link[data-astro-cid-afdttjsk]:hover{color:var(--purple);border-color:color-mix(in srgb,var(--purple) 45%,transparent)}.sun[data-astro-cid-afdttjsk]{display:none}.moon[data-astro-cid-afdttjsk]{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .sun[data-astro-cid-afdttjsk]{display:block}:root:not([data-theme=light]) .moon[data-astro-cid-afdttjsk]{display:none}}:root[data-theme=dark] .sun[data-astro-cid-afdttjsk]{display:block}:root[data-theme=dark] .moon[data-astro-cid-afdttjsk]{display:none}:root[data-theme=light] .sun[data-astro-cid-afdttjsk]{display:none}:root[data-theme=light] .moon[data-astro-cid-afdttjsk]{display:block}.footer[data-astro-cid-35ed7um5]{border-top:1px solid var(--border);margin-top:4rem}.inner[data-astro-cid-35ed7um5]{max-width:1200px;margin:0 auto;padding:1.5rem;color:var(--text-muted);font-size:.85rem;text-align:center;display:flex;flex-direction:column;gap:.35rem}.contact[data-astro-cid-35ed7um5]{color:var(--text-muted);text-decoration:none}.contact[data-astro-cid-35ed7um5]:hover{color:var(--purple)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--purple: #a855f7;--purple-dark: #6b21a8;--bg: #ffffff;--bg-elev: #f8fafc;--text: #111;--text-muted: #555;--border: #e2e8f0}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f0d18;--bg-elev: #1a1726;--text: #eee;--text-muted: #aaa;--border: #2a2a3a}}:root[data-theme=dark]{--bg: #0f0d18;--bg-elev: #1a1726;--text: #eee;--text-muted: #aaa;--border: #2a2a3a}html,body{margin:0;padding:0;width:100%;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}a{color:inherit}.content{line-height:1.75;color:var(--text);font-size:1rem;overflow-wrap:break-word}.content>:first-child{margin-top:0}.content>:last-child{margin-bottom:0}.content h1,.content h2,.content h3,.content h4{line-height:1.3;font-weight:700;scroll-margin-top:5rem}.content h1{font-size:1.9rem;margin:2.2rem 0 .9rem}.content h2{font-size:1.55rem;margin:2rem 0 .8rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}.content h3{font-size:1.25rem;margin:1.6rem 0 .6rem}.content h4{font-size:1.05rem;margin:1.4rem 0 .5rem}.content p{margin:.9rem 0}.content a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;border-radius:4px;padding:0 .15em;margin:0 -.15em;transition:background .15s ease}.content a:hover{background:color-mix(in srgb,var(--purple) 18%,transparent)}.content ul,.content ol{margin:.9rem 0;padding-left:1.5rem}.content li{margin:.35rem 0}.content li::marker{color:var(--text)}.content blockquote{margin:1.2rem 0;padding:.5rem 1rem;border-left:3px solid var(--purple);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--purple) 7%,transparent);color:var(--text-muted)}.content blockquote>:first-child{margin-top:0}.content blockquote>:last-child{margin-bottom:0}.content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.content img{max-width:100%;height:auto;border-radius:10px}.content table{width:max-content;max-width:100%;border-collapse:separate;border-spacing:0;margin:1.2rem 0;font-size:.92rem;display:block;overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:10px}.content th,.content td{padding:.5rem .75rem;text-align:left;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.content th:last-child,.content td:last-child{border-right:none}.content tr:last-child td{border-bottom:none}.content th{background:var(--bg-elev);font-weight:600}.content tr:nth-child(2n) td{background:color-mix(in srgb,var(--bg-elev) 50%,transparent)}.content :not(pre)>code{background:color-mix(in srgb,var(--purple) 12%,var(--bg-elev));border:1px solid var(--border);padding:.1rem .38rem;border-radius:5px;font-size:.86em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;overflow-wrap:break-word}.content pre{margin:1.3rem 0;padding:1rem 1.15rem;border-radius:12px;border:1px solid var(--border);overflow-x:auto;font-size:.86rem;line-height:1.6;tab-size:2}.content pre code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;background:none;border:none;padding:0;font-size:inherit}:root[data-theme=dark] .content .astro-code,:root[data-theme=dark] .content .astro-code span{color:var(--shiki-dark)!important;background-color:var(--bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .content .astro-code,:root:not([data-theme=light]) .content .astro-code span{color:var(--shiki-dark)!important;background-color:var(--bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}.content .code-block{margin:1.3rem 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.content .code-block pre{margin:0;border:none;border-radius:0}.content .code-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .5rem .4rem .9rem;background:var(--bg-elev);border-bottom:1px solid var(--border)}.content .code-lang{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.content .code-copy{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text-muted);font-size:.72rem;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.content .code-copy:hover{color:var(--purple);border-color:color-mix(in srgb,var(--purple) 45%,transparent)}.content .code-copy.copied{color:#16a34a;border-color:color-mix(in srgb,#16a34a 45%,transparent)}[data-tooltip]{position:relative}[data-tooltip]:after,[data-tooltip]:before{position:absolute;top:100%;left:50%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:50}[data-tooltip]:after{content:attr(data-tooltip);transform:translate(-50%,-.15rem);margin-top:.5rem;max-width:260px;width:max-content;padding:.4rem .6rem;border-radius:8px;background:var(--text);color:var(--bg);font-size:.78rem;font-weight:500;line-height:1.4;white-space:normal;text-align:center;box-shadow:0 4px 16px #0000002e}[data-tooltip]:before{content:"";transform:translate(-50%,-.15rem);margin-top:.18rem;border:5px solid transparent;border-bottom-color:var(--text)}[data-tooltip]:hover:after,[data-tooltip]:hover:before,[data-tooltip]:focus-visible:after,[data-tooltip]:focus-visible:before{opacity:1;visibility:visible;transform:translate(-50%)}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
