@charset "UTF-8";
:root{color-scheme:light;--paper:#fafaf8;--ink:#171918;--muted:#606560;--line:#dadfd8;--accent:#325944;font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.shell{width:min(1120px,calc(100% - 64px));margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;border-bottom:1px solid var(--line)}.wordmark{font-size:22px;font-weight:650;text-decoration:none}.wordmark small{font:10px monospace;display:block;margin-top:5px;letter-spacing:2px}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px}nav a[aria-current=page]{border-bottom:1px solid}.page-intro{padding:72px 0 40px}.eyebrow{font:11px monospace;letter-spacing:2px;color:var(--muted)}h1{font-size:clamp(36px,6vw,72px);line-height:1.22;letter-spacing:-.045em;font-weight:560;margin:28px 0}h2{font-size:26px;font-weight:550;line-height:1.5}.page-intro>p:not(.eyebrow){max-width:660px;font-size:17px;color:var(--muted);line-height:1.9}.search{max-width:720px;margin:24px 0 32px}.search label{display:block;font-size:13px;margin-bottom:12px}.search>div{display:flex;gap:12px}.search input{flex:1;min-width:0}input,textarea{background:#fff;border:1px solid #abb4aa;border-radius:0;color:var(--ink);padding:12px;width:100%}button{padding:12px 20px;background:var(--ink);color:white;border:1px solid var(--ink)}.tag-list{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted)}.taxonomy{border-bottom:1px solid var(--line);padding-bottom:24px}.post-card{border-bottom:1px solid var(--line);padding:32px 0}.post-card h2{margin:16px 0 10px}.post-card h2 a{text-decoration:none}.post-card h2 a:hover{text-decoration:underline}.post-card>p{max-width:800px;color:var(--muted);line-height:1.85}.meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:12px}.meta b{color:var(--accent);font-weight:500}.pagination,.adjacent{display:flex;justify-content:space-between;gap:24px;margin:36px 0}.empty{border-block:1px solid var(--line);padding:56px 0;margin:32px 0 64px;line-height:1.9}.empty h2{margin-top:0}.site-footer{margin-top:80px;padding:32px 0 88px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:12px}.site-footer a{font-size:12px}.article-header{max-width:880px}.article-header .meta{margin-top:36px}.article-header h1{font-size:clamp(32px,4.5vw,56px)}.article-cover{max-width:100%;height:auto;max-height:600px;object-fit:contain}.article-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;margin-top:40px}.toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:12px;max-height:80vh;overflow:auto;font-size:13px;line-height:1.7}.toc .indent{padding-left:12px}.toc a{font-size:13px;color:var(--muted)}.prose{max-width:800px;line-height:1.95;font-size:17px;overflow-wrap:anywhere}.prose h2,.prose h3{margin-top:40px;scroll-margin-top:24px}.prose img{max-width:100%;height:auto}.prose pre{overflow:auto;padding:24px;font-size:14px;max-width:100%}.prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}.prose td,.prose th{border:1px solid var(--line);padding:10px}.prose blockquote{margin:24px 0;padding:0 24px;border-left:2px solid var(--accent);color:var(--muted)}.article-actions{margin:40px 0;display:flex;align-items:center;gap:16px}.comments{margin-top:64px;border-top:1px solid var(--line);padding-top:40px}.comments>p,.muted{color:var(--muted);line-height:1.8}#comment-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:760px;margin-top:32px}label{display:block;font-size:14px;line-height:1.6}label>input,label>textarea{margin-top:8px}.full{grid-column:1/-1}.consent{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}.consent input{width:auto;margin:6px 0 0}.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.comment{border-bottom:1px solid var(--line);padding:24px 0;overflow-wrap:anywhere}.comment header{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}.comment time,.comment small{font-size:12px;color:var(--muted)}.comment p{white-space:pre-wrap;line-height:1.9}.comment button{padding:6px 12px;font-size:12px;background:transparent;color:var(--ink)}.archive-group{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.archive-group ul{list-style:none;padding:0}.archive-group li{display:flex;gap:24px;margin:16px 0}.archive-group time{color:var(--muted);font:12px monospace;white-space:nowrap}.setup{padding-block:64px}.skip:not(:focus){position:absolute;left:-10000px}.skip:focus{display:block;padding:16px}.moderation-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.moderation-tools select{padding:12px}.moderation-item{padding:24px 0;border-bottom:1px solid var(--line)}.moderation-item p{white-space:pre-wrap;overflow-wrap:anywhere}.moderation-item .actions{display:flex;gap:12px;flex-wrap:wrap}.moderation-item textarea{margin-block:12px}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.site-header{align-items:flex-start;flex-direction:column;gap:20px;padding-block:24px}.site-header nav{gap:20px}.page-intro{padding-top:40px}.site-footer{flex-direction:column}.article-layout{grid-template-columns:1fr;gap:24px}.toc{position:static;max-height:none;border-block:1px solid var(--line);padding:20px 0}.archive-group{grid-template-columns:1fr;gap:0}.archive-group li{flex-direction:column;gap:8px}#comment-form{grid-template-columns:1fr}.search>div{gap:8px}.search button{padding-inline:16px}.adjacent{flex-direction:column}.prose{font-size:16px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.post-card h2 a{transition:color .15s}.post-card h2 a:hover{color:var(--accent)}}
.post-cover-link{display:block;margin-bottom:24px}.post-cover{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;background:#f0f1ee}
.comment-notice:not([hidden]){padding:18px 20px;border:1px solid #abb4aa;border-left:4px solid #325944;background:#f0f6f1;line-height:1.8;overflow-wrap:anywhere;scroll-margin-top:24px}.comment-notice[data-kind=error]{background:#fff4f0;border-color:#a43a27;color:#74291c}.comment-notice[data-kind=success]{color:#244a32}
