.burglary-page { --br-ink:var(--color-fg,#182e39); --br-muted:var(--color-fg-muted,#62737d); --br-paper:var(--color-bg-raised,#fff); --br-line:var(--color-border,#dce4e7); --br-teal:#267b85; color:var(--br-ink); padding-bottom:4rem; }
html[data-theme="dark"] .burglary-page { --br-teal:#78c6ce; }
.br-eyebrow { color:var(--br-teal); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; margin:0 0 .6rem; }
.br-hero { display:grid; grid-template-columns:minmax(0,1fr); align-items:end; gap:2rem; padding:1.5rem 0 1.5rem; }
.br-hero h1 { font-size:clamp(2.1rem,4.6vw,3.9rem); line-height:1.08; letter-spacing:-.055em; margin:0; }
.br-intro { color:var(--br-muted); font-size:1.03rem; line-height:1.65; max-width:690px; margin:.9rem 0 0; }
.br-source-stamp { border-left:2px solid var(--br-line); padding:.3rem 0 .3rem 1.2rem; font-size:.73rem; display:grid; grid-template-columns:8px 1fr; gap:.45rem .5rem; line-height:1.5; }
.br-source-stamp span:not(.br-status-dot), .br-source-stamp a { grid-column:2; }
.br-source-stamp span:not(.br-status-dot) { color:var(--br-muted); }
.br-status-dot { background:var(--br-teal); width:7px; height:7px; border-radius:50%; margin-top:5px; }
.br-explorer { border:1px solid var(--br-line); border-radius:16px; overflow:hidden; background:var(--br-paper); box-shadow:0 12px 36px #133c4910; }
.br-toolbar { padding:1.25rem 1.5rem; display:flex; justify-content:space-between; align-items:center; gap:1.2rem; border-bottom:1px solid var(--br-line); flex-wrap:wrap; }
.br-toolbar h2 { font-size:1rem; margin:0 0 .2rem; letter-spacing:-.02em; }
.br-toolbar-title>span { color:var(--br-muted); font-size:.75rem; }
.br-controls { display:flex; align-items:end; gap:.7rem; flex-wrap:wrap; padding:0; border:0; margin:0; min-width:0; }
.br-controls label { display:flex; flex-direction:column; gap:.25rem; font-size:.65rem; color:var(--br-muted); font-weight:700; }
.br-controls select { font:inherit; font-size:.78rem; font-weight:600; background:var(--br-paper); color:var(--br-ink); border:1px solid var(--br-line); border-radius:6px; min-height:38px; padding:.45rem 1.5rem .45rem .65rem; max-width:190px; }
.burglary-page button { font:inherit; cursor:pointer; }
.br-share,.br-map-card button { border:1px solid var(--br-line); border-radius:6px; min-height:38px; color:var(--br-ink); background:var(--br-paper); padding:.5rem .75rem; font-size:.75rem!important; }
.br-share:hover,.br-map-card button:hover { background:var(--color-bg-subtle,#eef4f5); }
.burglary-page :focus-visible { outline:3px solid #eea642; outline-offset:3px; }
.br-controls [hidden],.burglary-page [hidden] { display:none!important; }
.br-stats { display:grid; grid-template-columns:1fr 1fr 1.6fr; padding:1.2rem 1.5rem 1rem; gap:1rem; }
.br-stats>div { display:flex; flex-direction:column; border-right:1px solid var(--br-line); }
.br-stats>div:last-child { border:0; }
.br-stats strong { font-size:2.2rem; line-height:1.1; font-weight:750; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.br-stats span { font-size:.68rem; color:var(--br-muted); margin-top:.4rem; }
.br-stats .br-period { justify-content:center; }
.br-period strong { font-size:1rem; line-height:1.4; letter-spacing:0; }
.br-week-strip { display:flex; padding:.25rem 1.5rem 0; gap:3px; overflow-x:auto; scrollbar-width:thin; }
.br-week { display:flex; flex-direction:column; justify-content:end; flex:1 0 16px; padding:5px 1px; border:0; background:transparent; color:var(--br-muted); gap:5px; align-items:center; min-height:68px; border-radius:3px; }
.br-week i { display:block; background:#a5b8bc; width:100%; min-width:10px; border-radius:2px 2px 0 0; }
.br-week.is-selected i { background:var(--br-teal); }
.br-week.is-selected span { color:var(--br-ink); font-weight:750; }
.br-week:hover { background:#267b851a; }
.br-week span { font-size:.53rem; font-variant-numeric:tabular-nums; }
.br-week.is-missing i { background:repeating-linear-gradient(45deg,#9b9b9b 0 2px,transparent 2px 4px); height:10px!important; }
.br-strip-hint { color:var(--br-muted); font-size:.62rem; margin:.35rem 1.5rem 1rem; }
.br-map-shell { display:grid; grid-template-columns:minmax(0,1fr) 268px; border-top:1px solid var(--br-line); border-bottom:1px solid var(--br-line); }
#br-map { height:570px; z-index:0; background:#e5ece9; color:#233d45; }
.br-loading { padding:2rem; line-height:1.6; }
.br-map-card { padding:1.5rem 1.2rem; max-height:570px; overflow:auto; border-left:1px solid var(--br-line); }
.br-map-card h3 { font-size:1.3rem; letter-spacing:-.03em; line-height:1.2; margin:.5rem 0 .8rem; }
.br-map-card p { color:var(--br-muted); font-size:.8rem; line-height:1.65; }
.br-map-card button { display:block; margin-top:.7rem; width:100%; }
.br-area-key { display:flex; gap:.75rem; align-items:center; padding:1rem 0 1.4rem; font-size:.72rem; }
.br-area-key i { background:#2597a52b; border:2px solid #196b78; width:32px; height:27px; transform:rotate(-8deg); border-radius:5px; flex-shrink:0; }
.br-area-key small { color:var(--br-muted); }
.br-marker { display:flex!important; align-items:center; justify-content:center; color:white; background:#196b78; border:2px solid white; border-radius:50%; box-shadow:0 1px 7px #13384050; font-size:12px; font-weight:750; font-variant-numeric:tabular-nums; }
.br-marker:hover,.br-marker:focus { background:#103e49; box-shadow:0 0 0 4px #196b7835; }
.br-detail-weeks { list-style:none; padding:0; margin:1rem 0; }
.br-detail-weeks li { padding:.6rem 0; border-bottom:1px solid var(--br-line); font-size:.76rem; }
.br-detail-weeks small { display:block; color:var(--br-muted); font-size:.65rem; margin-top:.2rem; }
.br-map-status:empty { display:none; }
.br-map-status,.br-stale { background:#eeac3222; padding:.8rem 1.5rem; font-size:.8rem; line-height:1.5; margin:0; }
.br-stale { margin-top:1rem; border-radius:8px; }
.br-method-note { font-size:.74rem; line-height:1.65; padding:.9rem 1.5rem; margin:0; color:var(--br-muted); background:var(--color-bg-subtle,#f3f7f7); }
.br-method-note strong { color:var(--br-ink); margin-right:.4rem; }
.br-outcomes { padding:.75rem 1.5rem; margin:0; }
.br-editorial { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); padding:3.5rem 0; }
.br-editorial h2,.br-sources h2 { font-size:clamp(1.7rem,3vw,2.4rem); letter-spacing:-.045em; line-height:1.15; margin:.75rem 0 1.2rem; }
.br-editorial p { color:var(--br-muted); font-size:.9rem; line-height:1.8; }
.br-prevention { border-left:1px solid var(--br-line); padding-left:clamp(1.5rem,4vw,3rem); }
.br-prevention ol { padding-left:1.4rem; margin:1rem 0 1.5rem; }
.br-prevention li { font-size:.87rem; color:var(--br-muted); line-height:1.7; padding-left:.35rem; margin-bottom:.9rem; }
.br-prevention li::marker { color:var(--br-teal); font-weight:750; }
.br-prevention strong { color:var(--br-ink); }
.br-advice-link { font-size:.83rem; font-weight:700; }
.br-sources { border-top:1px solid var(--br-line); padding-top:2rem; }
.br-sources>div>p:not(.br-eyebrow) { font-size:.85rem; color:var(--br-muted); line-height:1.7; max-width:780px; }
.br-sources details { border:1px solid var(--br-line); border-radius:8px; margin:1.3rem 0; }
.br-sources summary { padding:1rem 1.2rem; cursor:pointer; font-size:.85rem; font-weight:650; }
.br-table-wrap { overflow-x:auto; padding:0 1.2rem 1rem; }
.br-sources table { width:100%; border-collapse:collapse; font-size:.8rem; }
.br-sources caption { text-align:left; font-size:.72rem; color:var(--br-muted); padding:.5rem 0 1rem; }
.br-sources th,.br-sources td { text-align:left; padding:.6rem; border-bottom:1px solid var(--br-line); white-space:nowrap; }
.br-small { font-size:.72rem!important; line-height:1.6; color:var(--br-muted); }
.br-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(min-width:1400px) { .burglary-page.container { max-width:1320px; } #br-map,.br-map-card { height:620px; max-height:620px; } }
@media(max-width:900px) { .br-hero { grid-template-columns:1fr; gap:1.4rem; } .br-source-stamp { max-width:360px; } .br-map-shell { grid-template-columns:minmax(0,1fr) 230px; } .br-toolbar { align-items:start; } }
@media(max-width:640px) { .br-hero { padding-top:1.5rem; } .br-hero h1 { font-size:2.3rem; } .br-intro { font-size:.92rem; } .br-toolbar { padding:1rem; } .br-controls { gap:.6rem; width:100%; } .br-controls label { flex:1; min-width:90px; } .br-controls label:nth-of-type(2) { flex:2; min-width:165px; } .br-controls select { max-width:none; width:100%; } .br-share { margin-top:0; } .br-stats { grid-template-columns:1fr 1fr; padding:1rem; } .br-stats>div:nth-child(2) { border:0; } .br-stats .br-period { grid-column:1/-1; padding-top:.5rem; border-top:1px solid var(--br-line); } .br-week-strip { padding-left:1rem; padding-right:1rem; } .br-strip-hint { margin-left:1rem; margin-right:1rem; } .br-map-shell { grid-template-columns:1fr; } #br-map { height:460px; } .br-map-card { max-height:340px; border-left:0; border-top:1px solid var(--br-line); } .br-map-card p { margin:.6rem 0; } .br-map-card button { width:auto; display:inline-block; margin-right:.5rem; } .br-area-key { padding:.5rem 0; } .br-method-note { padding:1rem; } .br-editorial { grid-template-columns:1fr; gap:2rem; padding:2.5rem 0; } .br-prevention { border-left:0; padding-left:0; border-top:1px solid var(--br-line); padding-top:2rem; } }

/* The basemap shares radar-basemap--muted with the main site. Overlays keep their colors. */
.br-view-bar { display:flex; align-items:center; justify-content:space-between; gap:.8rem; flex-wrap:wrap; padding:.85rem 1.5rem; border-top:1px solid var(--br-line); }
.br-view-switch { display:flex; padding:3px; border:1px solid var(--br-line); border-radius:9px; background:var(--color-bg-subtle,#f3f7f7); }
.br-view-switch button { border:0; padding:.55rem .85rem; border-radius:6px; color:var(--br-muted); background:transparent; font-size:.78rem; font-weight:650; min-height:38px; }
.br-view-switch button[aria-pressed="true"] { background:var(--br-paper); color:var(--br-ink); box-shadow:0 1px 5px #133c4920; }
.br-view-switch button:disabled { cursor:wait; opacity:.6; }
.br-view-caption { font-size:.7rem; color:var(--br-muted); }
.br-heat-canvas { position:absolute; pointer-events:none; max-width:none!important; max-height:none!important; }
.br-heat-legend { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; margin:1.3rem 0; font-size:.62rem; color:var(--br-muted); }
.br-heat-legend span:last-child { text-align:right; }
.br-heat-ramp { grid-column:1/-1; height:10px; border-radius:5px; background:linear-gradient(90deg,#267b85,#39b1b1,#e0d263,#eb9135,#b74c2c); }
@media(max-width:640px) { .br-view-bar { padding:.8rem 1rem; } }

.br-story { max-width:920px; margin:3.5rem auto 0; }
.br-story header { padding-bottom:.7rem; }
.br-story h2 { font-size:clamp(1.8rem,3.4vw,2.7rem); line-height:1.15; letter-spacing:-.045em; max-width:750px; margin:.65rem 0 1rem; }
.br-story h3 { font-size:clamp(1.25rem,2.2vw,1.6rem); line-height:1.3; letter-spacing:-.025em; margin:2rem 0 .8rem; }
.br-story p { font-size:.94rem; line-height:1.85; color:var(--br-muted); max-width:76ch; }
.br-story p strong { color:var(--br-ink); font-weight:700; }
.br-story .br-story-scope { font-size:.76rem; line-height:1.6; }
.br-story section { margin:0 0 2rem; }
.br-story-figure { padding:1.35rem 1.5rem; border:1px solid var(--br-line); border-radius:12px; margin:1.7rem 0; background:var(--br-paper); }
.br-story-figure figcaption strong { display:block; font-size:.96rem; color:var(--br-ink); }
.br-story-figure figcaption>span { display:block; font-size:.75rem; line-height:1.6; margin-top:.3rem; color:var(--br-muted); }
.br-chart-legend { display:flex; gap:1.5rem; margin:1rem 0 .5rem; font-size:.73rem; color:var(--br-muted); }
.br-chart-legend span { display:flex; align-items:center; gap:.45rem; }
.br-chart-legend span:before { content:""; height:3px; width:23px; background:var(--br-teal); }
.br-chart-legend .br-legend-previous:before { background:#b17854; }
.br-line-chart { overflow-x:auto; }
.br-line-chart svg { width:100%; min-width:580px; height:auto; display:block; overflow:visible; }
.br-line-chart text { font:13px system-ui,sans-serif; fill:var(--br-muted); }
.br-chart-grid { stroke:var(--br-line); stroke-width:1; }
.br-chart-gap { fill:var(--br-muted); opacity:.06; }
.br-chart-current,.br-chart-previous { fill:none; stroke:var(--br-teal); stroke-width:2.8; stroke-linejoin:round; }
.br-chart-previous { stroke:#b17854; stroke-dasharray:5 3; }
.br-dot-current { fill:var(--br-teal); }
.br-dot-previous { fill:#b17854; }
.br-story-figure details { border-top:1px solid var(--br-line); padding-top:.8rem; margin-top:.5rem; font-size:.76rem; }
.br-story-figure summary { cursor:pointer; color:var(--br-muted); }
.br-story-figure table { border-collapse:collapse; width:100%; margin-top:.7rem; }
.br-story-figure th,.br-story-figure td { text-align:left; padding:.45rem; border-bottom:1px solid var(--br-line); }
.br-area-bars { margin:1.3rem 0; display:grid; gap:1rem; }
.br-area-row { display:grid; grid-template-columns:150px minmax(0,1fr); align-items:center; gap:1rem; }
.br-area-row>strong,.br-city-row>strong { font-size:.79rem; font-weight:650; }
.br-bar-line { display:flex; align-items:center; gap:.65rem; min-height:24px; }
.br-bar-year { width:35px; flex-shrink:0; font-size:.67rem; color:var(--br-muted); }
.br-bar-track { display:block; height:10px; flex:1; background:var(--color-bg-subtle,#eef3f4); border-radius:3px; overflow:hidden; }
.br-bar-track i { display:block; height:100%; border-radius:3px; }
.br-fill-current { background:var(--br-teal); }
.br-fill-previous { background:#b17854; }
.br-fill-neutral { background:#8fa4ac; }
.br-bar-value { width:45px; text-align:right; font-size:.76rem; font-variant-numeric:tabular-nums; color:var(--br-ink); }
.br-city-bars { margin:1.5rem 0; display:grid; gap:1rem; }
.br-city-row { display:flex; align-items:center; gap:1rem; }
.br-city-row>strong { width:115px; flex-shrink:0; }
.br-story .br-story-source { border-top:1px solid var(--br-line); padding-top:1rem; font-size:.75rem; }
@media(max-width:640px) { .br-story { margin-top:2.5rem; } .br-story-figure { padding:1rem; } .br-area-row { grid-template-columns:1fr; gap:.2rem; } .br-city-row { gap:.6rem; } .br-city-row>strong { width:85px; font-size:.72rem; } }
