:root{color-scheme:light;--bg:#f3eee6;--paper:#faf7f2;--ink:#1b1814;--ink-soft:#3f3a33;--muted:#5a534a;--line:#d9d0c3;--accent:#2a463b;--accent-deep:#1d332b;--measure:43.75rem;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "Noto Serif SC", "STSong", PMingLiU, "WenQuanYi Micro Hei", serif;--sans:"Avenir Next", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--serif);text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.75}@media (width>=48rem){body{font-size:1.125rem}}h1,h2,h3,p{font-weight:400}p{margin:0 0 1rem}::selection{color:var(--ink);background:#d7e6dc}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{z-index:2;background:var(--paper);color:var(--ink);padding:.45rem .7rem;position:absolute;top:0;left:.75rem;transform:translateY(-120%)}.skip:focus{transform:none}.shell{width:min(var(--measure), calc(100% - clamp(2rem, 8vw, 4rem)));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);margin-bottom:2.4rem;padding-bottom:.9rem}.header-bar{justify-content:space-between;align-items:flex-end;gap:1rem 1.5rem;padding-top:1.35rem;display:flex}.brand{color:inherit;flex-direction:column;line-height:1.15;text-decoration:none;display:flex}.brand-zh{letter-spacing:.08em;font-size:1.28rem}.brand-en{color:var(--muted);font-family:var(--sans);letter-spacing:.11em;margin-top:.2rem;font-size:.75rem}.lang{font-family:var(--sans);gap:.8rem;font-size:.88rem;display:flex}.lang a{color:var(--muted);text-decoration:none}.lang a[aria-current=page]{color:var(--accent)}.site-nav{font-family:var(--sans);flex-wrap:wrap;gap:.35rem 1.15rem;margin-top:.95rem;font-size:.98rem;display:flex}.site-nav a{color:var(--ink-soft);border-bottom:1px solid #0000;padding-bottom:.12rem;text-decoration:none}.site-nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}main{padding-bottom:3.75rem}h1{letter-spacing:.01em;margin:.15rem 0 .85rem;font-size:clamp(2.15rem,6vw,3.15rem);line-height:1.18}.rule{background:var(--accent);border:0;width:2.75rem;height:2px;margin:0 0 1.2rem}.lede{color:var(--ink-soft);text-wrap:pretty;margin:0 0 2.4rem;font-size:1.2rem;line-height:1.65}.section{margin-top:3rem}.section>h2,.essay-foot h2{color:var(--accent);font-family:var(--sans);letter-spacing:.08em;margin:0 0 .85rem;font-size:.78rem;font-weight:600}.index-list,.steps{margin:0;padding:0;list-style:none}.index-list li,.steps li{border-top:1px solid var(--line)}.index-list li:last-child{border-bottom:1px solid var(--line)}.index-list a{color:inherit;grid-template-columns:1fr;gap:.85rem;padding:.95rem 0;text-decoration:none;display:grid}.index-list.numbered a,.steps li{grid-template-columns:2.1rem 1fr}.steps li{gap:.75rem;padding:1.05rem 0;display:grid}.num{color:var(--accent);font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;padding-top:.28rem;font-size:.82rem}.index-title,.steps h3,.path-title{font-size:1.18rem;line-height:1.35}.index-title,.index-summary,.index-meta,.kicker{display:block}.index-list a:hover .index-title,.index-list a:focus-visible .index-title,.path-title a:hover,.steps h3 a:hover{color:var(--accent)}.index-summary,.index-meta,.dek,.meta{color:var(--muted)}.index-summary,.dek{line-height:1.55}.kicker{color:var(--accent);font-family:var(--sans);letter-spacing:.06em;margin:0 0 .35rem;font-size:.78rem}.kicker a{color:inherit}.index-meta,.meta,.fine,.footer-links,.site-footer{font-family:var(--sans)}.meta,.fine,.index-meta{font-size:.9rem;line-height:1.55}.fine{margin:0 0 .7rem}.dek{margin:0 0 .85rem}.meta{flex-wrap:wrap;gap:.25rem .8rem;margin:0 0 1.8rem;display:flex}.placeholder-mark{color:var(--accent)}.path-title{margin:0 0 .4rem}.path-title a,.steps h3 a{color:inherit;text-decoration:none}.steps h3{margin:0}.step-names{margin:.4rem 0 1rem;padding-left:1.25rem}.step-names li::marker{color:var(--accent)}.step-names li{padding:.18rem 0}.text-link{color:var(--accent-deep);text-underline-offset:.18em}.empty{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:.95rem 0}.prose>:first-child{margin-top:0}.prose p,.doc p,.prose li,.doc li{text-wrap:pretty}.prose p,.doc p{margin:0 0 1.05em}.prose h2,.doc h2{color:var(--ink);font-family:var(--serif);letter-spacing:0;margin:2.15rem 0 .7rem;font-size:1.35rem;font-weight:400;line-height:1.35}.prose ul,.prose ol,.doc ul,.doc ol{margin:0 0 1.1em;padding-left:1.25rem}.prose li,.doc li{margin:.3em 0}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-soft);margin:1.4rem 0;padding-left:1rem}.prose a,.doc a,.fine a,.essay-foot>a{color:var(--accent-deep);text-underline-offset:.18em}.prose code{font-family:var(--mono);font-size:.92em}.prose img{max-width:100%;height:auto}.note{border-left:2px solid var(--accent);background:#e7efe9;margin:1.4rem 0;padding:.85rem 1rem}.note p{margin:0}.essay-foot{margin-top:3rem;padding-top:.3rem}.essay-foot>a{margin-bottom:1.4rem;display:inline-block}.form{gap:1rem;margin:0 0 2rem;display:grid}.form label{font-family:var(--sans);gap:.35rem;font-size:.92rem;display:grid}input[type=email],input[type=text],textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:2px;padding:.62rem .7rem}.button{border:1px solid var(--accent);background:var(--accent);color:#f6f1e8;width:fit-content;font-family:var(--sans);cursor:pointer;border-radius:2px;padding:.65rem 1rem;font-size:.95rem;line-height:1.2;text-decoration:none}.button:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);padding:1.8rem 0 3rem;font-size:.95rem}.footer-brand{color:var(--ink);letter-spacing:.08em;margin:0 0 .9rem}.footer-links{flex-wrap:wrap;gap:.45rem 1rem;margin:0 0 .85rem;padding:0;list-style:none;display:flex}.footer-links a{color:var(--ink-soft);text-decoration:none}.footer-links a:hover{color:var(--accent)}.site-footer .fine{margin:.8rem 0 0}@media (width<=40rem){.header-bar{align-items:flex-start}h1{font-size:2rem}}
