:root{--paper: #fcfbf8;--paper-2: #f5f2ea;--paper-3: #efeade;--ink: #17181b;--ink-2: #3d3e41;--muted: #6f6b62;--line: #e5e1d6;--line-2: #d5cfc0;--accent: #b4472a;--accent-ink: #8c3419;--accent-soft: #f8eee8;--green: #2f6b4f;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif: "Songti SC", "Songti TC", "Noto Serif SC", "SimSun", Georgia, serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--shadow: 0 1px 2px rgba(23, 24, 27, .04), 0 8px 24px -16px rgba(23, 24, 27, .18)}:root{color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--paper: #14150f;--paper-2: #1b1c16;--paper-3: #23241d;--ink: #f2efe6;--ink-2: #d6d2c6;--muted: #9c988c;--line: #2e2f27;--line-2: #3d3e34;--accent: #e0714d;--accent-ink: #f0916f;--accent-soft: #2a1d17;--green: #6fbf95;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--paper: #14150f;--paper-2: #1b1c16;--paper-3: #23241d;--ink: #f2efe6;--ink-2: #d6d2c6;--muted: #9c988c;--line: #2e2f27;--line-2: #3d3e34;--accent: #e0714d;--accent-ink: #f0916f;--accent-soft: #2a1d17;--green: #6fbf95;--shadow: none}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.85;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img,svg{max-width:100%;height:auto}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 22px}.narrow{max-width:760px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;gap:22px;height:60px}.brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;letter-spacing:-.01em;line-height:1.2}.brand:hover{text-decoration:none}.brand .mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:6px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;letter-spacing:-.03em;line-height:1}.brand .name{line-height:1.2}.site-nav{display:flex;gap:20px;margin-left:auto;font-size:14px}.site-nav a{color:var(--ink-2)}.site-nav a:hover{color:var(--accent);text-decoration:none}.site-nav a[aria-current=true]{color:var(--accent)}.site-nav .lang-switch{font-size:12.5px;line-height:20px;color:var(--muted);padding:1px 8px;border:1px solid var(--line);border-radius:999px}.site-nav .lang-switch:hover{color:var(--ink);border-color:var(--line-2);background:var(--paper-2)}.theme-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;border-color:color-mix(in srgb,var(--ink) 16%,transparent);background:var(--paper-2);color:var(--ink-2);cursor:pointer;font:inherit;transition:background-color .15s,border-color .15s,color .15s}.theme-toggle:hover{background:var(--paper-3);border-color:var(--line-2);color:var(--ink)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle .t-moon{display:none}:root[data-theme=dark] .theme-toggle .t-sun{display:none}:root[data-theme=dark] .theme-toggle .t-moon{display:block}@media(max-width:720px){.site-header .wrap{gap:12px;height:54px}.site-nav{gap:13px;font-size:13px}.site-nav .hide-sm{display:none}}@media(max-width:560px){.site-header .wrap{gap:8px}.theme-toggle{width:27px;height:27px;border-radius:7px}.brand{flex:none;font-size:13px;gap:6px}.brand .name{display:none}.brand .mark{flex:none}.site-nav{gap:9px;font-size:12.5px;flex:none}.site-nav a{white-space:nowrap}.site-nav .bm-count{margin-left:3px;min-width:15px}}.crumb{font-size:13px;color:var(--muted);padding:26px 0 0}.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.crumb li:after{content:"/";margin-left:6px;color:var(--line-2)}.crumb li:last-child:after{content:""}.crumb a{color:var(--muted)}.crumb a:hover{color:var(--accent)}main{display:block;padding-bottom:72px}.page-grid{display:grid;grid-template-columns:268px minmax(0,1fr);gap:52px;align-items:start;padding-top:14px}.page-grid-en{grid-template-columns:296px minmax(0,1fr);gap:44px}@media(max-width:960px){.page-grid{grid-template-columns:1fr;gap:32px}.page-grid>article{order:1}.page-grid>.side{order:2}.page-grid-en{grid-template-columns:1fr}}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.35;letter-spacing:0}h1{font-size:34px;margin:14px 0 10px}h2{font-size:22px;margin:40px 0 14px}h3{font-size:18px;margin:30px 0 10px}h4{font-size:16px;margin:22px 0 8px}@media(max-width:720px){h1{font-size:27px}h2{font-size:20px}body{font-size:16.5px;line-height:1.8}}p{margin:0 0 1em}strong{font-weight:600}code{font-family:var(--font-mono);font-size:.88em;background:var(--paper-2);border:1px solid var(--line);padding:.1em .36em;border-radius:5px;word-break:break-word}pre{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;overflow-x:auto;font-size:13.5px;line-height:1.65}pre code{background:none;border:0;padding:0;font-size:inherit}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.35em}.prose li{margin:.3em 0}.prose li>ul,.prose li>ol{margin:.35em 0 .5em}.prose blockquote{margin:20px 0;padding:12px 18px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-2)}.prose blockquote p:last-child{margin-bottom:0}.prose h2{font-size:24px;line-height:1.4;margin:44px 0 14px;letter-spacing:-.01em}.prose h3{font-family:Georgia,Songti SC,Songti TC,"Noto Serif SC",SimSun,serif;font-size:20px;font-weight:600;line-height:1.45;margin:38px 0 12px;padding-top:16px;border-top:1px solid var(--line);letter-spacing:-.005em}.prose h4{font-size:15.5px;margin:26px 0 8px}.prose>h2:first-child,.prose>h3:first-child{margin-top:0}.prose ul.contains-task-list,.prose ol.contains-task-list{list-style:none;padding-left:0}.prose .contains-task-list li{position:relative;padding-left:1.6em;margin:.45em 0}.prose .contains-task-list input[type=checkbox]{position:absolute;left:0;top:.45em;width:.92em;height:.92em;margin:0;accent-color:var(--accent);opacity:.75}.prose table{width:100%;border-collapse:collapse;margin:22px 0;font-size:14.5px;line-height:1.6}.prose th,.prose td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}.prose th{background:var(--paper-2);font-weight:600;white-space:nowrap}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}.prose>table{display:block;overflow-x:auto}.term-head h1{margin-top:8px}.term-head .en{display:block;font-family:var(--font-sans);font-size:15px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:6px}.meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin:14px 0 0;padding-bottom:18px;border-bottom:1px solid var(--line)}.meta-line .dot{color:var(--line-2)}.meta-line .pill{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:2px 9px}.answer{margin:26px 0 8px;padding:20px 22px;background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-md)}.answer .label{display:block;font-size:11.5px;letter-spacing:.1em;color:var(--accent-ink);text-transform:uppercase;margin-bottom:6px;font-family:var(--font-sans);font-weight:600}.answer p{margin:0;font-size:18.5px;line-height:1.75;font-family:var(--font-serif)}@media(max-width:720px){.answer p{font-size:17px}}.jump{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px;font-size:13px}.jump a{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);background:var(--paper)}.jump a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.block{margin-top:34px}.block>h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:20px}.block>h2 .tag{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 6px}.pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:44px 0 0;padding-top:24px;border-top:1px solid var(--line)}.pager a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);background:var(--paper)}.pager a:hover{border-color:var(--line-2);text-decoration:none;background:var(--paper-2)}.pager .k{display:block;font-size:11.5px;color:var(--muted);margin-bottom:4px}.pager .v{font-family:var(--font-serif);font-size:15.5px}.pager .next{text-align:right}@media(max-width:560px){.pager{grid-template-columns:1fr}.pager .next{text-align:left}}.pager-single{grid-template-columns:1fr}.pager-single .next{text-align:left}.side{font-size:13px;align-self:start}.side-back{margin:0 0 10px;padding:0 2px}.side-back .sep{color:var(--line-2);margin:0 5px}.side-box{border:1px solid var(--line);border-radius:var(--r-md);padding:14px 8px 10px;background:var(--paper-2)}.side-box h2{font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-2);margin:0 0 6px;padding:0 8px;line-height:1.5}.side-box h2 a{color:inherit}.side-box h2 a:hover{color:var(--accent);text-decoration:none}.side-grp+.side-grp{margin-top:8px}.side-grp-t{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0 2px;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-list{list-style:none;margin:0;padding:0}.side-list li{margin:0}.side-list a{display:flex;gap:7px;align-items:baseline;padding:3px 8px;border-radius:6px;color:var(--ink-2);line-height:1.5}.side-list a:hover{background:var(--paper-3);text-decoration:none;color:var(--ink)}.side-list a[aria-current=true]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.side-list .n{flex:0 0 auto;min-width:19px;text-align:right;font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.side-list a[aria-current=true] .n{color:var(--accent)}.side-list .zh{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-count{margin:10px 0 0;padding:0 8px}.side-note{font-size:12.5px;color:var(--muted);line-height:1.7}.term-list{list-style:none;margin:0;padding:0}.term-list li{border-bottom:1px solid var(--line)}.term-list li:last-child{border-bottom:0}.term-list a{display:flex;gap:14px;align-items:baseline;padding:11px 4px;color:var(--ink)}.term-list a:hover{text-decoration:none;background:var(--paper-2)}.term-list a:hover .zh{color:var(--accent)}.term-list .n{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);flex:0 0 34px;text-align:right}.term-list .txt{min-width:0}.term-list .zh{font-weight:500}.term-list .en{display:block;font-size:12.5px;color:var(--muted);margin-top:1px;font-family:var(--font-mono)}.term-list .one{display:block;font-size:13px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.term-list .one{display:none}}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none}.card{display:block;padding:16px 18px;height:100%;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);color:var(--ink)}.card:hover{border-color:var(--line-2);background:var(--paper-2);text-decoration:none}.card .k{font-family:var(--font-mono);font-size:11.5px;color:var(--accent);letter-spacing:.04em}.card .t{display:block;font-family:var(--font-serif);font-size:16.5px;font-weight:600;margin:3px 0 5px}.card .d{display:block;font-size:13px;color:var(--muted);line-height:1.65}.hero{padding:54px 0 10px}.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);font-weight:600;margin-bottom:14px}.hero h1{font-size:46px;line-height:1.28;margin:0 0 18px;letter-spacing:0}.hero .lede{font-size:18px;color:var(--ink-2);max-width:680px;margin:0 0 26px}@media(max-width:720px){.hero{padding-top:34px}.hero h1{font-size:30px}.hero .lede{font-size:16px}html[lang=en] .hero h1{font-size:26px}}.stats{display:flex;flex-wrap:wrap;gap:28px;padding:18px 0;margin:26px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{font-size:13px;color:var(--muted)}.stats b{display:block;font-family:var(--font-serif);font-size:26px;color:var(--ink);line-height:1.2;font-weight:600}.cta-row{display:flex;flex-wrap:wrap;gap:10px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:14.5px;border:1px solid var(--line-2);color:var(--ink);background:var(--paper)}.btn:hover{text-decoration:none;border-color:var(--accent);color:var(--accent)}.btn-solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-solid:hover{background:var(--accent);border-color:var(--accent);color:#fff}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:56px 0 0;padding-bottom:10px;border-bottom:1px solid var(--line)}.section-head h2{margin:0;font-size:21px}.section-head a{font-size:13px}.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0 6px}.filter-bar input{flex:1 1 260px;min-width:0;font:inherit;font-size:15px;padding:10px 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink)}.filter-bar input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.filter-bar .count{font-size:13px;color:var(--muted)}.letter-nav{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0}.letter-nav a,.letter-nav span{font-family:var(--font-mono);font-size:12px;padding:3px 8px;border-radius:5px;border:1px solid var(--line);color:var(--ink-2)}.letter-nav a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.lead{font-size:16.5px;color:var(--ink-2);margin:0 0 6px}.term-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.term-title-row h1{flex:1 1 auto;min-width:0}.bm-btn{flex:none;display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);font:inherit;font-size:13px;line-height:1.4;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.bm-btn:hover{border-color:var(--accent);color:var(--accent)}.bm-btn.is-on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.bm-btn.is-on svg{fill:currentColor}.bm-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes bm-pop{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}.bm-btn.bm-pop{animation:bm-pop .32s ease}@media(max-width:560px){.bm-btn{padding:7px;gap:0}.bm-btn .bm-label{display:none}}.site-nav .bm-count{display:inline-block;min-width:17px;margin-left:5px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;line-height:17px;text-align:center;font-variant-numeric:tabular-nums}.site-nav .bm-count[hidden]{display:none}.site-nav a[aria-current=true] .bm-count{background:var(--accent-ink)}.bm-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 4px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted)}.bm-clear{font:inherit;font-size:12.5px;cursor:pointer;background:none;border:1px solid var(--line-2);color:var(--muted);border-radius:999px;padding:4px 12px}.bm-clear:hover{border-color:var(--accent);color:var(--accent)}.bm-list{list-style:none;margin:0;padding:0}.bm-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line)}.bm-link{flex:1 1 auto;min-width:0;color:var(--ink)}.bm-link:hover{text-decoration:none;color:var(--accent)}.bm-link .k{display:block;font-size:11.5px;color:var(--muted)}.bm-link .t{display:block;font-family:var(--font-serif);font-size:16px}.bm-link .t .en{font-family:var(--font-sans);font-style:normal;font-size:12.5px;color:var(--muted);margin-left:8px}.bm-del{flex:none;font:inherit;font-size:12.5px;cursor:pointer;background:none;border:0;border-radius:6px;padding:6px 8px;color:var(--muted)}.bm-del:hover{color:var(--accent);background:var(--accent-soft)}.bm-empty{padding:28px 0 44px;color:var(--muted)}.bm-empty .dot{color:var(--line-2);margin:0 6px}.site-footer{border-top:1px solid var(--line);background:var(--paper-2);padding:40px 0 56px;font-size:13.5px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}@media(max-width:720px){.footer-grid{grid-template-columns:1fr 1fr;gap:24px}}.site-footer h2{font-family:var(--font-sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px;font-weight:600}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:5px 0}.site-footer a{color:var(--ink-2)}.site-footer a:hover{color:var(--accent)}.footer-note{margin:24px 0 0;max-width:820px;color:var(--muted);font-size:12.5px;line-height:1.8}.footer-note strong{color:var(--ink-2);font-weight:600}.footer-note a{white-space:nowrap}.footer-bottom{margin-top:32px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:12.5px}.note{font-size:13.5px;color:var(--muted);border-left:2px solid var(--line-2);padding-left:14px;margin:22px 0}.toc-inline{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 18px;margin:18px 0 0;padding:0;list-style:none;font-size:14px}.toc-inline a{color:var(--ink-2)}.toc-inline a:hover{color:var(--accent)}.empty{padding:40px 0;color:var(--muted)}
