:root{color-scheme:light;--paper:light-dark(#f7f4fb,#151119);--paper-soft:light-dark(#eee9f6,#211b29);--ink:light-dark(#1d1922,#eee9f6);--muted:light-dark(#716b78,#a69daf);--line:light-dark(#ded6ea,#342b3d);--accent:light-dark(#6f3cc3,#c4a7f7);--accent-strong:light-dark(#55319d,#dbc9ff);--accent-soft:light-dark(rgb(111 60 195/10%),rgb(196 167 247/13%));--warm:light-dark(#a33d8b,#e08cc9);--code:light-dark(#201927,#0f0c12);--code-ink:#eee9f6;--focus:light-dark(rgb(111 60 195/28%),rgb(196 167 247/30%));--shell:62rem;--reading:42rem;--toc:9.5rem;--control-height:2.7rem;--motion:.2s ease;--mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--radius:8px}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark}}:root[data-theme="dark"]{color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{overflow-y:scroll;scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:5.5rem;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.8 "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover,.W:hover,.C a:hover{color:var(--accent)}button,input{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}body,a,button,input,.R,.X,.l,.y li a,.V,.b input,.v button,.K input,.K button,.q,.N code,.N pre,.N img,.x,.B p,.C,.k,.L time,.L h3,.c p:last-child,.d h2,.d li span,.w,.r,.o,.I p,.N blockquote,.N th,.N td,.T,.P{transition:color var(--motion),background-color var(--motion),border-color var(--motion),text-decoration-color var(--motion)}::selection{background:var(--focus)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.U{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.T{position:fixed;top:.5rem;left:.5rem;z-index:100;padding:.55rem .8rem;background:var(--ink);color:var(--paper);border-radius:var(--radius);transform:translateY(-180%)}.T:focus{transform:translateY(0)}.P{position:fixed;inset:0 0 auto;z-index:90;display:none;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}@supports (animation-timeline:scroll()){.P{display:block;animation:reading-progress linear both;animation-timeline:scroll(root block)}}@keyframes reading-progress{to{transform:scaleX(1)}}.R{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:var(--paper)}.G,.Q,.J{width:min(100% - 2rem,var(--shell));margin-inline:auto}.G{min-height:3.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.p{font-weight:700;letter-spacing:.02em}.S{display:flex;align-items:center;gap:1rem;color:var(--muted);font-size:.92rem}.S a{padding-block:1rem;border-bottom:1px solid transparent}.S a:hover,.S a.D{color:var(--accent);border-bottom-color:var(--accent)}.Q{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;padding-block:4rem 2rem;color:var(--muted);font-size:.86rem}.W{padding:0;border:0;background:transparent;color:inherit;font-size:inherit}.H .W{display:none}.H .b,.H .v{display:none}.c h1,.h h1,.I h1{margin:0;font-size:3rem;line-height:1.15;letter-spacing:0;text-wrap:balance}.B,.A,.a,.F,.I{max-width:var(--reading);margin-inline:auto}.B{padding-block:4.25rem 1rem}.B p{margin:0;padding:1.45rem 1.35rem;border-left:3px solid var(--accent);background:var(--accent-soft);font-size:1.32rem;line-height:1.85;text-wrap:pretty}.C{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:.8rem 0;color:var(--muted);font:500 .8rem/1.5 var(--mono)}.C h2{margin:0;font:inherit}.k,.c p:last-child{margin:1.25rem 0 0;color:var(--muted);font-size:.92rem}.f a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}.f a:hover{color:var(--accent);text-decoration-color:currentColor}.L,.X ol,.d ul{margin:0;padding:0;list-style:none}.u{padding-block:1.25rem 2.5rem}.u h3{margin:0;font-size:1.72rem;font-weight:500;line-height:1.4;text-wrap:balance}.t{margin:.9rem 0 0;color:var(--muted);font-size:1rem;line-height:1.9;text-wrap:pretty}.L li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;gap:0 .85rem;padding-block:.7rem}.L time{color:var(--muted);font:.78rem/1.5 var(--mono)}.L h3{margin:0;font-size:1.04rem;line-height:1.45;font-weight:500;text-wrap:balance}.M{margin:.35rem 0 0;color:var(--muted);font:.8rem/1.5 var(--mono)}.e,.a,.F,.I{padding-block:4rem 2rem}.h{grid-column:var(--article-column);grid-row:1;max-width:var(--reading);margin-inline:0;padding-bottom:1.2rem}.h h1{font-size:2.65rem}.i{--article-column:1;display:grid;grid-template-columns:minmax(0,var(--reading));align-items:start;max-width:var(--reading);margin:0 auto}.j{--article-column:2;grid-template-columns:minmax(0,1fr) minmax(0,var(--reading)) minmax(0,1fr);max-width:var(--shell)}.N{grid-column:var(--article-column);grid-row:2;min-width:0;padding-top:2.4rem;font-size:1.03rem;line-height:1.92;overflow-wrap:anywhere}.g{grid-column:var(--article-column);grid-row:3;width:100%}.N>:first-child{margin-top:0}.N h1,.N h2,.N h3,.N h4,.N h5,.N h6{position:relative;margin:2.1em 0 .65em;line-height:1.35;letter-spacing:0;text-wrap:balance}.N h1::before,.N h2::before,.N h3::before,.N h4::before,.N h5::before,.N h6::before{margin-right:.42em;color:var(--accent);font:500 .72em/1 var(--mono);opacity:.78;vertical-align:.08em}.N h1::before{content:"#";content:"#"/""}.N h2::before{content:"##";content:"##"/""}.N h3::before{content:"###";content:"###"/""}.N h4::before{content:"####";content:"####"/""}.N h5::before{content:"#####";content:"#####"/""}.N h6::before{content:"######";content:"######"/""}.N h2{font-size:1.55rem}.N h3{font-size:1.28rem}.N h4{font-size:1.1rem}.N .z{color:inherit;text-decoration:none}.N p,.N ul,.N ol,.N blockquote,.N pre,.N table,.N figure{margin-block:0 1.25em}.N p{text-wrap:pretty}.N ul,.N ol{padding-left:1.5em}.N li + li{margin-top:.25em}.N a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em}.N a:hover{text-decoration-color:currentColor}.N strong{font-weight:700}.N blockquote{padding:.2rem 0 .2rem 1rem;border-left:3px solid var(--warm);color:var(--muted)}.N code{padding:.12em .34em;border-radius:var(--radius);background:var(--paper-soft);color:var(--warm);font:.88em/1.5 var(--mono)}.N pre{max-width:100%;padding:1rem 1.1rem;overflow:auto;overscroll-behavior-inline:contain;border-radius:var(--radius);background:var(--code);color:var(--code-ink);font-size:.88rem;line-height:1.7;tab-size:2}.N pre code{padding:0;background:transparent;color:inherit}.N hr{width:5rem;margin:2.8rem auto;border:0;border-top:1px solid var(--line)}.N img{display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:var(--radius);background:var(--paper-soft)}.N picture{display:block}.l,.y li a,.V,.X{border:1px solid var(--line);border-radius:var(--radius)}.N pre,.V,.X{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.V{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.N table{width:100%;min-width:min(34rem,100%);margin:0;border-collapse:collapse;font-size:.92rem}.N th,.N td{padding:.55rem .7rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.N th{background:var(--paper-soft)}.N tr:last-child td{border-bottom:0}.N th:last-child,.N td:last-child{border-right:0}.X{background:var(--paper-soft);grid-column:3;grid-row:2;justify-self:end;width:var(--toc);position:sticky;top:5.25rem;max-height:calc(100vh - 7rem);overflow:auto;overscroll-behavior:contain;margin-top:2.4rem;padding:.85rem;color:var(--muted);font-size:.82rem}.X summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;color:var(--ink);font-weight:700;list-style:none;cursor:pointer}.X summary::-webkit-details-marker{display:none}.X summary::after{content:"+";color:var(--muted);font-weight:400}.X details[open] summary::after{content:"-"}.X li{line-height:1.55}.X a{display:block;padding:.28rem .42rem;border-radius:var(--radius)}.X a:hover{background:var(--accent-soft)}.Y{padding-left:.62rem}@supports selector(::details-content) and (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}.X details::details-content{block-size:0;overflow:clip;opacity:0;content-visibility:hidden;transition:block-size var(--motion),opacity var(--motion),content-visibility .2s allow-discrete}.X details[open]::details-content{block-size:auto;opacity:1;content-visibility:visible}}.s{margin:4rem auto 0;color:var(--muted);text-align:center;font-size:.82rem}.s::before,.s::after{content:"·";padding-inline:.45rem;color:var(--line)}.o{margin:1.4rem 0 0;text-align:center;font-size:.86rem}.o a,.I p{color:var(--muted)}.n{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:2.5rem}.l{min-height:5rem;padding:.8rem .9rem}.l:hover,.y li a:hover{border-color:var(--accent)}.l span,.l strong{display:block}.l span{color:var(--muted);font-size:.78rem}.l strong{margin-top:.25rem;line-height:1.5}.m{text-align:right}@media (min-width:641px){.m:only-child{grid-column:2}}.c{padding-bottom:1.6rem}.b{display:flex;max-width:var(--reading);margin-top:1.3rem}.b input,.v button,.K input,.K button,.q{border:1px solid var(--line);border-radius:var(--radius);background:transparent}.b input,.K input{min-height:var(--control-height);padding:.5rem .75rem;-webkit-appearance:none;appearance:none}.b input{width:100%}.b input::-webkit-search-cancel-button{display:none}.b input:focus,.K input:focus{border-color:var(--accent)}.v{display:flex;flex-wrap:wrap;gap:.5rem;padding-block:.8rem 1.5rem}.v button{min-height:2.25rem;padding:.35rem .7rem;color:var(--muted);font-size:.84rem}.v button:hover,.v button.D,.K button:hover,.q:hover{border-color:var(--accent);color:var(--accent)}.d{content-visibility:auto;contain-intrinsic-size:18rem;padding-block:1.6rem}.d h2{margin:0 0 .75rem;color:var(--muted);font:500 .82rem/1.5 var(--mono)}.d li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:.42rem}.d li span{flex:none;color:var(--muted);font-size:.8rem}.r{padding-block:3rem;color:var(--muted);text-align:center}.y{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:2rem 0 0;padding:0;list-style:none}.y li a{display:flex;align-items:center;gap:.85rem;min-height:5.5rem;padding:.8rem}.x{position:relative;flex:none;display:grid;place-items:center;width:3.5rem;height:3.5rem;overflow:hidden;border-radius:50%;background:var(--paper-soft);color:var(--accent);font-weight:700}.x img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;background:var(--paper-soft)}.y span{min-width:0}.y strong,.y small{display:block}.y small{margin-top:.2rem;color:var(--muted);font-size:.8rem;line-height:1.5}.O{max-width:28rem;margin:1.5rem auto 0;text-align:center}.O h2{margin:0 0 .5rem;font-size:1.25rem}.w{margin:0 0 1.2rem;color:var(--muted);font-size:.88rem}.O label{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.84rem;text-align:left}.O form{text-align:left}.H .O form{display:none}.K{display:flex;gap:.55rem}.K input{min-width:0;flex:1}.K button,.q{min-height:var(--control-height);display:inline-flex;align-items:center;padding:.5rem .9rem}.I{min-height:55vh}.q{margin-top:1rem}@media (max-width:1000px){.i,.j{--article-column:1;grid-template-columns:minmax(0,1fr);max-width:var(--reading)}.h,.N,.X,.g{grid-column:1;grid-row:auto}.X{position:static;width:auto;justify-self:stretch;max-height:min(60vh,24rem);margin-top:1.2rem}.X ol{margin-top:.55rem}}@media (max-width:640px){.G,.Q,.J{width:min(100% - 1.25rem,var(--shell))}.S{gap:.75rem;font-size:.86rem}.B{padding-top:3.25rem}.B p{padding:1.15rem 1rem;font-size:1.16rem}.c h1,.I h1{font-size:2.25rem}.h h1{font-size:2rem}.u h3{font-size:1.65rem}.t{font-size:.98rem}.L li{grid-template-columns:4.8rem minmax(0,1fr);gap:0 .75rem}.d li{display:block}.d li span{display:block;margin-top:.12rem}.y,.n{grid-template-columns:1fr}.m{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}.P{display:none}.X details::details-content{transition-duration:0s!important}}@media print{:root{color-scheme:light}.R,.Q,.X,.n,.P,.o{display:none}body{background:#fff;color:#000}.i{display:block;max-width:none}.N{font-size:11pt}}