/* 开示阅读页 — shares the night-lapis / gold language of the home page */
@font-face{font-family:"CSerif";src:url(/fonts/serif.woff) format("woff");font-weight:200 900;font-display:swap;unicode-range:U+0000-024F,U+2000-206F,U+3000-303F,U+FF00-FFEF,U+4E00-9FFF}
@font-face{font-family:"CReader";src:url(/fonts/serif-reader.woff) format("woff");font-weight:200 900;font-display:swap}
@font-face{font-family:"CSiddham";src:url(/fonts/siddham.woff) format("woff");font-display:block}
:root{
  --night:#080a17;--deep:#0c0f20;--lapis:#141a35;
  --gold:#d4b06a;--gold-hi:#f4e3b5;--gold-lo:#8a6a32;
  --ivory:#efe6d2;--mist:#aaa290;--dim:#7a7466;--line:rgba(212,176,106,.18);--line-2:rgba(212,176,106,.42);
  --f-serif:"CReader","CSerif","Songti SC","STSong","Source Han Serif SC",serif;
  --f-ui:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --f-sd:"CSiddham",serif;color-scheme:dark}
*{box-sizing:border-box}
html{background:var(--night);scroll-behavior:smooth}
body{margin:0;background:radial-gradient(90% 40% at 50% 0,#10163a 0,transparent 70%),var(--night);color:var(--ivory);font:18px/2 var(--f-serif);overflow-x:hidden}
a{color:var(--gold-hi);text-underline-offset:3px;text-decoration-color:var(--line-2)}a:hover{color:#fff}
h1,h2,h3{font-family:var(--f-serif);margin:0;line-height:1.35}
.gold{background:linear-gradient(180deg,#f7ebc6 0%,#e2c27e 55%,#b8924c 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* top bar */
.bar{position:sticky;top:0;z-index:20;background:rgba(8,10,23,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar .in{max-width:1200px;margin:0 auto;padding:10px 22px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}
.brand b{font-weight:600;font-size:20px;letter-spacing:.3em}
.bar nav{margin-left:auto;display:flex;gap:22px;font:14px var(--f-ui);letter-spacing:.08em}
.bar nav a{text-decoration:none;color:var(--mist)}.bar nav a:hover,.bar nav a.on{color:var(--gold-hi)}
.prog{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi))}

/* hero (index + article head) */
.head{text-align:center;padding:clamp(64px,9vw,120px) 22px clamp(28px,4vw,56px)}
.head .k{font:500 12px var(--f-ui);letter-spacing:.42em;color:var(--gold);text-transform:uppercase}
.head h1{font-weight:600;font-size:clamp(30px,4.2vw,56px);letter-spacing:.22em;padding-left:.22em;margin:22px 0 0}
.head .rule{display:flex;align-items:center;justify-content:center;gap:16px;margin:30px auto 0;color:var(--gold)}
.head .rule::before,.head .rule::after{content:"";height:1px;width:clamp(40px,9vw,120px);background:linear-gradient(90deg,transparent,var(--line-2))}
.head .rule::after{transform:scaleX(-1)}
.head .rule i{font-family:var(--f-sd);font-style:normal;font-size:26px;color:#ecd49a}
.head .by{margin-top:22px;color:var(--mist);font-size:16px;letter-spacing:.2em}
.head .lede{max-width:40em;margin:26px auto 0;color:var(--mist);font-size:17.5px;line-height:2}

/* index */
.wrap{max-width:1200px;margin:0 auto;padding:0 22px clamp(60px,8vw,120px)}
.group{margin-top:clamp(44px,6vw,80px)}
.group > h2{display:flex;align-items:center;gap:20px;justify-content:center;font-weight:500;font-size:22px;letter-spacing:.24em;color:var(--gold-hi);margin-bottom:30px;text-align:center}
.group > h2::before,.group > h2::after{content:"";flex:1;max-width:220px;height:1px;background:linear-gradient(90deg,transparent,var(--line-2))}
.group > h2::after{transform:scaleX(-1)}
.group > p{max-width:42em;margin:-14px auto 28px;text-align:center;color:var(--mist);font-size:15.5px;line-height:1.9}
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.card{position:relative;display:flex;flex-direction:column;width:min(100%,360px);padding:26px 26px 22px;text-decoration:none;color:var(--ivory);
  background:linear-gradient(180deg,rgba(20,26,53,.85),rgba(12,15,32,.85));border:1px solid var(--line);border-radius:3px;transition:transform .3s,border-color .3s,box-shadow .3s}
.card::before{content:"";position:absolute;inset:6px;border:1px solid rgba(212,176,106,.1);border-radius:2px;pointer-events:none}
.card:hover{transform:translateY(-5px);border-color:var(--line-2);box-shadow:0 22px 50px rgba(0,0,0,.45),0 0 40px rgba(212,176,106,.08);color:#fff}
.card .n{font:600 12px var(--f-ui);letter-spacing:.3em;color:var(--gold)}
.card h3{font-weight:600;font-size:21px;letter-spacing:.06em;margin:10px 0 10px;color:var(--gold-hi)}
.card p{overflow-wrap:anywhere;font-size:15px;line-height:1.85;color:var(--mist);flex:1}
.card .m{margin-top:16px;font:12.5px var(--f-ui);letter-spacing:.1em;color:var(--dim);display:flex;justify-content:space-between}

/* article */
.art{max-width:40em;margin:0 auto;padding:0 22px clamp(60px,8vw,120px);font-size:var(--fs,19px);line-height:2.1}
.art p{margin:0 0 1.2em;text-align:justify;text-justify:inter-ideograph;hanging-punctuation:allow-end}
.art > p.dc::first-letter{font-size:3.1em;float:left;line-height:.95;padding:.06em .12em 0 0;color:var(--gold-hi);font-weight:600}
.art h2{font-weight:600;font-size:1.28em;letter-spacing:.16em;color:var(--gold-hi);text-align:center;margin:2.6em 0 1.1em;padding-top:.3em}
.art h2::after{content:"";display:block;width:46px;height:1px;margin:.9em auto 0;background:var(--gold)}
.art h3{font-weight:600;font-size:1.08em;letter-spacing:.1em;color:#e9d7a6;margin:2em 0 .6em;padding-left:.9em;border-left:2px solid var(--gold)}
.art blockquote{margin:1.8em 0;padding:.3em 1.4em;border-left:2px solid var(--gold);background:linear-gradient(90deg,rgba(212,176,106,.07),transparent);color:#e6dcc3;font-size:.96em}
.art blockquote p{text-align:left;margin-bottom:.8em}
.art .verse{margin:2em auto;text-align:center;padding:1.2em 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#f0e3bd;letter-spacing:.14em}
.art .verse p{margin:0;text-align:center;line-height:2.2}
.art .mantra{text-align:center;margin:1.6em 0;color:var(--gold-hi);letter-spacing:.2em;font-weight:600}
.art strong{color:var(--gold-hi);font-weight:700}
.art ul,.art ol{padding-left:1.6em;margin:0 0 1.2em}.art li{margin:.2em 0}
.art hr{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-2),transparent);margin:3em 0}
.art table{border-collapse:collapse;margin:1.6em auto;font-size:.88em;max-width:100%}
.art td,.art th{border:1px solid var(--line);padding:.4em .8em;line-height:1.7}
.art figure,.art img{max-width:100%;height:auto}
.art .note{margin-top:3em;padding:1.1em 1.4em;border:1px solid var(--line);border-radius:3px;color:var(--mist);font-size:.82em;line-height:1.9}

.pn{max-width:40em;margin:0 auto;padding:0 22px 80px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pn a{display:block;padding:16px 20px;border:1px solid var(--line);border-radius:3px;text-decoration:none;color:var(--ivory)}
.pn a:hover{border-color:var(--line-2);color:#fff}
.pn small{display:block;font:12px var(--f-ui);letter-spacing:.24em;color:var(--gold);margin-bottom:4px}
.pn a:last-child{text-align:right}

.tools{position:fixed;right:18px;bottom:18px;display:flex;gap:8px;z-index:30}
.tools button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:rgba(12,15,32,.9);color:var(--gold-hi);font:600 15px var(--f-ui);cursor:pointer}
.tools button:hover{background:rgba(212,176,106,.16)}
footer{border-top:1px solid var(--line);padding:34px 22px 50px;text-align:center;color:var(--dim);font:13.5px/1.9 var(--f-ui)}
footer a{color:var(--mist)}
@media (max-width:640px){.bar nav a:not(.on):not(:first-child){display:none}.art{font-size:calc(var(--fs,19px) - 1px)}.pn{grid-template-columns:1fr}.pn a:last-child{text-align:left}}
@media print{.bar,.tools,.pn,footer{display:none}body{background:#fff;color:#000}.art,.art *{color:#000!important;background:none!important}}

/* ===== Book reader (Apple Books–style) ===== */
html[data-theme=paper]{--bg:#f6efe0;--fg:#2c2620;--mu:#7b6f5f;--ac:#8a6a32;--hd:#1f1a14;--ln:rgba(60,45,20,.16);--pn:#fbf6ea;--bar:rgba(246,239,224,.92);color-scheme:light}
html[data-theme=white]{--bg:#fff;--fg:#1d1d1f;--mu:#86868b;--ac:#9a7a3a;--hd:#000;--ln:rgba(0,0,0,.12);--pn:#f5f5f7;--bar:rgba(255,255,255,.92);color-scheme:light}
html[data-theme=quiet]{--bg:#4b4b50;--fg:#e4e1da;--mu:#a6a39b;--ac:#d9bd7c;--hd:#fff;--ln:rgba(255,255,255,.16);--pn:#56565b;--bar:rgba(75,75,80,.93);color-scheme:dark}
html[data-theme=night]{--bg:#0d0e11;--fg:#c8c6bf;--mu:#7d7b75;--ac:#c9a85f;--hd:#ece6d4;--ln:rgba(255,255,255,.13);--pn:#17181c;--bar:rgba(13,14,17,.93);color-scheme:dark}
html:has(body.rd){background:var(--bg);transition:background .3s}
body.rd{background:var(--bg);color:var(--fg);font-family:var(--f-serif);transition:background .3s,color .3s;font-size:var(--fs,19px)}
.rd a{color:var(--ac)}
.rd-bar{position:fixed;top:0;left:0;right:0;z-index:40;height:46px;display:flex;align-items:center;gap:14px;padding:0 max(16px,env(safe-area-inset-left));background:var(--bar);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--ln);font-family:var(--f-ui);transition:transform .35s ease}
.rd-bar.hide{transform:translateY(-100%)}
.rd-bar .back{color:var(--ac);text-decoration:none;font-size:16px;white-space:nowrap}
.rd-bar .ttl{flex:1;text-align:center;font-size:13.5px;color:var(--mu);letter-spacing:.1em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rd-bar #aa{border:0;background:none;color:var(--ac);font:600 17px var(--f-ui);cursor:pointer;padding:6px 8px}
.rd-prog{position:absolute;left:0;right:0;bottom:-1px;height:2px}.rd-prog i{display:block;height:100%;width:0;background:var(--ac)}
.rd-panel{position:fixed;z-index:50;top:52px;right:12px;width:min(320px,calc(100vw - 24px));padding:16px;background:var(--pn);border:1px solid var(--ln);border-radius:14px;box-shadow:0 14px 44px rgba(0,0,0,.22);font-family:var(--f-ui);color:var(--fg)}
.rd-panel[hidden]{display:none}
.rd-panel .row{display:flex;align-items:center;gap:10px}.rd-panel .row+.row{margin-top:14px;padding-top:14px;border-top:1px solid var(--ln)}
.rd-panel button{font-family:var(--f-serif);cursor:pointer;color:inherit}
.rd-panel .sz button{width:44px;height:36px;border:1px solid var(--ln);border-radius:9px;background:transparent}
.rd-panel input[type=range]{flex:1;accent-color:var(--ac)}
.rd-panel .th{justify-content:space-between}
.rd-panel .th button{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;font:12px var(--f-ui)}
.rd-panel .th i{font:600 20px var(--f-serif);font-style:normal;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--ln)}
.rd-panel .th .on i{border-color:var(--ac)}
.t-paper i{background:#f6efe0;color:#2c2620}.t-white i{background:#fff;color:#1d1d1f}.t-quiet i{background:#4b4b50;color:#e4e1da}.t-night i{background:#0d0e11;color:#c8c6bf}
.rd-panel .lh{font-size:13px}.rd-panel .lh span{margin-right:auto}
.rd-panel .lh button{padding:6px 12px;border:1px solid var(--ln);border-radius:8px;background:transparent;font:13px var(--f-ui)}
.rd-panel .lh .on{border-color:var(--ac);color:var(--ac)}

.rd-art{max-width:35em;margin:0 auto;padding:0 clamp(22px,6vw,40px)}
.rd-open{text-align:center;padding:clamp(110px,18vh,190px) 0 clamp(44px,8vh,80px)}
.rd-open .k{font:500 12px var(--f-ui);letter-spacing:.34em;color:var(--mu)}
.rd-open h1{margin:1.1em 0 0;font-weight:700;font-size:clamp(28px,6.4vw,40px);letter-spacing:.14em;padding-left:.14em;line-height:1.5;color:var(--hd)}
.orn{margin:1.6em 0 0;color:var(--ac)}.orn i{font:normal 28px var(--f-sd)}
.rd-open .by{margin-top:1.3em;font-size:15px;letter-spacing:.3em;padding-left:.3em;color:var(--mu)}

.rd .art{max-width:none;padding:0;margin:0;font-size:var(--fs,19px);line-height:var(--lh,2.05);color:var(--fg)}
.rd .art p{margin:0 0 .45em;text-indent:2em;text-align:justify;text-justify:inter-ideograph;hanging-punctuation:allow-end;orphans:2;widows:2}
.rd .art h2{margin:3.2em 0 1.5em;padding:0;font-weight:700;font-size:1.22em;letter-spacing:.16em;color:var(--hd);text-align:center;text-indent:0}
.rd .art h2::after{content:"";display:block;width:2.2em;height:1px;margin:1em auto 0;background:var(--ac);opacity:.8}
.rd .art h3{margin:2.2em 0 .7em;padding:0;border:0;font-weight:700;font-size:1.04em;letter-spacing:.08em;color:var(--hd);text-indent:0}
.rd .art strong{color:var(--hd);font-weight:700}
.rd .art blockquote{margin:1.8em 0;padding:.2em 0 .2em 1.3em;border-left:2px solid var(--ac);background:none;color:var(--fg);opacity:.92;font-size:.96em}
.rd .art blockquote p{text-indent:0;text-align:left}
.rd .art .verse{margin:2.2em 0;padding:1.3em 0;border:0;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);color:var(--hd);letter-spacing:.1em}
.rd .art .verse p{text-indent:0;text-align:center;margin:0;line-height:2.25}
.rd .art .mantra{color:var(--ac)}
.rd .art hr{height:1px;background:var(--ln);margin:3em auto;width:30%}
.rd .art td,.rd .art th{border-color:var(--ln)}
.rd-end{text-align:center;padding:4em 0 1em}
.rd .note{margin:1.6em auto 0;max-width:30em;padding:0;border:0;font-size:13px;line-height:1.95;color:var(--mu);text-align:center;font-family:var(--f-ui)}
.rd-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:2.4em 0 6em}
.rd-pn a{display:block;padding:15px 18px;border:1px solid var(--ln);border-radius:12px;background:var(--pn);text-decoration:none;color:var(--hd);font-size:15px;line-height:1.6}
.rd-pn a:last-child{text-align:right}.rd-pn small{display:block;font:12px var(--f-ui);letter-spacing:.22em;color:var(--ac);margin-bottom:4px}
.rd-pct{position:fixed;left:0;right:0;bottom:10px;text-align:center;font:11.5px var(--f-ui);letter-spacing:.1em;color:var(--mu);pointer-events:none;opacity:.8}
@media (max-width:560px){.rd-pn{grid-template-columns:1fr}.rd-pn a:last-child{text-align:left}.rd .art p{text-align:left}}
@media print{.rd-bar,.rd-panel,.rd-pct,.rd-pn{display:none}html,body.rd{background:#fff;color:#000}}

.rd .art .bib{margin:3.4em 0 0;padding:1.3em 1.4em;border:1px solid var(--ln);border-radius:12px;background:var(--pn);font-family:var(--f-ui);font-size:.8em;line-height:1.9}
.rd .art .bib h3{margin:0 0 .6em;padding:0;border:0;font-family:var(--f-ui);font-size:1em;color:var(--ac);letter-spacing:.2em;text-align:center}
.rd .art .bib ul{margin:0;padding-left:1.2em}.rd .art .bib p{text-indent:0;text-align:left;margin:.8em 0 0;color:var(--mu)}
