*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,"Noto Serif SC","Songti SC","SimSun",serif;color:#1c1c1c;background:#fff;line-height:1.85;-webkit-font-smoothing:antialiased;font-size:18px}
.sans{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:#0d47a1;text-decoration:none}
a:hover{text-decoration:underline}

.col{width:min(680px,calc(100% - 40px));margin:0 auto}

.site-head{padding:28px 0 20px;border-bottom:1px solid #e8e8e8}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;color:#111;font-weight:700;font-size:15px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.brand img{width:36px;border-radius:8px}
.brand span{letter-spacing:.04em}
.menu-btn{display:none;border:1px solid #ccc;background:#fff;padding:7px 11px;border-radius:6px;font-size:14px;cursor:pointer;font-family:inherit}
.top-nav{display:flex;gap:18px;flex-wrap:wrap;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.top-nav a{color:#555;font-size:13px;font-weight:600;letter-spacing:.02em}
.mnav{display:none;flex-direction:column;padding:14px 0 6px;border-top:1px solid #f0f0f0;margin-top:14px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.mnav.open{display:flex}
.mnav a{padding:10px 0;border-bottom:1px solid #f5f5f5;color:#444;font-size:14px}

.article{padding:48px 0 64px}
.article h1{font-size:clamp(32px,5.5vw,44px);line-height:1.22;font-weight:700;margin:0 0 20px;color:#111;letter-spacing:-.01em}
.deck{font-size:clamp(19px,3vw,22px);line-height:1.55;color:#444;margin:0 0 28px;font-weight:400}
.byline{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;color:#888;padding-bottom:32px;margin-bottom:36px;border-bottom:1px solid #e0e0e0;letter-spacing:.03em}
.byline strong{color:#555;font-weight:600}

.article h2{font-size:26px;line-height:1.35;margin:52px 0 18px;color:#111;font-weight:700}
.article h3{font-size:20px;line-height:1.4;margin:36px 0 14px;color:#222;font-weight:700}
.article p{margin:0 0 22px;color:#333;font-size:18px}
.article ul,.article ol{margin:0 0 22px;padding-left:24px;color:#333;font-size:18px}
.article li{margin-bottom:10px}
.article li::marker{color:#888}

.dropcap::first-letter{float:left;font-size:3.4em;line-height:.82;padding:4px 10px 0 0;font-weight:700;color:#111}

.pullquote{margin:40px 0;padding:28px 0;border-top:2px solid #111;border-bottom:1px solid #ddd;font-size:22px;line-height:1.55;font-style:italic;color:#333;text-align:center}
.pullquote cite{display:block;margin-top:14px;font-size:13px;font-style:normal;color:#888;font-family:"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.06em}

.fig{margin:36px 0;text-align:center}
.fig img{border-radius:4px;margin:0 auto}
.fig figcaption{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;color:#777;margin-top:12px;line-height:1.5}
.fig-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:32px 0}
.fig-row figure{margin:0}
.fig-row img{border-radius:4px;border:1px solid #eee;aspect-ratio:9/16;object-fit:cover;width:100%}
.fig-row figcaption{font-size:12px;color:#777;margin-top:8px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}

.divider{text-align:center;margin:48px 0;color:#ccc;font-size:18px;letter-spacing:.5em}

.note-box{margin:32px 0;padding:22px 24px;background:#fafafa;border-left:3px solid #333;font-size:16px;color:#444;font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7}
.note-box strong{display:block;margin-bottom:6px;color:#111;font-size:14px;letter-spacing:.04em}

.faq-block{margin:48px 0 0;padding-top:36px;border-top:1px solid #e8e8e8}
.faq-block h2{font-size:24px;margin-bottom:20px}
.faq-block details{border-bottom:1px solid #ececec;padding:16px 0}
.faq-block summary{cursor:pointer;font-weight:600;font-size:17px;color:#222;list-style:none;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.faq-block summary::-webkit-details-marker{display:none}
.faq-block p{margin:12px 0 0;font-size:16px;color:#555}

.prose-page{padding:44px 0 64px}
.prose-page h1{font-size:34px;line-height:1.25;margin:0 0 20px}
.prose-page h2{font-size:22px;margin:36px 0 14px;color:#222}
.prose-page p,.prose-page li{font-size:17px;color:#333}
.prose-page ul,.prose-page ol{padding-left:22px;margin-bottom:20px}
.related-box{margin-top:40px;padding:22px 24px;border:1px solid #e8e8e8;background:#fafafa;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.related-box h3{margin:0 0 12px;font-size:14px;color:#666;letter-spacing:.06em;text-transform:uppercase}
.related-box a{display:block;padding:5px 0;font-size:15px}

.link-row{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 8px;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.link-chip{display:inline-block;padding:8px 16px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:14px;font-weight:500}
.link-chip:hover{background:#dbeafe;text-decoration:none}

.site-foot{padding:40px 0 48px;border-top:1px solid #e8e8e8;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px;color:#888}
.site-foot a{color:#666;margin-right:16px}
.site-foot p{margin:14px 0 0}

.err-page{min-height:55vh;display:grid;place-items:center;text-align:center;padding:48px 20px}
.err-page h1{font-size:56px;margin:0 0 14px;color:#ccc;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.err-page p{font-size:17px;color:#666;font-family:"PingFang SC","Microsoft YaHei",sans-serif}

@media(max-width:640px){
  body{font-size:17px}
  .article h2{font-size:22px}
  .article p,.article li{font-size:17px}
  .fig-row{grid-template-columns:1fr}
  .menu-btn{display:inline-block}
  .top-nav{display:none}
  .dropcap::first-letter{font-size:2.8em}
}
