/* Gold reference dots and bounded previews preserve the approved map frame. */
.country-marker{cursor:pointer;outline:none}
.marker-target{fill:transparent;stroke:none;pointer-events:all}
.marker-dot{fill:#F4C95D;stroke:#fff;stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}
.marker-leader{stroke:#F4C95D;stroke-width:.65;opacity:.65;vector-effect:non-scaling-stroke;pointer-events:none}
.country-marker.selected .marker-dot{fill:#bda0ed;stroke-width:2}
.country-marker:focus-visible .marker-dot,.country-marker:hover .marker-dot{stroke:#fff;stroke-width:2.4}
.country-marker.dim{opacity:.14}
.country-marker.dim .marker-target{pointer-events:none}
.country-tooltip{position:absolute;z-index:5;pointer-events:none;box-sizing:border-box;padding:11px 13px;background:#101b24f7;border:1px solid #b79b50;border-radius:8px;box-shadow:0 6px 24px #0008;font-size:12px;line-height:1.4;color:#ecf2f8}
.country-tooltip[hidden]{display:none}
.country-tooltip strong{display:block;color:#F4C95D;font-size:14px;margin-bottom:4px}
.country-tooltip span{display:block;margin:4px 0}
.country-tooltip small{display:block;color:#b3c2ce;margin-top:7px}
.expansion-content{padding-top:14px}
.expansion-intro,.expansion-content>p{font-size:13px;line-height:1.6;color:#b6c6d2}
.expansion-tools{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:14px 0}
.expansion-tools label{display:grid;gap:5px;font-size:12px;flex:1 1 155px}
.expansion-tools select,.expansion-tools input{max-width:100%;min-width:0;width:100%;box-sizing:border-box;min-height:40px;border:1px solid #536474;border-radius:7px;background:#14222e;color:#f2f6fa;padding:8px;font:inherit;font-size:14px}
.expansion-results{max-height:460px;overflow:auto;overscroll-behavior:contain;padding-right:6px}
.calendar-card,.media-country-card{border:1px solid #354c60;border-radius:8px;background:#13222e;margin:0 0 10px;padding:14px}
.compact-section .country-open{border:0;border-radius:0;border-bottom:1px solid #8d794b;background:transparent;color:#F4C95D;font-weight:700;font-size:16px;text-align:left;padding:4px 0;min-height:30px}
.country-open:hover{text-decoration:underline}
.election-list,.media-source-list{list-style:none;margin:10px 0 0;padding:0}
.election-entry{padding:12px 0;border-bottom:1px solid #304353}
.election-entry:last-child{border-bottom:0}
.event-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;line-height:1.5}
.event-date{color:#F4C95D;font-weight:650;white-space:normal}
.expansion-meta,.country-dialog .dossier .expansion-meta{font-size:12px;line-height:1.6;color:#b8cbd8;margin:7px 0}
.expansion-note,.expansion-evidence,.expansion-empty,.country-dialog .dossier .expansion-note,.country-dialog .dossier .expansion-evidence,.country-dialog .dossier .expansion-empty{font-size:13px;line-height:1.6;margin:7px 0;color:#b5c4cf;overflow-wrap:anywhere}
.expansion-evidence a,.media-source>a{color:#d8c5f4}
.event-status{font-weight:600;color:#d9c7f1}
.status-announced,.status-statutory{color:#91ddb3}
.status-needs-review,.status-suspended{color:#e7b477}
.expansion-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;font-size:12px}
.expansion-pagination button{min-width:72px;min-height:36px}
.expansion-pagination button:disabled{opacity:.4;cursor:default}
.expansion-result-count{font-size:12px;color:#b8cbd8;min-height:18px}
.media-group{margin:15px 0}
.media-group h4{font-size:13px;margin:8px 0;color:#d5e1e8}
.media-source{padding:10px 12px;margin:8px 0;border:1px solid #344957;border-radius:6px;background:#101c26;overflow-wrap:anywhere}
.media-source>a{font-weight:650;font-size:14px;line-height:1.6}
.source-evidence{font-size:12px;line-height:1.6;margin:9px 0}
.source-evidence summary{cursor:pointer;color:#c7b4e0}
.source-evidence p{font-size:12px!important;overflow-wrap:anywhere}
.expansion-section>h3{color:#F4C95D}
#media-counts{color:#F4C95D}
#expansion-update{border-bottom:1px solid #354c60;padding-bottom:14px;margin-bottom:18px;font-size:13px;line-height:1.6}
#expansion-update h3{font-size:16px;color:#F4C95D}
@media(max-width:700px){.expansion-tools label{flex-basis:calc(50% - 10px)}.expansion-tools label:has(#media-search){flex-basis:100%}.expansion-results{max-height:420px}.event-heading{display:block}.event-date{display:block;margin-top:5px}.calendar-card,.media-country-card{padding:11px}.expansion-pagination{justify-content:space-between}}
@media print{.country-tooltip,.expansion-tools,.expansion-pagination{display:none}.expansion-results{max-height:none;overflow:visible}}
