/* Brilliant Map Polls - black and white neatline design, scoped under .bmp-root */
.bmp-root{--bmp-paper:#ffffff;--bmp-paper2:#ffffff;--bmp-ink:#111111;--bmp-ink2:#555555;--bmp-teal:#111111;--bmp-teal2:#333333;--bmp-terra:#111111;--bmp-rule:#111111;--bmp-land:#ffffff;--bmp-ctx:#e6e6e6;--bmp-stroke:#111111;--bmp-tie:#9a9a9a;--bmp-serif:"Fraunces",Georgia,"Times New Roman",serif;--bmp-sans:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--bmp-mono:"IBM Plex Mono",Menlo,Consolas,monospace;font-family:var(--bmp-sans);color:var(--bmp-ink);background:var(--bmp-paper);border:2px solid var(--bmp-ink);border-radius:0;padding:20px;margin:24px 0;box-sizing:border-box;line-height:1.45}
.bmp-root *{box-sizing:border-box}
.bmp-root button{font-family:var(--bmp-sans);cursor:pointer}
.bmp-root [hidden]{display:none !important}

/* status */
.bmp-status{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;font-family:var(--bmp-mono);font-size:13px;color:var(--bmp-ink2);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #111}
.bmp-badge{background:#111;color:#fff;padding:2px 9px;border-radius:999px;font-size:12px;letter-spacing:.03em;text-transform:uppercase}
.bmp-closed{color:#111;font-weight:700;text-decoration:underline}

/* vote panel */
.bmp-vote{background:#fff;border:1px solid #111;border-radius:0;padding:16px;margin:0 0 18px}
.bmp-step{margin:0 0 14px}
.bmp-step:last-child{margin-bottom:0}
.bmp-lab{display:block;font-family:var(--bmp-serif);font-size:19px;font-weight:600;margin:0 0 8px;color:var(--bmp-ink)}
.bmp-select{width:100%;max-width:420px;font-family:var(--bmp-sans);font-size:16px;padding:9px 12px;border:1px solid #111;border-radius:0;background:#fff;color:var(--bmp-ink)}
.bmp-place{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.bmp-picker{position:relative;flex:1 1 300px;max-width:460px}
.bmp-picker-btn{width:100%;display:flex;align-items:center;gap:8px;font-size:16px;text-align:left;padding:9px 12px;border:1px solid #111;background:#fff;color:#555;font-family:var(--bmp-sans)}
.bmp-picker-btn.is-set{color:#111;font-weight:600}
.bmp-picker-cur{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.bmp-picker-cur span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bmp-picker-caret{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #111;flex:none}
.bmp-picker-panel{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fff;border:1px solid #111;border-top:0;box-shadow:4px 4px 0 #111}
.bmp-picker-search{width:100%;font-family:var(--bmp-sans);font-size:15px;padding:8px 12px;border:0;border-bottom:1px solid #111;outline:none;background:#fff;color:#111}
.bmp-picker-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto}
.bmp-picker-item{display:flex;align-items:center;gap:10px;padding:7px 12px;font-size:15px;cursor:pointer;color:#111;line-height:1.3}
.bmp-picker-item:hover,.bmp-picker-item.is-hi{background:#111;color:#fff}
.bmp-picker-item.is-cur{font-weight:700}
.bmp-picker-item.is-out{border-bottom:1px dashed #111;font-style:italic}
.bmp-picker-none{padding:10px 12px;color:#777;font-style:italic}
.bmp-flag{width:24px;height:16px;object-fit:cover;border:1px solid #bbb;flex:none;background:#fff}
.bmp-flag-inline{display:inline-block;vertical-align:-3px;margin-right:6px;width:21px;height:14px}
.bmp-tip .bmp-flag-inline{border-color:rgba(255,255,255,.5)}
.bmp-locate{font-size:14px;font-weight:600;padding:9px 13px;border:1px solid #111;background:#fff;color:#111;white-space:nowrap}
.bmp-locate:hover{background:#111;color:#fff}
.bmp-locate:disabled{color:#999;border-color:#999;background:#fff;cursor:wait}
.bmp-place-msg{font-size:13px;color:#b00020;margin:6px 0 0;min-height:1em}
.bmp-place-msg.is-ok{color:#111}
.bmp-place-msg:empty{display:none}
.bmp-options{display:flex;flex-wrap:wrap;gap:8px}
.bmp-opt{display:inline-flex;align-items:center;gap:8px;font-size:16px;padding:9px 14px;border:2px solid #cccccc;background:#fff;color:var(--bmp-ink);border-radius:0;transition:border-color .15s,box-shadow .15s}
.bmp-opt:hover{border-color:var(--bmp-stroke)}
.bmp-opt.is-on{border-color:#111;background:#111;color:#fff;font-weight:600}
.bmp-opt.is-on .bmp-sw{border-color:#fff}
.bmp-sw{width:16px;height:16px;border-radius:0;border:1px solid rgba(0,0,0,.25);flex:none}
.bmp-submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.bmp-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;opacity:0}
.bmp-btn{font-size:16px;font-weight:600;padding:11px 20px;background:var(--bmp-teal);color:#fff;border:0;border-radius:0}
.bmp-btn:hover{background:var(--bmp-teal2)}
.bmp-btn:disabled{background:#bbbbbb;cursor:not-allowed}
.bmp-msg{font-size:14px;color:#b00020;font-weight:600}
.bmp-msg.is-ok{color:#111}

/* results */
.bmp-results{margin:0 0 14px}
.bmp-you{font-family:var(--bmp-mono);font-size:13px;color:var(--bmp-ink2);margin:0 0 10px}
.bmp-you:empty{display:none}
.bmp-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 16px}
.bmp-lg{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;font-size:15px}
.bmp-lg .bmp-sw{width:18px;height:18px}
.bmp-lg-lab{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bmp-lg-num{font-family:var(--bmp-mono);font-size:13px;color:var(--bmp-ink2)}
.bmp-lg-bar{grid-column:2/4;height:6px;background:#e6e6e6;border-radius:0;overflow:hidden}
.bmp-lg-fill{height:100%;border-radius:0}
.bmp-lg-total{grid-column:1/-1;font-family:var(--bmp-mono);font-size:13px;color:var(--bmp-ink2);margin-top:4px}

/* view toggle */
.bmp-viewbar{display:flex;gap:6px;margin:0 0 10px}
.bmp-tab{font-size:14px;font-weight:600;padding:7px 14px;border:1px solid #111;background:#fff;color:#111;border-radius:0}
.bmp-tab.is-on{background:var(--bmp-ink);color:#fff;border-color:var(--bmp-ink)}

/* map */
.bmp-mapwrap{position:relative;background:#fff;border:1px solid #111;border-radius:0;padding:8px;min-height:220px}
.bmp-mapwrap svg{display:block;width:100%;height:auto;touch-action:none;user-select:none;-webkit-user-select:none}
.bmp-mapwrap.is-zoomed svg{cursor:grab}
.bmp-mapwrap.is-zoomed svg:active{cursor:grabbing}
.bmp-loading{font-family:var(--bmp-mono);font-size:13px;color:var(--bmp-ink2);padding:40px 0;text-align:center}
.bmp-ctx{fill:var(--bmp-ctx);stroke:#bbbbbb;stroke-width:.6;pointer-events:none;vector-effect:non-scaling-stroke}
.bmp-reg{fill:var(--bmp-land);stroke:var(--bmp-stroke);stroke-width:.6;stroke-linejoin:round;transition:fill .2s;vector-effect:non-scaling-stroke}
.bmp-dot{fill:var(--bmp-land);stroke:var(--bmp-stroke);stroke-width:.8;vector-effect:non-scaling-stroke}
.bmp-reg.is-sel,.bmp-dot.is-sel{stroke:#111;stroke-width:2.2;fill:#bbbbbb}
.bmp-reg.is-hot,.bmp-dot.is-hot{stroke:var(--bmp-ink);stroke-width:1.6}
.bmp-reg.is-you,.bmp-dot.is-you{stroke:var(--bmp-ink);stroke-width:1.4;stroke-dasharray:3 2}
.bmp-tip{position:absolute;z-index:5;pointer-events:none;background:var(--bmp-ink);color:#fff;font-size:13px;line-height:1.35;padding:8px 10px;border-radius:0;max-width:260px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.bmp-tip b{font-family:var(--bmp-serif);font-size:14px;display:block;margin-bottom:3px}
.bmp-tip .bmp-tip-row{display:flex;gap:8px;align-items:center;white-space:nowrap}
.bmp-tip .bmp-sw{width:10px;height:10px;border-color:rgba(255,255,255,.4)}
.bmp-tip .bmp-tip-n{margin-left:auto;font-family:var(--bmp-mono);font-size:12px}
.bmp-zoom{position:absolute;top:10px;right:10px;z-index:4;display:flex;flex-direction:column;gap:4px}
.bmp-zoom-btn{width:34px;height:34px;padding:0;font-size:20px;line-height:1;font-weight:700;border:1px solid #111;background:#fff;color:#111;font-family:var(--bmp-sans)}
.bmp-zoom-btn:hover{background:#111;color:#fff}
.bmp-zoom-btn:disabled{color:#bbb;border-color:#bbb;background:#fff;cursor:default}
.bmp-zoom-reset{font-size:18px}
.bmp-zoom-hint{position:absolute;bottom:8px;right:10px;z-index:4;font-family:var(--bmp-mono);font-size:11px;color:#777;background:rgba(255,255,255,.85);padding:2px 6px;pointer-events:none}
@media (max-width:600px){.bmp-zoom-hint{display:none}}
.bmp-note{font-size:13px;color:var(--bmp-ink2);margin:10px 0 0}

/* table */
.bmp-tablewrap{overflow-x:auto;border:1px solid #111;border-radius:0;background:var(--bmp-paper2)}
.bmp-table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.bmp-table th,.bmp-table td{padding:7px 10px;border-bottom:1px solid #dddddd;text-align:left;white-space:nowrap}
.bmp-table th{font-family:var(--bmp-mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--bmp-ink2);background:var(--bmp-paper)}
.bmp-table td.bmp-num{font-family:var(--bmp-mono);font-size:13px;text-align:right}
.bmp-table th.bmp-num{text-align:right}
.bmp-table .bmp-sw{display:inline-block;vertical-align:-3px;margin-right:6px;width:12px;height:12px}
.bmp-table tr.bmp-out td{background:#f2f2f2;font-style:italic}

/* share */
.bmp-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 0;padding-top:16px;border-top:1px solid #111}
.bmp-share-lab{font-family:var(--bmp-serif);font-weight:600;font-size:16px;margin-right:4px}
.bmp-share-btn{display:inline-block;font-size:14px;font-weight:600;padding:7px 13px;border:1px solid #111;background:#fff;color:#111;text-decoration:none;line-height:1.2}
.bmp-share-btn:hover{background:#111;color:#fff;text-decoration:none}
.bmp-links{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #111;font-size:15px}
.bmp-links li{margin:0 0 6px}
.bmp-links a{color:#111;font-weight:600}
.bmp-back{margin:14px 0 0;font-size:14px}
.bmp-all-link{margin:8px 0 0}
.bmp-btn-link{display:inline-block;font-size:15px;font-weight:600;padding:10px 18px;border:2px solid #111;background:#fff;color:#111 !important;text-decoration:none !important}
.bmp-btn-link:hover{background:#111;color:#fff !important}
.bmp-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px}
.bmp-filter-lab{font-family:var(--bmp-mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--bmp-ink2);margin-right:2px}
.bmp-filter-gap{margin-left:12px}
.bmp-chip{display:inline-block;font-size:13px;font-weight:600;padding:5px 11px;border:1px solid #111;background:#fff;color:#111 !important;text-decoration:none !important}
.bmp-chip.is-on,.bmp-chip:hover{background:#111;color:#fff !important}
.bmp-found{font-family:var(--bmp-mono);font-size:13px;color:var(--bmp-ink2);margin:0 0 14px}
.bmp-pages{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 0}
.bmp-pages .page-numbers{display:inline-block;font-size:14px;font-weight:600;padding:6px 12px;border:1px solid #111;background:#fff;color:#111;text-decoration:none}
.bmp-pages .page-numbers.current,.bmp-pages a.page-numbers:hover{background:#111;color:#fff}
.bmp-pages .page-numbers.dots{border:0}
.bmp-back a{color:#111}

/* hub */
.bmp-hub{background:transparent;border:0;padding:0}
.bmp-hub-sec{margin:0 0 32px}
.bmp-related{margin:8px 0 24px}
.bmp-related .bmp-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.bmp-related .bmp-card-title{font-size:16px}
.bmp-hub-h{font-family:var(--bmp-serif);font-size:26px;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid #111;color:var(--bmp-ink)}
.bmp-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;counter-reset:bmp}
.bmp-card{margin:0;padding:0;background:#fff;border:1px solid #111;overflow:hidden;transition:box-shadow .15s}
.bmp-card:hover{box-shadow:4px 4px 0 #111}
.bmp-card-link{display:block;color:inherit;text-decoration:none}
.bmp-card-link:hover{text-decoration:none;color:inherit}
.bmp-card-img img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-bottom:1px solid var(--bmp-rule)}
.bmp-card-body{display:block;padding:12px 14px 14px;position:relative}
.bmp-card-rank{position:absolute;top:-16px;left:12px;width:30px;height:30px;border-radius:50%;background:#111;color:#fff;font-family:var(--bmp-mono);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.bmp-card-title{display:block;font-family:var(--bmp-serif);font-size:18px;font-weight:600;line-height:1.3;margin:4px 0 6px;color:var(--bmp-ink)}
.bmp-card-meta{display:block;font-family:var(--bmp-mono);font-size:12px;color:var(--bmp-ink2)}
.bmp-empty{color:var(--bmp-ink2);font-style:italic}

@media (max-width:600px){.bmp-root{padding:14px}.bmp-lab{font-size:17px}.bmp-opt{font-size:15px;padding:8px 11px}.bmp-legend{grid-template-columns:1fr 1fr}}
