.rank-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.rank-controls label { display: flex; flex-direction: column; gap: .35rem; min-width: 0; font-weight: 600; }
.rank-controls select, .rank-controls input { width: 100%; min-width: 0; box-sizing: border-box; padding: .6rem; font: inherit; }
.rank-controls label:has(#rank-metric) { grid-column: 1 / -1; }
.rank-selected-contract { font-weight: 400; overflow-wrap: anywhere; }

.explore-paths { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: .75rem; margin-top: 1.5rem; }
.explore-paths a { display: flex; align-items: center; min-height: 2.75rem; padding: .75rem 1rem; border: 1px solid #9ab3c5; border-radius: .35rem; background: #eef5f9; color: #123c68; font-weight: 700; }
#advanced-filters { margin-top: 1.5rem; padding: 1rem; border: 1px solid #9ab3c5; border-radius: .35rem; }
#advanced-filters summary { cursor: pointer; font-weight: 700; min-height: 2.75rem; }
.rank-summary { font-weight: 700; }
#rank-empty:not([hidden]) { padding: .75rem 1rem; border-left: 4px solid #1261a0; background: #eef5f9; }
#rank-app section { margin-block: 2rem; }
#rank-app .seo-table-wrap { max-width: 100%; overflow-x: auto; }
#rank-app :focus-visible { outline: 3px solid #1261a0; outline-offset: 2px; }
#rank-app button { min-height: 2.75rem; padding: .5rem .8rem; font: inherit; cursor: pointer; }
#filter-active li { margin-block: .5rem; overflow-wrap: anywhere; }
#filter-metric { min-width: 0; }
#rank-county, #share-url { box-sizing: border-box; max-width: 100%; min-height: 2.75rem; padding: .5rem; font: inherit; }
#explore-map[hidden] { display: none; }
#scatter-plot { width: 100%; max-width: 800px; height: 480px; box-sizing: border-box; background: #f4f8fb; border: 1px solid #607080; }
#scatter-plot circle { fill: #176a9b; fill-opacity: .65; cursor: pointer; }
#scatter-plot circle.is-selected { fill: #d55b00; fill-opacity: 1; stroke: #111; stroke-width: 3; }
#scatter-plot circle:focus-visible { stroke: #111; stroke-width: 4; outline: none; }
