/* 叩道门：宣纸底、墨色字、朱砂与黛青点缀。只用系统字体，不引外部字体。 */
:root{
  --paper:#f5f1e8; --paper-2:#ece5d6; --ink:#2a2723; --ink-2:#5b554c; --line:#d8cfbd;
  --cinnabar:#8c3b2e; --dai:#3e5a58; --dai-soft:#e3e9e4;
  --serif:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","Source Han Serif CN","SimSun",serif;
  --sans:-apple-system,"PingFang SC","Hiragino Sans GB","Noto Sans SC","Source Han Sans SC","Microsoft YaHei",system-ui,sans-serif;
  --w:44rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.85 var(--sans);letter-spacing:.02em;text-rendering:optimizeLegibility;line-break:strict;word-break:normal;overflow-wrap:break-word}
a{color:var(--dai);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--cinnabar)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 1.15rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:.5rem;background:#fff;padding:.3rem .6rem;z-index:9}
.muted{color:var(--ink-2);font-size:.88rem}

/* 头部 */
.site-head{border-bottom:1px solid var(--line);background:rgba(245,241,232,.96);position:sticky;top:0;z-index:5;backdrop-filter:saturate(1.2) blur(4px)}
.head-in{display:flex;align-items:center;gap:1rem;justify-content:space-between;min-height:3.4rem;flex-wrap:wrap;padding-top:.35rem;padding-bottom:.35rem}
.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink)}
.seal{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:.35rem;background:var(--cinnabar);color:var(--paper);font:600 1.15rem/1 var(--serif)}
.brand-name{font:600 1.2rem/1 var(--serif);letter-spacing:.18em}
.topnav{display:flex;gap:.2rem .95rem;flex-wrap:wrap;font-size:.95rem}
.topnav a{color:var(--ink-2);text-decoration:none;padding:.15rem 0;border-bottom:2px solid transparent}
.topnav a:hover,.topnav a[aria-current]{color:var(--ink);border-bottom-color:var(--cinnabar)}
@media (max-width:560px){.head-in{justify-content:center}.topnav{justify-content:center;font-size:.92rem;gap:.1rem .8rem}.site-head{position:static}}

/* 面包屑 */
.crumbs ol{list-style:none;margin:1.1rem 0 0;padding:0;display:flex;flex-wrap:wrap;font-size:.85rem;color:var(--ink-2)}
.crumbs li+li::before{content:"／";margin:0 .35rem;color:var(--line)}
.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--cinnabar)}

/* 标题与正文 */
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.4;letter-spacing:.04em;color:var(--ink)}
h1{font-size:clamp(1.65rem,5.2vw,2.2rem);margin:1.4rem 0 .6rem}
h2{font-size:1.32rem;margin:2.3rem 0 .7rem;padding-left:.7rem;border-left:3px solid var(--cinnabar)}
h3{font-size:1.1rem;margin:1.6rem 0 .5rem}
.lede{font-size:1.06rem;color:var(--ink-2);margin:.3rem 0 1rem}
.kicker{margin:1.4rem 0 0;font-size:.88rem;letter-spacing:.12em}.kicker a{text-decoration:none;color:var(--cinnabar)}
.kicker+h1{margin-top:.25rem}
.prose p,.prose li{margin:.7rem 0}
.prose ul,.prose ol{padding-left:1.4rem}
.prose strong{font-weight:600;background:linear-gradient(transparent 62%,rgba(140,59,46,.13) 0)}
.prose blockquote{margin:1.2rem 0;padding:.5rem 1rem;border-left:3px solid var(--dai);background:var(--dai-soft);font-family:var(--serif)}
.prose blockquote p{margin:.35rem 0}
.prose table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem;display:block;overflow-x:auto}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:.5rem .55rem;text-align:left;vertical-align:top;min-width:5.5em}
.prose th{font-weight:600;background:var(--paper-2);white-space:nowrap}
.note{border:1px solid var(--line);background:#fbf8f1;border-radius:.5rem;padding:.75rem 1rem;margin:1.2rem 0;font-size:.95rem}
.note.warn{border-color:#d9b8a5;background:#fbf2ec}
.draft{display:block;margin:1rem 0 .4rem;padding:.6rem .9rem;border:1px dashed var(--cinnabar);border-radius:.45rem;font-size:.9rem;color:var(--ink-2);background:#faf3ea}
.draft strong{color:var(--cinnabar);font-weight:600}
.toc{margin:1rem 0 .5rem;padding:.6rem 1rem;background:var(--paper-2);border-radius:.5rem;font-size:.95rem}
.toc p{margin:.2rem 0;font-weight:600}.toc ol{margin:.2rem 0;padding-left:1.3rem}.toc li{margin:.15rem 0}
.steps{counter-reset:s;list-style:none;padding-left:0!important}
.steps>li{counter-increment:s;position:relative;padding-left:2.4rem;margin:1rem 0}
.steps>li::before{content:counter(s);position:absolute;left:0;top:.2rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--dai);color:var(--paper);display:grid;place-items:center;font-size:.9rem;line-height:1}
.meta{margin-top:2rem}

/* 卡片 */
.cards{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.8rem;grid-template-columns:1fr}
@media (min-width:640px){.cards{grid-template-columns:1fr 1fr}}
.card a{display:block;height:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.6rem;background:#fbf8f1;text-decoration:none;color:var(--ink);transition:border-color .15s}
.card a:hover{border-color:var(--cinnabar)}
.card-tag{display:block;font-size:.78rem;color:var(--cinnabar);letter-spacing:.1em}
.card-title{display:block;font:600 1.05rem/1.5 var(--serif);margin:.2rem 0 .3rem}
.card-desc{display:block;font-size:.88rem;line-height:1.7;color:var(--ink-2)}

/* 首页 */
.hero{padding:2.2rem 0 1rem;text-align:center}
.hero h1{font-size:clamp(1.8rem,7vw,2.6rem);letter-spacing:.2em;margin:.4rem 0}
.hero .lede{max-width:32rem;margin:.6rem auto}
.hero .sub{font-family:var(--serif);color:var(--cinnabar);letter-spacing:.3em;font-size:.95rem}
.pillars{list-style:none;padding:0;display:grid;gap:.7rem;grid-template-columns:1fr 1fr;margin:1.2rem 0}
@media (min-width:640px){.pillars{grid-template-columns:repeat(5,1fr)}}
.pillars a{display:block;text-align:center;padding:.9rem .4rem;border:1px solid var(--line);border-radius:.6rem;text-decoration:none;color:var(--ink);background:#fbf8f1}
.pillars a:hover{border-color:var(--cinnabar)}
.pillars b{display:block;font:600 1.05rem/1.4 var(--serif);letter-spacing:.08em}
.pillars span{font-size:.8rem;color:var(--ink-2)}
.divider{border:0;height:1px;background:var(--line);margin:2rem 0}

/* 日历 */
.cal{list-style:none;padding:0!important;margin:1rem 0;border-left:2px solid var(--line)}
.cal li{position:relative;padding:.2rem 0 1rem 1.2rem;margin:0!important}
.cal li::before{content:"";position:absolute;left:-.42rem;top:.6rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--paper);border:2px solid var(--dai)}
.cal li.soon::before{background:var(--cinnabar);border-color:var(--cinnabar)}
.cal .d{font-family:var(--serif);font-weight:600}
.cal .l{color:var(--ink-2);font-size:.9rem;margin-left:.4rem}

/* 入门地图 */
.map{list-style:none;padding:0!important;counter-reset:m}
.map>li{counter-increment:m;border:1px solid var(--line);border-radius:.6rem;background:#fbf8f1;padding:.8rem 1rem .8rem 3.2rem;margin:.8rem 0!important;position:relative}
.map>li::before{content:counter(m);position:absolute;left:1rem;top:.85rem;font:600 1.3rem/1 var(--serif);color:var(--cinnabar)}
.map h3{margin:.1rem 0 .3rem}.map p{margin:.3rem 0}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:.6rem 0}
.faq summary{cursor:pointer;font-weight:600;list-style-position:outside}
.faq details>div{color:var(--ink-2);padding:.3rem 0 .2rem}
.faq details p{margin:.4rem 0}

/* 公众号 */
.cta{display:flex;gap:1rem;align-items:center;margin:2.4rem 0 1rem;padding:1rem;border-radius:.7rem;background:var(--dai-soft);border:1px solid #c9d6d0}
.cta p{margin:.25rem 0;font-size:.93rem;color:var(--ink-2)}
.cta .cta-title{font:600 1.05rem/1.5 var(--serif);color:var(--ink)}
.cta-qr{flex:0 0 5.2rem;height:5.2rem;border:1px dashed var(--dai);border-radius:.4rem;display:grid;place-items:center;text-align:center;font-size:.75rem;line-height:1.4;color:var(--dai)}
.related h2{margin-top:1.6rem}

/* 页脚 */
.site-foot{margin-top:3rem;border-top:1px solid var(--line);background:var(--paper-2);padding:1.5rem 0 2rem;font-size:.88rem;color:var(--ink-2)}
.foot-nav{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-bottom:.8rem}
.foot-nav a{color:var(--ink-2);text-decoration:none}.foot-nav a:hover{color:var(--cinnabar)}
.nf{text-align:center;padding:2rem 0}
@media print{.site-head,.site-foot,.cta,.related{display:none}}
@media (max-width:639px){.pillars li:last-child{grid-column:1/-1}}
