/* v12：人物入口、中央剧情层和右侧操作各自占据固定区域。 */
#action-rail[data-scene="harem"]{width:196px!important}
#action-rail[data-scene="harem"]>button{min-height:58px!important;font-size:clamp(20px,1.45vw,24px)!important;font-weight:800!important;letter-spacing:5px!important}

.visit-picker-floating{position:absolute!important;left:22px!important;bottom:18px!important;z-index:9!important;width:min(610px,calc(100% - 270px))!important;display:flex!important;align-items:flex-end!important;gap:12px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.visit-picker-floating .visit-person-choice{flex:0 1 250px!important;min-width:205px!important;min-height:78px!important;padding:12px 16px!important;font-size:17px!important;text-align:left!important}
.visit-picker-floating .visit-person-choice b{font-size:20px!important}.visit-picker-floating .visit-person-choice span,.visit-picker-floating .visit-person-choice small{font-size:14px!important;line-height:1.45!important}
.visit-dialog-reserve.visit-dialog-center{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;z-index:30!important;width:min(780px,calc(100% - 330px))!important;height:auto!important;min-height:380px!important;max-height:72%!important;padding:22px 24px!important;background:linear-gradient(150deg,rgba(255,249,226,.99),rgba(228,201,143,.99))!important;border:3px double #8e5718!important;box-shadow:0 18px 50px rgba(54,31,7,.45),inset 0 0 0 4px rgba(255,248,220,.5)!important;overflow:auto!important}
.visit-dialog-center,.visit-dialog-reserve.is-active.visit-dialog-center h3,.visit-dialog-reserve.is-active.visit-dialog-center b,.visit-dialog-reserve.is-active.visit-dialog-center span,.visit-dialog-reserve.is-active.visit-dialog-center div,.visit-dialog-reserve.is-active.visit-dialog-center p,.visit-dialog-reserve.is-active.visit-dialog-center .visit-monologue,.visit-dialog-reserve.is-active.visit-dialog-center .visit-reply{color:#42270f!important;text-shadow:none!important}
.visit-dialog-center .visit-conversation{min-height:330px!important}.visit-dialog-center .visit-conversation h3{font-size:27px!important;text-align:center!important}.visit-dialog-center .dialogue-topic-tag{text-align:center!important;font-size:15px!important}.visit-dialog-center .visit-monologue,.visit-dialog-center .visit-reply{font-size:17px!important;line-height:1.9!important;text-align:justify!important}.visit-dialog-center .visit-answer-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.visit-dialog-center .dialogue-answer{min-height:62px!important;font-size:17px!important}.visit-dialog-center .dialogue-read-footer{margin-top:auto!important}.visit-dialog-center .dialogue-read-footer button{min-width:160px!important;min-height:52px!important;font-size:18px!important}
.visit-scene:has(.visit-dialog-center) .visit-acts-col,.visit-scene:has(.visit-dialog-center)~#action-rail{pointer-events:none!important;filter:saturate(.45) brightness(.8)!important}
body:has(.visit-dialog-center) #action-rail{pointer-events:none!important;filter:saturate(.45) brightness(.8)!important}
.visit-acts-col .visit-street-btn{margin-top:auto!important;order:99!important;min-height:62px!important;font-size:20px!important}
.visit-spot:hover{transform:translate(-50%,-50%)!important}.place-act-btn:hover,.visit-person-choice:hover{transform:none!important}

.year-summary-modal{width:min(1180px,calc(100vw - 28px))!important;height:min(820px,calc(100dvh - 24px))!important;max-width:none!important;padding:0!important;overflow:auto!important;background:linear-gradient(145deg,#fff5d5,#e1c27d)!important}
.year-summary{padding:26px;color:#41270e}.year-summary>header{text-align:center;border-bottom:2px solid #a46c22;padding-bottom:14px}.year-summary>header span{letter-spacing:8px;color:#8b3a21}.year-summary>header h2{margin:6px 0;font-size:34px}.year-summary>header p{margin:0;font-size:16px}
.year-resources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.year-resources article{padding:12px;text-align:center;border:1px solid #b78232;background:rgba(255,250,229,.72)}.year-resources span,.year-resources small{display:block}.year-resources b{display:block;margin:5px 0;font-size:23px}.year-pos{color:#28733f}.year-neg{color:#a42f28}
.year-territory,.year-columns>section{border:1px solid rgba(151,98,27,.48);background:rgba(255,251,233,.65);padding:10px 12px}.year-territory h3,.year-columns h3{margin:0 0 6px;font-size:18px}.year-territory p,.year-columns p,.year-columns li{font-size:13px;line-height:1.48}.year-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.year-columns ul{margin:0;padding-left:18px}.year-summary footer{display:flex;justify-content:flex-end;margin-top:10px}.year-summary footer button{min-width:220px;min-height:48px;font-size:18px}

@media(max-width:1100px){
  #action-rail[data-scene="harem"]{width:164px!important}#action-rail[data-scene="harem"]>button{font-size:19px!important}
  .visit-dialog-reserve.visit-dialog-center{width:min(690px,calc(100% - 245px))!important}
  .year-summary{padding:18px}.year-summary>header h2{font-size:28px}.year-resources{gap:6px}.year-resources article{padding:8px}.year-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.year-columns p,.year-columns li{font-size:12px;line-height:1.42}
}
@media(max-width:700px){
  #action-rail[data-scene="harem"]{width:108px!important;right:calc(var(--log-w) + 7px)!important}#action-rail[data-scene="harem"]>button{min-height:50px!important;font-size:16px!important;letter-spacing:1px!important}
  .visit-picker-floating{left:8px!important;bottom:8px!important;width:calc(100% - 130px)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.visit-picker-floating .visit-person-choice{min-width:0!important;min-height:62px!important;padding:7px!important}.visit-picker-floating .visit-person-choice b{font-size:16px!important}.visit-picker-floating .visit-person-choice span,.visit-picker-floating .visit-person-choice small{font-size:11px!important}
  .visit-dialog-reserve.visit-dialog-center{left:50%!important;top:48%!important;width:calc(100% - 18px)!important;min-height:430px!important;max-height:76%!important;padding:13px!important}.visit-dialog-center .visit-conversation{min-height:400px!important}.visit-dialog-center .visit-conversation h3{font-size:21px!important}.visit-dialog-center .visit-monologue,.visit-dialog-center .visit-reply{font-size:14px!important;line-height:1.65!important}.visit-dialog-center .visit-answer-list{gap:6px!important}.visit-dialog-center .dialogue-answer{min-height:52px!important;font-size:12px!important}
  .visit-acts-col .visit-street-btn{min-height:50px!important;font-size:15px!important}
  .year-summary-modal{width:calc(100vw - 8px)!important;height:calc(100dvh - 8px)!important}.year-summary{padding:10px}.year-summary>header{padding-bottom:8px}.year-summary>header span{font-size:11px;letter-spacing:4px}.year-summary>header h2{font-size:23px}.year-summary>header p{font-size:12px}.year-resources{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:8px 0}.year-resources article{padding:5px 2px}.year-resources span,.year-resources small{font-size:9px}.year-resources b{font-size:14px}.year-territory,.year-columns>section{padding:7px}.year-territory h3,.year-columns h3{font-size:15px}.year-territory p,.year-columns p,.year-columns li{font-size:11px;line-height:1.4}.year-columns{gap:5px;margin-top:5px}.year-summary footer{margin-top:7px}.year-summary footer button{min-width:150px;min-height:44px;font-size:14px}
}
