.police-visit .police-entrance-photo { width: 100%; height: clamp(140px, 20vh, 170px); object-fit: cover; object-position: center 45%; margin-bottom: 18px; }
.police-visit h2 { margin-top: 0; }
.police-visit h2:focus { outline: none; }
.police-visit .police-narration { margin: 12px 0 22px; }
.police-visit .police-greeting { margin: 0 0 24px; }
.police-speaker { margin-bottom: 10px; color: var(--paper-dim); font: .7rem var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.police-topics-section { border-top: 1px solid var(--border-dim); padding-top: 22px; margin-top: 26px; }
.police-player { margin-bottom: 15px; color: var(--amber); }
.police-topics { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 6px 0; margin: 0; background: #171412; border-left: 2px solid #80633a; }
.police-topic { display: flex; align-items: baseline; gap: 16px; width: 100%; min-height: 48px; padding: 14px 18px; border: 0; background: transparent; color: var(--paper); text-align: left; font-family: var(--font-serif); cursor: pointer; }
.police-topic:hover, .police-topic:focus-visible { color: var(--amber-bright); background: linear-gradient(90deg, #47362180, transparent); }
.police-topic:focus-visible, .police-back:focus-visible, .police-report-link:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
.police-choice-number { flex: 0 0 18px; color: var(--amber); font: .8rem var(--font-mono); }
.police-topic-title { flex: 1; min-width: 0; font-size: 1rem; font-weight: normal; line-height: 1.45; overflow-wrap: anywhere; }
.police-report-link { display: inline-block; width: auto; max-width: 100%; margin-top: 6px; text-decoration: none; }
.police-back { display: inline-block; padding: 0; margin: 0 0 24px; background: transparent; border: 0; color: var(--amber); font-family: var(--font-serif); font-size: .85rem; cursor: pointer; }
.police-topic-actions { display: grid; gap: 12px; margin-top: 24px; }
.police-topic-actions .btn { margin: 0; text-align: left; white-space: normal; }
@media (max-width: 480px) {
  .police-topic { padding: 13px 12px; gap: 10px; }
  .police-topic-title { font-size: .95rem; }
}
