/* v3.1.0: protect fully visible costume portraits at mobile widths. */
.mini-costume-stage.mini-wardrobe-stage{background:radial-gradient(circle at 50% 30%,#564044 0,#211c29 70%);aspect-ratio:3/4;width:min(100%,530px);height:auto;max-height:initial;overflow:hidden;isolation:isolate}
.mini-costume-stage.mini-wardrobe-stage>img.mini-outfit-portrait{
 position:absolute!important;inset:0!important;left:0!important;bottom:auto!important;
 width:100%!important;height:100%!important;object-fit:contain!important;
 object-position:center center!important;filter:none!important;transform:none!important
}
.mini-wardrobe-stage.mini-outfit-tone-silver,.mini-wardrobe-stage.mini-outfit-tone-rose{background:radial-gradient(circle at 48% 43%,#8b756b,#261d31 80%)}
.mini-outfit-thumb{width:86px;height:78px;min-width:86px;overflow:hidden;display:block;border-radius:8px;background:#312632}
.mini-outfit-thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}
.mini-wardrobe-controls .mini-outfit-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mini-wardrobe-controls .mini-outfit-options button{display:flex;align-items:center;gap:10px;min-width:0;min-height:90px;padding:8px}
.mini-wardrobe-controls .mini-outfit-options button span:last-child{min-width:0;display:grid;gap:5px}
.mini-wardrobe-controls .mini-outfit-options button strong{font-size:14px;line-height:1.35}
.mini-wardrobe-controls .mini-outfit-options button small{font-size:12px;line-height:1.35}
.mini-costume-stage.mini-robe-stage{background:radial-gradient(circle at center,#645452,#1b1724 85%);overflow:hidden}
.mini-costume-stage.mini-robe-stage .mini-robe-canvas{opacity:1;transition:opacity .2s;cursor:crosshair;touch-action:none;outline-offset:-3px}
.mini-robe-before{z-index:2}
.mini-robe-after{z-index:1}
.mini-selection-preview{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);align-items:center;gap:16px;padding:13px;margin:0;border-radius:12px;background:#201a26;border:1px solid #96725b}
.mini-selection-preview img{max-width:220px;width:100%;max-height:250px;height:auto;object-fit:contain;border-radius:8px;background:#34262f}
.mini-selection-preview figcaption{color:#f3d5b2;line-height:1.9;font-size:15px}
.mini-lantern-row,.mini-gift-grid{align-items:stretch}
.mini-lantern>img{object-fit:contain}
.mini-gift-grid button>img{object-fit:contain;background:linear-gradient(145deg,#4b3840,#201b29)}
/* Standalone adult romantic fiction reader, no changes to story layout or save slots. */
.bl-night-page{min-width:0;display:grid;gap:22px;margin:12px 0 26px}
.bl-night-lead{padding:clamp(16px,3vw,27px);border:1px solid #92715f;border-radius:13px;background:linear-gradient(125deg,#382836,#26202b)}
.bl-night-lead>span{font-size:12px;color:#e0bb97;letter-spacing:.16em}
.bl-night-lead h2{font-size:clamp(24px,4vw,36px);color:#f8d5ad;margin:10px 0 12px}
.bl-night-lead p{font-size:15px;line-height:1.9;max-width:900px;color:#e6d1c4}
.bl-night-lead small{display:block;margin-top:10px;color:#d6bda8}
.bl-night-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bl-night-card{display:grid;grid-template-rows:auto 190px auto auto;gap:10px;text-align:left;cursor:pointer;padding:14px;min-width:0;min-height:330px;border:1px solid #8e6e58;border-radius:12px;background:#342935;color:#f2d5b3}
.bl-night-card:hover,.bl-night-card:focus-visible{background:#4a3340;border-color:#edbc89}
.bl-night-card img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:8px}
.bl-chapter-number{font-size:12px;letter-spacing:.15em;color:#c8a985}
.bl-night-card strong{font-weight:550;font-size:19px}
.bl-night-card small{color:#d5bba7}
.bl-novel-head{display:grid;grid-template-columns:1.2fr minmax(150px,.65fr);gap:16px;padding:20px;border:1px solid #775a56;border-radius:12px;background:linear-gradient(130deg,#3d2b39,#201c26);align-items:center}
.bl-novel-head h2{font-size:clamp(22px,4vw,35px);margin:12px 0;color:#f5d5b0}
.bl-novel-head p{line-height:1.8;color:#d9c3b5;font-size:14px}
.bl-novel-head img{width:100%;height:220px;object-fit:contain;border-radius:9px}
.bl-novel-lines{display:grid;gap:13px;padding:clamp(16px,3vw,29px);background:#251e29;border:1px solid #674b4e;border-radius:12px}
.bl-novel-line{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;line-height:2.05;font-size:15px;margin:0}
.bl-novel-line strong{color:#f1c991;font-weight:600}
.bl-novel-line span{color:#efdfd0}
.bl-novel-answer{padding:clamp(16px,2.5vw,24px);background:#473140;border:1px solid #e2b789;border-radius:11px;display:grid;gap:12px}
.bl-novel-answer strong{font-size:19px;color:#ffe0aa}
.bl-novel-answer p{font-size:15px;line-height:1.95;color:#f5e3d3}
.bl-novel-choices{display:grid;gap:12px;padding:20px;border:1px solid #795853;border-radius:11px}
.bl-novel-choices h3{color:#f5ce9e;font-size:20px}
.bl-novel-choice{border:1px solid #8d6a5e;background:#3a2a35;color:#edd4bd;font-size:15px;line-height:1.6;padding:16px 18px;border-radius:8px;text-align:left;min-height:50px;cursor:pointer}
.bl-novel-choice:hover,.bl-novel-choice.is-picked{background:#654352;border-color:#edc390}
.bl-night-page button:focus-visible{outline:3px solid #ffe0af;outline-offset:3px}
@media(max-width:900px){
 .bl-night-index{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bl-night-card{grid-template-rows:auto 160px auto auto;min-height:300px}
 .mini-wardrobe-controls .mini-outfit-options button{min-height:79px}
}
@media(max-width:650px){
 .mini-costume-stage.mini-wardrobe-stage,.mini-costume-stage.mini-robe-stage{aspect-ratio:3/4;max-height:unset;height:auto;min-height:initial}
 .mini-wardrobe-controls .mini-outfit-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mini-outfit-thumb{width:57px;height:65px;min-width:57px}
 .mini-wardrobe-controls .mini-outfit-options button{padding:7px;gap:7px;min-height:74px}
 .mini-wardrobe-controls .mini-outfit-options button strong{font-size:13px}
 .mini-wardrobe-controls .mini-outfit-options button small{font-size:11px}
 .mini-selection-preview{grid-template-columns:minmax(0,1fr)}
 .mini-selection-preview img{width:100%;max-width:100%;max-height:270px}
 .bl-night-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .bl-night-card{padding:9px;grid-template-rows:auto 115px auto auto;min-height:230px}
 .bl-night-card strong{font-size:15px}
 .bl-novel-head{grid-template-columns:minmax(0,1fr);gap:8px}
 .bl-novel-head img{height:170px}
 .bl-novel-line{grid-template-columns:minmax(0,1fr);gap:1px}
 .bl-novel-line strong{font-size:13px}
 .bl-novel-line span{font-size:14px}
 .bl-night-page{padding-bottom:max(env(safe-area-inset-bottom),12px)}
}
@media(prefers-reduced-motion:reduce){.mini-robe-canvas,.bl-night-page *{transition:none!important;animation:none!important}}

/* v3.2.0: Full portraits, independent emotional poses, and completely rebuilt palace lantern photography. */
.mini-costume-stage.mini-robe-stage{aspect-ratio:3/4;max-height:unset;min-height:0}
.mini-costume-stage.mini-robe-stage>img.mini-robe-after,
.mini-costume-stage.mini-robe-stage>img.mini-robe-before{
 width:100%;height:100%;inset:0;object-fit:contain;object-position:50% 50%;
 background:linear-gradient(145deg,#352831,#1a1720)
}
.mini-quiz-photo{background:linear-gradient(145deg,#3d3035,#17141d);overflow:hidden}
.mini-quiz-photo>img.mini-heart-portrait{
 display:block;position:absolute;inset:0;width:100%;height:100%;
 object-fit:contain;object-position:center center;filter:none
}
.mini-lantern-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.mini-lantern{padding:9px;min-height:0;gap:10px;align-items:stretch}
.mini-lantern>img{
 width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;
 object-position:50% 50%;border-radius:9px;filter:none;
 border:1px solid rgba(242,193,147,.22)
}
.mini-lantern strong{display:block;text-align:center;font-size:14px}
.mini-lantern.is-chosen>img{filter:drop-shadow(0 0 7px #eab77f88)}
.mini-selection-preview{grid-template-columns:minmax(0,260px) minmax(0,1fr);justify-items:start;gap:15px}
.mini-selection-preview img{
 display:block;width:100%;max-width:260px;height:auto;max-height:390px;
 aspect-ratio:2/3;object-fit:cover;object-position:center;
 border:1px solid #8b6456
}
@media(max-width:960px){.mini-lantern-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
 .mini-lantern-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .mini-lantern{padding:7px;min-height:0}
 .mini-lantern>img{height:auto;aspect-ratio:2/3}
 .mini-selection-preview{grid-template-columns:minmax(0,1fr);justify-items:stretch}
 .mini-selection-preview img{max-width:100%;width:100%;max-height:none;aspect-ratio:2/3;object-fit:contain}
 .mini-quiz-photo{min-height:265px;height:265px}
 .mini-quiz-photo>img.mini-heart-portrait{object-fit:contain;object-position:50% 50%}
}
