.modal-overlay.svelte-1spfr33{position:fixed;inset:0;background:#0a1e3c8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-box.svelte-1spfr33{background:#fff;border-radius:8px;width:100%;max-width:760px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0000002e}.modal-header.svelte-1spfr33{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:3px solid #0a1e3c;flex-shrink:0}.modal-title-label.svelte-1spfr33{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#aaa;margin-bottom:2px}.modal-title-party.svelte-1spfr33{display:block;font-size:1rem;font-weight:700;color:#0a1e3c;font-family:Inter,sans-serif}.modal-close.svelte-1spfr33{background:none;border:none;font-size:1rem;color:#888;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.modal-close.svelte-1spfr33:hover{color:#0a1e3c;background:#f0f0f0}.modal-body.svelte-1spfr33{overflow-y:auto;padding:16px 20px 20px}.map-desc.svelte-1spfr33{font-family:Inter,sans-serif;font-size:.875rem;color:#333;line-height:1.5;margin:0 0 14px}.mode-toggle.svelte-1spfr33{display:flex;gap:8px;margin:0 0 14px}.toggle-btn.svelte-1spfr33{padding:7px 16px;border-radius:4px;border:2px solid #0a1e3c;background:transparent;color:#0a1e3c;font-family:Inter,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s;line-height:1}.toggle-btn.svelte-1spfr33:hover,.toggle-btn.active.svelte-1spfr33{background:#0a1e3c;color:#fff}.map-wrap.svelte-1spfr33{position:relative;border-radius:6px;overflow:hidden;border:1px solid #e0e0da}.map-loading.svelte-1spfr33{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#f5f5f2;font-family:Inter,sans-serif;font-size:.8rem;color:#888;z-index:1}#map-modal-el.svelte-1spfr33{width:100%;height:440px;background:#f5f5f2}#map-modal-el .leaflet-container{background:#f5f5f2!important}.outlier-popup .leaflet-popup-content-wrapper{border-radius:6px;box-shadow:0 2px 14px #0000002e;padding:0;overflow:hidden}.outlier-popup .leaflet-popup-content{margin:0}.outlier-popup .leaflet-popup-tip-container{display:none}.op-wrap{font-family:Inter,sans-serif;padding:12px 14px;min-width:160px}.op-muni{font-weight:700;font-size:.9rem;color:#0a1e3c;margin-bottom:2px}.op-prov{font-size:.72rem;color:#888;margin-bottom:10px}.op-switch{display:flex;align-items:center;gap:7px;margin-bottom:8px}.op-tag{color:#fff;padding:3px 8px;border-radius:3px;font-size:.72rem;font-weight:700;white-space:nowrap}.op-arrow{color:#555;font-size:.85rem;flex-shrink:0}.op-date{font-size:.72rem;color:#999}.legend.svelte-1spfr33{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 8px}.legend-item.svelte-1spfr33{display:flex;align-items:center;gap:6px;font-family:Inter,sans-serif;font-size:.78rem;color:#333}.legend-swatch.svelte-1spfr33{display:inline-block;width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-name.svelte-1spfr33{font-weight:600}.legend-count.svelte-1spfr33{color:#888;font-size:.72rem}.map-note.svelte-1spfr33{font-size:.72rem;color:#999;margin:4px 0 0;line-height:1.5}@media(max-width:600px){#map-modal-el.svelte-1spfr33{height:340px}}.explorer-block.svelte-1izomvq{padding-bottom:20px}.map-link.svelte-1izomvq{background:none;border:none;border-bottom:1px solid #0a1e3c;padding:0;font-family:Inter,sans-serif;font-size:inherit;font-weight:700;color:#0a1e3c;text-decoration:none;cursor:pointer;transition:opacity .15s}.map-link.svelte-1izomvq:hover{opacity:.6}.party-selector.svelte-1izomvq{margin:4px 0 20px}.party-buttons.svelte-1izomvq{display:flex;flex-wrap:wrap;gap:8px}.party-btn.svelte-1izomvq{padding:7px 14px;border-radius:4px;border:2px solid var(--pc);background:transparent;color:var(--pc);font-family:Inter,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s;line-height:1;margin:0!important}.party-btn.svelte-1izomvq:hover,.party-btn.active.svelte-1izomvq{background:var(--pc);color:#fff}.party-title-row.svelte-1izomvq{display:flex;align-items:center;gap:10px;margin:8px 0 20px}.party-swatch.svelte-1izomvq{display:inline-block;width:14px;height:14px;border-radius:3px;flex-shrink:0}.party-full-name.svelte-1izomvq{font-family:Inter,sans-serif;font-size:1.05rem;font-weight:700;color:#0a1e3c}.panels.svelte-1izomvq{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.panel.svelte-1izomvq{background:#fff;border-radius:6px;padding:18px 16px 16px;position:relative}.panel-header.svelte-1izomvq{display:flex;align-items:baseline;gap:8px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.panel-header.svelte-1izomvq:before{content:"";position:absolute;top:0;left:0;width:40%;height:4px;border-radius:6px 0 0}.panel-header--lost.svelte-1izomvq:before{background:#f72d5a}.panel-header--won.svelte-1izomvq:before{background:#2e7d32}.panel-label.svelte-1izomvq{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#888}.panel-count.svelte-1izomvq{font-size:1.6rem;font-weight:900;color:#0a1e3c;line-height:1}.panel-sub.svelte-1izomvq{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#aaa;margin:0 0 10px}.no-data.svelte-1izomvq{font-size:.875rem;color:#999;font-style:italic;margin:0}.bar-chart.svelte-1izomvq{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.bar-row.svelte-1izomvq{display:grid;grid-template-columns:44px 1fr 24px;align-items:center;gap:6px}.bar-label.svelte-1izomvq{font-size:.7rem;font-weight:700;color:#555;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track.svelte-1izomvq{background:#e8e8e4;border-radius:2px;height:14px;overflow:hidden}.bar-fill.svelte-1izomvq{height:100%;border-radius:2px;transition:width .3s ease}.bar-count.svelte-1izomvq{font-size:.7rem;font-weight:700;color:#555;text-align:left}.ward-table.svelte-1izomvq{width:100%;border-collapse:collapse;font-size:.75rem;font-family:Inter,sans-serif}.ward-table.svelte-1izomvq thead:where(.svelte-1izomvq) tr:where(.svelte-1izomvq){border-bottom:1px solid #d8d8d4}.ward-table.svelte-1izomvq th:where(.svelte-1izomvq){text-align:left;font-weight:700;color:#aaa;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;padding:5px}.ward-table.svelte-1izomvq td:where(.svelte-1izomvq){padding:5px 4px 5px 5px;color:#333;border-bottom:1px solid #e8e8e4;vertical-align:middle}.ward-table.svelte-1izomvq tbody:where(.svelte-1izomvq) tr:where(.svelte-1izomvq):last-child td:where(.svelte-1izomvq){border-bottom:none}.td-ward.svelte-1izomvq{color:#888;font-size:.68rem;white-space:nowrap}.td-province.svelte-1izomvq{color:#888;font-size:.68rem}.td-date.svelte-1izomvq{color:#888;white-space:nowrap;font-size:.68rem}.party-tag.svelte-1izomvq{display:inline-block;padding:2px 6px;border-radius:3px;background:var(--tc);color:#fff;font-size:.62rem;font-weight:700;white-space:nowrap}.ward-link-btn.svelte-1izomvq{margin-top:14px;background:none;border:1px solid #ccc;border-radius:4px;padding:5px 12px;font-size:.75rem;font-family:Inter,sans-serif;color:#555;cursor:pointer;width:100%;transition:border-color .15s,color .15s}.ward-link-btn.svelte-1izomvq:hover{border-color:#0a1e3c;color:#0a1e3c}.modal-overlay.svelte-1izomvq{position:fixed;inset:0;background:#0a1e3c8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-box.svelte-1izomvq{background:#fff;border-radius:8px;width:100%;max-width:620px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0000002e}.modal-header.svelte-1izomvq{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:3px solid #e0e0e0;flex-shrink:0;position:relative}.modal-header--lost.svelte-1izomvq{border-bottom-color:#f72d5a}.modal-header--won.svelte-1izomvq{border-bottom-color:#2e7d32}.modal-title-label.svelte-1izomvq{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#aaa;margin-bottom:2px}.modal-title-party.svelte-1izomvq{display:block;font-size:1rem;font-weight:700;color:#0a1e3c;font-family:Inter,sans-serif}.modal-close.svelte-1izomvq{background:none;border:none;font-size:1rem;color:#888;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.modal-close.svelte-1izomvq:hover{color:#0a1e3c;background:#f0f0f0}.modal-body.svelte-1izomvq{overflow-y:auto;padding:16px 20px 20px}@media(max-width:600px){.panels.svelte-1izomvq{grid-template-columns:1fr}.bar-row.svelte-1izomvq{grid-template-columns:40px 1fr 22px}}.spacer.svelte-1d4jrb9{margin-bottom:40px}.notes-link.svelte-1d4jrb9{background:none;border:none;padding:0;font-family:Inter,sans-serif;font-size:.65rem;color:#000;text-decoration:underline;cursor:pointer;transition:color .15s;font-weight:400}.notes-link.svelte-1d4jrb9:hover{color:#0a1e3c}.modal-overlay.svelte-1d4jrb9{position:fixed;inset:0;background:#0a1e3c8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-box.svelte-1d4jrb9{background:#fff;border-radius:8px;width:100%;max-width:620px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #0000002e}.modal-header.svelte-1d4jrb9{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:3px solid #0a1e3c;flex-shrink:0}.modal-title-label.svelte-1d4jrb9{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#aaa;margin-bottom:2px}.modal-title-party.svelte-1d4jrb9{display:block;font-size:1rem;font-weight:700;color:#0a1e3c;font-family:Inter,sans-serif}.modal-close.svelte-1d4jrb9{background:none;border:none;font-size:1rem;color:#888;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.modal-close.svelte-1d4jrb9:hover{color:#0a1e3c;background:#f0f0f0}.modal-body.svelte-1d4jrb9{overflow-y:auto;padding:16px 20px 20px}.notes-text.svelte-1d4jrb9{font-size:.8rem;color:#555;line-height:1.6;margin:0 0 14px}.notes-text.svelte-1d4jrb9:last-child{margin-bottom:0}.notes-text.svelte-1d4jrb9 a:where(.svelte-1d4jrb9){color:#0a1e3c;text-decoration:underline}
