.research-modal { width:min(1100px,calc(100vw - 32px)); max-width:1100px; }
.case-cockpit-mobile-tools { display:none; }
@media(max-width:760px) { .case-cockpit-hero .case-cockpit-mobile-tools { display:flex; margin-top:14px; } .case-cockpit-mobile-tools button { min-height:44px; width:100%; } }
.research-modal-backdrop { z-index:130; }
.research-mobile-hint { display:none; }
.research-mobile-diagram-toggle { display:none; }
.research-map-workspace { display:grid; gap:14px; padding:0 0 4px; }
.research-map-workspace > section,.research-map-utilities { min-width:0; border:1px solid #3a3a3a; border-radius:12px; background:#222222; }
.research-map-build { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 20px; }
.research-map-build h3,.research-section-heading h3,.research-map-review-heading h3 { margin:3px 0 0; font-size:18px; }
.research-map-build p { margin:7px 0 0; color:#b8c0c8; font-size:13px; }
.research-map-help { display:inline-block; margin-top:7px; padding:0; color:#c9d8e5; background:none; border:0; text-decoration:underline; text-underline-offset:3px; cursor:pointer; font-size:13px; }
.research-step { color:#e0a59d; font-size:11px; font-weight:700; letter-spacing:.08em; }
.research-map-primary { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.research-map-primary button,.research-map-utility-actions button { white-space:nowrap; }
.research-map-utilities { overflow:hidden; }
.research-map-utilities > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; cursor:pointer; list-style:none; }
.research-map-utilities > summary::-webkit-details-marker { display:none; }
.research-map-utilities > summary::after { content:"▾"; color:#b8c0c8; font-size:18px; }
.research-map-utilities[open] > summary::after { content:"▴"; }
.research-map-utilities > summary span { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; }
.research-map-utilities > summary small { color:#aeb7c0; }
.research-map-utility-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 18px 16px; border-top:1px solid #3a3a3a; }
.research-map-utility-actions .btn-danger { margin-left:auto; }
.research-map-explore,.research-map-review { padding:18px 20px; }
.research-section-heading { margin-bottom:14px; }
.research-map-pagebar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:14px; margin-top:14px; border-top:1px solid #3a3a3a; }
.research-map-pagebar [role=status] { color:#d9e0e5; font-size:13px; font-weight:600; }
.research-map-page-buttons { display:flex; gap:8px; }
.research-map-review-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.research-map-review-heading label { display:flex; align-items:center; gap:8px; color:#b8c0c8; }
.research-map-review-heading select { min-width:92px; }
.research-map-hint { color:#aeb7c0; margin:10px 0 0; font-size:13px; }
.research-tools,.research-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:14px 0; }
.research-tools { padding:14px 18px; border:1px solid #34393d; border-radius:12px; background:#191c1f; }
.research-tools p { flex:1; margin:0; color:#b8c0c8; }
.research-notice { padding:12px 16px; background:#22262a; border-left:3px solid #bbac78; border-radius:6px; color:#d5dbe0; }
.research-clear-action { margin-left:auto; }
.research-clear-confirm { padding:8px 0 4px; }
.research-clear-confirm p { line-height:1.5; }
.research-clear-confirm label { display:flex; align-items:flex-start; gap:10px; padding:14px; border:1px solid #4d3939; border-radius:10px; background:#251b1b; }
.research-clear-confirm label input { width:auto; margin-top:4px; }
.research-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.research-grid label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.research-grid input,.research-grid select,.research-grid textarea { width:100%; min-width:0; }
.research-wide { grid-column:1 / -1; }
.research-map { overflow:auto; max-height:430px; border:1px solid #3a3a3a; border-radius:10px; margin:16px 0; background:#222222; }
.research-map svg { display:block; width:980px; max-width:none; }
.research-map-filters { display:grid; grid-template-columns:1fr 1fr 160px; gap:12px; }
.research-map-filters label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.research-map-filters input,.research-map-filters select { width:100%; min-width:0; }
.research-map-filters input,.research-map-filters select,.research-map-review-heading select { color:#f3f4f5; background:#2a2a2a; border-color:#484848; }
.research-map-filters input::placeholder { color:#a9a9a9; }
.research-link-detail summary { display:flex; align-items:center; gap:12px; cursor:pointer; }
.research-link-detail summary::after { content:"+ Source"; flex-shrink:0; color:#c4c4c4; font-size:12px; }
.research-link-detail[open] summary::after { content:"− Source"; }
.research-link-title { flex:1; min-width:0; font-weight:600; }
.research-link-title small { display:block; font-weight:400; margin-top:5px; overflow-wrap:anywhere; }
.research-link-number { border:1px solid #7f734e; border-radius:50%; width:28px; height:28px; display:grid; place-items:center; flex-shrink:0; }
.research-link-detail .research-source { margin-top:16px; border-top:1px solid #484848; padding-top:12px; }
@media(max-width:800px) { .research-map-build { align-items:flex-start; flex-direction:column; } .research-map-primary { justify-content:flex-start; } .research-map-filters { grid-template-columns:1fr 1fr; } .research-map-filters label:first-child { grid-column:1/-1; } }
@media(max-width:600px) { .research-map-filters { grid-template-columns:1fr; } .research-map-filters label:first-child { grid-column:auto; } .research-map-pagebar { align-items:flex-start; flex-direction:column; } .research-map-review-heading { align-items:flex-start; } .research-map-build,.research-map-explore,.research-map-review { padding:15px; } .research-map-utility-actions .btn-danger { margin-left:0; } .research-link-detail summary { flex-wrap:wrap; } .research-link-title { flex-basis:75%; } .research-mobile-hint { display:inline; } .research-mobile-diagram-toggle { display:inline-flex; margin-top:12px; } .research-map-review .research-map { display:none; } .research-map-review[data-mobile-diagram-open="true"] .research-map { display:block; } }
.research-list { display:grid; gap:10px; max-height:440px; overflow:auto; margin:16px 0; }
.research-map-review .research-list { background:#222222; }
.research-map-review .research-entry { background:#2a2a2a; border-color:#484848; }
.research-entry { padding:14px; border:1px solid #363b40; border-radius:10px; background:#1b1e21; min-width:0; overflow-wrap:anywhere; }
.research-entry h3,.research-entry p { margin:0 0 8px; }
.research-entry small { color:#c4c4c4; }
.research-entry .research-source { white-space:pre-wrap; }
.research-status { display:inline-block; padding:3px 8px; border:1px solid #7f734e; border-radius:20px; font-size:12px; color:#e1cf9a; }
.research-status.disputed { color:#efaaaa; border-color:#814646; }
.research-status.corroborated { color:#9cd5c3; border-color:#4b7669; }
.research-empty { padding:26px; text-align:center; color:#b9c2ca; }
.research-guide { display:grid; grid-template-columns:220px 1fr; gap:22px; }
.research-guide nav { display:flex; flex-direction:column; gap:8px; }
.research-guide nav button { text-align:left; }
.research-guide nav button[aria-pressed=true] { border-color:#e56b60; background:#392523; }
.research-illustration { padding:22px; border:1px solid #47515a; background:#151719; border-radius:12px; margin-bottom:18px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.research-illustration span { display:block; padding:10px 14px; background:#272c31; border:1px solid #56616b; border-radius:8px; }
.research-guide li { margin:12px 0; }
@media(max-width:600px) { .research-grid,.research-guide { grid-template-columns:1fr; } .research-guide nav { flex-direction:row; overflow:auto; } .research-guide nav button { flex-shrink:0; } .research-wide { grid-column:auto; } .research-modal { width:calc(100vw - 16px); } }
