.chase-plan{margin:1.6rem 0;padding:1.05rem;border:1px solid #a6b49b4d;border-radius:10px;background:#101e1c;color:#e2e1ca}.chase-plan figcaption{display:flex;align-items:center;gap:.8rem;margin-bottom:.5rem}.chase-plan figcaption>span{font:600 .85rem monospace;color:#dac086;border-bottom:1px solid #dac086;padding:.3rem}.chase-plan figcaption>strong{font-size:1.12rem}.chase-plan svg{display:block;width:100%;height:auto;overflow:visible}.chase-plan svg text{font-family:inherit;font-size:20px;fill:#e2e1ca}.chase-plan svg .chase-map-small{font-size:18px}.chase-plan svg .chase-map-caption{font-size:18px;fill:#bfc8b5}.chase-map-floor{fill:#1a2b27;stroke:#60746a}.chase-map-rail{fill:none;stroke:#738778;stroke-width:2}.chase-map-coal{fill:#38443c;stroke:#a9b7a2;stroke-width:2}.chase-map-cargo{fill:#554d38;stroke:#dac086;stroke-width:2}.chase-map-person circle{fill:#364a43;stroke:#c8d2bb;stroke-width:2}.chase-map-person text{font-weight:700;fill:#f0ecda}.chase-map-person.is-you circle{fill:#e2cd96;stroke:#fff0bb}.chase-map-person.is-you text{fill:#15251f}.chase-map-gate{fill:none;stroke:#c5d5b3;stroke-width:4}.chase-plan svg .chase-map-exit{font-size:23px;fill:#e7cf94;font-weight:700}.chase-map-route{fill:none;stroke:#c5e2b4;stroke-width:4;stroke-linecap:round}.chase-map-decoy{fill:none;stroke:#e8bd83;stroke-width:3;stroke-dasharray:8 6}.chase-map-sight{fill:none;stroke:#c98d78;stroke-width:2;stroke-dasharray:5 6}.chase-map-coat path{fill:#bc9a68;stroke:#f0d4a0;stroke-width:2}.chase-plan>p{font-size:.93rem!important;line-height:1.65!important;color:#bfc8b5;margin:.7rem 0 0!important}.chase-plan .chase-plan-legend{color:#e2e1ca}.chase-height-person{fill:none;stroke:#d7dfc8;stroke-width:5;stroke-linecap:round}.chase-height-head{fill:#b9c6a7}.chase-height-ghost{fill:none;stroke:#b19474;stroke-width:3;stroke-dasharray:5 4}.london-chase-performance .london-case-buttons{margin-top:1rem}.london-chase-performance>button{min-height:44px;margin-top:1rem}.london-chase-reveal>ol{padding-left:1.5rem}.london-chase-reveal>ol>li{padding:.3rem 0 .5rem .4rem}.chase-prior-table{overflow-x:auto}.chase-prior-table table{border-collapse:collapse;font-size:.85rem}.chase-prior-table th,.chase-prior-table td{padding:.5rem;border:1px solid #89988066}.chase-prior-table td{text-align:center}@media(prefers-reduced-motion:reduce){.chase-plan *{animation:none!important;transition:none!important}}

.chase-map-person.is-last-seen circle{stroke-dasharray:4 4;fill:#243831}.chase-environment-note{font-size:.92rem;color:var(--muted,#b9bdae)}

/* Full map first; only the deliberately opened detail can scroll. */
.chase-plan{min-width:0;max-width:100%;box-sizing:border-box}
.chase-map-overview{width:100%;min-width:0;overflow:hidden}
.chase-map-overview svg{width:100%;min-width:0;max-width:100%;height:auto;overflow:hidden}
.chase-plan .chase-map-overview text{font-size:48px!important;font-weight:700;fill:#f0ecda;stroke:#101e1c;stroke-width:2px;paint-order:stroke}
.chase-plan .chase-map-overview text.is-you{fill:#15251f;stroke:#e2cd96;stroke-width:1px}
.chase-plan .chase-map-key{list-style:none;margin:1rem 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;font-size:1rem;line-height:1.55}
.chase-map-key li{display:flex;gap:.6rem;align-items:baseline;min-width:0;overflow-wrap:anywhere}
.chase-map-key b{flex:0 0 1.2rem;text-align:center;font-family:monospace;color:#e7cf94}
.chase-map-key span{min-width:0}
.chase-plan-zoom{border-top:1px solid #a6b49b4d;padding-top:.65rem}
.chase-plan-zoom>summary{cursor:pointer;min-height:44px;line-height:1.65;font-size:1rem;color:#e7cf94;overflow-wrap:anywhere}
.chase-plan-zoom .chase-plan-scroll{overflow-x:auto;max-width:100%;margin-top:.6rem}
.chase-plan-zoom svg{width:680px;min-width:680px;max-width:none;overflow:hidden}
@media(max-width:560px){.chase-plan{padding:.5rem;margin:1.2rem 0}.chase-plan figcaption>strong{font-size:1rem}.chase-plan .chase-map-key{grid-template-columns:minmax(0,1fr);font-size:1rem}.chase-plan svg.chase-overview-svg{width:100%;min-width:0;max-width:100%}}
