:root,:root[data-theme=light]{color-scheme:light;--bg:#f4f1ea;--text:#221f1a;--muted:#5f5a52;--line:#e3ddd2;--line-strong:#cfc6b8;--accent:#6d3c28;--code-bg:#ebe6dc;--selection:#ead9cc}:root[data-theme=dark]{color-scheme:dark;--bg:#171614;--text:#ece7de;--muted:#b3ada3;--line:#2e2b27;--line-strong:#453f38;--accent:#e4b89a;--code-bg:#221f1c;--selection:#5a4034}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#171614;--text:#ece7de;--muted:#b3ada3;--line:#2e2b27;--line-strong:#453f38;--accent:#e4b89a;--code-bg:#221f1c;--selection:#5a4034}}:root{--font-ui:"Noto Sans CJK SC", "Noto Sans", sans-serif;--font-serif:"Noto Serif CJK SC", "Noto Serif", serif;--font-mono:"Noto Sans Mono CJK SC", ui-monospace, monospace;--measure:38rem}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-ui);overflow-wrap:break-word;margin:0;font-size:1rem;line-height:1.7}::selection{background:var(--selection);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit}h1,h2,h3,p{overflow-wrap:break-word}.skip{z-index:2;background:var(--bg);border:1px solid var(--line-strong);padding:.4rem .7rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:1rem}.shell{width:min(var(--measure), calc(100% - 2.5rem));margin-inline:auto}.main{padding-block:2.5rem 1rem}.site-header{border-bottom:1px solid var(--line)}.bar{align-items:center;gap:1rem 1.25rem;min-height:3.5rem;padding-block:.75rem;display:flex}.brand{font-weight:500;text-decoration:none}.bar>nav{margin-left:auto}.nav-list{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:flex}.external{margin-left:0}.nav-list a{padding-block:.35rem;text-decoration:none;display:inline-block}.nav-list a[aria-current=page]{text-underline-offset:.35em;text-decoration:underline}.nav-list a:hover,.section-head a:hover,.title-list a:hover,.archive-item a:hover,.card-title a:hover,.related-list a:hover,.index-links a:hover,.group h3 a:hover,.toc a:hover,.site-footer a:hover{color:var(--accent)}.theme-toggle{font:inherit;color:var(--text);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;padding:.4rem .8rem;font-size:.875rem;line-height:1.2}.theme-toggle:hover{border-color:var(--text)}.when-dark,:root[data-theme=dark] .when-light{display:none}:root[data-theme=dark] .when-dark{display:inline}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .when-light{display:none}:root:not([data-theme=light]) .when-dark{display:inline}}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:3.5rem;font-size:.875rem}.site-footer .shell{padding-block:1.25rem 2rem}.footer-bar{flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;display:flex}.site-footer p{margin:0}.site-footer a{color:inherit}h1{font-family:var(--font-serif);margin:0 0 .75rem;font-size:clamp(1.9rem,4vw,2.4rem);font-weight:600;line-height:1.25}.intro{border-bottom:1px solid var(--line);padding-bottom:1.75rem}.intro p,.lede,.summary{color:var(--muted);margin:0;font-size:1.05rem}.section{margin-top:2.25rem}.section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.25rem;display:flex}.section-head h2,.section>h2,.related h2{margin:0 0 .85rem;font-size:1.05rem;font-weight:500}.section-head h2{margin:0}.section-head a,.muted,.count{color:var(--muted)}.section-head a{font-size:.875rem;text-decoration:none}.count{margin-left:.35rem;font-size:.85em;font-weight:400}.groups{gap:1.25rem 2rem;display:grid}.group h3{margin:0;font-size:1rem;font-weight:500}.post-card{border-top:1px solid var(--line);padding:1.1rem 0}.post-card:last-child{border-bottom:1px solid var(--line)}.card-title{margin:.25rem 0 .35rem;font-size:1.2rem;font-weight:500;line-height:1.4}.card-title a,.title-list a,.archive-item a,.related-list a,.meta a{text-decoration:none}.card-title a:hover,.title-list a:hover,.archive-item a:hover,.related-list a:hover,.meta a:hover{text-underline-offset:.18em;text-decoration:underline}.meta,.tag-list,.title-list,.archive-list,.related-list,.nav-list{list-style:none}.meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.35rem .45rem;margin:0;font-size:.875rem;display:flex}.tag-list{flex-wrap:wrap;gap:.4rem;margin:.85rem 0 0;padding:0;display:flex}.tag-list a{border:1px solid var(--line-strong);color:var(--muted);border-radius:999px;padding:.1rem .55rem;font-size:.82rem;line-height:1.6;text-decoration:none;display:inline-block}.tag-list a:hover{color:var(--text);border-color:var(--text)}.title-list,.related-list{margin:.4rem 0 0;padding:0}.title-list li+li,.related-list li+li{margin-top:.3rem}.page-intro{margin-bottom:1.75rem}.archive-list{margin:0;padding:0}.archive-item{border-top:1px solid var(--line);grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:baseline;gap:.35rem 1rem;padding:.75rem 0;display:grid}.archive-year:last-of-type .archive-item:last-child{border-bottom:1px solid var(--line)}.archive-year+.archive-year{margin-top:1.75rem}.archive-year h2{font-variant-numeric:tabular-nums;margin:0 0 .35rem;font-size:1.05rem;font-weight:500}.article-header .summary{margin-top:.85rem}.prose{font-family:var(--font-serif);margin-top:1.85rem;font-size:1.0625rem;line-height:1.85}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose h2,.prose h3,.prose h4{font-family:var(--font-ui);scroll-margin-top:1.25rem;font-weight:500;line-height:1.35}.prose h2{margin:2rem 0 .75rem;font-size:1.3rem}.prose h3{margin:1.5rem 0 .5rem;font-size:1.12rem}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:1rem 0}.prose ul,.prose ol{padding-left:1.3rem}.prose li+li{margin-top:.3rem}.prose a{color:var(--accent);text-underline-offset:.18em}.prose blockquote{border-left:2px solid var(--line-strong);color:var(--muted);margin-inline:0;padding-left:1rem}.prose img,.prose video{max-width:100%;height:auto}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-size:.95rem;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:.45rem .7rem}.prose :not(pre)>code{background:var(--code-bg);font-family:var(--font-mono);border-radius:4px;padding:.1em .35em;font-size:.9em}.prose pre{border:1px solid var(--line);background-color:var(--code-bg);max-width:100%;font-family:var(--font-mono);border-radius:8px;padding:.95rem 1rem;font-size:.9rem;line-height:1.65;overflow-x:auto}.prose .katex-display{margin:1rem 0;padding-block:.25rem;overflow:auto hidden}.prose :not(pre)>.katex{font-size:1.05em}.astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration);background-color:#0000}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}}.related{border-top:1px solid var(--line);margin-top:2.75rem;padding-top:1.5rem}.related-list li{flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;display:flex}.index-links{flex-wrap:wrap;gap:.45rem 1.25rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.group h3 a,.index-links a,.toc a{text-decoration:none}.toc{border:1px solid var(--line);border-radius:8px;margin-top:1.5rem;padding:.85rem 1rem 1rem}.toc h2{margin:0 0 .45rem;font-size:.85rem;font-weight:500}.toc ol{margin:0;padding-left:1.2rem}.toc li+li{margin-top:.25rem}.toc li.nested{margin-left:.9rem;list-style:circle}#search{margin-top:.25rem}:root{--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--bg);--pagefind-ui-border:var(--line-strong);--pagefind-ui-tag:var(--code-bg);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:8px;--pagefind-ui-font:var(--font-ui)}@media (width>=720px){.groups{grid-template-columns:1fr 1fr}}@media (width<=640px){.shell{width:min(var(--measure), calc(100% - 2rem))}.bar{grid-template-columns:1fr auto;grid-template-areas:"brand toggle""nav nav";align-items:center;display:grid}.brand{grid-area:brand}.theme-toggle{grid-area:toggle;justify-self:end}.bar>nav{grid-area:nav;margin-left:0}.external{grid-column:1/-1}.archive-item{grid-template-columns:4.5rem minmax(0,1fr)}.archive-item .category{grid-column:2}.main{padding-top:1.75rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
