/* Original story UI artwork, arranged for desktop and touch screens. */
:root{--gold:#f6e9be;--muted:#bac3e1;--line:#b4bbf044;color-scheme:dark}body{background:#0b1026;color:#f8f5ff}button{border-radius:12px;transition:background .2s,box-shadow .2s,transform .2s;min-height:44px}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid #f8e9b5;outline-offset:4px}.home{background:#0c1231;isolation:isolate;min-height:100svh}.hero{inset:0 0 0 28%;opacity:.88;filter:saturate(.85);background-position:65% 35%}.home-shade{background:linear-gradient(90deg,#0c102bf5 7%,#111b43db 40%,#111b4320 90%),linear-gradient(0deg,#0a102b 0%,transparent 55%,#0b123366)}.home:after{content:'';position:absolute;inset:15px;border:1px solid #c6d0ff30;pointer-events:none;z-index:1;clip-path:polygon(0 0,20% 0,20% 1px,80% 1px,80% 0,100% 0,100% 100%,80% 100%,80% calc(100% - 1px),20% calc(100% - 1px),20% 100%,0 100%)}header{padding:30px 5vw;z-index:2}.brand{color:#e3e8ff;font-family:"Noto Serif SC",serif;font-weight:400}.edition{color:#d0d6ef;font-size:10px;letter-spacing:3px}.intro{margin:6vh 0 7vh 9vw}.title-jewel{color:#f0e3bd;font-size:45px;line-height:1;margin-bottom:20px;text-shadow:0 0 25px #c7a8ff}.eyebrow{color:#c4caf2;letter-spacing:7px;font-size:11px}.eyebrow:before{background:linear-gradient(90deg,transparent,#dce2ff);width:40px}h1{font-size:clamp(34px,4.1vw,64px);font-weight:600;letter-spacing:3px;line-height:1.55;text-shadow:0 4px 30px #040920cc}h1 span{background:linear-gradient(120deg,#fff9dc 10%,#d9c9ff 50%,#fff3c9 90%);background-clip:text;-webkit-background-clip:text;color:transparent}.intro p{font-size:14px;color:#c7cbe0;line-height:2.2}.home-actions{margin-top:30px;gap:12px}.primary,#resume{background:linear-gradient(115deg,#53549c,#7774bb 50%,#465c9b);border:1px solid #e5dcafaa;color:#fff9df;box-shadow:inset 0 0 0 3px #bcb9ed21,0 4px 25px #8182e52b;padding:15px 25px;letter-spacing:3px;border-radius:3px 19px 3px 19px}.primary:hover,#resume:hover{background:linear-gradient(115deg,#676ab8,#8b84d0,#5c76b9);box-shadow:0 0 28px #b2b4ff55}.text-btn{color:#dce0ff;font-size:12px;letter-spacing:2px}.caption{color:#aeb8d3;letter-spacing:2px;margin-top:28px}footer{z-index:2;color:#8e9bbd;padding:22px 5vw}.celestial-ring{position:absolute;width:600px;height:600px;border:1px solid #e7d4a139;right:4%;top:11%;border-radius:50%;pointer-events:none;transform:rotate(-25deg);box-shadow:0 0 60px #a7adf70c,inset 0 0 60px #a7adf70c}.celestial-ring:before{content:'✦';position:absolute;color:#faf0cd;font-size:28px;top:35px;left:125px;text-shadow:0 0 15px white}.celestial-ring:after{content:'';position:absolute;inset:18px;border:1px dashed #cbd9ff32;border-radius:50%}.star-dust{pointer-events:none;position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 15% 20%,#fff8dd 50%,transparent),radial-gradient(1px 1px at 67% 15%,white 50%,transparent),radial-gradient(2px 2px at 83% 66%,#dbceff 50%,transparent),radial-gradient(1px 1px at 38% 44%,white 50%,transparent),radial-gradient(2px 2px at 90% 32%,white 50%,transparent);background-size:430px 390px;animation:starlight 7s ease-in-out infinite alternate;z-index:1}@keyframes starlight{from{opacity:.3}to{opacity:.9}}
#reader{background:#0b1230}.vignette{background:linear-gradient(#0c123879,transparent 25%,#10133022 55%,#090e2bd9)}nav{padding:15px 4vw;gap:10px;background:linear-gradient(#0b1035db,#121b4c20);z-index:3}nav button{background:#17254d99;border:1px solid #c4d1ff66;border-radius:4px 13px;font-size:12px;color:#ecedff;box-shadow:inset 0 0 12px #a9b7ec10}#chapterTitle{color:#fff1c8;letter-spacing:2px;text-shadow:0 2px 5px #000;font-size:13px}#portrait{height:88%;bottom:0;filter:drop-shadow(0 0 22px #a5b8ff27)}
#dialogue{bottom:138px;width:min(900px,91vw);min-height:190px;max-height:58svh;padding:46px 42px 25px;border:0;border-radius:0;box-shadow:none;background:transparent url('ui/dialogue.webp') center/100% 100% no-repeat;backdrop-filter:none;overflow:auto;scrollbar-width:thin;scrollbar-color:#a5a4dc #1d274b;isolation:isolate;filter:drop-shadow(0 10px 25px #03091dbb)}#speaker{display:table;max-width:90%;min-width:145px;padding:8px 27px 10px 16px;margin:0 0 13px -5px;background:url('ui/name.webp') center/100% 100% no-repeat;font:500 19px "Noto Serif SC",serif;color:#fff4d2;text-shadow:0 2px 5px #26335a}#line{font-size:18px;line-height:1.9;letter-spacing:1px;color:#f8f4ff;text-shadow:0 1px 4px #101a3d;min-height:50px}#next{color:#e7ddff;padding:9px 22px 4px 0;background:url('ui/next.webp') right center/15px auto no-repeat;border-radius:0;letter-spacing:2px;min-height:36px}.dialogue-ornament{display:none}#dialogue[data-kind="choices"],#dialogue[data-kind="dynamic"]{background:url('ui/panel.webp') center/100% 100% no-repeat;padding-top:78px;padding-bottom:32px;min-height:240px}#dialogue[data-kind="choices"] .dialogue-ornament,#dialogue[data-kind="dynamic"] .dialogue-ornament{display:block;position:absolute;top:0;left:0;width:100%;height:96px;background:url('ui/ornament.webp') top center/100% 100% no-repeat;z-index:-1}#dialogue[data-kind="choices"] #speaker,#dialogue[data-kind="dynamic"] #speaker{background:none;text-align:center;margin:-30px auto 13px;padding:5px;min-width:0;font-size:23px;color:#fff1bf;letter-spacing:5px}#dialogue[data-kind="choices"] #line,#dialogue[data-kind="dynamic"] #line{text-align:center;font-size:13px;color:#ccd2ec;min-height:0;margin-bottom:16px}#choices{gap:12px;margin-top:12px}#choices button{background:url('ui/option.webp') center/100% 100% no-repeat;border:0;border-radius:0;padding:17px 25px;color:#fff9e7;min-height:57px;text-align:center;font-size:16px;letter-spacing:1px;box-shadow:0 3px 12px #03091d33}#choices button:before{content:'';display:inline-block;width:13px;height:15px;background:url('ui/arrow.webp') center/contain no-repeat;vertical-align:middle;margin-right:12px}#choices button:hover:not(:disabled){filter:brightness(1.18);box-shadow:0 0 20px #b6b6ff44}#choices button:disabled{opacity:.46;filter:grayscale(.6)}#inlineImage{border-radius:9px;max-height:22svh;box-shadow:0 4px 20px #0004}#inlineVideo{border-radius:8px;max-height:24svh}
.toolbar{bottom:52px;left:50%;transform:translateX(-50%);width:min(650px,94vw);display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:1px;padding:5px;background:linear-gradient(180deg,#142342d9,#101932ed);border:1px solid #b1b9f04f;border-radius:18px;box-shadow:inset 0 1px #ebedff26,0 7px 24px #050a23aa;backdrop-filter:blur(12px);z-index:3}.toolbar button{background:transparent;border:0;font-size:11px;padding:23px 0 3px;position:relative;min-width:0;min-height:44px;white-space:nowrap;color:#d8def4;border-radius:9px}.toolbar button:before{content:'';position:absolute;top:3px;left:50%;transform:translateX(-50%);width:18px;height:18px;background-size:contain;background-repeat:no-repeat;background-position:center;filter:grayscale(1) sepia(.2) hue-rotate(165deg) brightness(1.7)}#back:before{background-image:url('ui/back.webp')}#history:before{background-image:url('ui/history.webp')}#stats:before{background-image:url('ui/stats.webp')}#save:before{background-image:url('ui/save.webp')}#load:before{background-image:url('ui/load.webp')}#sound:before{background-image:url('ui/sound.webp')}#auto:before{background-image:url('ui/auto.webp')}.toolbar button.active{background:#9397e033;color:#fff0bb}.toolbar button:hover{background:#a1abe025}
dialog{background:#17213f url('ui/ornament.webp') top center/100% auto no-repeat;border:1px solid #bfc6ee99;border-radius:18px 18px 8px 8px;padding:32px 28px 25px;box-shadow:0 0 0 5px #aab4ef12,0 25px 100px #02071bc9}dialog::backdrop{background:#060c22cb;backdrop-filter:blur(8px)}.modal-head{padding-bottom:16px;border-color:#ddd8af66}.modal-head h2{color:#fff0c0;letter-spacing:3px;font-size:22px}.chapter-list button{background:linear-gradient(100deg,#6063a535,#8297d516);border-color:#aab6e138;border-radius:6px;color:#e0e6ff}.chapter-list button:hover{border-color:#e5d6ad}.chapter-list small{color:#ece1ab}.save-row{border-color:#acb6e537}.save-row button{background:#787bb648;border-color:#b4bae966}.stat-row{border-color:#a6b1e325}.stat-row span:last-child{color:#fff0bd}.log-row strong{color:#e7ddff}#inputs input{border-color:#a5b5e788;border-radius:8px;background:#7279b42b;font-size:16px}#inputs label{color:#f8edc5}#inputs .primary{display:block;margin:16px auto 5px}#toast{bottom:145px;background:#29375bf2;border-color:#c2bbec;color:#fff2cb;border-radius:14px;max-width:90vw;width:max-content;box-shadow:0 8px 30px #0007}
@media(min-width:900px){#dialogue[data-kind="choices"],#dialogue[data-kind="dynamic"]{width:560px;padding-left:43px;padding-right:43px}#dialogue[data-kind="choices"] #choices{gap:13px}.intro{max-width:660px}#reader:after{content:'';position:absolute;inset:76px 20px 125px;border-left:1px solid #d8d8fb23;border-right:1px solid #d8d8fb23;pointer-events:none}}
@media(max-width:600px){.home{min-height:100svh}.hero{inset:0;opacity:.86;background-position:59% 35%}.home-shade{background:linear-gradient(0deg,#0a102bf7 8%,#10193bd1 45%,#10193b2b 100%)}.home:after{inset:10px}header{padding:25px 22px}.brand{font-size:11px;letter-spacing:2px}.brand i{padding:0 6px}.intro{margin:26svh 25px 20px}.title-jewel{font-size:30px;margin-bottom:13px}.eyebrow{letter-spacing:4px;font-size:10px;margin-bottom:15px}.eyebrow:before{width:24px;margin-right:9px}.intro h1{font-size:34px;line-height:1.55;letter-spacing:1px;margin-bottom:15px}.intro p{font-size:12px;letter-spacing:1px;margin:0}.home-actions{margin-top:23px;gap:9px;flex-wrap:wrap}.home-actions button{padding:13px 18px;font-size:13px;letter-spacing:2px;min-width:145px}.text-btn{margin-top:5px;font-size:11px}.caption{font-size:9px;letter-spacing:1px;margin-top:15px}.caption span{margin:0 6px}footer{padding:16px 25px 65px;letter-spacing:1px;font-size:9px}.celestial-ring{width:350px;height:350px;top:60px;right:-110px;opacity:.6}nav{padding:calc(12px + env(safe-area-inset-top)) 12px 12px}nav button{padding:7px 12px;min-height:38px;font-size:11px}#chapterTitle{font-size:10px;letter-spacing:0;max-width:52vw}#portrait{height:82%}#dialogue{bottom:calc(139px + env(safe-area-inset-bottom));width:95vw;min-height:180px;max-height:55svh;padding:42px 23px 24px}#speaker{font-size:17px;min-width:128px;padding:7px 22px 8px 14px;margin-bottom:10px}#line{font-size:16px;line-height:1.85;letter-spacing:.5px}#next{font-size:10px;margin-top:8px}#dialogue[data-kind="choices"],#dialogue[data-kind="dynamic"]{padding:68px 24px 25px;min-height:225px}#dialogue[data-kind="choices"] .dialogue-ornament,#dialogue[data-kind="dynamic"] .dialogue-ornament{height:82px}#dialogue[data-kind="choices"] #speaker,#dialogue[data-kind="dynamic"] #speaker{font-size:21px;margin-top:-28px}#choices button{font-size:14px;padding:14px 17px;min-height:53px}#choices{gap:10px}.toolbar{bottom:calc(50px + env(safe-area-inset-bottom));width:94vw;gap:0;padding:6px 3px;border-radius:16px}.toolbar button{font-size:10px;padding:21px 0 3px;min-height:44px}.toolbar button:before{width:16px;height:16px}dialog{padding:25px 20px 20px;width:93vw}.modal-head h2{font-size:19px}.save-row{gap:8px;font-size:12px}.save-row button{padding:8px 14px}#modalBody{max-height:63svh}#toast{bottom:150px;font-size:12px}}
@media(max-height:650px) and (orientation:landscape){#dialogue{max-height:58svh;bottom:86px;min-height:120px;padding-top:30px}.toolbar{bottom:max(4px,env(safe-area-inset-bottom));width:min(560px,94vw);left:50%}nav{padding:6px 18px}#portrait{height:95%}.intro{margin:20px 8vw}.title-jewel,.caption{display:none}}
@media(prefers-reduced-motion:reduce){.star-dust{animation:none}*{scroll-behavior:auto;transition:none!important}}

.confirm-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:24px}.confirm-actions button{min-height:48px;touch-action:manipulation}#modalBody>div>p{line-height:1.8}@media(max-width:600px){.confirm-actions{display:grid;grid-template-columns:1fr}.confirm-actions button{width:100%}}

/* Independent starry panels; only option list scrolls when needed. */
#dialogue[data-kind="dynamic"],#dialogue[data-kind="choices"],#dialogue[data-kind="input"]{
 top:82px;bottom:139px;width:min(680px,95vw);min-height:0;max-height:none;
 padding:30px 28px;background:radial-gradient(ellipse at 50% 0,#6174ad40,transparent 65%),#14203ef2;border:1px solid #b4bbf066;border-radius:18px;
 overflow:hidden;display:flex;flex-direction:column;gap:12px;
}
#dialogue[data-kind="choices"] .dialogue-ornament,#dialogue[data-kind="dynamic"] .dialogue-ornament{display:none}
#dialogue[data-kind="choices"] #speaker,#dialogue[data-kind="input"] #speaker{background:none;margin:0 auto;padding:0;text-align:center;flex:none;font-size:22px;letter-spacing:3px}
#dialogue[data-kind="choices"] #line{margin:0;text-align:center;flex:none}
#dialogue[data-kind="choices"] #choices{overflow:auto;min-height:0;margin:0;gap:10px;scrollbar-width:thin}
#dialogue[data-kind="choices"] #choices button{flex:none;min-height:48px;padding:12px 20px}
#dialogue[data-kind="input"]{justify-content:center}
#dialogue[data-kind="input"] #line:empty{display:none}
#dialogue[data-kind="input"] #inputs{width:min(420px,100%);margin:0 auto;overflow:auto}
#dialogue[data-kind="input"] #inputs label{display:block;margin:10px 0}
#dialogue[data-kind="input"] #inputs input{display:block;width:100%;min-height:44px;padding:8px 12px}
#dialogue[data-kind="dynamic"]{width:98vw;padding:0;background:none;border:0;border-radius:0;box-shadow:none;filter:none;align-items:center;justify-content:center;backdrop-filter:none}
#dialogue[data-kind="dynamic"]>:not(.dynamic-canvas){display:none!important}
.dynamic-canvas{position:relative;flex:none;overflow:hidden;--design-scale:1}
.dynamic-canvas>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.dynamic-canvas .dynamic-hotspot,.dynamic-canvas .dynamic-variable{position:absolute;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;touch-action:manipulation}
.dynamic-canvas .dynamic-hotspot:hover{background:#ffffff0c}
.dynamic-canvas .dynamic-hotspot:focus-visible,.dynamic-canvas .dynamic-variable:focus-visible{outline:2px solid #fff1bf;outline-offset:-2px;background:#e9dcba22}
.dynamic-canvas .dynamic-variable{display:flex;align-items:flex-start;justify-content:flex-start;text-align:left;line-height:1.4;white-space:nowrap;overflow:hidden}
@media(max-width:600px){
 #dialogue[data-kind="choices"],#dialogue[data-kind="input"]{padding:22px 18px;gap:10px}
 #dialogue[data-kind="choices"] #speaker,#dialogue[data-kind="input"] #speaker{font-size:20px}
}
@media(max-height:500px){
 #dialogue[data-kind="choices"],#dialogue[data-kind="input"]{padding:10px 18px;gap:5px}
 #dialogue[data-kind="input"]{justify-content:flex-start}
 #dialogue[data-kind="input"] #inputs label{margin:4px 0}
 #dialogue[data-kind="input"] #inputs .primary{margin:8px auto 0;padding:8px 18px;min-height:40px}
}

/* Responsive character setup, without flattened screenshot controls. */
#dialogue.setup-layout{overflow:auto;justify-content:flex-start;padding:0 4px 8px;width:min(620px,95vw)}
#dialogue.setup-layout>.setup-card{display:block!important;position:relative;flex:none;width:100%;margin:auto;overflow:visible;padding:25px 28px;background:radial-gradient(ellipse at top,#52629b55,transparent 65%),#111d38ed;border:1px solid #b9c4ed66;border-radius:22px;box-shadow:0 14px 45px #040b2755;text-align:center}
.setup-kicker{font-size:10px;letter-spacing:4px;color:#c6bddd}.setup-card h2{font:500 27px 'Noto Serif SC',serif;letter-spacing:4px;color:#fff0cc;margin:10px 0}.setup-description{color:#b9c7e1;font-size:13px;margin:0 0 20px;line-height:1.8}
.character-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:360px;margin:auto}
.character-card{display:flex;flex-direction:column;align-items:stretch;background:#182640;border:1px solid #9eacce55;padding:7px;border-radius:14px;overflow:hidden;color:#dee4fa;min-width:0;box-shadow:none}.character-card.selected{border-color:#f1d9a4;background:#3b4264;box-shadow:0 0 0 2px #e2c89520}.character-art{display:block;width:100%;aspect-ratio:102/205;background-size:367.647% 396.098%;background-repeat:no-repeat;border-radius:8px}.character-label{font-size:14px;margin-top:9px;letter-spacing:2px}.character-status{font-size:11px;padding:4px 0;color:#b3bfd6}.selected .character-status{color:#ffe3a7}
.setup-name{display:flex;align-items:center;gap:12px;width:100%;margin:20px 0 15px;padding:13px 15px;border:1px solid #acb9e352;background:#8096c312;text-align:left;color:#bcc9e3}.setup-name span{font-size:12px}.setup-name strong{font-size:19px;font-weight:500;letter-spacing:3px;color:#fff1d7;flex:1}.setup-name span:last-child{color:#ded4f9}.setup-enter{width:100%;font-size:14px}
#dialogue[data-kind="input"]{width:min(500px,94vw);height:max-content;max-height:calc(100dvh - 225px);margin-block:auto;overflow:auto;padding:32px 28px;gap:14px;justify-content:flex-start;background:radial-gradient(ellipse at top,#5c6a9b55,transparent 70%),#14203ef5;border-radius:22px}
#dialogue[data-kind="input"] #speaker{font-size:26px;min-width:0;padding:0;max-width:100%;letter-spacing:4px}
#dialogue[data-kind="input"] #line{min-height:0;font-size:13px;color:#b9c7e1;text-align:center;line-height:1.8;letter-spacing:0}
#dialogue[data-kind="input"] #inputs{overflow:visible;width:100%;display:grid;grid-template-columns:1fr 1.5fr;gap:14px}
#dialogue[data-kind="input"] #inputs label{font-size:13px;margin:8px 0 0;min-width:0}#dialogue[data-kind="input"] #inputs input{box-sizing:border-box;margin:9px 0 0;min-height:52px;font-size:18px;width:100%;border:1px solid #a5b5e788;outline-offset:2px}
#dialogue[data-kind="input"] #inputs .primary{grid-column:1/-1;width:100%;margin:6px 0 0;min-height:50px}
@media(max-width:600px){#dialogue.setup-layout>.setup-card{padding:21px 17px;border-radius:18px}.setup-card h2{font-size:23px}.setup-description{font-size:12px;margin-bottom:15px}.character-grid{gap:12px;max-width:270px}.character-art{aspect-ratio:102/205}.setup-name{margin:15px 0 12px;padding:12px 10px;gap:8px}.setup-name span{font-size:11px}.setup-name strong{font-size:18px}.setup-enter{padding:13px 8px;letter-spacing:1px}#dialogue[data-kind="input"]{padding:26px 20px;max-height:calc(100dvh - 180px)}#dialogue[data-kind="input"] #speaker{font-size:24px}}
@media(max-height:650px){.character-grid{max-width:220px}.setup-card h2{font-size:21px;margin:6px 0}.setup-description{margin-bottom:10px}.setup-kicker{display:none}#dialogue.setup-layout>.setup-card{padding:16px}.setup-name{margin:10px 0}#dialogue[data-kind="input"]{max-height:calc(100dvh - 105px);margin-top:0;padding:18px;gap:8px}}
/* Keep the complete setup action visible on ordinary laptop and phone screens. */
.character-grid{max-width:min(280px,38dvh)}
.character-art{aspect-ratio:102/165;background-size:367.647% 492.121%}
@media(max-width:600px){.character-grid{max-width:min(260px,35dvh)}.character-art{aspect-ratio:102/165}}
#dialogue.setup-layout>.setup-card{padding:20px 24px}
.character-grid{max-width:220px;gap:14px}.character-card{padding:6px}.character-label{margin-top:7px}.character-status{padding:3px 0}.setup-description{margin-bottom:14px}.setup-name{margin:14px 0 12px}.setup-card h2{margin:8px 0}
@media(min-height:850px){.character-grid{max-width:280px}}
@media(max-width:600px){#dialogue.setup-layout>.setup-card{padding:22px 17px}.character-grid{max-width:250px}.setup-name{flex-wrap:wrap}.setup-name strong{letter-spacing:2px}}

/* Video is a separate full-page story beat, outside the dialogue panel. */
#videoPage{position:absolute;inset:0;background:#03050b;z-index:5;isolation:isolate}
#videoPage #inlineVideo{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:0;object-fit:cover;box-shadow:none}
#reader.video-mode>nav,#reader.video-mode>.toolbar,#reader.video-mode>#dialogue,#reader.video-mode>#portrait,#reader.video-mode>.vignette{display:none!important}
#reader.video-mode:after{display:none}
.video-top{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;gap:8px;padding:calc(16px + env(safe-area-inset-top)) 18px 36px;background:linear-gradient(#0009,transparent)}
.video-top button,.video-bottom button{background:#111b32b3;border:1px solid #d1dbed66;color:#fff5df;backdrop-filter:blur(10px);padding:10px 16px;font-size:13px;min-height:44px}
.video-bottom{position:absolute;inset:auto 0 0;padding:35px 20px calc(65px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#000a);text-align:center;pointer-events:none}
.video-bottom>div{display:flex;justify-content:center;gap:12px}.video-bottom button{pointer-events:auto;min-width:100px}#videoStatus{color:#fff;font-size:13px;text-shadow:0 1px 4px black}#videoNext{background:#303c66cc}
@media(max-width:600px){.video-top{padding:calc(12px + env(safe-area-inset-top)) 10px 30px;gap:6px}.video-top button{padding:9px 10px;font-size:11px}.video-bottom{padding-inline:12px}}

/* Single-action illustrated scenes occupy the full reader. */
#reader.scene-mode>nav,#reader.scene-mode>.toolbar,#reader.scene-mode>#portrait,#reader.scene-mode>.vignette{display:none!important}#reader.scene-mode:after{display:none}
#dialogue.scene-layout{position:absolute;inset:0!important;left:0;transform:none;width:100%;height:100%;min-height:0;max-height:none;padding:0;overflow:hidden;background:#04080e;border:0;border-radius:0;filter:none;z-index:5}
#dialogue.scene-layout>.scene-canvas{display:block!important;position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.scene-canvas>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.scene-action{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;transform:none!important;padding:0;cursor:pointer}
.scene-action:focus-visible{outline:2px solid #f5dfad;outline-offset:-5px}.scene-back{position:absolute;top:calc(14px + env(safe-area-inset-top));left:14px;z-index:2;background:#101b31b3;border:1px solid #d1dbed66;color:#fff4dc;padding:10px 16px;min-height:44px;backdrop-filter:blur(8px)}.scene-message{position:absolute;bottom:90px;left:5%;width:90%;padding:14px;background:#101b31e6;text-align:center}

/* Claim screens use full available width, keeping original hit regions aligned. */
#dialogue[data-kind="dynamic"].reward-layout{width:min(800px,96vw);overflow:auto;align-items:center;justify-content:flex-start;scrollbar-width:thin;overscroll-behavior:contain;border-radius:14px;background:#070d1c80;scroll-behavior:auto}
.reward-layout .dynamic-canvas{flex-shrink:0;margin:0 auto}
.reward-layout .dynamic-hotspot{min-height:44px;border-radius:6px}
.reward-layout .dynamic-variable{pointer-events:none;white-space:normal;overflow:visible;line-height:1.4;text-shadow:0 1px 4px #0009}
@media(max-width:600px){#dialogue[data-kind="dynamic"].reward-layout{width:98vw;border-radius:8px}}
#dialogue[data-kind="choices"]{justify-content:center;align-items:center}
#dialogue[data-kind="choices"] #speaker,#dialogue[data-kind="choices"] #line{flex:0 0 auto;width:100%;text-align:center}
#dialogue[data-kind="choices"] #choices{flex:0 1 auto;width:100%;max-width:560px;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;padding:3px 4px}
#dialogue[data-kind="choices"] #choices button{width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
/* Immersive choices: floating options with no enclosing panel or heading. */
#dialogue[data-kind="choices"]{background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;filter:none;gap:0}
#dialogue[data-kind="choices"] #speaker,#dialogue[data-kind="choices"] #line,#dialogue[data-kind="choices"] .dialogue-ornament{display:none!important}
#dialogue[data-kind="choices"] #choices{margin:0}

.dynamic-canvas > .chapter-ui-layer { position: absolute; right: auto; bottom: auto; pointer-events: none; white-space: pre-wrap; object-fit: contain; line-height: 1.3; }

.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:12px;width:100%;max-height:45vh;overflow:auto;padding:4px}.catalog-item{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #dbc28a66;border-radius:12px;background:#10172c}.catalog-item img{width:100%;height:100px;object-fit:contain}.catalog-item small{white-space:pre-line}.catalog-item button{margin-top:auto}

.event-list{position:absolute;display:flex;flex-direction:column;gap:6px;overflow:auto}.event-list button{background:#131c32e8;color:#f7ead3;min-height:44px}

#dialogue:is([data-kind="wardrobe"],[data-kind="shop"]){width:min(850px,95vw);bottom:calc(var(--toolbar-height,68px) + 16px);padding:0;max-height:calc(100dvh - 145px);min-height:0;background:#10182f; border:1px solid #bda57580;border-radius:22px;filter:none;box-shadow:0 16px 60px #030817c9}
#dialogue:is([data-kind="wardrobe"],[data-kind="shop"]) #speaker,#dialogue:is([data-kind="wardrobe"],[data-kind="shop"]) #line{display:none}
#dialogue:is([data-kind="wardrobe"],[data-kind="shop"]) #choices{margin:0;width:100%}
.wardrobe-studio{width:100%;padding:clamp(12px,3vw,25px);background:radial-gradient(ellipse at 24% 34%,#53577c77,transparent 55%),linear-gradient(145deg,#23304b,#0e1429 75%);color:#fff3db}
.wardrobe-header{position:static;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;border-bottom:1px solid #cbb58445}.wardrobe-header h2,.wardrobe-info h3{margin:0;font-family:"Noto Serif SC",serif;letter-spacing:.06em}.wardrobe-detail{display:grid;grid-template-columns:1.3fr 1fr;min-height:0;align-items:center;gap:clamp(12px,3vw,28px);margin:12px 0}.wardrobe-art{height:clamp(155px,36dvh,355px);display:grid;place-items:center;overflow:hidden;border-radius:14px;border:1px solid #cbb58445;background:radial-gradient(ellipse at bottom,#727da655,#131a32 72%)}.wardrobe-art img{width:100%;height:100%;min-height:0;object-fit:contain}.wardrobe-info{min-width:0;display:grid;gap:8px}.wardrobe-info small,.wardrobe-thumb small{color:#d3bf97}.wardrobe-info h3{font-size:clamp(18px,4vw,30px)}.wardrobe-info p{margin:0;font-size:14px;max-height:10dvh;overflow:auto;white-space:pre-line;color:#dedcf0}.wardrobe-rail{position:relative;display:flex;gap:8px;overflow:auto;padding:4px 2px 8px;scrollbar-width:thin;scrollbar-color:#ad9672 transparent}
#choices .wardrobe-studio button{min-height:44px;min-width:0;padding:8px 12px;background:#1d2947;border:1px solid #bda57580;border-radius:10px;box-shadow:none;letter-spacing:0;font-size:13px}#choices .wardrobe-studio button:before{display:none}#choices .wardrobe-info button:not(:disabled){background:#e5c88e;color:#18182b;font-weight:700}#choices .wardrobe-thumb{flex:0 0 86px;display:grid;grid-template-rows:56px auto;gap:3px;justify-items:center;padding:5px;line-height:1.2}#choices .wardrobe-thumb[aria-pressed="true"]{border-color:#ffe4ac;background:#535174}.wardrobe-thumb img{width:100%;height:56px;object-fit:contain}.wardrobe-thumb small{font-size:10px}.wardrobe-thumb span{overflow-wrap:anywhere}
@media(max-width:600px){.wardrobe-detail{grid-template-columns:1fr 1fr;gap:10px}.wardrobe-info p{font-size:12px}.wardrobe-header h2{font-size:21px}#choices .wardrobe-thumb{flex-basis:74px}}
#dialogue:is([data-kind="wardrobe"],[data-kind="shop"]) #choices{display:block;min-width:0;max-width:100%}.wardrobe-studio{box-sizing:border-box;min-width:0;max-width:100%}.wardrobe-detail{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.wardrobe-art{grid-template: minmax(0,1fr) / minmax(0,1fr)}.wardrobe-rail{min-width:0;max-width:100%}.wardrobe-art img{display:block;max-width:100%;max-height:100%}.wardrobe-art img[hidden]{display:none}@media(max-width:600px){.wardrobe-detail{grid-template-columns:repeat(2,minmax(0,1fr))}}

#dialogue[data-kind="dynamic"].battle-layout{top:auto;bottom:138px;width:min(680px,94vw);max-height:calc(100dvh - 180px);min-height:0;padding:0;overflow:auto;background:#14192ef5;border:1px solid #c7a77788;border-radius:18px;filter:none;box-shadow:0 15px 48px #070811bb}.battle-panel{width:100%;padding:clamp(12px,4vw,25px);box-sizing:border-box;display:grid;gap:11px;color:#fff2db;background:radial-gradient(ellipse at 0 0,#71383566,transparent 65%)}.battle-heading,.battle-stats{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.battle-heading h2,.battle-panel h3,.battle-panel p{margin:0}.battle-heading h2{font:600 clamp(19px,4vw,26px) "Noto Serif SC",serif}.battle-stats,.battle-panel p{font-size:13px;color:#e0d5c4}.battle-panel progress{width:100%;height:12px;accent-color:#ec846b}.battle-actions,.battle-weapons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.battle-panel button{min-width:0;min-height:44px;padding:7px 5px;color:#fff3df;border:1px solid #bda47a80;background:#29283e;border-radius:9px}.battle-actions button:first-child:not(:disabled){background:#e8c790;color:#251d2a;font-weight:700}.battle-panel button:disabled{opacity:.5}

.survival-reward .dynamic-variable{justify-content:center;text-align:center;font-family:"Noto Serif SC","Songti SC","SimSun",serif;font-weight:600;letter-spacing:.08em;text-shadow:0 2px 5px #081125,0 0 9px #152744;color:#fff0cc!important}.survival-reward .dynamic-variable.survival-note{font-size:calc(11px * var(--design-scale))!important;letter-spacing:.04em}.survival-reward .dynamic-hotspot{min-height:0}

.reward-layout .dynamic-variable,#dialogue[data-kind="chapterEnd"] :is(#speaker,#line,#next){font-family:"Noto Serif SC","Songti SC","SimSun",serif}.survival-reward .dynamic-variable:not(.survival-note){font-size:calc(13px * var(--design-scale))!important;line-height:1.32;white-space:pre-line;align-items:center}.survival-reward .survival-note{white-space:normal}

#dialogue[data-kind="dynamic"].reward-card-layout{width:min(650px,94vw);bottom:138px;padding:0;min-height:0;max-height:calc(100dvh - 220px);background:linear-gradient(150deg,#283552f7,#10162ff7);border:1px solid #d4bd8b90;border-radius:16px;overflow:auto}.reward-card-panel{width:100%;box-sizing:border-box;padding:clamp(16px,4vw,30px);font-family:"Noto Serif SC","Songti SC","SimSun",serif;color:#fff0cf}.reward-card-panel h2,.reward-card-panel p{margin:0 0 12px}.reward-card-panel p{white-space:pre-line;line-height:1.5}.reward-card-actions{display:grid;gap:9px}.reward-card-actions button{min-height:44px;padding:10px;border:1px solid #d4bd8b85;background:#333d61;color:#fff0cf;border-radius:9px;font:inherit}.reward-card-actions button:disabled{opacity:.5}

.search-map{background-position:center;background-size:cover;isolation:isolate}.search-map::before{content:"";position:absolute;inset:0;background:inherit;filter:blur(22px) brightness(.77);transform:scale(1.1);z-index:-1}.search-map-art{position:absolute;left:50%;transform:translateX(-50%)}.search-map-art img{display:block;width:100%;height:100%;object-fit:fill}.search-map-target{position:absolute;border:0;background:transparent;padding:0;min-width:0;min-height:0}.search-map-target:hover:not(:disabled),.search-map-target:focus-visible{background:#f3d9f638;outline:2px solid #fff1d2;border-radius:7px}

.reward-screen{background:#0b1025 center/cover no-repeat;isolation:isolate}.reward-screen::before{content:"";position:absolute;inset:0;background:inherit;filter:blur(24px) brightness(.65);transform:scale(1.1);z-index:-1}.reward-screen .survival-reward{position:absolute;left:50%;transform:translateX(-50%);margin:0}.reward-screen .survival-reward .dynamic-variable{pointer-events:none;text-shadow:0 2px 5px #081125,0 0 9px #152744}.reward-screen:has(.reward-card-panel){display:grid!important;place-items:center;background:radial-gradient(ellipse at top,#3f4e7c,#0d132a 72%)}.reward-screen .reward-card-panel{width:min(700px,94vw);max-height:calc(100dvh - 90px);overflow:auto;border:1px solid #d4bd8b90;border-radius:16px;background:#141e39e8}

.survival-reward .dynamic-variable.survival-long:not(.survival-note){font-size:calc(10px * var(--design-scale))!important;line-height:1.15;letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere}

.free-explore .search-map-target{display:grid;place-items:center;box-shadow:none}.free-explore .search-map-target span{padding:6px 13px;border:1px solid #e5c690aa;border-radius:999px;background:#101326dd;color:#fff1d0;font:600 clamp(12px,2.7vw,16px) "Noto Serif SC","Songti SC","SimSun",serif;white-space:nowrap}.free-explore .search-map-target:disabled span{opacity:.64}

#shop:before{background-image:url("https://novel-static.cognizematrix.com/theme/default-orange/商城icon.webp")}.shop-groups{display:flex;gap:6px;overflow:auto;padding:8px 0 3px;scrollbar-width:thin}.shop-groups button{flex:none;white-space:nowrap}#choices .shop-groups button[aria-pressed="true"]{background:#e5c88e;color:#18182b;font-weight:700}

#dialogue[data-kind="shop"]{overscroll-behavior:contain;scrollbar-gutter:stable}#dialogue[data-kind="shop"] .wardrobe-rail{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}#dialogue[data-kind="shop"] .wardrobe-rail::-webkit-scrollbar{display:none}.shop-scrollbar{display:block;width:100%;margin:4px 0 0;min-height:24px;accent-color:#dfc48e;cursor:ew-resize}.shop-scrollbar[hidden]{display:none}

#dialogue[data-kind="shop"]{overflow:hidden;scrollbar-gutter:auto}
#dialogue[data-kind="shop"] .wardrobe-studio{padding:clamp(10px,2.5vw,18px)}
#dialogue[data-kind="shop"] .wardrobe-detail{margin:8px 0;gap:clamp(8px,2vw,18px)}
#dialogue[data-kind="shop"] .wardrobe-art{height:clamp(85px,calc(var(--shop-available-height,70dvh) - 300px),min(28dvh,265px))}
#dialogue[data-kind="shop"] .wardrobe-header{padding-bottom:8px}
#dialogue[data-kind="shop"] .wardrobe-rail{padding-bottom:4px}
#dialogue[data-kind="shop"] .wardrobe-thumb{grid-template-rows:44px auto;min-height:76px}
#dialogue[data-kind="shop"] .wardrobe-thumb img{height:44px}
#dialogue[data-kind="shop"] .wardrobe-info{gap:4px}
@media(max-height:650px){#dialogue[data-kind="shop"] .wardrobe-info p{max-height:2.8em;scrollbar-width:none}#dialogue[data-kind="shop"] .wardrobe-info h3{font-size:clamp(16px,4vw,22px)}#dialogue[data-kind="shop"] .wardrobe-header button,#dialogue[data-kind="shop"] .shop-groups button{min-height:34px;padding-block:4px}}

.shop-balance,.shop-price{color:#efd6a2;font-size:clamp(11px,2.8vw,15px);font-variant-numeric:tabular-nums}.shop-balance{margin-left:auto;text-align:right}.shop-price{line-height:1.2}

#dialogue[data-kind="wardrobe"] .wardrobe-art{height:clamp(100px,calc(var(--shop-available-height,70dvh) - 220px),min(32dvh,320px))}

#closet:before{background-image:url("https://novel-static.cognizematrix.com/theme/default-orange/衣橱icon.webp")}#partners:before{background-image:url("https://novel-static.cognizematrix.com/theme/default-orange/伙伴icon.webp")}#readerMenu:before{background-image:url("https://novel-static.cognizematrix.com/theme/default-orange/菜单icon.webp")}.partner-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.partner-card{display:grid;gap:6px;justify-items:center;padding:10px 5px}.partner-card img{width:56px;height:56px;object-fit:cover;border-radius:50%}@media(max-width:390px){.toolbar button{font-size:9px}.toolbar button:before{width:14px;height:14px}}
