/* 研究文库共用样式（生成于 md2html.py，勿手改）——纸面浅色阅读主题，
   与主站/图鉴共用 #E63946 强调红；零第三方请求，字体同源自托管。 */
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;
  font-display:swap;src:url('../fonts/GeistVF.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;
  font-display:swap;src:url('../fonts/GeistMonoVF.woff2') format('woff2')}
:root{--paper:#F7F6F2;--card:#FFFFFF;--ink:#18181B;--ink2:#52525B;--ink3:#8A8A92;
  --line:#E4E2DA;--line2:#D9D7CE;--red:#E63946;--redink:#B02A35;
  --sans:'Geist','PingFang SC','Hiragino Sans GB','Noto Sans CJK SC','Microsoft YaHei',sans-serif;
  --mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font:16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}
.main{max-width:760px;margin:0 auto;padding:44px 22px 90px}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink3);margin-bottom:22px}
.crumbs a{color:var(--ink3);text-decoration:none;border-bottom:1px solid var(--line2);padding-bottom:1px}
.crumbs a:hover{color:var(--redink);border-color:var(--red)}
.crumbs .sep{margin:0 8px;opacity:.6}
h1{font-size:29px;line-height:1.35;margin:0 0 6px;letter-spacing:.01em}
.hsub{display:block;font-family:var(--mono);font-size:13px;font-weight:400;
  color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;margin-top:10px}
.kicker{font-family:var(--mono);font-size:12px;color:var(--ink3);letter-spacing:.08em;
  margin-bottom:30px;padding-bottom:18px;border-bottom:1px solid var(--line2)}
.setdesc{color:var(--ink2);max-width:600px}
h2{font-size:21px;line-height:1.4;margin:2.2em 0 .8em;padding-left:12px;border-left:3px solid var(--red)}
h3{font-size:17.5px;margin:1.8em 0 .6em}
h4{font-size:15.5px;margin:1.5em 0 .5em;color:var(--ink2)}
p{margin:0 0 1.05em}
a{color:var(--redink)}
b{font-weight:650}
blockquote{margin:1.2em 0;padding:.55em 1.1em;background:var(--card);
  border-left:3px solid var(--red);border-radius:0 6px 6px 0;color:#3F3F46;
  box-shadow:0 1px 2px rgba(24,24,27,.04)}
blockquote p:last-child{margin-bottom:0}
table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:14px;line-height:1.6;
  background:var(--card);box-shadow:0 1px 2px rgba(24,24,27,.05)}
th,td{border:1px solid var(--line);padding:7px 11px;text-align:left;vertical-align:top}
th{background:#EFEDE6;font-family:var(--mono);font-size:12px;letter-spacing:.04em;white-space:nowrap}
tr:nth-child(even) td{background:#FBFAF7}
code{font-family:var(--mono);font-size:.88em;background:#EFEDE6;padding:1px 5px;border-radius:4px}
pre{background:#18181B;color:#FAFAFA;padding:14px 16px;border-radius:8px;overflow-x:auto}
pre code{background:none;color:inherit;padding:0}
ul,ol{padding-left:1.55em;margin:0 0 1.1em}
li{margin:.32em 0}
li>ul,li>ol{margin:.3em 0}
hr{border:none;border-top:1px solid var(--line2);margin:2.2em 0}
.dangling{color:var(--redink);border-bottom:1px dashed var(--red)}
.arts{list-style:none;padding:0;margin:28px 0}
.arts li{margin:0;border-bottom:1px solid var(--line)}
.arts a{display:flex;gap:14px;align-items:baseline;padding:13px 2px;text-decoration:none;color:var(--ink)}
.arts a:hover .at{color:var(--redink)}
.arts .an{font-family:var(--mono);font-size:12px;color:var(--ink3);min-width:34px}
.arts .at{font-size:16.5px;font-weight:550}
.extracard{display:inline-block;margin-top:26px;padding:14px 20px;background:#18181B;color:#FAFAFA;
  border-radius:10px;text-decoration:none;font-family:var(--mono);font-size:13px;letter-spacing:.05em}
.extracard:hover{outline:2px solid var(--red)}
.extracard b{color:#fff}
.pn{display:flex;justify-content:space-between;gap:18px;margin-top:52px;padding-top:16px;
  border-top:1px solid var(--line2);font-family:var(--mono);font-size:12.5px}
.pn a{color:var(--ink2);text-decoration:none}
.pn a:hover{color:var(--redink)}
@media (max-width:560px){
  h1{font-size:24px}
  .main{padding:30px 16px 70px}
  th,td{padding:6px 8px;font-size:13px}
  th{white-space:normal}
}
@media print{body{background:#fff}.crumbs,.pn{display:none}}
