.dialogue-avatar img.framed-avatar{position:absolute;max-width:none;width:250%;height:auto;left:-75%;top:-17%;object-fit:initial;object-position:initial}
/* 上面的 -75%/-17% 是按沈岚/赵归燕的脸位量的；耶律阿布德与阿古拉的立绘脸位偏上偏右，
 * 套同一个窗会切掉头顶（耶律）或把脸挤到左边（阿古拉）。按人覆盖窗位（用户 m27436）。 */
.dialogue-avatar img.framed-avatar[data-avatar="yelu"]{left:-58%;top:0}
.dialogue-avatar img.framed-avatar[data-avatar="agula"]{left:-60%;top:-5%}
.main-portrait[src*="portraits/"]{mix-blend-mode:normal}
.scene-art:has(img:not([hidden])){left:16%;width:47%;bottom:90px;height:calc(100% - 120px)}
.scene-art:has(img:not([hidden])) img{object-position:center bottom}
.scene-art:has(img:not([hidden])) .scene-art-note{display:none}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.gallery-card{padding:0;border:1px solid #b8bea7;background:#f5efdf;overflow:hidden;text-align:left;border-radius:5px;cursor:pointer;color:#3f5142}
.gallery-card:disabled{cursor:default;opacity:.8}.gallery-card:not(:disabled):hover{border-color:#64866d;box-shadow:0 5px 18px #334d3022}
.gallery-card img,.gallery-locked{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.gallery-locked{display:grid;place-content:center;gap:8px;text-align:center;background:repeating-linear-gradient(45deg,#e2e5d3,#e2e5d3 1px,#e9eadc 1px,#e9eadc 9px);font-size:12px;color:#6a7c66}
.gallery-locked b{font:30px var(--serif)}
.gallery-card-info{display:block;padding:13px 16px}.gallery-card-info strong{display:block;font:17px var(--serif);margin-bottom:6px}.gallery-card-info small{display:block;font:12px/1.6 var(--sans);color:#647561}
.cg-dialog{width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#101e19;color:#f5f0df;overflow:auto}
.cg-dialog[open]{display:grid;grid-template-rows:minmax(0,1fr) auto}.cg-dialog::backdrop{background:#101e19}
.cg-stage{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cg-stage img{display:block;width:100%;height:100%;object-fit:contain;animation:cg-reveal .8s ease both}
#cg-error{position:absolute;max-width:32em;margin:25px;line-height:1.8;text-align:center}
.cg-controls{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 4vw 24px;background:#1e3029;border-top:1px solid #8b9e7844}
.cg-controls h2{font:26px var(--serif);margin:7px 0 9px;letter-spacing:2px}.cg-controls p{font:14px/1.7 var(--sans);color:#d9dfcc;margin:0;max-width:64em}.cg-controls .eyebrow{font-size:10px;color:#afc19a}
.cg-actions{display:flex;gap:10px;flex-shrink:0;align-self:flex-end;flex-wrap:wrap}.cg-actions .small-button{min-height:40px;padding:9px 18px;background:#263c32;border-color:#829577;color:#eff0dd}.cg-actions .primary{background:#e9e4cc;color:#2a4736}
#cg-status:empty{display:none}#cg-status{padding-top:6px;font-size:12px;color:#c9d6a4}
@keyframes cg-reveal{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
@media(max-width:740px){.scene-art:has(img:not([hidden])){left:-4%;bottom:190px;width:65%;height:calc(100% - 285px)}.cg-controls{display:block;padding:18px 20px}.cg-controls h2{font-size:22px}.cg-controls p{font-size:13px}.cg-actions{margin-top:16px;justify-content:flex-end}.gallery-grid{grid-template-columns:1fr}.dialogue-avatar img.framed-avatar{top:-12%}}
@media(prefers-reduced-motion:reduce){.cg-stage img{animation:none}}
