:root{color-scheme:dark;color:#f1e5c7;background:#10283c;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 45%,#27495e 0,#10283c 78%)}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:default}button:focus-visible{outline:2px solid #ebca81;outline-offset:4px}button{border:1px solid #d9cdad36;background:#ffffff04;border-radius:99px;min-height:44px;padding:8px 16px}button:hover:not(:disabled){background:#f6dfaa0d}
#preview{height:100svh;min-height:620px;max-width:1200px;margin:auto;display:grid;grid-template-rows:60px 74px minmax(270px,1fr) 194px;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);position:relative}
header{display:flex;align-items:center;gap:16px;padding:0 28px;font-size:12px;color:#b7c7c7}.brand{font:15px "Songti SC","STSong",serif;letter-spacing:3px;white-space:nowrap}.brand i{font-style:normal;color:#c0a36e;margin:0 5px}.edition{margin-left:auto;font-size:11px;color:#bca982;letter-spacing:1px}#directory-open{font-size:12px;border:0;padding:8px 0 8px 8px;color:#dfcb9b;white-space:nowrap}#directory-open span{margin-left:5px;font-size:20px;vertical-align:middle}
.scene-heading{text-align:center;align-self:center;pointer-events:none}.scene-heading p{margin:0 0 6px;font-size:10px;letter-spacing:3px;color:#cdb883}.scene-heading h1{margin:0;font:400 27px/1.4 "Songti SC","STSong",serif;letter-spacing:2px}
#stage{width:100%;height:100%;position:relative;min-width:0;min-height:0}#book{width:100%;height:100%;display:block;touch-action:none;transition:opacity .6s}#preview[data-state=loading] #book{opacity:0}#open-card{position:absolute;inset:6% 22%;border:0;border-radius:16px;background:transparent!important}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;font:13px "Songti SC",serif;color:#d2c199}#loading img{height:75%;max-width:68%;object-fit:contain;filter:drop-shadow(0 16px 24px #0006);border-radius:6px}#loading p{margin:0}#failure{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#10283cee}.hotspot{position:absolute;width:50px;height:50px;min-height:0;padding:0;border:0;background:transparent!important;transform:translate(-50%,-50%)}.hotspot:focus-visible{outline-style:dashed}
footer{text-align:center;padding:5px 16px 14px}#cover-copy{padding-top:28px}#cover-copy p,#ending>p{font:18px/1.8 "Songti SC","STSong",serif;letter-spacing:1px;margin:0 0 16px}#cover-copy small{font-size:11px;color:#8da6b3;letter-spacing:2px}#scene-lines{font:18px/1.65 "Songti SC","STSong",serif;margin:0 0 7px;white-space:pre-line;min-height:30px}.gesture-hint{font-size:10px;letter-spacing:1px;color:#89a3b0;margin:0 0 12px}nav{display:flex;align-items:center;justify-content:center;gap:12px}.interactions button{font-size:12px;padding:6px 15px;min-height:36px}.interactions button[aria-pressed=true]{border-color:#dfc27f;color:#efce8b}.paging{margin-top:15px;gap:22px}.paging button{font-size:13px;min-width:120px;border-color:transparent}.paging button:last-child{background:#e4c786;color:#20394a}.paging>span{font:11px Georgia,serif;color:#9ab1ba;letter-spacing:2px}#ending{padding-top:18px}#ending div{display:flex;justify-content:center;gap:12px}#ending button{font-size:13px}#ending #restart{background:#e4c786;color:#20394a;border-color:#e4c786}#return-message{display:block;color:#bac5bf;margin-top:12px}
dialog{color:#efe1bb;background:radial-gradient(ellipse at top,#2c4b59,#173142 90%);border:1px solid #b8a77860;border-radius:20px;width:min(700px,calc(100% - 32px));padding:24px;margin:auto;max-height:calc(100svh - 36px);overflow:auto;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#071826b8;backdrop-filter:blur(7px)}.directory-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.directory-heading p{font-size:10px;color:#b7a479;letter-spacing:3px;margin:0 0 8px}.directory-heading h2{font:22px "Songti SC",serif;margin:0;letter-spacing:2px}#directory-close{border:0;font-size:26px;padding:2px 8px;width:44px;line-height:1}.chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}.chapter{min-width:0;padding:0 0 9px;text-align:left;border:0;border-radius:4px;position:relative}.chapter-art{display:block;aspect-ratio:1.4;position:relative;background:#0e243466;border:1px solid #c9b78638;border-radius:3px 3px 12px 3px;overflow:hidden}.chapter.available .chapter-art{background:radial-gradient(ellipse,#476276,#152e40);border-color:#cfb78070}.chapter-art img{display:block;width:100%;height:100%;object-fit:cover}.chapter-art svg{width:100%;height:100%;padding:7px;color:#cbb884;opacity:.4}.chapter small{display:block;margin-top:9px;font-size:9px;color:#b6a37e;letter-spacing:1px}.chapter-title{display:block;font:12px/1.5 "Songti SC",serif;margin-top:4px;white-space:nowrap}.chapter[aria-current=page] .chapter-art{border-color:#f1d89a;box-shadow:0 0 0 1px #f1d89a}.seal{position:absolute;right:10px;top:0;writing-mode:vertical-rl;padding:9px 6px 14px;background:linear-gradient(100deg,#c2a66b,#e1c48a 55%,#bc9e63);color:#453b2a;font:11px "Songti SC",serif;letter-spacing:3px;clip-path:polygon(0 0,100% 0,100% 100%,50% 91%,0 100%);box-shadow:0 4px 10px #0006;transform-origin:50% 0}.shaking .seal{animation:seal-shake .65s ease-in-out}.chapter.sealed:hover{background:transparent}#directory-note{text-align:center;font:13px/1.8 "Songti SC",serif;color:#d5c49c;min-height:24px;margin:22px 0 0}.noscript{position:fixed;inset:45% 0;text-align:center;background:#10283c;padding:20px}
@keyframes seal-shake{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}50%{transform:rotate(7deg)}75%{transform:rotate(-4deg)}}
dialog[open]{display:flex;flex-direction:column}.directory-heading,#directory-note{flex-shrink:0}.chapters{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d7bd8244 transparent;padding:4px;margin:-4px}.seal{white-space:nowrap}
@media(max-width:350px){.seal{padding:7px 5px 10px;font-size:10px;letter-spacing:2px;right:8px}}
@media(max-width:600px){#preview{grid-template-rows:52px 66px minmax(240px,1fr) 204px;min-height:610px}header{padding:0 18px;gap:10px}.brand{font-size:13px;letter-spacing:2px}.brand i{margin:0}.edition{font-size:9px;letter-spacing:0}#directory-open{font-size:11px}.scene-heading h1{font-size:24px}#scene-lines{font-size:16px}.paging{gap:10px}.paging button{min-width:112px}.chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chapter-art{aspect-ratio:1.8}.chapter-art svg{padding:4px}.chapter-title{font-size:13px}.chapter small{margin-top:7px}dialog{padding:21px 19px}.directory-heading{margin-bottom:18px}.directory-heading h2{font-size:21px}#directory-note{font-size:12px;margin-top:18px}#cover-copy p,#ending>p{font-size:16px;letter-spacing:0}}
@media(max-height:700px) and (min-width:601px){#preview{grid-template-rows:48px 56px minmax(260px,1fr) 184px;min-height:550px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
