/* J49B editorial system — warm paper, black type, cobalt signal, ruled grid */
:root{
  --paper:#f7f7f5!important;--paper-soft:#f7f7f5!important;--paper-deep:#eeeeeb!important;
  --paper-dark:#f7f7f5!important;--ink:#090909!important;--ink-soft:#242424!important;
  --muted:#727272!important;--muted-soft:#92928e!important;--rule:#ddddda!important;
  --rule-strong:#bdbdb8!important;--accent:#0648bd!important;--accent-hover:#003d9f!important;
  --accent-deep:#003480!important;--accent-soft:#2d67c8!important;--on-dark:#090909!important;
  --on-dark-muted:#727272!important;--on-dark-soft:#92928e!important;
  --sans:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Noto Sans SC","Hiragino Sans GB","Microsoft YaHei",sans-serif!important;
  --sans-zh:var(--sans)!important;--sans-condensed:var(--sans)!important;--serif:var(--sans)!important;
  --mono:"Helvetica Neue",Helvetica,Arial,ui-monospace,monospace!important;
  --l1:#d2a106!important;--l2:#198038!important;--l3:#0f62fe!important;--l4:#007d79!important;
  --l5:#6929c4!important;--l6:#d02670!important;--l7:#b28600!important;--l8:#a2191f!important;
  --l1-tint:rgba(241,194,27,.10)!important;--l2-tint:rgba(36,161,72,.10)!important;
  --l3-tint:rgba(15,98,254,.10)!important;--l4-tint:rgba(0,157,154,.10)!important;
  --l5-tint:rgba(138,63,252,.10)!important;--l6-tint:rgba(238,83,150,.10)!important;
  --l7-tint:rgba(255,131,43,.10)!important;--l8-tint:rgba(218,30,40,.10)!important;
}
*{border-radius:0!important;box-shadow:none!important}
body{background:var(--paper)!important;color:var(--ink)!important;font-family:var(--sans)!important;font-weight:400!important;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit}::selection{background:var(--accent)!important;color:#fff}
/* shared chrome */
.appbar,.topbar{background:color-mix(in srgb,var(--paper) 95%,transparent)!important;color:var(--ink)!important;border-bottom:1px solid var(--ink)!important;backdrop-filter:blur(10px)}
.appbar .brand,.appbar .brand .sub,.appbar .nav a,.topbar .home,.topbar .label{color:var(--ink)!important}.appbar .brand::before,.topbar .home::before{background:var(--accent)!important}.appbar .nav a:hover{background:var(--paper-deep)!important;color:var(--accent)!important}
/* 当前 / 浅色：当前页按钮用瑞士钴蓝，不用黑色。深色模式保留自身对比逻辑。 */
html:not([data-reading-theme="dark"]) .appbar .nav a.active{background:#0648bd!important;color:#fff!important;border-bottom-color:#0648bd!important}
/* homepage */
.hero{background:var(--paper)!important;color:var(--ink)!important;padding:72px 0 0!important;border-bottom:0!important}.hero-ink{display:none!important}.hero::after{display:none!important}.hero-inner{max-width:1120px!important;padding:0 24px!important;grid-template-columns:repeat(12,1fr)!important;gap:20px!important}.hero-eyebrow{grid-column:1/-1!important;color:var(--accent)!important;font:700 11px/1.4 var(--sans)!important;letter-spacing:.18em!important;text-transform:uppercase!important;margin-bottom:8px!important;padding-left:0!important;border-left:0!important}.hero-title{grid-column:1/-1!important;font:400 clamp(54px,10vw,112px)/1 var(--sans)!important;letter-spacing:-.055em!important;color:var(--ink)!important;margin:0 0 20px!important}.hero-period{color:var(--accent)!important}.hero-sub{grid-column:1/span 10!important;font:400 clamp(18px,2.2vw,27px)/1.3 var(--sans)!important;color:var(--ink)!important;font-style:normal!important;letter-spacing:-.025em!important;border-left:4px solid var(--accent);padding-left:14px}.hero-tag{grid-column:1/span 9!important;color:var(--muted)!important;font-size:15px!important;margin-bottom:34px!important}.hero-cta{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:14px 0!important}.cta-pill{background:none!important;color:var(--ink)!important;border-right:1px solid var(--rule)!important;padding:10px 18px!important;min-width:0!important;font-size:12px!important;letter-spacing:.06em!important;text-transform:uppercase}.cta-pill:first-child{padding-left:0!important}.cta-pill:hover{color:var(--accent)!important;text-decoration:none!important}
.preface,.stat-strip,.stack,.flow-section{background:var(--paper)!important;color:var(--ink)!important}.preface-inner,.stat-grid,.stack-inner,.flow-inner,.footer-inner{max-width:1120px!important}.preface{padding:64px 0!important;border-bottom:1px solid var(--ink)!important}.preface-body{font-family:var(--sans)!important;color:var(--ink-soft)!important;font-size:18px!important;line-height:1.75!important}.stat-strip{border-bottom:1px solid var(--ink)!important}.stat-grid{gap:0!important}.stat{border-right:1px solid var(--rule)!important;background:none!important}.stat strong{font:300 clamp(34px,5vw,64px)/1 var(--sans)!important;letter-spacing:-.055em!important;color:var(--ink)!important}.stat span{color:var(--muted)!important;font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase}.stack-head,.flow-head{border-bottom:1px solid var(--ink)!important}.stack-head-text h2,.flow-head h2{font-weight:400!important;letter-spacing:-.035em!important}.layer{background:none!important;border:0!important;border-bottom:1px solid var(--rule)!important}.layer-num{font:300 clamp(42px,6vw,76px)/1 var(--sans)!important;color:var(--accent)!important}.layer-name{font-weight:500!important}.layer-role,.layer-en{color:var(--muted)!important}.book{background:none!important;border:0!important;border-top:1px solid var(--rule)!important}.book:hover{background:var(--paper-deep)!important}.book h3{font-weight:500!important}.footer-inner{color:var(--muted)!important}
/* book pages */
.layout{max-width:1320px!important}.toc-side{background:#f1f1ee!important;border-right:1px solid var(--rule)!important}.toc-side h4{color:var(--accent)!important;border-top:1px solid var(--ink)!important;font-family:var(--sans)!important;letter-spacing:.12em!important}.toc-side .toc-section,.toc-side .toc-part,.toc-side .toc-chap{color:var(--ink-soft)!important}.toc-side a.active,.toc-side a:hover{background:var(--paper)!important;color:var(--accent)!important;border-left-color:var(--accent)!important}.reader{background:var(--paper)!important;max-width:none!important;padding-top:54px!important}.book-head{border-bottom:1px solid var(--ink)!important;padding-bottom:36px!important;margin-bottom:54px!important}.book-head .layer-badge{color:var(--accent)!important;font:700 11px/1.4 var(--sans)!important;letter-spacing:.16em!important;text-transform:uppercase!important}.book-head h1{font:400 clamp(42px,7vw,78px)/1.05 var(--sans)!important;letter-spacing:-.055em!important;color:var(--ink)!important}.book-head .subtitle{font:400 clamp(17px,2vw,23px)/1.5 var(--sans)!important;color:var(--ink)!important;border-left:4px solid var(--accent);padding-left:14px!important}.book-head .role{color:var(--muted)!important}.reader h2{font:400 clamp(30px,4vw,48px)/1.15 var(--sans)!important;letter-spacing:-.035em!important;color:var(--ink)!important;border-top:1px solid var(--ink)!important;padding-top:24px!important}.reader h2::before,.reader h5::before{color:var(--accent)!important}.reader h3,.reader h4,.reader h5,.reader h6{font-family:var(--sans)!important;color:var(--ink)!important}.reader h3{font-weight:500!important;letter-spacing:-.02em!important}.reader p,.reader li{font-family:var(--sans)!important;color:var(--ink-soft)!important;line-height:1.9!important}.reader p{font-size:18px!important;text-indent:0!important}.reader p.callout,.reader p.core,.reader blockquote{background:none!important;border:1px solid var(--rule)!important;border-left:3px solid var(--accent)!important;color:var(--ink)!important}.reader table{border-top:1px solid var(--ink)!important}.reader th,.reader td{border-bottom:1px solid var(--rule)!important}.reader th{font-family:var(--sans)!important;font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase!important}.book-foot{border-top:1px solid var(--ink)!important}
.mark-toolbar,.notes-panel,.note-modal-inner{background:var(--paper)!important;color:var(--ink)!important;border-color:var(--rule)!important}.notes-fab{background:var(--accent)!important}
/* about page — same restrained editorial grammar */
.about-hero{background:var(--paper)!important;padding:72px 0 56px!important;border-bottom:1px solid var(--ink)!important}.about-hero-inner{max-width:1120px!important;padding:0 24px!important;grid-template-columns:220px 1fr!important;gap:40px!important}.about-hero .eyebrow{grid-column:1!important;color:var(--accent)!important;border-top:1px solid var(--ink)!important;font:700 10px/1.4 var(--sans)!important;letter-spacing:.16em!important;padding-top:12px!important}.about-hero .hero-text{grid-column:2!important}.about-hero h1{font:300 clamp(48px,7.5vw,88px)/1.03 var(--sans)!important;letter-spacing:-.055em!important;color:var(--ink)!important}.about-hero .sub{font:500 17px/1.55 var(--sans)!important;border-left:4px solid var(--accent);padding-left:14px!important;max-width:760px!important}.about-hero .sub-en{font:400 12px/1.5 var(--sans)!important;color:var(--muted)!important;letter-spacing:.08em!important;text-transform:uppercase!important}.essay-grid{background:var(--paper)!important;padding:0 0 96px!important}.essay-inner{max-width:1120px!important;padding:0 24px!important}.essay-block{grid-template-columns:180px 1fr!important;gap:40px!important;padding:54px 0!important;border-bottom:1px solid var(--ink)!important;--c:var(--accent)!important}.essay-block .meta{grid-column:1!important}.essay-block .content{grid-column:2!important}.essay-block .num,.essay-block .eyebrow{color:var(--accent)!important;font-family:var(--sans)!important}.essay-block .num{font-size:36px!important;font-weight:300!important;letter-spacing:-.05em!important}.essay-block .eyebrow{font-size:9px!important;letter-spacing:.14em!important;text-transform:uppercase!important}.essay-block .block-title{font:400 clamp(28px,4vw,44px)/1.15 var(--sans)!important;letter-spacing:-.035em!important;color:var(--ink)!important;margin-top:0!important}.essay-block p{font:400 17px/1.85 var(--sans)!important;color:var(--ink-soft)!important}.essay-block p.lead{font-size:19px!important;color:var(--ink)!important}.essay-block .big-quote,.essay-block .callout{background:none!important;border:0!important;border-left:3px solid var(--accent)!important;padding:4px 0 4px 18px!important;color:var(--ink)!important;font:400 20px/1.6 var(--sans)!important}.essay-block .book-link{color:var(--accent)!important;border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent);margin-right:.25em}.essay-block .chain{color:var(--ink)!important}.essay-grid+footer,body>footer{background:var(--paper)!important;color:var(--muted)!important;border-top:1px solid var(--ink)!important}
@media(max-width:760px){.hero-inner{padding:0 18px!important}.hero{padding-top:48px!important}.hero-title{font-size:clamp(48px,15vw,72px)!important}.hero-sub,.hero-tag{grid-column:1/-1!important}.hero-cta{display:grid!important;grid-template-columns:1fr 1fr}.cta-pill{border-bottom:1px solid var(--rule)!important}.reader{padding-top:34px!important}.book-head h1{font-size:clamp(38px,12vw,54px)!important}.reader p{font-size:17px!important}.stat-grid{grid-template-columns:1fr 1fr!important}.about-hero-inner{padding:0 18px!important;grid-template-columns:1fr!important;gap:22px!important}.about-hero .eyebrow,.about-hero .hero-text{grid-column:1!important}.essay-inner{padding:0 18px!important}.essay-block{grid-template-columns:1fr!important;gap:20px!important;padding:40px 0!important}.essay-block .meta,.essay-block .content{grid-column:1!important}}

/* ════════ 回补：编辑体系不得吃掉阅读层结构与标注功能 ════════ */
/* 1. 小标题 h6.sub-h —— 曾被正文 18px 压过去，重新拉出层级 */
.reader h6.sub-h{
  font:600 15px/1.4 var(--sans)!important;
  color:var(--accent)!important;
  letter-spacing:.10em!important;
  text-transform:none!important;
  margin:44px 0 12px!important;
  padding-top:10px!important;
  border-top:1px solid var(--rule)!important;
}
/* 2. 金句 p.core —— 样本语法：无底色，左侧钴蓝竖线，加大深墨字 */
.reader p.core{
  background:none!important;
  color:var(--ink)!important;
  border:0!important;
  border-left:3px solid var(--accent)!important;
  padding:6px 0 6px 22px!important;
  margin:2.6em 0 2.4em!important;
  font:400 clamp(21px,2.6vw,26px)/1.55 var(--sans)!important;
  letter-spacing:-.02em!important;
}
.reader p.core::before{content:none!important}
/* 金句内不再嵌第二层强调 —— 一次只强调一件事，否则整块变噪音 */
.reader p.core strong,.reader p.core .enum-mark,.reader p.core .key-marker,
.reader p.core .key-thesis,.reader p.core .key-pos,
.reader p.core .emph-label,.reader p.core .key-warn{
  color:var(--ink)!important;
  text-decoration:none!important;
  font-weight:600!important;
}
.reader p.core .key-neg{color:#5f5f5f!important;text-decoration:none!important;font-weight:400!important}
.reader p.core mark.key-line{
  background:linear-gradient(180deg,transparent 55%,rgba(241,194,27,.55) 55%)!important;
  color:var(--ink)!important;
}
/* 3. 行内金句 mark.key-line —— 保留荧光笔 */
.reader mark.key-line{
  background:linear-gradient(180deg,transparent 55%,rgba(241,194,27,.55) 55%)!important;
  color:var(--ink)!important;
}
/* 4. Kindle 标注 UI —— 深色浮层 + 圆色点 + 投影，全部还原 */
.mark-toolbar{
  background:#161616!important;color:#fff!important;border:0!important;
  box-shadow:0 4px 24px rgba(0,0,0,.25)!important;
}
.mark-toolbar button{background:transparent!important;color:#f4f4f4!important}
.mark-toolbar button:hover{background:#393939!important;color:#fff!important}
.mark-toolbar .danger{color:#ff7eb6!important}
.mark-toolbar::after{border-bottom-color:#161616!important}
.mark-palette{
  background:#fff!important;border:1px solid var(--rule)!important;
  box-shadow:0 4px 24px rgba(0,0,0,.15)!important;
}
.mark-palette .color-dot{border-radius:50%!important}
.notes-panel,.note-modal-inner{box-shadow:0 8px 40px rgba(0,0,0,.18)!important}
.notes-fab{border-radius:0!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important}
.user-mark{border-radius:0!important}
/* 5. 顶栏已改浅底，深底遗留的浅色控件必须跟着翻 */
.topbar .toc-toggle{color:var(--ink)!important;border-color:var(--rule-strong)!important}
.topbar .toc-toggle:hover{background:var(--paper-deep)!important;border-color:var(--ink)!important;color:var(--accent)!important}
.topbar .home:hover{color:var(--accent)!important}

/* 首页只换字体与色彩；严格保留原八层卡片结构 */
.stack-inner{max-width:1584px!important;padding:0 16px!important}
.layer{
  background:var(--paper)!important;border:0!important;padding:56px 36px 40px!important;
  margin-bottom:1px!important;display:grid!important;grid-template-columns:repeat(16,1fr)!important;
  gap:32px!important;position:relative!important;
}
.layer::before{display:block!important;height:3px!important;background:var(--layer-c)!important}
.layer.layer-dark{background:var(--paper)!important;color:var(--ink)!important}
.layer.layer-dark .layer-name,.layer.layer-dark .book h3,.layer.layer-dark .book .subtitle{color:var(--ink)!important}
.layer.layer-dark .layer-en,.layer.layer-dark .layer-role,.layer.layer-dark .book .role,.layer.layer-dark .book .seq,.layer.layer-dark .book .pages{color:var(--muted)!important}
.layer-head{grid-column:1 / span 4!important;display:flex!important;flex-direction:column!important;gap:6px!important}
.layer-num{
  display:inline-block!important;font:600 11px/1.2 var(--sans)!important;color:var(--layer-c)!important;
  background:var(--layer-tint)!important;padding:4px 10px!important;letter-spacing:.08em!important;
  margin-bottom:22px!important;align-self:flex-start!important;text-transform:uppercase!important;
}
.layer-name{font:400 44px/1.05 var(--sans)!important;letter-spacing:-.035em!important;color:var(--ink)!important}
.layer-en{font:400 11px/1.4 var(--sans)!important;letter-spacing:.1em!important;color:var(--muted)!important;text-transform:uppercase!important}
.layer-role{font:400 15px/1.55 var(--sans)!important;color:var(--ink-soft)!important}
.layer-books{
  grid-column:5 / -1!important;display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:1px!important;
  background:var(--rule)!important;border:1px solid var(--rule)!important;
}
.layer-books.single{grid-template-columns:1fr!important}
.layer.layer-dark .layer-books{background:var(--rule)!important;border-color:var(--rule)!important}
.book,.layer.layer-dark .book{
  display:flex!important;flex-direction:column!important;background:var(--paper)!important;
  border:1px solid var(--rule)!important;padding:24px 22px 20px!important;
  min-height:240px!important;color:var(--ink)!important;
}
.book:hover,.layer.layer-dark .book:hover{background:var(--paper-deep)!important;border-color:var(--layer-c)!important}
.book .seq .layer-tag,.layer.layer-dark .book .seq .layer-tag{background:var(--layer-c)!important;color:#fff!important}
.book h3{font:500 20px/1.2 var(--sans)!important;letter-spacing:-.015em!important}
.book .subtitle{font:400 14px/1.4 var(--sans)!important;color:var(--ink-soft)!important}
.book .role{font:400 13px/1.5 var(--sans)!important;color:var(--muted)!important;border-top:1px solid var(--rule)!important}
@media(max-width:900px){.layer{grid-template-columns:1fr!important}.layer-head,.layer-books{grid-column:1!important}.layer-books{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important}}

/* 首页上半部极简化：保留信息，不保留重复装饰 */
.hero{padding:52px 0 26px!important;border-bottom:0!important}
.hero-inner{max-width:1120px!important;padding:0 24px!important;display:block!important}
.hero-eyebrow{font-size:9px!important;margin:0 0 14px!important}
.hero-title{font-size:clamp(46px,6vw,72px)!important;line-height:1!important;margin:0 0 15px!important;font-weight:300!important}
.hero-sub{font-size:14px!important;line-height:1.45!important;border-left:2px solid var(--accent)!important;padding-left:10px!important;margin:0!important}
.hero-tag,.hero-cta{display:none!important}
.stat-strip{background:var(--paper)!important;padding:0 0 34px!important}
.stat-grid{max-width:1120px!important;padding:0 24px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;border-top:1px solid var(--ink)!important;border-bottom:1px solid var(--rule)!important}
.stat{background:transparent!important;padding:16px 18px!important;min-height:92px!important;border-right:1px solid var(--rule)!important;box-shadow:none!important;display:block!important}
.stat:first-child{padding-left:0!important}.stat:last-child{border-right:0!important}
.stat:hover{transform:none!important;box-shadow:none!important}.stat::before{display:none!important}
.stat .stat-num-row{font-size:8px!important;letter-spacing:.14em!important;margin:0 0 9px!important;text-transform:uppercase!important}
.stat b{display:inline!important;font-size:36px!important;font-weight:300!important;line-height:1!important;letter-spacing:-.045em!important;margin:0 8px 0 0!important}
.stat .stat-label{display:inline!important;font-size:11px!important;font-weight:400!important;color:var(--muted)!important;margin:0!important}
.stat .stat-extra{display:none!important}
.preface{display:none!important}
.stack{padding:42px 0 100px!important}
.stack-head{display:grid!important;grid-template-columns:180px 1fr!important;gap:32px!important;margin-bottom:36px!important}
.stack-head::before{height:2px!important;margin-bottom:20px!important}
.stack-head .label{grid-column:1!important;font-size:9px!important;border-top:1px solid var(--ink)!important;padding-top:8px!important}
.stack-head-text{grid-column:2!important}.stack-head h2{font-size:42px!important;font-weight:300!important;letter-spacing:-.04em!important}.stack-head .sub{font-size:14px!important;margin-top:10px!important;color:var(--muted)!important}
@media(max-width:760px){.hero-inner,.stat-grid{padding-left:18px!important;padding-right:18px!important}.stat-grid{grid-template-columns:repeat(3,1fr)!important}.stat{padding:14px 8px!important}.stat b{font-size:28px!important;display:block!important}.stat .stat-label{font-size:9px!important}.stack-head{grid-template-columns:1fr!important;gap:14px!important}.stack-head .label,.stack-head-text{grid-column:1!important}}

/* 最终入口：一行字、一行数字，然后直接进入八层 */
.hero{padding:36px 0 18px!important}
.hero-eyebrow,.hero-sub,.hero-tag,.hero-cta{display:none!important}
.hero-title{font-size:clamp(42px,6vw,64px)!important;white-space:nowrap!important;margin:0!important}
.stat-strip{padding:0 0 24px!important}
.stat-grid{min-height:58px!important}
.stat{min-height:58px!important;padding:13px 16px!important;display:flex!important;flex-direction:row!important;align-items:baseline!important;gap:7px!important}
.stat .stat-num-row,.stat .stat-extra{display:none!important}
.stat b{font-size:29px!important;display:inline!important;margin:0!important}
.stat .stat-label{font-size:10px!important;display:inline!important;margin:0!important}
.stack{padding-top:0!important}
.stack-head{display:none!important}
@media(max-width:760px){.hero{padding:30px 0 14px!important}.hero-title{font-size:clamp(40px,12vw,54px)!important}.stat{padding:12px 7px!important;gap:4px!important}.stat b{font-size:25px!important}.stat .stat-label{font-size:9px!important}}

/* 二级阅读页：瑞士信息设计 + 浅色 / 黑夜阅读 */
.topbar{gap:12px!important}.topbar .label{margin-left:auto!important}
.theme-switch{display:flex;align-items:center;border:1px solid var(--rule-strong);height:30px;flex:0 0 auto}
.theme-switch button{height:28px;min-width:44px;border:0;border-right:1px solid var(--rule);background:transparent;color:var(--muted);font:500 10px/1 var(--sans);letter-spacing:.08em;cursor:pointer;padding:0 9px}
.theme-switch button:last-child{border-right:0}.theme-switch button:hover{color:var(--accent);background:var(--paper-deep)}
.theme-switch button.active{background:var(--ink);color:var(--paper)}

/* 当前：沿用现有暖灰蓝色；浅色：暖米白与金棕；深色：夜间低眩光 */
html[data-reading-theme="light"]{
  color-scheme:light;
  --paper:#f4f1ea!important;--paper-soft:#f8f5ed!important;--paper-deep:#ebe5d8!important;
  --paper-dark:#f4f1ea!important;--ink:#26221c!important;--ink-soft:#3a342b!important;
  --muted:#7d7466!important;--muted-soft:#9a9184!important;--rule:#e7e0d2!important;
  --rule-strong:#d5ccb8!important;--accent:#9b7430!important;--accent-hover:#795820!important;
  --accent-deep:#6d5427!important;--accent-soft:#b28a45!important;
}
html[data-reading-theme="light"],html[data-reading-theme="light"] body,
html[data-reading-theme="light"] .layout,html[data-reading-theme="light"] .reader{background:#f4f1ea!important;color:var(--ink)!important}
html[data-reading-theme="light"] .toc-side{background:#f8f5ed!important}
html[data-reading-theme="light"] .topbar{background:rgba(248,245,237,.96)!important}

html[data-reading-theme="dark"]{
  color-scheme:dark;
  --paper:#101113!important;--paper-soft:#15171a!important;--paper-deep:#22252a!important;
  --paper-dark:#101113!important;--ink:#f1f0ec!important;--ink-soft:#d2d0ca!important;
  --muted:#a19f98!important;--muted-soft:#7f7d77!important;--rule:#34373c!important;
  --rule-strong:#555960!important;--accent:#7da2ff!important;--accent-hover:#9bb7ff!important;
  --accent-deep:#aec3ff!important;--accent-soft:#668eea!important;--on-dark:#f1f0ec!important;
  --on-dark-muted:#aaa8a1!important;--on-dark-soft:#85837d!important;
}
html[data-reading-theme="dark"],html[data-reading-theme="dark"] body,
html[data-reading-theme="dark"] .layout,html[data-reading-theme="dark"] .reader{background:#101113!important;color:var(--ink)!important}
html[data-reading-theme="dark"] .topbar{background:rgba(16,17,19,.96)!important;border-bottom-color:#4b4e54!important}
html[data-reading-theme="dark"] .toc-side{background:#15171a!important;border-right-color:var(--rule)!important}
html[data-reading-theme="dark"] .toc-side a.active,
html[data-reading-theme="dark"] .toc-side a:hover{background:#22252a!important;color:var(--accent)!important}
html[data-reading-theme="dark"] .book-head,
html[data-reading-theme="dark"] .reader h2,
html[data-reading-theme="dark"] .reader table,
html[data-reading-theme="dark"] .book-foot{border-color:var(--rule-strong)!important}
html[data-reading-theme="dark"] .reader p,
html[data-reading-theme="dark"] .reader li,
html[data-reading-theme="dark"] .reader td{color:var(--ink-soft)!important}
html[data-reading-theme="dark"] .reader p.core{color:var(--ink)!important}
html[data-reading-theme="dark"] .reader p.core .key-neg{color:#aaa8a1!important}
html[data-reading-theme="dark"] .reader mark.key-line,
html[data-reading-theme="dark"] .reader p.core mark.key-line{background:linear-gradient(180deg,transparent 55%,rgba(210,161,6,.42) 55%)!important;color:var(--ink)!important}
html[data-reading-theme="dark"] .mark-palette,
html[data-reading-theme="dark"] .notes-panel,
html[data-reading-theme="dark"] .note-modal-inner{background:#191b1f!important;color:var(--ink)!important;border-color:var(--rule-strong)!important}
html[data-reading-theme="dark"] .note-modal input,
html[data-reading-theme="dark"] .note-modal textarea{background:#101113!important;color:var(--ink)!important;border-color:var(--rule-strong)!important}
html[data-reading-theme="dark"] .theme-switch button.active{background:var(--accent)!important;color:#101113!important}
html[data-reading-theme="dark"] .notes-fab{background:var(--accent)!important;color:#101113!important}
@media(max-width:760px){.topbar .label{display:none!important}.theme-switch{margin-left:auto}.theme-switch button{min-width:34px;padding:0 6px}.topbar{gap:7px!important}.book-head h1{white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;font-size:clamp(36px,10.5vw,44px)!important}}

/* ── site-wide theme: appbar switch + dark fixups for index/toc/about (2026-08-06) ── */
.appbar .theme-switch{margin-left:18px;display:inline-flex}
.appbar .theme-switch button{font:700 10px/1 var(--sans)!important;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px}
html[data-reading-theme="dark"] .appbar{background:rgba(16,17,19,.95)!important;border-bottom-color:#4b4e54!important}
html[data-reading-theme="dark"] .appbar .brand,html[data-reading-theme="dark"] .appbar .brand .sub,html[data-reading-theme="dark"] .appbar .nav a{color:var(--ink)!important}
html[data-reading-theme="dark"] .appbar .nav a:hover{background:var(--paper-deep)!important;color:var(--accent)!important}
html[data-reading-theme="dark"] :is(section,.hero,.preface,.stat-strip,.stack,.flow-section,.about-hero,footer){background:var(--paper)!important;color:var(--ink)!important}
html[data-reading-theme="dark"] :is(.hero-title,.stack-head-text h2,.flow-head h2,.layer-name,.book h3,.hero-sub,.preface-body,.about-hero h1){color:var(--ink)!important}
html[data-reading-theme="dark"] :is(.hero-tag,.layer-role,.layer-en,.book .role,.footer-inner,.stat span){color:var(--muted)!important}
html[data-reading-theme="dark"] :is(.hero-cta,.preface,.stat-strip,.stack-head,.flow-head,.layer,.book,.book-head){border-color:var(--rule-strong)!important}
html[data-reading-theme="dark"] .book:hover{background:var(--paper-deep)!important}
html[data-reading-theme="dark"] .stat{border-right-color:var(--rule)!important}
html[data-reading-theme="dark"] .stat strong{color:var(--ink)!important}
html[data-reading-theme="dark"] .cta-pill{color:var(--ink)!important;border-right-color:var(--rule)!important}
html[data-reading-theme="dark"] .cta-pill:hover{color:var(--accent)!important}
html[data-reading-theme="dark"] .theme-switch button{color:var(--ink)!important;border-color:var(--rule-strong)!important}
html[data-reading-theme="dark"] .theme-switch button.active{background:var(--ink)!important;color:var(--paper)!important}

/* ── 首页首屏：按瑞士信息海报重建比例 ── */
body:has(.hero + .stat-strip) .hero{
  padding:0 0 26px!important;
  min-height:224px!important;
  border-bottom:1px solid var(--ink)!important;
}
body:has(.hero + .stat-strip) .hero-inner{
  width:84vw!important;max-width:1120px!important;padding:0!important;margin:0 auto!important;display:block!important;
}
body:has(.hero + .stat-strip) .hero-eyebrow{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  margin:0 0 38px!important;padding:16px 0 13px!important;border:0!important;border-bottom:1px solid var(--rule-strong)!important;
  color:var(--accent)!important;font:700 10px/1 var(--sans)!important;letter-spacing:.13em!important;text-transform:uppercase!important;
}
body:has(.hero + .stat-strip) .hero-eyebrow::after{
  content:"J'S LIBRARY / EIGHT LAYERS";color:var(--muted);font:500 9px/1 var(--mono);letter-spacing:.18em;
}
body:has(.hero + .stat-strip) .hero-title{
  display:block!important;white-space:nowrap!important;margin:0 0 15px!important;
  font:300 clamp(52px,6vw,76px)/.98 var(--sans)!important;letter-spacing:-.055em!important;color:var(--ink)!important;
}
body:has(.hero + .stat-strip) .hero-sub{display:none!important}
body:has(.hero + .stat-strip) .hero-tag{
  display:block!important;width:max-content!important;max-width:100%!important;margin:0!important;
  border-left:4px solid var(--accent)!important;padding:1px 0 1px 12px!important;
  color:var(--ink)!important;font:600 14px/1.45 var(--sans)!important;letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .hero-cta{display:none!important}
body:has(.hero + .stat-strip) .stat-strip{padding:0 0 34px!important;background:var(--paper)!important}
body:has(.hero + .stat-strip) .stat-grid{
  width:84vw!important;max-width:1120px!important;padding:0!important;margin:0 auto!important;
  min-height:166px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;
  border:0!important;border-bottom:1px solid var(--ink)!important;
}
body:has(.hero + .stat-strip) .stat{
  min-height:166px!important;padding:15px 18px 13px!important;display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;justify-content:flex-start!important;gap:0!important;
  border:0!important;border-right:1px solid var(--rule)!important;background:transparent!important;
}
body:has(.hero + .stat-strip) .stat:first-child{padding-left:0!important}
body:has(.hero + .stat-strip) .stat:last-child{padding-right:0!important;border-right:0!important}
body:has(.hero + .stat-strip) .stat .stat-num-row{
  display:block!important;margin:0 0 31px!important;color:var(--muted)!important;
  font:500 8px/1 var(--mono)!important;letter-spacing:.16em!important;text-transform:uppercase!important;
}
body:has(.hero + .stat-strip) .stat b{
  display:block!important;margin:0 0 auto!important;color:var(--ink)!important;
  font:300 clamp(48px,5.4vw,68px)/.9 var(--sans)!important;letter-spacing:-.06em!important;
}
body:has(.hero + .stat-strip) .stat:first-child b{color:var(--accent)!important}
body:has(.hero + .stat-strip) .stat .stat-label{
  display:block!important;margin:15px 0 0!important;color:var(--ink)!important;
  font:600 12px/1.3 var(--sans)!important;
}
body:has(.hero + .stat-strip) .stat .stat-extra{
  display:block!important;margin-top:3px!important;color:var(--muted)!important;font:400 10px/1.3 var(--sans)!important;
}
body:has(.hero + .stat-strip) .stack{padding-top:0!important}
@media(max-width:760px){
  body:has(.hero + .stat-strip) .hero{min-height:196px!important;padding-bottom:22px!important}
  body:has(.hero + .stat-strip) .hero-inner,body:has(.hero + .stat-strip) .stat-grid{width:calc(100vw - 36px)!important}
  body:has(.hero + .stat-strip) .hero-eyebrow{margin-bottom:30px!important;padding-top:13px!important}
  body:has(.hero + .stat-strip) .hero-eyebrow::after{display:none}
  body:has(.hero + .stat-strip) .hero-title{font-size:clamp(40px,12vw,58px)!important;white-space:normal!important}
  .appbar .nav>a{display:none!important}
  .appbar .theme-switch{margin-left:0!important}
  .appbar .theme-switch button{min-width:34px!important;padding:7px 6px!important}
  body:has(.hero + .stat-strip) .hero-tag{font-size:12px!important;width:auto!important;overflow-wrap:anywhere!important}
  body:has(.hero + .stat-strip) .stat-grid{min-height:138px!important;min-width:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body:has(.hero + .stat-strip) .stat{min-width:0!important;min-height:138px!important;padding:12px 9px 10px!important;overflow:hidden!important}
  body:has(.hero + .stat-strip) .stat .stat-num-row{margin-bottom:24px!important;font-size:7px!important;white-space:nowrap!important}
  body:has(.hero + .stat-strip) .stat b{font-size:clamp(34px,10vw,42px)!important;white-space:nowrap!important}
  body:has(.hero + .stat-strip) .stat:nth-child(3) b{font-size:clamp(28px,8.4vw,36px)!important}
  body:has(.hero + .stat-strip) .stat .stat-label{font-size:10px!important;margin-top:11px!important;white-space:nowrap!important}
  body:has(.hero + .stat-strip) .stat .stat-extra{display:none!important}
}

/* 单句主视觉：只有一句，但必须承担样本中的超大标题角色 */
body:has(.hero + .stat-strip) .hero{padding:0!important;min-height:0!important}
body:has(.hero + .stat-strip) .hero-inner{
  min-height:190px!important;display:flex!important;align-items:center!important;
}
body:has(.hero + .stat-strip) h1.hero-tag{
  display:block!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;
  border:0!important;color:var(--ink)!important;font:300 clamp(42px,4.45vw,58px)/1.08 var(--sans)!important;
  letter-spacing:-.05em!important;white-space:nowrap!important;
}
body:has(.hero + .stat-strip) h1.hero-tag .hero-key{color:var(--accent)!important}
@media(max-width:760px){
  body:has(.hero + .stat-strip) .hero-inner{min-height:164px!important}
  body:has(.hero + .stat-strip) h1.hero-tag{font-size:clamp(34px,10.2vw,44px)!important;line-height:1.12!important;white-space:normal!important}
}

/* ── 首页首屏 v2：清新、雅致、简洁的编辑式信息封面 ── */
body:has(.hero + .stat-strip) .hero{
  min-height:0!important;
  padding:0!important;
  background:var(--paper)!important;
  border:0!important;
}
body:has(.hero + .stat-strip) .hero-inner{
  width:calc(100% - 48px)!important;
  max-width:1120px!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  display:block!important;
}
body:has(.hero + .stat-strip) .hero-eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 34px!important;
  padding:20px 0 14px!important;
  border:0!important;
  border-bottom:1px solid var(--rule-strong)!important;
  color:var(--accent)!important;
  font:700 10px/1.2 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
body:has(.hero + .stat-strip) .hero-meta{
  color:var(--muted)!important;
  font:500 9px/1.2 var(--mono)!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
body:has(.hero + .stat-strip) .hero-eyebrow::after{
  content:none!important;
}
body:has(.hero + .stat-strip) .hero-title{
  display:block!important;
  max-width:1120px!important;
  margin:0 0 22px!important;
  color:var(--ink)!important;
  font:300 56px/1.12 var(--sans)!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
body:has(.hero + .stat-strip) .hero-title .hero-key{
  color:var(--accent)!important;
}
body:has(.hero + .stat-strip) .hero-prefix,
body:has(.hero + .stat-strip) .hero-bridge,
body:has(.hero + .stat-strip) .hero-key{
  display:inline!important;
}
body:has(.hero + .stat-strip) .hero-sub{
  display:block!important;
  max-width:820px!important;
  margin:0 0 38px!important;
  padding:2px 0 2px 14px!important;
  border:0!important;
  border-left:3px solid var(--accent)!important;
  color:var(--ink-soft)!important;
  font:500 15px/1.55 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .hero-tag,
body:has(.hero + .stat-strip) .hero-cta{
  display:none!important;
}
body:has(.hero + .stat-strip) .stat-strip{
  padding:0 0 52px!important;
  background:var(--paper)!important;
  border:0!important;
}
body:has(.hero + .stat-strip) .stat-grid{
  width:calc(100% - 48px)!important;
  max-width:1120px!important;
  min-height:168px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  border:0!important;
  border-top:1px solid var(--ink)!important;
  border-bottom:1px solid var(--ink)!important;
}
body:has(.hero + .stat-strip) .stat{
  min-width:0!important;
  min-height:168px!important;
  padding:17px 22px 15px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:0!important;
  overflow:hidden!important;
  border:0!important;
  border-right:1px solid var(--rule)!important;
  background:transparent!important;
}
body:has(.hero + .stat-strip) .stat:first-child{
  padding-left:0!important;
}
body:has(.hero + .stat-strip) .stat:last-child{
  padding-right:0!important;
  border-right:0!important;
}
body:has(.hero + .stat-strip) .stat:hover{
  transform:none!important;
}
body:has(.hero + .stat-strip) .stat::before{
  display:none!important;
}
body:has(.hero + .stat-strip) .stat .stat-num-row{
  display:block!important;
  margin:0 0 29px!important;
  color:var(--muted)!important;
  font:500 8px/1.2 var(--mono)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
body:has(.hero + .stat-strip) .stat b{
  display:block!important;
  margin:0 0 auto!important;
  color:var(--ink)!important;
  font:300 58px/.92 var(--sans)!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
body:has(.hero + .stat-strip) .stat:first-child b{
  color:var(--accent)!important;
}
body:has(.hero + .stat-strip) .stat .stat-label{
  display:block!important;
  margin:14px 0 0!important;
  color:var(--ink)!important;
  font:600 12px/1.3 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
body:has(.hero + .stat-strip) .stat .stat-extra{
  display:block!important;
  margin-top:3px!important;
  color:var(--muted)!important;
  font:400 10px/1.35 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body:has(.hero + .stat-strip) .stack{
  padding-top:0!important;
}

@media(max-width:1180px){
  body:has(.hero + .stat-strip) .hero-title{
    font-size:48px!important;
  }
}
@media(max-width:900px){
  body:has(.hero + .stat-strip) .hero-title{
    font-size:42px!important;
    white-space:normal!important;
  }
  body:has(.hero + .stat-strip) .hero-title .hero-key{
    display:block!important;
  }
  body:has(.hero + .stat-strip) .stat b{
    font-size:50px!important;
  }
}
@media(max-width:640px){
  body:has(.hero + .stat-strip) .hero-inner,
  body:has(.hero + .stat-strip) .stat-grid{
    width:calc(100% - 36px)!important;
  }
  body:has(.hero + .stat-strip) .hero-eyebrow{
    margin-bottom:25px!important;
    padding:16px 0 12px!important;
    font-size:9px!important;
  }
  body:has(.hero + .stat-strip) .hero-meta{
    display:none!important;
  }
  body:has(.hero + .stat-strip) .hero-title{
    margin-bottom:18px!important;
    font-size:32px!important;
    line-height:1.18!important;
  }
  body:has(.hero + .stat-strip) .hero-title .hero-prefix{
    display:block!important;
  }
  body:has(.hero + .stat-strip) .hero-title .hero-bridge,
  body:has(.hero + .stat-strip) .hero-title .hero-key{
    display:inline!important;
  }
  body:has(.hero + .stat-strip) .hero-sub{
    margin-bottom:30px!important;
    font-size:14px!important;
  }
  body:has(.hero + .stat-strip) .stat-strip{
    padding-bottom:38px!important;
  }
  body:has(.hero + .stat-strip) .stat-grid{
    min-height:132px!important;
  }
  body:has(.hero + .stat-strip) .stat{
    min-height:132px!important;
    padding:14px 9px 12px!important;
  }
  body:has(.hero + .stat-strip) .stat .stat-num-row{
    margin-bottom:22px!important;
    font-size:7px!important;
  }
  body:has(.hero + .stat-strip) .stat b{
    font-size:36px!important;
  }
  body:has(.hero + .stat-strip) .stat:nth-child(3) b{
    font-size:30px!important;
  }
  body:has(.hero + .stat-strip) .stat .stat-label{
    margin-top:10px!important;
    font-size:10px!important;
  }
  body:has(.hero + .stat-strip) .stat .stat-extra{
    display:none!important;
  }
}

/* ── 次级页面 v3：与首页共用瑞士网格、字体和三档阅读配色 ── */

/* 浅色沿用上一版：暖米白纸面与统一金棕信号，不切换为分层色。 */
html[data-reading-theme="light"]{
  --page-accent:var(--accent)!important;
}

/* 黑夜阅读保持同一颜色体系，只提高层色和品牌蓝在暗底上的可读性。 */
html[data-reading-theme="dark"]{
  color-scheme:dark;
  --paper:#101113!important;
  --paper-soft:#17191c!important;
  --paper-deep:#22252a!important;
  --paper-dark:#101113!important;
  --ink:#f2f1ed!important;
  --ink-soft:#d2d0ca!important;
  --muted:#a19f98!important;
  --muted-soft:#7f7d77!important;
  --rule:#34373c!important;
  --rule-strong:#555960!important;
  --accent:#78a9ff!important;
  --accent-hover:#a6c8ff!important;
  --accent-deep:#c6dcff!important;
  --accent-soft:#5f8fe8!important;
  --on-dark:#f2f1ed!important;
  --on-dark-muted:#aaa8a1!important;
  --on-dark-soft:#85837d!important;
  --l1:#f1c21b!important;
  --l2:#42be65!important;
  --l3:#78a9ff!important;
  --l4:#3ddbd9!important;
  --l5:#be95ff!important;
  --l6:#ff7eb6!important;
  --l7:#f1c21b!important;
  --l8:#fa4d56!important;
}
html[data-reading-theme="dark"],
html[data-reading-theme="dark"] body,
html[data-reading-theme="dark"] .layout,
html[data-reading-theme="dark"] .reader,
html[data-reading-theme="dark"] .essay-grid{
  background:var(--paper)!important;
  color:var(--ink)!important;
}
html[data-reading-theme="dark"] .topbar,
html[data-reading-theme="dark"] .appbar{
  background:rgba(16,17,19,.96)!important;
  border-bottom-color:var(--rule-strong)!important;
}
html[data-reading-theme="dark"] .toc-side{
  background:var(--paper)!important;
}
html[data-reading-theme="dark"] .reader :is(input,textarea,select),
html[data-reading-theme="dark"] .note-modal :is(input,textarea){
  background:var(--paper-soft)!important;
  color:var(--ink)!important;
  border-color:var(--rule-strong)!important;
}
html[data-reading-theme="dark"] .reader :is(pre,code){
  background:var(--paper-soft)!important;
  color:var(--ink-soft)!important;
  border-color:var(--rule)!important;
}
html[data-reading-theme="dark"] .reader :is(th,td),
html[data-reading-theme="dark"] .essay-block,
html[data-reading-theme="dark"] .flow-summary li{
  border-color:var(--rule)!important;
}

/* 主题开关本身保持中性，不跟随每本书的层色。 */
.theme-switch{
  height:30px!important;
  border:1px solid var(--rule-strong)!important;
  background:transparent!important;
}
.theme-switch button{
  height:28px!important;
  min-width:44px!important;
  padding:0 9px!important;
  border:0!important;
  border-right:1px solid var(--rule)!important;
  background:transparent!important;
  color:var(--muted)!important;
  font:500 10px/1 var(--sans)!important;
  letter-spacing:0!important;
}
.theme-switch button:last-child{
  border-right:0!important;
}
.theme-switch button:hover{
  background:var(--paper-deep)!important;
  color:var(--accent)!important;
}
.theme-switch button.active,
html[data-reading-theme="dark"] .theme-switch button.active{
  background:var(--ink)!important;
  color:var(--paper)!important;
}
.appbar .theme-switch{
  align-self:center!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* 书页顶栏：与首页同一品牌语法。 */
.topbar{
  z-index:40!important;
  height:48px!important;
  padding:0 16px!important;
  gap:12px!important;
  background:color-mix(in srgb,var(--paper) 95%,transparent)!important;
  border-bottom:1px solid var(--ink)!important;
  font-family:var(--sans)!important;
}
.topbar .home{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:var(--ink)!important;
  font:600 14px/1 var(--sans)!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.topbar .home::before{
  width:3px!important;
  height:18px!important;
  background:var(--page-accent,var(--accent))!important;
}
.topbar .home .brand-sub{
  color:var(--muted)!important;
  font-weight:400!important;
}
.topbar .home:hover{
  color:var(--page-accent,var(--accent))!important;
  text-decoration:none!important;
}
.topbar .label{
  margin-left:auto!important;
  color:var(--ink-soft)!important;
  font:500 11px/1 var(--sans)!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.topbar .toc-toggle{
  height:30px!important;
  padding:0 10px!important;
  border:1px solid var(--rule-strong)!important;
  background:transparent!important;
  color:var(--ink)!important;
  font:500 11px/1 var(--sans)!important;
  letter-spacing:0!important;
}
.topbar .toc-toggle:hover{
  background:var(--paper-deep)!important;
  border-color:var(--ink)!important;
  color:var(--page-accent,var(--accent))!important;
}

/* 书页主体：1120px 与首页对齐，左目录 248px，正文保留约 750px 行宽。 */
.layout{
  width:calc(100% - 48px)!important;
  max-width:1120px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:248px minmax(0,1fr)!important;
  background:var(--paper)!important;
}
.toc-side{
  top:48px!important;
  max-height:calc(100vh - 48px)!important;
  padding:32px 18px 88px 0!important;
  background:var(--paper)!important;
  border-right:1px solid var(--rule)!important;
  scrollbar-color:var(--rule-strong) transparent!important;
}
.toc-side h4{
  margin:0 0 24px!important;
  padding:10px 12px 0!important;
  border-top:1px solid var(--ink)!important;
  color:var(--page-accent,var(--accent))!important;
  font:700 10px/1.3 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
.toc-side :is(.toc-section,.toc-part,.toc-chap){
  border-left:2px solid transparent!important;
  color:var(--ink-soft)!important;
  font-family:var(--sans)!important;
  letter-spacing:0!important;
}
.toc-side .toc-section{
  margin-top:10px!important;
  padding:9px 12px!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.toc-side .toc-part{
  margin:19px 0 2px!important;
  padding:10px 12px 8px!important;
  color:var(--ink)!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1.45!important;
}
.toc-side .toc-chap{
  padding:7px 12px 7px 22px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.55!important;
}
.toc-side :is(.toc-section,.toc-part,.toc-chap):hover{
  background:var(--paper-deep)!important;
  color:var(--page-accent,var(--accent))!important;
  border-left-color:var(--page-accent,var(--accent))!important;
}
.toc-side a.active{
  background:transparent!important;
  color:var(--page-accent,var(--accent))!important;
  border-left-color:var(--page-accent,var(--accent))!important;
  font-weight:600!important;
}

.reader{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:54px 56px 120px 64px!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  line-height:1.88!important;
  letter-spacing:0!important;
}
.book-head{
  margin:0 0 84px!important;
  padding:8px 0 42px!important;
  border-bottom:1px solid var(--ink)!important;
  text-align:left!important;
}
.book-head .layer-badge{
  margin:0 0 26px!important;
  padding-left:9px!important;
  border-left:3px solid var(--page-accent,var(--accent))!important;
  color:var(--page-accent,var(--accent))!important;
  font:700 10px/1.3 var(--sans)!important;
  letter-spacing:0!important;
}
.book-head h1{
  margin:0 0 18px!important;
  color:var(--ink)!important;
  font:300 64px/1.06 var(--sans)!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
}
.book-head .subtitle{
  max-width:680px!important;
  margin:0 0 24px!important;
  padding-left:14px!important;
  border-left:3px solid var(--page-accent,var(--accent))!important;
  color:var(--ink)!important;
  font:400 21px/1.5 var(--sans)!important;
  letter-spacing:0!important;
  font-style:normal!important;
}
.book-head .role{
  max-width:680px!important;
  color:var(--muted)!important;
  font:400 13px/1.65 var(--sans)!important;
  letter-spacing:0!important;
}
.reader h2{
  margin:86px 0 30px!important;
  padding:22px 0 0!important;
  border-top:1px solid var(--ink)!important;
  color:var(--ink)!important;
  font:300 42px/1.2 var(--sans)!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
}
.reader h2::before{
  width:42px!important;
  height:3px!important;
  margin:-24px 0 22px!important;
  background:var(--page-accent,var(--accent))!important;
  color:transparent!important;
  content:""!important;
}
.reader h3{
  margin:54px 0 18px!important;
  color:var(--ink)!important;
  font:500 26px/1.35 var(--sans)!important;
  letter-spacing:0!important;
}
.reader h4,
.reader h4.combo-h{
  margin:40px 0 14px!important;
  color:var(--ink)!important;
  font:600 19px/1.45 var(--sans)!important;
  letter-spacing:0!important;
}
.reader h5,
.reader h6,
.reader h6.sub-h{
  color:var(--page-accent,var(--accent))!important;
  font-family:var(--sans)!important;
  letter-spacing:0!important;
}
.reader p,
.reader li{
  color:var(--ink-soft)!important;
  font-family:var(--sans)!important;
  font-size:18px!important;
  line-height:1.88!important;
  letter-spacing:0!important;
}
.reader p.chap-open{
  margin:0 0 1.8em!important;
  color:var(--muted)!important;
  font:400 19px/1.65 var(--sans)!important;
  letter-spacing:0!important;
  font-style:normal!important;
}
.reader :is(ul:not(.implicit),ol){
  background:color-mix(in srgb,var(--paper-soft) 72%,transparent)!important;
  border-left:2px solid var(--page-accent,var(--accent))!important;
}
.reader p.core,
.reader p.callout,
.reader blockquote{
  border-left-color:var(--page-accent,var(--accent))!important;
}
.reader p.core{
  font-size:24px!important;
  line-height:1.58!important;
  letter-spacing:0!important;
}
.reader :is(a,strong,.enum-mark,.key-marker){
  text-decoration-color:var(--page-accent,var(--accent))!important;
}
.scroll-progress{
  background:var(--page-accent,var(--accent))!important;
}
.book-foot{
  border-top:1px solid var(--ink)!important;
}

@media(max-width:980px){
  .layout{
    width:100%!important;
    max-width:840px!important;
    grid-template-columns:1fr!important;
  }
  .reader{
    padding:48px 42px 104px!important;
  }
  .toc-side.open{
    display:block!important;
    position:fixed!important;
    top:48px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    z-index:35!important;
    max-height:none!important;
    padding:24px 18px 80px!important;
    overflow:auto!important;
    background:var(--paper)!important;
    border:0!important;
  }
}

@media(max-width:760px){
  .topbar{
    gap:7px!important;
    padding:0 12px!important;
  }
  .topbar .label{
    display:none!important;
  }
  .topbar .theme-switch{
    margin-left:auto!important;
  }
  .theme-switch button{
    min-width:34px!important;
    padding:0 6px!important;
  }
  .reader{
    padding:40px 24px 88px!important;
  }
  .book-head{
    margin-bottom:68px!important;
    padding-bottom:34px!important;
  }
  .book-head h1{
    font-size:48px!important;
  }
  .book-head .subtitle{
    font-size:19px!important;
  }
  .reader h2{
    margin-top:70px!important;
    font-size:34px!important;
  }
  .reader h3{
    font-size:24px!important;
  }
  .reader p,
  .reader li{
    font-size:17px!important;
    line-height:1.85!important;
  }
  .reader p.core{
    font-size:21px!important;
  }
}

@media(max-width:480px){
  .topbar .home .brand-sub{
    display:none!important;
  }
  .reader{
    padding:36px 18px 80px!important;
  }
  .book-head h1{
    font-size:42px!important;
  }
  .reader h2{
    font-size:31px!important;
  }
}
@media(max-width:380px){
  body:has(.hero + .stat-strip) .hero-title{
    font-size:31px!important;
  }
  body:has(.hero + .stat-strip) .hero-title .hero-bridge,
  body:has(.hero + .stat-strip) .hero-title .hero-key{
    display:block!important;
  }
}

/* ── 首页下半部 v2：统一瑞士网格，颜色只承担层级信号 ── */
body:has(.hero + .stat-strip) .stack{
  padding:0 0 72px!important;
  background:var(--paper)!important;
}
body:has(.hero + .stat-strip) .stack-inner{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0 24px!important;
}
body:has(.hero + .stat-strip) .stack-head{
  display:none!important;
}
body:has(.hero + .stat-strip) .layer,
body:has(.hero + .stat-strip) .layer.layer-dark{
  position:relative!important;
  margin:0!important;
  padding:62px 0 68px!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:56px!important;
  background:transparent!important;
  color:var(--ink)!important;
  border:0!important;
  border-top:1px solid var(--ink)!important;
}
body:has(.hero + .stat-strip) .layer::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-2px!important;
  left:0!important;
  right:auto!important;
  width:42px!important;
  height:3px!important;
  background:var(--layer-c)!important;
}
body:has(.hero + .stat-strip) .layer-head{
  grid-column:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
  min-width:0!important;
}
body:has(.hero + .stat-strip) .layer-num{
  display:inline-block!important;
  margin:0 0 26px!important;
  padding:1px 0 1px 9px!important;
  color:var(--layer-c)!important;
  background:transparent!important;
  border-left:3px solid var(--layer-c)!important;
  font:700 10px/1.25 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
body:has(.hero + .stat-strip) .layer-name,
body:has(.hero + .stat-strip) .layer.layer-dark .layer-name{
  margin:0 0 8px!important;
  color:var(--ink)!important;
  font:400 34px/1.12 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .layer-en,
body:has(.hero + .stat-strip) .layer.layer-dark .layer-en{
  margin:0 0 25px!important;
  color:var(--muted)!important;
  font:500 10px/1.35 var(--mono)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
body:has(.hero + .stat-strip) .layer-role,
body:has(.hero + .stat-strip) .layer.layer-dark .layer-role{
  max-width:220px!important;
  margin:0!important;
  color:var(--ink-soft)!important;
  font:400 14px/1.65 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .layer-books,
body:has(.hero + .stat-strip) .layer-books.single,
body:has(.hero + .stat-strip) .layer.layer-dark .layer-books{
  grid-column:2!important;
  align-self:start!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--rule-strong)!important;
  border-bottom:1px solid var(--rule-strong)!important;
}
body:has(.hero + .stat-strip) .book,
body:has(.hero + .stat-strip) .layer.layer-dark .book{
  min-width:0!important;
  min-height:218px!important;
  margin:0!important;
  padding:19px 20px 17px!important;
  display:flex!important;
  flex-direction:column!important;
  background:transparent!important;
  color:var(--ink)!important;
  border:0!important;
  border-top:1px solid var(--rule)!important;
  border-left:1px solid var(--rule)!important;
  transform:none!important;
}
body:has(.hero + .stat-strip) .book:nth-child(-n+3){
  border-top:0!important;
}
body:has(.hero + .stat-strip) .book:nth-child(3n+1){
  border-left:0!important;
}
body:has(.hero + .stat-strip) .book::after{
  display:none!important;
}
body:has(.hero + .stat-strip) .book:hover,
body:has(.hero + .stat-strip) .layer.layer-dark .book:hover{
  background:var(--paper-deep)!important;
  color:var(--ink)!important;
  border-color:var(--rule)!important;
  transform:none!important;
  text-decoration:none!important;
}
body:has(.hero + .stat-strip) .book .seq,
body:has(.hero + .stat-strip) .layer.layer-dark .book .seq{
  margin:0 0 21px!important;
  color:var(--muted)!important;
  font:500 10px/1.2 var(--mono)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .book .seq .layer-tag,
body:has(.hero + .stat-strip) .layer.layer-dark .book .seq .layer-tag{
  padding:3px 7px!important;
  color:#fff!important;
  background:var(--layer-c)!important;
  font:600 9px/1 var(--mono)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .book h3,
body:has(.hero + .stat-strip) .layer.layer-dark .book h3{
  margin:0 0 8px!important;
  color:var(--ink)!important;
  font:500 19px/1.28 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .book .subtitle,
body:has(.hero + .stat-strip) .layer.layer-dark .book .subtitle{
  margin:0 0 14px!important;
  color:var(--ink-soft)!important;
  font:400 13px/1.5 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .book .role,
body:has(.hero + .stat-strip) .layer.layer-dark .book .role{
  flex:1!important;
  margin:0!important;
  padding-top:12px!important;
  color:var(--muted)!important;
  border-top:1px solid var(--rule)!important;
  font:400 12px/1.55 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .book .footer{
  margin-top:18px!important;
  font:400 11px/1.3 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .book .footer span:first-child,
body:has(.hero + .stat-strip) .layer.layer-dark .book .footer span:first-child{
  color:var(--accent)!important;
}
body:has(.hero + .stat-strip) .book .pages,
body:has(.hero + .stat-strip) .layer.layer-dark .book .pages{
  color:var(--muted-soft)!important;
  font:400 9px/1.3 var(--mono)!important;
  letter-spacing:0!important;
}

body:has(.hero + .stat-strip) .flow-section{
  padding:78px 0 76px!important;
  background:var(--paper)!important;
  border-top:1px solid var(--ink)!important;
}
body:has(.hero + .stat-strip) .flow-inner{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0 24px!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:56px!important;
}
body:has(.hero + .stat-strip) .flow-head{
  grid-column:1!important;
  align-self:start!important;
  margin:0!important;
  padding:16px 0 0!important;
  border:0!important;
  border-top:1px solid var(--ink)!important;
}
body:has(.hero + .stat-strip) .flow-head .label{
  margin:0 0 26px!important;
  padding:0!important;
  color:var(--accent)!important;
  border:0!important;
  font:700 10px/1.25 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
body:has(.hero + .stat-strip) .flow-head h3{
  margin:0!important;
  color:var(--ink)!important;
  font:400 34px/1.12 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .flow-summary{
  grid-column:2!important;
  min-width:0!important;
}
body:has(.hero + .stat-strip) .flow-summary ol{
  margin:0!important;
  padding:0!important;
  border-top:1px solid var(--ink)!important;
}
body:has(.hero + .stat-strip) .flow-summary li{
  min-width:0!important;
  padding:19px 0!important;
  display:grid!important;
  grid-template-columns:62px 150px minmax(0,1fr)!important;
  align-items:start!important;
  gap:18px!important;
  border:0!important;
  border-bottom:1px solid var(--rule)!important;
}
body:has(.hero + .stat-strip) .flow-summary li:first-child{
  border-top:0!important;
}
body:has(.hero + .stat-strip) .flow-summary li .n{
  width:auto!important;
  padding:1px 0 1px 8px!important;
  color:var(--row-c)!important;
  border-left:3px solid var(--row-c)!important;
  font:700 10px/1.35 var(--mono)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .flow-summary li .t{
  min-width:0!important;
  color:var(--ink)!important;
  font:500 15px/1.45 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.hero + .stat-strip) .flow-summary li .d{
  min-width:0!important;
  color:var(--muted)!important;
  font:400 13px/1.65 var(--sans)!important;
  letter-spacing:0!important;
}

body:has(.hero + .stat-strip) > footer{
  padding:30px 0 42px!important;
  background:var(--paper)!important;
  color:var(--muted)!important;
  border-top:1px solid var(--ink)!important;
}
body:has(.hero + .stat-strip) > footer .footer-inner{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0 24px!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:56px!important;
}
body:has(.hero + .stat-strip) > footer .stamp,
body:has(.hero + .stat-strip) > footer .foot-meta{
  margin:0!important;
  padding-top:10px!important;
  color:var(--muted)!important;
  border-top:1px solid var(--rule-strong)!important;
  font:500 10px/1.4 var(--mono)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body:has(.hero + .stat-strip) > footer .stamp{
  grid-column:1!important;
  color:var(--accent)!important;
  border-top:2px solid var(--accent)!important;
}
body:has(.hero + .stat-strip) > footer .foot-meta{
  grid-column:2!important;
}

@media(max-width:900px){
  body:has(.hero + .stat-strip) .layer{
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:52px 0 58px!important;
  }
  body:has(.hero + .stat-strip) .layer-head,
  body:has(.hero + .stat-strip) .layer-books{
    grid-column:1!important;
  }
  body:has(.hero + .stat-strip) .layer-role{
    max-width:520px!important;
  }
  body:has(.hero + .stat-strip) .layer-books,
  body:has(.hero + .stat-strip) .layer-books.single{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body:has(.hero + .stat-strip) .book,
  body:has(.hero + .stat-strip) .book:nth-child(-n+3),
  body:has(.hero + .stat-strip) .book:nth-child(3n+1){
    border-top:1px solid var(--rule)!important;
    border-left:1px solid var(--rule)!important;
  }
  body:has(.hero + .stat-strip) .book:nth-child(-n+2){
    border-top:0!important;
  }
  body:has(.hero + .stat-strip) .book:nth-child(2n+1){
    border-left:0!important;
  }
  body:has(.hero + .stat-strip) .flow-inner{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  body:has(.hero + .stat-strip) .flow-head,
  body:has(.hero + .stat-strip) .flow-summary{
    grid-column:1!important;
  }
  body:has(.hero + .stat-strip) > footer .footer-inner{
    grid-template-columns:1fr 2fr!important;
    gap:30px!important;
  }
}
@media(max-width:640px){
  body:has(.hero + .stat-strip) .stack-inner,
  body:has(.hero + .stat-strip) .flow-inner,
  body:has(.hero + .stat-strip) > footer .footer-inner{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body:has(.hero + .stat-strip) .layer{
    padding:44px 0 50px!important;
  }
  body:has(.hero + .stat-strip) .layer-name,
  body:has(.hero + .stat-strip) .flow-head h3{
    font-size:30px!important;
  }
  body:has(.hero + .stat-strip) .layer-books,
  body:has(.hero + .stat-strip) .layer-books.single{
    grid-template-columns:1fr!important;
  }
  body:has(.hero + .stat-strip) .book,
  body:has(.hero + .stat-strip) .book:nth-child(-n+3),
  body:has(.hero + .stat-strip) .book:nth-child(3n+1),
  body:has(.hero + .stat-strip) .book:nth-child(-n+2),
  body:has(.hero + .stat-strip) .book:nth-child(2n+1){
    min-height:0!important;
    border-left:0!important;
    border-top:1px solid var(--rule)!important;
  }
  body:has(.hero + .stat-strip) .book:first-child{
    border-top:0!important;
  }
  body:has(.hero + .stat-strip) .flow-section{
    padding:58px 0 60px!important;
  }
  body:has(.hero + .stat-strip) .flow-summary li{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:14px!important;
    padding:17px 0!important;
  }
  body:has(.hero + .stat-strip) .flow-summary li .t{
    grid-column:2!important;
  }
  body:has(.hero + .stat-strip) .flow-summary li .d{
    grid-column:2!important;
  }
  body:has(.hero + .stat-strip) > footer .footer-inner{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  body:has(.hero + .stat-strip) > footer .stamp,
  body:has(.hero + .stat-strip) > footer .foot-meta{
    grid-column:1!important;
  }
}

/* ── About v4：安静的瑞士长文网格 ── */
body:has(.about-hero){
  background:var(--paper)!important;
  color:var(--ink)!important;
}
body:has(.about-hero) .about-hero{
  padding:54px 0 66px!important;
  background:var(--paper)!important;
  border:0!important;
}
body:has(.about-hero) .about-hero-inner{
  position:relative!important;
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:50px 24px 0!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:56px!important;
  border-top:1px solid var(--ink)!important;
}
body:has(.about-hero) .about-hero-inner::before{
  content:""!important;
  position:absolute!important;
  top:-2px!important;
  left:24px!important;
  width:42px!important;
  height:3px!important;
  background:var(--accent)!important;
}
body:has(.about-hero) .about-hero .eyebrow{
  grid-column:1!important;
  align-self:start!important;
  margin:2px 0 0!important;
  padding:1px 0 1px 9px!important;
  border:0!important;
  border-left:3px solid var(--accent)!important;
  color:var(--accent)!important;
  font:700 10px/1.3 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
body:has(.about-hero) .about-hero .hero-text{
  grid-column:2!important;
  min-width:0!important;
}
body:has(.about-hero) .about-hero h1{
  max-width:760px!important;
  margin:0 0 30px!important;
  color:var(--ink)!important;
  font:300 58px/1.08 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.about-hero) .about-hero h1 .period{
  color:var(--accent)!important;
}
body:has(.about-hero) .about-hero .sub{
  max-width:720px!important;
  margin:0 0 16px!important;
  padding:2px 0 2px 14px!important;
  border:0!important;
  border-left:3px solid var(--accent)!important;
  color:var(--ink)!important;
  font:500 16px/1.65 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.about-hero) .about-hero .sub-en{
  margin:0!important;
  color:var(--muted)!important;
  font:500 10px/1.5 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}

body:has(.about-hero) .essay-grid{
  padding:0 0 88px!important;
  background:var(--paper)!important;
}
body:has(.about-hero) .essay-inner{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0 24px!important;
}
body:has(.about-hero) .essay-block{
  --c:var(--accent)!important;
  position:relative!important;
  margin:0!important;
  padding:64px 0 68px!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:56px!important;
  border:0!important;
  border-top:1px solid var(--rule-strong)!important;
}
body:has(.about-hero) .essay-block.l1{--c:var(--l1)!important}
body:has(.about-hero) .essay-block.l2{--c:var(--l2)!important}
body:has(.about-hero) .essay-block.l3{--c:var(--l3)!important}
body:has(.about-hero) .essay-block.l4{--c:var(--l4)!important}
body:has(.about-hero) .essay-block.l5{--c:var(--l5)!important}
body:has(.about-hero) .essay-block.l6{--c:var(--l6)!important}
body:has(.about-hero) .essay-block.l7{--c:var(--l7)!important}
body:has(.about-hero) .essay-block.l8{--c:var(--l8)!important}
body:has(.about-hero) .essay-block::before{
  content:""!important;
  position:absolute!important;
  top:-2px!important;
  left:0!important;
  width:42px!important;
  height:3px!important;
  background:var(--c)!important;
}
body:has(.about-hero) .essay-block:last-child{
  border-bottom:1px solid var(--ink)!important;
}
body:has(.about-hero) .essay-block .meta{
  grid-column:1!important;
  position:sticky!important;
  top:78px!important;
  align-self:start!important;
  min-width:0!important;
}
body:has(.about-hero) .essay-block .num{
  display:block!important;
  margin:0 0 11px!important;
  padding:0!important;
  border:0!important;
  color:var(--c)!important;
  font:700 10px/1.3 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
body:has(.about-hero) .essay-block .eyebrow{
  display:block!important;
  margin:0!important;
  color:var(--muted)!important;
  font:500 10px/1.45 var(--sans)!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
}
body:has(.about-hero) .essay-block .content{
  grid-column:2!important;
  width:100%!important;
  max-width:760px!important;
  min-width:0!important;
}
body:has(.about-hero) .essay-block .block-title{
  margin:0 0 28px!important;
  color:var(--ink)!important;
  font:400 34px/1.25 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.about-hero) .essay-block p{
  margin:0 0 1.15em!important;
  color:var(--ink-soft)!important;
  font:400 17px/1.88 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.about-hero) .essay-block p:last-child{
  margin-bottom:0!important;
}
body:has(.about-hero) .essay-block p.lead{
  color:var(--ink)!important;
  font-size:18px!important;
  line-height:1.8!important;
}
body:has(.about-hero) .essay-block strong{
  color:var(--ink)!important;
  font-weight:600!important;
}
body:has(.about-hero) .essay-block .book-link{
  margin-right:.35em!important;
  color:var(--ink)!important;
  border-bottom:1px solid var(--rule-strong)!important;
  text-decoration:none!important;
}
body:has(.about-hero) .essay-block .book-link:hover{
  color:var(--c)!important;
  border-bottom-color:var(--c)!important;
}
body:has(.about-hero) .essay-block :is(.big-quote,.callout){
  margin:28px 0!important;
  padding:3px 0 3px 18px!important;
  background:transparent!important;
  border:0!important;
  border-left:3px solid var(--c)!important;
  color:var(--ink)!important;
  font:400 19px/1.65 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.about-hero) .essay-block .chain{
  color:var(--ink)!important;
  font-size:20px!important;
  line-height:1.75!important;
}
body:has(.about-hero) .essay-block .final-quote{
  font-size:21px!important;
}
body:has(.about-hero) > footer{
  padding:44px 0 54px!important;
  background:var(--paper)!important;
  border-top:0!important;
}
body:has(.about-hero) > footer .footer-inner{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0 24px!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:56px!important;
}
body:has(.about-hero) > footer .stamp{
  grid-column:1!important;
  padding-top:12px!important;
  border-top:2px solid var(--accent)!important;
  color:var(--accent)!important;
  font:700 10px/1.4 var(--sans)!important;
  letter-spacing:0!important;
}
body:has(.about-hero) > footer .foot-meta{
  grid-column:2!important;
  padding-top:12px!important;
  border-top:1px solid var(--ink)!important;
  color:var(--muted)!important;
  font:400 11px/1.4 var(--sans)!important;
  letter-spacing:0!important;
}

html[data-reading-theme="light"] body:has(.about-hero) .essay-block{
  --c:var(--accent)!important;
}
html[data-reading-theme="dark"] body:has(.about-hero) :is(.about-hero,.essay-grid,footer){
  background:var(--paper)!important;
}

@media(max-width:760px){
  body:has(.about-hero) .about-hero{
    padding:34px 0 48px!important;
  }
  body:has(.about-hero) .about-hero-inner{
    padding:36px 18px 0!important;
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  body:has(.about-hero) .about-hero-inner::before{
    left:18px!important;
  }
  body:has(.about-hero) .about-hero .eyebrow,
  body:has(.about-hero) .about-hero .hero-text{
    grid-column:1!important;
  }
  body:has(.about-hero) .about-hero h1{
    margin-bottom:24px!important;
    font-size:42px!important;
    line-height:1.12!important;
  }
  body:has(.about-hero) .about-hero .sub{
    font-size:15px!important;
  }
  body:has(.about-hero) .essay-inner{
    padding:0 18px!important;
  }
  body:has(.about-hero) .essay-block{
    padding:44px 0 48px!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  body:has(.about-hero) .essay-block .meta,
  body:has(.about-hero) .essay-block .content{
    grid-column:1!important;
  }
  body:has(.about-hero) .essay-block .meta{
    position:static!important;
    display:flex!important;
    align-items:baseline!important;
    gap:14px!important;
  }
  body:has(.about-hero) .essay-block .num{
    margin:0!important;
  }
  body:has(.about-hero) .essay-block .block-title{
    margin-bottom:22px!important;
    font-size:28px!important;
  }
  body:has(.about-hero) .essay-block p{
    font-size:16px!important;
    line-height:1.85!important;
  }
  body:has(.about-hero) .essay-block p.lead{
    font-size:17px!important;
  }
  body:has(.about-hero) .essay-block :is(.big-quote,.callout){
    margin:24px 0!important;
    font-size:18px!important;
  }
  body:has(.about-hero) > footer .footer-inner{
    padding:0 18px!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  body:has(.about-hero) > footer :is(.stamp,.foot-meta){
    grid-column:1!important;
  }
}

@media(max-width:420px){
  body:has(.about-hero) .about-hero h1{
    font-size:38px!important;
  }
}

/* 移动端书页目录：目录抽屉必须拥有独立、可触摸滚动的视口。 */
@media(max-width:980px){
  body:has(.reader) .topbar{
    z-index:40!important;
  }
  body:has(.reader) .toc-side.open{
    display:block!important;
    position:fixed!important;
    top:48px!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    height:calc(100vh - 48px)!important;
    height:calc(100dvh - 48px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 48px)!important;
    align-self:stretch!important;
    padding:24px 18px max(80px, env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y!important;
    z-index:35!important;
  }
}
