.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@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(*),[data-astro-transition-scope]{animation:none!important}}.block-avatar[data-astro-cid-pkr3r7od]{width:100%;height:100%;display:block}.dock-wrap[data-astro-cid-4pg35wjo]{z-index:40;pointer-events:none;justify-content:center;padding-inline:.75rem;display:flex;position:fixed;bottom:clamp(.75rem,2vw,1.25rem);left:0;right:0}.dock[data-astro-cid-4pg35wjo]{pointer-events:auto;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:.8rem;width:auto;max-width:min(100%,620px);padding:.5rem 1.15rem .5rem .5rem;display:flex;box-shadow:0 8px 32px #00000047}.dock-avatar[data-astro-cid-4pg35wjo]{background:var(--bg);border:1px solid var(--border-strong);width:42px;height:42px;transform:perspective(320px) rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));border-radius:50%;flex:none;place-items:center;transition:border-color .18s;animation:4.5s ease-in-out infinite bob;display:grid;position:relative;overflow:hidden}.dock-avatar[data-astro-cid-4pg35wjo]:hover{border-color:var(--accent-2)}.dock-avatar-media[data-astro-cid-4pg35wjo]{object-fit:cover;background:var(--bg);width:100%;height:100%;position:absolute;inset:0}@keyframes bob{0%,to{translate:0}50%{translate:0 -3px}}.dock-id[data-astro-cid-4pg35wjo]{flex-direction:column;flex:0 236px;gap:.1rem;width:236px;min-width:0;display:flex}.dock-name[data-astro-cid-4pg35wjo]{font-family:var(--font-display);letter-spacing:-.01em;color:var(--heading);font-size:.9rem;font-weight:600;line-height:1.15}.dock-marquee[data-astro-cid-4pg35wjo]{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 6% 88%,#0000)}.dock-marquee-track[data-astro-cid-4pg35wjo]{white-space:nowrap;width:max-content;font-family:var(--font-mono);letter-spacing:.16em;color:var(--muted-2);font-size:.6rem;animation:22s linear infinite marquee;display:flex}.dock-strip[data-astro-cid-4pg35wjo]{align-items:center;gap:.6rem;padding-right:.6rem;display:inline-flex}.dock-role[data-astro-cid-4pg35wjo]{display:inline-block}.dock-sep[data-astro-cid-4pg35wjo]{opacity:.75;margin-right:-.16em;display:inline-block}@keyframes marquee{to{transform:translate(-50%)}}.dock-cmdk[data-astro-cid-4pg35wjo]{cursor:pointer;background:0 0;border:none;flex:none;align-items:center;padding:0;display:flex}.dock-cmdk[data-astro-cid-4pg35wjo] kbd[data-astro-cid-4pg35wjo]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted-2);border:1px solid var(--border);border-radius:.3rem;padding:.2rem .35rem;font-size:.6rem;transition:color .16s,border-color .16s}.dock-cmdk[data-astro-cid-4pg35wjo]:hover kbd[data-astro-cid-4pg35wjo],.dock-cmdk[data-astro-cid-4pg35wjo]:focus-visible kbd[data-astro-cid-4pg35wjo]{color:var(--accent-2);border-color:var(--accent-2)}.dock-links[data-astro-cid-4pg35wjo]{color:var(--muted);flex:none;gap:.75rem;font-size:.78rem;display:flex;position:relative;top:-1.5px}.dock-links[data-astro-cid-4pg35wjo] a[data-astro-cid-4pg35wjo]{transition:color .16s}.dock-links[data-astro-cid-4pg35wjo] a[data-astro-cid-4pg35wjo]:hover,.dock-links[data-astro-cid-4pg35wjo] a[data-astro-cid-4pg35wjo]:focus{color:var(--accent-2)}@media (width<=640px){.dock[data-astro-cid-4pg35wjo]{gap:.65rem;padding-right:.75rem}.dock-links[data-astro-cid-4pg35wjo]{display:none}.dock-avatar[data-astro-cid-4pg35wjo]{width:38px;height:38px}}@media (prefers-reduced-motion:reduce){.dock-avatar[data-astro-cid-4pg35wjo],.dock-marquee-track[data-astro-cid-4pg35wjo]{animation:none}}.cursor-layer{pointer-events:none;z-index:200;width:0;height:0;position:fixed;top:0;left:0}.cursor-ring,.cursor-dot{pointer-events:none;opacity:0;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.cursor-ring{border:1px solid var(--border-strong);z-index:100;width:30px;height:30px;transition:width .2s,height .2s,border-color .2s,opacity .25s}.cursor-ring.is-active{border-color:var(--accent-2);width:46px;height:46px}.cursor-dot{background:var(--accent-2);z-index:101;width:5px;height:5px;transition:opacity .25s}html.cursor-none,html.cursor-none *{cursor:none!important}@media (pointer:coarse){.cursor-layer{display:none}}.btn{transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .16s,color .16s,background .16s}.project-card{isolation:isolate;position:relative;overflow:hidden}.project-card:before{content:"";border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent-2) 11%, transparent), transparent 68%);transition:opacity .25s;position:absolute;inset:0}.project-card:hover:before{opacity:1}html.js [data-reveal]{opacity:0;transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1);transform:translateY(14px)}html.js [data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js [data-reveal]{opacity:1;transition:none;transform:none}.cursor-layer{display:none}}[data-cmdk][hidden]{display:none}html.cmdk-open,html.cmdk-open body{overflow:hidden}.cmdk{z-index:120;justify-content:center;align-items:flex-start;padding:clamp(1rem,14vh,8rem) 1rem 1rem;display:flex;position:fixed;inset:0}.cmdk-scrim{background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .18s;position:absolute;inset:0}.cmdk.is-open .cmdk-scrim{opacity:1}.cmdk-panel{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);opacity:0;border-radius:.75rem;flex-direction:column;width:min(100%,560px);max-height:min(60vh,480px);transition:opacity .18s,transform .18s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden;transform:translateY(-6px)scale(.985);box-shadow:0 24px 64px #00000059}.cmdk.is-open .cmdk-panel{opacity:1;transform:none}.cmdk-input-row{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex}.cmdk-search{width:16px;height:16px;color:var(--muted-2);flex:none}.cmdk-input{min-width:0;color:var(--text);font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:auto;font-size:.95rem}.cmdk-input::placeholder{color:var(--muted-2)}.cmdk-esc{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted-2);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:.3rem;flex:none;padding:.2rem .4rem;font-size:.62rem;transition:color .16s,border-color .16s}.cmdk-esc:hover,.cmdk-esc:focus-visible{color:var(--accent-2);border-color:var(--accent-2);outline:none}.cmdk-list{margin:0;padding:.4rem;list-style:none;overflow-y:auto}.cmdk-group{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);padding:.7rem .6rem .35rem;font-size:.62rem}.cmdk-item{cursor:pointer;color:var(--text);border-radius:.4rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .6rem;font-size:.9rem;display:flex}.cmdk-item.is-active{background:color-mix(in srgb, var(--accent-2) 13%, transparent);color:var(--accent-2)}.cmdk-meta{font-family:var(--font-mono);color:var(--muted-2);white-space:nowrap;font-size:.66rem}.cmdk-empty{text-align:center;color:var(--muted-2);margin:0;padding:1.25rem 1rem 1.5rem;font-size:.9rem}@media (prefers-reduced-motion:reduce){.cmdk-scrim,.cmdk-panel{transition:none}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0c0a09;--surface:#1c1917;--surface-hover:#292524;--border:#292524;--border-strong:#44403c;--heading:#fafaf9;--text:#d6d3d1;--muted:#a8a29e;--muted-2:#908a85;--accent:#f87171;--accent-2:#ef4444;--font-display:"Geist Variable", system-ui, sans-serif;--font-sans:"Geist Variable", system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--nav-gap:.5rem;--max-width:1000px;--measure:720px;--container-pad:1rem;--header-gap:4rem;--nav-gap-bottom:1rem;--listing-gap:1rem;--nav-offset:.75rem}html.light{--bg:#fafaf9;--surface:#fff;--surface-hover:#f5f5f4;--border:#e7e5e4;--border-strong:#d6d3d1;--heading:#1c1917;--text:#292524;--muted:#57534e;--muted-2:#78716c;--accent:#dc2626;--accent-2:#dc2626}html,body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0}a{color:inherit;text-decoration:none}a:hover,a:focus{color:var(--accent-2)}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:2px}.nav-links{justify-content:center;gap:.15rem;margin:0;padding:0;list-style:none;display:flex;position:relative}.nav-links a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:.4rem .85rem;font-size:.875rem;font-weight:500;transition:color .18s;display:block}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a.is-active{color:var(--accent-2)}.container{box-sizing:border-box;width:100%;max-width:var(--max-width);padding-inline:clamp(.75rem,4vw,var(--container-pad));margin:0 auto}.site-main .content-box{box-sizing:border-box;width:100%;max-width:var(--max-width);margin:0 auto;padding-block:0;padding-inline:clamp(1rem,4vw,2rem)}header{padding-top:var(--nav-offset);margin-bottom:var(--nav-gap-bottom);position:relative}.hero{max-width:var(--measure);margin:0 auto var(--header-gap);text-align:left;padding-block-start:calc(var(--header-gap) - var(--nav-gap-bottom));padding-inline:0}.hero h1{font-family:var(--font-display);letter-spacing:-.04em;color:var(--heading);margin:0 0 1rem;font-size:clamp(2.5rem,7vw,4.25rem);font-weight:700;line-height:1}.hero-tagline{color:var(--text);max-width:46ch;margin:0 0 1rem;font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.55}.hero-meta{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin:0 0 2rem;font-size:.7rem}.hero-cta{flex-wrap:wrap;gap:.6rem;margin:0;display:flex}.btn{border:1px solid var(--border-strong);color:var(--text);background:0 0;border-radius:.4rem;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:border-color .16s,color .16s,background .16s;display:inline-flex}.btn:hover,.btn:focus{color:var(--accent-2);border-color:var(--accent-2);background:var(--surface)}.btn-primary{border-color:var(--accent-2);color:var(--accent-2)}.btn-primary:hover,.btn-primary:focus{background:var(--accent-2);color:var(--bg);border-color:var(--accent-2)}.section-card{max-width:var(--measure);text-align:left;margin:0 auto 3.25rem}.section-title{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);border-bottom:1px solid var(--border);align-items:baseline;gap:.6rem;margin:0 0 1.1rem;padding-bottom:.6rem;font-size:.72rem;font-weight:500;display:flex}.section-title a{color:inherit}.section-title a:hover,.section-title a:focus{color:var(--accent-2)}.section-index{color:var(--accent-2);opacity:.75}.section-body{color:var(--muted)}.section-body p{margin:0 0 .55rem;line-height:1.6}.section-body strong{color:var(--text);font-weight:600}.section-body a:hover strong,.section-body a:focus strong{color:var(--accent-2)}.entry{margin:0 0 1.6rem}.entry:last-child{margin-bottom:0}.entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.entry-when{font-family:var(--font-mono);color:var(--muted-2);white-space:nowrap;font-size:.72rem}.entry-note{color:var(--muted);margin:.5rem 0 0;line-height:1.65}.entry-sub{color:var(--muted-2);margin:.5rem 0 0;font-size:.9rem;line-height:1.55}.entry-role{margin:.85rem 0 0}.entry-role .entry-head{color:var(--text);font-size:.95rem}.entry-role .entry-list{margin-top:.4rem}.entry-list{color:var(--muted);margin:.55rem 0 0;padding-left:1.15rem}.entry-list li{line-height:1.65}.entry-list li::marker{color:var(--muted-2)}.entry-list li+li{margin-top:.4rem}.project-grid{gap:.75rem;display:grid}.project-card{border:1px solid var(--border);background:var(--surface);border-radius:.6rem;padding:1.1rem 1.2rem;transition:border-color .18s,background .18s,transform .18s;display:block}.project-card:hover,.project-card:focus{border-color:var(--border-strong);background:var(--surface-hover);color:inherit;transform:translateY(-2px)}.project-card-head{align-items:center;gap:.7rem;margin-bottom:.5rem;display:flex}.project-card-icon{border:1px solid var(--border);object-fit:cover;border-radius:.45rem;flex:none;width:34px;height:34px}.project-card-icon.glyph{background:var(--bg);padding:1px}.project-card:hover .project-card-icon.glyph{border-color:var(--border-strong)}.project-card-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--heading);margin:0;font-size:1.06rem;font-weight:600;transition:color .18s}.project-card:hover .project-card-title{color:var(--accent-2)}.project-card-when{font-family:var(--font-mono);color:var(--muted-2);white-space:nowrap;margin-left:auto;font-size:.7rem}.project-card-desc{color:var(--muted);margin:0 0 .7rem;font-size:.925rem;line-height:1.55}.project-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .9rem;display:flex}.project-card-avail{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted-2);white-space:nowrap;align-items:center;gap:.3rem;font-size:.66rem;display:inline-flex}.project-card-avail svg{width:11px;height:11px}.project-card:hover .project-card-avail{color:var(--accent-2)}.tag-row{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted-2);border:1px solid var(--border);white-space:nowrap;border-radius:.3rem;padding:.18rem .45rem;font-size:.68rem}.skill-group{margin:0 0 1.1rem}.skill-group:last-child{margin-bottom:0}.skill-group-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin:0 0 .45rem;font-size:.68rem}.pill{color:var(--text);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:.35rem;padding:.24rem .55rem;font-size:.8rem;transition:border-color .16s,color .16s}.pill:hover{border-color:var(--border-strong);color:var(--heading)}.viz{border-radius:.5rem;width:100%;display:block}.viz-wrap{margin:0 0 1.75rem}.viz-caption{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted-2);margin:.5rem 0 0;font-size:.66rem}.listing{max-width:var(--measure);margin:var(--listing-gap) auto 0;text-align:left}.listing-title{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);border-bottom:1px solid var(--border);margin:0 0 1.1rem;padding-bottom:.6rem;font-size:.72rem;font-weight:500}.post-list{margin:0;padding:0;list-style:none}.post-list li{color:var(--muted);margin:0 0 .6rem}.post-list .rel-date{color:var(--muted-2);font-family:var(--font-mono);font-size:.78rem}.astro-code{background-color:var(--surface)!important}html:not(.light) .astro-code,html:not(.light) .astro-code span{color:var(--shiki-dark,inherit)!important;font-style:var(--shiki-dark-font-style,inherit)!important;font-weight:var(--shiki-dark-font-weight,inherit)!important;text-decoration:var(--shiki-dark-text-decoration,inherit)!important}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.rise{animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.rise-1{animation-delay:40ms}.rise-2{animation-delay:.1s}.rise-3{animation-delay:.16s}.rise-4{animation-delay:.22s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}.project-card:hover{transform:none}}@media (width<=520px){.nav-links{gap:.75rem}.container{padding-inline:.75rem}.entry-head{gap:.15rem}}html,body{min-height:100%;margin:0;padding:0}body{color:#d6d3d1;background:#0c0a09;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}html.light body{color:#292524;background:#fafaf9}.site-nav[data-astro-cid-ju4pidww]{justify-content:center;padding:.75rem 0;display:flex}.container[data-astro-cid-ju4pidww]{max-width:1000px;margin:0 auto;padding-inline:1rem}html,body{min-height:100%;margin:0}body{flex-direction:column;display:flex}.page-wrap[data-astro-cid-ju4pidww]{flex-direction:column;min-height:100vh;display:flex}.site-main[data-astro-cid-ju4pidww]{flex:1 0 auto;padding-bottom:7.5rem}header[data-astro-cid-ju4pidww]{z-index:10;pointer-events:none;background:0 0;position:sticky;top:0}header[data-astro-cid-ju4pidww] .nav-shell{pointer-events:auto}.site-nav[data-astro-cid-nen7h5rs]{justify-content:center;padding-block:1.25rem .5rem;display:flex}.nav-shell[data-astro-cid-nen7h5rs]{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:.25rem;padding:.3rem;display:flex;position:relative}.nav-indicator[data-astro-cid-nen7h5rs]{background:color-mix(in srgb, var(--accent-2) 13%, transparent);opacity:0;pointer-events:none;border-radius:999px;transition:transform .34s cubic-bezier(.3,.8,.25,1),width .34s cubic-bezier(.3,.8,.25,1),opacity .2s;position:absolute;top:0;left:0}.nav-divider[data-astro-cid-nen7h5rs]{background:var(--border);flex:none;width:1px;height:18px;margin-inline:.2rem}.theme-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:999px;align-items:center;padding:.4rem .5rem;line-height:1;transition:color .16s,background .16s;display:flex;position:relative}.theme-toggle[data-astro-cid-nen7h5rs]:hover,.theme-toggle[data-astro-cid-nen7h5rs]:focus-visible{color:var(--accent-2);background:color-mix(in srgb, var(--heading) 7%, transparent);outline:none}.icon-wrap[data-astro-cid-nen7h5rs]{width:16px;height:16px;display:block;position:relative}.icon-wrap[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:100%;height:100%;transition:opacity .22s,transform .4s cubic-bezier(.3,.8,.25,1);position:absolute;inset:0}.icon-sun[data-astro-cid-nen7h5rs]{opacity:1;transform:rotate(0)scale(1)}.icon-moon[data-astro-cid-nen7h5rs]{opacity:0;transform:rotate(-70deg)scale(.5)}html.light .icon-sun[data-astro-cid-nen7h5rs]{opacity:0;transform:rotate(70deg)scale(.5)}html.light .icon-moon[data-astro-cid-nen7h5rs]{opacity:1;transform:rotate(0)scale(1)}@media (prefers-reduced-motion:reduce){.nav-indicator[data-astro-cid-nen7h5rs]{transition:opacity .2s}.icon-wrap[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{transition:opacity .15s}.icon-sun[data-astro-cid-nen7h5rs],.icon-moon[data-astro-cid-nen7h5rs]{transform:none!important}}
