:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Source Serif Pro", Georgia, "Songti SC", "Noto Serif SC", serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--bg:#fbfbf9;--bg-elev:#fff;--bg-subtle:#f2f2ee;--text:#1d1f21;--text-muted:#5d6166;--text-faint:#8a8f94;--border:#e3e3dd;--accent-soft:color-mix(in srgb, var(--accent) 11%, var(--bg));--highlight:#8a2b2b;--code-bg:#f4f4f0;--radius:10px;--ease-out:cubic-bezier(.2, .7, .2, 1);--shadow-hover:0 10px 30px -12px #0000002e;--width:760px;--width-wide:980px;color-scheme:light}:root[data-theme=dark]{--bg:#111315;--bg-elev:#181b1e;--bg-subtle:#1d2124;--text:#e6e6e3;--text-muted:#a3a8ad;--text-faint:#767c82;--border:#2a2f33;--accent-soft:color-mix(in srgb, var(--accent) 16%, var(--bg));--highlight:#e5a0a0;--code-bg:#1a1e21;--shadow-hover:0 10px 30px -12px #0009;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16.5px;line-height:1.65}img{max-width:100%;height:auto}[hidden]{display:none!important}a{color:var(--accent);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0 0 .5em;line-height:1.25}h1{font-size:2rem}h2{font-size:1.35rem}h3{font-size:1.1rem}p{margin:0 0 1em}code{font-family:var(--font-mono);background:var(--code-bg);border-radius:4px;padding:.12em .35em;font-size:.88em}pre{border-radius:var(--radius);border:1px solid var(--border);padding:1rem 1.15rem;font-size:.88rem;line-height:1.55;overflow-x:auto}pre code{background:0 0;padding:0}hr{border:0;border-top:1px solid var(--border);margin:2rem 0}.container{width:100%;max-width:var(--width);margin:0 auto;padding:0 1.25rem}.container.wide{max-width:var(--width-wide)}.section{margin:3rem 0}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:.8rem;font-weight:600;display:flex}.section-title a{letter-spacing:.02em;text-transform:none;font-size:.8rem;font-weight:500}.page-header{margin:3rem 0 2rem}.page-header h1{font-family:var(--font-serif);font-size:2.2rem;font-weight:600}.page-header p{color:var(--text-muted);margin:0}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.tag{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem;font-size:.78rem;line-height:1.4;display:inline-block}.tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.pill-links{flex-wrap:wrap;gap:.4rem;display:flex}.pill-links a,.pill-links button{font:inherit;border:1px solid var(--border);color:var(--accent);background:var(--bg-elev);cursor:pointer;border-radius:6px;padding:.12rem .55rem;font-size:.78rem;font-weight:500;line-height:1.4}.pill-links a:hover,.pill-links button:hover{border-color:var(--accent);text-decoration:none}.prose{font-size:1.04rem}.prose h2{margin-top:2.2rem}.prose h3{margin-top:1.8rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.3rem}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:1.5rem 0;padding:.25rem 1rem}.prose img{border-radius:var(--radius);margin:1.5rem auto;display:block}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .75rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.prose a{transition:background-size .3s var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}.prose a:hover{background-size:100% 1px;text-decoration:none}.lift{transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s}.lift:hover{box-shadow:var(--shadow-hover);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));transform:translateY(-3px)}:root.motion [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), translate .7s var(--ease-out);transition-delay:calc(var(--i,0) * 70ms);translate:0 16px}:root.motion [data-reveal].is-visible{opacity:1;translate:none}:root.motion .lift[data-reveal]{transition:opacity .7s var(--ease-out) calc(var(--i,0) * 70ms), translate .7s var(--ease-out) calc(var(--i,0) * 70ms), transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s}:root.motion [data-reveal] [data-reveal]{opacity:1;transition:none;translate:none}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:.18s ease-in both vt-fade-out}::view-transition-new(root){animation:.32s var(--ease-out) both vt-fade-in}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0;translate:0 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.site-header[data-astro-cid-nen7h5rs]{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);view-transition-name:site-header;transition:box-shadow .3s;position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs].scrolled{box-shadow:0 6px 20px -14px #00000059}.inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:1rem;min-height:56px;display:flex}.brand[data-astro-cid-nen7h5rs]{font-family:var(--font-serif);color:var(--text);white-space:nowrap;font-size:1.1rem;font-weight:600}.brand[data-astro-cid-nen7h5rs]:hover{text-decoration:none}ul[data-astro-cid-nen7h5rs]{align-items:center;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text-muted);border-radius:6px;padding:.3rem .6rem;font-size:.93rem;display:block;position:relative}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text);background:var(--bg-subtle);text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text);font-weight:600}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{content:"";background:var(--accent);height:2px;transition:transform .3s var(--ease-out);border-radius:2px;position:absolute;bottom:.1rem;left:.6rem;right:.6rem;transform:scaleX(0)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]:after{transform:scaleX(1)}.theme-toggle[data-astro-cid-nen7h5rs]{border:1px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;margin-left:.25rem;display:grid}.theme-toggle[data-astro-cid-nen7h5rs]:hover{color:var(--text)}.theme-toggle[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{transition:transform .5s var(--ease-out)}.theme-toggle[data-astro-cid-nen7h5rs]:hover svg[data-astro-cid-nen7h5rs]{transform:rotate(-25deg)}.icon-sun[data-astro-cid-nen7h5rs]{display:none}:root[data-theme=dark] .icon-sun[data-astro-cid-nen7h5rs]{display:block}:root[data-theme=dark] .icon-moon[data-astro-cid-nen7h5rs]{display:none}@media (width<=560px){.inner[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:center;gap:.25rem;padding-top:.5rem;padding-bottom:.5rem}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:.3rem .45rem;font-size:.88rem}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);color:var(--text-muted);margin-top:5rem;font-size:.85rem}.inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding-top:1.5rem;padding-bottom:2rem;display:flex}.links[data-astro-cid-jo6i4kqk]{gap:1rem;display:flex}
