.map-page{gap:1.4rem;padding-bottom:4rem;display:grid}.map-note{color:var(--text-muted);padding:1rem 1.2rem;font-size:.92rem}.map-note p{margin:0}.map-note strong{color:var(--text)}.map-filters{flex-wrap:wrap;gap:.4rem;display:flex}.map-filters[hidden]{display:none}.map-filters button{border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);font:500 .84rem/1.2 var(--font-sans);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .75rem;display:inline-flex}.map-filters button[aria-pressed=true]{color:var(--text);border-color:var(--border-strong)}.map-filters button[aria-pressed=false] .sw{opacity:.25}.map-filters [data-reviewed][aria-pressed=true]{background:var(--brand-soft);color:var(--brand-strong);border-color:#0000}.sw{border-radius:2px;width:.7rem;height:.7rem;display:inline-block}.sw.s-cases{border-radius:50%}.s-federalist{--c:var(--group-federalist)}.s-anti{--c:var(--group-anti)}.s-congress{--c:var(--group-congress)}.s-other{--c:var(--work-other)}.s-cases{--c:var(--group-cases)}.sw{background:var(--c)}.map-figure{margin:0;position:relative}.map-figure figcaption{margin-top:.5rem;font-size:.82rem}.map-chart{width:100%;min-height:12rem}.map-svg{touch-action:pan-y;cursor:grab;border-radius:var(--radius);display:block}.map-svg.vertical{touch-action:auto;cursor:default}.map-svg:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.map-svg .bar{fill:var(--c)}.map-svg .dot{fill:var(--group-cases)}.map-svg .dot.overruled{fill:var(--bg);stroke:var(--danger);stroke-width:1.2px}.map-svg .band{fill:var(--group-founding);opacity:.9}.map-svg .band-label{fill:#fff;font:600 10.5px/1 var(--font-sans);text-anchor:middle;dominant-baseline:central;pointer-events:none}.map-svg .name{fill:var(--text-muted);font:500 10.5px/1 var(--font-sans);text-anchor:middle;pointer-events:none}.map-svg .hit{fill:#0000;cursor:pointer}.map-svg .hit.on{fill:color-mix(in srgb, var(--brand) 9%, transparent)}.map-tip{z-index:5;pointer-events:none;border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--border);max-width:min(22rem,80vw);box-shadow:var(--shadow-hover);color:var(--text-muted);gap:.25rem;padding:.6rem .75rem;font-size:.82rem;display:grid;position:absolute;top:0;left:0}.map-tip[hidden]{display:none}.map-tip strong{color:var(--text);font-size:.9rem}.map-tip em{color:var(--text-faint);font-size:.76rem;font-style:normal}.map-arcs-section h2{font:700 clamp(1.2rem, 3vw, 1.45rem)/1.2 var(--font-heading);margin:0 0 .3rem}.map-arcs-section>p{margin:0 0 .6rem;font-size:.9rem}.map-arcs{overflow-x:auto}.arc-svg{display:block}.arc-svg .arc{fill:none;stroke:var(--c);opacity:.55;transition:opacity .15s}.arc-svg .arc:hover{opacity:.95}.arc-svg .arc.dim{opacity:.08}.arc-node{cursor:pointer}.arc-node circle{fill:var(--c);stroke:var(--bg);stroke-width:1.5px}.arc-node:focus-visible{outline:none}.arc-node:focus-visible circle{stroke:var(--brand);stroke-width:3px}.arc-label{fill:var(--text-muted);font:500 11px/1 var(--font-sans)}.arc-node:hover .arc-label{fill:var(--text)}.map-table summary{cursor:pointer;color:var(--link);font-weight:600}.table-scroll{margin-top:.8rem;overflow-x:auto}.map-table table{border-collapse:collapse;width:100%;min-width:36rem;font-size:.84rem}.map-table th,.map-table td{border-bottom:1px solid var(--border);text-align:left;padding:.3rem .5rem}.map-table td{text-align:right;font-variant-numeric:tabular-nums}.map-table thead th{color:var(--text-muted);vertical-align:bottom;font-size:.76rem}.map-table th[scope=rowgroup]{background:var(--bg-subtle);color:var(--text-muted);font-size:.8rem}.map-sheet{left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:45;max-width:34rem;box-shadow:var(--shadow-hover);color:var(--text-muted);gap:.6rem;margin:0 auto;padding:.9rem 2.6rem .9rem 1rem;font-size:.86rem;display:grid;position:fixed}.map-sheet[hidden]{display:none}.map-sheet-body{gap:.25rem;max-height:40vh;display:grid;overflow:auto}.map-sheet-body strong{color:var(--text);font-size:.95rem}.map-sheet-open{justify-self:start;padding:.5rem .9rem;font-size:.88rem}.map-sheet-close{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.3rem;line-height:1;position:absolute;top:.4rem;right:.4rem}.map-sheet-close:hover{background:var(--bg-subtle);color:var(--text)}.arc-svg.vertical .arc-label{font-size:12px}
