
/* Isolate overlays from scene-wide CSS: the scene's `header` and `button` CSS must not style these. */
body>dialog.dnhOverlay,body>#dnhScroll,body>#collectedViewer{position:fixed!important;inset:0!important;margin:auto!important;box-sizing:border-box!important;overflow:auto!important;max-height:min(84vh,790px)!important;max-width:min(94vw,1020px)!important;min-height:0!important;background:transparent!important;padding:0!important;border:0!important;color:#4b514d!important;filter:none!important}
body>dialog.dnhOverlay:not([open]),body>#dnhScroll:not([open]),body>#collectedViewer:not([open]){display:none!important}
body>dialog.dnhOverlay::backdrop,body>#dnhScroll::backdrop,body>#collectedViewer::backdrop{background:rgba(12,24,25,.72)!important;backdrop-filter:blur(5px)!important}
body>dialog.dnhOverlay{width:min(850px,92vw)!important;overflow:visible!important;max-height:min(80vh,740px)!important}
body>dialog.dnhOverlay>.dnhPanel{position:relative!important;isolation:isolate!important;box-sizing:border-box!important;width:100%!important;min-height:440px!important;max-height:min(80vh,740px)!important;overflow:auto!important;padding:48px 66px 48px!important;margin:0!important;border:1px solid #b9a786!important;border-radius:2px!important;box-shadow:0 25px 70px #070e0eb0,inset 0 0 0 12px #efe7d6,inset 0 0 0 13px #b6a58780!important;background:repeating-linear-gradient(90deg,#5b604708 0 1px,transparent 1px 5px),radial-gradient(ellipse at 20% 14%,#fff9e9,#f0e6d2 75%,#e4d7bb)!important;color:#44524b!important;font:17px/1.85 'Noto Serif CJK SC','Songti SC',KaiTi,serif!important}
body>dialog.dnhOverlay>.dnhPanel>header{all:unset!important;position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:22px!important;padding:0 0 22px!important;margin:0 0 24px!important;border-bottom:1px solid #b4a58b8c!important;box-sizing:border-box!important;pointer-events:auto!important;background:none!important;color:#455d58!important;text-shadow:none!important}
body>dialog.dnhOverlay>.dnhPanel>header>div{position:static!important;display:block!important;min-width:0!important}
body>dialog.dnhOverlay>.dnhPanel>header small{display:block!important;color:#987d65!important;letter-spacing:.25em!important;font-size:13px!important;line-height:1.4!important;margin-bottom:12px!important}
body>dialog.dnhOverlay>.dnhPanel>header h2{all:unset!important;display:block!important;font:normal 30px/1.3 'Songti SC',KaiTi,serif!important;letter-spacing:.18em!important;color:#485f59!important;white-space:normal!important}
body>dialog.dnhOverlay .dnhExit{all:unset!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;border:1px solid #a9a58f!important;border-radius:50%!important;background:#f3ead8!important;color:#50645a!important;text-align:center!important;font:24px/1 serif!important;cursor:pointer!important;position:relative!important;z-index:3!important}
body>dialog.dnhOverlay .dnhExit:hover{background:#dce5db!important}
body>dialog.dnhOverlay .dnhTabs{position:relative!important;display:flex!important;gap:0!important;align-items:center!important;justify-content:flex-start!important;margin:0 0 25px!important;padding:0 0 12px!important;border-bottom:1px solid #b4a58b!important;min-height:47px!important}
body>dialog.dnhOverlay .dnhTabs button{all:unset!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;padding:9px 24px!important;margin:0 12px 0 0!important;border:1px solid #aab09f!important;border-radius:2px!important;background:#f2ead8!important;font:16px/1.3 KaiTi,serif!important;color:#58665c!important;cursor:pointer!important;min-height:42px!important}
body>dialog.dnhOverlay .dnhTabs button[aria-selected=true]{background:#546c64!important;color:#f9f0df!important;border-color:#546c64!important}
body>dialog.dnhOverlay .dnhPage{position:relative!important;display:block!important;overflow:visible!important;line-height:2!important;padding:0 8px!important;margin:0!important;color:#4e544b!important}
body>dialog.dnhOverlay .dnhPage[hidden]{display:none!important}
body>dialog.dnhOverlay .dnhPage p{margin:0 0 15px!important;line-height:1.95!important;font-size:16px!important}
body>dialog.dnhOverlay .dnhPage label{display:flex!important;align-items:center!important;gap:10px!important;padding:13px 0!important;margin:0!important;border-bottom:1px solid #beb19b70!important}
body>#dnhAudioPanel .dnhPanel>p{margin:0 0 24px!important;color:#807460!important;font-size:15px!important}
body>#dnhAudioPanel .dnhSoundRow{display:grid!important;grid-template-columns:106px minmax(100px,1fr) 50px 70px!important;gap:16px!important;align-items:center!important;margin:0!important;padding:18px 0!important;border-bottom:1px solid #abac9673!important;color:#455a53!important}
body>#dnhAudioPanel .dnhSoundRow label{font-size:17px!important}
body>#dnhAudioPanel .dnhSoundRow input{position:relative!important;display:block!important;width:100%!important;min-width:0!important;height:6px!important;accent-color:#5b786d!important;cursor:pointer!important;pointer-events:auto!important}
body>#dnhAudioPanel .dnhSoundRow output{font-size:14px!important;color:#756e5c!important;text-align:right!important}
body>#dnhAudioPanel .dnhSoundRow button{all:unset!important;display:grid!important;place-items:center!important;padding:6px 8px!important;min-height:29px!important;border:1px solid #8a9e91!important;background:#536f66!important;color:#fff7e9!important;font:15px KaiTi,serif!important;cursor:pointer!important}
body>#dnhAudioPanel .dnhSoundRow button[aria-pressed=false]{color:#756b61!important;background:#ebe4d5!important}
body>#dnhScroll{width:min(1040px,94vw)!important;max-height:min(84vh,760px)!important;overflow:visible!important}
body>#dnhScroll .dnhScrollFrame{position:relative!important;box-sizing:border-box!important;min-height:min(70vh,620px)!important;max-height:min(82vh,740px)!important;overflow:auto!important;padding:46px 64px 30px!important;border:0!important;border-left:13px solid #a78660!important;border-right:13px solid #a78660!important;clip-path:none!important;border-radius:1px!important;background:repeating-linear-gradient(94deg,#78603c08 0 2px,transparent 2px 6px),radial-gradient(ellipse at 46% 29%,#fbf3df,#e8d9bd)!important;box-shadow:0 20px 70px #0008,inset 0 0 24px #a185573b!important;animation:none!important}
body>#dnhScroll .dnhScrollFrame:before,body>#dnhScroll .dnhScrollFrame:after{width:12px!important;top:0!important;bottom:0!important;border:0!important;border-radius:0!important;background:linear-gradient(90deg,#755235,#c1a27b,#76563a)!important}
body>#dnhScroll .dnhScrollHead{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:24px!important;padding:0 0 18px!important;border-bottom:1px solid #bca787!important}
body>#dnhScroll .dnhScrollHead h2{color:#54685d!important;font:normal 31px/1.5 KaiTi,serif!important;letter-spacing:.17em!important}
body>#dnhScroll .dnhScrollHead small{font-size:13px!important;letter-spacing:.23em!important}
body>#dnhScroll #dnhCloseBag{all:unset!important;display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;border:1px solid #a49b84!important;background:#f4e9d3!important;border-radius:50%!important;font:25px serif!important;color:#4c645a!important;cursor:pointer!important}
body>#dnhScroll .dnhItems{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:60px!important;min-height:300px!important;max-height:390px!important;padding:20px 18px 35px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important}
body>#dnhScroll .dnhCard{position:relative!important;flex:0 0 250px!important;width:250px!important;min-height:255px!important;padding:10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;background:none!important;box-shadow:none!important;border:0!important;cursor:pointer!important;text-align:center!important}
body>#dnhScroll .dnhCard:before{content:none!important}
body>#dnhScroll .dnhCard img{display:block!important;max-width:100%!important;width:230px!important;height:170px!important;object-fit:contain!important;filter:drop-shadow(0 6px 8px #44382e51)!important}
body>#dnhScroll .dnhCard strong{font:normal 23px KaiTi,serif!important;letter-spacing:.12em!important;color:#704c3e!important}
body>#dnhScroll .dnhCard small{font:14px/1.65 KaiTi,serif!important;color:#84735b!important}
body>#dnhScroll .dnhScrollFoot{border-top:1px solid #bba889!important;padding-top:14px!important}
body>#collectedViewer{width:min(920px,93vw)!important;max-height:80vh!important;border:1px solid #a98d6b!important;background:repeating-linear-gradient(95deg,#a3987d09 0 1px,transparent 1px 7px),radial-gradient(ellipse,#faf0da,#e9dac0)!important;clip-path:none!important;box-shadow:0 22px 65px #0009!important}
body>#collectedViewer #closeCollectedViewer{position:absolute!important;right:24px!important;top:22px!important;z-index:5!important;float:none!important;width:39px!important;height:39px!important;display:grid!important;place-items:center!important;border:1px solid #a59b86!important;border-radius:50%!important;background:#f7edda!important;color:#496057!important;font:25px serif!important;cursor:pointer!important}
body>#collectedViewer #collectedContent{padding:65px 70px 45px!important;max-height:80vh!important;overflow:auto!important}
body>#collectedViewer #collectedContent h2{font:normal 31px KaiTi,serif!important;letter-spacing:.2em!important;color:#6d5140!important}
/* dialogue matches chapter one: same paper tone, speaker slip, one discreet Continue cue */
body.chapter-2 #game #subtitle{position:absolute!important;top:auto!important;bottom:45px!important;left:12%!important;right:12%!important;width:auto!important;height:auto!important;min-height:145px!important;max-height:185px!important;padding:30px 38px 35px!important;overflow:visible!important;background:linear-gradient(110deg,#f6eddbfa,#eaddc6fa)!important;border:1px solid #aa9476!important;border-radius:0!important;box-shadow:0 4px 28px #28281d35!important;text-align:left!important;z-index:40!important;cursor:pointer!important}
body.chapter-2 #game #subtitle:before{content:''!important;position:absolute!important;inset:5px!important;border:1px solid #bba78680!important;pointer-events:none!important}
body.chapter-2 #game #subtitle #speaker{position:absolute!important;top:-19px!important;left:26px!important;padding:8px 25px!important;background:#536568!important;border:1px solid #c2b294!important;color:#fff7e5!important;font:19px/1.4 KaiTi,serif!important;letter-spacing:3px!important}
body.chapter-2 #game #subtitle #line{padding:0!important;margin:7px 0 15px!important;max-height:105px!important;overflow:auto!important;color:#39372f!important;font:clamp(18px,1.65vw,25px)/1.7 KaiTi,serif!important;letter-spacing:1px!important;text-align:left!important}
body.chapter-2 #game #subtitle .dialogue-nav{position:absolute!important;left:auto!important;right:20px!important;bottom:10px!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;border:0!important;background:none!important;padding:0!important}
body.chapter-2 #game #subtitle #prevLine{display:none!important}
body.chapter-2 #game #subtitle #lineCount{display:none!important}
body.chapter-2 #game #subtitle #nextLine{all:unset!important;position:relative!important;display:block!important;cursor:pointer!important;color:#704d36!important;font:15px KaiTi,serif!important;padding:6px!important}
@media(max-width:720px){body>dialog.dnhOverlay>.dnhPanel{padding:35px 22px!important}body>#dnhAudioPanel .dnhSoundRow{grid-template-columns:75px 1fr 36px 52px!important;gap:7px!important}body>#dnhScroll .dnhScrollFrame{padding:35px 22px!important}body>#dnhScroll .dnhCard{flex-basis:205px!important;width:205px!important}}
