:root{--night-0: #04060e;--night-1: #080b1a;--night-2: #0e1430;--indigo: #1a2350;--indigo-soft: #2a3568;--moon: #f5f1e6;--moon-warm: #f9e9c8;--moon-glow: rgba(245, 241, 230, .55);--moon-halo: rgba(200, 214, 255, .18);--moss: #2c3a2f;--moss-deep: #131d18;--moss-edge: #3c5040;--flower: #f8faff;--flower-core: #fbf6e8;--flower-glow: rgba(206, 222, 255, .7);--text: #e9ebf4;--text-dim: #9aa2bd;--text-faint: #6b7390;--accent: #bcc6ff;--surface: rgba(16, 22, 48, .55);--surface-strong: rgba(12, 17, 38, .82);--surface-border: rgba(188, 198, 255, .14);--font-display: "Cormorant Garamond", "Georgia", serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: clamp(.72rem, .69rem + .15vw, .8rem);--text-sm: clamp(.84rem, .8rem + .2vw, .94rem);--text-base: clamp(1rem, .94rem + .3vw, 1.12rem);--text-lg: clamp(1.2rem, 1.1rem + .5vw, 1.5rem);--text-xl: clamp(1.6rem, 1.3rem + 1.4vw, 2.4rem);--text-display: clamp(2.6rem, 1.2rem + 6vw, 6.5rem);--space-xs: .5rem;--space-sm: .875rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: clamp(3rem, 2rem + 5vw, 7rem);--radius: 14px;--radius-lg: 24px;--dur-fast: .2s;--dur: .48s;--dur-slow: 1.2s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.33, 0, .2, 1);--maxw-read: 70ch;--maxw-page: 1180px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--text);background:var(--night-0);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.08;letter-spacing:.01em;margin:0 0 .5em}p{margin:0 0 1em}a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:.18em;transition:color var(--dur-fast) var(--ease-soft)}a:hover{color:var(--moon)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}img{max-width:100%;height:auto;display:block}.moon-btn{display:inline-flex;align-items:center;gap:.5em;padding:.6em 1.2em;font:inherit;font-size:var(--text-sm);letter-spacing:.04em;color:var(--text);background:var(--surface);border:1px solid var(--surface-border);border-radius:999px;cursor:pointer;backdrop-filter:blur(8px);transition:transform var(--dur-fast) var(--ease-soft),border-color var(--dur-fast),background var(--dur-fast)}.moon-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:var(--surface-strong)}.prose{max-width:var(--maxw-read);font-size:var(--text-lg);line-height:1.75;color:var(--text)}.prose h1{font-size:var(--text-xl);margin-top:0}.prose h2{font-size:var(--text-lg);margin-top:1.6em;color:var(--moon)}.prose h3{font-size:var(--text-lg);font-weight:500}.prose a{font-weight:500}.prose img{border-radius:var(--radius);margin:1.5em 0;box-shadow:0 18px 50px #00000080}.prose blockquote{margin:1.5em 0;padding:.4em 0 .4em 1.2em;border-left:2px solid var(--accent);color:var(--text-dim);font-style:italic}.prose code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em;background:#00000059;padding:.15em .4em;border-radius:6px}.prose pre{background:#00000080;border:1px solid var(--surface-border);border-radius:var(--radius);padding:var(--space-md);overflow-x:auto}.prose pre code{background:none;padding:0}.prose hr{border:none;border-top:1px solid var(--surface-border);margin:2.5em 0}.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:var(--text-base)}.prose th,.prose td{padding:.6em .8em;border-bottom:1px solid var(--surface-border);text-align:left}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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}.night .star{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--moon);box-shadow:0 0 6px var(--moon-glow)}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:.9}}.night[data-astro-cid-3mfl662n]{position:fixed;inset:0;z-index:-2;overflow:hidden;--px: 0;--py: 0}.sky[data-astro-cid-3mfl662n]{position:absolute;inset:0;background:radial-gradient(120% 80% at 78% 6%,var(--night-2),transparent 60%),radial-gradient(160% 120% at 50% 128%,var(--moss-deep),transparent 52%),linear-gradient(180deg,var(--night-0),var(--night-1) 55%,#060a16)}.stars[data-astro-cid-3mfl662n]{position:absolute;inset:0;transform:translate3d(calc(var(--px) * -6px),calc(var(--py) * -6px),0)}.moon[data-astro-cid-3mfl662n]{position:absolute;top:7vh;right:12vw;width:min(34vh,260px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fffdf6,var(--moon) 44%,#ddd6c1 72%,#bbb39c);box-shadow:0 0 60px 18px var(--moon-glow),0 0 180px 70px var(--moon-halo),inset -16px -22px 48px #463e2c66;transform:translate3d(calc(var(--px) * 10px),calc(var(--py) * 10px),0);animation:moon-rise var(--dur-slow) var(--ease-out-expo) both}.crater[data-astro-cid-3mfl662n]{position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 35%,#786e5859,#968c740d);box-shadow:inset 1px 2px 3px #3c342466}.c1[data-astro-cid-3mfl662n]{width:18%;height:18%;top:26%;left:30%}.c2[data-astro-cid-3mfl662n]{width:11%;height:11%;top:52%;left:58%}.c3[data-astro-cid-3mfl662n]{width:8%;height:8%;top:34%;left:64%}.fog[data-astro-cid-3mfl662n]{position:absolute;left:-20%;width:140%;height:42vh;filter:blur(46px);border-radius:50%;opacity:.5;will-change:transform}.fog-1[data-astro-cid-3mfl662n]{bottom:16vh;background:radial-gradient(50% 60% at 50% 50%,rgba(120,140,180,.22),transparent 70%);animation:drift 40s ease-in-out infinite}.fog-2[data-astro-cid-3mfl662n]{bottom:6vh;background:radial-gradient(60% 70% at 40% 50%,rgba(80,100,140,.28),transparent 72%);animation:drift 55s ease-in-out -8s infinite reverse;opacity:.6}.fog-3[data-astro-cid-3mfl662n]{bottom:24vh;background:radial-gradient(40% 50% at 60% 50%,rgba(150,160,200,.16),transparent 70%);animation:drift 70s ease-in-out -20s infinite}.ground[data-astro-cid-3mfl662n]{position:absolute;left:0;right:0;bottom:0;height:32vh;background:linear-gradient(180deg,transparent,rgba(19,29,24,.65) 42%,var(--moss-deep) 100%)}.ground[data-astro-cid-3mfl662n]:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--moss-edge),transparent);opacity:.5;filter:blur(1px)}@keyframes moon-rise{0%{transform:translate3d(0,40px,0) scale(.92);opacity:0;filter:blur(6px)}to{transform:translate3d(calc(var(--px) * 10px),calc(var(--py) * 10px),0) scale(1);opacity:1;filter:blur(0)}}@keyframes drift{0%,to{transform:translate(-3%)}50%{transform:translate(5%)}}@media(prefers-reduced-motion:reduce){.moon[data-astro-cid-3mfl662n],.fog[data-astro-cid-3mfl662n]{animation:none}.stars[data-astro-cid-3mfl662n],.moon[data-astro-cid-3mfl662n]{transform:none}}.particles[data-astro-cid-kcjrzsbh]{position:fixed;inset:0;z-index:-1;pointer-events:none}.ambient[data-astro-cid-nwetdrx2]{position:fixed;left:20px;bottom:20px;z-index:50;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--text-faint);background:var(--surface);border:1px solid var(--surface-border);backdrop-filter:blur(8px);cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast)}.ambient[data-astro-cid-nwetdrx2]:hover{transform:translateY(-1px);color:var(--text-dim)}.ambient[data-astro-cid-nwetdrx2][aria-pressed=true]{color:var(--moon);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 35%,transparent)}.ico[data-astro-cid-nwetdrx2]{width:20px;height:20px}.ico[data-astro-cid-nwetdrx2] .wave[data-astro-cid-nwetdrx2]{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;opacity:.35}.ambient[data-astro-cid-nwetdrx2][aria-pressed=true] .ico[data-astro-cid-nwetdrx2] .wave[data-astro-cid-nwetdrx2]{opacity:1}.page{position:relative;z-index:1;min-height:100dvh}@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}}
