/* 2026-08-17g — motive/logic hardening + spoiler-light narrative + grounded UI + persistent 2D map */

/* Keep the scene itself primary; no permanent developer narration over the image. */
.scene-caption > p{display:none!important}
.scene-caption > span{display:none!important}

/* Reduce the synthetic "AI horror website" finish. */
html,body,#app{overflow:hidden!important}
body{font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif!important}
.title-card h1,.ending-title{font-family:"Songti SC","STSong",serif}
.title-card{backdrop-filter:none!important;background:#080b0ee8!important;box-shadow:0 22px 60px #0009!important}
.scene-frame{box-shadow:none!important;border-color:#ffffff12!important}
.scene-frame img{filter:saturate(.82) contrast(1.02) brightness(.95)!important}
.game[data-scene="entry"] .scene-frame img{filter:saturate(.84) contrast(1.02) brightness(.96)!important}
.game[data-scene="living"] .scene-frame img{filter:saturate(.81) contrast(1.025) brightness(.95)!important}
.game[data-scene="bedroom"] .scene-frame img{filter:saturate(.79) contrast(1.03) brightness(.94)!important}
.game[data-scene="bathroom"] .scene-frame img{filter:saturate(.78) contrast(1.025) brightness(.95)!important}
.game[data-scene="hallway"] .scene-frame img{filter:saturate(.72) contrast(1.045) brightness(.91)!important}
.scene-tint{background:linear-gradient(0deg,#03060854 0%,transparent 26%,transparent 100%)!important;mix-blend-mode:normal!important}
.film-grain{opacity:.035!important;mix-blend-mode:soft-light!important}
.topbar,.game,.quick-nav,.play-area{background:#080b0e!important}
.top-actions button,.quick-nav button{border-color:#ffffff13!important;background:#ffffff04!important;border-radius:0!important}
.top-actions button:hover,.quick-nav button:hover{background:#ffffff09!important}
.sidebar-card{position:relative;overflow:hidden;background:#0b0f12!important;border:1px solid #ffffff12!important;border-left:1px solid #ffffff12!important;min-height:88px!important;padding:14px!important}
.sidebar-card::after{display:none!important}
.modal{backdrop-filter:none!important;background:#010203df!important;overflow:hidden;color-scheme:dark}
.modal-card{background:#0b0f12!important;box-shadow:0 20px 70px #000c!important;border-color:#ffffff1b!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4b5153 #090c0f}
.modal-card::-webkit-scrollbar{width:9px;height:9px}.modal-card::-webkit-scrollbar-track{background:#090c0f}.modal-card::-webkit-scrollbar-thumb{background:#4b5153;border:2px solid #090c0f;border-radius:8px}.modal-card::-webkit-scrollbar-corner{background:#090c0f}
#modalContent{min-width:0;max-width:100%;overflow:visible}
.choice-grid button,.modal-action,.evidence-btn,.tab-btn,.gap-item,.person-card{border-radius:0!important;transition:background .12s ease,border-color .12s ease!important;transform:none!important}
.choice-grid button:hover,.evidence-btn:hover,.gap-item:hover,.person-card:hover{transform:none!important}
.message{border-radius:2px!important}
.photo-card{transform:none!important}
.event-text{background:#090d10f3!important;box-shadow:0 10px 32px #0008!important;border-left-width:2px!important}

/* Hide narrative/relationship material until it is actually earned. */
.logic-history-locked{display:none!important}
.logic-locked-evidence{opacity:.4!important;cursor:not-allowed!important}
.logic-unverified-route{color:#707779!important}
.modal-card.logic-memory-card{contain:layout paint}
.modal-card.logic-memory-card .compare-layout,.modal-card.logic-memory-card .choice-grid{contain:layout}
.modal-card.logic-memory-card .choice-grid button{min-height:56px}

/* Persistent desktop 2D map. It shows position, not unsolved routes. */
.logic-map-card{flex:1 1 180px;min-height:190px!important;display:flex;flex-direction:column}
.logic-plan{display:grid;grid-template-columns:1.05fr 1.5fr;grid-template-rows:1fr 1fr;grid-template-areas:"bedroom living" "bathroom entry";gap:3px;flex:1;min-height:118px;margin-top:10px;padding:3px;border:1px solid #ffffff16;background:#070a0c}
.logic-room{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff13;background:#0c1114;color:#7f8789;font-size:10px;letter-spacing:.03em;min-height:48px}
.logic-room.bedroom{grid-area:bedroom}.logic-room.living{grid-area:living}.logic-room.bathroom{grid-area:bathroom}.logic-room.entry{grid-area:entry}
.logic-room i{display:none;position:absolute;width:7px;height:7px;border-radius:50%;background:#d0c4a8;box-shadow:0 0 0 3px #d0c4a81c}
.logic-room.current{color:#dad5ca;border-color:#8b80654f;background:#111619}.logic-room.current i{display:block;right:8px;bottom:8px}
.logic-hall-row{display:none;grid-template-columns:1fr 1fr 1fr;gap:3px;margin-top:5px}.logic-hall-row.shown{display:grid}.logic-hall-row span{padding:6px 2px;text-align:center;border:1px solid #ffffff12;color:#717879;font:10px ui-monospace,monospace}.logic-hall-row span.current{border-color:#8b806552;color:#d6d0c2}
.logic-map-note{min-height:1.5em!important;margin:7px 0 0!important;color:#777f80!important;font-size:10px!important;line-height:1.5!important}

/* Safe area / compact screens. */
.topbar{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
.quick-nav{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(10px,env(safe-area-inset-bottom))}
.toast{bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px))}
@media(min-width:761px){.modal-card.logic-memory-card.wide{width:min(980px,calc(100vw - 44px))}}
@media(max-width:760px){
  .topbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .modal{padding-top:max(8px,env(safe-area-inset-top));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(8px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left))}
  .modal-card{width:100%;max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))}
  .modal-card.logic-memory-card{contain:none}.modal-card.logic-memory-card .choice-grid button{min-height:52px}
  .choice-grid button,.modal-action,.evidence-btn,.tab-btn,.gap-item,.person-card{min-height:44px}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:1000px){
  .topbar{height:48px;flex-basis:48px}.play-area{display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:minmax(0,1fr);gap:7px;min-height:0;align-content:stretch;padding:6px}.scene-frame{height:100%;width:100%;aspect-ratio:auto;align-self:stretch}.desktop-sidebar{display:flex;min-height:0;overflow:auto;gap:6px}.sidebar-card{min-height:auto!important;padding:8px 10px!important}.sidebar-card p{margin:5px 0;font-size:11px}.sidebar-card b{font-size:19px}.logic-map-card{display:none!important}.quick-nav{padding-top:0;padding-bottom:max(5px,env(safe-area-inset-bottom))}.quick-nav button{padding:6px 9px}.event-text{top:3%;right:2%;width:min(360px,60%);padding:9px 11px;font-size:11px;line-height:1.6}.modal-card{max-height:94vh}
}

/* Evidence that supports motive without turning into an exposition card. */
.logic-schedule-note{
  margin:10px 0 14px;padding:11px 12px;border:1px solid #ffffff14;border-left:2px solid #8e866f;
  background:#090d0f;color:#b9b9b4;font-size:12px;line-height:1.75
}
.logic-schedule-note b{display:block;margin-bottom:5px;color:#d6d1c5;font-weight:500}
.logic-schedule-note p{margin:4px 0!important}
.logic-schedule-note span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#c8c3b7;letter-spacing:.03em}

/* 2026-08-17g — visual evidence consistency */
.logic-memory-card .compare-layout.logic-single-memory{display:block!important;max-width:640px;margin-left:auto;margin-right:auto}
.logic-memory-card .compare-layout.logic-single-memory .compare-shot{width:100%!important;max-width:none!important}

.logic-hall-current{display:none;margin-top:5px;padding:5px 7px;border:1px solid #ffffff10;color:#b9b4a8;font-size:10px;background:#0a0e11}
.logic-hall-current.shown{display:block}
.logic-chat-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:14px 0}
.logic-chat-search input{min-width:0;height:42px;border:1px solid #ffffff20;background:#070a0c;color:#e2dfd6;padding:0 12px;font:inherit;outline:none}
.logic-chat-search input:focus{border-color:#8b806570}
.logic-chat-search .modal-action{margin:0!important;min-width:86px}


/* 2026-08-17g — final consistency pass */
.logic-map-card>.label{letter-spacing:.04em}
.logic-hall-row span:first-child{border-color:#8b806533}
.logic-extra-record{border-left:2px solid #7e765f55;padding-left:8px}
.logic-chat-search+.muted{color:#6f7779!important}
@media(max-width:760px){
  .logic-chat-search{grid-template-columns:1fr}.logic-chat-search .modal-action{width:100%}
}
