html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#17221c}#gameHost{width:100%;height:100%}#collectedViewer{z-index:80001;width:min(680px,90vw);max-height:80vh;background:#eee2cb;color:#3f392e;border:2px solid #a78c67;padding:24px;font:20px/1.7 KaiTi,serif}#collectedViewer::backdrop{background:#101a15aa}#collectedViewer button{float:right;font-size:24px;background:none;border:0;cursor:pointer}#collectedViewer img{display:block;max-width:100%;max-height:60vh;margin:auto;object-fit:contain}#chapterPicker{z-index:80002;width:min(580px,90vw);background:#eee2cb;color:#3f392e;border:2px solid #a78c67;padding:25px;font:20px/1.6 KaiTi,serif}#chapterPicker::backdrop{background:#101a15bb}#chapterPicker h2{font-weight:400;margin:0 0 15px}#chapterPicker>button{position:absolute;right:12px;top:8px;background:none;border:0;font-size:28px;cursor:pointer}#chapterChoices{display:grid;gap:8px}#chapterChoices button{border:1px solid #b3a084;background:#f7edd9;padding:12px 16px;font:inherit;text-align:left;cursor:pointer}#chapterChoices button:hover{background:#fff6e6}#storyBridge{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#17221cef;color:#f4e8d0;font:clamp(22px,3vw,35px)/1.9 KaiTi,STKaiti,serif;text-align:center;padding:9vw;letter-spacing:.1em}#storyBridge[hidden]{display:none}.unified-image-view{position:fixed;inset:0;z-index:999999;background:#17221cf2;display:grid;place-items:center}.unified-image-view img{max-width:90vw;max-height:90vh}.unified-image-view button{position:absolute;right:2rem;top:1rem;font-size:2rem}.unified-error{position:fixed;inset:0;display:grid;place-content:center;text-align:center;background:#17221c;color:#f4e8d0;font:24px/1.8 KaiTi,serif}.unified-error small{font:14px/1.5 sans-serif}#chapterChoices button:disabled{cursor:not-allowed;opacity:.55;background:#dcd2bf;color:#776e60}#chapterChoices button:not(:disabled):focus-visible{outline:3px solid #a34e38}#chapterChoices .save-summary{font-size:16px;color:#7e473b;border-bottom:1px solid #c7ae8a;padding-bottom:8px}#chapterChoices .save-hint{font-size:14px;color:#756752;margin:4px 0 0}.inherited-collection{padding:18px 10px;border-top:1px solid #bba587;margin-top:16px}.inherited-collection h3{font:20px KaiTi,serif;color:#7e473b}.inherited-collection button{border:1px solid #c6ae88;background:#f9eed8;color:#554638;padding:9px 15px;margin:5px;cursor:pointer;border-radius:5px;font:17px KaiTi,serif}
#dnhTools{position:fixed;z-index:70000;top:12px;left:12px;display:flex;gap:8px;align-items:center;pointer-events:auto;font-family:KaiTi,STKaiti,serif}
#dnhTools button{appearance:none;cursor:pointer;border:1px solid #9e7853;background:linear-gradient(#fff2db,#e9d6b1);box-shadow:0 3px 10px #24180e66;color:#493929;border-radius:7px;padding:10px 14px;font:600 17px KaiTi,serif;min-height:44px;transition:transform .15s,filter .15s}
#dnhTools button:hover,#dnhTools button:focus-visible{transform:translateY(-2px);filter:brightness(1.07);outline:2px solid #ab5d44;outline-offset:2px}
#dnhTools button:first-child{background:linear-gradient(#a04736,#713728);color:#fff3d8;border-color:#deb88c;animation:dnhHint 3s ease-in-out 2}
#dnhTools .hint{background:#efe3c9e8;color:#694f3a;padding:7px 9px;border-radius:5px;font-size:14px}
@keyframes dnhHint{50%{box-shadow:0 0 0 5px #d9a85777,0 3px 12px #24180e66}}
#dnhToast{position:fixed;z-index:91000;left:50%;bottom:38px;transform:translateX(-50%);background:#423528;color:#fff0d5;padding:10px 23px;border:1px solid #b79b76;border-radius:6px;font:17px KaiTi,serif;pointer-events:none}
#dnhConfirm{z-index:90000;border:2px solid #a0825b;border-radius:8px;background:#f4e8d1;color:#4b3c30;padding:25px;max-width:min(420px,88vw);font:18px/1.7 KaiTi,serif}
#dnhConfirm::backdrop,#dnhScroll::backdrop{background:#181b1bc9;backdrop-filter:blur(3px)}
#dnhConfirm menu{display:flex;gap:12px;justify-content:flex-end;padding:0}
#dnhConfirm button,#dnhScroll button{cursor:pointer;border:1px solid #9e7755;background:#f4e6cd;color:#583f30;border-radius:5px;padding:9px 16px;font:17px KaiTi,serif}
#dnhConfirm #dnhYes{background:#843e32;color:#fff0dc}
#dnhScroll{z-index:85000;border:0;background:transparent;max-width:98vw;max-height:95vh;width:min(1290px,98vw);padding:0;overflow:visible;color:#483b2b;font:18px/1.7 KaiTi,serif}
.dnhScrollFrame{position:relative;padding:25px 36px;background:linear-gradient(90deg,#95734f 0 2%,#ead7b3 2% 2.8%,#f4ead4 2.8% 97%,#ead7b3 97% 98%,#95734f 98%);border-top:14px solid #a78a62;border-bottom:14px solid #a78a62;border-radius:15px;box-shadow:0 16px 45px #0008,inset 0 0 28px #947c5650;animation:unroll .5s ease-out;transform-origin:left center}
@keyframes unroll{from{transform:scaleX(.08);opacity:.2}to{transform:scaleX(1);opacity:1}}
.dnhScrollFrame:before,.dnhScrollFrame:after{content:'';position:absolute;top:-21px;bottom:-21px;width:24px;background:linear-gradient(90deg,#6d553c,#e7cb98,#71573b);border:2px solid #665038;border-radius:15px}
.dnhScrollFrame:before{left:-6px}.dnhScrollFrame:after{right:-6px}
.dnhScrollHead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ab8c69;gap:15px;padding:2px 10px 12px}
.dnhScrollHead h2{margin:0;color:#793d31;letter-spacing:.18em;font-size:29px;font-weight:500}
.dnhScrollHead small{color:#947c61;font-size:14px}
.dnhItems{display:flex;align-items:stretch;gap:18px;overflow-x:auto;max-width:100%;min-height:260px;padding:23px 12px 26px;scroll-snap-type:x mandatory}
.dnhCard{flex:0 0 218px;scroll-snap-align:start;background:#faf2df;border:1px solid #bda781;box-shadow:0 3px 10px #947c5638;padding:14px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;transition:transform .2s}
.dnhCard:hover{transform:translateY(-5px)}.dnhCard img{width:145px;height:138px;object-fit:contain}.dnhCard strong{color:#794636;font-size:20px}.dnhCard small{color:#786d59;font-size:14px;line-height:1.5}.dnhCard button{margin-top:auto}
.dnhEmpty{flex:1;min-width:200px;text-align:center;margin:auto;color:#92795b;line-height:2.3;letter-spacing:.12em}
.dnhScrollFoot{display:flex;justify-content:space-between;padding:0 12px;color:#877258;font-size:14px}
#dnhScroll[open]~#dnhToast{z-index:91000}
@media(max-width:700px){#dnhTools{top:6px;left:6px;gap:4px}#dnhTools button{font-size:13px;padding:8px 7px;min-height:36px}#dnhTools .hint{display:none}.dnhScrollFrame{padding:14px 20px}.dnhCard{flex-basis:160px}.dnhScrollHead h2{font-size:21px}}


/* 2026-10 integrated UI: paper / quiet ink / restrained floral details */
#dnhTools{top:12px;left:16px;gap:10px;z-index:72000}
#dnhTools #dnhChapter{display:flex;align-items:center;gap:9px;min-height:53px;padding:7px 12px 7px 16px;background:linear-gradient(105deg,#f4e9d2ed,#e7d4b8ed);color:#664d3b;border:1px solid #a98c6c;border-radius:4px;box-shadow:0 2px 0 #775c423f,0 4px 13px #2a201a45;animation:none;white-space:nowrap}
#dnhChapter small{font:12px/1.4 KaiTi,STKaiti,serif;color:#806b56;letter-spacing:.14em;border-right:1px solid #bea88b;padding-right:9px}
#dnhChapterLabel{font:600 17px KaiTi,STKaiti,serif;letter-spacing:.06em}
#dnhChapter b{font:24px serif;color:#9b5943;line-height:1}
#dnhTools .hint{font:13px KaiTi,serif;padding:6px 9px;border:1px solid #d8c5a4;box-shadow:0 2px 7px #0002;background:#f2e6cfed;color:#7a5744;animation:dnhHintFade 9s ease-in-out 1 forwards;pointer-events:none}
@keyframes dnhHintFade{0%,60%{opacity:1}100%{opacity:0}}
#dnhBag{position:fixed;right:17px;top:12px;z-index:72001;cursor:pointer;display:flex;align-items:center;gap:7px;border:1px solid #ad8a67;border-radius:5px;color:#614a35;background:linear-gradient(140deg,#f7ecd7ef,#dec8a7ee);padding:11px 15px;font:600 19px KaiTi,STKaiti,serif;box-shadow:0 4px 13px #21160c4c}
#dnhBag>span:first-child{color:#a25843}#dnhBagDot{background:#b8543a;width:6px;height:6px;border-radius:50%}#dnhBagDot[hidden]{display:none}
#dnhBag:hover,#dnhBag:focus-visible{background:#fff4df;outline:2px solid #a96c4e;outline-offset:2px}
#dnhSave,#dnhMore{display:none!important}
#chapterPicker{max-height:min(80vh,750px);overflow:auto;width:min(720px,91vw);padding:29px clamp(20px,4vw,48px);border:7px double #9e8264;border-radius:8px;background:radial-gradient(ellipse at 15% 20%,#fff7e7,#f1e5cf 80%);box-shadow:0 22px 60px #0007,inset 0 0 38px #ae8d5733}
#chapterPicker h2{text-align:center;margin:4px 0 17px;color:#684b3e;letter-spacing:.23em;font:29px KaiTi,serif}
.dnhMenuEyebrow{text-align:center;color:#9a7d64;letter-spacing:.2em;font:13px KaiTi,serif}
#chapterChoices{gap:7px}#chapterChoices>button{border:1px solid #c6b49b;border-left:4px solid #b69a80;border-radius:3px;background:#fbf3e5;padding:10px 15px;font:17px KaiTi,serif}
#chapterChoices>button:disabled{opacity:.69;background:#e6dfd1;color:#807a71}
#chapterChoices .save-summary{margin:0 0 7px;font-size:15px}
#chapterChoices .save-hint{order:2;margin:7px 0 0;line-height:1.6}
.dnhMenuSection{margin:14px 0 3px;padding-top:12px;border-top:1px solid #c6b194;color:#8b6149;letter-spacing:.16em;font:17px KaiTi,serif}
#chapterChoices .chapter-actions{display:flex;gap:9px;flex-wrap:wrap}
#chapterChoices .chapter-actions button{flex:1 1 160px;text-align:center;border:1px solid #bba58a;border-radius:4px;background:linear-gradient(#fdf6e8,#ecddc5);font:17px KaiTi,serif;color:#574536;padding:10px;cursor:pointer}
#chapterChoices .chapter-actions button.save{border-color:#a58860;background:#e7d6b7}
#chapterChoices .chapter-actions button.danger{color:#8d493b}
#chapterChoices .chapter-actions button:hover{filter:brightness(1.04)}
#dnhScroll{width:min(1150px,94vw)}.dnhScrollFrame{border-top:10px solid #b29977;border-bottom:10px solid #b29977;background:linear-gradient(90deg,#ae8b67 0 2%,#f2e7d1 2.1% 97.9%,#ae8b67 98%);box-shadow:0 15px 40px #0007,inset 0 0 35px #a68e6650}
.dnhScrollHead h2{color:#76604c;font:28px KaiTi,serif}.dnhCard{background:#f6eddc;border:1px solid #cbb99a;box-shadow:none;border-radius:3px}.dnhCard strong{color:#725644}
.dnhEmpty:before{content:'❀';display:block;font:48px KaiTi,serif;color:#c9b99c;opacity:.65}.dnhEmpty{padding:20px}
#collectedViewer{width:min(1020px,92vw);max-width:92vw;max-height:83vh;padding:25px 42px;border:10px double #a48b68;border-radius:5px;background:linear-gradient(90deg,#d2b995 0 1.3%,#f5e9d3 1.5% 98.5%,#d2b995 98.7%);box-shadow:0 15px 48px #0008;overflow:auto}
#collectedViewer h2{text-align:center;font:28px KaiTi,serif;color:#754d3f;letter-spacing:.19em;margin:4px 0}
#collectedViewer p{text-align:center;font:17px/1.8 KaiTi,serif;color:#73614c}
#collectedViewer img{width:auto;max-width:95%;max-height:54vh;object-fit:contain;margin:12px auto 6px}
#closeCollectedViewer{position:sticky;top:0;z-index:2;color:#8e493c}
@media(max-width:700px){#dnhTools{left:6px;top:7px}#dnhTools #dnhChapter{padding:6px 8px;min-height:40px;gap:4px}#dnhChapter small{display:none}#dnhChapterLabel{font-size:13px}#dnhBag{right:7px;top:7px;padding:8px 9px;font-size:14px}#dnhScroll{width:95vw}.dnhScrollFrame{padding:14px 18px}#collectedViewer{padding:14px}}


/* Original-controls edition: no duplicated corner buttons */
#dnhTools,#dnhBag,#dnhSave,#dnhMore{display:none!important}
.chapter-switch{position:relative!important;cursor:pointer!important;isolation:isolate;transition:filter .2s ease!important}
.chapter-switch:hover{filter:brightness(1.15) drop-shadow(0 0 7px #e7c48c)!important}
/* 原红色章节标志本身微光提示：不再显示额外文字或箭头 */
.chapter-switch::after{content:none!important;display:none!important}
.chapter-switch{animation:dnhSealGlow 4.8s ease-in-out infinite!important;outline:1px solid transparent;outline-offset:2px}
.chapter-switch:hover,.chapter-switch:focus-visible{filter:brightness(1.11) drop-shadow(0 0 8px #f4d8a0)!important;outline-color:#d8b77d!important}
@keyframes dnhSealGlow{0%,13%,70%,100%{filter:drop-shadow(0 0 0px transparent)}27%,45%{filter:drop-shadow(0 0 6px #f6d7a6bb) drop-shadow(0 0 11px #b7774380)}57%{filter:drop-shadow(0 0 2px #f6d7a644)}}
@media(prefers-reduced-motion:reduce){.chapter-switch{animation:none!important}}
/* 角标不是库存数量；打开卷内才看到收藏 */
#gameHost #badge,#gameHost button#bag i#badge,#gameHost button#book #badge{display:none!important;visibility:hidden!important}
#chapterPicker,#dnhScroll,#collectedViewer,#dnhConfirm{font-family:KaiTi,STKaiti,'Noto Serif CJK SC',serif!important}
#chapterPicker{width:min(850px,92vw);padding:clamp(22px,3vw,38px);border:12px solid #ae8963;border-radius:2px;background:radial-gradient(ellipse at center,#fbf2df,#eee0c5);box-shadow:inset 0 0 0 2px #e9d4ad,inset 0 0 65px #94704b48,0 20px 80px #090d0aaa;max-height:83vh}
#chapterPicker::backdrop,#dnhScroll::backdrop{background:#171914bb;backdrop-filter:blur(4px)}
#chapterPicker h2{font-size:30px;color:#8a4438;letter-spacing:.28em;border-bottom:1px solid #beaa87;padding-bottom:13px}
#chapterChoices>button{border:1px solid #cdb69a!important;border-radius:2px!important;background:linear-gradient(90deg,#faf0db,#f4e6d0)!important;padding:14px 18px!important;font-size:18px!important}
#chapterChoices>button:hover:not(:disabled){background:#fff9eb!important;border-color:#ad6954!important}
#chapterChoices>button:disabled{filter:grayscale(.55);opacity:.7}
#chapterChoices .chapter-actions button{background:#efe1c7;border-radius:2px;box-shadow:inset 0 0 0 1px #f9f0df}
#chapterChoices .chapter-actions button.save{background:#e2c9a5;color:#6d3a2b}
#dnhScroll{width:min(1160px,95vw);max-height:88vh}
.dnhScrollFrame{border:0;border-left:23px solid #8e6346;border-right:23px solid #8e6346;border-radius:3px;background:repeating-linear-gradient(90deg,transparent 0 185px,#9d88651b 186px 188px,transparent 189px 190px),radial-gradient(ellipse at center,#fcf4df,#ead8b9);padding:29px 35px;box-shadow:inset 0 0 35px #b38e624f,0 19px 65px #0008;animation:unroll .55s ease-out}
.dnhScrollFrame::before,.dnhScrollFrame::after{top:-7px;bottom:-7px;background:linear-gradient(90deg,#674a34,#d2ae7a,#876044);border-radius:11px;width:18px}
.dnhScrollHead{border-bottom:1px solid #bda581}.dnhScrollHead h2{font-size:28px;color:#8b4939}
.dnhCard{background:linear-gradient(#fff8e9,#f3e5cb);border:1px solid #c4ac88;border-radius:2px;box-shadow:0 4px 12px #97795e24}
.dnhCard strong{color:#7c4238}.dnhScrollFoot{border-top:1px solid #d5c19e;padding-top:10px}
#collectedViewer{background:#f4e8ce;border:9px double #a48763;box-shadow:inset 0 0 35px #967b523c}
@media(max-width:650px){.dnhScrollFrame{padding:18px 12px;border-left-width:14px;border-right-width:14px}.dnhScrollHead h2{font-size:21px}}
