*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--color-bg: #f3f6f7;--color-bg-offset: #f0f5f5;--color-bg-deep: #e2ebef;--color-card: #fff;--color-ink: #2e424a;--color-ink-soft: #546770;--color-ink-mute: #60737c;--color-ink-faint: #a0aab2;--color-rule: #e5eaee;--color-rule-soft: #eff2f4;--color-accent: #237f78;--color-accent-deep: #17665f;--color-accent-wash: #edf6f3;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif: var(--font-sans);--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--max-width: 1160px;--reading-width: 760px;--sidebar-width: 264px;--layout-gap: 24px;--card-padding: 32px;--nav-height: 64px;--radius-sm: 6px;--radius-md: 14px;--card-shadow: 0 4px 20px rgb(39 67 75 / 4%), 0 0 0 1px rgb(39 67 75 / 4%);--card-shadow-hover: 0 10px 28px rgb(39 67 75 / 8%), 0 0 0 1px rgb(39 67 75 / 7%);--duration: .22s;--ease: cubic-bezier(.2, .65, .3, 1)}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 16px);background:var(--color-bg)}body{font:16px/1.75 var(--font-sans);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}::selection{background:#bcece0;color:#174f44}:focus-visible{outline:2px solid var(--color-accent-deep);outline-offset:3px}a{color:inherit;text-decoration:none;transition:color var(--duration) var(--ease)}a:hover{color:var(--color-accent-deep)}button,input{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-ink);font-weight:600;line-height:1.5}h1,h2,h3{text-wrap:pretty}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}h4{font-size:1.05rem}p{line-height:1.8}strong{font-weight:600}code{font:.88em var(--font-mono);padding:.15em .35em;color:#bc6045;background:#f7f1ec;border-radius:4px}pre{margin:1.5rem 0;padding:1.25rem;overflow-x:auto;background:#242c36!important;border-radius:var(--radius-sm);font:.88rem/1.7 var(--font-mono)}pre code{background:transparent;color:#e5edf2;padding:0;font:inherit}img{max-width:100%;height:auto;border-radius:var(--radius-sm)}blockquote{margin:1.5rem 0;padding:.75rem 1.25rem;background:#f5f8fa;border-left:3px solid var(--color-accent)}blockquote p{color:var(--color-ink-soft)}ul,ol{padding-left:1.5rem}li{margin:.35rem 0}hr{margin:2rem 0;border:0;border-top:1px solid var(--color-rule)}.wrap{width:100%;max-width:var(--max-width);padding:0 24px;margin:0 auto}.wrap-narrow{width:100%;max-width:960px;padding:0 24px;margin:0 auto}.wrap-reading{width:100%;max-width:var(--reading-width);padding:0 24px;margin:0 auto}.site-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar-width);align-items:start;gap:var(--layout-gap);padding-top:32px;padding-bottom:24px}.page-main{min-width:0}.surface{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--card-shadow)}.page-heading{padding:28px var(--card-padding)}.page-heading h1{font-size:1.65rem;margin:10px 0 8px}.page-heading .page-lede{font-size:.9rem;color:var(--color-ink-mute)}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--color-ink-mute);font-size:.8rem}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.tag{color:var(--color-accent-deep);font-size:.8rem}.tag:before{content:"#";margin-right:.15em}.link-arrow{color:var(--color-accent-deep);font-size:.9rem}.link-arrow:after{content:" →"}@media(max-width:900px){.site-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){:root{--card-padding: 24px;--nav-height: 58px}.wrap,.wrap-narrow,.wrap-reading{padding-left:16px;padding-right:16px}.site-grid{gap:16px;padding-top:16px}body{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:0s!important;animation:none!important}}.icon[data-astro-cid-patnjmll]{display:block;flex:none}body{min-height:100vh;display:flex;flex-direction:column}.skip-link[data-astro-cid-37fxchfa]{position:fixed;z-index:200;top:12px;left:12px;padding:8px 16px;background:#fff;border-radius:6px;transform:translateY(-160%)}.skip-link[data-astro-cid-37fxchfa]:focus{transform:translateY(0)}.nav[data-astro-cid-37fxchfa]{position:sticky;top:0;z-index:100;flex-shrink:0;background:#fffffff2;backdrop-filter:blur(16px);box-shadow:0 1px 8px #23374b0d}.nav-inner[data-astro-cid-37fxchfa]{min-height:var(--nav-height);display:flex;align-items:center;gap:40px}.nav-logo[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:10px;font-size:1.08rem;font-weight:650;color:var(--color-ink);white-space:nowrap}.logo-mark[data-astro-cid-37fxchfa]{display:block;flex-shrink:0;width:30px;height:30px;object-fit:cover;border-radius:8px;background:var(--color-accent-wash)}.nav-links[data-astro-cid-37fxchfa]{display:flex;align-items:center;align-self:stretch;gap:8px}.nav-link[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:7px;position:relative;padding:0 14px;color:var(--color-ink-soft);font-size:.9rem;font-weight:500}.nav-icon[data-astro-cid-37fxchfa]{color:currentColor;opacity:.8}.nav-link[data-astro-cid-37fxchfa]:hover,.nav-link[data-astro-cid-37fxchfa].is-active{color:var(--color-accent-deep);background:#f5f9f8}.nav-link[data-astro-cid-37fxchfa].is-active:after{content:"";position:absolute;bottom:0;left:14px;right:14px;height:3px;border-radius:3px 3px 0 0;background:var(--color-accent)}.nav-github[data-astro-cid-37fxchfa]{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:.8rem;color:var(--color-ink-mute)}.main[data-astro-cid-37fxchfa]{flex:1;width:100%}.footer[data-astro-cid-37fxchfa]{padding:40px 0 36px;color:var(--color-ink-mute);text-align:center}.footer-motto[data-astro-cid-37fxchfa]{font-size:.9rem;margin-bottom:8px}.footer-links[data-astro-cid-37fxchfa]{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;font-size:.8rem}.footer-copyright[data-astro-cid-37fxchfa]{margin-top:8px;font-size:.75rem}@media(max-width:600px){.nav-inner[data-astro-cid-37fxchfa]{gap:12px}.nav-logo[data-astro-cid-37fxchfa]{font-size:1rem;gap:7px}.nav-links[data-astro-cid-37fxchfa]{gap:0;margin-left:auto}.nav-link[data-astro-cid-37fxchfa]{padding:0 9px;font-size:.82rem}.nav-icon[data-astro-cid-37fxchfa],.nav-github[data-astro-cid-37fxchfa]{display:none}.nav-link[data-astro-cid-37fxchfa].is-active:after{left:9px;right:9px}}
