/* Qingwu Reading Room: dark ceremony -> quiet annotated paper. Scoped to reading room. */
:root{--qw-night:#101c23;--qw-deep:#08131b;--qw-bronze:#567c79;--qw-gold:#bda36b;--qw-palegold:#ead8ab;--qw-vellum:#f3ead8;--qw-ink:#252a29;--qw-rubric:#95382d}
#qw-full-reading[hidden],#qw-full-reading [hidden],.scroll-room [hidden]{display:none!important}
.scroll-room{margin:0;background:#142127;color:var(--qw-ink);font-family:var(--serif-body,Georgia,serif);font-size:19px;line-height:1.68}
.scroll-room .wrap{max-width:1300px}
.scroll-room a{color:inherit}
.scroll-room button,.scroll-room a{touch-action:manipulation}
.scroll-room .room-skip{position:absolute;left:14px;top:-100px;background:#fff;color:#111;padding:12px;z-index:100}
.scroll-room .room-skip:focus{top:10px}
.scroll-room .room-header{background:var(--qw-deep);color:#eee2ca;border-bottom:1px solid #7b6743}
.scroll-room .room-top{display:flex;gap:20px;align-items:center;justify-content:space-between;min-height:74px;padding:12px 0}
.scroll-room .room-brand{display:flex;align-items:center;gap:14px;text-decoration:none;font:500 28px/1.1 var(--serif-display,Georgia,serif)}
.scroll-room .room-brand .brand-mark{width:39px;height:39px;display:grid;place-items:center;border:1px solid #ac8f54;border-radius:50%;color:#e7c98b;font-size:30px}
.scroll-room .room-topnav{display:flex;flex-wrap:wrap;gap:20px;font-size:16px}
.scroll-room .room-topnav a{text-decoration:none;border-bottom:1px solid #7b6743}
.scroll-room .room-hero{position:relative;isolation:isolate;overflow:hidden;min-height:320px;background:radial-gradient(ellipse at 82% 32%,rgba(148,123,61,.21),transparent 34%),radial-gradient(ellipse at 13% 95%,rgba(41,93,99,.42),transparent 49%),linear-gradient(145deg,#112630,#08131b 75%);border-bottom:5px double #9c8253;color:#f3e7cd}
.scroll-room .room-hero:before{content:"";position:absolute;inset:14px;border:1px solid rgba(202,168,97,.34);pointer-events:none}
.scroll-room .room-hero:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.26;background-image:radial-gradient(#ead8ab .8px,transparent 1px);background-size:29px 31px;mask-image:linear-gradient(90deg,transparent,black)}
.scroll-room .hero-inside{display:grid;grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:48px;align-items:center;padding:36px 24px}
.scroll-room .room-illustrated-cover{margin:0;min-width:0;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.scroll-room .room-illustrated-cover img{display:block;width:100%;height:auto;object-fit:contain}
.scroll-room .hero-kicker{font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:#cfb57b}
.scroll-room .room-hero h1{font:500 clamp(43px,5vw,72px)/1.03 var(--serif-display,Georgia,serif);margin:9px 0 16px;color:#f3e1ad}
.scroll-room .hero-strap{font:italic 26px/1.35 var(--serif-display,Georgia,serif);color:#e3cfaa}
.scroll-room .hero-copy{max-width:35em;font-size:17px;color:#d4c9b5;margin:16px 0 0}
.scroll-room .room-traditions{display:flex;gap:10px 20px;flex-wrap:wrap;list-style:none;padding:0;margin:12px 0;font-size:17px;color:#e3cfaa}
.scroll-room .room-traditions li{display:flex;align-items:center;gap:8px}.scroll-room .room-traditions svg{width:29px;height:29px;color:#bda36b}
.scroll-room .room-copy{border-top:1px solid #cdbf9c;margin-top:32px;padding-top:24px;font-size:15px;color:#695b46}
.scroll-room .room-copy h2{font-size:23px;font-weight:500}
.scroll-room .room-copy button{font:inherit;color:inherit;background:transparent;border:1px solid #cdbf9c;padding:9px 16px;cursor:pointer}
.scroll-room .room-copy button:disabled{opacity:.5;cursor:not-allowed}
.scroll-room .reading-appendix{font-size:16px;padding:15px 0}
.scroll-room .reading-appendix summary{cursor:pointer;color:#695b46;margin-bottom:12px}
.scroll-room .hero-art{width:100%;max-height:265px;display:block;filter:drop-shadow(0 0 24px rgba(196,159,86,.14))}
.scroll-room .room-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.scroll-room .room-actions button,.scroll-room .room-actions a{font:600 15px var(--serif-body,Georgia,serif);background:transparent;border:1px solid #bba06c;color:#f3e0b8;text-decoration:none;padding:10px 19px;cursor:pointer}
.scroll-room .room-actions button:hover,.scroll-room .room-actions a:hover{background:#d2ae72;color:#142127}
.scroll-room .room-actions button:disabled{opacity:.4;cursor:not-allowed}
.scroll-room .room-status{background:#ece0c6;border-bottom:1px solid #c5b58f;color:#493f32;font:16px/1.55 var(--serif-body,Georgia,serif);padding:14px 0}
.scroll-room .room-status strong{color:#85392e}
.scroll-room .room-status [role=alert]{margin:0}
.scroll-room .room-help{font-size:14px;margin:6px 0 0;color:#625544}.scroll-room .room-help a{color:#27565c;text-underline-offset:3px}
.scroll-room .room-shell{display:grid;grid-template-columns:235px minmax(0,1fr);gap:28px;align-items:start;padding-top:32px;padding-bottom:75px}
.scroll-room .room-index{position:sticky;top:18px;color:#f0e2c8;border:1px solid rgba(197,161,98,.47);padding:22px 20px;background:#132630}
.scroll-room .index-kicker{font:12px/1.6 var(--serif-body,Georgia,serif);letter-spacing:.25em;text-transform:uppercase;color:#cdb17e}
.scroll-room .room-index h2{font:500 26px var(--serif-display,Georgia,serif);margin:5px 0 10px;color:#ead4a2}
.scroll-room .room-index ol{list-style:none;margin:0;padding:0}
.scroll-room .room-index li{border-bottom:1px solid rgba(201,171,109,.18);font-size:15px;line-height:1.28}
.scroll-room .room-index li a{display:flex;gap:11px;text-decoration:none;padding:9px 0}
.scroll-room .room-index li a:hover,.scroll-room .room-index li a:focus-visible{color:#e9c47d}
.scroll-room .room-index .idx-no{font-family:var(--serif-display,Georgia,serif);font-size:19px;min-width:25px;color:#bb9e69}
.scroll-room .room-index .idx-sub{font-size:12px;color:#c0ae8a;font-style:italic;margin:16px 0 0}
.scroll-room .room-paper{min-width:0;background:var(--qw-vellum);position:relative;padding:clamp(28px,5vw,62px) clamp(24px,6vw,75px);box-shadow:0 1px 2px #06131a,0 18px 48px rgba(0,0,0,.3);background-image:radial-gradient(ellipse at 50% 0%,rgba(255,250,232,.89),transparent 69%),radial-gradient(ellipse at 0 83%,rgba(155,121,75,.15),transparent 45%),radial-gradient(ellipse at 100% 100%,rgba(132,107,59,.2),transparent 55%),repeating-linear-gradient(0deg,rgba(99,80,44,.012) 0 1px,transparent 1px 4px)}
.scroll-room .room-paper:before{content:"";pointer-events:none;position:absolute;inset:14px;border:1px solid rgba(129,90,47,.34)}
.scroll-room .room-paper>header{border-bottom:1px solid #c5b48e;padding-bottom:25px;margin-bottom:29px;text-align:center}
.scroll-room .folio-topline{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:#8e7250}
.scroll-room .folio-heading{font:500 39px/1.12 var(--serif-display,Georgia,serif);margin:12px 0;color:#273537}
.scroll-room .folio-opening{font:italic 22px/1.45 var(--serif-display,Georgia,serif);color:#75614d;max-width:35em;margin:12px auto}
.scroll-room .folio-emblem{margin:10px auto 0;display:block;width:74px;color:#936e47}
.scroll-room .room-chapter{scroll-margin-top:22px;margin:0 0 30px;padding:29px 0 23px;border-bottom:1px solid #cdbf9c;break-inside:auto}
.scroll-room .room-chapter:last-of-type{border-bottom:0}
.scroll-room .chapter-number{font-size:12px;letter-spacing:.24em;color:#8f4a36;text-transform:uppercase}
.scroll-room .room-chapter h2{font:500 clamp(30px,3.5vw,42px)/1.12 var(--serif-display,Georgia,serif);margin:8px 0 21px;color:#273537}
.scroll-room .room-chapter p,.scroll-room .room-chapter li{font-size:18px;line-height:1.75;overflow-wrap:break-word}
.scroll-room .room-chapter p{margin:0 0 17px;max-width:67ch}
.scroll-room .room-chapter .chapter-body>p:first-child:first-letter{float:left;font:500 2.8em/.8 var(--serif-display,Georgia,serif);padding:7px 8px 0 0;color:#8f372e}
.scroll-room .room-chapter h3{font:500 26px var(--serif-display,Georgia,serif);margin:22px 0 10px}
.scroll-room .room-chapter ul{padding-left:25px}
.scroll-room .chapter-empty{font-style:italic;color:#806b57}
.scroll-room .chapter-body .scroll-table{overflow-x:auto;margin:16px 0}
.scroll-room .scroll-table table{border-collapse:collapse;min-width:420px;width:100%;font-size:14px}
.scroll-room .scroll-table td,.scroll-room .scroll-table th{border:1px solid #caba92;padding:7px 9px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.scroll-room .scroll-table th{background:#e7d9ba}
.scroll-room .room-chapter .chapter-scope{font:italic 14px var(--serif-body,Georgia,serif);color:#766957;border-top:1px dotted #c3b18b;margin-top:28px;padding-top:10px}
.scroll-room .room-paper footer{text-align:center;border:0;padding:25px 5px 0;color:#7b644e;font-style:italic;font-size:16px}
.scroll-room .paper-seal{display:inline-block;border:2px solid rgba(149,56,45,.76);color:#92382d;padding:2px 9px;transform:rotate(-5deg);font:600 14px var(--serif-display,Georgia,serif);letter-spacing:.15em;margin-top:16px}
.scroll-room .room-bottom{border-top:1px solid #79613f;color:#c7b18b;font-size:13px;letter-spacing:.07em;background:#0c1b23;padding:21px 0}
.scroll-room .room-loading{color:#665744;max-width:800px;margin:20px auto;padding:35px;min-height:200px}
#qw-full-reading{background:linear-gradient(110deg,#122630,#091821);color:#f4ead5;border:1px solid #a88d5a;padding:28px 30px;margin:37px 0;position:relative}
#qw-full-reading:before{content:"";position:absolute;inset:7px;border:1px solid rgba(200,165,102,.4);pointer-events:none}
#qw-full-reading h2{font:500 clamp(29px,3.7vw,40px)/1.16 var(--serif-display,Georgia,serif);color:#f2dfa9;margin:4px 0 12px}
#qw-full-reading .fieldnote{color:#ded0b7;max-width:64em}
#qw-full-reading a{color:#f2dfa9;text-underline-offset:3px}
#qw-full-reading .scroll-kicker{color:#d7b778;font-size:12px;letter-spacing:.24em;text-transform:uppercase}
#qw-full-reading button{border:1px solid #c4a36b;color:#f8e2ac;background:transparent;padding:10px 19px;margin:8px 8px 8px 0;cursor:pointer}
#qw-full-reading button.btn-primary{color:#122029;background:#efcf8b}
#qw-full-reading button:disabled{opacity:.45;cursor:not-allowed}
#qw-full-reading .scroll-details{padding:6px 0 12px;border-bottom:1px solid rgba(196,163,107,.3);margin-bottom:12px}
#qw-full-reading .scroll-details summary{cursor:pointer;color:#e2c994;font-size:15px;text-decoration:underline;text-decoration-color:rgba(226,201,148,.38);text-underline-offset:4px}
#qw-full-reading #qw-full-status{font-size:16px;line-height:1.45}
#qw-full-reading #qw-full-chapters{columns:2;column-gap:28px;padding:0 0 0 22px;color:#dfd0b1;font-size:15px}
#qw-full-reading #qw-full-chapters li{break-inside:avoid;padding:2px 0}
@media(max-width:800px){.scroll-room .hero-inside{grid-template-columns:1fr;padding:38px 18px}.scroll-room .hero-art{max-width:270px;max-height:160px;justify-self:center}.scroll-room .room-shell{grid-template-columns:1fr;gap:16px;padding-top:14px}.scroll-room .room-index{position:relative;top:0}.scroll-room .room-index ol{columns:2}.scroll-room .room-paper{padding:35px 26px}.scroll-room .room-topnav{gap:10px}}
@media(max-width:500px){.scroll-room .room-top{flex-wrap:wrap}.scroll-room .room-brand{font-size:24px}.scroll-room .room-hero h1{font-size:43px}.scroll-room .hero-strap{font-size:22px}.scroll-room .room-index ol{columns:1}.scroll-room .room-paper{padding:30px 23px}.scroll-room .room-paper:before{inset:7px}.scroll-room .room-chapter p,.scroll-room .room-chapter li{font-size:17px}.scroll-room .folio-heading{font-size:32px}#qw-full-reading{padding:23px 18px}#qw-full-reading #qw-full-chapters{columns:1}}
@media(prefers-reduced-motion:reduce){.scroll-room *,#qw-full-reading *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{@page{size:A4;margin:15mm 14mm}.scroll-room{background:#fff;color:#1e1e1e;font-size:12pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.room-header,.room-actions,.room-index,.room-bottom,.room-loading{display:none!important}.scroll-room .room-hero{min-height:95mm;border:1px solid #aa905d;break-after:page}.scroll-room .hero-inside{display:block;padding:16mm 8mm}.scroll-room .hero-art{max-width:200px;margin:0 auto}.scroll-room .room-shell{display:block;padding:0}.scroll-room .room-paper{background:#fff;box-shadow:none;padding:0}.scroll-room .room-paper:before{display:none}.scroll-room .room-chapter{break-inside:auto}.scroll-room .room-chapter h2,h3{break-after:avoid}.scroll-room .room-chapter p{orphans:3;widows:3}.scroll-room .room-paper>header{padding-top:14px}.scroll-room .scroll-table{overflow:visible}.scroll-room .scroll-table table{min-width:0;table-layout:fixed}.scroll-room .scroll-table td,.scroll-room .scroll-table th{font-size:9pt;word-break:break-word}}

/* Narrow reading: use the whole viewport, keep a bounded chapter index. */
@media(max-width:500px){.scroll-room .wrap{padding-left:17px;padding-right:17px}.scroll-room .room-index ol{max-height:225px;overflow-y:auto}.scroll-room .hero-inside{padding-left:18px;padding-right:18px}}
@media(max-width:800px){.scroll-room .room-illustrated-cover{width:min(100%,430px);justify-self:center}.scroll-room .hero-inside{gap:25px}}
