.crime-archive {
 --archive-ink: #1e344b;
 --archive-line: #cbd7e3;
 --archive-paper: #f8fbff;
 color: var(--archive-ink);
 margin: 1.5rem auto 3rem;
}
.crime-masthead {
 background: #20364e;
 color: #e7f1fa;
 padding: clamp(1.25rem, 4vw, 2.5rem);
 border-bottom: 5px solid #88aac4;
 border-radius: 0.65rem 0.65rem 0 0;
}
.crime-masthead h1 { color: #fff; margin: 0.35rem 0; }
.crime-masthead p, .crime-masthead span { color: #e7f1fa; }
.crime-masthead p { margin: 0; }
.crime-layout {
 display: grid;
 grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
 gap: 1rem;
 margin-top: 1rem;
 align-items: start;
}
.crime-panel {
 padding: clamp(1rem, 2.5vw, 1.5rem);
 border: 1px solid var(--archive-line);
 border-radius: 0.6rem;
 background: var(--archive-paper);
 min-width: 0;
}
.crime-panel h2 { margin-top: 0; }
.crime-panel h3 { margin: 1.2rem 0 0.45rem; }
.crime-workspace { display: grid; gap: 1rem; min-width: 0; }
.crime-report { grid-column: 1 / -1; }
.crime-section-heading { display: flex; gap: 0.5rem 1rem; flex-wrap: wrap; align-items: baseline; }
.crime-tag, .crime-counter {
 display: inline-block;
 padding: 0.15rem 0.55rem;
 border-radius: 0.25rem;
 background: #e6eff7;
 color: #244765;
 font-size: 0.9rem;
}
.crime-counter { font-weight: 700; }
.crime-dossier, .crime-verdict, .crime-note {
 margin: 0.6rem 0;
 padding: 0.65rem 0.85rem;
 background: #edf4fb;
 border-inline-start: 3px solid #96b3cc;
}
.crime-dossier strong { display: block; }
.crime-dossier p, .crime-verdict p { margin: 0.3rem 0; }
.crime-meaning { margin: 0.55rem 0 0; font-size: 0.94em; }
.crime-meaning dt { font-weight: 650; }
.crime-meaning dd { margin: 0 0 0.35rem; }
.crime-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.crime-pair > div { min-width: 0; overflow-wrap: anywhere; }
.crime-pair > div:nth-child(3) { grid-column: 1 / -1; }
.crime-pair p { margin: 0.25rem 0 0.5rem; }
.crime-dialogue {
 margin: 0.65rem 0;
 padding: 0.65rem 0.85rem;
 background: #e6eff7;
 border-radius: 0.3rem;
}
.crime-dialogue p { margin: 0.4rem 0 0; }
.crime-dialogue summary, .crime-statement summary { cursor: pointer; font-weight: 650; }
.crime-statement .crime-pair { margin-top: 0.4rem; }
.crime-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.crime-investigations, .crime-form { display: grid; gap: 0.65rem; }
.crime-investigate { width: 100%; text-align: start; }
.crime-investigation { padding: 0.65rem; border: 1px solid var(--archive-line); background: #fff; }
.crime-investigation summary { cursor: pointer; font-weight: 650; }
.crime-result-text { margin-top: 0.5rem; }
.crime-result-text p { margin-bottom: 0.2rem; }
.crime-form label { display: grid; gap: 0.25rem; }
.crime-form select { width: 100%; min-width: 0; }
.crime-form fieldset { min-width: 0; padding: 0.65rem; border: 1px solid var(--archive-line); }
.crime-form .crime-check { display: flex; gap: 0.55rem; align-items: baseline; margin: 0.35rem 0; }
.crime-check small { color: #48637d; }
.crime-error { color: #8a2534; margin: 0; }
.crime-error:empty { display: none; }
.crime-timeline { padding-left: 1.4rem; }
.crime-timeline li { margin: 0.5rem 0; }
.crime-timeline strong { display: inline-block; margin-right: 0.5rem; color: #254969; }
.crime-case-links { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.crime-archive :focus-visible { outline: 2px solid #235886; outline-offset: 3px; }
.crime-archive [tabindex="-1"], .crime-investigate { scroll-margin-block-start: 6rem; }
@media (max-width: 760px) {
 .crime-layout { grid-template-columns: minmax(0, 1fr); }
 .crime-form .btn, .crime-report > .btn { width: 100%; }
}
@media (max-width: 560px) {
 .crime-pair { grid-template-columns: minmax(0, 1fr); }
}
