.boundary-overview { padding:24px 24px 20px; background:var(--white); border-top:1px solid var(--line); }
.boundary-overview .figure-heading { margin-bottom:24px; }
.boundary-example { max-width:740px; margin:0 0 25px; font:400 16px/1.7 var(--sans); color:var(--soft); }
.boundary-example strong { color:var(--ink); font-weight:600; }
.boundary-panels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.boundary-panel { min-width:0; }
.boundary-panel h3 { min-height:38px; font:500 14px/1.4 var(--sans); color:var(--ink); margin:0 0 9px; }
.boundary-panel h3 span { color:var(--safe); margin-right:6px; font-size:12px; }
.boundary-panel svg { display:block; width:100%; overflow:visible; }
.boundary-panel svg text { font-family:var(--sans); }
.boundary-panel > p { margin:11px 0 0; font:400 13px/1.6 var(--sans); color:var(--soft); }
.boundary-slider { display:flex; align-items:center; gap:8px; margin:9px 0 0; font:400 12px/1.5 var(--sans); color:var(--muted); }
.boundary-slider > span { white-space:nowrap; }
.boundary-slider input { min-width:0; width:100%; accent-color:var(--safe); }
.boundary-slider output { min-width:28px; font-variant-numeric:tabular-nums; }
#boundary-preference { font-size:12px; color:var(--safe); }
#boundary-preference[data-preferred="violation"] { color:var(--risk); }
.bo-frame { fill:var(--paper); stroke:var(--line); stroke-width:1; }
.bo-region { fill:var(--safe-pale); stroke:var(--safe); stroke-width:2.2; }
.bo-expanded { fill:#e9f0f5; stroke:#779db7; stroke-width:2.2; stroke-dasharray:6 5; }
.bo-contour { fill:none; stroke:#a9bdc8; stroke-width:1; opacity:.68; }
.bo-label { fill:var(--soft); font-size:14px; }
.bo-muted { fill:var(--muted); font-size:12px; }
.bo-safe-label { fill:var(--safe); font-size:14px; }
.bo-risk-label { fill:var(--risk); font-size:14px; }
.bo-callout { fill:none; stroke:var(--muted); stroke-width:1; }
@media(max-width:700px) {
  .boundary-panels { grid-template-columns:1fr; gap:28px; }
  .boundary-panel { max-width:360px; width:100%; margin-inline:auto; }
  .boundary-panel h3 { min-height:0; font-size:16px; margin-bottom:8px; }
  .boundary-panel > p { font-size:14px; }
  .boundary-overview { padding:22px 18px 20px; }
  .boundary-overview .figure-heading h2 { font-size:22px; }
}
