:root{--paper:#efe9dc;--paper-2:#e4ddcc;--paper-3:#dad2be;--ink:#191917;--ink-2:#4a463e;--ink-3:#8a8375;--zhu:#c0392b;--zhu-wash:#c0392b12;--rule:#c9c0ac;--rule-2:#b8ae97;--f-display:"Noto Serif SC", "Songti SC", serif;--f-body:"DM Sans", "Noto Sans SC", "PingFang SC", sans-serif;--f-mono:"IBM Plex Mono", "SF Mono", monospace;--ease:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);background-image:repeating-linear-gradient(0deg,#19191704 0 1px,#0000 1px 4px);margin:0;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}.wrap{max-width:1080px;margin:0 auto;padding:0 32px}.topbar{border-bottom:2px solid var(--ink);margin-bottom:0;position:relative}.topbar:after{content:"";background:var(--ink);height:1px;position:absolute;bottom:-5px;left:0;right:0}.topbar-inner{justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-seal{background:var(--zhu);color:#fbf7ee;width:34px;height:34px;font-family:var(--f-display);flex:none;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.brand-name{font-family:var(--f-display);letter-spacing:.06em;font-size:20px;font-weight:700}.topnav{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);gap:26px;font-size:12.5px;display:flex}.topnav a{transition:color .2s}.topnav a:hover{color:var(--zhu)}.hero{padding:54px 0 40px}.hero h1{font-family:var(--f-display);letter-spacing:.01em;margin:0 0 16px;font-size:46px;font-weight:900;line-height:1.2}.hero h1 .zhu{color:var(--zhu)}.hero p{color:var(--ink-2);max-width:720px;margin:0;font-size:17px;font-weight:300}.hero-stats{border-top:1px solid var(--rule);font-family:var(--f-mono);letter-spacing:.1em;color:var(--ink-3);flex-wrap:wrap;gap:28px;margin-top:26px;padding-top:20px;font-size:13px;display:flex}.hero-stats b{color:var(--zhu);font-size:15px;font-weight:600}.filters{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:18px 0 20px;display:flex}.chip{font-family:var(--f-mono);letter-spacing:.12em;border:1px solid var(--rule);color:var(--ink-3);cursor:pointer;transition:all .18s var(--ease);background:0 0;padding:6px 13px;font-size:12px}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip[aria-pressed=true]{background:var(--zhu);border-color:var(--zhu);color:#fbf7ee}.chip-sep{background:var(--rule);width:1px;height:20px;margin:0 6px}.items{padding:8px 0 80px}.item{border-bottom:1px solid var(--rule);grid-template-columns:96px 1fr;gap:24px;padding:26px 0;display:grid}.item:last-child{border-bottom:none}.item-kind{font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding-top:5px;font-size:11px}.item-kind .dot{vertical-align:middle;width:7px;height:7px;margin-right:7px;display:inline-block}.item-kind--deck .dot{background:var(--zhu)}.item-kind--note .dot{background:var(--ink)}.item-kind--deck{color:var(--zhu)}.item-body{min-width:0}.item-title{font-family:var(--f-display);letter-spacing:.01em;margin:0 0 8px;font-size:25px;font-weight:700;line-height:1.38}.item-title a{transition:color .2s}.item-title a:hover{color:var(--zhu)}.item-meta{font-family:var(--f-mono);letter-spacing:.1em;color:var(--ink-3);flex-wrap:wrap;gap:16px;margin-bottom:11px;font-size:12px;display:flex}.item-meta .status{color:var(--ink);border-bottom:1px solid var(--rule-2)}.item-summary{color:var(--ink-2);max-width:720px;margin:0 0 13px;font-size:15.5px;font-weight:300;line-height:1.75}.tags{flex-wrap:wrap;gap:7px;display:flex}.tag{font-family:var(--f-mono);letter-spacing:.1em;color:var(--ink-3);border:1px solid var(--rule);cursor:pointer;padding:3px 9px;font-size:11px;transition:all .18s}.tag:hover{border-color:var(--zhu);color:var(--zhu)}.item-actions{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.act{font-family:var(--f-mono);letter-spacing:.12em;border:1px solid var(--ink);color:var(--ink);transition:all .18s var(--ease);padding:7px 15px;font-size:12px;display:inline-block}.act:hover{background:var(--ink);color:var(--paper)}.act--primary{background:var(--zhu);border-color:var(--zhu);color:#fbf7ee}.act--primary:hover{background:var(--zhu);opacity:.88;color:#fbf7ee}.act--ghost{border-color:var(--rule);color:var(--ink-3)}.act--ghost:hover{border-color:var(--ink-3);color:var(--ink);background:0 0}.item-note{background:var(--zhu-wash);border-left:3px solid var(--zhu);color:var(--ink-2);white-space:pre-wrap;margin-top:14px;padding:11px 15px;font-size:13.5px;font-weight:300;line-height:1.7}.item-note:before{content:"给自己看的";font-family:var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--zhu);margin-bottom:5px;font-size:10px;display:block}.empty{text-align:center;color:var(--ink-3);padding:70px 0;font-size:15px}.article{max-width:780px;margin:0 auto;padding:48px 0 96px}.article-head{border-bottom:1px solid var(--rule);margin-bottom:34px;padding-bottom:26px}.article-head h1{font-family:var(--f-display);letter-spacing:.01em;margin:10px 0 16px;font-size:38px;font-weight:900;line-height:1.3}.article-head .item-meta{margin-bottom:0}.prose{color:var(--ink-2);font-size:16.5px;font-weight:300;line-height:1.85}.prose h2{font-family:var(--f-display);color:var(--ink);border-left:4px solid var(--zhu);margin:44px 0 16px;padding-left:15px;font-size:25px;font-weight:900;line-height:1.4}.prose h3{font-family:var(--f-display);color:var(--ink);margin:30px 0 12px;font-size:20px;font-weight:700}.prose p{margin:0 0 17px}.prose strong{color:var(--ink);font-weight:500}.prose a{color:var(--zhu);border-bottom:1px solid var(--rule-2)}.prose ul,.prose ol{margin:0 0 17px;padding-left:22px}.prose li{margin-bottom:8px}.prose code{font-family:var(--f-mono);background:var(--paper-2);padding:2px 6px;font-size:13.5px}.prose pre{background:var(--paper-2);border:1px solid var(--rule);margin:0 0 20px;padding:16px 18px;overflow-x:auto}.prose pre code{background:0 0;padding:0;font-size:13px;line-height:1.7}.prose blockquote{border-left:3px solid var(--zhu);font-family:var(--f-display);color:var(--ink-2);margin:0 0 20px;padding:4px 0 4px 20px;font-size:17px}.prose table{border-collapse:collapse;width:100%;margin:0 0 22px;font-size:14.5px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:10px 13px}.prose th{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom:2px solid var(--ink);font-size:11.5px}.prose hr{border:none;border-top:1px solid var(--rule);margin:36px 0}.foot{border-top:1px solid var(--rule);font-family:var(--f-mono);letter-spacing:.12em;color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:20px;padding:26px 0 40px;font-size:12px;display:flex}.foot a:hover{color:var(--zhu)}.backlink{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:12px;transition:color .2s;display:inline-block}.backlink:hover{color:var(--zhu)}@media (width<=720px){.wrap{padding:0 20px}.item{grid-template-columns:1fr;gap:10px}.item-kind{padding-top:0}.hero h1{font-size:32px}.item-title{font-size:21px}.article-head h1{font-size:28px}.topnav{display:none}.hero-stats{gap:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.2s!important;animation-duration:.01ms!important}}
