/* Keep the readable font sizes; reserve the lower part of play for choices. */
body.is-investigating { overflow:hidden; }
.play-mode { height:100vh; height:100dvh; display:flex; flex-direction:column; overflow:hidden; }
.play-mode .topbar { flex-shrink:0; min-height:80px; padding:10px 24px; }
.play-mode .brand h1 { line-height:1.3; }
.play-mode .brand small { line-height:1.4; }
.play-mode .workspace { width:100%; flex:1; min-height:0; overflow:hidden; }
.play-mode .suspects, .play-mode .notebook { min-height:0; overflow:auto; overscroll-behavior:contain; padding-top:20px; padding-bottom:20px; }
.play-mode .suspects { gap:14px; }
.play-mode .suspect-card { min-height:100px; padding-top:11px; padding-bottom:11px; }
.play-mode .interview { height:100%; min-height:0; overflow:hidden; padding:16px 24px; gap:0; }
.play-mode .scene-label { display:none; }
.play-mode .dialogue-paper { flex:1 1 0; min-height:0; }
.play-mode .speaker { flex-shrink:0; padding:10px 20px; gap:12px; }
.play-mode .speaker>div:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 16px; min-width:0; }
.play-mode .speaker .micro { display:none; }
.play-mode .speaker h2 { line-height:1.35; }
.play-mode .speaker small { line-height:1.5; }
.play-mode .speaker .portrait { width:36px; height:46px; }
.play-mode .chat-scroll { flex:1; min-height:0; max-height:none; padding:16px 22px; overscroll-behavior:contain; scrollbar-gutter:stable; }
.play-mode .chat-scroll:focus-visible { outline:2px solid var(--gold); outline-offset:-3px; }
.play-mode .question-line { margin-bottom:8px; }
.play-mode .chat-meta { margin-top:10px; }
.play-mode .options-head { flex-shrink:0; margin:12px 0 8px; gap:4px 12px; }
.play-mode .options-head h3 { line-height:1.5; }
.play-mode .options-head span { line-height:1.6; }
.play-mode .question-options { flex-shrink:0; gap:8px; }
.play-mode .question-option { padding:10px 14px; gap:12px; align-items:center; }
.play-mode .question-option .q { line-height:1.6; }
.play-mode .question-option .topic { margin-top:2px; line-height:1.5; }
.play-mode .pager { flex-shrink:0; margin-top:8px; gap:6px; }
.play-mode .pager .btn { min-height:40px; padding:5px 8px; }
.play-mode .zero-note { flex-shrink:0; padding:6px 0 0; }
.play-mode .empty-dialogue { padding:24px; overflow:auto; }
.play-mode .conversation-empty { flex-shrink:0; padding:12px 0; }
.is-investigating #toast { bottom:8px; top:auto; width:min(560px,calc(100vw - 24px)); max-width:none; padding:8px 14px; text-align:center; }
@media (max-height:800px) {
  .play-mode .topbar { min-height:64px; padding-top:6px; padding-bottom:6px; }
  .play-mode .brand small { display:none; }
  .play-mode .interview { padding-top:12px; padding-bottom:10px; }
  .play-mode .question-option .topic { display:none!important; }
  .play-mode .question-option { padding-top:10px; padding-bottom:10px; }
  .play-mode .chat-meta { display:none; }
}
@media (max-width:760px) {
  .play-mode .topbar { min-height:54px; padding:7px 14px; }
  .play-mode .brand small, .play-mode .energy-track { display:none; }
  .play-mode .energy { min-width:105px; }
  .play-mode .workspace { display:flex; flex-direction:column; padding:0; }
  .play-mode .suspects { flex-shrink:0; padding:7px 12px; overflow:hidden; }
  .play-mode .section-cap { display:none; }
  .play-mode .suspect-list { flex-direction:row; display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; padding-bottom:3px; overscroll-behavior-x:contain; }
  .play-mode .suspect-card { flex:0 0 auto; width:auto; min-height:42px; padding:6px 12px; }
  .play-mode .suspect-card .portrait, .play-mode .person-role, .play-mode .talk-count { display:none; }
  .play-mode .suspect-card .person-name { white-space:nowrap; }
  .play-mode .suspect-card.active:before { top:7px; bottom:7px; }
  .play-mode .interview { flex:1; height:auto; min-height:0; padding:9px 12px 5px; }
  .play-mode .speaker { display:none; }
  .play-mode .chat-scroll { padding:12px 16px; }
  .play-mode .chat-meta { display:none; }
  .play-mode .question-line { margin-bottom:7px; }
  .play-mode .options-head { margin:8px 0 6px; }
  .play-mode .question-options { gap:6px; }
  .play-mode .question-option { padding:8px 12px; gap:10px; }
  .play-mode .question-option .topic { display:none!important; }
  .play-mode .question-option .q { line-height:1.6; }
  .play-mode .pager { margin-top:5px; }
  .play-mode .pager .btn { min-height:36px; padding:2px 5px; }
  .play-mode .pager span { line-height:1.5; }
  .play-mode .mobile-bottom { position:static; flex-shrink:0; display:flex; padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px)); }
  .play-mode .mobile-bottom .btn { min-height:44px; padding:7px 10px; }
  .play-mode .empty-dialogue { padding:20px; }
}
@media (max-width:760px) and (max-height:730px) {
  .play-mode .topbar { min-height:44px; padding-top:4px; padding-bottom:4px; }
  .play-mode .suspects { padding-top:4px; padding-bottom:4px; }
  .play-mode .suspect-card { min-height:38px; padding-top:4px; padding-bottom:4px; }
  .play-mode .options-head h3 { display:none; }
  .play-mode .options-head { margin:5px 0; }
  .play-mode .chat-scroll { padding:10px 14px; }
  .play-mode .question-option { padding-top:6px; padding-bottom:6px; }
  .play-mode .mobile-bottom { padding-top:4px; padding-bottom:calc(4px + env(safe-area-inset-bottom,0px)); }
}
