/* Companion reading system: aligned with《中国大学生 AI 指南》. */
:root{
  color-scheme:light dark;
  --paper:#f7f5ef;
  --surface:#fffdf8;
  --surface-soft:#f0ede5;
  --ink:#182033;
  --ink-2:#424b5d;
  --mute:#626b7b;
  --line:#d9d5ca;
  --line-strong:#b8b2a5;
  --link:#235da8;
  --link-soft:#eaf2ff;
  --accent:#ad4c25;
  --accent-soft:#fff1e8;
  --green:#2f6b51;
  --green-soft:#e9f4ee;
  --violet:#6a4b82;
  --violet-soft:#f1eafa;
  --warn:#87601d;
  --warn-soft:#f8efd9;
  --danger:#9d3434;
  --danger-soft:#fff0f0;
  --info:#376c78;
  --info-soft:#e8f2f3;
  --shadow:0 18px 50px rgba(24,32,51,.08);
  --shadow-soft:0 8px 24px rgba(24,32,51,.06);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --serif:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --rail:300px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#171815;--surface:#1f211d;--surface-soft:#282a25;
    --ink:#f2f0e8;--ink-2:#d1cec4;--mute:#a7a59d;
    --line:#393a35;--line-strong:#55564f;
    --link:#93b7e7;--link-soft:#202d3d;
    --accent:#e18a62;--accent-soft:#3a2921;
    --green:#8bc5a3;--green-soft:#20332a;
    --violet:#bea0d3;--violet-soft:#30263a;
    --warn:#e0bd76;--warn-soft:#382f1e;
    --danger:#ef9999;--danger-soft:#3b2424;
    --info:#8fc6ce;--info-soft:#203438;
    --shadow:0 18px 50px rgba(0,0,0,.22);--shadow-soft:0 8px 24px rgba(0,0,0,.18);
  }
}
:root[data-theme="dark"]{
  --paper:#171815;--surface:#1f211d;--surface-soft:#282a25;
  --ink:#f2f0e8;--ink-2:#d1cec4;--mute:#a7a59d;
  --line:#393a35;--line-strong:#55564f;
  --link:#93b7e7;--link-soft:#202d3d;
  --accent:#e18a62;--accent-soft:#3a2921;
  --green:#8bc5a3;--green-soft:#20332a;
  --violet:#bea0d3;--violet-soft:#30263a;
  --warn:#e0bd76;--warn-soft:#382f1e;
  --danger:#ef9999;--danger-soft:#3b2424;
  --info:#8fc6ce;--info-soft:#203438;
  --shadow:0 18px 50px rgba(0,0,0,.22);--shadow-soft:0 8px 24px rgba(0,0,0,.18);
}
:root[data-theme="light"]{
  --paper:#f7f5ef;--surface:#fffdf8;--surface-soft:#f0ede5;
  --ink:#182033;--ink-2:#424b5d;--mute:#626b7b;
  --line:#d9d5ca;--line-strong:#b8b2a5;
  --link:#235da8;--link-soft:#eaf2ff;
  --accent:#ad4c25;--accent-soft:#fff1e8;
  --green:#2f6b51;--green-soft:#e9f4ee;
  --violet:#6a4b82;--violet-soft:#f1eafa;
  --warn:#87601d;--warn-soft:#f8efd9;
  --danger:#9d3434;--danger-soft:#fff0f0;
  --info:#376c78;--info-soft:#e8f2f3;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.86;-webkit-font-smoothing:antialiased}
::selection{background:var(--link-soft);color:var(--ink)}
a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--link);outline-offset:3px}

#prog{position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:90}
@supports (animation-timeline:scroll()){
  #prog{animation:reading-progress linear both;animation-timeline:scroll(root)}
  @keyframes reading-progress{to{transform:scaleX(1)}}
}

.wrap{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100dvh}
.side{position:sticky;top:0;height:100dvh;overflow-y:auto;padding:0 0 48px;background:var(--paper);color:var(--ink);border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.main{min-width:0;padding:0 0 104px}
.brand{height:72px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:1fr 1fr;column-gap:12px;align-items:center;margin:0;padding:9px 27px;border-bottom:1px solid var(--line)}
.brand::before{content:"生";grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ink);border-radius:50%;color:var(--ink);font:500 21px/1 var(--serif)}
.brand h2{align-self:end;margin:0;color:var(--ink);font:650 15px/1.35 var(--sans);letter-spacing:.01em}
.brand p{align-self:start;margin:2px 0 0;color:var(--mute);font:11px/1.35 var(--sans)}
.tools{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;padding:18px 27px 15px}
#q{width:100%;min-width:0;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:13px var(--sans)}
#q::placeholder{color:var(--mute)}
#q:focus{border-color:var(--link);outline:2px solid color-mix(in srgb,var(--link) 28%,transparent);outline-offset:1px}
.ib{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2);font:600 15px/1 var(--sans);cursor:pointer}
.ib:hover{border-color:var(--line-strong);background:var(--surface-soft)}
.ib:active,.cover-actions a:active,.top-urgent:active{transform:translateY(1px)}
.vol{margin:0 18px;border-top:1px solid var(--line)}
.vol-h{width:100%;display:grid;grid-template-columns:1fr 16px;gap:3px 8px;align-items:start;padding:16px 9px 11px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.vol-h:hover .vn{color:var(--accent)}
.vn{grid-column:1;color:var(--accent);font:700 12px/1.35 var(--sans);letter-spacing:.06em}
.vs{grid-column:1;color:var(--mute);font:12px/1.5 var(--sans)}
.cv{grid-column:2;grid-row:1/3;width:10px;margin:5px 0 0 4px;color:var(--mute);transition:transform .18s}
.vol.closed .cv{transform:rotate(-90deg)}
.vol ul{list-style:none;display:flex;flex-direction:column;gap:3px;margin:0;padding:0 0 13px}
.vol.closed ul{display:none}
.vol a{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:0;border-radius:8px;color:var(--ink-2);font-size:13px;line-height:1.48;text-decoration:none}
.vol a:hover{background:var(--surface-soft);color:var(--ink)}
.vol a.on{background:var(--surface);color:var(--ink);font-weight:650;box-shadow:var(--shadow-soft)}
.vol a .t{flex:1}
.dot,.bdg{display:none!important}
.side.filtered .vol.hide,.side.filtered li.hide{display:none}
.side.filtered .vol ul{display:flex}

.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;height:72px;padding:0 clamp(22px,4vw,56px);gap:12px;background:color-mix(in srgb,var(--paper) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.top #menu{display:none}
.top b{color:var(--ink);font:650 14px/1.3 var(--sans)}
.top-urgent{display:inline-flex;align-items:center;min-height:36px;margin-left:auto;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--link);font-size:12.5px;font-weight:650;text-decoration:none}
.top-urgent:hover{border-color:var(--link);background:var(--link-soft)}
.top #theme2{width:36px;height:36px}
#mask{display:none}

.cover-page{min-height:calc(100dvh - 72px);display:grid;grid-template-columns:minmax(330px,.82fr) minmax(480px,1.18fr);grid-template-rows:auto auto;gap:22px clamp(42px,6vw,76px);align-content:center;padding:clamp(48px,6vw,82px) clamp(28px,6vw,88px);border-bottom:1px solid var(--line);background:var(--paper)}
.cover-copy{grid-column:1;grid-row:1/3;align-self:center;padding:0;background:none}
.cover-copy::before{display:none}
.cover-copy h1{max-width:7em;margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(52px,5vw,74px);font-weight:500;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.cover-subtitle{max-width:25em;margin:26px 0 0;color:var(--mute);font:16.5px/1.78 var(--sans)}
.cover-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:36px}
.cover-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:9px;font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .16s,border-color .16s,color .16s,transform .12s}
.cover-actions .cover-primary{border:1px solid var(--ink);background:var(--ink);color:var(--surface)}
.cover-actions .cover-primary:hover{background:var(--accent);border-color:var(--accent)}
.cover-actions .cover-secondary{border:1px solid transparent;background:transparent;color:var(--link)}
.cover-actions .cover-secondary:hover{background:var(--link-soft)}
.cover-visual{grid-column:2;grid-row:1;align-self:center;margin:0;overflow:hidden;background:var(--surface-soft);box-shadow:var(--shadow)}
.cover-visual img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;object-position:center}
.cover-visual::after{display:none}
.cover-honor{grid-column:2;grid-row:2;align-self:start;max-width:52em;margin:0;color:var(--mute);font-size:12px;line-height:1.65}
.cover-honor a{font-weight:650}

.ch{max-width:55rem;margin:0 auto;padding:76px 42px 74px;content-visibility:auto;contain-intrinsic-size:auto 8000px;border-bottom:1px solid var(--line)}
.ch:last-of-type{border-bottom:0}
#c00{max-width:64rem}
.ch-h{margin:0 0 44px;padding:0 0 27px;border-bottom:1px solid var(--line)}
.ch-h+hr{display:none}
.ch-vol{margin:0 0 12px;color:var(--accent);font-size:12.5px;font-weight:700;line-height:1.5;letter-spacing:.04em}
.ch-h h1{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(36px,4vw,50px);font-weight:500;line-height:1.25;letter-spacing:-.035em;text-wrap:balance}
.lead-deck{margin:0 0 38px;color:var(--ink-2);font-family:var(--serif);font-size:20px;line-height:1.82}
.chapter-note{margin-top:22px;color:var(--mute);font-size:13.5px}
h2{margin:58px 0 20px;color:var(--ink);font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.42;letter-spacing:-.02em;text-wrap:balance}
h3{margin:38px 0 14px;color:var(--ink);font-family:var(--sans);font-size:20px;font-weight:700;line-height:1.5}
h4{margin:28px 0 11px;color:var(--ink-2);font-size:16px;line-height:1.55}
p{margin:0 0 18px}
strong{color:var(--ink);font-weight:700}
em{color:var(--accent);font-style:normal}
ul,ol{display:flex;flex-direction:column;gap:8px;margin:0 0 22px;padding-left:1.5em}
li{line-height:1.86}
li::marker{color:var(--accent)}
li>ul,li>ol{margin:8px 0 0;padding:2px 0 0 1.35em;border-left:1px solid var(--line)}
li>p{margin:0 0 8px}li>p:last-child{margin-bottom:0}
hr{margin:42px 0;border:0;border-top:1px solid var(--line)}
code{padding:2px 5px;border-radius:4px;background:var(--surface-soft);color:var(--accent);font:.88em var(--mono)}

.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 66px}
.entry-card{position:relative;display:flex;min-height:168px;flex-direction:column;padding:24px 46px 22px 24px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink-2);text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .16s,border-color .16s,box-shadow .16s}
.entry-card:hover{transform:translateY(-2px);border-color:var(--link);box-shadow:var(--shadow)}
.entry-card.entry-urgent:hover{border-color:var(--danger)}
.entry-kicker{margin-bottom:13px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.04em}
.entry-card strong{margin-bottom:8px;color:var(--ink);font-family:var(--serif);font-size:23px;font-weight:500;line-height:1.4}
.entry-card.entry-urgent .entry-kicker{color:var(--danger)}
.entry-card span:last-child{font-size:14px;line-height:1.7}
.entry-card::after{content:"→";position:absolute;right:22px;bottom:18px;color:var(--link);font-size:20px}
.entry-card.entry-urgent::after{color:var(--danger)}
.about-book{margin-top:18px;padding:0 0 42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-soft)}
.about-book-head{padding:32px 38px 25px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.about-book-head h2{margin:0;font-size:31px}
.about-book-head p{margin:7px 0 0;color:var(--mute);font-size:13.5px}
.preface-body{padding:3px 38px 0}
.preface-body>h2:first-child{margin-top:36px}
.source-note{margin-top:40px;padding:17px 19px;border:1px solid var(--line);border-left:4px solid var(--link);border-radius:8px;background:var(--surface);color:var(--ink-2);font-size:14px;line-height:1.8}
.source-note strong{color:var(--link)}

.chapter-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 40px;padding:0}
.chapter-jumps a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2);font-size:13px;text-decoration:none}
.chapter-jumps a:hover{border-color:var(--link);background:var(--link-soft);color:var(--link)}
.index-head{scroll-margin-top:88px;margin:68px 0 27px;padding:15px 0;border-top:3px solid var(--accent);border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--serif);font-size:clamp(26px,3vw,34px);font-weight:500;line-height:1.35}
.index-head.urgent-index{border-top-color:var(--danger);color:var(--danger)}
.scene-index{margin:8px 0 52px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-soft)}
.scene-index-head{padding:26px 28px 22px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.scene-index-head h2{margin:0;font-size:28px}
.scene-index-head p{margin:7px 0 0;color:var(--mute);font-size:14px}
.scene-index-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;padding:6px 28px 24px}
.scene-group{padding:20px 0 17px;border-bottom:1px solid var(--line)}
.scene-group h3{margin:0 0 9px;color:var(--accent);font-size:17px}
.scene-group a{display:block;padding:5px 0;color:var(--ink-2);font-size:14px;line-height:1.55;text-decoration:none}
.scene-group a:hover{color:var(--link);text-decoration:underline}
.scene-group--urgent{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:34px;margin:0 -28px;padding:20px 28px;background:var(--danger-soft)}
.scene-group--urgent h3{grid-column:1/-1;color:var(--danger)}
.scene-group--urgent a:hover{color:var(--danger)}

blockquote:not(.cmp){margin:0 0 24px;padding:6px 0 6px 21px;border-left:3px solid var(--accent);color:var(--ink-2)}
blockquote:not(.cmp)>*:last-child{margin-bottom:0}
pre{margin:0 0 22px}pre code{padding:0;background:none;color:inherit;font:inherit}
.cb{position:relative;overflow-x:auto;border-radius:8px}
.cb-tpl{padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--link);background:var(--surface);color:var(--ink);font:15px/1.92 var(--sans);white-space:pre-wrap;word-break:break-word}
.cb-art{padding:18px 20px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:12.5px/1.45 var(--mono);white-space:pre}
.sheet{margin:0 0 26px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.sheet-row{display:grid;grid-template-columns:minmax(112px,.32fr) 1fr}
.sheet-cell{padding:17px 19px 30px}.sheet-l{border-right:1px solid var(--line);background:var(--surface-soft)}
.sheet-foot{padding:16px 19px 26px;border-top:1px solid var(--line);background:var(--link-soft)}
.sheet b{display:block;padding-left:10px;border-left:3px solid var(--link);color:var(--ink);font-size:15px;line-height:1.5}
.sheet i{display:inline-block;margin:8px 0 10px 14px;padding:3px 7px;border:1px solid var(--line);border-radius:5px;color:var(--mute);font:11px/1.2 var(--sans);font-style:normal}
.sheet span{display:block;padding-left:14px;color:var(--ink-2);font-size:13.5px;line-height:1.85}
.sheet-foot b{display:inline-block;margin-right:14px}.sheet-foot span{display:inline;padding-left:0}
.tw{margin:0 0 24px;overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface);-webkit-overflow-scrolling:touch}
table{display:table;width:100%;min-width:max-content;border-collapse:collapse;table-layout:auto;background:var(--surface);font-size:14.5px;line-height:1.65}
th,td{min-width:4.2em;padding:12px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:normal;overflow-wrap:break-word}
thead th{background:var(--surface-soft);color:var(--ink);font-size:13px;font-weight:700}
tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-soft)}td:first-child{font-weight:650}

.cmp{margin:0 0 24px;padding:18px 21px;border:1px solid var(--line);border-left:4px solid var(--link);border-radius:9px;background:var(--surface);box-shadow:none}
.cmp>*:last-child{margin-bottom:0}.cmp h3,.cmp h4{margin-top:0;font-size:17px}.cmp p{margin-bottom:12px}
.cmp-sos{border-color:var(--danger);border-left-width:6px;background:var(--danger-soft)}
.cmp-sos h3,.cmp-sos h4,.cmp-sos strong{color:var(--danger)}
.cmp-act,.ln-act{border-left-color:var(--link);background:var(--link-soft)}
.cmp-act strong,.ln-act strong{color:var(--link)}
.cmp-warn,.ln-warn{border-left-color:var(--warn);background:var(--warn-soft)}
.cmp-warn strong,.ln-warn strong{color:var(--warn)}
.warn-belief{display:block;margin:2px 0 6px;color:var(--mute);font-style:italic}
.cmp-check,.ln-check{border-left-color:var(--green);background:var(--green-soft)}
.cmp-check h3,.cmp-check h4{color:var(--green)}
.cmp-check ul{list-style:none;padding-left:0;gap:9px}.cmp-check li{padding-left:24px;text-indent:-24px}.cmp-check li>.box:first-child{margin-right:8px}
.cmp-talk,.ln-talk{border-left-color:var(--violet);background:var(--violet-soft);font-family:var(--serif)}
.cmp-talk strong,.ln-talk strong{color:var(--violet);font-family:var(--sans)}
.cmp-tree,.ln-tree,.cmp-tpl,.ln-tpl{border-left-color:var(--link);background:var(--surface-soft)}
.cmp-case,.ln-case{border-left-color:var(--accent);background:var(--accent-soft);font-family:var(--serif)}
.cmp-case strong{font-family:var(--sans)}
.cmp-src,.ln-src{border-left-color:var(--info);background:var(--info-soft);color:var(--ink-2);font-size:14px}
.ln{margin:0 0 22px;padding:14px 17px;border-left:4px solid var(--link);border-radius:0 8px 8px 0}
.hd-sos{color:var(--danger)!important}.hd-act{color:var(--link)!important}.hd-warn{color:var(--warn)!important}.hd-check{color:var(--green)!important}.hd-src{color:var(--info)!important}
.box{display:inline-block;width:14px;height:14px;margin-top:.45em;border:1.6px solid var(--line-strong);border-radius:3px;vertical-align:top}.box.on{background:var(--green);border-color:var(--green)}

#urgent{display:none}
#top{position:fixed;right:22px;bottom:22px;z-index:30;width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2);font-size:16px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .16s;box-shadow:var(--shadow-soft)}
#top.on{opacity:1;pointer-events:auto}#top:hover{border-color:var(--link);color:var(--link)}

@media (max-width:1080px){
  :root{--rail:280px}
  .cover-page{grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr);gap:20px 38px;padding-left:42px;padding-right:42px}
}
@media (max-width:900px){
  .wrap{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;inset:0 auto 0 0;z-index:60;width:88%;max-width:350px;height:100dvh;transform:translateX(-101%);transition:transform .2s;box-shadow:12px 0 36px rgba(24,32,51,.2)}
  .side.open{transform:none}.main{grid-column:1}
  #mask{display:block;position:fixed;inset:0;z-index:55;background:rgba(24,32,51,.48);opacity:0;pointer-events:none;transition:opacity .18s}.on#mask{opacity:1;pointer-events:auto}
  .top{height:64px;padding:0 15px}.top #menu{display:grid}.top b{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.top-urgent{margin-left:0}
  .cover-page{min-height:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:26px;padding:48px clamp(22px,7vw,64px) 60px}
  .cover-copy{grid-column:1;grid-row:1}.cover-visual{grid-column:1;grid-row:2}.cover-honor{grid-column:1;grid-row:3}
  .cover-copy h1{max-width:none;font-size:clamp(44px,10vw,62px)}
  .cover-subtitle{margin-top:20px}.cover-actions{margin-top:28px}
  .ch{padding:64px 28px 68px}.ch-h h1{font-size:clamp(34px,7vw,46px)}
  #top{right:14px;bottom:14px}
}
@media (max-width:640px){
  body{font-size:16px;line-height:1.86}
  .top{height:60px;padding:0 10px;gap:8px}.top .ib{width:36px;height:36px}.top-urgent{min-height:34px;padding:0 9px;font-size:12px}
  .cover-page{padding:36px 17px 52px;gap:22px}.cover-copy h1{font-size:44px;line-height:1.12}.cover-subtitle{font-size:16px}.cover-actions{display:grid;grid-template-columns:1fr;margin-top:26px;gap:8px}.cover-actions a{width:100%}.cover-actions .cover-secondary{min-height:40px}
  .cover-visual img{aspect-ratio:16/10}.cover-honor{font-size:11.5px}
  .ch{padding:54px 20px 62px}.ch-h{margin-bottom:36px;padding-bottom:22px}.ch-h h1{font-size:34px}
  h2{margin-top:50px;font-size:26px}h3{font-size:19px}
  .entry-grid{grid-template-columns:1fr;gap:14px;margin-bottom:54px}.entry-card{min-height:148px}
  .about-book{margin-left:-4px;margin-right:-4px}.about-book-head{padding:27px 21px 21px}.about-book-head h2{font-size:28px}.preface-body{padding:2px 21px 0}
  .scene-index{margin-left:-4px;margin-right:-4px}.scene-index-head{padding:23px 20px 19px}.scene-index-grid{grid-template-columns:1fr;padding:5px 20px 20px}.scene-group--urgent{grid-column:auto;grid-template-columns:1fr;margin:0 -20px;padding:18px 20px}.scene-group--urgent h3{grid-column:auto}
  .chapter-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-jumps a{text-align:center}
  .sheet-row{grid-template-columns:1fr}.sheet-l{border-right:0;border-bottom:1px solid var(--line)}.sheet-foot b,.sheet-foot span{display:block}.sheet-foot b{margin:0 0 8px}.sheet-foot span{padding-left:14px}
  .cb-art{font-size:11px}
}
@media print{
  :root,:root[data-theme="dark"]{--paper:#fff;--surface:#fff;--surface-soft:#f1f0eb;--ink:#182033;--ink-2:#424b5d;--mute:#626b7b;--line:#d9d5ca;--link:#235da8;--accent:#ad4c25}
  .side,.top,#top,#urgent,#prog,#mask{display:none!important}.wrap{display:block}.main{padding:0}.cover-page{min-height:100vh;page-break-after:always}.ch{max-width:none;padding:32px 0;content-visibility:visible;page-break-before:always}.ch:first-of-type{page-break-before:avoid}body{font-size:10.5pt;background:#fff;color:var(--ink)}h1,h2,h3{page-break-after:avoid}.cmp,table,pre,.scene-group{page-break-inside:avoid}
}

/*
  Editorial reading system, adapted from the Cartesian template.
  One neutral palette, one text column, one persistent desktop directory.
*/
:root{
  color-scheme:light;
  --paper:#ede8e0;
  --surface:#ede8e0;
  --surface-soft:#e2dbd1;
  --ink:#1a1a1a;
  --ink-2:#43413e;
  --mute:#706b66;
  --line:#c7bfb4;
  --line-strong:#8a8178;
  --link:#1a1a1a;
  --link-soft:#e2dbd1;
  --accent:#8a8178;
  --accent-soft:#e2dbd1;
  --green:#646f66;
  --green-soft:transparent;
  --violet:#6c6870;
  --violet-soft:transparent;
  --warn:#796c54;
  --warn-soft:transparent;
  --danger:#8a3c3c;
  --danger-soft:#eadbd7;
  --info:#5f6d71;
  --info-soft:transparent;
  --shadow:none;
  --shadow-soft:none;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --serif:"Playfair Display","Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  --display:var(--serif);
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --rail:320px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#1c1c1a;--surface:#1c1c1a;--surface-soft:#282622;
    --ink:#ece7df;--ink-2:#c9c2b9;--mute:#999188;
    --line:#3d3a35;--line-strong:#777068;
    --link:#ece7df;--link-soft:#282622;--accent:#a79f96;--accent-soft:#282622;
    --green:#a1aaa2;--violet:#aaa4ad;--warn:#b6a685;
    --danger:#d59090;--danger-soft:#3a2828;--info:#9cadb1;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#1c1c1a;--surface:#1c1c1a;--surface-soft:#282622;
  --ink:#ece7df;--ink-2:#c9c2b9;--mute:#999188;
  --line:#3d3a35;--line-strong:#777068;
  --link:#ece7df;--link-soft:#282622;--accent:#a79f96;--accent-soft:#282622;
  --green:#a1aaa2;--violet:#aaa4ad;--warn:#b6a685;
  --danger:#d59090;--danger-soft:#3a2828;--info:#9cadb1;
}
:root[data-theme="light"]{
  color-scheme:light;
  --paper:#ede8e0;--surface:#ede8e0;--surface-soft:#e2dbd1;
  --ink:#1a1a1a;--ink-2:#43413e;--mute:#706b66;
  --line:#c7bfb4;--line-strong:#8a8178;
  --link:#1a1a1a;--link-soft:#e2dbd1;--accent:#8a8178;--accent-soft:#e2dbd1;
  --green:#646f66;--violet:#6c6870;--warn:#796c54;
  --danger:#8a3c3c;--danger-soft:#eadbd7;--info:#5f6d71;
}

html{scroll-padding-top:86px}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17.5px;line-height:1.95;-webkit-font-smoothing:antialiased}
::selection{background:var(--surface-soft);color:var(--ink)}
a{color:var(--link);text-decoration-color:var(--line-strong);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-color:currentColor}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
#prog,#urgent{display:none!important}

.wrap{display:block;min-height:100dvh}
.main{min-width:0;padding:0}
.side{position:fixed;inset:0 auto 0 0;z-index:70;width:min(88vw,var(--rail));height:100dvh;padding:0 0 54px;overflow-y:auto;background:var(--paper);color:var(--ink);border:0;border-right:1px solid var(--line);box-shadow:18px 0 48px rgba(26,26,26,.12);transform:translateX(-102%);transition:transform .22s ease;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.side.open{transform:none}
.brand{display:block;height:auto;margin:0;padding:32px 30px 25px;border:0;border-bottom:1px solid var(--line)}
.brand::before{display:none}
.brand h2{margin:0;color:var(--ink);font:400 24px/1.25 var(--serif);letter-spacing:-.02em}
.brand p{margin:7px 0 0;color:var(--mute);font:12px/1.5 var(--sans)}
.tools{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:10px;padding:22px 30px 17px}
#q{height:38px;padding:0 0;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--ink);font:13px var(--sans)}
#q:focus{border-color:var(--ink);outline:0}
.ib{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink-2);font:500 15px/1 var(--sans);cursor:pointer}
.ib:hover{background:var(--surface-soft);color:var(--ink)}
.vol{margin:0 30px;border:0;border-top:1px solid var(--line)}
.vol-h{position:relative;width:100%;display:block;padding:18px 24px 14px 0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.vol-h::after{content:"−";position:absolute;right:1px;top:17px;color:var(--mute);font:300 16px/1 var(--sans)}
.vol.closed .vol-h::after{content:"+"}
.vn{display:block;color:var(--ink);font:600 12px/1.4 var(--sans);letter-spacing:.04em}
.vs{display:block;margin-top:4px;color:var(--mute);font:12px/1.55 var(--sans)}
.cv{display:none}
.vol ul{display:block;margin:0;padding:0 0 17px;list-style:none}
.vol.closed ul{display:none}
.vol a{display:block;padding:6px 0;color:var(--ink-2);font-size:13px;line-height:1.55;text-decoration:none}
.vol a:hover{background:transparent;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong)}
.vol a.on{background:transparent;color:var(--ink);font-weight:650;box-shadow:none}
.dot,.bdg{display:none!important}

.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;height:66px;padding:0 clamp(18px,3vw,42px);gap:13px;background:color-mix(in srgb,var(--paper) 96%,transparent);border:0;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.top #menu{display:grid}
.top b,.top-home{color:var(--ink);font:500 14px/1.3 var(--sans);text-decoration:none}
.top-urgent{display:inline-flex;align-items:center;min-height:auto;margin-left:auto;padding:6px 0;border:0;border-radius:0;background:transparent;color:var(--ink-2);font-size:12.5px;font-weight:500;text-decoration:none}
.top-urgent:hover{background:transparent;color:var(--ink);text-decoration:underline}
.top #theme2{width:34px;height:34px}
#mask{display:block;position:fixed;inset:0;z-index:65;background:rgba(26,26,26,.34);opacity:0;pointer-events:none;transition:opacity .18s}
#mask.on{opacity:1;pointer-events:auto}
body.menu-open{overflow:hidden}

.cover-page{min-height:100dvh;display:grid;grid-template-columns:minmax(320px,.78fr) minmax(500px,1.22fr);grid-template-rows:auto auto;gap:22px clamp(52px,7vw,104px);align-content:center;padding:clamp(54px,7vw,112px);border:0;background:var(--paper)}
.cover-copy{grid-column:1;grid-row:1/3;align-self:center;padding:0;background:none}
.cover-copy::before{display:none}
.cover-copy h1{max-width:7em;margin:0;color:var(--ink);font-family:var(--display);font-size:clamp(58px,6.2vw,92px);font-weight:400;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.cover-subtitle{max-width:23em;margin:30px 0 0;color:var(--ink-2);font:18px/1.8 var(--serif)}
.cover-actions{display:flex;margin-top:42px}
.cover-actions a{display:inline-flex;align-items:center;min-height:42px;padding:0 0 8px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s}
.cover-actions a::after{content:"　→";font-weight:400}
.cover-actions a:hover{background:transparent;border-color:var(--ink);opacity:.62}
.cover-visual{grid-column:2;grid-row:1;align-self:center;margin:0;overflow:hidden;background:var(--surface-soft);box-shadow:none}
.cover-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.cover-visual::after{display:none}
.cover-honor{grid-column:2;grid-row:2;align-self:start;max-width:52em;margin:0;color:var(--mute);font-size:11.5px;line-height:1.7}
.cover-honor a{font-weight:600}

.ch{max-width:49rem;margin:0 auto;padding:94px 38px 104px;content-visibility:visible;border:0}
#c00{max-width:52rem}
.ch-h{position:relative;margin:0 0 52px;padding:0 0 34px;border:0}
.ch-h::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:1px;background:var(--line-strong)}
.ch-h+hr{display:none}
.ch-vol{margin:0 0 14px;color:var(--mute);font-size:11.5px;font-weight:600;line-height:1.5;letter-spacing:.08em}
.ch-h h1{margin:0;color:var(--ink);font-family:var(--display);font-size:clamp(42px,4.5vw,58px);font-weight:400;line-height:1.22;letter-spacing:-.04em;text-wrap:balance}
.lead-deck{margin:0 0 46px;color:var(--ink-2);font-family:var(--serif);font-size:22px;line-height:1.85}
.chapter-note{margin:26px 0 0;padding-top:15px;border-top:1px solid var(--line);color:var(--mute);font-size:13px;line-height:1.7}
h2{margin:72px 0 24px;color:var(--ink);font-family:var(--serif);font-size:31px;font-weight:400;line-height:1.45;letter-spacing:-.02em;text-wrap:balance}
h3{margin:46px 0 17px;color:var(--ink);font-family:var(--sans);font-size:20px;font-weight:650;line-height:1.55}
h4{margin:32px 0 12px;color:var(--ink-2);font-size:16px;font-weight:650;line-height:1.6}
p{margin:0 0 1.35em}
strong{color:var(--ink);font-weight:650}
em{color:inherit;font-style:italic}
ul,ol{display:block;margin:0 0 1.6em;padding-left:1.45em}
li{margin:0 0 .48em;line-height:1.9}
li::marker{color:var(--line-strong)}
li>ul,li>ol{margin:.55em 0 0;padding-left:1.35em;border:0}
hr{margin:56px 0;border:0;border-top:1px solid var(--line)}
code{padding:2px 4px;border-radius:0;background:var(--surface-soft);color:var(--ink);font:.88em var(--mono)}

.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:0 0 76px}
.entry-card{position:relative;display:flex;min-height:0;flex-direction:column;padding:22px 34px 22px 0;border:0;border-top:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--ink-2);text-decoration:none;box-shadow:none;transition:opacity .15s}
.entry-card:hover{transform:none;border-color:var(--ink);box-shadow:none;opacity:.68}
.entry-kicker{margin-bottom:11px;color:var(--mute);font-size:11.5px;font-weight:600;letter-spacing:.05em}
.entry-card strong{margin-bottom:7px;color:var(--ink);font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.4}
.entry-card span:last-child{font-size:13.5px;line-height:1.75}
.entry-card::after{content:"→";position:absolute;right:2px;top:18px;color:var(--mute);font-size:16px}
.entry-card.entry-urgent .entry-kicker,.entry-card.entry-urgent::after{color:var(--danger)}
.about-book{margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:visible;box-shadow:none}
.about-book-head{padding:0 0 26px;border:0;border-bottom:1px solid var(--line);background:transparent}
.about-book-head h2{margin:0;font-size:32px}
.about-book-head p{margin:8px 0 0;color:var(--mute);font-size:13px}
.preface-body{padding:0}
.preface-body>h2:first-child{margin-top:48px}
.source-note{margin-top:58px;padding:22px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--mute);font-size:13px;line-height:1.85}
.source-note strong{color:var(--ink-2)}

.chapter-jumps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:24px 0 48px;padding:0;border-top:1px solid var(--line)}
.chapter-jumps a{display:block;min-height:0;padding:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink-2);font-size:13px;line-height:1.55;text-decoration:none}
.chapter-jumps a:hover{background:transparent;color:var(--ink);text-decoration:underline}
.index-head{scroll-margin-top:86px;margin:74px 0 30px;padding:0 0 16px;border:0;border-bottom:1px solid var(--line-strong);color:var(--ink);font-family:var(--serif);font-size:clamp(28px,3vw,36px);font-weight:400;line-height:1.4}
.index-head.urgent-index{color:var(--danger);border-color:var(--danger)}
.scene-index{margin:12px 0 60px;border:0;border-radius:0;background:transparent;overflow:visible;box-shadow:none}
.scene-index-head{padding:0 0 24px;border:0;border-bottom:1px solid var(--line);background:transparent}
.scene-index-head h2{margin:0;font-size:31px}
.scene-index-head p{margin:8px 0 0;color:var(--mute);font-size:13.5px}
.scene-index-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;padding:0}
.scene-group{padding:25px 0 20px;border-bottom:1px solid var(--line)}
.scene-group h3{margin:0 0 12px;color:var(--ink);font-family:var(--serif);font-size:20px;font-weight:400}
.scene-group a{display:block;padding:5px 0;color:var(--ink-2);font-size:14px;line-height:1.6;text-decoration:none}
.scene-group a:hover{color:var(--ink);text-decoration:underline}
.scene-group--urgent{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:48px;margin:0;padding:25px 0 22px;background:transparent;border-bottom:1px solid var(--danger)}
.scene-group--urgent h3{grid-column:1/-1;color:var(--danger)}

blockquote:not(.cmp){margin:0 0 28px;padding:3px 0 3px 24px;border:0;border-left:1px solid var(--line-strong);color:var(--ink-2)}
blockquote:not(.cmp)>*:last-child{margin-bottom:0}
pre{margin:0 0 28px}
pre code{padding:0;background:none;color:inherit;font:inherit}
.cb{position:relative;overflow-x:auto;border-radius:0}
.cb-tpl{padding:20px 22px;border:0;border-left:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink);font:15px/1.95 var(--sans);white-space:pre-wrap;word-break:break-word}
.cb-art{padding:20px 22px;border:0;background:var(--surface-soft);color:var(--ink-2);font:12.5px/1.5 var(--mono);white-space:pre}
.sheet{margin:0 0 30px;overflow:hidden;border:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent}
.sheet-row{display:grid;grid-template-columns:minmax(112px,.32fr) 1fr}
.sheet-cell{padding:20px 18px 30px 0}.sheet-r{padding-left:24px}.sheet-l{border:0;border-right:1px solid var(--line);background:transparent}
.sheet-foot{padding:18px 0 24px;border:0;border-top:1px solid var(--line);background:transparent}
.sheet b{display:block;padding:0;color:var(--ink);font-size:15px;line-height:1.55}
.sheet i{display:inline-block;margin:9px 0;color:var(--mute);font:11px/1.3 var(--sans);font-style:normal}
.sheet span{display:block;padding:0;color:var(--ink-2);font-size:13.5px;line-height:1.9}
.sheet-foot b{display:inline-block;margin-right:14px}.sheet-foot span{display:inline}
.tw{margin:0 0 30px;overflow-x:auto;border:0;border-radius:0;background:transparent;-webkit-overflow-scrolling:touch}
table{display:table;width:100%;min-width:max-content;border-collapse:collapse;table-layout:auto;background:transparent;font-size:14px;line-height:1.7}
th,td{min-width:4.2em;padding:13px 15px 13px 0;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:normal;overflow-wrap:break-word}
thead th{border-top:1px solid var(--line-strong);border-bottom-color:var(--line-strong);background:transparent;color:var(--ink);font-size:12.5px;font-weight:650}
tbody tr:last-child td{border-bottom-color:var(--line-strong)}
tbody tr:hover{background:transparent}

.cmp{margin:0 0 30px;padding:14px 0 14px 23px;border:0;border-left:1px solid var(--line-strong);border-radius:0;background:transparent;box-shadow:none}
.cmp>*:last-child{margin-bottom:0}
.cmp h3,.cmp h4{margin-top:0;font-size:18px}
.cmp p{margin-bottom:13px}
.cmp-sos{padding:19px 22px;border-left:2px solid var(--danger);background:var(--danger-soft)}
.cmp-sos h3,.cmp-sos h4,.cmp-sos strong{color:var(--danger)}
.cmp-act,.cmp-warn,.cmp-check,.cmp-talk,.cmp-tree,.cmp-tpl,.cmp-case,.cmp-src{border-left-color:var(--line-strong);background:transparent}
.cmp-src{color:var(--ink-2);font-size:13.5px}
.warn-belief{display:block;margin:2px 0 7px;color:var(--mute);font-style:italic}
.cmp-talk{font-family:var(--serif)}
.cmp-talk strong,.cmp-case strong{font-family:var(--sans)}
.cmp-check ul{list-style:none;padding-left:0}
.cmp-check li{padding-left:23px;text-indent:-23px}
.ln{margin:0 0 26px;padding:11px 0 11px 20px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink-2)}
.cmp>.ln{margin:0 0 14px;padding:0;border:0;background:transparent;color:var(--ink)}
.ln strong{color:var(--ink)}
.ln-sos{border-color:var(--danger);color:var(--danger)}
.hd-sos{color:var(--danger)!important}
.hd-act,.hd-warn,.hd-check,.hd-talk,.hd-src,.hd-tpl,.hd-tree{color:var(--ink)!important}
.box{display:inline-block;width:14px;height:14px;margin-top:.5em;border:1px solid var(--line-strong);border-radius:1px;vertical-align:top}
.box.on{background:var(--ink);border-color:var(--ink)}

#top{display:none!important}
@media (min-width:1024px){
  .side{width:var(--rail);transform:none;box-shadow:none}
  .main{margin-left:var(--rail)}
  .top #menu{display:none}
  #mask{display:none}
  body.menu-open{overflow:auto}
  .site-home .cover-page{grid-template-columns:minmax(220px,.72fr) minmax(340px,1.28fr);gap:20px clamp(32px,3vw,52px);padding:clamp(42px,4vw,64px)}
}
@media (prefers-reduced-motion:reduce){.side,#mask,.entry-card,.cover-actions a{transition:none!important}}
@media (max-width:960px){
  .cover-page{grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);gap:20px 44px;padding:54px 42px}
}
@media (max-width:820px){
  .cover-page{min-height:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:30px;padding:48px clamp(24px,8vw,64px) 64px}
  .cover-copy{grid-column:1;grid-row:1}.cover-visual{grid-column:1;grid-row:2}.cover-honor{grid-column:1;grid-row:3}
  .cover-copy h1{max-width:none;font-size:clamp(50px,11vw,70px)}
  .cover-subtitle{margin-top:22px}.cover-actions{margin-top:30px}
  .ch{padding:76px 28px 86px}.ch-h h1{font-size:clamp(40px,7vw,52px)}
}
@media (max-width:640px){
  body{font-size:16.5px;line-height:1.9}
  .top{height:58px;padding:0 10px;gap:8px}.top .ib{width:34px;height:34px}.top-urgent{font-size:12px}.top-home{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .cover-page{padding:38px 19px 54px;gap:23px}.cover-copy h1{font-size:47px}.cover-subtitle{font-size:17px}.cover-actions{margin-top:27px}
  .ch{padding:62px 20px 72px}.ch-h{margin-bottom:43px;padding-bottom:28px}.ch-h h1{font-size:39px;line-height:1.25}
  .lead-deck{font-size:20px;line-height:1.82}
  h2{margin-top:60px;font-size:28px}h3{margin-top:40px;font-size:19px}
  .entry-grid{grid-template-columns:1fr;gap:22px;margin-bottom:62px}
  .entry-card{padding:18px 30px 18px 0}
  .about-book-head h2{font-size:29px}
  .chapter-jumps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
  .scene-index-grid{grid-template-columns:1fr}.scene-group--urgent{grid-column:auto;grid-template-columns:1fr;column-gap:0}.scene-group--urgent h3{grid-column:auto}
  .sheet-row{grid-template-columns:1fr}.sheet-l{border-right:0;border-bottom:1px solid var(--line)}.sheet-r{padding-left:0}.sheet-foot b,.sheet-foot span{display:block}.sheet-foot b{margin:0 0 8px}
  .cb-art{font-size:11px}
}
@media print{
  :root,:root[data-theme="dark"]{--paper:#fff;--surface:#fff;--surface-soft:#f4f2ed;--ink:#151515;--ink-2:#3f3f3f;--mute:#6d6d6d;--line:#d0ccc4;--line-strong:#8a8178;--link:#151515;--accent:#8a8178}
  .side,.top,#top,#urgent,#prog,#mask{display:none!important}.wrap{display:block}.main{margin-left:0;padding:0}.cover-page{min-height:100vh;page-break-after:always}.ch{max-width:none;padding:32px 0;content-visibility:visible;page-break-before:always}.ch:first-of-type{page-break-before:avoid}body{font-size:10.5pt;background:#fff;color:#000}h1,h2,h3{page-break-after:avoid}.cmp,table,pre,.scene-group{page-break-inside:avoid}
}

/* Multipage reader additions. */
.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:9px 12px;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);text-decoration:none;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.search-status{display:none;grid-column:1/-1;margin:0;padding:1px 2px 0;color:var(--mute);font-size:12px;line-height:1.5}
.side.filtered .search-status{display:block}
body.menu-open{overflow:hidden}
.site-home .top{display:none}
.site-home .cover-page{min-height:100dvh}
.site-home .cover-visual img{aspect-ratio:4/3;object-position:center}
a.brand{color:inherit;text-decoration:none}
a.brand:hover h2{color:var(--accent)}
.top-home{color:var(--ink);font:650 14px/1.3 var(--sans);text-decoration:none}
.top-home:hover{color:var(--accent)}
.site-home .top #theme2{margin-left:auto}
.reader-page .main{padding-bottom:0}
.reader-page .ch{min-height:calc(100dvh - 66px);border-bottom:0}
.page-nav{max-width:49rem;display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:0 auto;padding:0 38px 92px}
.page-nav a{display:flex;min-height:86px;flex-direction:column;justify-content:center;padding:20px 0;border:0;border-top:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--ink-2);text-decoration:none;box-shadow:none}
.page-nav a:hover{color:var(--ink);border-color:var(--ink)}
.page-nav-next{grid-column:2;text-align:right}
.page-nav span{margin-bottom:5px;color:var(--mute);font-size:12px}
.page-nav strong{font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.5}
@media (max-width:1023px){.site-home .top{display:flex}.site-home .cover-page{min-height:auto}.top-home{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reader-page .ch{min-height:auto}.page-nav{padding:0 28px 76px}}
@media (max-width:640px){.site-home .cover-visual img{aspect-ratio:4/3}.page-nav{grid-template-columns:1fr;gap:14px;padding:0 20px 62px}.page-nav-next{grid-column:1}.page-nav a{min-height:76px}.page-nav-next{text-align:left}}
@media print{.page-nav{display:none!important}}
