@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Franklin:wght@500;600&family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@400;500;600;700&display=swap";@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}}.site-header[data-astro-cid-fzpbxy5g]{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);position:relative}.header-inner[data-astro-cid-fzpbxy5g]{align-items:center;min-height:74px;display:flex}.brand[data-astro-cid-fzpbxy5g]{align-items:center;gap:10px;font-family:Noto Serif SC,serif;font-size:1.12rem;font-weight:700;display:flex}.brand-mark[data-astro-cid-fzpbxy5g]{background:var(--ink);width:32px;height:32px;color:var(--paper);place-items:center;font-size:.95rem;display:grid}.desktop-nav[data-astro-cid-fzpbxy5g]{gap:34px;margin-left:auto;display:flex}.desktop-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{color:var(--ink-soft);font-size:.9rem;position:relative}.desktop-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover,.desktop-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g].active{color:var(--ink)}.nav-indicator[data-astro-cid-fzpbxy5g]{background:var(--accent);transform-origin:50%;height:2px;position:absolute;bottom:-25px;left:0;right:0}.header-actions[data-astro-cid-fzpbxy5g]{margin-left:24px;display:flex}.sun[data-astro-cid-fzpbxy5g]{display:none}[data-theme=dark] .sun[data-astro-cid-fzpbxy5g]{display:block}[data-theme=dark] .moon[data-astro-cid-fzpbxy5g],.menu-toggle[data-astro-cid-fzpbxy5g],.close-icon[data-astro-cid-fzpbxy5g],.mobile-nav[data-astro-cid-fzpbxy5g]{display:none}@media (width<=700px){.desktop-nav[data-astro-cid-fzpbxy5g]{display:none}.header-actions[data-astro-cid-fzpbxy5g]{margin-left:auto}.menu-toggle[data-astro-cid-fzpbxy5g]{display:inline-grid}.mobile-nav[data-astro-cid-fzpbxy5g]{z-index:30;background:var(--paper);flex-direction:column;padding:30px 28px;position:fixed;inset:74px 0 0}.mobile-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{border-bottom:1px solid var(--line);padding:16px 0;font-family:Noto Serif SC,serif;font-size:1.3rem}.menu-open .mobile-nav[data-astro-cid-fzpbxy5g]{display:flex}.menu-open .menu-icon[data-astro-cid-fzpbxy5g]{display:none}.menu-open .close-icon[data-astro-cid-fzpbxy5g]{display:block}}.site-footer[data-astro-cid-nns7i3if]{border-top:1px solid var(--line);margin-top:100px}.footer-inner[data-astro-cid-nns7i3if]{justify-content:space-between;align-items:center;min-height:150px;display:flex}.footer-title[data-astro-cid-nns7i3if]{margin:0 0 5px;font-family:Noto Serif SC,serif;font-size:1.15rem;font-weight:600}.footer-inner[data-astro-cid-nns7i3if] p[data-astro-cid-nns7i3if]:last-child{margin:0;font-size:.82rem}.footer-links[data-astro-cid-nns7i3if]{gap:4px;display:flex}@media (width<=560px){.site-footer[data-astro-cid-nns7i3if]{margin-top:72px}.footer-inner[data-astro-cid-nns7i3if]{flex-direction:column;justify-content:center;align-items:flex-start;gap:16px}}.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}:root{--paper:#f7f6f2;--paper-deep:#efeee8;--ink:#1d211f;--ink-soft:#626a65;--line:#d9dbd5;--accent:#c34a2c;--accent-soft:#f0ddd6;--forest:#254f42;--code:#161b22;--max-width:1120px;--reading-width:720px;color-scheme:light;font-family:DM Sans,Noto Sans SC,system-ui,sans-serif}:root[data-theme=dark]{--paper:#171b19;--paper-deep:#202522;--ink:#e9ece8;--ink-soft:#9ea7a1;--line:#373d39;--accent:#e77c5d;--accent-soft:#432b24;--forest:#83b9a4;--code:#0d1117;color-scheme:dark}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);letter-spacing:0;margin:0;font-size:16px;line-height:1.75;transition:background-color .2s,color .2s}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font:inherit}button{color:inherit}::selection{background:var(--accent-soft);color:var(--ink)}@keyframes pageLeave{to{opacity:0;filter:blur(2px);transform:translateY(-7px)scale(.997)}}@keyframes pageEnter{0%{opacity:0;filter:blur(3px);transform:translateY(18px)scale(.997)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes pageLeaveBack{to{opacity:0;filter:blur(2px);transform:translateY(7px)scale(.997)}}@keyframes pageEnterBack{0%{opacity:0;filter:blur(3px);transform:translateY(-14px)scale(.997)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-group(nav-indicator){animation-duration:.42s;animation-timing-function:cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important;animation-delay:0s!important}}.shell{width:min(calc(100% - 40px), var(--max-width));margin-inline:auto}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700}.section-title{margin:0;font-family:Noto Serif SC,serif;font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.3}.muted{color:var(--ink-soft)}.tag{border:1px solid var(--line);min-height:28px;color:var(--ink-soft);border-radius:4px;align-items:center;padding:2px 9px;font-size:.78rem;line-height:1;display:inline-flex}.tag:hover{border-color:var(--accent);color:var(--accent)}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;padding:0;display:inline-grid}.icon-button:hover{color:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=680px){.shell{width:min(calc(100% - 28px), var(--max-width))}}
