:root{--paper:#fafaf8;--white:#fff;--ink:#111;--ink-2:#4a4a47;--black:#000;--warm:#eceae4;--hover:#f2f1ec;--muted:#6b6b67;--rule-dashed:#bdbdb7;--side-text:#f5f5f2;--side-dim:#c9c9c4;--side-muted:#8e8e8a;--side-rule:#3c3c3a;--accent:#b3261e;--serif:"Noto Serif SC", "Songti SC", "Source Han Serif SC", serif;--mono:"JetBrains Mono", ui-monospace, monospace;--logo:"Grenze Gotisch", serif;--gutter:clamp(20px, 5vw, 64px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.7}a{color:var(--ink);text-decoration:none}a:hover{opacity:.6}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{max-width:100%;height:auto;display:block}button{font:inherit}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{flex-wrap:wrap;max-width:1240px;min-height:100vh;margin:0 auto;display:flex}.side{background:var(--black);color:var(--side-text);flex-direction:column;flex:300px;gap:44px;padding:48px 32px 36px;display:flex}.side a{color:var(--side-text)}.content{flex-direction:column;flex:999 600px;min-width:0;display:flex}.side-block{flex-direction:column;display:flex}.side-label{font-family:var(--mono);letter-spacing:.14em;color:var(--side-muted);margin:0 0 8px;font-size:12px}.menu-item{border:0;border-bottom:1px dashed var(--side-rule);width:100%;min-height:56px;color:var(--side-text);text-align:left;cursor:pointer;letter-spacing:.02em;background:0 0;align-items:center;gap:16px;padding:0;font-size:15px;display:flex}.menu-item.short{min-height:48px;font-size:14px}.tick{background:var(--accent);flex:none;width:2px;height:12px}.menu-no{font-family:var(--mono);color:var(--side-muted);font-size:13px}.menu-name{flex:1;min-width:0}.menu-sub{font-family:var(--mono);letter-spacing:.12em;color:var(--side-muted);font-size:12px}.side-dl{border-top:1px dashed var(--side-rule);grid-template-columns:72px minmax(0,1fr);margin:0;font-size:13px;display:grid}.side-dl dt,.side-dl dd{border-bottom:1px dashed var(--side-rule);margin:0;padding:9px 0}.side-dl dt{font-family:var(--mono);letter-spacing:.12em;color:var(--side-muted);font-size:11px}.side-dl dd{overflow-wrap:anywhere;min-width:0}.side-foot{flex-direction:column;gap:16px;margin-top:auto;display:flex}.lang-switch{border:1px solid var(--side-text);font-family:var(--mono);align-self:flex-start;font-size:12px;display:inline-flex}.lang-switch a{padding:6px 14px}.lang-switch a[aria-current=page]{background:var(--side-text);color:var(--black)}.lang-switch a[aria-current=page]:hover{opacity:1}.copyright{font-family:var(--mono);color:var(--side-muted);font-size:11px}.masthead{padding:36px var(--gutter) 28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;display:flex}.brand{flex-direction:column;gap:6px;display:flex}.brand-name{font-family:var(--logo);letter-spacing:.02em;margin:0;font-size:34px;font-weight:700;line-height:1}.brand-sub{font-family:var(--mono);letter-spacing:.14em;color:var(--muted);font-size:12px}.topnav{flex-wrap:wrap;align-items:center;gap:4px 28px;font-size:16px;display:flex}.topnav a{color:var(--muted);padding:8px 0}.topnav a.on{color:var(--ink)}.strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--warm);align-items:stretch;display:flex}.strip-main{white-space:nowrap;flex:1;align-items:center;gap:18px;min-width:0;padding:14px clamp(20px,4vw,40px);font-size:14px;display:flex;overflow:hidden}.strip-main .date,.strip-main .count{font-family:var(--mono);font-size:13px}.strip-main .ellipsis{text-overflow:ellipsis;min-width:0;overflow:hidden}.strip-main .sep{font-size:10px}.strip-btn{border:0;border-left:1px solid var(--ink);cursor:pointer;color:var(--ink);font-family:var(--mono);letter-spacing:.1em;white-space:nowrap;background:0 0;align-items:center;padding:0 24px;font-size:12px;display:flex}.strip-btn:hover{opacity:.6}.page{padding:64px var(--gutter) 96px;flex-direction:column;gap:88px;display:flex}.sec-label{font-family:var(--mono);letter-spacing:.16em;color:var(--muted);margin:0;font-size:12px}.sec-head{border-bottom:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 16px;padding-bottom:14px;display:flex}.sec-head h2{letter-spacing:.04em;margin:6px 0 0;font-size:26px;font-weight:400;line-height:1.2}.sec-link{font-family:var(--mono);letter-spacing:.08em;color:var(--ink);font-size:12px}.sec-meta{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);font-size:12px}.row{border-bottom:1px dashed var(--rule-dashed);flex-wrap:wrap;align-items:baseline;gap:4px 28px;padding:16px 8px;display:flex}a.row:hover{background:var(--hover);opacity:1}.row[hidden]{display:none}.row-date{font-family:var(--mono);color:var(--muted);font-size:13px}.row-title{flex:300px;font-size:16px;font-weight:500}.row-tags{font-family:var(--mono);color:var(--muted);font-size:12px}.frame{border:1px solid var(--ink);background:var(--white);padding:5px}.frame-inner{border:3px solid var(--ink);padding:28px 32px 24px}.frame-bar{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.empty{font-family:var(--mono);color:var(--muted);margin:0;padding:24px 8px;font-size:13px}@media (width<=600px){.page{gap:64px;padding-top:48px}.frame-inner{padding:20px 16px 16px}}.prose{counter-reset:h2;font-size:16px;line-height:2}.prose p{margin:0 0 18px}.prose h2{counter-increment:h2;border-bottom:1px solid var(--ink);align-items:baseline;gap:14px;margin:40px 0 16px;padding-bottom:10px;scroll-margin-top:24px;font-size:21px;font-weight:500;line-height:1.5;display:flex}.prose>h2:first-child{margin-top:0}.prose h2:before{content:counter(h2, decimal-leading-zero);font-family:var(--mono);color:var(--muted);font-size:13px;font-weight:400}.prose h3{margin:32px 0 8px;font-size:18px;font-weight:500}.prose a{text-underline-offset:4px;text-decoration:underline}.prose code{font-family:var(--mono);background:var(--warm);padding:1px 6px;font-size:13px}.prose strong{font-weight:600}.prose ul,.prose ol{margin:0 0 18px;padding-left:1.4em}.prose img{border:1px solid var(--ink)}.prose hr{border:0;border-top:1px dashed var(--rule-dashed);margin:40px 0}.prose blockquote{border-left:2px solid var(--ink);color:var(--ink-2);margin:0 0 32px;padding:4px 0 4px 20px}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;width:100%;margin:0 0 32px;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px dashed var(--rule-dashed);text-align:left;padding:8px 12px}.prose th{border-bottom:1px solid var(--ink);font-family:var(--mono);color:var(--muted);font-size:12px;font-weight:500}.prose .code{background:var(--black);color:#e6e6e1;margin:0 0 32px}.prose .code-bar{border-bottom:1px dashed var(--side-rule);font-family:var(--mono);letter-spacing:.12em;color:var(--side-muted);text-transform:uppercase;justify-content:space-between;padding:8px 16px;font-size:11px;display:flex}.prose .code-bar button{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:0}.prose .code-bar button:hover{color:var(--side-text)}.prose pre{margin:0 0 32px;padding:16px;font-size:13px;line-height:1.7;overflow-x:auto;background:var(--black)!important}.prose .code pre{margin:0}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose .note{border:2px solid var(--ink);background:var(--white);box-shadow:0 0 0 4px var(--white), 0 0 0 5px var(--ink);margin:5px 5px 48px;padding:16px 20px;font-size:15px;line-height:1.9;position:relative}.prose .note:before{content:"NOTE";border-bottom:1px solid var(--ink);font-family:var(--mono);letter-spacing:.12em;color:var(--muted);margin-bottom:10px;padding-bottom:8px;font-size:11px;line-height:1.7;display:block}html[lang=zh-CN] .prose .note:after{content:"提示";font-family:var(--mono);letter-spacing:.12em;color:var(--muted);font-size:11px;line-height:1.7;position:absolute;top:16px;right:20px}.prose .note>:last-child{margin-bottom:0}
