/* Chapter curtains use local woven artwork; finished positions are the default,
   so print, overview, reduced-motion and offline playback are always readable. */
.s-chapter .stage{padding:0;background:#192022}
.chapter-art{transform:none;filter:brightness(.85)}
.chapter-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#142023f5 0,#142023d6 39%,#14202322 80%),linear-gradient(0deg,#142023fc 0,#14202375 29%,transparent 78%)}
.chapter-lamplight .chapter-art{filter:brightness(.62);transform:scale(1.07)}
.chapter-lamplight .chapter-shade{background:linear-gradient(90deg,#1b1d20fa 0,#211b20db 48%,#28171c28 88%),linear-gradient(0deg,#191c1ffb 0,#191c1f99 27%,transparent 80%)}
.chapter-dawn .chapter-shade{background:linear-gradient(90deg,#152326ed 0,#152326af 41%,#15232605 90%),linear-gradient(0deg,#182729f8 0,#1827298f 32%,transparent 100%)}
.chapter-rule{position:absolute;left:105px;right:157px;top:116px;height:1px;background:linear-gradient(90deg,#d8b98466,#d8b98409)}
.chapter-kicker{position:absolute;left:106px;top:58px;display:flex;align-items:center;gap:21px;font-size:14px;letter-spacing:.19em;color:#e1ccb0}
.chapter-kicker b{font-family:var(--font-display);font-size:24px;font-weight:500;border-bottom:1px solid #c6a17399;padding:0 1px 8px}
.chapter-kicker span{padding-bottom:8px}
.chapter-year{position:absolute;right:170px;top:145px;font-family:var(--font-display);font-size:94px;font-weight:500;letter-spacing:-.025em;color:#efd4a2;line-height:1.1;text-align:right}
.chapter-year small{display:block;font-family:var(--font-body);font-size:12px;letter-spacing:.24em;color:#eedec7;margin-top:16px;opacity:.75}
.reveal .chapter-title{position:absolute;left:105px;top:170px;font-family:var(--font-display);font-size:73px;font-weight:550;letter-spacing:.035em;line-height:1.35;color:#fff0d7}
.chapter-title em{font-style:normal;font-weight:700;color:#e9c591}
.reveal .chapter-context{position:absolute;left:110px;top:395px;max-width:785px;font-size:19px;line-height:1.9;font-weight:350;color:#e5daca;letter-spacing:.02em}
.reveal .chapter-question{position:absolute;left:111px;top:497px;font-size:16px;line-height:1.6;color:#ebc68f;padding-left:15px;border-left:2px solid #c38763}
.chapter-roadmap{position:absolute;left:109px;right:171px;top:552px;display:grid;grid-template-columns:repeat(3,1fr);gap:27px;z-index:3}
.chapter-roadmap>div{position:relative;padding-top:15px;border-top:1px solid #d8b47d55}
.chapter-roadmap>div:before{content:'';width:5px;height:5px;background:#dbb57c;position:absolute;left:0;top:-3px;transform:rotate(45deg)}
.chapter-roadmap>div>span{font-family:var(--font-display);font-size:13px;color:#c19a71;float:right;padding-top:4px}
.chapter-roadmap h3{font-size:24px;font-weight:550;letter-spacing:.04em;line-height:1.5;color:#f2dec0}
.chapter-roadmap p{font-size:13px;color:#c5b7a3;font-weight:350;line-height:1.6;margin-top:8px;letter-spacing:.01em}
.chapter-curtains{position:absolute;inset:0;z-index:12;pointer-events:none}
.curtain-panel{position:absolute;top:0;bottom:0;width:51%;overflow:hidden;background:#321519;box-shadow:0 0 38px #0007;will-change:transform}
.curtain-panel img{height:100%;width:100%;object-fit:cover;filter:brightness(.75);object-position:center}
.curtain-panel:after{content:'';position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(#d2a06633,#d2a06699,#d2a06622)}
.curtain-left{left:0;transform:translateX(-91%)}
.curtain-left:after{right:2px}
.curtain-right{right:0;transform:translateX(81%)}
.curtain-right:after{left:2px}
.chapter-dawn .curtain-panel img{filter:brightness(.7) saturate(.65)}
.curtain-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fce5bc;opacity:0;text-shadow:0 2px 20px #0007;pointer-events:none}
.curtain-title span{font-size:14px;letter-spacing:.45em;margin-left:.45em}
.curtain-title strong{font-family:var(--font-display);font-size:71px;letter-spacing:.13em;margin:23px 0 20px .13em;font-weight:550}
.curtain-title small{font-family:var(--font-display);font-size:22px;letter-spacing:.2em;margin-left:.2em}
.chapter-dawn .curtain-title{color:#fff7e7}
.s-chapter .folio{left:109px;right:172px}
.s-chapter .art-note{right:172px;bottom:56px;font-size:9px;opacity:.55}

/* Repeated editorial details provide orientation without adding controls. */
.chapter-index{position:absolute;right:74px;top:54px;display:flex;align-items:center;gap:11px;color:#d9bf97;opacity:.68;z-index:7}
.chapter-index span{font-size:10px;letter-spacing:.2em}
.chapter-index b{font-family:var(--font-display);font-size:24px;font-weight:450;line-height:1}
.chapter-index i{height:24px;width:3px;background:#ba7b6e;margin-left:4px}
[data-theme=light] .chapter-index{color:#8c6b53}
[data-theme=light] .chapter-index i{background:#8e4c50}
.folio{padding-top:13px;border-top:1px solid #d1ae7e20}
[data-theme=light] .folio{border-top-color:#9c795e28}
.scene-step-status{top:14px}
.editorial-note{position:absolute;z-index:3;max-width:490px;color:#d3c6b2}
.editorial-note>small{display:block;font-size:12px;letter-spacing:.16em;color:#ceaa77;margin-bottom:11px}
.editorial-note>small:before{content:'';display:inline-block;vertical-align:3px;width:17px;height:1px;background:currentColor;margin-right:10px}
.editorial-note p{font-size:17px;line-height:1.85;font-weight:350;letter-spacing:.015em}
[data-theme=light] .editorial-note{color:#796456}
[data-theme=light] .editorial-note>small{color:#985757}
.cover-theme{display:block;font-size:14px;letter-spacing:.14em;color:#d7cbb5;margin-top:14px}
.s-cover .cover-deck{margin-top:20px!important}
.cover-era{bottom:99px}
.begin-caption{bottom:100px}
.portal-word small{line-height:1.8;margin-top:12px}
.portal-word small>span{font-size:12px;opacity:.8;letter-spacing:.03em}
.portal:before{content:'';position:absolute;z-index:4;inset:12px;border:1px solid #ebcd9d2a;pointer-events:none}
.portal-year{left:28px}
.portal-word{left:28px;bottom:30px}
.s-method .left-caption{top:390px;font-size:20px!important;line-height:1.7!important}
.s-method .editorial-note{left:76px;top:488px;width:470px}
.s-method .editorial-note p{font-size:15px}
.s-method .insight{bottom:68px;max-width:510px}
.s-context .editorial-note{left:103px;top:478px;width:422px}
.s-context .editorial-note p{font-size:16px}
.s-context .insight{bottom:75px;right:515px;font-size:16px!important}
.s-route .editorial-note{left:75px;top:260px;width:378px}
.s-route .editorial-note p{font-size:17px}
.route-copy small{display:flex;align-items:center;gap:12px}
.route-copy small:after{content:'';display:block;width:32px;height:1px;background:#d7ba8a66}
.route-copy>span{font-size:13px;color:#e4d0b1;opacity:.85;line-height:1.5}
.route-pin{stroke:#c1916a;stroke-width:3;filter:drop-shadow(0 0 7px #f0ca8477)}
.s-triangle .editorial-note{left:75px;top:423px;width:400px}
.s-triangle .editorial-note p{font-size:16px}
.triangle-orbit{stroke-dasharray:1 8;stroke:#d3b89850}
.diagram-node i{min-width:22px;text-align:center;border-left:1px solid #caaa7355;padding-left:12px;font-style:normal}
[data-theme=light] .diagram-node i{border-left-color:#bfa47d55}
.s-books .editorial-note{left:584px;top:179px;width:500px}
.s-books .editorial-note p{font-size:17px;color:#e5d5b8}
.book-slip{outline:1px solid #a4805444;outline-offset:-12px}
.book-slip>span:after{content:' / 文献线索';font-family:var(--font-body);font-size:10px;letter-spacing:.13em;margin-left:14px;opacity:.8}
.book-slip i{font-family:var(--font-body);font-size:11px;opacity:.7;margin-top:18px;border-top:1px solid #ab876b40;padding-top:13px}
.s-zunyi .editorial-note{left:82px;top:544px;width:400px}
.s-zunyi .editorial-note>small{margin-bottom:8px}
.s-zunyi .editorial-note p{font-size:16px}
.archive-photo:before,.archive-photo:after{content:'';position:absolute;z-index:3;width:30px;height:30px;pointer-events:none;border-color:#a3764d88;border-style:solid}
.archive-photo:before{left:-9px;top:-9px;border-width:1px 0 0 1px}
.archive-photo:after{right:-9px;bottom:-9px;border-width:0 1px 1px 0}
.s-pivot .editorial-note{left:75px;top:442px;width:350px}
.s-pivot .editorial-note p{font-size:15px}
.s-correct .editorial-note{left:75px;top:218px;width:565px}
.s-correct .editorial-note p{font-size:17px}
.correction-label small{display:block;font-family:var(--font-body);font-size:12px;line-height:1.8;font-weight:350;opacity:.6;margin-top:10px}
.correction-label.b{top:335px;left:451px}
.s-paper .editorial-note{left:87px;top:147px;width:565px}
.s-paper .editorial-note p{font-size:17px}
.s-paper[data-step="1"] .editorial-note{opacity:0;visibility:hidden}
.paper-composition:before{content:'史料 / 1978.05';position:absolute;right:18px;top:-29px;font-size:10px;letter-spacing:.16em;color:#91634d;border-top:1px solid #91634d77;padding-top:6px}
.s-test .editorial-note{left:75px;top:266px;width:488px}
.s-test .editorial-note p{font-size:16px}
.s-test .test-selector{top:423px}
.s-test .test-selector>p{margin-bottom:17px}
.s-test .example-answer{font-size:17px;line-height:1.85;margin-top:24px}
.s-plenum .editorial-note{left:77px;top:449px;width:420px}
.s-plenum .editorial-note p{font-size:16px}
.s-reform .editorial-note{left:78px;top:411px;width:490px}
.s-reform .editorial-note p{font-size:17px}
.s-converge .editorial-note{left:81px;top:517px;width:359px}
.s-converge .editorial-note p{font-size:15px}
.converge-years{top:210px}
.converge-years small{display:block;font-family:var(--font-body);font-size:13px;line-height:1.8;letter-spacing:.015em;color:#baa98e;margin-top:15px}
.converge-result{top:505px}
.s-today .editorial-note{left:78px;top:173px;max-width:950px}
.s-today .editorial-note>small{display:none}
.s-today .editorial-note p{font-size:16px}
.s-today .editorial-note p br{display:none}
.s-today .today-scenes{top:286px}
.s-today .example-answer{top:547px}
.today-scenes svg{filter:drop-shadow(0 5px 8px #91634d12)}
.s-finish .editorial-note{left:80px;top:515px;width:485px}
.s-finish .editorial-note p{font-size:16px}
.s-finish[data-step="1"] .editorial-note{opacity:.45}
@media print{.curtain-title{display:none}.curtain-panel{will-change:auto}}
@media(prefers-reduced-motion:reduce){.curtain-panel{will-change:auto}}
