/* 人物主图与正文分开，保留画面完整比例。 */
#scene-art{background-size:cover!important;background-position:center!important;filter:blur(24px) brightness(.22);transform:scale(1.08);position:fixed}
.veil{background:linear-gradient(180deg,#09121bb8,#09121bea);position:fixed}
#weather{display:none}header{height:76px;max-width:1360px;margin:0 auto;padding:0 32px;border-color:#cab79926}.wordmark{font-size:20px}nav{gap:7px}nav button{padding:8px 11px;font-size:13px}
#reader{justify-content:flex-start;min-height:calc(100svh - 76px);padding:0 24px 24px;gap:14px}
#reader .scene-meta{position:relative;inset:auto;margin:20px auto 0;width:min(1140px,100%);font-size:13px;gap:16px}
#story-stage{position:relative;display:flex;justify-content:center;align-items:center;width:min(1140px,100%);height:clamp(260px,48svh,570px);margin:0 auto;overflow:hidden;background:#0a141e;border:1px solid #c6ac7830;border-radius:4px}
#scene-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
#story-stage figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:30px 18px 12px;background:linear-gradient(transparent,#08111de8);font-size:12px;color:#e5d9c5;pointer-events:none}
#view-art{font-size:12px;padding:5px 10px;background:#111b2488;pointer-events:auto}
#art-status{position:absolute;max-width:80%;font-size:13px;color:var(--muted)}
.dialogue{width:min(1140px,100%);max-width:none;margin:0 auto;padding:20px 26px 15px;background:#101c28f5;border-color:#bfa37760;border-radius:4px}
.dialogue-body{display:flex;gap:24px;align-items:flex-start}#text{flex:1;min-width:0;min-height:78px;font-size:clamp(17px,1.35vw,20px);line-height:1.85;max-width:none}
#portrait-wrap{flex:0 0 112px;width:112px;margin:0;border-color:#b89b6655;box-shadow:none;border-radius:3px;animation:none}#portrait{aspect-ratio:1;background-size:300% 200%;background-repeat:no-repeat}#portrait-label{font-size:11px;padding:5px;letter-spacing:.08em}
#counter{font-size:12px}#choices button{font-size:15px;padding:11px 15px}#choices button small{line-height:1.5}#speaker{font-size:18px}.dialogue-head{margin-bottom:12px}.dialogue-foot{margin-top:15px}#status{font-size:11px}#previous-line,#return-current,#next{font-size:13px;padding:7px 11px}.reader-actions{gap:6px}
.full-scene{display:block;max-width:100%;height:auto;margin:0 auto}.chapter-link{display:block;text-align:left;width:100%;margin:8px 0;padding:12px 16px}.chapter-link:hover{background:#36434d}#modal h3{font-size:15px;color:var(--gold);font-weight:400;margin:25px 0 12px}#modal:has(.full-scene){width:min(1400px,94vw)}
#cover{min-height:calc(100svh - 76px)}#game:has(#cover:not([hidden])) #scene-art{filter:brightness(.42);background-position:center!important;transform:none}.cover-copy{position:relative;z-index:1}
@media(max-width:650px){header{padding:12px 16px;min-height:80px;height:auto;gap:12px}.wordmark{font-size:17px}.wordmark span{font-size:8px}nav{gap:4px;flex-wrap:wrap}nav button{font-size:11px;padding:6px 8px}#reader{padding:0 12px 16px;gap:11px}#reader .scene-meta{font-size:11px;margin-top:14px;gap:10px}#story-stage{height:auto;aspect-ratio:3/2;min-height:0}#story-stage figcaption{padding:24px 10px 7px;font-size:11px}#view-art{font-size:10px;padding:4px 7px}.dialogue{padding:15px 16px 13px}.dialogue-body{gap:12px}#portrait-wrap{flex-basis:76px;width:76px}#portrait-label{font-size:9px}#text{font-size:17px;line-height:1.8;min-height:0}#speaker{font-size:16px}#choices button{font-size:14px}#choices button small{font-size:11px}.dialogue-foot{flex-wrap:wrap;gap:8px}#status{max-width:100%;width:100%;font-size:10px}.reader-actions{margin-left:auto}#next,#previous-line,#return-current{font-size:12px;padding:7px 9px}}
@media(min-width:1100px){
 #reader{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:auto 1fr;align-content:start;align-items:start;gap:16px;max-width:1420px;margin:0 auto;padding:0 32px 28px}
 #reader .scene-meta{grid-column:1/-1;width:100%;margin:20px 0 0}
 #story-stage{width:100%;height:auto;aspect-ratio:3/2;min-height:0}
 .dialogue{width:100%;padding:20px;min-height:100%;display:flex;flex-direction:column}
 .dialogue-body{display:block}#portrait-wrap{float:right;width:128px;margin:0 0 12px 14px}#text{font-size:18px;line-height:1.85;min-height:0}.dialogue-body:after{content:'';display:block;clear:both}
 .dialogue-foot{margin-top:auto;padding-top:20px;flex-wrap:wrap;gap:10px}#status{width:100%}.reader-actions{margin-left:auto;gap:2px}#choices{margin-top:20px}#choices button{font-size:14px}#choices button small{font-size:11px}
}
